There are a few interesting things on his website that most people wouldn’t notice immediately. There are two loud, large elements on the page that stand out the most: the grid & the orange network. I’ll discuss the grid later. The orange network has a commented out image of the bitcoin logo that is supposed to sit directly inside of the orange network.
EDIT: The orange network was found in the wild here: https://twitter.com/desantis/status/989615889602482176
There are also two unused CSS selectors in the markup. One is `#thenode` and the other is `#explanations`; however, neither of these elements exist on the site, so why are they there? If you right click and view the source of the HTML, then things get interesting…
Rules of Life
The grid I mentioned earlier that covers the background of the page has code that generates the cells inside it.
The grid code starts around line 50. Lines 121 through 125 are where things get weird and the author makes comments about the “Rules of Life.” Each line after that defines a “rule of life” — which can be seen in order below:
Okay, so what does that have to do with a massive grid of flashing boxes every time I click?
The Next Generation
A recursive function runs over the grid to determine what the cells current state is, then defines it’s next state. The author named this function “generate” and describes it as “The process of creating the new generation.”
The next generation of a cell is determined by 2 things.
- Current state (filled in)
- Number of neighboring cells (adjacent cells filled in)
We can map the rules of life to those two inputs to determine the next generation.
Putting It All Together
Loneliness is defined as a cell that exists with <2 neighbors. The next generation of a lonely cell will not exist or “dies.”
Overpopulation is defined as a cell that exists with >3 neighbors. The next generation of an overpopulated cell will die.
Reproduction is defined as a cell that does not exist and has exactly 3 neighbors. The next generation of this cell will exist or “comes alive.”
Stasis is defined as a cell that that exists with exactly 2 neighbors. The next generation of this cell will exist or “remain the same.”
EDIT: Read more about definitions that I discovered after writing this here: https://www.slideshare.net/floodgroup/lecture-on-urban-growth/28?src=clipshare
After researching further, I discovered this has to do with urban growth modeling based on cellular automaton. Searching for the “rules of life” lead me to this site: http://doch-architectures.com/en/portfolio/permutaciones-tipologicas/
And this slide on slideshare: https://www.slideshare.net/floodgroup/lecture-on-urban-growth/28?src=clipshare
I learned a lot — hope it helps someone else. Enjoy! :)
The Game of Life is a cellular automaton devised by the British mathematician John Horton Conway in 1970.
The “game” is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves.
The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, “alive” or “dead”. Every cell interacts with its neighbours. At each step in time, the following transitions occur:
1.Any live cell with fewer than two live neighbours dies (UNDER-POPULATION)
2.Any live cell with two or three live neighbours lives on to the next generation.
3.Any live cell with more than three live neighbours dies (OVERCROWDING).
4.Any dead cell with exactly three live neighbours becomes a live cell (REPRODUCTION).
The Game of Life is here adopted to generate a new dessign system based on aleatory typological permutations.