Software I have written

I'm currently publicly licensing only some of my software creations. More coming later -- I tend to always start new projects even when I know I don't have time for them.

I happily accept any patches you may wish to contribute to any of my creations. Feel free to mail me.

  • ldaptor -- A pure-Python library and apps for LDAP

    Includes command line tools, a web-based search and edit app, and a flexible programming library.

  • mc-foo -- An adaptive, learning Ogg/MP3 jukebox

  • scalemail -- Scalable virtual mail domain system

    Built on Postfix, LDAP and Courier-IMAP. It's a scalable (but no HA, atleast not yet) virtual domain system for handling mail for many users.

  • dnscvsutil -- Maintain your DNS zone files under CVS control

    Can also automatically update reverse zones, using the included mkrdns (by Theo Van Dinter]([email protected] >).

  • toursst -- RSS channel news items where you want them

    TouRSSt tours the web so you don't have to. Run frequently, it pulls new RSS news items from a number of channels and puts them where you want.

  • sued -- Superuser Edit

    Edit root-owned files with a non-root editor.

    Status: planning, suspended.

  • syslog-summary -- Summarize the contents of a syslog log file

    Summarizes the contents of a log file written by syslog, by displaying each unique (except for the time) line once, and also the number of times such a line occurs in the input. The lines are displayed in the order they occur in the input.

    I adopted this fine piece of software from Lars Wirzenius [email protected] .

  • kernellab -- Manage kernel configs for many heterogenous machines

    Mostly useful for Debian users.

    Kernellab helps you manage kernel configs for many heterogenous machines. The configs are just stored in their normal format in /var/state/kernellab/configs/config--[-ac]. This and placing the kernel sources in a format accessible to kernellab allows you to easily build a new kernel for your computers.

    Let's take an example: say you have 20 miscellanous machines working as routers all over your network, with different ethernet cards and other kernel options. Say someone discovers a denial of service -attack in the linux TCP/IP stack. So you wait two hours till Alan Cox puts out a new -ac42 patch, download this patch and put in to /var/state/kernellab/alancox/patch-n.n.n-ac42.bz2. Now, all you need to do to recompile the new, fixed, kernel for all your routers, is:

    for a in router1 router2 router3 ...; do kernellab "$a"; done

    That's it!

    Status: abandoned, should be reimplemented with git integration.

  • ezmanage -- manage multiple ezmlm mailing lists with a web interface

    Ezmanage provides a simple WWW interface to managing multiple ezmlm mailing lists. It is designed to enable ISPs to provide their clients with easily administratable mailing lists, to create a virtual domain "" with mailing lists in it, etc.

    Ezmanage is based on qmail and ezmlm-idx, and takes advantage of their reliability and efficiency.

    Status: mature, orphaned (I switched to Postfix, ezmlm only works with qmail.)