Use Game of Life to Generate 256 bit Hash

One of the most fascinating aspects of Game of Life is that it illustrates so well how a completely deterministic process can be so unpredictable. Use a fixed starting pattern and run. Watch the result. Use the same starting pattern but change a single cell somewhere. The new result can be as different from the old as night and day.

Absolute determinism plus unpredictability are precisely the two things you look for in a hash algorithm. When you store passwords on a server you don’t store the passwords themselves but their hashes, calculated using some hash algorithm like for example MD5, SHA-256 or Whirlpool.

A user authenticating himself on the server inputs his password and the server hashes the password to see if the hash corresponds to the hash stored on the server.

For a hacker getting hold of the stored hashes, or for the system administrator, there is no way to run the hash algorithms backwards to retrieve the real passwords. The only way to break a hash is to systematically hash every possible password (out of zillions) and see if the hash matches.

I made this Javascript application to illustrate the idea of using Game of Life to generate hash values. The application is not using Conways standard B3/S23-rules but instead B23/S23-rules.

Try to hash different words or sentences differing only by a single letter adjacent in the alphabet and watch how the hash value changes. You can also try to hash some text but before you click on the ”Run 200 steps” click somewhere on the gird with the mouse pointer to change a single bit.


Tyrael Christmas Tree Topper


Have you ever been to Tal Rasha’s Tomb in the Canyon of the Magi? If that’s the case chances are you might have seen the character looking down at you from the top of the Christmas Tree. It’s the archangel Tyrael. He thanks you for his freedom but he expected you earlier…

For over a year I have thought about designing a Christmas tree angel in the shape of Tyrael from the computer game Diablo II.


An artists wooden mannequin, a sword shaped letter opener…


The hood required some sewing


Lots of gold paper. Care to dance?


I designed the shapes for the pieces of golden paper on the computer. This is my belt design.


We still need some better looking gloves…


Tyrael’s wings attached and we’re done.


Installed at the top of the silver fir I brought home yesterday. [click to enlarge]

Play as Yahweh, Zeus or Odin


In that day, Yahweh with his fierce, great and mighty sword will punish Leviathan, the fleeing serpent, and Leviathan the twisted serpent; and he will kill the dragon that is in the sea. (Isaiah 27:1)
You [Yahweh] crushed the heads of Leviathan… (Psalms 74:14)

(Box cover art: collage based on Gustav Doré – The Destruction of Leviathan and Julius Schnorr von Carolsfeld Picture Bible illustrations)

Play as your favorite god and crush your favorite monster…

Yahweh Card Zeus Card Odin Card

[Click image to view original size]

Artwork: Yahweh god card: based on Julius Schnorr von Carolsfeld, Picture Bible illustrations 1862. Zeus god card: based on Maarten de Vos, ”Septem Planetæ  – Jupiter” 1581. Odin god card: based on Johannes Gehrts, ”Odhin” 1901

Some remarks on special attacks and weaknesses

Zeus weakness for sexually attractive women are well documented by for example Hesiod. Odins special attack is described in the Battle of Fýrisvellir in the year 980 where he assisted the Swedish king Eric the Victorious (Erik Segersäll) by striking his enemies with blindness. Odins weakness is his susceptibility to be fooled by illusionist magic, especially the shape shifting trickery performed by some of the cunning frost giants. Yahwehs weakness for opponents riding in iron chariots is well known:

And the LORD was with Judah; and he drave out the inhabitants of the mountain; but could not drive out the inhabitants of the valley, because they had chariots of iron. (Judges 1.19)

No, this game does not actually exist, but it’s an idea. The god versus sea monster theme is truly archetypal. Marduk against Tiamat; Indra against Vritra; Yahweh against Leviathan; Thor against the Midgard Serpent and many many many more…

Embed Flash in Blog

Testing a method of embedding flash in a blog – John Conway’s Game of Life.

It seems to work. Yes! =)

This opens up a whole new realm of possibilities.

(I have nothing to do with the programming of this flash implementation. All cred to Keno Maerz.)

PS: Conway’s Game of Life must really be one of the best examples possible of what an algorithm is – pedagogically speaking. It’s truly fascinating how such a small set of rules can generate such amazing complexity.

Every square is surrounded by eight neighbouring squares. The two simple rules are:

1) BIRTH : An empty square will give birth to a new ”cell” if it’s surrounded by exactly three cells.
2) DEATH: A cell will die from undernourishment if it’s sourrounded by less than two cells OR it will die from suffocation if it’s sourrounded by more than three cells.

Exakt hur säkert är ”nästan säkert” ?

Härom dagen snubblade jag på den väldigt intressanta wikipedia-artikeln ”almost surely”. Där kunde man förstå att någonting måste vara nått så in i bänken toksäkert för att få räknas som nästan säkert. Alltså, det räcker inte med att nånting bara är jätte-jätte säkert för att få räknas som nästan säkert.

”Almost surely” är ett begrepp inom matematikens spelteori för att karakterisera en viss typ av sannolikhetsutfall. Man skiljer mellan säkra utfall som ”måste” inträffa och ”nästan säkra” utfall som inträffar med sannolikheten 1 (100%).

Man menar t.ex. att en oändlig följd av slantsinglingar ”almost surely” kommer att resultera i åtminstone någon klave. En kuriös detalj i sammanhanget är att motsvarande norska begrepp (enligt wikipedia) är ”nesten helt sikkert”. Varför inte bara ”Nesten sikkert” ?  Tyckte man inte att ”Nesten Sikkert” var tillräckligt säkert?