Hello. I am several people:

Computer Science and Mathematics

I design programming languages as a hobby, including Papyri, a programmable markup language, and MJr, a probabilistic programming language based on pattern rewriting.

I was PhD student in Computer Science Education at Aston University's school of Engineering and Applied Science, from 2016 to 2020. My research was on how novices learn computer programming. (Unfortunately due to health reasons and the pandemic I did not complete my PhD.)

From 2013 to 2019 I was a Lecturer at Birmingham City University's school of Computing and Digital Technology.

I used to attend hackathons regularly. Many of my hackathon projects and other personal programming projects can be found on my GitHub page.

I write a blog named wlog about CS and maths things I'm working on or interested in. I previously had another blog, The Distributive Law, which was more focused on mathematics.

I studied Mathematics at the University of Cambridge, graduating in 2009 with a BA, in 2010 with a CASM and MMath, and then again in 2013 with an MA (Cantab).

A few more mathematical things, including some lecture notes, can be found here.


I create electronic/industrial/rock music with computers, guitars and synthesizers.

I produce (and occasionally DJ) ambient breakbeat, and a few mashups, under the pseudonym Green Light Go.


I play an ancient Chinese strategy game known as Wéiqí (though in the UK we call it Go). I achieved the title of British Champion four times, and have represented Britain in international competition.

You can contact me in various ways.