Categories
general

Finger

There was an interesting post that came up recently about the history of the unfortunately-named finger command in unix here. This jogged a few memories for me, because I remember finger as being the early precursor to blogs, web pages, and social media platforms.

Back in the days of unix and logging into mainframes and big workstations through terminals, there was a program called who, which listed every user currently logged into the machine. That was cool, except when there were hundreds of people on a machine and it quickly scrolled past in an indecipherable flood of text. It would show you a few brief details about each user, like how long they were logged in, or what program they were currently running. This was, in a very primitive way, similar to the little green dot next to a name in a messaging program, that tells you if the person is online or not. (Or maybe they never logged out, and their terminal was sitting idle overnight in a locked office.)

The next level of granularity was finger. If you were logged in and typed finger jkonrath, it would show a bit of info about that account, like that user’s home directory, the shell they used, and where they last logged in, or how long they’ve been logged in. That can lead to some stalker-y situations, but this was decades before anyone really thought that through.

One cool feature about finger was that if you had a text file named either .project or .plan in your home directory and they were would readable, they would also be displayed. The former was a one-line thing, and the latter could be any length. I think the original intent when this was written back at Stanford in 1972, you’d set your project to “AI Lab, Compiler Division” and your plan would be something like “I teach M-W-F in the basement of the science building. I will be on vacation June 1-9. Contact Dave Smith for questions.”

I first got a unix account (ULTRIX, actually) at IU in December of 1989. One of the first things I was absolutely infatuated with was the idea of coming up with a perfect plan file. I was 18 and of course had Big Thoughts I needed to tell the world, probably involving dumb song lyrics or movie quotes. I think for months, the only thing I used my account for was setting a new plan file and playing the text-based Tetris game someone installed on there. But it was almost like a really rough social network, sort of.

At some point, a CS buddy (it may have been either Brad Ramsey or Jesse Martin) told me about named pipes. A named pipe was a way of creating a file that really was a redirect to a program. I don’t remember how this worked, but they showed me a way to create a plan file that actually ran a script which did a who command, looked for the person who was running the finger command, then print some cute message like “hey $username quit spying on me” and output that to the pipe. It worked great, as long as the person was on the same machine, which was almost never the case. (I forgot to mention: you could run a finger command to any other machine that had a finger server running. So finger jkonrath@gnu.ai.mit.edu would also work on my burner account over there.)

Most undergrads and casual users were over on the VAX computers at that time for their general email use, and that VMS system had some half-baked implementation of finger that didn’t entirely work right, or didn’t support plan files, or something. VMS had its own arcane commands, like the much less sexy SHOW USERS/FULL and the like. This led to Sid Sowder and 19 other people (including me) writing their own VMS utility programs to meld together the disparate systems into something more usable as a social network, way back when Mark Zuckerberg was probably still learning to read.

That’s all another story I’ve told before. But one tangent on it is that I wrote a replacement for the finger command, sort of. The thing was, we needed a database to store various things about users, like preferences and login times and dates and whatever. So I wrote a program for Sid called XINFO, which was a horrible Pascal database program where his utility program would stash login information. Then I wrote a couple of different client programs that could hit this database for information, like an XFINGER command which was everything the VMS finger command wasn’t. And one of the biggest draws to Sowder’s program was a WHOIS program that was all neat and pretty and would show you where your friends were logged in from and so on. So yeah, maybe I should have filed a patent on this and sued everyone. Or maybe I should have gone to classes and studied instead of doing this.

The plan thing had an interesting connection to present. Back in like 1992 or so, the Computer Science department installed this thing on their server that at first was touted as some king of super-finger doodad. It was a server that would show your plan file, but let you put graphics and markup text in it. It called these a HyPlan file. You would write them in this weird markup language which was apparently called HTML, and then people all around the world could use a special program to read your HyPlan and click links on it and go to other HyPlan pages. This was called the “world wide web” and of course I thought it was a stupid fad and made a dumb HyPlan that I think had a gigantic uncompressed audio file of like three seconds of a Cannibal Corpse song that would play when you clicked on it. The name HyPlan became Homepage and was forgotten, and thirty years later, people are using a distant relative of that same system to try and sell me boner pills. And once again, I should have gotten in front of this early and maybe patented selling books on the web or something.

