Brief Documentation for Genetic Snowflakes
(Server version)

(Documentation for the newer version, which uses JavaScript to expand Lindenmayer grammars is held in overview.html)

The system evolves snow flakes and displays them falling down the screen of a www browser. The snow flakes are described by a Lindenmayer system grammar. As they flutter down the screen they are subject to random encounters and changes which may effect their grammar. In which case their new shape is drawn on the screen. The user can save pretty flakes. overview


If enabled, pfeiffer_server.html will read initial genetic makeup (chromosome) for each individual from a cookie called LindenMayerSystemJavaScript+i on your machine.
If this fails, pfeiffer_server.html will try and read it from the network, via seed.
If this too fails, a default initial seed held in pfeiffer_server.html is used.

Cookies are saved for a year.


Javascript program run by your browser.

Individuals are saved by clicking on them. There is a nominal 5 second timeout (swait) before you can save it again.
If cookies are enabled, the cookie for that individual is updated.
Also pfeiffer_server.html will convert the genetic material to a string of hexadecimal digits (hexMe) and try and pass it across the network to harvest.
Note saving happens asynchronously, so an individual can be saved before or during rewriting and display of its picture .GIF file.

Passing the mouse cursor over an individual freezes it for about ten seconds (nominal, cwait).

Currently (July 2003) mutation is disabled and all new individuals are created by crossover.
Just as when the program starts, a new .GIF file is down loaded from test.bat after every new individual chromosome is created.


Script running on host. Converts genetic chromosome, given as L-system grammar to a GIF file.

Unlike save and restore (where the whole chromosome is passed over the network) the chromosome is parse by function cleanchrome in pfeiffer_server.html. This ensures it can be passed as plain text and also removes duff alleles from it.

test.bat invokes a modified version of lsys.perl


Host program which returns a randomly selected individual chromosome from seed.pop and gives it to pfeiffer_server.html See function fetchURL.


Program on host which collects saved individuals and puts them in seed.pop See function fetchURL.


File on host machine at UCL. Holds individuals previously saved.


seed.html frozen snapshot of the population. It is generated by nawk script seed.awk acting on file seed.pop


The hall of fame is generated by nawk script halloffame.awk acting on file log.


Hall of fame

W.B.Langdon 3 July 2003 ($Revision: 1.3 $ update 8 March 2004)