Sam Trenholme's webpage

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.