Hi! I'm a programmer and (very) part-time neuroscientist from London, UK. I do consultancy and contracting through my firm Archaeopteryx. This is my personal site, which hosts a combination of blogs, personal projects, and articles about interesting things that I've been up to at work.

Amongst other things, I'm currently learning Rust, upskilling my Scala, putting together a 3D browser game with Three.js called 3L337, and launching a Swimming Training webapp called "Swimming Planner" - an Angular.js frontend over a Scala/Play API.

Getting "Yellow River Kingdom" Working on RISC OS Pico

Yellow River Kingdom

I recently got my copy of RISC OS Pico, and the very first thing that I wanted to try was running some software from the BBC Welcome Disc. Now, my favourite item on there was a game called Yellow River Kingdom. You are in charge of a village, and each turn involves allocating resources to defence, farming, and so on. Your population withers or flourishes as a result.

Sleuth (DOS Game from the 80s) reinterpreted in Javascript!

Play SleuthJS.

I'm sure lots of you out there remember the excellent DOS game Sleuth, which was written by Eric N. Miller in the 1980s. I absolutely loved it, and still play it at Christmas with the family. Unfortunately, it requires an emulator to run nowadays, which can be a bit fiddly.

I recently had a little bit of free time, so I coded up a clone of Sleuth that works in Javascript, so anyone with a vaguely decent browser can play it. I emailed Eric Miller, and he very kindly allowed me to release it with the name SleuthJS. It's inspired by Sleuth, but it's written pretty much from memory, so none of the text is the same. Dr. Miller's DOS version still has far superior narrative, so that is definitely worth a look too if you've got a copy of Dosbox.

Check it out here: Sleuth JS.

Finding the Minimum Set of Languages to Learn All Programming Paradigms

Hello World in Piet

Earlier this evening, I was wondering how easy it would be to learn (or experience) *every* programming paradigm out there. I've tried functional programming, object orientation and so on, but what about Array Programming, or Reflective Languages? The first of those two fills me with terror, mainly thanks to APL.

Predicting Eurovision with Country-Level Regression

There seem to be a few people out there attempting to predict the Eurovision this year using this technique or that, from the Guardian's tongue-in-cheek averaging out of past results, to Cold Hard Facts using Bayesian inference. I thought I'd throw my hat in the ring, with yet another equally fuzzy model.