David Bushong
Picture Gallery
Software Tidbits
Contact Me

Software Tidbits

Here are some of the "Things I Wrote When I Should Have Been Sleeping".


I've moved most recent stuff to my Github Page. Examples of things that used to be here but have moved are: Baagle Desktop Search, borkify, mount.restfs, rename, and unpkg.

asciitube   [ source | download ]
A small perl script that, given a youtube url, plays the video in the current terminal window as ascii art.

A small perl wrapper script to use in place of UN*X cal. It has two improvements (IMHO):
  1. it bolds the current day (if you're viewing the current month)
  2. if you pass one argument it means "this month of the current year" instead of the default "that year, all months"

camcopy   [ source | download ]
This is a Perl/Gtk script to facilitate downloading images from a camera mounted on your filesystem. To that end, it provides preview thumbnails by extracting them from the header with jhead which is very quick (compared to downloading the whole image), and does the operations (move/copy/delete) in batches, complete with a pretty little progress meter. This requires a few different perl modules (check the top of the script), a camera that supports transparent mounting on the filesystem (like most recent Olympus cams), UNIX of some type, the jhead utility, and sudo if you wish to mount and umount the camera yourself (instructions on how to set up your fstab and sudoers file correctly not included).

A perl script to label mp3s based on cddb / freedb information (or from a textfile)

Perl extension file for the "sirc" IRC client. Adds a number of features: timestamping, URL shortcutting, idle messaging, away messages, auto-return, auto-op. Just put it in ~/.sircrc.pl.

A perl script to clean up an HTML doc's tags. While not as extensive as HTML Tidy, it gets the job done, with regard to lowercasing tags and adding ""s around all attribute values.

A Ruby port of the Perl Parallel::ForkManager module.

A shell script to lowercase the names of the given files. For example, use like: lc *.GIF to turn AFILE.GIF and FOOBAR.GIF into afile.gif and foobar.gif. Does all appropriate checking to make sure existing files are not overwritten, etc etc. Really, you should just look at rename above, though.

YA (Yet Another) perl linkchecking script. This one's semi-unique features include: parallellized external link-checking, intelligent handling of broken servers like Netscape Enterprise that return 404 on HEAD requests, useful categorization and presentation of results, full regexp exclusion and server aliasing support, can follow 301 and 302 redirects or not (to avoid having your link check report filled with "/foo/bar" redirected to "/foo/bar/" messages), does configurable loop checking, does real fragment checking (make sure <a name="foo"></a> exists in the target page for URL /blah/blah.html#foo), checks mailto: addresses for validity, and can optionally follow form actions.

A port of the above to Ruby. Also requires linkchecker.rb and forkmanager.rb

The Ruby module for linkcheck

masoncw   [ source | download ]
Command line tool like perl -cw for Mason components; great for use with vim :make

Mason Gallery   [ download ]
This is the thumbnail/gallery generator I've written for use with HTML::Mason. You can try it out on my pics page, or grab the tarball from the link above and give it a whirl. I've finally released a usable version! I just added simple search to it.

A perl script that, given a URL to an HTML document with a form on it, outputs a perl script which is a command line interface to making a GET or POST submission to that page. Very handy for shell scripting.

A perl script in progrems that simplifies parallelizing unix command lines across multiple processes, making better use of multicore and multiprocessor systems with existing command line tools.

Stat::FS   [ download ]
A perl module interface to the (f)statfs system calls. Here's the README.

stream   [ download ]
A hack of Peter Housel's "vid" program for capturing frames from OV511-based WebCams (like the Logitech WebCam3 I use) to stream JPEGs instead of snapping single PPMs, as well as a small perlscript to stream the output to multiple connecting hosts. Read: streaming videocam.

Quick Perl script to do the equivalent of grep -r in an SVN checkout, while avoiding .svn directories.

xbuffer.c   [ source | download ]
Small X11 program to print the contents of the X cut buffer onto standard output.

An X11R6 clone of WarCraft II, about 20% done. (You can build barracks, town halls, and farms, mine gold, chop trees) It's pretty cool.. if nothing else, check out the screenshots. In practice, someone else is much further along with this.

Web Dial
A bookmarklet hack to let you dial phone numbers via DTMF tones directly from Firefox