Free & Open Source Work



Myki fare optimizerC, HTML & JS
Find the cheapest permutation of fare types for the Myki public transport system in Victoria, Australia
Considers fare class, zones of travel, as well as weekend and public holiday rates
Fast CGI application written in C to run in a resource-constrained environment; memory use < 1kB
Web-based front-end with mobile and touch support
ledgible (unmaintained) Python
Web-based double-entry accounting – makes plain-text accounting accessible to non‑technical people
ledger-cli front-end with: adaptive autocompletion (learns from history for faster data entry); financial reports; and graphical charts to show balances and trends
The new features presented in this program have been ported to the fava front-end for beancount, which I recommended instead of ledger-cli.
Trimmit (retired) Objective-C & zsh
Delete junk files, clear resource forks, strip universal binaries, clean out NIBs, strip debug symbols, compress TIFFs, remove foreign languages – do all the things Apple do but third party vendors don't. Recover lots of disk free space.
HotKeys (unmaintained) Objective-C
Define keyboard shortcuts to run arbitrary commands
CLIMac (unmaintained) Objective-C & C
Extensive suite of utilities for manipulating all facets of the Mac that are traditionally not accessible from the command line
Includes tools for resolving HFS+ aliases, power management, sending files to the Trash, transforming and generating images, manipulating PDFs, taking screenshots, listing and controlling running applications and their windows, listing and controlling applications to be launched at system startup, viewing and modifying extended attributes, and much more.
Gregarious (retired 12 years ago) PHP
A WordPress plugin for sharing posts to social websites like Digg.
One of the first programs to use the Digg API to detect when posts were submitted, and would automatically show an upvote button.

External Contributions

Desktop Applications

QuicksilverMac application launcher with a cult following
Objective-C code clean-up to eliminate hundreds of compiler warnings
Documented the procedure for creating external plugins, and wrote the first ever third‑party plugins and interfaces

Services / Tools

WireGuardFast, Modern, Secure VPN Tunnel
Fixed the use of alternate routing tables on OpenBSD
GateOneWeb‑based terminal emulator and SSH client
Created systemd service to facilitate packaging in Linux distributions
Reported and tested compatibility with Python3
Maintained the Arch Linux package
jqCommand-line JSON processor
autoconf bug-fix to un-break the build
bedupFilesystem deduplication utility
Crash report due to mistaken assumptions about BTRFS subvolume IDs

Programming Libraries

libzipC library for working with zip archives
Test failure related to time-zone handling reported
efivarUEFI variable manipulation library for Linux
Makefile code clean-up to reduce duplication of code
Configured extra manual pages to be installed, and made future diffs cleaner
clxCommon Lisp X11 client library
Patch to fix a crash and improve standards-conformance
osicatCommon Lisp library for POSIX-like systems
Reported build failure with musl libc

Operating Systems

Void LinuxBSD-inspired Linux distro
Published packages for several Common Lisp implementations
Arch LinuxMinimalist Linux distro
Contributed to and took over maintainership of many packages in the Arch User Repository
Exherbo LinuxSource-based Linux distro
Created, updated and maintained many packages
OpenBSDUNIX-like operating system emphasizing proactive security
Reported typos in package documentation