The Vacation Memo

In the summer of 1979, Bell Labs purchased a Mergenthaler Linotron 202 typesetter so they could typeset their own documents. The Mergenthaler was an example of the generation of typesetters just previous to laser printers. They were hideously complex and the process of producing typeset copy involved a complex and smelly photographic routine.

One of the first things that the Labs wanted to do was to produce their own fonts. Ken Thompson was especially eager to have a chess font that he could use to publish a book about chess. Mergenthaler, however, refused to give them the specs for the fonts citing the usual “proprietary nature” of the information.

But, of course, this was Bell Labs so they set out to reverse engineer the 202 and its fonts. Although Mergenthaler doubted that they would be able to do so, Ken Thompson, Joe Condon, and Brian Kernighan had everything figured out in about 6 weeks and were able to produce their own fonts and completely replace the Mergenthaler software that drove the typesetter. All this was done during “summer vacation.”

Afterwards, Brian Kernighan decided to write up what they did and how they did it in a Bell Labs memorandum later called The Vacation Memo. Mergenthaler sicced their lawyers on Bell Labs and the memo was suppressed for many years. In 2013, Professor David Brailsford, Steve Bagley, and Kernighan decided to reproduce the memo. They wanted to make it as accurate a reproduction as possible. Later, Brailsford, Bagley, and Kernighan published a paper on their reproduction in the Proceedings of DocEng 2013. Professor Brailsford tells the story of the memo and its reproduction in a very interesting and entertaining Computerphile video. It’s just under 20 minutes but if you enjoy seeing our history come alive and want to appreciate how easy we have it today with our laser printers, take the time to watch it. You won’t be sorry.

Posted in General | Tagged | Leave a comment

LPR Cameras Exposed Online

The government that claims it can safely manage backdoor keys to our communications has once again demonstrated its fecklessness at securing sensitive data. Sans Newsbites is reporting that several license plate reader cameras were exposed online. In some cases, the live streams could be accessed. They link to the original EFF report that has screenshots of some of the exposed pages as well as some of the actual camera sites.

As scandals go, this isn’t a huge deal but it does demonstrate why trusting the government with the keys to your communications is something only the foolish would consider. If they can’t do the easy stuff—this was not a break in, they just exposed the cameras to the Internet—why would you think they’ll be able to take care of the important stuff? Oh, that’s right; they can’t do that either.

Posted in General | Tagged | Leave a comment

What Metadata Really Is

Edward Snowden cuts through the baloney and reminds us of the real meaning of Metadata.

This is really obvious when someone points it out but notice how the nosey Parkers who are intent are tracking our lives in detail always dismiss the significance of Metadata as if it were just some harmless data that they collect for some sort of technical reason that we needn’t worry about.

Posted in General | Tagged | Leave a comment

Textified Web Pages in Emacs

If you have lynx installed, here’s a handy tip from Mike Sample:

Posted in General | Tagged | 2 Comments

New Maintainer

Emacs has a new maintainer. Thanks to John Wiegley for taking on a hard, and often thankless, job.

Wiegley has been very active in Emacs development—including authoring the wonderful use-package and eshell packages—and has lots of good ideas. If you’re not familiar with his work, take a look at his chat with Sacha about Emacs or his chat with Sacha on Elisp development. There’s also a video with Sacha about organizing your Emacs configuration with use-package that I didn’t get a chance to write about.

I was excited when Wiegley expressed interest in the job and hoped he would be chosen. For his part, Wiegley is promising to make Emacs development a better place:

Posted in General | Tagged | Leave a comment

Note Taking While Learning a Language

Nickolas Lanasa has a tip that should be obvious but may not be:

When you’re learning a new language, it really helps to try out small snippets of code and see the result. Sometimes the language tutorial directs you to do this, other times you do it on your own. By working in an Org mode file you can not only try out bits of the language but you have a set of notes that you can review later.

Just one more way that Emacs and Org mode can make your life easier and more productive.

Posted in General | Tagged , | Leave a comment

