software

This is a collection of freely-available software I've written, ranging from projects with thousands of lines of code to simple one-page hacks. Some of the shell scripts may be slanted towards Solaris.

All software available from this page is licensed under the GNU General Public License. Specifically, this means that they have ABSOLUTELY NO WARRANTY.

librep A Lisp runtime environment. Includes an interpreter, compiler and debugger. May be used as an application's extension language, or for writing standalone applications.
Jade An Emacs-clone text editor using the librep Lisp system.
sfs A script for synchronising remote directory hierarchies.
rep-gtk A GTK binding for librep. Allows GTK applications to be written in Lisp. When Jade is targeted to GTK, allows arbitrary GTK structures to be dynamically embedded in the editor.
rep-orbit An ORBit binding for librep. Allows rep programs to both use and implement CORBA servants.
rep-sql An SQL binding for librep, only works with MySQL.
bg-color Echo a random background color.
broken-links Find all broken symbolic links under named directories.
cvs-snapshot Make a .tar.gz snapshot of a CVS directory.
cvs-chmod Change the access permissions of directories in a CVS repository.
cvs-mirror Mirror a CVS tree from one repository to another (losing meta-information).
nightly Use an at job to run a script every night.
orange-msg Send a text message to an Orange mobile phone using their CGI gateway.
rcs-snap Tag or retrieve all RCS files under the current directory with a symbolic name.
spawn Run multiple commands in parallel on idle workstations across an arbitrary list of hosts. Probably only works on Solaris (but could easily be ported). Here's an example host file.
snarf Uses wget to FTP lists of files non-interactively.
xroot Persistently set the X root-window.
monitor Monitor access-times of specified files.

John Harper <jsh@unfactored.org>