Software

For the first ten years of my career (and a few years before as a college student), I was a UNIX systems programmer. This was during the 1980s and early 1990s—back when you needed a somewhat expensive license to even run UNIX, and a really expensive license if you wanted to look at the source code. There was no Free/Open/NetBSD, no Linux, no Sourceforge. With only a few exceptions, you couldn't buy third-party software, because nobody sold it for UNIX. There was some free software, but because even the least expensive desktop workstations cost several thousand dollars, it was mostly limited to what came out of research universities and government labs. For the most part, when you needed new functionality, you wrote it yourself, because nobody else had done so yet.

Most of the software that I wrote was specific to the needs of my employers -- it solved a problem unique to them, or relied on the particular systems environment they had. There wasn't much point in sharing it, because nobody else would have had a use for it. However, I did write a few programs that were generally useful enough to share with the world, and I gained some degree of fame (or notoriety, or something) for them. I've tried to collect the major ones below. If there's something else you've heard I wrote that's not listed below, please contact me and I'll see if I can dig up a copy.

Version 4.3, 12 Feb 1996

NFSwatch monitors all incoming network traffic to an NFS file server and divides it into several categories. The number and percentage of packets received in each category is displayed on the screen in a continuously updated display. I originally developed this software while working at the Research Institute for Advanced Computer Science at NASA Ames Research Center, and continued to maintain it after I left. Later, Jeff Mogul of Digital Equipment Corporation made enough significant contributions to the software that I chose to give him credit as a co-author. This is the last version of NFSwatch that Jeff and I released; it ran on SunOS 4.x, Solaris 2.0-2.3, DEC OSF/1, DEC Ultrix 4.2 and later, Silicon Graphics IRIX 3.2-4.0, and AT&T System V Release 4. In 2005, Christian Iseli offered to port NFSwatch to Linux, and take over its support; he has made it available through SourceForge here.

Version 1.4, 28 Jan 2001

Ifstatus checks all network interfaces on the system, and reports any that are in debug or promiscuous mode, which may be a sign of unauthorized access to the system. I originally wrote this software back when network packet sniffers were all the rage in the hacker community; its purpose was to identify systems that were potentially being used in this way. Version 1.2 was the last version of ifstatus that I supported; once I started working at IBM, where they used token ring networks, I no longer had access to ethernet-connected systems with which to develop it. Rob Thomas took over support for it at that point, and made two more releases. Rob gets all the credit for "fixing" it after it broke when Solaris 7 switched to a new network device driver model. Ifstatus is probably not of much use today, both because hackers have moved on to other methods, and because it's full of hard-coded knowledge about specific types of hardware most likely no longer in use.

Version 1.7, 13 Oct 1998

Getethers runs through all the addresses on an ethernet (a.b.c.1 - a.b.c.254) and pings each address, and then determines the ethernet address for that host. It produces a list, either in ASCII or in the binary format for an Excelan Lanalyzer, of hostname/ethernet address pairs for all hosts on that network. Generally you could do the same thing by pinging all the addresses and then dumping the ARP table, but at the time I wrote this, some systems didn't maintain ARP tables big enough to hold all 254 addresses at the same time. This version, which was the last version released, ran on SunOS 4.x, Solaris 2.x, IRIX 4.0.x, AIX 3.2, 4.3BSD (VAXen), OSF/1, and Ultrix.

Version 3.3.2, 17 Nov 1995

XPostIt allows you to create small notes to yourself in windows on the screen, and save them in disk files. This is generally neater than having numerous real Post-it notes stuck all around the edges of your monitor. The notes resemble paper Post-It notes in color and shape (although there are a lot more sizes and shapes nowadays than there were back then). This is the last version that I released; it ran on X11 Releases 4, 5, and 6. The Debian community continued to move XPostIt forward until about 2010; the various results of that effort are available here.

Version 1.0, 10 Apr 1992

Xsat is an X11-based satellite tracking program. It simulates the orbits of satellites around the Earth and displays the results of the simulation both textually and (optionally) graphically. Facilities are provided to select the satellite, city that visibility information is calculated for, and maps to display ground tracks with. I wrote this program for fun when one of the space shuttle astronauts had taken some amateur radio equipment into space with him and was transmitting to hams back on earth. I made exactly one release, this one, and then frankly, lost interest. After that, another ham, Terry Friedrichsen, took over support for it, and made four more releases. His version is available here.

Version 1.0, 13 Jan 1988

A long, long time ago, before forums, chat rooms, wikis, Yahoo! and Google groups, and RSS feeds were developed, communities of people on the ARPANET used to discuss things via mailing lists. And because resources were scarce (and mail reading programs were primitive), those mailing lists were moderated, and messages were sent out in batches called "digests," each digest containing the day's group traffic. When I started moderating one of these lists, the programs for making the digests were all running on TOPS-10/TOPS-20 and ITS systems. I needed a UNIX version, and so I got to roll my own. As far as I know it'll still generate standards-conforming digests, although I have no idea what you'd use them for; a forum or a group is a much nicer solution.