Being the home of Oliver's random and sporadic non-work-related projects

Random stuff:

My MSc thesis: "The Provision of Non-Strictness, Higher Kinded Types and Higher Ranked Types on an Object Oriented Virtual Machine". Broadly speaking my thesis covers the various features of the Haskell type system (and the Damas-Hindley-Milner type system in general) that are non-trivial to represent on a statically typed virtual machine such the the CLR/.NET Runtime. In it I describe the mechanisms and algorithms needed to represent these with almost complete static type safety (the only failure occurs when handling higher kinded types, where the inability to express relationships between type parameters forces a cast).

Edge detection of a video in javascript by using the new HTML5 video element and new APIs on Canvas

A small raytracer I wrote while actually trying to learn JS. I've now optimised the triangle intersect code to an absurd degree, which you can test here. Note the only thing that has changed is how the intersection is performed, there are no even remotely sane hierarchical models in this RT :D. There is now even a version that uses the new Web Worker APIs supported by the WebKit and Gecko nightlies (animated!).

A particle generator a wrote initially for a colleague, but later out of a desire to make it pretty. Complete with user placeable gravity wells.

Darkness-On: yet another cheesy clone of the lights-off game. But without the pretty graphics, scoring, or the benefit of ever being completed :D

A simple mandelbrot implementation, which i originally wrote to test the bit blitting performance of ImageData vs. pure HTML5 Canvas APIs.