Archive for October, 2019

Fast, or Floppy?

October 16, 2019

In 1999, I had a DEC Celebris mini-tower for my desktop PC at UUNET. It had a Pentium Pro 200 MHz CPU, which was top of the line when the PC was purchased in 1996. But after several years, it had been far surpassed by newer PCs. PC hardware was advancing rapidly and the useful life of a PC was 3-4 years before it was obsolete.

catapult DEC PC under Dave's desk

I was managing a group of web hosting developers, but I didn’t have the budget for buying new desktop PCs. My biggest problem with my PC was that it was too slow to play MP3 files while doing anything else, and those were all the rage then. One of my co-workers had discovered Napster.

Then I learned about a CPU upgrade that adapted a Pentium II-based Celeron CPU to a Pentium Pro socket: a PowerLeap PL-PRO/II at 667 MHz, more than doubling the CPU power. I ordered a couple. A week later, they arrived at the office.

The Celebris parts weren’t fully interchangeable with ATX PCs. The CPU was on a horizontal daughterboard and the screws and plugs and I/O plates were all a little different from the standard. But the upgrade CPU fit. Except… it had a big heat sink and cooling fan that needed to be right where the floppy drive was on the Celebris. On a standard ATX PC the CPU wouldn’t have had a clearance problem.

This was before USB and CD burners became widespread, so we actually used the floppy drives. I had a choice to make: fast, or floppy? I removed the floppy drive. I didn’t have a blank cover for the hole left by the floppy drive, so it became a large ugly air intake. That’s a price I was willing to pay. My PC was useful again! And I didn’t have to reinstall or debug any software! If I ever needed the floppy drive to reinstall an OS, I could open the case door and hang it off the ribbon cable temporarily.

I installed the other upgrade CPU in a rack-mounted Celebris that needed more speed. In the next fiscal year, we bought some new Pentium III PCs, and we got spare Sun workstations running Solaris to augment them, but my upgraded DEC Celebris got me through a tight budget with only a little hassle. I’ve always hated to waste things that could still be useful. More than a decade later, I threw out my floppy disks and removed the last floppy drive from one of my PCs.


How a Nonstandard OS Led to Unix Standards

October 11, 2019

From 1988 through 1992, I worked as a system administrator for the Environmental Defense Fund in Washington, DC. As a nonprofit, it was too expensive for them to provide each employee with a PC, and Windows and PC networking were primitive back then, so their offices around the US used Wyse 50 terminals connected to a single computer in the copier room. When I arrived, that computer was a 68020-based Charles River Data Systems Universe 68, running their UNOS operating system.

1988-04 044-13 CRDS Universe 68-35T edfdc-Dfine-close


Command-Line Utilities on UNOS

UNOS was sort of like Unix System V if you squinted, but it changed many of the details, so porting software to it ran into all kinds of incompatibilities. The command line utilities were maddeningly deficient and different from the 4.2 and 4.3BSD Unix I had used at college. Apparently CRDS was trying to make Unix more user-friendly or more like some other operating systems; their version of cp was named copy, dd was called debe (a pun on girls’ names?), etc. and the command line options were multiple characters long. Completely useless for running shell scripts written for Unix.

I started looking around for a way to replace them. I found the source code for half-finished versions of some utilities in the GNU source tree at MIT, where I had access as a volunteer thanks to my friendship with Mike Haertel, a former roommate who wrote GNU grep and diff. I finished them and wrote some more missing utilities, and thus started the GNU fileutils, textutils, and shellutils, which were later all rolled up into the coreutils. I also ported GNU Emacs to UNOS, including its tricky “undump” method of restoring a RAM image from a file for faster startup. EDF paid me to spend some of my time on this work, because they wanted more usable computer systems themselves.

So a good deal of GNU/Linux code was written to make up for the deficiencies of UNOS. After a few years, EDF switched to timeshared 486 computers running SCO Xenix, then SCO Unix, and we ran the GNU utilities on them, too, because they were better than the SCO versions. EDF finally went to networked Windows PCs for everyone, but they’re still using GNU/Linux for their web presence, at least, and using descendants of the utilities they funded.

Kermit on UNOS

Long before SSH, Kermit was a popular file transfer protocol which worked over both serial connections, like modems, and network connections, like TCP/IP. It was often paired with terminal emulators. It was implemented for nearly every type of computer made in the 1980s and 1990s, in many programming languages. Yes, it was named after the muppet, with permission.

