It appears that I've become rather busy at work, so I might not get so much time to write articles for the next short while. I'll still hope to put stuff up every couple of months, so keep an eye out.

RFC 7168: Hypertext Coffee Pot Control Protocol for Tea Efflux Appliances
1st Apr 2014
An update to HTCPCP (RFC 2324) to allow for the connection of networked tea-brewing devices. Published under the RFC Informational series.
Let's Build a JPEG Decoder: Frames and Bitstreams
5th May 2013
Continuing a series exploring the concepts behind JPEG image compression, this part begins delving into the relationship between the image, its colour constituents and the encoded data by breaking open the Start of Frame segment.
Let's Build a JPEG Decoder: Huffman Tables
24th Feb 2013
Various levels of compression and encoding are employed in the production of a JPEG file. The first step in decompressing an image is decoding the data, which is compressed with a variant of Huffman encoding. This article looks at the data attached to a JPEG file which allows the Huffman decoding to proceed.
Let's Build a JPEG Decoder: File Structure
20th Jan 2013
Aside from the concepts explored in the previous part of this series, the JPEG file format is composed of segments which encode the various portions of information needed to decode an image. This article implements a simple method of traversing the segments of a JPEG file.
Let's Build a JPEG Decoder: Concepts
5th Jan 2013
The JPEG image format is a bit of a black box for many: files go in and images come out. Looking inside the box reveals a bunch of interesting algorithms and ideas, so writing a JPEG decoder makes for an interesting exercise. This article explores the concepts behind the compression techniques used by JPEG.
svn branchlist: Print branch name for multiple repos
3rd Oct 2012
Ever run into a codebase with multiple Subversion repositories, where you just wanted to find out which branch they were all on without tediously cd'ing into each working copy? Try this script today, and make your life easier.
How Emulators Work: a presentation
27th Jun 2012
At deviantART's technology team meetup in France ('Breadlands 2012'), I gave a short Ignite talk distilling the first three articles in the Gameboy Emulation in Javascript series. The slides from that talk are now available here.
Behind the Mirror
24th Jan 2012
The day after the night before, a hungover flatmate notices that the wall mirror looks a bit strange. Speculative flash fiction.
Steganography with Brainfuck
12th Nov 2011
There are a number of techniques for encrypting or hiding information within an image, including the concept of hiding a program within the image which itself prints the secret information. This article explores the feasibility of encoding a Brainfuck program within the bitmap data of an image, with a detailed run-through of a simple example.
Betel
17th Aug 2011
Written on the theme of "thirty". On the far edge of the galaxy, a planet where only thirty stars are visible notices that one of the thirty has disappeared. Flash sci-fi.
Get the RSS feed