tummy.com: we do linux

Open Source Software

Major Packages

wifiroamd: Automatic wireless network engine

wifiroamd is a background process which can be easily configured to do a rich (and customizable) set of operations for bringing up your preferred wireless networks. It is a command-line tool, that is usable by anyone comfortable with unix-like configuration via config files and simple init.d-like scripts. It would make a great engine for a graphical wireless management tool.

JOTWeb: Web Programming Framework

JOTWeb is the software that runs our website. It is a system for developing dynamic web pages using HTML markup, TAL for templating and Python for programming. I like the simplicity of the markup style, and the power of having real Python programs available to create content. TAL is an component of the Zope system written by Fred Drake. JOTWeb provides a good example of how TAL can be used independantly of Zope.

radiusContext

radiusContext is a log analyzer for RADIUS servers. RADIUS is used by ISPs

DRBDLinks

A program to manage making and restoring links in a Linux HA cluster using DRBD. When the shared cluster drive is mounted, certain files and directories are moved aside and links are created into the shared partition.

FreeBSD Port of Linux HA

A port of the Linux HA program to FreeBSD.

Minor Packages

Email and Qmail Related

tumgreyspf is an external policy filter for Postfix which does Greylisting and SPF lookups on incoming e-mail. It uses the file-system for storing greylist data and configuration information, so it doesn't rely on any database packages or suffer from database corruption.

mailman-clamav is a Mailman Mailing List Manager handler which allows incoming messages to be scanned for viruses and automatically held or discarded if the message is identified to be a virus.

autoarch is meant to allow easily setting up mailing list archives. Once set up, e-mail sent to "user-autoarch-archivename@domain.com" will automaticly create the archive (if it doesn't exist) and add the message to it. An HTML index will be created, up to date as every message comes in.

qmail includes patches to the qmail mail transfer agent.

qmaildef is a program that automatically creates ".qmail-extension" files when an e-mail comes in for "user-extension", allowing it to be obvious what extensions you are getting mail for, and allowing you the opportunity to easily handle different extensions in their own ways.

mail2db is a proxy which archives all incoming and outgoing mail to a database.

postfix is for postfix-related things. Currently it just has a "makefile" in it which can be used to automate the task of updating databases and reloading postfix when config files are changed.

Other Python Programs

python-memcached Python client library for working with the memcache server.

python-vim is some tools for writing python code in vim.

fileinfo.py is a convenience module for testing file access permissions with Python.

sockserv is a Python Socket library.

filterinput.py is a helper class to build filters and other routines similar to the Perl

"while (<>) { if ( /regex/ ) }"
-type loops.

jlock.py is a module for doing file locking in a safe way.

netstring.py is a module implementing DJB-style netstrings (http://cr.yp.to/proto/netstrings.txt)

pydentd is a simple Python-based ident-faking server. It's for systems which require ident responses for some services, but you don't want to set up ident.

The Python access patch is: A patch which implements the POSIX access() and ttyname() methods. It's been accepted into the base Python distribution.

python-chap implements CHAP-like authentication for sockets and other access streams. CHAP is a standard challenge-response scheme where both sides have a password, but they authenticate each other without revealing that password to anyone who may be listening.

tail.py is a module for watching when files change and processing the new lines.

areacode is a program that, given an area code, tells you where that number was assigned.

cccheck is a module for validating credit card numbers in Python.

System Administration and Linux Related programs

fwrestart is a program that safely restarts the firewall if you are logged in over the network, ensuring that you don't lock yourself out.

rebootonpanic is an Init script to enable reboot on panic. This is useful if you are doing a dark datacenter, and don't want to make a trip to touch your servers if one of them panics.

sa-useradmin includes a patch for using the spamassassin CGI-based configuration tool.

setupvirtuals is a simple Python program which, at the direction of a configuration file, manages virtual IP addresses on a host. Re-running setupvirtuals after modifying the config file will add or remove aliases making the system become concurrant with the configuration file.

swalow is software for doing software catalog management and automatic download and install of software.

trestarter is a program that monitors other programs and restarts them when they die.

clockupdate updates the BIOS clock to match the system clock when run.

fscknonint is a program to enable fsck to run non-interactively on boot.

The gkrellm patch is a patch to remove some processes from the graph of CPU usage.

jivesyslog is a patch I wrote for april fools day, possibly in 1999, which causes all syslog messages to be written after being translated to jive. libjive is a conversion of the "jive" program to a library for use with other programs.

jpoll is a compatibility library I wrote for systems which do not have poll. I wrote it for lsh, IIRC.

kx is a simple shell script that extracts the latest kernel tar file and sets it up to build.

netup is a simple program for bringing up your wireless device and doing special actions based on where it detects you are. This is useful for restarting your laptop networking if you connect to different access points frequently, like if you go to different coffee shops to work.

powercontrol is a program which allows control of the IPC serial-controlled power devices.

pynetcat is a set of programs for sending data to or from TCP ports on a network, like "cat" only to a different host. It includes minimal implementations of both which are easy to type in on broken systems or when using rescue discs to get data on or off the system.

pynetd is a simple port-forwarding daemon, allowing one port on a system to be forwarded to another port, possibly on another system.

pyntar is a backup program using tar over the network. It keeps indexes of the tar files for quick extraction, and splitting the tar files into chunks for archival.

setupvirtuals -- Manage virtual IP allocation on a machine.

tcmqs -- Tummy Cluster Message Queue System. Reliably deliver "messages" among a cluster of machines.

yummir yummir is a client/server program for keeping your yum.conf file updated with lists of mirrors.

usbplugd watches "/proc/device/usb/devices" for USB device removals or insertions and then runs a script based on the vendor/product id.

Graphical programs

wordbyword is a simple reading-comprehension program.

pv is a simple pygame based python image viewer with pre-rendering of the next image for very fast switching between images.

Deprecated programs

These are included for only historical interest.

cid is a caller id program. Currently deprecated.

dipc is some patches I made for the Distributed InterProcess Communication system. I believe this project has been completely abandoned by the maintainer and has never made it into the kernel.

fileinput2.py (deprecated, use filterinput) instead.

fmg is a program to process freshmeat e-mail. It is currently deprecated.

The fvwm patch is very old, I haven't touched it in probably 6 to 8 years. It implements "cool switching" to use the keyboard for switching between windows on fvwm.:

isinglass is a firewall program for Linux. It is currently deprecated.

pySpam is a simple rule-based anti-spam tool. It has been deprecated and SpamAssassin is now recommended.