About Me

I am a computer scientist by qualification, software engineer by trade, and linguistic, typographic and literary dilettante by bent. I like collecting Warhammer, reading Terry Pratchett, and wearing t-shirts with obscure “geek culture” references.

When it comes to programming I am a polyglot. One of my greatest loves is discovering new languages and paradigms, and exploring their weaknesses and strengths. In the mid-nineties I cut my milk teeth on MOO Code when around year 10 we discovered a MOO hosted in our high school. From there I discovered the C source of the MOO and dabbled in the yacc parser that drove MOO Code. University (the first time around) pointed me at C++, but I dropped out to travel the world and then I worked writing VB5/Access apps. I eventually returned to university and finished my degree, picking up a bunch of experience in Java, Python, Bash, Javascript, Lingo (remember Shockwave?), ActionScript, OpenGL, PHP, SQL, MATLAB, LATEX and probably some others. Then I got a job at a startup writing Java Swing GUIs and Tomcat servlets that generated ANSI C code, before we switched to Ruby and Sinatra generating x86-64 machine instructions (with a smidgeon of nasm assembly thrown in). Then I got a job in a university library writing and maintaining web services, adding some serious perl and XSLT/1.0 to my repertoire. After some restructuring and centralising and redefining the role of "web developer", that's essentially where I've been for the past decade or so.

I try to be an active participant in the Ruby community – writing gems, contributing to core, and trolling the fora – and the IETF – especially HTTPbis and the Applications & Real-Time Area working groups.

When I'm not on a computer I play guitar (not very well), hike (not very often), and play computer games (not very sociably).