Most of the software listed here, I've touched in some way. Usually it's been a typo or simple bug fix, and other times, I've contributed large pieces of code. I'm usually messing with so many different pieces of code, I started a codeblog to record all my thoughts.

Stuff I've written

  • MythTVfs is a FUSE module designed to communicate with a MythTV backend server. It creates an overlay filesystem that encodes TV program metadata into filenames on the fly.
  • srcfilter is a program that can run under Wine to read files through Windows SourceFilter DLLs.
  • mpegparse is a C library for parsing MPEG2 files. This lets a programmer easily split audio from video, find DVD SPUs, and generally analyze MPEG2 file structures. Included is a simple demo tool "mpegcat" used to dump structure details.
  • VHOST Log Rotator is a quick Perl script that processes Apache config files to find all the logs associated with Apache (including all vhosts) and rotates them similar to host logrotate would, but without having to individually list each file.
  • PayPal IPN Agent is a PHP class written as an interface to PayPal's IPN system. It does full SSL verification, stores IPN data into a common database, and launches external triggers.
  • sysconf is a command-line interface to the POSIX "sysconf", "pathconf", and "strconf" system calls.
  • reresolv is a Perl tool that implements a Net::DNSServer, acting as a Realtime Blackhole List (RBL) server, rejecting hosts based on regular expressions against either IP or DNS name, rather than on traditional individually added IP addresses.
  • maxcpu is a Perl script that executes commands read from STDIN on as many CPUs are available, similar to "make"'s "-j" option.
  • MP3 CD is a Perl script that implements the conversion methods described in the MP3 CD Burning mini-HOWTO.
  • BattleField 1942 Remote Console is a short Perl script that lets you communicate with a "BattleField 1942" server console.
  • keesmage the image lister/resizer was written to replace the generic apache Index for a directory filled with files. Handy for bulk collections of files when you don't want the overhead of PHP Gallery, but you have ImageMagick installed.
  • IRC dccserver in Perl. This implements the mIRC-like dccserver tool in Perl.
  • Linux EPROM Programmer is a quick bit of software (and hardware design) to control a home-made EPROM programmer.
  • gopchop is a MPEG2-PS GOP-accurate editor written using the GTK+ toolkit. It's not the fastest thing around, but I couldn't find any tools under Linux that would let me cut commericals out of my captured MPEG2 files.
  • TIGER/Line tools for parsing and handling US Census geographic data files. Eventually, this will become a generalized mapping/routing/GPS application for Linux.
  • Linux driver for the Central Data/Digi SCSI Terminal Server. This lets anyone running Linux use the SCSI Terminal Server products available from Digi (formerly Central Data). It is a large patch against the existing Digi EtherLite driver.
  • Device::SerialPort is a Perl module to bring full serial and modem functions to Perl. Sendpage uses this to do all its work.
  • Sendpage is on the way to being one of the more reliable modem-paging tools available. It's development fell by the side of the road for some time, but I've started rewriting it in Perl.
  • GSH is an advanced parallel tasking tool to allow fast access to all your machines via a trusted SSH key. VERY handy for distributed system admistration tasks. I apologize for the gross lack of documentation. I really will fix that some day.
  • imaverage is a perl/mysql tool for databasing a large collection of images and finding a user's favorites based on view-time. Could be used in psych experiments, or something. Yeah.
  • Various general short tools and toys. These things do all kinds of crazy stuff, and are generally out of date.

