Mastodon Politics, Power, and Science

Monday, March 9, 2026

Made Progress on the r36s handheld.

 I got it last year and loaded a game on it and couldn't get it to not pop up the menu every few seconds because that menu had been mapped to clicking the left joystick. Super annoying. 

So I forgot about it, busy doing other things.  When I went to try it again, black screen of death, the cheap factory sd card had bit rotted. I installed arkos on it, I have screen three btw.  That was a challenge.  

Then I figured out how to get a working game without the annoying menu popup by mapping that menu onto another button.

I am still fighting the controls. I have not figured out now to map the controls for one game system without it screwing up a differrnt game.  Will have to write that up if I can figure out how it works. 

But I found a script to fix the movie playing on this version of arkos. 

https://www.youtube.com/watch?v=Deys0VsF0RA

and I figured out how to transcode videos to fit the screen size this saves a lot of space if you care abut that.

To transcode for r-36S

ffmpeg -i input_video.mp4 -vf "scale=640:-2" -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p -crf 23 -c:a aac -b:a 128k output.mp4

for i in *.mkv; do ffmpeg -i "$i" -vf "scale=640:-2" -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p -crf 23 -c:a aac "${i%.*}.mp4"; done

Image my surprise when I tried to auto-install ports and I learned that the port master in the tools menu is just a stub to download the real thing.  But I don't have wifi yet.  So I figured out how to install portmaster in one go locally. 

https://www.reddit.com/r/R36S/comments/1qvywsh/install_portmaster/#:~:text=Replace%20the%20stock%20SD%20Card,(Recommended%20for%20offline%20devices)

After that I loaded ko reader like I had on the kindle, but the controls can be mapped better there too.  Still working on making that work correctly.  It does things like press f2 to end screen saver, but f2 is not mapped to any buttons.  And just going into some directories makes the screen go black and I have to exit the book reader at that point, it could be missing a library for a cerrtain book type. 

I loaded rock box, and it is actually pretty good there. No notes there, but I used rock box decades ago on a sansa player.

I also loaded a audiobook reader and a game platform.  I tried to add more content to the audio book and it did not worrk, just locks up there, can't navigate to most of them to try it, might just see if rock box can play the books like it does music.

This is turning out to be a really great little device for going on long trips. Load it up with a few movies, some songs, a few books and audio books and it can do well enough to keep you distracted for a few hours. Might need a charge only cable hooked to a power bank or seat charger to keep it working llongerr than 5 hours.  Or we might be able to put a 3d printed cover over the battery and put a double sized battery in it.

Next up for this is to find a cheap wifi dongle that I can just plug into the usb c otg connector. And put in a 256GB sd card in the second slot for lots of media. Let them eat bread and circuses!!! 

Cracked my kindle paper white 2

 I cracked my kindle paper white 2, got root on it and am running the software of my choice. Weird that I had to break into my own hardware. That in theory is my property.

I did a very controlled upgrade to a firmware version that was susceptible to the Winterbreak. I had managed to not update it for over 5 years.

I followed this guide after trying a few other guides that did not work.

https://www.youtube.com/watch?v=IRW_EYDcW1o

After it updated and was working I put a directory in place of the file name that kindle uses to download firmware, this works for me because I have the firmware version just before they fixed that workaround. 

One thing I did have to do different is that for the life of me I could not get the hotfix to load, but I was able to just add Kual 2.0.azw2 to my document folder and run it from there. 

But I loaded ko reader and a few other things and look around inside the kindle for the first time ever for me.

And for fun I ssh'ed into the kindle over wifi and wrote a banner program to print to the display. 






Wrote a script for printing the banners to the screen.  You have to save it in '/mnt/us/'  to save it between the cleaning of the room folder that happens every so often. 

[root@kindle us]# cat print_banner.sh 

#!/bin/sh

# banner.sh - print each word as 5-row ASCII art, stacked vertically

# Usage: ./banner.sh Hello from root


