Today, in 1994, a literal backbone of the internet was turned off.

UCBVAX was one of the more common western backbones for UUCP mail, before the internet was on 24/7 – mail would hop through it to get to the final location. Email worked differently then. You’d tell it how to get there, kind of like GPS on your phone, today.

An email hop would look similar to:


Not only was this unwieldy, but it was a bit difficult- you had to know how to get there!

Herein lies the full text of the final statement, by Cliff Frost.

Path: agate!agateway!CMSA.BERKELEY.EDU!CLIFF
From: CL…@CMSA.BERKELEY.EDU (Cliff Frost {510} 642-5360)
Subject: Network News: The passing of ucbvax
Message-ID: <>
Date: 23 Aug 94 20:58:00 GMT
Sender: usenet
Distribution: ucb
Organization: The Internet Gateway Service
Lines: 81

Friday, Aug 19, 1994, at approximately 2PM, Berkeley Time, a group of
programmers gathered in the old CS department computer room,
fourth floor of Evans Hall, amongst the scattered remains of network
wiring, ancient hardware, ghosts of legends, and general debris, for
a mysterious and moving ceremony; a rite of passage for a computer,
and perhaps its human caretakers. A semiologist could write a thesis
on this event, but here we confine ourselves to the facts.

What actually happened on Friday is that Keith Sklower and Eric Allman
halted the computer that had carried the name of “”
for the last several years of that venerable name’s history. Then
Kirk McKusick turned the power off, an honor due him as he was the
first person to turn the power on to that particular piece of hardware.

Shortly before this, Keith gave a brief history of ucbvax, and
told us that although the machine was retiring, it would be following
recent local tradition by immediately coming back to work in another
capacity—as a card-key access system controller for the UC Police
department. (See below for Keith’s history.)

Keith’s eulogy was followed by Eric Allman’s moving tribute:

Alas, poor Ucbvax! I knew him, Horatio. A machine of infinite jest, of most excellent software. He hath borne my mail in his queue a thousand times. And now how abhorred in my imagination it is! My gorge rises at it. Here hung those disks that have spun I know not how oft. Where be your news now? your dialins? your routes? your flashes of congestion that were wont to set the department on a roar?

The assembled multitude of T-shirted and blue-jeaned programmers
(more than a few of us also sporting just a touch of silver in the
hair) applauded enthousiastically, then dug into the carrot cake
and diet pepsi generously provided by Keith.

Cliff Frost Network Services

ps Keith’s brief history:

In the summer of 1978, the computer science department took delivery of the campus’ first Digital Equipment VAX computer, obtained via a grant from NSF (due in large part to the efforts of Prof. Richard Fateman). In fairly short order, it was running a variant of UNIX developed by Bell Labs. (Local CS people were interested in adding virtual memory support, which ATT UNIX lacked, which eventually led to the widespread interest in BSD, but that’s a different story). The people at Bell Labs offered to have their computer call up ours in order to facilitate research collaborations, using the UUCP protocol. We had to choose a node name, and “ucbvax” seemed to follow their naming conventions. Netnews and the birth of usenet followed closely. After a couple or 3 years, the mail-handling and news functions of the departmental vax were chewing up more than half the cycles, so it was decided to segregate those functions onto a separate machine (when the opportunity arose). So, “ucbvax” became VAX/750 devoted specifically to those functions. For a long time, it was one of two gateways between the ARPANET and the Berkeley Campus. After the load on ucbvax-the-750 began to exhaust it’s capacity, there was talk of replacing it with some flavor of SUN workstation, but a DEC sales person got wind of this and thought it would be much better for DEC if ucbvax were to stay a vax, and managed to “upgrade” the 750 to a decstation 3200, which was its final incarnation. At the time it was turned off, ucbvax was the last operational vax in the computer science department, so to stretch the truth only a little, it was both the first and last VAX in the computer science department at UC Berkeley.

pps The actual power-down was delayed by about 20 minutes from the scheduled 2PM time, because of having to move about 74 pieces of queued email to another machine for eventual processing.

ppps Although ucbvax’s IP addresses are retired, there is still a significant amount of email traffic being supported under that name, rerouted earlier in the day (through the magic of MX records) to a machine supported by Information Systems and Technology’s department of Data Communication and Network Services. This computer is named, with full cognizance of the irony, “”.

ucbvax left us before the world wide web, but remains a memory to those of us who used, but never had direct access to it. I hope you’re still scanning keycodes, UCB – the Internet would never be where it is without you.

Just a precursor: This isn’t quite ready, and the way their service works is really, really abhorrent. It’s.. Ugh.


I’m working on an OpenBSD compatible format for this service, but the data it sends is really bizarrely formatted, broken, and beyond Linuxism in it’s design. It’s awful, unlike their service.

But, work is in place, mostly using sysctl and a few addons. This system really needs to be optimized.

Here’s the skinny – just need to decode the rest of the data.


Many of us like to monitor our services externally, even for things which have been virtualized. No, not compartmentalized (like Docker), but virtualized. I prefer to have separate KVMs for different tasks – it’s just as fast, compatible with many different operating systems, and makes migration as easy as copying over a file and setting up the network. Easy-peesy.

