Occasionally I hammer things together out of bits and bytes. Most of the publicly-available code I write these days goes up on GitHub.


Tarski is an elegant, flexible WordPress theme created by myself and Chris Sternal-Johnson. It is named for the logician Alfred Tarski. I recommend his papers ‘The Concept of Truth in Formalized Languages’ and ‘On the Concept of Logical Consequence’, both of which can be found in the collection Logic, Semantics, Metamathematics.

In the process of developing Tarski I’ve written a number of articles about it, and theme development more generally. Here are some very small plugins to tweak Tarski in various ways. If you’re supporting your own WordPress theme, you may find these utilities useful.

Fish mobile

Now you too can have cardboard fish hanging from the ceiling.

I released the template for public consumption in January 2006. If you make one, please get in touch; I always enjoy seeing them.

Paper Trail

Paper Trail is a small Rails application I use to keep track of my reading. URLify is a library extracted from Paper Trail for converting accented characters to their ASCII equivalents.


Stylish is a tool for writing CSS with Ruby. I introduced it 2009 in ‘Generating CSS With Stylish’.


Miso is a tiny library for experimenting with data structures in JavaScript.


Aside from Tarski, and contributing the occasional tiny patch to the WordPress core, I’ve written a few articles on WordPress and some tiny plugins to fulfil my own needs. You’re welcome to use them. The plugins are hosted on GitHub, so if you don’t have Git you can get a tarball from the project page. If you find any bugs or incompatibilities in these plugins, you can email me or post a message on the Tarski forum.


Turn relative URIs in your posts and pages into absolute ones, fixing the issues you’ll otherwise have when your content is loaded in a context outside your site (for example, in a feed reader).

Access Control

A simple access control plugin: only allow logged-in users to view your site. It redirects visitors who aren’t logged in to the login page.


Adds per-post stylesheet links, letting you customise each post and page like Jason Santa Maria. Your home page will have the style of the latest post; the link is only added if the file exists. The file name is generated from the post permalink or ID; alternatively, add a custom field with a key of stylesheet and your desired stylesheet file name as the value.


James Coglan developed the Ojay JavaScript library as a wrapper for YUI, combining a concise API and asynchronous method chaining, thus making it easy to write complex, stateful interfaces.

Since it was first released, a number of additional packages and features have been added. I’ve contributed various bug fixes, minor features, documentation improvements, and a decent chunk of the tabs package.

Last updated 11th Dec 2009