Seth's Geeky Projects

Nothing is ever really finished, but some things are useful and stable enough to merit distribution, or at least not to embarrass me. Most of these are petty little hacks.

Non-Small Things

txt2html
txt2html helps you convert plain text documents to HTML. This is a big hack that makes a medium dent in a huge problem.
RARB
RARB helps you decide what a cappella music to buy. There's no magic software here. We use actual people to review the music.
Stone Soup Scavenger Hunt
Like a normal scavenger hunt, but no one is in charge, and the value of an item depends on how many teams find it.
Wordsprout
A fun letter/word game some friends and I made up.
XMMS Waterfall spectrum analyzer
Now you can see your music!
autojot
Indexes everything you see so you can find it again later.
PizzaZone
PizzaZone helps you decide what pizza to buy. Or at least it did, back when it worked. I've left the site up as a historical curiosity, but the actual recommendation system is offline for boring technical reasons. The web site itself is built around a finite state machine. The recommendation engine used genetic algorithms, and the objective function involved a simulation of people taking turns choosing slices until they were full, greedily trying to maximize their individual happiness according to heuristics that considered their preferences for specific toppings as well as a desire for variety.

Minor Hacks

grepui
A GUI front-end to grep, intended for use on handheld systems.
torso[link to here]
This is a line filtering utility similar to head and tail, but it prints lines from the middle of input files. You give it a starting line and either and ending line or a total length. It can process multiple inputs, handling them individually or concatenating them.
untar[link to here]
I hate when I untar something and it spews files into my current directory. For a long time my solution was to be in an empty directory. Now I use my untar script. It peeks into the tarfile (even if it's compressed) and untars it into a subdirectory if it thinks it's not going to be well behaved.
tkspools[link to here]
A Tcl/Tk mail notification gizmo that deals well with lots of spools files. Each spool is listed in a separate widget with a predictable name. That lets you use X resources to easily mess with a particular spool's appearance and bindings. In my own configuration, I bind the middle button to bring up the the right thing my mailer.
dtmf-decode-single[link to here]
A small perl script that decodes a single DTMF tone. That is, you give it an audio recording of you pressing a button on your phone, and it tells you which button you pressed. It can't handle sequences though, only single tones. (For sequences, see dtmf-decode-continuous.) It uses sox to do the actual audio processing.
dtmf-decode-continuous[link to here]
A perl program similar to dtmf-decode-single, but attempts to decode a stream of tones, which is usually what you really want. The segmentation is a bit flaky, but if you're in a hurry and don't want to segment the input manually, this might work.
bbdb
(and some other BBDB related utilities)
butler
some Lojban dictionary hacks
make-dict-index[link to here]
A Perl script that creates index files for dictionaries suitable for dictd. This is also in the Lojban tools listed above, but it's of general use too.
cdash

Other silly things

Chrons
Chrons are metric time. I hate hours:minutes:seconds; I think that's as stupid as miles:yards:feet:inches. I was once decent at doing conversions to and from chrons, but that skill has since atrophied.
Gnocatan Graphics
I made new graphics for Gnocatan.
Discardia calculator