The lab

The lab contains various small scripts or other projects I've worked on in the past, along with descriptions and download links. Have a look through them, you might find something interesting.


ELFHex is a simple "assembler" designed for learning machine code. It takes programs comprising machine instructions and packages them into ELF executable binaries.

A simple implementation of byte-pair encoding

Byte pair encoding is a simple but (sometimes) effective algorithm for compressing data (especially textual data). Best of all, it is very easy to understand! Therefore, in this experiment I have created a simple Python script that implements byte pair encoding on files.

A diagram of organic reaction pathways

Following on from part one of my series of chemistry visualisations is a useful diagram detailing the components of many common organic reactions, that typical high school students may come across in their work.

Functions for the TI-89

Some maths functions I wrote for my TI-89 calculator that may help with various maths problems. Fully documented both with NoteFolio and in an included text files.

The Mandelbrot set in Flash

A Flash-based application that renders the Mandelbrot set. I first attempted a renderer written in Javascript, which can be found in the article, but it was too slow. So, Flash was used.

<canvas> snake game

A small classic snake game, with five speeds. The script is actually adapted from a snake game I wrote for the TI-89 calculators in TI-BASIC.