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.

ARM Opcode Map
4th Oct 2007
There are many places in which you can look if you want an explanation of the instructions available on the ARM series of processor cores. However, there is no overview of the instruction set in the form of a table or map; not even the official ARM instruction reference provides this anywhere in its 811 pages. I produced an opcode map in 2006, in an attempt to rectify this problem: it provides a mapping of all the instructions and addressing modes for cores up to ARM version 4, with version 5 extensions highlighted in blue and the DSP extensions in green.
JavaScript Tetris
4th Oct 2007
It's often said by some that JavaScript isn't a real programming language, that it can't provide the full range of development possibilities that a more complex language would be able to give. It's quite easy to prove this argument wrong: JavaScript is a full-blown language, with some very interesting features that conventional languages fail to bring to the table. It's also quite easy to write programs with, and I put this example together to prove the point: an implementation of Tetris in HTML and JavaScript, playable right in your browser.
Running a Windows Partition in VMware
20th Jan 2007
Virtualisation of operating systems is a big trend at the moment: running multiple servers on one physical box allows a hosting company to save space and power costs, and running different operating systems lets a Web developer test their work on various browsers and hosts. The problem with setting up a virtual machine is the loss of disk space on the host, to hold a disk image for the guest; what if you've already got an installation on another partition? This article shows how to use that physical installation in VMware, using the example of Linux as the host and Windows XP as the guest.
Contact
28th Sep 2006
A quick list of ways to get in touch with me.
Trainf*ck
26th Sep 2006
One of the most widely-known esoteric programming languages is Brainf*ck, which attempts to break computing operations down into the simplest possible steps: just eight operations are provided, along with a small buffer of memory to work with. The problem with Brainf*ck is that it only provides the most basic I/O, interfacing with the console. Trainf*ck is an extension of the language, which endeavours to provide the ability to read and write files, and communicate over a TCP/IP network.
DSemu
22nd Sep 2006
An integrated testing and debugging environment for homebrew games development on the Nintendo DS and Gameboy Advance, targeted for multiple platforms and optimised for performance. Written in C/C++ and assembly.
Hideout
22nd Sep 2006
Two hackers must destroy their evidence when a team of armed police show up outside their apartment. Screenplay.
Thirteen
22nd Sep 2006
Terrorists use a distributed computer system to model the destruction of a continent by multiple warhead detonations. Book prologue.
Tau
22nd Sep 2006
A physics researcher is alerted to a contact who can help him realise his theories. Book prologue.
Microwave
22nd Sep 2006
Description of a system for generation and distribution of electrical power from orbiting nuclear power plants. Novel introduction.
Get the RSS feed