Being that I have a relatively small network these days, I don’t feel like keeping several external nodes around just to monitor network issues and external activity – It was fun to setup, but to spend as much work on upkeep of external “pinger” nodes isn’t worth my time when I can get services which cost me pennies per day.

Enter Hetrix Tools, which has several different services – ping, HTTP/HTTPS, SSL certificate monitoring, SBL monitoring, and so forth. What’s even better is that the first 15 are completely free!

The installer script is pretty good, but doesn’t yet support Alpine Linux, since Alpine doesn’t have many of these tools installed by default. To make the script work, you’ll first need to:

$sudo apk add wget procps lsblk bash

Then, install the script as directed:

$sudo wget && bash [your options here]

Double check that you have all of the required packages by going to the installation directory and running the command manually:

$sudo $SHELL
#cd /etc/hetrixtools
#bash -x

Look for any broken/missing dependencies, or anything else that’s wrong, and then fix it, accordingly.

Finally, since it depends on what cron you decided to install, you’re going to need to construct your crontab by hand. I use crony, so that looks like:

*	*	*	*	*	/bin/bash -c "(cd /etc/hetrixtools; /bin/bash 2>&1 >> /dev/null )"

That’s all it takes to run Hetrix’ service monitoring on an Alpine Linux 3.8+ installation!

As today is my 44th (pshew) birthday, I figured I’d remind myself how this whole thing started. You’re welcome to join me in this bit of self-realization over the years as built upon in this website, or use the search feature if you stumbled here looking for something – most of my articles are still around.

Still in high school, I was building proprietary software built upon the 6502 processor, interfacing large equipment via RS422. I created the first PC release of the software for Windows 95, which was still at it’s infancy. I started work on an NT4 based system, but was let go before this was completed; I do hope the serial drivers for 95 were stable enough- I was never called back to complete this project.

My first sites and gopher (yes, gopher!) are long lost to the annals of time, thankfully.

I moved to San Francisco in the later 90s to become part of the original DotCom bubble. I was there for Pointcast, Adobe’s Flash, and the introduction of DSL to the masses. It was pretty fun. But this is just my backstory – let me waste some time on this website.

I started this site back during InterNIC, but my first public registration was with GoDaddy in March, 1998, first as a simple way to share my resume – then, to build upon that. It eventually turned from ugly text on an ugly background to a graphical design, and then back to really ugly text on an ugly background, and finally, we’re back to a simple text on a simple background – but possibly, I’m oversimplifying things.

Around Q3 2001 (Can’t remember, finally threw away my 20 year old archival CDs when I moved), I moved to a dynamic system, originally based on NewsPHP, but I quickly grew tired of that, because it had severe limitations, and didn’t work very well. In 2002, I had moved to David Grants’ QuickBlog, a simple little ~10k PHP3 compatible script with a MySQL background with a few trivial features that I thought were pretty neat, which I had built a few features upon (for one, I remember not liking his weird date format which wasn’t time_t based). By 2003, I was running my own CMS, using my modifications to QuickBlog as the basis. Finally, by 2006, I moved from my CMS to TextPattern, having given up on all of my free/OSS software – because I wanted to eat, and was tired of working for (nearly) nothing. That, and my code base for the CMS was ugly, using an inline templating system which mostly wasn’t. It resembled a very, very basic Smarty class (which I had never heard of in 2002 when I started to build this, coincidentally, the same year Smarty first appeared).

Unabashed Plug: I’d like to note that I had this website hosted with ICDSoft from 2003 until 2017, when I decided to bring it back “In-House”. They were great, and I wouldn’t hesitate to suggest them to anyone who doesn’t want to host/manage the system themselves.

It wasn’t until 2018 that I finally ditched that final design, exported all of my data, and reloaded new into TextPattern once more, removing all but a handful of plugins I actually needed.

Other than the contact form, a TrueType Font generator (legacy), and a few plugins handcrafted to work with my old CMS (I used local side redirects because Google used to penalize off-site links – remember that?), this is a bone stock TextPattern installation, now.

There were many years (at the beginning) where I posted nearly daily, slowing down to weekly, monthly, sometimes nearly nothing at all. Then, I thought I’d come back and see if I wanted to continue – then decided to just leave this primarily as an archive, only posting things that I found useful, or amusing. (That’s why I haven’t posted anything in 4 months.)

Thanks for joining me, if you’ve cared to actually read through this.

I am a fan of “If it still works, keep using it”.

In fact, I was using a LaserJet 6P until 2015- when a friend accidentally broke it. Now, I’m using a LaserJet 2100.

PCL5/Laserjet4 is really easy with Linux via CUPS, but we do have a couple Windows users in the household. This didn’t used to be an issue, but HP decided to stop distributing PCL5 drivers in 2016. Earlier versions of Windows 10 had them, but they are no longer available.

HP’s UPD 6.1 series was the final series which had PCL5 drivers included for it’s universal package. I’ve linked below to where HP stores both 32 bit, and 64 bit drivers on their FTP site; this is not a normal web address, and may be blocked in some locations.

Good luck, and happy printing!