John Heidemann / Software

Writing software is both my job and one of my hobbies. Over the years I’ve written and released a variety of software. The following packages listed below are currently available and maintained. Also, at the bottom I list and point to packages I wrote but no longer maintain.


Fsdb: an ASCII database (previously called JDB)
Fsdb is package of commands for manipulating flat-ASCII databases from shell scripts. Fsdb is useful to process medium amounts of data. Fsdb can be thought of as an incompatible reimplementation of /rdb, if you’re familiar with that.

Fsdb-Go: a Go-language library to support reading and writing Fsdb files.

pdfselect: extract PDF pages and page ranges from the command line; a drop-in replacement for psselect, but for PDF

Dns browse is a simple DNS browser in Perl and Tcl/Tk, modeled after Windows-style hierarchical lists.

Dmalloc_summarize is a small Perl-program that converts the log output by Gray Watson’s dmalloc (a source-available malloc debugger) into a form that makes it easy to answer questions like ``where is my memory being used?’’. Download (5KB) (updated 18-May-98 to fix a serious off-by-one error).

Mediawiki hacks
Minor wiki hacks: wiki_upload, a perl program that allows command-line uploading of files to Mediawiki.

Ikiwiki hacks
My extensions to Ikiwiki.

TeX Tools and Macros

Lookbibtex is a grep-like program which understands the format of BibTeX files. Download version 1.44 released 19-Mar-98).

ACM paper formats
There are a number of templates for ACM paper formats around. These are mine, unique for including 10-point fonts as an option.

UCLA Thesis document style
I used to maintain the UCLA Thesis document style for LaTeX, and I still make the most recent release available (Version 1.2 was released June, 1996.)

Emacs Macro Packages

Notes-mode is a package for organizing on-line note-taking. Notes-mode automates index generation and allows URLs to point to subjects.

Other Programs

Graphing programs
Gnuplot is a pretty good graphing program, but its user interface is non-shell-script friendly. Gnuplotfront is a front-end to gnuplot to solve part of this problem.

digital camera info
I’m trying to go digital for my photo needs. This page has pointers to useful software.

music stuff
Some small hacks for MP3s and FreeDB.

miscellaneous GNOME environment changes
Small hacks to GNOME tools.

A patch adding widow/orphan elimination to the Android e-book reader FBReaderJ.


In addition, the following software packages have all been put out to pasture on my “retired” software web page: stackable filing software, kernel debuggers, Apache performance enhancements, WWW::Search, WebStone-1.1 patches, paper_carrier, monitor, jogutils with jogscroll, some emacs macro packages, some games such as klondike, dontspace, xbomb. Xcron and lcron, a cron extension with location-triggered events. Ical patches to keep it building in 2009. In general, these programs have been transfered to others, superceded by other work, or no longer useful.

Copyright © 1995-2023 by John Heidemann