I’m a programmer. In the quest for interesting things to program and good tools to use, I’ve learnt a lot about natural language processing, compiler theory and implementation, parsing algorithms, type systems, dependent types, and web development. I like using Haskell and Ruby, but know that we can do much better than either of these.
I used to be a university lecturer. Parts of the job were interesting, eg working on some very advanced and new ideas, following my own projects, working with good students, but there came a time when the only programming I was doing was to set course assignments. Then I had a great experience teaching Ruby on Rails to some MSc students, and realised that some kinds of commercial programming really can be fun. So I now work as an eCommerce consultant, using the Spree platform – and I’m also a member of the Spree Core Team.
I have a PhD. This was obtained whilst working on a large natural language processing system, and my thesis was a detailed investigation into its performance in an international competition for information extraction and a discussion of what other evaluations can be done.This system was (in the 1990s) the world’s second largest Haskell program. After my PhD, I had an excellent chance to work in an area that combined NLP and Haskell, and so started work applying dependent type theory to analysis of mathematical texts.
Dependent type theory is beautiful. It’s the future. I’ll explain it soon, I promise.
Finally, I like bikes. Well, real bikes. Like the one you see to the right.