Anyway, the finger command still works if you’re on a Mac. Maybe I should go back to just updating my plan file, instead of upgrading WordPress plugins every 17 minutes so this site doesn’t get hacked by Russians again.

Categories
general

flu, rom-com dreams, unix history, holiday mall-walking

I think I have a bit of the flu right now. It’s the weirdest one, because I don’t have a lot of symptoms (congestion, throat, fever, etc) but I have been horribly underwater, unable to think, achy, and all I want to do is sleep. And of course this happens immediately before our Q4 deadline, when I have half a hundred things that have to ship. Last night, I slept about eleven hours, and felt like it was maybe three. I think I’m on the back half of it, and maybe if I waste the weekend sleeping, I’ll be over it.

* * *

I had this amazing yet disturbing dream – I plotted out the entire outline of a chick-flick rom-com, and it was an absolutely bulletproof story for that genre. And I remembered all of it when I woke up, and wrote it all down. It’s not a bad story idea at all if I was into that sort of thing, but I’m 80% sure it’s actually the plot of something I subliminally watched on a plane fifteen years ago. I’d have to spend a few weeks watching the entire Emily Blunt filmography to research that I wasn’t plagiarizing Richard Curtis. And what’s worse is if the thing ended up being entirely successful by ten orders of magnitude more than anything else I’ve written.

* * *

I’ve been reading UNIX: A History and a Memoir by Brian Kernighan, which has been fun. I’ve had a copy of the K&R C book since forever – I actually had the first edition, sold it to buy groceries or whatever back in 1992 or so, and then bought the second edition when I was in Seattle. Kernighan is one of the Bell Labs folks who was around when unix first came to life in the late sixties/early seventies. He wasn’t the inventor of unix, but he arguably came up with the name, and he co-wrote that definitive C programming book. Anyway, the memoir is actually half about his personal time at Bell and half the beginnings of that operating system’s development.

It’s a fun read, because it makes me think of how quickly things changed in that period. They first started hacking together their system on a PDP-7, which had something like 32K of RAM. They had to write everything in assembly language, because there wasn’t a C language yet, and there weren’t portable libraries yet, which made later moving unix to the PDP-11 an overwhelming task. A dozen years later, my Commodore 64 had double that amount of memory. Six or seven years later, the computer I first used to learn assembly language had eight times that memory, and was considered largely obsolete at that point. (The C335 class had a cast-off lab of old Atari 520 ST machines, which were maybe five years old, but felt more like fifty, compared to the NeXT and SPARC workstations everywhere in Lindley Hall. It was nice learning assembly on the Motorola 68000 though. I don’t remember the details, but the 8086 seemed bizarre in comparison. The 68K had more registers, and they were all general purpose; the x86 had a bunch of specific registers, so like some were specific pointer registers you only used in addressing. Or something. Anyway, this was thirty years ago, and I never used assembly again.) Anyway, it’s fun to read about these guys writing an OS that’s now used everywhere, on a machine that’s slower than the alarm clock sitting on my desk.

The one weird thing about that book is that Kernighan has probably sold millions of programming books over the years, mostly through Prentice-Hall, but this book was self-published on KDP. It looks okay, but it’s definitely published on KDP. It makes me wonder why he didn’t get an agent to swing him a deal and maybe get more publicity on the thing. It does seem to be highly-ranked at the moment, and I hope he does well with it, but it is curious.

* * *

Not much else. Writing has been slow because of the flu. Mall walking has been increasing as the temperatures slowly drop. (Nowhere near as bad as the midwest, though.) It’s nice to see the holiday stuff slowly start to fill the stores. Macy’s is packed with new inventory; JC Penney seems to be well-stocked. Sears is Sears. The one in Concord has a sad display of trees in the basement, and not much stock on the floor. I still find it funny that I thought of Sears as The Enemy for years when I worked at Wards, but now I feel oddly emotional when I’m in the holiday department. It reminds me a lot of being in Four Seasons over thirty years ago, putting up the fake trees and telling people that no, we did not have any Nintendos in the back room.

I have a much bigger post in me about the Wards thing. But one interesting bit I found out is that one of the guys who worked full-time in the automotive department who I always liked working with managed to stay until they locked the doors on the last day. And then, oddly enough, he jumped to Sears, and went down with the ship when they closed almost twenty years later. So that’s interesting.