My software projects
This is a list of software projects I have written myself, or
contributions I have done to other software projects.  Most of these
software projects are for Linux; the exceptions being the PalmOS
applications I wrote.  All projects here are released under an
Open-source license.
All of this software is made available as-is and is not supported.
I will probably not answer email asking for help with any of this software.
- Deadwood, a tiny (64k x86-32
    binary)
    recursive caching DNS server.  Perfect for routers.  
    This is MaraDNS 2.0's recursive resolver.
    Bugs are still fixed but no new features are being added.
- rg32hash A small program to perform the 32-bit version
    of the Radio Gatun hash on files
    and folders.
- MaraDNS, 
    which was my open source project until late 2010,
    is a general-purpose DNS server.  In addition to running on Linux
    and some other Unices, MaraDNS also has partial Win32 support.
    Bugs are still fixed but no new features are being added.
- MicroDNS.  A tiny DNS server that
    always returns the same IP to any query given the server.
- TinyVZ, a Linux distribution.  This
    distribution is an OpenVZ template that uses 
    a fraction of the memory and hard disk space of OpenVZ templates based
    off of traditional Linux distributions.
- Yash (yet another shell).  A simple thought
    experiment: How small can we make a working *NIX command shell?
- ObHack, my fork of the Oblige random map generator.
    ObHack is designed to make maps for FreeDoom, Doom, and Heretic.
 
- Desert
    Adventure, a very basic text adventure I did a few years ago.  To
    play on the game, click on this 
    link .  
    The game
    got a couple of reviews years later.  
    It is also possible to play 
    Cloak 
    of Darkness here 
    (Scott
    Adams source code zipfile), the “Hello
    world!” of text adventures.
    Note that a modern browser with Javascript is needed to play these
    games (they are not Dillo or Lynx compatible, nor compatible with 
    older versions of Internet Explorer).  Finally, some source code.
- Kiwi is a spam filter
    which I originally wrote in 1998, and re-wrote in 2000.  Some of
    the libraries in Kiwi 2.0 ended up getting used in MaraDNS.  The thinking
    behind Kiwi is that, by giving different people different email addresses,
    we can find out where spammers are getting an email address, and disable
    any email address on a spam list.
- XKook is a series of 
    scripts for posting an auto-reply to anyone who replied to a notorious
    troll on a Usenet newsgroup.  The scripts worked; I was able to
    chase off a long-standing troll in one newsgroup.  Said Usenet group,
    like most of Usenet, has since died, but these scripts served their
    purpose.
- Ear Trainer is a PalmOS application
    for learning musical intervals.  Like all of my PalmOS applications,
    this was written in 1999/2000 and may not run on newer versions of
    PalmOS.  The source code is included in the zip file.
- Countdown (Kiwi is a spam filter
    which I originally wrote in 1998, and re-wrote in 2000.  Some of
    the libraries in Kiwi 2.0 ended up getting used in MaraDNS.  The thinking
    behind Kiwi is that, by giving different people different email addresses,
    we can find out where spammers are getting an email address, and disable
    any email address on a spam list.
- XKook is a series of 
    scripts for posting an auto-reply to anyone who replied to a notorious
    troll on a Usenet newsgroup.  The scripts worked; I was able to
    chase off a long-standing troll in one newsgroup.  Said Usenet group,
    like most of Usenet, has since died, but these scripts served their
    purpose.
- Ear Trainer is a PalmOS application
    for learning musical intervals.  Like all of my PalmOS applications,
    this was written in 1999/2000 and may not run on newer versions of
    PalmOS.  The source code is included in the zip file.
- Countdown (source code) is a PalmOS application
    for finding out how many days are between any two dates.
- HeartBeat (source code) is a PalmOS application
    for helping people take their pulse (it counts for 15 seconds then beeps).
- Dice is a program to help people
    play GURPS by rolling N 6-sided dice and adding the result.
- Flower is a program for making flower
    shapes for the ray tracing application PovRAY 2.
- Patch #1 and Patch #2 for people who are
    trying to run Ted (local
    copy of source here).
- Patch to get Abiword 1.0.7
    to compile in Fedora Core Three (note: This code does not run because
    of a font problem)
- A patch to get BrowseX 1.6.0
    (the last version for which source code is available) to compile
    in Fedora Core Three.