Here are some of my more recent and popular projects. There are quite a number of other projects I've worked on in the last few years. You can find a more complete list in the Curriculum Vitae.


Plush is a shell that is accessed from a web browser. While the interaction is like a standard command line shell, the web page contains a rich mix of information about your environment, and enables much more flexible interaction with commands than the simple linear view of a terminal window.

Plush is still pre-beta release, but good enough to be usable as an everyday shell. It is open source, and coded primarily in Haskell.


Plain Changes 2 is a composition written for MechBass, a robotic bass guitar, and Pyramider, a water cooled tesla coil that pumps out musical two meter arcs of electricity. This is my fourth work based on change ringing. It premiered at the "Forks in Sockets" concert in Wellington, NZ on September 20th, 2013.

Concert Video · Concert Audio · Studio Audio · Source Code


Wheat was a language and environment for creating dynamic web sites like blogs and portals: Every object has a URI, the virtual machine is a web server, and the development environment is a Wiki!

Context Free

Context Free produces computer generated images from design grammars. These grammars are sets of non-deterministic rules written in a simple programming language. The images are surprisingly beautiful, often from very simple grammars.

Context Free producted the tree image at the top of this page, and "tangle" image used to form the background tiling.

Periodic Table

Periodic Table of the Operators is a parody of Mendeleev's Periodic Table of the Elements. It expresses the well over a hundred operators planned for Perl 6.


Spirex is a 3D screen saver for Windows and Macintosh OS X. It was originally based on the geometry of a Spirograph, only with continuously varying wheel sizes. Now it has grown far beyond that into 3D and with many user configurable variables.