Text Editors Are Like Wine

The other day I came across an old post by Vivek Haldar on what we want in an editor. I may have written about it before but it’s worth revisiting. He notes that for many people what they want includes “looks nice” but that’s crazy. “Good looking” for an editor means the font is readable, renders at a comfortable size, and the syntax highlighting makes sense. Anything else is irrelevant.

He makes a couple of other points worth mentioning. People often say that they have to use an editor for a while so they can adjust to it. Haldar says that’s backwards. Your editor should adjust to you, not the other way around.

Finally he says that editors are like fine wine: the older the better. If you want a good editor, choose one that’s been around long enough that all the quirks have been worked out and that every conceivable way of manipulating text has been considered and reified into workable code.

Posted in General | Tagged | Leave a comment

Advanced Magit Video

Howard Abrams has been releasing a lot of really great videos lately. His latest is a remake of a talk he gave to the Portland Emacs Hackers Group on Magit Introduction and Demonstration.

Although he spends a little bit of time on Magit basics, most of the video is about an advanced subject: rebasing. Many people are afraid of rebasing and don’t understand it. Abrams explains what’s going on and shows how to get rid of what he calls twigs and Eric Raymond calls merge bubbles. Those are the tiny branches that get created when you fix a merge conflict. (If that seems obtuse, it’s demonstrated nicely in the video.)

The video is only 14 minutes long so it should be easy to schedule some time for it. Abrams also links to some blog posts of his on the same subject. I’ve written about one of them previously.

Posted in General | Tagged , | Leave a comment

SBCL 1.3.0

The latest version of Steel Bank Common Lisp (version 1.3.0) is out. This version fixes a few bugs, includes a port to Linux on ARM64, and includes a new, optional interpreter. See the NEWS page for details.

I compiled the system from source on OS X 10.11.1 and ran the regression tests. As has been the case for the last 3 releases, one of the tests returned an invalid status but everything else was normal.

While I was at it, I updated my Quicklisp distribution to the [2015-10-31 Sat] release. That downloaded and compiled without problems and served as another test of the new version.

I really love SBCL. It’s a great, complete Common Lisp system that is well maintained with lots of active users. If you’re looking for an excellent, portable Common Lisp system or want to experiment with Lisp, you should try out SBCL. It’s among the very best systems, is free as in beer and speech, and comes with complete source.

Posted in Programming | Tagged , | Leave a comment

Emacs Mini Manual (Basics)

Tu Do (tuhdo) has an excellent series of primers on Emacs. The first one is the Emacs Mini Manual (PART 1) – THE BASICS. It’s about 40 pages when printed as a PDF so it’s much more than an extended cheat sheet. There are two more mini manuals covering Elisp and extending Emacs. There are also other articles on various Emacs subjects.

Part 1 of the mini manual is the best introduction to Emacs that I’ve seen. It covers everything you need to know to be an effective Emacs user. This includes topics like Dired, Macros, Registers, Ido, Version Control, and Shells as well as well as the usual navigation, search, and dealing with windows and frames subjects.

The mini manual reminds me of the Org Mode compact guide. It’s a shorter version of the complete Emacs manual optimized for getting up to speed as quickly as possible without drowning in all the details that the complete manual provides.

Even if you’re an experienced Emacs user, there’s probably a few details that will be new to you so it’s worth taking a look at it. I learned a couple of features about Dired that I didn’t know so it was very worthwhile for me.

At the end of the tutorial, tuhdo quotes a post, The Ghost in the Machine, by José Antonio Ortega Ruiz that captures my feelings about Emacs perfectly. He says that Emacs fills our yearning for a Lisp Machine. I’ve often written similar sentiments so I can relate. Those of us who try to do as much as possible in Emacs tend to think of it as a light weight Lisp Machine.

I haven’t read the rest of the manuals yet but I intend to. If they’re as good as Part 1, I’m sure to learn some new and useful things. If you’ve already read them, feel free to leave a comment.

Posted in General | Tagged | Leave a comment