# ----- letter definitions (5 rows each) -----

H1="*   *"; H2="*   *"; H3="*****"; H4="*   *"; H5="*   *"

E1="*****"; E2="*    "; E3="***  "; E4="*    "; E5="*****"

L1="*    "; L2="*    "; L3="*    "; L4="*    "; L5="*****"

O1=" *** "; O2="*   *"; O3="*   *"; O4="*   *"; O5=" *** "

W1="*   *"; W2="*   *"; W3="* * *"; W4="** **"; W5="*   *"

R1="**** "; R2="*   *"; R3="**** "; R4="*  * "; R5="*   *"

D1="**** "; D2="*   *"; D3="*   *"; D4="*   *"; D5="**** "

F1="*****"; F2="*    "; F3="***  "; F4="*    "; F5="*    "

M1="*   *"; M2="** **"; M3="* * *"; M4="*   *"; M5="*   *"

Y1="*   *"; Y2=" * * "; Y3="  *  "; Y4="  *  "; Y5="  *  "

T1="*****"; T2="  *  "; T3="  *  "; T4="  *  "; T5="  *  "

U1="*   *"; U2="*   *"; U3="*   *"; U4="*   *"; U5=" *** "

S1=" ****"; S2="*    "; S3=" *** "; S4="    *"; S5="**** "

P1="**** "; P2="*   *"; P3="**** "; P4="*    "; P5="*    "

G1=" ****"; G2="*    "; G3="*  **"; G4="*   *"; G5=" ****"

A1="  *  "; A2=" * * "; A3="*****"; A4="*   *"; A5="*   *"

B1="**** "; B2="*   *"; B3="**** "; B4="*   *"; B5="**** "

C1=" ****"; C2="*    "; C3="*    "; C4="*    "; C5=" ****"

D1="**** "; D2="*   *"; D3="*   *"; D4="*   *"; D5="**** "

I1="*****"; I2="  *  "; I3="  *  "; I4="  *  "; I5="*****"

J1="  ***"; J2="   * "; J3="   * "; J4="*  * "; J5=" **  "

K1="*   *"; K2="*  * "; K3="***  "; K4="*  * "; K5="*   *"

N1="*   *"; N2="**  *"; N3="* * *"; N4="*  **"; N5="*   *"

Q1=" *** "; Q2="*   *"; Q3="*   *"; Q4="* * *"; Q5=" *** "

V1="*   *"; V2="*   *"; V3=" * * "; V4=" * * "; V5="  *  "

X1="*   *"; X2=" * * "; X3="  *  "; X4=" * * "; X5="*   *"

Z1="*****"; Z2="   * "; Z3="  *  "; Z4=" *   "; Z5="*****"

SP1="     "; SP2="     "; SP3="     "; SP4="     "; SP5="     "


# ----- clear screen -----

eips -c


# ----- collect words -----

