code

these are small scripts and large programs i've written that are at least halfway suitable for public use.

all code is bsd-licensed unless otherwise specified in the source file(s).

dbus-itunes 1.4 (ruby) (2008-01-14)
while running in client mode on a mac, use ruby's applescript support to talk to itunes and get new track data, forwarding it to a server running this script in server mode which then sends it to the dbus notification daemon. requires the appscript ruby module on the mac client, and the dbus ruby module and a dbus notification daemon on the server.

dbus-pidgin 1.3 (ruby) (2008-02-01)
a dbus notifier that watches pidgin dbus events and alerts of signons, signoffs, and new instant messages (but only while the conversation window is not focused). requires dbus support in pidgin, a dbus notification daemon, and the dbus ruby module.

flickriginal 1.1 (greasemonkey) (2009-04-02)
a greasemonkey script to run on flickr.com user pages (not individual photo pages) that adds a "view original" link under each photo to jump directly to the full size view.

imapbiff 1.11 (perl) (2009-06-18)
an imap checking utility that uses growl on mac os x or dbus on x11 systems to notify the user of new mail with the sender's address and subject of each new message. supports ssl and multiple mailboxes on multiple servers. requires the third party Mail::IMAPClient and IO::Socket::SSL perl modules, and the growl notification system on mac os x or the third party Net::DBus perl module on x11-using platforms.

itunes-rsync 1.5 (ruby) (2009-01-27)
rsync the files of an itunes playlist with another directory, most likely a usb music device. requires the rubyosa gem ("sudo gem install rubyosa")

kawfilter 1.4 (greasemonkey) (2009-04-06)
a greasemonkey script to run on kawf-powered forums and hide/ignore posts made by a list of users, optionally collapsing the replies to them, as well as hide posts made by any user matching certain subject lines. configuration of filtered usernames and subjects must be done in the script and is not very user-friendly.

loginfo 1.20 (perl) (2007-01-18)
loginfo.pl a cvs loginfo script to handle changelog writing and emailing, similar to the log_accum script included with cvs, but not nearly as hideous. also supports emailing diffs and rdiff/cvsweb information.

movelock 1.4 (c) (2009-02-01)
an application to watch the accelerometer present on the ibm thinkpad x40 (among others) under openbsd and run an application, such as "xautolock -locknow", when too much movement is detected. useful for preventing paranoid fantasies about someone stealing your laptop from your desk and trying to run away with it.

pixelclock 1.8 (c) (2009-03-09)
a small X11 clock that shows the time along the side of your screen in a graphical format, without numbers. see this post for more information.

qconsole 1.4 (c) (2009-02-01)
a utility to wrap around xterm and provide a "quake"-like console that is always available. scrolls on and off screen with control+o. see this post for more information.

rotate_handler 1.2 (bourne shell) (2008-02-17)
handle screen rotation button press on x61 tablet

tcpdump_all 1.1 (perl) (2008-08-20)
run tcpdump (with any args passed) on all interfaces at once and aggregate the output to a single screen; most useful on a router/bridge to monitor traffic in one interface and out another


unmaintained code

the following code is no longer maintained for one reason or another. i probably have no use for it, no longer use the operating system it was written for, or just don't like looking at the code.

blueping 1.7 (c) (2009-02-01)
a command-line utility for mac os x that monitors a given bluetooth device by attempting to connect to it every so often and optionally executes specified commands when the device comes into range and/or leaves range. useful for locking the screen when you walk away with your cell phone, or launching isync and performing a sync when your cell phone is near your computer.

pbs 1.13 (perl) (2005-12-18)
a simple pop/imap-before-smtp daemon for postfix and popa3d or dovecot written in perl. includes a pruning mode to routinely clear out old entries via cron(8). requires my patch to popa3d to include remote ip addresses in its syslogging if using popa3d, nothing for dovecot.

pingar 1.6 (perl) (2006-02-13)
a tiny network monitoring tool written in perl that pings a defined list of devices every so often and sends e-mail alerts when they don't respond in time (and then again, when they do). supports dependencies so it will skip testing and alerting of devices that depend on a down device being up. written at dave's house in a race before he could install and configure nagios.

pwcheck_radius 1.10 (perl) (2005-12-18)
a sasl pwcheck daemon to accept authentication requests and check them against a radius server, suitable for smtp authentication. written entirely in perl; features privilege revocation. requires the third-party MD5 perl module.

tftp-proxy 1.6 (c) (2009-02-01) (imported into openbsd on 2005-12-28)
a tftp proxy for openbsd's pf. similar to ftp-proxy.