EDF needed a good way to transfer files to and from its UNOS systems (besides UUCP), so I ported C-Kermit (the version for systems that use the C programming language) to UNOS. For that, I had to deal with many quirks in UNOS system calls.

Standards Because of UNOS

Mike O’Dell, Internet pioneer, related on an email list that the incompatibilities of UNOS led to the creation of the UNIFORUM association and the POSIX standards, so the US government wouldn’t have a sole source for Unix products that were interoperable. Thus, the obscure and quirky OS from CRDS contributed to creating both the official standards for Unix and what is now the most-used implementation of them.

A “wiki” Computer Before it Was a Web Technology

October 11, 2019

Around 1991, I was working as a student programmer and system administrator in the “Hackers Pitt” of the College of Engineering at the University of Maryland, College Park.

This story of how “wiki” entered our vocabularies via computers, 3-4 years before the first Web wiki, was recalled in November, 2007 over email by two other student programmers. I edited the emails lightly for clarity.

Chris Ross starts the story:

It was someone illegally using accounts on the Eng systems, and they were logging in from the University of Hawaii. The hostname they logged in from, at least once, maybe even “usually” or “always,” was wikiwiki. This led us to looking up what the heck that meant, and in the days before google and wikipedia, that got us a Hawaiian dictionary. I think, actually, Robin photocopied that page out of a dictionary in the library, and that ended up in the Pitt. So, we knew a bunch of words that started with “w”.

wiki means fast, and wikiwiki, as you may recall, means very fast.

Years later, when I got a MicroVAX resuscitated as part of my habit of fussing with old hardware, I looked up the Hawaiian word for very slow, which was lolohi (lohi is slow).

So, *much* more information about the actual detective work that was being done to track down the guy in Hawaii (which IIRC I heard ended with the FBI knocking on his door saying “Umm, stop that.” or something like that. I don’t necessarily assume “door” is literal here).

Kurt Lidl elaborates:

The college of engineering got broken into from some person that was entering from the Univ of Hawaii, from the host “wiki” or “wikiwiki”, I think. Which, as Chris points out, is Hawaiian for “quick” or “fast”. In Hawaii, you use verb doubling for more emphasis on something — wiki-wiki means “very fast”. Robin was working at the undergraduate library at the time, and they had a copy of the Hawaiian-English dictionary, and she did photocopy a single page out of the “w” section of the dictionary for our use — which is why I still know that “wili kope” is Hawaiian for coffeegrinder and “wili wili wai” is Hawaiian for lawnsprinker. But I digress. (I’m not 100% sure on the spelling for lawn sprinker…)

When Debbie and I got married and went to Hawaii for our honeymoon, we picked up a copy of the Hawaiian-English dictionary. Having a copy of this allowed for further abuse of Hawaiian as a source of machine names in the R&D group later. I know that lolohi was used prior to that, however.

The breakin happened through the new to the College of Electrical Engineering Solbourne computer (a 64bit sparc-alike processor, running a varient of SunOS 4.1.xx that had support for SMP. This was attractive because it wasn’t Solaris 2.0, which is what Sun was pushing as the “only way to get real SMP”). As I recall, we couldn’t replace the telnet and/or rlogind on that machine with the kerberized ones (they just didn’t work on that machine), so that single machine was vulnerable, and someone’s password was sniffed through an account on that machine. Once they got in, they got onto a bunch of other machines.

This incident led to our hacking of “top”, “ps” and maybe one or two other things to “not show” processes that were owned by particular uids. There was a list of these UIDs placed into /usr/lib/libwiki.a (just an ascii list, one per line) and the libwiki.a file was carefully set to have creation/mod time of that of all the other sun-supplied libraries, so it would not show up at the top of the list if you did a “ls -ltr” in /usr/lib.

Their ‘wiki’ was indeed a fast machine – a Vax 8600 class with a bunch of (big at the time) disks on it.

I know that some law-enforcement got involved to have them “stop it”, but I don’t think there was ever anything other than “we know you did this, we have these records, now go away, or else”.

My conclusion:

So, years later when I heard about a new kind of web site called a “wiki”, I already knew the word. I’ve never been to Hawaii, but Hawaiian came to us.