This page lists the projects I've worked on before, during, and after my PhD.
My main current interest is in the Rust programming language. I'm contributing code and documentation to the project as and when my schedule allows (via GitHub). I'm also developing a concurrent hash map for rust here
I’m currently working on a site to help people teach themselves SQL. It contains exercises and explanations for both beginners and more experienced users. It also allows users to securely run (read-only) queries against a Postgres server. It launched in December 2013, and is under occasional development.
In Memory Indexing
My major research effort in my PhD went into examining indexing strategies for in-memory RDF storage. I'm interested in how modern computer architectures, programming languages, and the peculiarities of RDF affect our assumptions about indexing strategies. Thesis is here.
examineRDF is an RDF statistics generator designed to generate detailed information about RDF datasets. It scales well to extremely large datasets, providing information particularly useful to RDF store designers.
While interning at HP Labs in summer 2008, I worked on extending Jena TDB into a clustered store. The result was the prototype Clustered TDB, a technical report for which is linked to above.
The links above will take you to my Mini-Thesis and 9 month report, which will give you a much clearer idea of what I've been working on!
My early work involved the creation of an RDF store benchmarking/testing system. The system tests assertion time, update time for large and small updates, concurrent update time, and query performance. It features a highly configurable data generator, but was never updated to perform automatic query generation.
I've also collaborated on a couple of other projects with my peers: Continuum is a timeline explorer designed to cope with the problem of visualising large quantities of information on a timeline without killing usability. The same group has also explored creating more user-focussed journey planning systems.
mSpace is an interaction model designed to aid in the navigation of unfamiliar datasets. I spent most of the last year of my UG degree working on mSpace projects: the first in-browser AJAX implementation, and mSpace Mobile, a location aware version designed for handheld computers.
I spent an unwise amount of time coding on Robocode during the first couple of years of my undergraduate degree. During the course of this I produced a successful competition bot, Nicator, and a tutorial for fellow coders, SnippetBot. I also penned a couple of articles on the subject for IBM developerworks: 1 2