256 Universes in One Byte: Exploring 1D Cellular Automata
A row of cells. Each cell is either on or off. Every generation, each cell looks at itself and its two neighbors, then follows a rule to decide what it becomes next. That’s it. That’s the whole system.
From this absurdly simple setup, you get chaos, fractals, traffic jams, and even a system capable of computing anything a laptop can compute. All from one byte of information.
How It Works
The neighborhood is three cells wide: left, center, right. Since each cell can be 0 or 1, there are 2^3 = 8 possible patterns. A rule assigns an output (0 or 1) to each pattern. Eight binary choices = one byte = a number from 0 to 255.
Try My Physics Simulations: Live in Your Browser
I built a physics simulation library that models springs, pendulums, epidemics, gravity, and more. The simulations run locally with matplotlib, but you can also explore them interactively through Jupyter notebooks, no install required.
Click any button below to launch a live notebook in your browser via Binder. It takes about 30-60 seconds to spin up the first time (it’s building a fresh Python environment from my GitHub repo), then you’re in a full Jupyter session where you can run cells, tweak parameters, and see the results.