I've written the following software:

  • BzAPI: a proxy implementing an HTTP REST API for Bugzilla. Nice RESTful HTTP interactions talking to you on the front end, and you-don't-want-to-know talking to Bugzilla on the back end.

  • Patch Maker: a tool for managing patches, including multiple parallel patches, to a piece of software stored in a source code management system (CVS, SVN, Bzr or Hg).

  • Hendrix: a web-to-NNTP gateway, written to manage the large amounts of feedback received by the Mozilla project.

  • DSML Tools: a suite of tools, written in Java, for working with Directory Services Markup Language. They convert directory (LDAP) information into XML and vice versa. They were my third-year university project. I have now handed these off to another maintainer for further development.

  • Solitaire: I had to implement a simple clone of Windows Solitaire as the third lab in my Object-Oriented Programming practical course, and got a bit carried away. It does smooth card dragging, and has the double click shortcut and so on. It's written in Java, so you can play it online.

  • Grout: a program to solve edge-matching, tile-placing puzzles. It currently can solve any puzzle of a sensible size which uses square or hexagonal tiles and has a single central tile.

  • Expiry Canary: a simple Firefox extension which warns you when the certificate of secure sites you are visiting is about to expire. Install it at

  • Verifiable Random Selection: a JavaScript implementation of the RFC 3797 algorithm for making a random selection which cannot be influenced by the chooser and which can be verified by third parties.

  • Desymbolizer: a web application to turn text which uses the Symbol font (e.g. faux-Greek) into proper HTML entities for the actual characters. Online version.

  • Stabilised SmackPad: a modified version of an original Python script (that page has requirements and installation instructions) for doing percussive desktop switching. This version is better at detecting what's a smack and what's a jog or other movement. Tested on my Thinkpad X40.

  • Fragment Search: a Greasemonkey script which implements the !s extension to URL fragments to allow people to create URLs which link to content within a page without having control over that page.

All this code is Free software, and can be downloaded at no charge. However, if you find any of it useful and want to say a small thankyou, I have an Amazon wishlist :-).

Original URL: