Most of my code has been moved over to my Github page - most of the below link to repositories there.

Nutrition Tracking

Price and Nutrition Tracking System

PANTS is a self-hosted, open-source nutrition tracker and a tool for nutritional data analysis of ingredients and recipes.

As well as tracking daily calories etc, PANTS is designed to make it easy to compare and optimize recipes which form a regular part of your diet; a key feature is the ability for recipes to be components of other recipes. For example a dough recipe and a filling recipe can both be components in a pie recipe; you can clone the pie recipe with alternate fillings to compare the nutritional values of the alternatives. Any changes to the dough recipe will be reflected in the data for all of the pies.

These “meta-recipes” can also be used to easily compare between different similar meals and provide an “average” breakfast/snack/etc for meal and diet planning.

See my blog post on PANTS for more details. Example screenshot of the diary view:


ZFS Forensics

ZFS Pre-Parsers for Plaso

Use data from the ZFS Debugger (ZDB) to generate events for the Plaso super-timeline software from internal ZFS objects and metadata.

This is a practical implementation of my research into ZFS Timeline Forensics.


Pseudorandom Rhythm Section

Generates a pseudorandom chord progression and piano/bass accompaniment to go with it; outputs the result as a MusicXML score with all parts and chord symbols. Ideal for practicing improvisation or coming up with a progression or launching point for a composition.

See my blog post on PRRS for more details.

Time and Task Management


Python text file based command line and Android todo/reminder program. Supports many types of todo items (appointments, sleeping items, wishlist etc) and assorted sorting/filtering options.


Games and Mods

A simple network number game with a Java Swing UI, originally written for a Network Programming subject at RMIT.
Minetest Mods
Two small mods for the open source Infiniminer clone Minetest:
RotDecay: Make the more basic building materials (like standard wood) decay, so players have to “patch up” their buildings early on, and later upgrade them to sturdier matierals (like bricks).
DLTweaks: Minor tweaks to do stuff like allow burning more things (like dry shrubs) as fuel and make the difference between early game equipment and using your bare hands more significant.
LethalMod (Max Payne 2)

A Max Payne 2 mod that changes the gameplay to make combat more realistic and deadly yet still cinematic, with more emphasis on use of bullettime and the player avoiding being shot. (112kb) - refer to the .txt file for more info.


Codepile / Assorted Little Scripts
Most of the useful scripts that used to be on the Codepile page have been moved to the new dl-misc-scripts repository.
Android Python (SL4A) Scripts
These are no longer maintained; given the recent changes to Android permissions making SL4A less viable I’m writing new stuff in Java rather than Python.