Stuff I've mucked with

  • ScanTool.net provides a great vehicle-bus/RS232 converter, along with software to read sensors/codes. I sent a patch to make it easier for folks to compile it for Linux. 2005-08-25
  • DZComm is a multi-platform serial port library that ScanTool (above) uses to talk to the hardware. I added USB device support by disabling the various TIOCSSERIAL calls. 2005-08-25
  • Snort is the best Intrusion Detection System around. It can also be used "inline" as a kind of firewall. I added the ability to track session age so that long-running TCP connections could be found and filtered. 2005-07-28
  • Ettercap is a great network analyzer that lets you do all kinds of nasty things to your friends. I added connection age tracking to see how long a connection has been around and a TTL watching plugin. Both would have been very handy at DefCon CTF if it was still a network defense game. 2005-07-20
  • Wine is a great Window emulator system. I implemented some missing crypto functions and learned a ton about Wine while doing it. 2005-05-16
  • UseModWiki is simple Perl-based Wiki tool. I added an edit password to help reduce spam posts. 2005-03-28
  • ProcMake is a GNU make wrapper than spits out a progress bar. I added simple sliding window time-to-finish estimates. 2004-11-27
  • Orbital Eunuchs Sniper is a fun little game where you shot bad-guys from orbit, trying to defend your VIP. I added some patches to clean up paths and do some better error handling. 2004-10-24
  • OpenSSL is the foundation for all sorts of fantastic crypto. I added "imap" and "smtp" protocols to the "-starttls" option in the "s_client" tool. I got to send a TSU Notification to the government, too. 2004-10-17
  • Inkscape is a great SVG editor. I like to think of myself as the code janitor. I wander through the code at random, fixing up any little bugs I find, applying submitted patches, etc. I added initial RDF support, too. 2003-11-20 ...
  • OpenSSH is an open source version of the SSH protocol. I found a bug in how the scp progress bar updated itself. 1999-11-11 I added version configurability to sshd's protocol banner. 2004-01-07
  • Marco d'Itri's whois is much nicer to use than RIPE client. I added a little more error checking and generalized the disclaimer hiding, and added the ability to have arbitrary referral handling. 2003-12-28
  • mozplugger is a plugin handling tool for mozilla. QuickTime pulled some dumb tricks and added the "QTSRC" tag to be used instead of the normal "SRC" tag. I added QTSRC support. 2003-12-20
  • intltool is a tool to help with i18n "gettext" support. It was not paying attention to the AUX_DIR setting. So I had to teach it how. 2003-12-12
  • mkdvd is a great step-at-a-time script for converting multimedia formats into a functional DVD filesystem image. I wrote some short patches against version 1.21 to select the number of CPUs to use while encoding, and fix the "--bitrate" and "--fontsize" options to not be ignored. 2003-11-02
  • iroffer is great for IRC. I added a few features to make administration easier. 2003-04-20
  • sdist builds Perl package templates. Really handy for jump-starting any set of scripts or libraries that you want to redistribute. I fixes a few cosmetic errors in the templates. 2003-04-05
  • mencvcd will build and burn VCDs from anything that mplayer can play. Very cool script. I fixed a bug where video bitrates weren't being set correctly. 2002-10-31
  • IRFC is an Infrared File Chooser. Basically it's hooked up to the Linux IR library, and I can move around on my filesystem and select files I want to watch/hear. This thing runs on a computer hooked to my TV. Great software! After using it for a while, I improved the input routines, navigation, and list size. 2002-03-04
  • JobTracker is a PHP tool for tracking work and generating invoices. I use this every two weeks for cutting bills for my customers. I fixed a few small bugs, added a "US" English translation, and made the date display format configurable with this patch. 2002-01-10
  • The common man tool for documentation formatting needed a small improvement in error reporting during the "makewhatis" processing. 2002-04-21
  • MPlayer is a fantastic movie player for linux, but it doesn't support DVD navigation the way Ogle does. I've spent some time trying to hook in the Xine DVD Navigation Library, and trying to reverse engineer the API to the Real Player libraries. Luckily, someone with much greater skill finished that project. :) 2002-03-22
  • The Linux RAID drivers needed a non-boot-time method to bring up RAIDs similar to the boot-time auto-start kernel hack. I had a Firewire RAID that I need to autodetect since it was not always coming up with the same disk order. Neil Brown was nice enough to show me the RIGHT way to do things with his mdctl which is a much cleaner solution. 2001-08-03
  • The Linux Kernel needed a few subtle changes to the SCSI driver. So now my name will be on millions of hard drives around the world! *evil laugh* 2000-09-04
  • Mister House is a Perl-based home-control system. It can use X10 devices, caller-ID, voice recognition, text-to-speech systems, and more. I've been sending various random patches for some subtle improvements to things like caller-ID, Festival initialization, and forced pronunciation. 2000-05-04
  • XShipWars is an object-oriented space game engine. Very cool and very pretty. I enabled Esound support for version 1.28 with this patch, even though it still needs MIDI support and unloading code. 1999-12-30
  • Meme is a fantastic neural net system designed to learn text phrases. I submitted a patch against version 4.4 to add error handling, and fix up all the #include lines. Resulted in version 4.5 being released. :) (Here's a local copy of 4.5.) 1999-11-29
  • Sersniff is a tool for examining a serial (or TCP) session as it happens. I added a bunch of error-checking, and command-line interface that got included in the 0.0.2 release. I additionally have a patch against version 0.0.2 to add "select" and timing info to it. 1999-12-10
  • gphoto is used for pulling images off of digital cameras. I worked on improving the Sony DSC F505 driver ever so slightly.
  • LinLogFS is a Linux Logging Filesystem project that might actually get finished. (As opposed to my own.) I've been sending the author suggestions, but he's really thought the whole thing out a lot better than me.
  • mutt is the best email client in the world. Most of my patches and features got glossed over in newer versions, but I did send stuff to the devel list that got put into the code. :)
  • Battalion is a fun little game. I ported a version for PPC AIX a while back while I was bored one summer.
  • wreq is the best Web-based task-tracking tool I've used. Besides various bug fixes, I've been sending the author syntax patches and ideas for improving the tool's flexibility. 1998-07-08
  • mp3info is a tool for extracting information from an mp3. I sent the author a slightly broken mp3 that mp3info choked on.
  • tk3play was the best mp3 player/playlist tool I'd found for X before XMMS existed. The only thing it's missing is a graphical display of the sound waves... and that isn't the menu's job anyway. I sent in a few bug fixes, and wrote a patch to make full pathnames to mp3s visible.
  • XGS is an Apple ][gs emulator for X. Really cool. Seems that the site is down right now. Since XGS is pretty cool, I put together my own collection of files. I wrote a raw sound driver for HPUX. There's a giant list of disks available for download now (2004-12), too. 1997-08-26


 Self Links 

 My Family 

 Other People 

 Other Links 


Linux Penguin
damn straight, it's powered by LINUX


If you want to send me junk email please use the address flyaway@outflux.net and it will be dropped by my filters.