I use two version control systems for most of my stuff: bzr and git.

I host the repos for my bzr projects at using an instance of Loggerhead, with Trac instances for some of them running on I’m not a massive fan of Trac, and only ever used it as a bugtracker. I probably replace it with a Python port of GrassSnake, a bugtracker I wrote for my own use in PHP quite some time ago1.

For my git repos, I use GitHub.


There are a number of pages dedicated to various projects on this site though, specifically:

I have a number of older projects that haven’t had their repositories deployed, so that I haven’t them maintained for a while:

A C library for checking if a debit or credit card number is well-formed. I wrote it because I needed one, and there were none written in C or C++ out there. It’s also more comprehensive and flexible than the ones written in other languages. It requires a compiler that supports flexible arrays, that is, one that supports C99. GCC 3.4 and after will do just fine.
A portable reader for INI files written in C++.
A simple DHTML-based presentation engine. Written for a laugh; the name means nothing.
An extremely thin, but very useful C++ wrapper around the James Clark’s expat XML parser.


In addition, there’s some college notes I wrote for my third year Distributed Systems classes for my classmates.

  1. You might wonder why I didn’t keep working on GrassSnake. The simple answer is that Loggerhead wasn’t mature enough at the time, and I was able to bash trac-bzr into working as a functional, if buggy, repo browser. GrassSnake fell by the wayside when that happened as there was no sense in not using Trac’s bug tracking functionality too. 

Created at 13:53 UTC on August 26th, 2009 and last modified at 3:48 UTC on May 6th, 2012