John Heidemann / Software / Retired Software

This web page lists software I’ve written but no longer maintain either because it is “done”, transfered to others, superceeded by other work, or no longer useful.

Operating System Modifications

UCLA Stackable Filing

Stackable filing is the subject of my Ph.D. dissertation. My stacking work is available in several forms, part in 4.4BSD and MacOS-X, a larger part here, and the complete distribution for people with a SunOS source license; details are available.

Since this work has been transfered to others I no longer actively develop it.

kernel debuggers

Kgdb is a source-level kernel-debugger for SunOS 4.1 based on GNU gdb and Sun’s kadb. It requires Sun kernel source code to build and two machines to operate.

Xkdebug is a modification to David Hinds kdebug-1.2 allowing breakpoints and single-stepping in a Linux source-level kernel-debugger.

These debuggers are either for platforms that are no longer interesting (SunOS) or have been superceeded by other kernel debuggers (Linux).

Linux and FreeBSD configurations

I maintain some tips about configuring Linux and FreeBSD for some of the laptops I’ve used.

(This page is now elsewhere because it’s not really software.)

WWW Tools

Apache Performance Enhancements

As part of my work with ISI’s LSAM project we have found some optimizations in http-server performance.

This work has been integrated into Apache for a long, long time now.


The WWW::Search library provides a Perl API to Web search engines (work done as part of LSAM).

I no longer maintain WWW::Search. See the README file in a current release in CPAN for information.

WebStone-1.1 patches

WebStone is a useful benchmark. My patch fixes some portability problems (for SunOS) and avoids rexec (and the need to specify a password in the configuration file).

These patches have been superceeded by more recent WebStone releases.


LavaPS is a lava-lamp simulator where each blob corresponds to a currently running process. Unfortunately it is stuck with Tcl/Tk and Gnome-2.0 front-ends, so it needs some attention to bring it into this century.

sawfish extensions

Finally, an emacs-like window manager… and some extensions.


A news-to-mail gateway written in Perl.

This works, but sadly, netnews is so 1990’s.


Yet another easily-extensible Tcl/Tk-based system monitor. Watch your clock and laptop battery.

I actually do maintain this for me, but there are better tools available for others.

jogutils with jogscroll

I added ``jog_scroll’’ to Takaya Kinjo’s jogutils support for Sony’s jog-dial on their VAIO laptop hardware.

This probably still works, but there may be better choices now.

Emacs Macro Packages

Emacs macro packages

Emacs is my editor-of-choice, and I’ve written a couple of packages for it. mouse-extras.el provides one-click mouse commands to scroll and copy/move text. Version 2.21 released. A version of mouse-extras will be in emacs 19.35.

I no longer maintain this as a separate package since it’s now in the standard emacs release.


crypt+pgp-pub.el (download .el, 111KB) is a version of crypt++ (by Lawrence R. Dodd, Rod Whitby, and Kyle E. Jones) that I’ve hacked up to support pgp-public-key encryption on files. This code has been subsumed into Karl Berry’s updated crypt++.

Games and Amusements

Although all these programs still work, better implementations now exist for Linux/FreeBSD.


Klondike is a solitaire card game for X11.


Dontspace is another solitaire game for X11 modeled after the game ``Free Space’’ distributed with Microsoft Windows NT.


Xbomb is a Minesweeper implementation for Unix and X11. While the user interface is not very strong, xbomb is the only Minesweeper implementation (that I know of) which allows programmable solvers to aid the player. No longer must one do all the boring parts of the maze by hand, xbomb’s solvers do it for you! Download (31KB).


Hyperer is a screen saver that draws n-dimensional rotating hypercubes.

Odds and Ends


A version of Geoff Kuenning’s xcron that supports location-triggered jobs.

mailman hacks

Mailman hacks including unspamify_mailman.


I rolled an RPM for ical, and improved ical2ics to make ical2ics_la.

RCS modifications

Modifications to RCS to support line-level accounting.


Cluster-based Energy Conservation is follow-on to Geographic Adaptive Fidelity (GAF), a topology control protocol for sensor networks. This work was done by Ya Xu and is described in his paper about CEC. The source code for GAF is in the standard ns distribution (since 2.1b5), but the source code to CEC is only available in the snapshot at this page.

CRP extensions

Some extensions for CRP (Dirk Grunwald’s conference management package) to support Sensys 2006.

Copyright © 1995-2003 by John Heidemann