Some computer science and mathematical logic articles I've written, mostly from when I was an academic back in the previous millenium. But I still find time to think about things from time to time.

Some notes on using orbital angular momentum in communication channels. Really written for my own education.

This is a picture of my cats, Bernadette (tabby) and Thomas (black), from
when they were kittens.

Some of my local version control archives. Feel free to browse around and play. Git web at home and on github.

Insanity is doing the same thing over and over while expecting a
different result.

—
Albert Einstein

Anyone who works in software engineering should have that stamped on their forehead. The mistakes, problems, fallacies that we trip over everyday are rarely new - most of them have been well understood for a generation or more, probably documented by Frederick Brooks.

My formal proof of correctness for the DVD CSS algorithm, as featured on David Touretzky's gallery of CSS Descramblers. I set out to write a mathematical proof, but (inevitably, due to the Curry-Howard isomorphism) ended up with a computer program too.

Here's a parser, proof-checker, interpreter
and proof-search implementation for the
Huet-Coquand
Calculus of Constructions, all in 512 non-whitespace characters
of C. It was my entry in the
BIGNUM
BAKEOFF
competition run by David Moews —
That won, of
course :-). Read David's rules before you try and run it — your
hardware needs `int`s with way more than 64 bits, and a
physically-infeasible stack size...

Let's see you do this in Java guys. Oh, here's the tar file with the unmangled source and build scripts.

Check out my friend Gillian's film Snakeskin from Cowgirl Productions. It's probably already shown at a cinema near you, and is now available on video and DVD.

This page is available both from my ISP and my PC at home (when it's turned on).

Sucky Fish