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"
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.
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
- 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.
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.
- 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.
- 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.
- 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.
- Wine is a great Window emulator
system. I implemented some missing
crypto functions and learned a ton about Wine while doing it.
- UseModWiki is
simple Perl-based Wiki tool. I added an edit password to help
reduce spam posts.
is a GNU make wrapper than spits out a progress bar. I added
simple sliding window time-to-finish
- 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.
- OpenSSL is the foundation for
all sorts of fantastic crypto. I
"imap" and "smtp" protocols to the "-starttls" option in the
"s_client" tool. I got to send a TSU Notification
to the government, too.
- 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.
- 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.
- Marco d'Itri's whois
is much nicer to use than RIPE client. I added a little more
error checking and generalized the
and added the ability to have
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.
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.
- mkdvd is a great
step-at-a-time script for converting multimedia formats into
a functional DVD filesystem image. I wrote some short patches
1.21 to select the number of CPUs to use while encoding, and fix
the "--bitrate" and "--fontsize" options to not be ignored.
is great for IRC. I added a few features to make
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.
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.
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
the input routines, navigation, and list size.
- 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
- The common man
tool for documentation formatting needed a
small improvement in
error reporting during the "makewhatis" processing.
- 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
Navigation Library, and trying to reverse engineer the API
to the Real Player libraries. Luckily, someone with much greater
skill finished that project. :)
- 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.
- The Linux
Kernel needed a few
to the SCSI driver. So now my name will be on millions of hard
drives around the world! *evil laugh*
- 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
and forced pronunciation.
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.
- Meme is a fantastic
neural net system designed to learn text phrases. I submitted a
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.)
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
against version 0.0.2 to add "select" and timing info to it.
- gphoto is used for pulling images
off of digital cameras. I worked on improving the Sony DSC F505
driver ever so slightly.
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. :)
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.
- 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.