Seth's Geeky Projects
Most of these are ancient hacks are no longer useful, if they ever
were, but I want to do my part to clutter up the web.
things I've used in the past ten years
- A geo-data visualization tool. Not the first of its kind,
but non-proprietary and works reasonably well.
- libjpeg (8d) with image padding capability added to jpegtran. For when you want your jpegs to be larger, but you don't want to add a decode/encode cycle and the artifacts that come with it. The padded area comes out as a nice solid color of your choice, as long as you choose medium grey.
- A hacked version of xmatrix that outputs to files. I used this to make geeky start up sequences for my Android devices.
- probability calculator
- A simple conditional probability calculator. I needed to
Also, the UI for similar calculators I found out there is
terrible. The code is almost, but not quite, a
general-purpose forward-chaining inference engine.
old things I haven't deleted yet
- txt2html helps you convert plain text documents to HTML.
This was pretty useful in the early days.
- Henry Fingerprint Classifier
fingerprint classification system.
- 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.
- A fun letter/word game some friends and I made up.
- XMMS Waterfall spectrum analyzer
- Indexes everything you see so you can find it again later.
- PizzaZone helps you decide what pizza to buy. Or at least it
did, back when it worked. For years, I left the site up as a
historical curiosity with the actual recommendation system is
offline for boring technical reasons, but now even that doesn't work
and I don't care enough to resurrect it. The web site itself was
built around a finite state machine. (This was 1998, before web app
frameworks.) 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
- 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.
- 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
uses sox to do the actual audio processing.
- 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
- Discardia calculator
- A GUI front-end to grep, intended for use on handheld systems.
- (and some other BBDB related utilities)
- 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.
- A Perl script that creates index files for dictionaries suitable
- 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