My programs

To start with a disclaimer: I'm not a programmer; I only code for the fun of it. These programs are free software but you use them at your own risk. To build and run them you will need to be a Linux user and have basic development tools installed.


I wrote the Barbarella buttonbar because I like small, simple desktops, but it's also nice to have a few icons for favourite programs. It uses the gtk2 widget set and is based visually on the old Microsoft Office launch bar.

Later I added two other bits of desktop furniture to the package: a graphical tool for mounting and unmounting partitions, and a trashcan.

You can configure the buttonbar to launch any combination of programs that you like. You can have different buttonbars on each workspace if you run Barbarella as a normal application. Alternatively, if your window manager supports a dock, you can run it from there, but it will then be part of the desktop and will therefore be the same on all your workspaces.

You can download the source code of Barbarella from here.


One piece of software that I commend to all musicians is Philip's Music Writer (PMW). This provides an amazingly clever system for encoding sheet music as plain text. The files can be created and worked on in any editor, then run through the PMW program, which converts them into musical manuscript files in postscript format, ready for printing.

The one caveat is that creating a syntactically correct PMW file from scratch is not easy if you only use the program occasionally as I do. I therefore created pmwScribe as a "quick-and-dirty" front end to PMW. It provides a graphical stave (with leger lines above and below) onto which you can pin notes and rests from a toolbar. The text output file is then created for you.

pmwScribe gives access to only a small subset of PMW's capabilities. For example, it supports only four staves, but that should be enough for a song or solo instrumental piece with piano accompaniment. Things like expression marks have to be edited in afterwards.

The program supports multi-session working. In subsequent sessions with the same file, you can work on the same stave or add a new one. You can also of course edit the file independently with a text editor.

pmwScribe uses the gtk2 widget set. It has no other runtime dependencies, but you will need PMW itself to convert the output files into sheet music.

You can download pmwScribe here.


This is a little program that allows you to play sudoku on your computer. It includes built-in error checks that prevent you from accidentally entering values which contradict what is already on the board (rather an easy thing to do on paper).

You normally enter values by focusing the square with your mouse and typing the number. However, if you have a dexterity problem, there is a keyboard-only mode.

When solving difficult problems, you can make a guess at a value, then revert to the previous state of play if the guess proves a bad one. In this way it should be possible to solve problems by brute force.

The only dependency is gtk2+.

You can download sudoku_aid here.