Cellular Automata: a Discrete Universe by Andrew Ilachinski