if [ $# -eq 1 ]; then

    # split single argument on spaces

    set -- $(echo "$1" | tr ' ' '\n')

fi


# ----- starting Y position -----

y=5


# ----- loop over each word -----

for word in "$@"; do

    # convert to uppercase

    w=$(echo "$word" | tr '[:lower:]' '[:upper:]')

    len=${#w}

    

    # initialize rows for this word

    r1=""; r2=""; r3=""; r4=""; r5=""

    

    i=0

    while [ $i -lt $len ]; do

        char=$(echo "$w" | cut -c $((i+1)))

        case $char in

            A) r1="$r1$A1"; r2="$r2$A2"; r3="$r3$A3"; r4="$r4$A4"; r5="$r5$A5" ;;

            B) r1="$r1$B1"; r2="$r2$B2"; r3="$r3$B3"; r4="$r4$B4"; r5="$r5$B5" ;;

            C) r1="$r1$C1"; r2="$r2$C2"; r3="$r3$C3"; r4="$r4$C4"; r5="$r5$C5" ;;

            D) r1="$r1$D1"; r2="$r2$D2"; r3="$r3$D3"; r4="$r4$D4"; r5="$r5$D5" ;;

            E) r1="$r1$E1"; r2="$r2$E2"; r3="$r3$E3"; r4="$r4$E4"; r5="$r5$E5" ;;

            F) r1="$r1$F1"; r2="$r2$F2"; r3="$r3$F3"; r4="$r4$F4"; r5="$r5$F5" ;;

            G) r1="$r1$G1"; r2="$r2$G2"; r3="$r3$G3"; r4="$r4$G4"; r5="$r5$G5" ;;

            H) r1="$r1$H1"; r2="$r2$H2"; r3="$r3$H3"; r4="$r4$H4"; r5="$r5$H5" ;;

            I) r1="$r1$I1"; r2="$r2$I2"; r3="$r3$I3"; r4="$r4$I4"; r5="$r5$I5" ;;

            J) r1="$r1$J1"; r2="$r2$J2"; r3="$r3$J3"; r4="$r4$J4"; r5="$r5$J5" ;;

            K) r1="$r1$K1"; r2="$r2$K2"; r3="$r3$K3"; r4="$r4$K4"; r5="$r5$K5" ;;

            L) r1="$r1$L1"; r2="$r2$L2"; r3="$r3$L3"; r4="$r4$L4"; r5="$r5$L5" ;;

            M) r1="$r1$M1"; r2="$r2$M2"; r3="$r3$M3"; r4="$r4$M4"; r5="$r5$M5" ;;

            N) r1="$r1$N1"; r2="$r2$N2"; r3="$r3$N3"; r4="$r4$N4"; r5="$r5$N5" ;;

            O) r1="$r1$O1"; r2="$r2$O2"; r3="$r3$O3"; r4="$r4$O4"; r5="$r5$O5" ;;

            P) r1="$r1$P1"; r2="$r2$P2"; r3="$r3$P3"; r4="$r4$P4"; r5="$r5$P5" ;;

            Q) r1="$r1$Q1"; r2="$r2$Q2"; r3="$r3$Q3"; r4="$r4$Q4"; r5="$r5$Q5" ;;

            R) r1="$r1$R1"; r2="$r2$R2"; r3="$r3$R3"; r4="$r4$R4"; r5="$r5$R5" ;;

            S) r1="$r1$S1"; r2="$r2$S2"; r3="$r3$S3"; r4="$r4$S4"; r5="$r5$S5" ;;

            T) r1="$r1$T1"; r2="$r2$T2"; r3="$r3$T3"; r4="$r4$T4"; r5="$r5$T5" ;;

            U) r1="$r1$U1"; r2="$r2$U2"; r3="$r3$U3"; r4="$r4$U4"; r5="$r5$U5" ;;

            V) r1="$r1$V1"; r2="$r2$V2"; r3="$r3$V3"; r4="$r4$V4"; r5="$r5$V5" ;;

            W) r1="$r1$W1"; r2="$r2$W2"; r3="$r3$W3"; r4="$r4$W4"; r5="$r5$W5" ;;

            X) r1="$r1$X1"; r2="$r2$X2"; r3="$r3$X3"; r4="$r4$X4"; r5="$r5$X5" ;;

            Y) r1="$r1$Y1"; r2="$r2$Y2"; r3="$r3$Y3"; r4="$r4$Y4"; r5="$r5$Y5" ;;

            Z) r1="$r1$Z1"; r2="$r2$Z2"; r3="$r3$Z3"; r4="$r4$Z4"; r5="$r5$Z5" ;;

            *) r1="$r1$SP1"; r2="$r2$SP2"; r3="$r3$SP3"; r4="$r4$SP4"; r5="$r5$SP5" ;;

        esac

        i=$((i+1))

    done

    

    # print the 5 rows for this word

    eips 5 $y "$r1"

    eips 5 $((y+1)) "$r2"

    eips 5 $((y+2)) "$r3"

    eips 5 $((y+3)) "$r4"

    eips 5 $((y+4)) "$r5"

    

    # move y down by 5 for next word (no gap)

    y=$((y+6))

