Something or other, whatever!

Christian Lawson-Perfect's homepage




A Wordle clone where you have to guess a sequence from the Online Encyclopedia of Integer Sequences

Prime Run


A game about adding and subtracting prime numbers. You start at a random number, with a random target. Try to reach the target, by adding or removing any prime factor of your current number.



This is a pen-and-paper game I invented in secondary school. Twenty years later, I've made a digital version of it!

Each Edge Peach Pear Plum


I've made another baby, so it's time for another talk about baby maths. Each Peach Pear Plum is a classic picture book for babies, with a beautifully simple rhyming scheme. But I've always wished it was more complete. Join me for an Eulerian tour through fantasy land!

A lullaby sequence


My son was born last September. While he doesn’t hate sleep as much as his sister did, he still needs a bit of help to drop off. I’m not at all musically inclined, and I seem unable to …

My robot draws TeX


For my birthday I got an EleksDraw pen plotter. It’s a cheap and cheerful example of the form: a pair of orthogonal metal rods with a pen on the end, attached to electric motors. The idea is …

Automatic Namesby


Uses some word lists to come up with random fake place names and show them in street signs. Prompted by the thought that glitch's automatic project URLs would be cuter if they were place names.

Baked sudoku


You can impose on Sudoku puzzles a physical system which works surprisingly well. It has phase transitions, and when you reduce the heat it settles into a solved state!

Sierpinski interpolation


This is known in some places as the chaos game: if you repeatedly move halfway towards a randomly chosen vertex of an equilateral triangle, the positions you can end up together make the Sierpiński triangle. In this one, press the keys 1, 2 and 3 to move to each vertex.

Incident counter


Inspired by the 'paralellepiped incident' joke that some friends make. You reocrd an incident, and when you come back later it tells you how long since the last incident.

Zeckendorf cup arithmetic


My 5-minute talk at the big MathsJam conference this weekend was about some stacking cups that my daughter is too young to appreciate. Here’s the really quick version, in just over a minute: …

Distance to postcodes

boring tools

Calculates the straight-line distances from a source postcode to a list of other postcodes. Made in response to someone at a university asking how many of their students they could expect to travel in for a day event.

Truchet polygons


Each tile is a regular polygon with an even number of sides. The vertices are painted in alternating colours. The tiles are lined up so that the colours on every edge match.

The People Shuffler

useful tools

A tool to decide who goes first: everyone loads this on their phone, and presses the screen at the same time. The phones will all ping at different times. A knock-off of an app I saw someone use. Contains a QR code so everyone else can load it easily.

Get the Average Right


I think the gist of the game would be that in each round, everyone guesses a number, and at the end the closest guess to the average of everyone's guesses wins. It didn't really work.



I had an idea about a way of modelling intervals of time and doing arithmetic with them, prompted by the question of what 'one month from now' means. It didn't really work.

Circular lights out


A circular version of the Lights Out puzzle. The aim of the game is to turn all of the lights off. When there is an evenly-spaced sequence of bulbs all turned off or all turned on, you may switch them all on or off by clicking two consecutive lights in the sequence.

Lights modular out


A move in the classic Lights Out puzzle could be viewed as addition mod 2. This lets you set up a version of the puzzle where it's addition modulo something else.

Hexaflex yourself


Makes a printable template for a hexaflexagon containing a picture from your camera, or any image you upload. Made for outreach purposes at work.

The MathJax URL


From the time when I needed it lots, and the main MathJax site didn't make it easy to find, I made this page with just the URL to load MathJax.

A quiz in Elm


I wondered how much work it would be to write a quiz system like Numbas, in Elm. The hardest part was thinking about randomising, because I didn't have a good understanding of how Elm's randomisation works.

Interesting Esoterica


This site hosts my list of interesting and unusual papers that I have collected over the years. Many of the references are kept here so I can easily find them again when I want to tell someone about the really interesting idea they contain; others are here only because they caught my eye when I first came across them.

Code Clicker


A clicker game where each click runs a program you've written. You get points for completing challenges, but each operation in your program costs points. It works OK, but I didn't have the motivation to finish it.

Pancake flipping


An interactive toy for the pancake-flipping problem, to go with a post by Katie Steckles on The Aperiodical. By repeatedly flipping the top part of a stack of pancakes, can you sort them by size?



I never used real computer punchcards, so this is a simulation of how I think they worked. Click bits to turn them on or off, or in Lovelace mode you can't unpunch a hole! Shows the ASCII decoding of the card on the top.

Unfurl an image


A thing to do a coordinate transformation on an image. The example it loads with transforms from polar to cartesian coordinates.

Ask Clever Hans a question


Before I made the physical Clever Hans, I made this page which uses speech recognition and a formal grammar to answer arithmetic questions. Featuring the pixelated horse from my horsey game.

Traffic thingy


A little tool to help Cushing try out the birthday problem with cars - how many cars should you expect to drive past before having a 50% chance of seeing the same string of final 3 letters twice?

Download scores report for Moodle SCORM


This report provides buttons to download a spreadsheet of scores for a SCORM package. It differs from the basic report by giving the total score in raw marks and percentage, as well as scores for each SCORM objective (called "question").



Alas, this doesn't work any more!

An algebra parsing, evaluation and simplification system written entirely in JavaScript.

Olympic chokers


Alas, this doesn't work any more!

Which countries are just failing to win the most? Shows a table of all countries who have won at least one gold (to exclude the milquetoast nations for whom second place is an achievement), sorted by the proportion of their medals which are not gold.



Numbas is an open-source e-assessment tool aimed at mathematical disciplines. It's what I spend most of my work time on.

Check my working

websites began as place to put notes about my PhD work, before I abandoned it. I also used to post about maths things, before I started The Aperiodical. Now (in 2022), my plan is to use this site to post bits and bobs about the techy things I'm doing, for the sake of anyone else who might encounter the same problems I do.



This is an up-to-date repository of all my blitzmax code. It's mainly for my use, but others might find something useful in it.