donotturnoff

Projects

Here are a few of the more interesting and complete projects I've worked on in my own time. I have many more but I haven't uploaded them all yet.

I can also be found on GitHub.

I am currently re-formatting this page
simpledoc
A simple static hypertext retrieval and display system based on custom markup and styling languages
JHTTP
An HTTP server with virtual hosts, Basic authentication, compression and PHP integration
lr0
An LR(0) parse table generator and general-purpose parser

Rex
An interpreted functional programming language
BistoComm
An instant messaging system made with a few friends while in sixth form
textc
A system for compiling text files from raw text and program output
Convolute
Classic garbled-text CAPTCHA, just like the good old days
ImageSegmentor
Splits images into regions of block colour using k-means clustering
mpvctl
A shell script for controlling mpv
Harmonograph
A web-based harmonograph for visualising and listening to musical intervals

3D graphics engines

Raytracer
A Java raytracer, with spheres, relection, refraction, texture mapping, Phong illumination and more
JThree
A 3D scanline rasteriser which I made for my A-level Computer Science coursework, and since used in some of my other projects
Raytracer JS
A JavaScript raytracer, featuring spheres, tori, reflections and Phong illumination
Pathtracer
A naïve Java pathtracer

Physics simulations and miscellaneous graphical trinkets

string
An interactive elastic string simulation
Lorenz
Plots the (often chaotic) Lorenz systems
Bézier
Creates interactive and colourful Bézier curves
Double pendulum
A configurable double pendulum simulation
BallDemo
Simulates a ball rolling inside a paraboloidal bowl
Rolling
Simulates a ball rolling inside a configurable track
Differential equation plotter
Plots (well-behaved for some definition of that) differential equations using the Forward Euler method