done


Progress on campaign manager.

 Summary of what got done two days ago:

Overlay context split into query_global / query_local — per-room overlay indices in dungeon prompt
  • Stair markers assigned to rooms via geometry containment, get_room_at on TacticalController
  • Village manager updated with same overlay registry pattern
  • persist_response fixed — additive, no deletes, merge with append
  • open_map_settings fixed — ConfigManager from self.db, .get('campaign_id')
  • regenerate_tactical_map fixed — deletes all children of source marker, clears portal_to from both props and metadata, goes up level

Today: excise remaining metadata references, consolidate portal_to to properties directly everywhere. 

Kindle Paperwhite 2 (PW2) USB Audio Implementation Plan

 

I. Hardware Requirements

  • Audio Output: Generic USB DAC (USB Audio Class 1 compatible).
  • Power Supply: External 5V DC source (Battery or regulated wall power).
  • Wiring: USB "Y-cable" configuration or custom solder job.
  • Logic: Common Ground (GND) between Kindle and 5V source.

II. Hardware Implementation (The Power/Ground Hack)

  1. VCC (5V): Connect the external 5V source directly to the DAC's VCC pin. Do not connect this to the Kindle's VCC pin.
  2. GND (Ground): Solder a common ground connecting the Kindle’s USB GND (Pin 5), the external 5V source GND, and the DAC’s GND.
  3. Data (D+/D-): Connect Kindle Pin 2 (D-) and Pin 3 (D+) directly to the DAC’s data pads.
  4. ID Pin (Host Mode): To trigger Host Mode, bridge Kindle Pin 4 (ID) to GND (Pin 5) using a 10kΩ resistor. If the trace is missing on the PW2 board, Host Mode must be forced via the musb registers in software.

III. Software Implementation (The Driver Stack)

  1. Environment: Set up a Linux VM with an arm-linux-gnueabi toolchain.
  2. Kernel Modules:
    • Download the Kindle PW2 GPL source (e.g., version 5.4.x).
    • Configure the kernel to build modules (m) for:
      • CONFIG_SND_USB_AUDIO
      • CONFIG_SND_PCM
      • CONFIG_SND_HWDEP
      • CONFIG_SND
    • make modules and extract the .ko files.
  3. ALSA User-land:
    • Cross-compile alsa-lib and alsa-utils.
    • The primary binary needed is aplay for raw playback or amixer for volume control.
  4. Media Player: Cross-compile mpg123 or mplayer for MP3/FLAC decoding.

IV. KUAL Integration (The GUI)

