hoopajoo.net
Quick Scripts
This is a collection of quick scripts I wrote for various purposes, that don't really qualify as projects or anything but may (or probably not) prove useful to someone out there.

ablum
(10.86 k)
My ablum script I use to generate on-the-fly image galleries with support for online comment editing and image conversion
add_license
(12.38 k)
Adds licenses to source files such as the perl license or gpl2. It can auto-identify the source type and insert the license according to the proper commenting type, or the type can be explicitly specefied. Won't add the license if it's already present either. Great for tagging up a large directory of sources that you didn't put the license header in. Currently supports gpl2, perl, and mpl licenses. Also supports creating external license files so that any license can be used not just the internally supported ones. Added a small 'consultant' style license too.
builddict
(1.87 k)
Builds a dictionary tree for use with spelldown
crypt
(1.11 k)
I got tired of using perl -e 'print crypt( "foo", "salt" )' so I wrote this. It can use random salt if none is supplied, or if you're testing passwords it can also use a selected salt.
dbexim
(1.92 k)
Exports/imports dbm files to plain text. Useful to move files across platforms or to make plain-text backups of dbm files in case of disaster. Not very complicated, but works for me.
dbexim2
(2.01 k)
Updated dbexim, uses a flat text file format because Data::Dumper reads the whole file in to memeory, which can be bad for db's that are very large.
flat_ispell
(2.14 k)
Used to flatten an ispell dictionary, adding back all the ings/eds/etc. Used to create the ispell_words.gz file here
imageopt
(1.34 k)
Runs jpegtran -optimize on a bunch of files, and optionally can resample the jpg files as it goes too.
ispell_words.gz
(380.28 k)
Flattened ispell dictionary file, with all the ings/eds/etc for use with any program that needs a pretty comprehensive word list without all the crap in the more general dictionaries.
lpr
(2.46 k)
This is an lpr wrapper script. I use it because my printers at work and home are different and I use my laptop at both places. Which might be fine, but some apps (ahem... mozilla) don't let you choose what printer to use, they instead use the default. So this will pop up a list of printers using the gdialog application, so you can choose any printer from /etc/printcap whenever anything is sent to lpr, and it will modify the args and pass them on to the real lpr.
makeconfigdist.sh
(0.87 k)
Similar to the makedist.sh, but for autoconf style programs
makedist.sh
(1.33 k)
This is the bash script I use to create my perl distribution archives. It's also integrated w/ cvs so it will automatically tag the source if you like as well, and uses cvs2cl to create an automatic changelog. Probably would need some editing to be usable for anyone else.
makemiscdist.sh
(2.06 k)
Like the other makedist things, but for misc distributions that aren't based on automake or Makefile.PL, it uses a couple dotfiles to name and configure the archive
mkcdbackup
(5.25 k)
Makes multiple ISO images for a set of files/directories. Does not compress them, leaves everything in the original format, so that retrieving files is a lot easier. I know it wastes space, but CD's are so cheap, and the other CD backup programs did all sorts of tricks to split archives over multiple CD's and you needed the program AND all the CD's to recover. This way, it's readable anywhere.
mkimagesheet.pl
(4.31 k)
Creates a .tex file and a bunch of thumbs from a directory of images. Sort of like making contact sheets of images, I use it with the screen grab program which I grab shots of websites that look cool with, and then put them on sheets for reference when making new websites.
mktoms
(1.13 k)
Script to download the latest version of tomsrtbt and create a bootable ISO, which is basically what I have in the projects section, except now you can make it whenever you want
mm
(3.13 k)
A simple mass mailer in perl, I use it to notify lots of people when I have a bunch of people to mail but don't want the list to be disclosed. I know, I probably could use BCC, but I didn't want to.
msrvtest
(2.10 k)
This is a script to help debug mail server problems. It lets you specify a server and to address, then it outputs the whole SMTP transaction while it tries to deliver the mail, letting you see what all the error codes are.
partialdupes
(3.14 k)
Find duplicate files based on partial MD5 sum hashes, with the option to delete the files after listing them. I use it to clean out my MP3 directory, because sometimes you have the same song but you'll have like half of it, then a file with the whole thing. This will find those files and report them, hopefully allowing you to free up some space.
Probably could be used for any other kind of large-download situation, like DivX ;-)
phone-a-gram
(7.73 k)
A little perl script to find words in your phone number. Can also search a dictionary if provided and has support to use q and z even though they aren't on most phones.
procdiff
(1.71 k)
Useful to tell if you've been rootkit'd. It compares the output of 'ps' to what's actually in /proc/*/status
recdiff
(2.06 k)
Recursively diff's two directories. I used it recently to sync up a bunch of COBOL code.
sigmaker
(4.11 k)
Sig generator, generates a .signature file from a random list of taglines and a common base format that may include name, title, etc. Easy to set up and no dependancies, can run in daemon mode to continually write sigs to either files or FIFO's. Also can be set to only write a new sig if the old sig has been accessed, so that mail agents like Mozilla can be used with it somewhat more efficiently than just throwing a sig out every second since Mozilla Mail can't read FIFO's. Also uses a shuffled array for selection of sigs, so that repeats do not happen until all sigs have been used. Recently modified to use nanosecond atime checks so that it works in daemon mode on newer (2.6.30+) linux kernels that set relatime as the default.
sigmaker.sigs
(29.57 k)
Sample sig file for sigmaker, has several computer related and geeky sigs
spelldown
(16.77 k)
Cheat at Spelldown from Yahoo! Games using this perl script. Requires builddict to make a dictionary which is used to find word combinations from letters, and sort them by score and bonus time. Try the demo here to get a feel for it. You may also want a copy of the ispell_words.gz flattened database for use with builddict.
testmailer
(2.43 k)
Used to send mail through other peoples servers, for testing bounces and such.
today.pl
(3.07 k)
A script that reads a config file and prints out a list of checkboxes based on the date. It can select things by day of week, day of month, or month and day of month. I use it at work for daily jobs like when to swap backup tapes, etc, and when to set flags or what special reports to run at certain times of the month. I use it at home to remind me of things like when to put the trash at the curb, or when it's bill-paying time of the month. The checkboxes make it handy so you can print it out and initial each line, so you know you did it.
tolower
(1.01 k)
Converts all files in a directory to lower case names
xgrab.sh
(1.27 k)
I bound this to a hotkey, uses convert and gdialog to allow you to make screenshots. It will prompt for a name, and if no name is given, default to the current timestamp. It can do both window and fullscreen shots.