I enjoy programming and contribute to a variety of open source projects. Here are some of them:

Current

At the moment I am trying to work on only one thing at a time. That is, one "packet" of work. The project which I am currently working on is:

Once whichever packet of work I'm involved with is finished, the project I am working on will switch. I expect this to happen relatively frequently. Other projects which are active are:

  • wadc: a programming language for describing maps for the computer game Doom
  • rdifffs: a virtual filesystem for rdiff-backup repositories, written in Haskell
  • vcs-lint: a script to check for common problems with version control repositories (especially those of Debian packaging)

Dormant

These are things which, for one reason or another, are not currently being worked on.

  • debgtd: a Debian bug workflow tool
  • game-data-packager - program to generate and install .deb files of commercial Game data, to facilitate integration with the Debian package manager
  • Some brainstorming on how to effectively manage digital photos (no answers yet, I'm afraid)
  • greasemonkey scripts for improving the usability of Debian mailing list archives

Snippets

  • c++ lecture.pdf: I gave a C++ lecture to fellow students whilst at University. These are some notes my friend Dave made from the lecture.
  • doom: some C code for parsing Doom 'WAD' files, including a proof-of-concept virtual filesystem.
  • endian: some ruminations on the correct way to handle endian-ness in C
  • jonsubst.pl: a substitution filter for the irssi IRC client
  • c design patterns: the beginnings of a collection of "Design Patterns" common in C source code

Retired

There's a list of retired projects and half-coded ideas that I am unlikely to continue with at shelved.

Writing about software

Other pages:

Log posts: