At some point, someone has either asked me to reveal some source code or I've just decide for egotistical reasons to make some available. So here it is.

Unless otherwise stated, I'm using JDK 1.6 to compile the code, so you'll need that to get it working. It might compile under 1.5 but I offer no guarantees.

In case you find anything of use on this page and are wondering about the license implications - go nuts! If there's anything I don't won't people using in their own projects without giving me some sort of credit, you won't find it here.