madman Damian
By anders pearson 23 Jan 2002
went to a lecture last night that Damian Conway gave to the NYC perlmongers about “Life, the Universe, and Everything.”
<p>Damian has a reputation as the “mad scientist” of the perl community, attempting (often successfully) things that no one else would ever even consider like <a href="http://cpan.valueclick.com/authors/id/DCONWAY/Lingua-Romana-Perligata-0.01.readme">programming perl in latin</a> or incorporating non-deterministic <a href="http://cpan.valueclick.com/authors/id/DCONWAY/Quantum-Superpositions-1.02.readme">Quantum Superpositioning</a> into the language. but it’s really difficult to understand just how random and disturbed his mind is until you’ve seen him speak. the lecture he gave last night was kind of like a fever dream version of Gödel Escher Bach.</p>
<p>he started the talk by mentioning that he is not related to that other Conway, the cambridge mathematician who invented the <a href="http://www.bitstorm.org/gameoflife/">Game of Life</a>. then he started talking about the <span class="caps">GOF</span> for a while because he was fascinated with the crazy things people did with it. eg, even though Conway (the mathematician) mathematically proved that the <span class="caps">GOF</span> was <a href="http://www.wikipedia.com/wiki/Turing-complete">turing complete</a>, you’d think that no one would be crazy enough to actually <em>implement</em> a turing machine using it. of course <a href="http://www.rendell.uk.co/gol/tm.htm">you’d be wrong</a>. and of course Damian had to make his own contribution. so he wrote a perl module called <span class="caps">DFA</span>::Cellular to make it easy to play with any kind of cellular automata in perl. CA’s work by iteratively applying a set of rules to each cell in a grid and generating the output based on that. a problem often arises when two or more rules apply to a cell; the usual solution is to just take the first one that applied and call that good. Damian decided to instead use his Quantum Superposition code on it to allow the cells to exists in multiple states at once. an interesting idea but not earth-shattering.</p>
<p>then he started talking about languages and brought up the fact that the <a href="http://www.kli.org/">klingon language</a> had been designed to use a particularly uncommon word order, which coincidently is very similar to perl’s syntax. the obvious course of action for Damian after discovering this was to write a module similar to his Latin one that would let you write perl in klingon. Lingua::tlhInganHol::yIghun was born (well, it’s being checked over by the klingon language institute for correctness, but it will be released soon). </p>
<p>then he changes the topic entirely yet again and starts talking about demonology)including some humorously photoshopped pictures of various perl luminaries) and James Clerk Maxwell’s <a href="http://cougar.slvhs.slv.k12.ca.us/~pboomer/physicslectures/maxwell.html">demon</a>. since he’d been playing with cellular automata, he decided that it would be fun to simulate maxwell’s demon in perl which he was able to do pretty quickly with the code he’d written incorporating the quantum superpositioning. hard to explain without demonstrating but he came up with a pretty good demonstration of why maxwell’s demon isn’t as contradictory as maxwell thought it was (this was also proved a while back but in a somewhat un-intuitive manner). Damian’s demonstration basically showed that with gas densities anything like normal, even a tiny difference in density between the two chambers makes it extremely difficult to let a particle from the low-density side through without letting one or more of the particles from the high-density side through at the same time.</p>
<p>then, to tie everything together, he took the cellular automata and quantum superposition based simulation of maxwell’s demon and rewrote it in klingon.</p>
<p>i should point out that Damian is really a very good lecturer; he’s funny, articulate, and manages to work it so everything makes a sick kind of sense.</p>
<p>there were a few other people there who are active in the design and implementation of perl 6 along with Damian and they spent an hour or so after the talk answering questions about and explaining the next version of the language which promises to be either salvation for programmers or a catastrophe of biblical proportions. lots of fun things like a robust and fast threading model, byte-code compatability with java, python, ruby and other scripting languages, a cleaner object model, curried functions, a <span class="caps">DWIM</span> (do what i mean) comparison operator, and countless other changes to the syntax are all in the works.</p>
Tags: damian conway perl perl6 game of life cellular automata klingon maxwells demon demonology quantum computing