This page contains links to free software I have written or contributed to. I also maintain some debian packages.

Not all of the packages below are in debian (yet), however my apt source contains debian source and binary packages for them.

Bug reports, patches, comments, questions to


GNU Interactive Tools (gnuit) is a set of interactive text-mode tools, closely integrated with the shell. It contains an extensible file system browser, an ascii/hex file viewer, a process viewer/killer and some other related utilities and shell scripts. gnuit was originally known as git.

I am the GNU maintainer for gnuit, which was originally written by Tudor Hulubei and Andrei Pitis.

More information here.


Gnulib, the GNU portability library is a macro system and C declarations and definitions for commonly-used API elements and abstracted system behaviors. It can be used to improve portability and other functionality in your programs.

I produce stable snapshots of the gnulib codebase. More information here.


Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power. It reclaims google, wikipedia, cpan, wayback, amazon, imdb, babelfish, freshmeat, research index, slashdot and many others from the false-prophet, pox-infested heathen lands of html-forms, placing these wonders where they belong, deep in unix heartland, as god loving extensions to the shell.

Surfraw was originally written by Julian Assange, and is in the public domain. I am part of the team developing it.

More information is here, or go straight to the surfraw webpage.


id3fs provides a browsable filesystem of your music files, organised into sub-directories by id3 tags (or flac/ogg comments).

id3fs allows you to construct boolean queries from a tag folksonomy such as:


Multiple tags can be stored in the genre tag, separated by commas.

Download id3fs


XML::PFIF (libxml-pfif-perl) is a perl module to implement the People Finder Interchange Format (PFIF), specification, the data interchange format of the Katrina People Finder Project

Download XML::PFIF


mp3lint is a tool to check collections of audio files for various problems. It is highly configurable, allowing you to specify your preferred format for filenames, minimum bitrate, tests to ignore, etc. Formats checked are currently mp3, ogg, wav, flac, au, and m3u playlists. mp3lint is implemented as separate tools (perl modules), each of which implements a set of tests. There are a total of 33 different tests.

Download mp3lint.

MP3 Archive Tools

MP3 Archive Tools is a set of tools to ease organising a collection of mp3 (and other audio) files.

Tools included:

Update id3 metadata from filename.
Rename file based on id3 metadata.
Rename files based on data from freedb webpages (
Rename files based on data from cddb webpages (
View/change id3 tags. Supports ID3v2 and extended frames including pictures etc.
Move music files to their correct place in your archive.
Rename files using arbitrary perl code.
Maintain a link farm pointing to music stored in various places. Useful if your music is spread over various directories/file systems for disk space or organisation reasons.
deepen, flatten
Convert directories between "artist/album" format and "artist - album" format.

Download mp3-archive-tools.

MP3::Archive (libmp3-archive-perl)

MP3::Archive (packaged as libmp3-archive-perl) is a perl module to encapsulate the parsing and creation of filenames containing music metadata (artist, album, etc).

It is used by mp3lint and mp3-archive-tools.

Download MP3::Archive (libmp3-archive-perl).