Friday, January 21, 2022

Automated Departure Message

Symbolics was a Lisp Machine company (1980-1996) and incidentally also the first .com domain name (symbolics.com). If memory serves, it had something like a thousand employees at its peak. It was an extraordinary place to work, with amazing products and some of the most talented coworkers I've ever had the pleasure to work with, doing work that was decades ahead of its time.

There have, of course, been a great many important advances in speed and functionality of computers, computer languages, and computer interfaces since that time. But even now, almost three decades later as I write this, there are features of that programming environment that are unparalleled in modern computer environments. It was a travesty that this evolutionary line was cut short, but as I often say, “you can be the lizard best adapted to life in the desert, but if you can't swim on the day of the flood, your time is up.” And so the company fell for reasons that had little to do with the technical capability of the products.

Layoffs came depressingly often as the company size fell to I think a couple hundred before it hit me. With each round, we got more and more efficient about them. I vaguely recall that for the early layoffs they had people in to help us manage our grief, or some such hand-holding. After a few, we could recognize the signs that one was happening as we arrived, so we just headed to the room where we'd get the list and then headed to our offices to read all the departure messages. We got it down to where we were back to work within an hour or two.

At some point, I started to see trends and patterns in the messages, and we were a company that was always trying to automate every last detail of routine action, so I joked about Zmacs, the Lisp Machine's Emacs-like text editor, needing a command called something like m-X Insert Departure Message to help you compose your departure message via form-filling. On further reflection, it seemed both easily doable and potentially useful, so I implemented it.

Ellen Golden, a senior documentation writer and long-time colleague and friend, was kind enough to write me a documentation page:


Author‘s Notes:

If you got value from this post, please “share” it.

For those not familiar with the Lisp Machine keyboard, it has a lot of shift keys. Shift, Control, Meta, Super, Hyper, and Symbol were the ones Symbolics keyboards used in the timeframe this story is about. The notation “m-X” (sometimes written, and always pronounced, “Meta-X”) was the chorded key combination that, when issued, prompted for a long-named editor command (“Insert Departure Message” in this case). Of course, you got command completion on the name, so you rarely had to type all of those characters. And, like all things LispM, it used a completing reader much better than modern completing readers. (You could just type something like m-X I D M and it would figure out the rest, since there were probably no other commands with words that started with those sequences.)

I've done slight editing on the picture of the doc page to contract out some vertical whitespace and fix a typo. The greenish tint is something my editing tool, GIMP, did without me asking. The original was black on white. But it gave it a sort of aged look, and it set off the picture nicely, so I just left it.

I was actually laid off twice. This refers to the second time. The first time got cancelled. Story for another day, though if someone else has already told that story, please suggest a hyperlink. :)