Software

  • I’ve contributed to a fair number of open source projects over the years, a few of which are listed here. You can also see some of my activity on GitHub and Ohloh.

    Supervisor

    Supervisor is a client/server system written in Python that allows its users to monitor and control a number of processes on UNIX-like operating systems. I have been working on Supervisor since 2006 and was its maintainer from May 2011 to January 2014.

    Py65

    Py65 is simulation of the original NMOS 6502 microprocessor from MOS Technology, written in Python. Its goal is to allow small microcomputer systems to be easily modeled in software for faster development and testing.

    MAME/MESS

    I joined the MAME/MESS emulator team in August 2013. My work has been improving the Commodore emulators in MESS. I’ve fixed bugs in the PET/CBM emulators and worked on new peripheral emulations such as the SoftBox and HardBox.

    TDMS for Ruby

    TDMS for Ruby is a library for reading files in the National Instruments TDMS binary file format using Ruby.

    KARL

    KARL is a web-based knowledge management suite written in Python that is sponsored by Open Society Foundations. I built its calendar backend, which has a layout engine that builds calendars in different views (e.g. month, week, day) with bubbles around events similar to those in Apple iCal and Google Calendar.

    Homebrew

    Homebrew is a package manager for OS X. I wrote the packages for acme, lwtools, z80asm, z80dasm, and zxcc. I also contributed to other packages.

    Horde

    Horde is one of PHP’s oldest and most successful projects. It is both an application framework and a suite of popular groupware applications. My area of focus has been Rampage, the next-generation Horde that is being written for PHP 5. I am a lead developer on the Argv, Controller, Db, Log, Routes, and Yaml libraries.

    PHPUnit

    PHPUnit is an xUnit testing framework for PHP. I contributed the code for CSS selector assertions for functional testing, based on work I did with a colleague for our own tools at work. I also suggested various features that others implemented, such as the ability to mark tests skipped and test grouping.

    RubyOSA

    RubyOSA is a bridge from Ruby to Apple’s Open Scripting Architecture. It allows Ruby to automate Mac OS X applications in the same way as AppleScript. I contributed a number of patches, wrote a good part of its documentation, and helped built its website.

    Ruby on Rails

    Ruby on Rails is a web framework for Ruby. Several of my patches were merged into Rails core, notably one to allow for Custom Rescue Templates. I was a Rails Hackfest winner and also developed some plugins.