banner (source): Classic-style banner program similar to the one found in Solaris or AIX. The banner program prints a short string to the console in very large letters. Also a good example of a very small autoconf-enabled program (although it uses an old and out-of-date version of autoconf). Written in ANSI C. This is the default banner implementation on some Linux systems, such as Gentoo.
c-stats (source): Acts on C or C++ source files and returns metrics related to the files. Returned metrics include overall lines, actual LOC (lines of code), number of comment-only lines and number of non-comment whitespace lines. Written in Perl 5. You may also be interested in py-stats, below.
change-string (source): Searches through a list of documents for a strings matching a Perl regular expression, and replaces the matching strings with a constant pattern. Useful when (for example) changing the copyright or author in all files in a given directory. Written in Perl 5.
gallery-extract (source): Extracts Gallery (v1) albums into a directory and generates a printable index including captions. I use this when I want to put an album or albums onto a disc to show on a TV using someone's DVD player. It's tedious to copy the files by hand, so this script parses the Gallery data files, dumps the pictures into a directory, and renames them so the correct viewing order is obvious to the DVD player. Based on the script php-deserialize.pl by Bharat Mediratta. Written in Perl 5. Previously known as extract.pl.
gmailwhitelist (source): Generates an email address whitelist based on gmail data. It uses libgmail for connectivity. The gmail whitelist will contain all email addresses from your gmail contacts and all To, CC, and BCC addresses in your gmail sent items folder for a configurable number of days in the past. Written in Python (requires 2.4 or better). You may also be interested in whitelist, below.
gtml.vim (source): This is a Vim syntax file for the GTML HTML-preprocessor language. To use it, place the file in your ~/.vim/syntax directory, and use :set ft=gtml.
kgrep (source): kgrep searches through a file or files for a specified pattern and displays the target line containing the pattern as well as a certain number of lines on either side of the target line. GNU grep does provide this functionality with its -A, -B and -C switches, and similar functionality may be available on some platform-specific grep implementations. The main advantage to kgrep is that it is small, and can be easily used on any system that has Perl5 installed, as an alternative to building and installing the GNU grep binary. Written in Perl 5.
muttsearch (source): Wraps grepmail in a way that is easily called from a Mutt macro. For instance, use:
macro index S "muttsearch " macro browser S " muttsearch " macro pager S " muttsearch "
to call the script. Only works on mbox files, not with maildir. Written in Python (requires 2.1 or better).
mutturl (source): This script provides a target for urlview. It searches out commonly-installed browsers on your system and provides you a list to choose from (the list varies depending on whether $DISPLAY is set, i.e. on whether you are running an X session). Place:
COMMAND mutturl '%s'
in your ~/.urlview file to use this script. Written in Python (requires 2.1 or better).
mysql.vim (source): This is a Vim syntax file for MySQL syntax. The file covers version 3.23 MySQL syntax (which is a bit out-of-date) and highlights all MySQL keywords and functions and most operators. To use it, place the file in your ~/.vim/syntax directory, and use :set ft=mysql. This file is now officially included in current Vim releases.
photocopy (source): Makes greyscale photocopies to a printer using a SANE-enabled USB scanner. You will need to change the $PRINT variable to match the command-line for printing on your system. You may need to make other tweaks if you have more than one USB scanner. Your printer or print queue manager (i.e. CUPS) must support Postscript. Written in kshell.
py-stats (source): Acts on Python (*.py) source files and returns metrics related to the files. Returned metrics include overall lines, actual LOC (lines of code), number of comment-only lines and number of non-comment whitespace lines. Written in Python (requires 2.3 or better). Based in part on code by Leif K-Brooks, as documented in the code. You may also be interested in c-stats, above.
rcsinfo (source): Provides information about what files in a directory are checked out in RCS. The information is essentially a filtered and prettied-up version of the rlog output. Written in Perl 5.
secret-santa (source): A "Secret Santa" exchange is one where a group of a people get together and each exchange gifts with one other person from that group. The exchange assignments are supposed to be secret, so that no one knows ahead of time who they will get their gift from. This script reads a configuration file and generates email assignments for a Secret Santa exchange. Written in Python (requires 2.2 or better).
span (source): Utility that "spans" (or partitions) the files in a directory into one or more sets of files, where the size of each set is as close as possible to a given capacity. When the spanning process is complete, the program writes the set definitions to disk to be used later. Four different knapsack algorithms (first-fit, best-fit, worst-fit and alternate-fit) are available to vary the method used to fit files into the sets. Written in Python (requires 2.1 or better).
whitelist (source): Processes one or more hand-maintained lists, Mutt-style addressbooks or mbox sent-mail folders and merges them into a single email whitelist. The whitelist will contain unique emails from among all chosen sources, including all To, CC and BCC emails from the messages in the sent mail folders. It is useful for mail processing using procmail, and some instructions are included. Written in Python (requires 2.4 or better) and also requires the formail utility. You may also be interested in gmailwhitelist, above.
WordUtils The WordUtils Python package provides objects related to word searching and matching. The eventual goal is to develop a suite of objects that are suitable for building word games in the tradition of Scrabble™. See its project page for more information.
xcf2png (source): Combination of a shell script and a Gimp script-fu script that converts Gimp XCF files (i.e. native Gimp files) to PNG format. Place the script-fu script in your ~/gimp/scripts directory before running the shell script. Based in part on a different script with the same name by Rik Hemsley, as documented in the code.
Unless otherwise documented in the code, all software in this repository has been released under the GNU General Public License and is copyright © Kenneth J. Pronovici. More information about the GPL can be found on the GNU website.
All of this software is considered to be "stable". However, it is always a good idea to test and/or review code before relying on it. There is no warranty for this code beyond what is required by the GPL.