Free software projects

My darcs repositories:
My git repositories:

I created and lead these projects:


hledger is a tool for easily tracking money, time, or other commodities, using standard accounting principles. For some, it is a bare-bones, less complex, less expensive alternative to Quicken or Microsoft Money. hledger aims to help both computer experts and every-day users gain clarity in their finances and time management.


I began writing Zwiki, a state of the art wiki engine, in 2000 and have been leading this free software project since. Zwiki is a highly effective tool for gathering, organizing, and communicating knowledge for a single individual, a small workgroup, or a large distributed community. It has been used by the Debian, Ubuntu and Zope projects, among others.


shelltestrunner is a handy cross-platform tool for testing command-line programs or arbitrary shell commands. It reads simple declarative tests specifying a command, some input, and the expected output, error output and exit status.


I use rss2irc, supervisord and cron to maintain several public announce-bots on, including: hackagebot in #haskell, (and, less recently, hledgerbot in #ledger, squeaksobot and squeakquorabot in #squeak, etoystrackerbot and etoysupdatesbot in #etoys, zopeplanetbot in #zope). Use /whois BOT to see a little help on what that bot announces. The goal is to provide useful, community-enabling, reliable, non-annoying announcements with minimal maintenance.

I maintain these projects:


rss2irc polls an RSS or Atom feed and announces new items to an IRC channel. I took Don Stewart's original bot and added reliability and features needed for real-world use.


FunGEn is a cross-platform OpenGL/GLUT-based 2D game engine for haskell, created by Andre Furtado. I have updated and republished it for today's haskell game developers.


darcsum is an emacs package providing a more efficient user interface for the darcs revision control system, in the style of pcl-cvs.

I am a contributor to projects such as:


Squeak is the leading community-developed Smalltalk environment, the direct descendant of the original Smalltalk. It is an amazing productivity tool, educational playbox and mind-expanding example of "real" OO.

I built a new wiki for more organised Squeak notes:

I started the Planet Squeak blog aggregator(s) to help grow the Squeak community:

Other activities:


I've been a happy user of darcs for some time. Some things I've been involved in as a darcs contributor:

  • sysadmin - email setup and the roundup bugtracker
  • bug wrangling
  • cleanup, infrastructure and bugfix patches
  • the first darcs sprint
  • documentation
  • migrating the wiki from MoinMoin to Gitit + restructured text
  • organizing
  • darcs-benchmarks
  • darcsweb
  • darcs-graph


John Wiegley's ledger is a command-line accounting tool. I provide support, bug reports and the occasional fix, and I created and manage the website.


I made some parsing improvements to beancount, Martin Blais's python ledger clone.


I did the initial port of Ward Cunningham's Framework for Interactive Test to python.


pandoc, gitit, darcsden, darcs-rss-setup, darcsweb, Monadius, patch-tag, ubuntu, happstack, yesod, ...