Create a new extension directory: /extensions/usbaudio/.
  1. Initialization Script (bin/load_audio.sh):
    #!/bin/sh
    mntroot rw
    # Load the audio stack
    insmod /mnt/us/usbaudio/modules/snd.ko
    insmod /mnt/us/usbaudio/modules/snd-pcm.ko
    insmod /mnt/us/usbaudio/modules/snd-usb-audio.ko
    # Force Host Mode on the Freescale/NXP USB Controller
    echo "host" > /sys/devices/platform/fsl-usb2-otg/mode
    # Feedback to Screen
    if [ -e /dev/snd/pcmC0D0p ]; then
        eips 0 0 "USB Audio: READY"
    else
        eips 0 0 "USB Audio: FAILED"
    fi
    
  2. KUAL Menu (menu.json):
    {
      "items": [
        {"name": "Enable USB Audio", "priority": 1, "action": "bin/load_audio.sh"},
        {"name": "Play Music", "priority": 2, "action": "bin/play.sh"}
      ]
    }
    
  3. Playback Script (bin/play.sh):
    #!/bin/sh
    # Pipe files from user storage to the DAC
    /mnt/us/usbaudio/bin/mpg123 -a hw:0,0 /mnt/us/music/*.mp3
    

V. Execution Flow

  1. Connect the powered DAC to the Kindle.
  2. Launch KUAL from the Kindle home screen.
  3. Select "Enable USB Audio" (Triggers the insmod and Host Mode flip).
  4. Verify device detection via SSH using lsusb and cat /proc/asound/cards.
  5. Select "Play Music" via KUAL to initiate the binary playback.

Friday, March 6, 2026

Update on the Campaign Manager

 Got overlays working, got local map ai updates working. Later tonight will get ai using overlays in the dungeon working to generate the detailed dungeon level information using ai, either local or a commercial product.


Overlays guide the GM and the AI with context about the world.

Middle click to get the context of that point on any map.


The AI prompt gets not just the local overlays, but the complete stack of information about that spot in the wide world.


This is working for village generation right now, it gives a lot of filler info and rumors and based on what the players did in the past can inform the ai about how to transform the descriptions over time. 

Can be found here:  https://github.com/BuckRogers1965/Mega-Mappers

Wednesday, March 4, 2026

How Any Coherent Model of the Universe is a Valid Projection of a Single Substrate

Natural Ratios as the Invariant Foundation of Physical Description:

J. Rogers, SE Ohio

Abstract

Physical reality is unified. The plurality of physical laws — E = mc², E = hf, λ = h/p, and a dozen others — arises not from independent facts about the universe but from the fragmentation of a single unified substrate S_u into multiple conceptual measurement axes. Once the invariant dimensionless ratios of that substrate are identified, the laws of physics reduce to a single tautology: X = X. This paper argues that any description of the universe — whether expressed in the language of information theory, string theory, loop quantum gravity, geometric algebra, or any other coherent formalism — is equally valid provided it preserves these natural ratios. The criterion for a valid physical model is not ontological priority but coherence: does the description preserve the invariant structure of S_u under projection? No model is the territory. Every model is a viewport. The natural ratios are the only invariant that all valid viewports share.

1. The Foundational Separation

1.1 What Is and How We Describe It

The central error in the foundations of physics has been the conflation of physical reality with our description of physical reality. Reality — the unified substrate S_u — exists prior to any measurement, any axis, any unit, any model. It is a single coherent thing, presenting dimensionless relations.

Everything above S_u is constructed by us. The conceptual axes we call Mass, Length, Time, Temperature, Frequency — these are not independent substances in nature. They are coordinate directions imposed by observers to organize experience. The unit systems (SI, CGS, Planck) are further choices layered on top of those axes. The physical constants c, h, G, k_B are the Jacobian factors forced into existence by the misalignment between our independently-chosen axes.

Once this separation is made cleanly, a profound consequence follows: the description is ours, but the invariant ratios underneath it are not. The natural ratios — the dimensionless X values that survive all unit transformations — are the only part of the description that points directly at S_u.

1.2 The Natural Ratios

The equivalence chain expresses this directly. For any physical state, every measurement axis returns the same dimensionless value X when the unit scaling is removed:

T/T_P = f·t_P = m/m_P = l_P/λ = E/E_P = p/p_P = X

X is not a ratio involving Planck units in any fundamental sense — the Planck units are themselves just the SI labels placed on the natural crossing point where all reciprocal axes simultaneously equal unity. X is the physical reality. The measurements are projections of X through our chosen axes, each scaled by its Jacobian component.

The laws of physics are not independent discoveries. They are the fifteen pairwise projections of X = X through six axes, taken two at a time. Each law carries Jacobian factors — the physical constants — whose sole function is to convert between the arbitrary scaling of one human axis and another. Remove the Jacobians and every law collapses back to X = X.

2. Measurement as Projection

2.1 What Measurement Actually Is

Measurement is not a neutral transparent operation. It is a projection. When we measure a physical quantity, we are projecting X — the invariant physical reality — onto a particular conceptual axis, scaled by that axis's Jacobian component. The number we obtain is not the physics. It is X multiplied by a Planck unit.

measurement = X · (Jacobian for that axis)

The Jacobian is not discovered — it is chosen, when we choose our unit system. The physics, X, was already there. We added the scaling. When we write a formula relating two measurements and include a constant, we are not encoding new physical information. We are undoing, on one side, what we added on both sides when we chose our units.

2.2 Constants as Jacobian Components

The constants are defined by the Jacobians, not the reverse. Each constant is the ratio of Planck units — the SI expansion of the scaling factor for a pair of axes:

    c = l_P / t_P (Space-Time axis ratio)
    h = m_P · l_P² / t_P (Energy-Frequency axis ratio)
    k_B = m_P · l_P² / (t_P² · T_P) (Energy-Temperature axis ratio)
    G = l_P³ / (t_P² · m_P) (Geometry-Mass axis ratio)

When c was fixed in the SI system, the meter and second were fixed relative to each other. When h was fixed, the kilogram was defined — m_P was determined given l_P and t_P already set. When k_B was fixed, the Kelvin was defined. G follows as a consequence of all prior fixings: its numerical value is not measured from nature but is determined by the accumulated Jacobian choices already made. The 2019 SI redefinition was, formally, a specification of the Jacobian components. The constants do not have their values because the universe chose them. They have their values because we chose our axes.

3. The Criterion for Valid Physical Models

3.1 No Model Is the Territory

S_u is not directly accessible. It has no units, no scale, no axes, no internal structure imposed from outside itself. Any description of it — any physical model — is a projection: a coherent mapping from the natural ratios of S_u into some representational system chosen by the observer.

This is not a limitation of current physics. It is a structural necessity. Kant identified S_u as the noumenon — the thing-in-itself, forever behind the phenomenon. The Grothendieck fibration framework formalizes this: S_u is the terminal object of the base category of conceptual types, and every measurement is a Cartesian lifting from that terminal object through a chosen fiber. The observer never touches S_u directly. The observer always touches a projection.

3.2 Coherence as the Validity Criterion

Given that no model is the territory, the question of which model is the 'correct' or 'true' description of reality is malformed. The meaningful question is: does the model preserve the natural ratios? Is it a coherent projection of S_u?

A model is a valid description of the universe if and only if:

1. It correctly encodes the invariant dimensionless ratios X.

2. Its internal structure is coherent — it does not contradict itself.

3. It reduces back to X = X under the removal of its representational scaffolding.

These criteria do not privilege any particular representational system. They do not demand spacetime, or particles, or fields, or information bits, or strings. They demand only that the representational system faithfully carry the invariant ratios of S_u into whatever language it speaks.

4. Projections Into Different Models

4.1 The Standard Model and Quantum Field Theory

The Standard Model projects S_u into the language of quantum fields, gauge symmetries, and particle excitations. It is a highly successful projection — it encodes the natural ratios with extraordinary precision. The constants appearing in its Lagrangian are Jacobian components in disguise. The dimensionless coupling constants — the fine structure constant α ≈ 1/137, the mass ratios of particles — are genuine invariant content, genuine X values. The dimensionful constants are unit scaling artifacts. The model is valid not because it is the true description but because it coherently preserves the invariant ratios it claims to describe.

4.2 General Relativity

General Relativity projects S_u into the language of spacetime geometry. The metric tensor encodes how the time gradient field I = m/r varies across the universe. Geodesics are the natural flows of that field. Felt force is deviation from those flows. The constants G and c in Einstein's field equations are Jacobian components — G encodes the Mass-to-geometry axis ratio, c encodes the Space-Time axis ratio. In natural ratios, the field equations simplify to a statement about how the I field curves the description space. The model is valid because it coherently carries the invariant structure of how mass distorts time ratios.

4.3 Information-Theoretic Models

An information-theoretic model projects S_u into the language of bits, qubits, entropy, and computation. This is equally valid provided the model encodes the correct natural ratios. The Bekenstein-Hawking entropy formula, for instance, is in natural ratios a statement about the dimensionless ratio of a black hole's area to the Planck area — a pure X value. The appearance of constants in the formula is unit scaling. Strip the scaling and you have a dimensionless ratio that any coherent information-theoretic model must reproduce if it is to be a valid description of that physical state.

4.4 String Theory and Loop Quantum Gravity

String theory projects S_u into the language of one-dimensional extended objects vibrating in higher-dimensional spaces. Loop quantum gravity projects it into discrete networks of spin-foam. Both are coherent representational systems to the extent that they preserve the natural ratios. The apparent conflict between these frameworks is not a conflict about S_u — it is a conflict between projections. S_u does not prefer strings over loops. The question is purely whether each framework, in its own language, correctly encodes X.

Critically: neither framework should introduce new constants whose values are not determined by the natural ratios. Any free parameter with a dimensionful value is a signal of unit scaling not yet eliminated. The presence of such parameters is diagnostic — it means the model has not yet fully reduced to the natural ratios it claims to describe.

4.5 The I Field as a Natural-Ratio Model

Working directly in natural ratios, a unified picture emerges from the dimensionless quantity I = m/r — the local time gradient set by mass m at distance r, expressed as a pure ratio. In this language:

Gravitational interaction: F_nat = I₁ · I₂

Velocity-gravity unification: β² = 2I

Lorentz factor: γ = 1/√(1 - 2I)

GPS correction: M / (1/r_earth + 3/(2r_sat))

No constants appear because no unit scaling has been introduced. The same quantity I that describes gravitational potential also describes velocity, time dilation, and orbital dynamics — because these were always descriptions of the same thing. The I field is not a new theory. It is what becomes visible when the Jacobian epicycles are removed.

5. What Cannot Vary and What Can

5.1 Constants Cannot Vary

A universe with a different value of c is not a different universe. It is the same observer with a different ruler. c = l_P/t_P is determined entirely by the choice of length and time units. Transport any coherent unit system to any coherent universe and c will take the value fixed by those unit choices. The fine-tuning literature — which asks what would happen if c, G, or h were different — is asking what would happen if we redefined our axes. The answer is: the equations would look different, but the physics, X, would be unchanged.

This can be made vivid: if c, h, and k_B were set to have the digits of √2, 2Ï€, and e respectively — which is formally permissible given that all three are now set by convention — the equations of physics would become opaque with irrational transcendental mantissas. Physicists would search for deep meaning in numbers that carry no physical information whatsoever. The current mantissas of our constants are less dramatic but equally arbitrary.

5.2 Natural Ratios Can Vary

What can genuinely vary between physical states, between regions of the universe, or in principle between different universes, are the dimensionless ratios themselves — the X values. The proton-to-electron mass ratio (~1836), the fine structure constant (~1/137), the ratio of a black hole's mass to its Hawking temperature, the density of the universe relative to critical density — these are genuine invariant physical content.

A denser universe has different dimensionless ratios between physical states. A younger universe has a different global I field. These are physically meaningful statements about X. They are not statements about constants, which remain purely conventional.

6. Time, Observation, and the Eternal Now

6.1 Time Is Not a Dimension

The framework dissolves the mystery of time. Time is not a dimension through which the universe moves. It is the rate of self-interaction of S_u — the local I field setting how fast each part of the universe processes the next interaction. There is no block universe of eternally co-existing past, present, and future. There is one eternal now: S_u in the act of updating itself.

What we call the past is a log of interactions — physical patterns encoded in the current state of the universe, shaped by previous updates. Memory is not access to a past that still exists. It is a pattern in the present that was written by prior interactions. What we call the future is pattern-matching on that log — extrapolation, not access to something that already exists.

The arrow of time is not thermodynamic. It is structural: interaction is irreversible. You cannot un-interact. The universe cannot unwrite a log entry. This is not a statistical tendency — it is the definition of what interaction is.

6.2 Observers as Log-Reading Processes

An observer is a part of the universe that maintains sufficient internal structure to store and read the interaction log. We do not see the universe. We model it — inside a physical system that is itself part of S_u, using log entries written by prior interactions, running predictions about the next update.

This connects directly to the fragmentation of S_u into axes. The axes are not features of S_u. They are features of the model the observer runs. The constants are not facts about the universe. They are facts about the model's coordinate system. The observer's model imposes fragmentation on a unified substrate, then constructs constants to repair the damage — all while believing it is discovering facts about nature.

7. The Plurality of Valid Models

7.1 The Model Wars Are Viewport Wars

The conflicts between competing physical frameworks — strings versus loops, fields versus geometry, continuous versus discrete — are not conflicts about S_u. They are conflicts about which representational language to project S_u into. S_u does not prefer any language. The universe has no opinion about whether we describe it with differential geometry or spin networks.

This does not mean all models are equally useful. A model may be more or less computationally tractable, more or less intuitive, more or less complete in the range of X values it can encode. These are pragmatic criteria. But ontological priority — the question of which model is really true — is a category error. No projection is S_u. Every projection is a viewport.

7.2 The Coherence Test

Given the framework, we can now state the coherence test for any proposed physical model precisely. The model must:

1. Reproduce the equivalence chain: T/T_P = f·t_P = m/m_P = l_P/λ = E/E_P = p/p_P in appropriate translation to its own language.

2. Contain no free dimensionful parameters whose values are not determined by the natural ratios.

3. Reproduce the 15 pairwise projections — or their analogs — as necessary consequences of its structure, not as independent postulates.

4. Treat its own representational scaffolding — whatever corresponds to axes and units in its language — as conventional, not ontological.

A model that passes these tests is a valid description of the universe. Not the true description. A valid description. The distinction matters. Truth is reserved for X = X. Models are projections of that truth.

8. Conclusion

The central claim of this paper is simple. Once the natural ratios of the unified substrate S_u are correctly identified — once X is isolated from the unit scaling and Jacobian artifacts that have obscured it — any coherent model that faithfully projects those ratios is a valid description of the universe.

This reframes the project of theoretical physics. The goal is not to find the one true model — the final theory that is the universe. No model can be the universe. The goal is to find models that are maximally coherent, maximally complete in the X values they encode, and maximally honest about what is representational scaffolding and what is invariant content.

The constants are not fundamental. They are Jacobians — the price of fragmentation. The laws are not independent. They are tautologies — projections of X = X. Time is not a dimension. It is a rate — the self-interaction of S_u. Observers are not external to the universe. They are log-reading processes within it, modeling S_u from inside using the only tools available: the patterns written by prior interactions.

The universe is one thing. We invented many ways to describe it. All coherent descriptions are valid. None are final. The natural ratios are the only ground truth any description can stand on.

References

1. Rogers, J. (2025). The Structural Necessity of Physical Law as a Grothendieck Fibration. SE Ohio.

2. Grothendieck, A. (1971). Revêtements étales et groupe fondamental (SGA 1). Lecture Notes in Mathematics, Vol. 224. Springer.

3. Buckingham, E. (1914). On physically similar systems. Physical Review, 4, 345–376.

4. Noether, E. (1918). Invariante Variationsprobleme. Nachrichten von der Königlichen Gesellschaft der Wissenschaften zu Göttingen.

5. Duff, M. J., Okun, L. B., & Veneziano, G. (2002). Trialogue on the number of fundamental constants. JHEP 03, 023.

6. BIPM (2019). The International System of Units (SI), 9th edition. Bureau International des Poids et Mesures.

7. Kant, I. (1781). Kritik der reinen Vernunft. (Critique of Pure Reason.)

8. Planck, M. (1899). Natürliche Mass- und Gewichtseinheiten. Sitzungsberichte der Königlich-Preußischen Akademie der Wissenschaften.

Made Progress on the r36s handheld.

 I got it last year and loaded a game on it and couldn't get it to not pop up the menu every few seconds because that menu had been mapp...