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.

Go Northeast
5th Apr 2009
A man finds himself standing in an open field west of a white house, with a boarded front door. (There is a small mailbox here.) First published by 365tomorrows.com; flash sci-fi.
JavaScript Tab Controls
8th Mar 2009
Tabs have always been one of the most useful elements of a user interface, allowing an interface designer to pack a lot of information into a small space by only showing a section at a time. This article explores the implementation of a tabbing interface using HTML and JavaScript, and goes on to look at pages where more than one set of tabs is used at the same time.
NotPDO: Wrapping MySQL to look like PDO
14th Feb 2009
It doesn't happen very often, but it does happen: you're deploying a PDO-based PHP application to a shared host, and they don't run PDO. If you can't reconfigure the server, you can always wrap MySQL to look like PDO; that's what NotPDO does.
Modified Preorder Tree Traversal
9th Feb 2009
Exploring the MPTT algorithm, and how it can be used for hierarchical data storage. Includes algorithms for addition to and removal from the tree.
CRC32 Calculation in 256 Bytes
9th Feb 2009
A quick look at a 256-byte program capable of calculating the CRC32 checksum of a file.
List of Countries and Dependent Territories
31st Dec 2008
If you've ever needed to know which country is at UTC+3.5 (it's Iran), or who is responsible for administrating the Western Sahara (that's Morocco), it's all in here. List is also available in SQL, for such situations as a 'select your country' dropdown on an e-commerce Website.
Asynchronous JavaScript and JSON
30th Dec 2008
The most common problem that people encounter when using AJAX is that they can't update more than one region of a Web page at the same time, since the request only comes back to fill one region. Using JSON, it's possible to update multiple regions at once, and it's even possible to run inline JavaScript in the AJAX response, automatically. The magic behind it is explained here.
Using Pointers in C#
1st Nov 2008
The current crop of programming languages tend to frown upon the use of pointers, deeming them to be unsafe for everyday work; indeed, many languages ban their use altogether. C# is different: it is possible for a C# program to delve into pointers, but there are caveats. An example is given in this article, using a graphical bitmap effect driven by pointer arithmetic.
Automated Deployment with Subversion
21st Oct 2008
Version control systems and development testing servers go hand in hand; you work on your local working copy, and test on the development server. But what happens when you want to take your work live: to deploy the developments you've completed? This article presents one way to solve that problem, by using the scripting facilities provided by Subversion.
Building Complex Emails with PHP
10th Aug 2008
The first script that a budding PHP developer builds is often a tool to send simple email messages from a website, with a couple of paragraphs of text inside. What these scripts lack is the ability to send HTML-formatted emails, or to attach documents and other files to the message. In this article, I cover the MIME standard for building complex emails, and how to format and send a MIME-compliant email message in PHP.
Get the RSS feed