List generated 2008-08-10 15:05:04 (UTC)
A small program used for getting hold of one or more addresses of resolving DNS servers from IPv6 Router Advertisements with the Recursive DNS Server (RDNSS) option, that is, RFC 5006 support.
A small greylisting daemon in Perl for use with a Mail Transfer Agent such as Exim. Uses Berkeley DB for storage.
Exim can be configured to ask on a Unix domain socket if a message should be let through to its recipient as early as the RCPT TO in the SMTP dialogue. This script stores a triplet of the form "sending MTA IP address, sender address, recipient address" in a table with a timestamp and doesn't let a message through until a certain time has passed. This weeds out a lot of spam.
See http://www.greylisting.org/ for more on greylisting.
A trivial Perl script to create a static HTML file containing a directory listing with descriptions of each file, somewhat like the file areas on the bulletin board systems of old. The very list you are looking at was, of course, created with it.
A Perl script to save and label a game of Nethack to be continued later. Note well that this is considered cheating by many Nethack players. Will only work if you have write access to the save directory and have Berkeley DB installed.
The corresponding Perl script to get back your saved Nethack games when you have saved them with nhsave. The same warnings as above apply.
The News Administrator's Friend (NAF), a CGI script and Perl module to manage the Access Control Lists of the INN News server, as modified by me. See below.
I hacked the INN News server to support Access Control Lists for newsgroups on a per user level and to use Berkeley DB for user administration. It also contains From line rewriting on postings with the address taken from the authenticated user.
This release fixes a bug where a data item in a table wasn't always NUL terminated. It also includes a better installation description (INSTALL-ACL) and some test programs.
First release of my patched INN News Server. See above.
This is a horrid but fun example of an in-process cooperative multi-tasking scheduler using GNU C label addresses, local stacks and a process table that was the result of a discussion at work during the spring 2004. It can, if you are perverse enough, be used as of very low overhead threads or co-routine implementation.
The CTWM window manager for the X Window System as patched by me. My small patch makes workspace switching faster, especially on slow displays. My version also corrects some small bugs.
A slightly hacked version of ledbiff, a program to tell you that you have mail by lighting a LED on your keyboard. For the X Window System.
A Papercut News server distribution with an added backend module for the Gnuheter (http://gnuheter.com/) Slashdot like news site, based on PHPnuke. You need Python >=2.0 to run this. It's not finished, but you can read and post to the discussions with a News client, if you have some sort of direct access to the MySQL database.
A collection of some simple tools in C that go through a tcpdump (see http://tcpdump.org/) compatible pcap file and displays some statistics. Includes a small multiplexer 'mux' that can insert multiplexed packets from several flows captured in files into the network at the specified bandwidth. Useful for testing and stressing networks. Note: Doesn't seem to work with modern version of the libraries. Needs work.
A proof of concept Payment Service Provider System in Python I wrote in February, 2000.
It's a rather simple proof of concept written in Python that uses simple HTTP requests for the entire seller - payment system - consumer transaction.
The scenario it covers is that a seller has an online catalogue where the consumer chooses what to buy. Both contact the Payment Service Provider who handles the transaction. Think of it like Paypal or, well, VISA or Mastercard.
The system includes both the seller side and the Payment Service Provider side.
It also includes a simple performance test that makes 1000 transactions as quickly as possible. Using the Python HTTP server integrated version of the system, this currently means about 0.02 seconds per transaction on my server (with fully active users, active external HTTP server, et cetera).
It is entirely based on the simple CGI mechanism and all transactions occur over ordinary HTTP. It comes in two flavours: one is a pure CGI version that hooks into an existing HTTP server and one is where the CGI scripts are integrated into a Python HTTP server.
Forth Virtual Machine, a small virtual machine in C that was meant to be a part of a much larger game. You might be interested in looking at my use of the dreaded computed goto.
This is a patch to an old Linux kernel (2.0.9) to make the Decision PCCOM8 multiport serial card work. The patch and the text describing the card was written by Christer Weinigel and myself. This is likely not very useful, but the text describing the card might come in handy if you find one of these cards.