Open source software at singingtree
OSI Certified

Here is a collection of scripts and hacks that (mostly) I have written to solve various problems of mine. Perhaps they can help you solve a problem of yours, too. You may use anything here under the terms of the Artistic License, unless other licensing terms are specified in the individual source files. Everything here is OSI Certified Open Source Software.


Sysadmin stuff

active-users (Perl utility, Aug 2002)
Reads the accounts on the system using getpwent(), and prints the username of each one that is not expired. I use this to send email to active accounts only, etc.

advisorypage (Perl utility, Feb 2001)
Mail filter script that extracts significant information from a FreeBSD security advisory email and forwards it to my cell phone. Runs from procmail.

biff (Perl utility, Aug 2002)
Just another biff; stats your mail file and says "You have new mail" if you do. ssh and/or the shell and/or PAM probably already do this, but if they don't for some reason (such as if your mail file is in a weird place), it's easier to put this in your .login or .profile than worry about it.

CGI trickery

cal-translate (Perl CGI, Nov 2003)
Runs the standard Unix calendar program, and translates the output into either HTML (suitable for embedding in a web page) or vCalendar format, which can be subscribed by Apple's iCal. Lets you continue to use good old 'calendar' with the gee-whiz iCal interface.

Audio ripping, encoding, etc

transcode (Perl utility, Nov 2004)
Creates a mirror of an entire directory tree containing mp3 files, transcoding (converting) each mp3 to an m4a in the process. The output files are MPEG-4 LC AAC, the format understood by iTunes and iPod. This saves quite a lot of space (almost 50 percent), and the quality is not terrible if you started with high end mp3s. Uses madplay and faac, or hack it to use whatever decoder and encoder you want. Be sure to follow the instructions in the source code carefully.

flac-image (C utility, Jan 2005)
A tiny utility for stuffing image files (e.g. album cover art) into metadata blocks in FLAC files. Actually you could store and retrieve any arbitrary file you wanted; this program doesn't care. The tar ball contains a binary compiled on Debian Linux, but the source is easy to compile (2 files) so you don't have to take my word for it.

Silly hacks

loadavg (Perl daemon, Sep 2002)
Samples the number of emails in my inbox, then generates a plot of size-of-inbox vs. time as a visual representation of my workload or "load average." I run this once an hour from cron. Needs grep, date, and gnuplot.

dsl-ping (Perl daemon, Nov 2003)
Runs a perpetual ping every ten seconds to my upstream router, logs the results, and generates plots of DSL performance vs. time using gnuplot. Needs at least ping and gnuplot.

Copyright © 2006 Michael A. Dickerson.
Why should I care about the "PATRIOT" Act?