An Interview with RMS

There’s a nice interview with Richard Stallman in the latest issue of The New Left Review. NLR is, of course, a left leaning publication in the Marxist tradition but don’t let that put you off. Mostly, the discussion of politics is limited to Stallman’s, which are well known to everyone familiar with RMS and his writings.

The discussion begins with RMS’ early life and how he got interested in computers. In those days, getting access to a computer was a lot harder than simply buying a PC. He moves on to his time at the MIT AI Lab and Laboratory for Computer Science (LCS). I enjoyed his stories of how every hacker there refused to be pushed around by the administrators and insisted on running the machine and setting policies for its use on their own. That didn’t sit well with the suits, of course, and when they finally succeeded in implementing passwords for the LCS, machines Stallman quit working for LCS and devoted all his time to the AI Lab.

The interviewer tries to draw Stallman out on how it felt to be funded by the government that was bombing Vietnam but Stallman refused to take the bait. He said he, like everybody else at the Lab, was against the war but their work had no military applications and they didn’t worry about it.

The rest of the interview explores Stallman’s feelings about Free Software and what the FSF hopes to accomplish. Most of this will be familiar to Irreal readers but is still interesting.

The interview is a bit longer than usual but interesting and worth the time.

Posted in General | Tagged | Leave a comment

Emacs Security

If you follow the Emacs-Devel list, even in a desultory way, you probably noticed the long thread going back to June concerning Emacs’ insecure usage of TLS and what it means for Emacs users. LWN.net has a nice article that summarizes the discussion.

At first, the problem seemed straightforward and the solution relatively simple but as usual with complicated software—especially software performing a security function—things turned out to be more difficult than they originally appeared.

You should read the article to get the whole story but the TL;DR is that if you use Emacs to browse the Web and you live in a country where, as RMS put it, there are thugs with torture chambers spying on you, you should be very concerned. For most of us, there doesn’t appear to be as much danger, although there is still some threat. In any event, a consensus, more or less, was reached and changes will probably appear in Emacs 27.

Posted in General | Tagged , | Leave a comment

Emacs Doctor

From fuco1, a little bit of humor to top off your weekend:

Posted in General | Tagged , | Leave a comment

Some Small Progress on the DRM Front

In a rare moment of sanity, the U.S. Government has agreed that, yes, you can fix your own electronics even if the manufacturer has slapped DRM on the firmware to prevent it. It would be interesting to see the rationale that the manufacturers used in support of the original policy but even the iron constitution of the Irreal operatives is probably not strong enough to prevent collapsing on the floor in a fit of laughter so I’ll forego checking.

All of this originally came to the fore when farmers started complaining loudly that they couldn’t repair their tractors because the makers had slapped DRM on them. They apparently made enough noise to put an end to that but the ban remained on other devices. Now, at last, good sense has prevailed and we can fix our own property even if the manufacturers would rather we pay them to do it.

We have the music and movies industries to thank for this mess. They lobbied long and hard for the DMCA in the naive hope that it would protect their content. Other industries greedily took advantage of the law by installing DRM on their devices in such a way that only they could legally repair them or, in the case of printer and coffee machine makers for example, that you couldn’t use third party consumables like ink cartridges or coffee pods.

The third party consumables situation probably remains the same but it, too, needs to be changed. Or, you can do what we here at Irreal do and refuse to by from the sleazy manufacturers who do this.

Posted in General | Tagged | Leave a comment

Matt Green Gives Up Chrome

Matt Green, whom Irreal has mentioned many times (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), is a cryptographer at Johns Hopkins with an interest in user privacy. He’s also a long-time Google Chrome user. But now Green is giving up Chrome for reasons he explains in this long blog post.

The TL;DR is that Google squandered his trust with their recent decision to (surreptitiously) log Chrome into the user’s Google account whenever they log into any Google application. Green’s post explains why this matters and why he can no longer trust Chrome. It’s an important post and should definitely be read by every Chrome user.

Green is not a Google hater nor is he one of those folks who see spies lurking in every corner. He specifically says that there’s no reason Google can’t behave responsibly, like it has for the last 10 years of Chrome’s life. If anything, Green seems too trusting of Google and their intentions.

As I’ve said before, the days of “Don’t be Evil” are long over and Google should not be trusted. They will vacuum up your data, often without your knowledge, and they definitely don’t have your well-being in mind. I don’t think they were always like that but I’m convinced they are now.

For those who agree and would like to escape the Google plantation, James Docks has a comment in which he lists the replacements for Google apps that he uses since he left. If, like me, you live in the Apple ecosystem this is a bit easier because you can use Apple’s apps—like Calendar, Mail, Photos, iCloud, and Maps—instead of the corresponding Google app. You could argue, I suppose, that that’s just jumping into a different frying pan but—for now anyway—Apple isn’t in the business of collecting and selling user data so I feel reasonably confident in their commitment to my privacy.

Whatever your feelings about Google and privacy, Green’s post is a must read.

Posted in General | Tagged | Leave a comment

Using Emacs 51

Mike Zamansky had a few minutes free in his busy fall schedule so he recorded and posted another video in his Using Emacs series. This time he discusses how he uses Org Mode in his day-to-day work.

If you’ve been around Org for any time at all, you’ve probably heard the advice to start small and just use one or two of the basic functions. Zamansky’s video underlines that advice but from the point of view of an expert. Although he can and does use Org Mode’s advanced features all the time for all sorts of tasks, most of his day-to-day use just involves the basics of TODO lists, notes, capture templates, and agendas.

The main lesson to take from this video is not necessarily Zamansky’s particular workflow but how much of his daily work gets done using just the basic Org functionality. That should be comforting to n00bs might despair that Org mode is just too complicated to use.

The video is 21 and a quarter minutes so plan accordingly.

Posted in General | Tagged , | Leave a comment

Ancient Emacs Code

In response to my two posts concerning Emacs history, Lars Brinkhoff wrote me with a pointer to a wonderful repository holding the code to not only early Emacs but also such goodies as ZWEI and Zmacs and all the way back to TECO Emacs from 1976.

If you’re an Emacser and the type of person who likes to read and learn from old code—there’s more of us than you think, grasshopper—you should definitely take a look at Brinkhoff’s repository. It’s a great way to waste while away hours with software archaeology.

Posted in General | Tagged | Leave a comment

EmacsCast #6

Rakhim Davletkaliyev is back with another Emacs podcast. This episode is mostly about trying to achieve software minimalism and how he leverages Emacs to do that.

Towards the beginning he has an interesting vignette on how Emacs and Org mode helped him solve a problem in publishing his cartoon site. As he points out, what seems natural and easy in Emacs would require a kludgy hack to accomplish otherwise. It’s another example of how Davletkaliyev’s assimilation into the Emacs Borg is almost complete. Although he said in the early podcasts that he was just “fooling around” with Emacs and didn’t intend to use it as his main editor, he finds that he is moving more and more of his workflow to it.

Most of this podcast discusses his desire to reduce the complexity of the software he uses and to avoid the gratuitous changes that characterize the majority of today’s software. Emacs, he says, is different in that its UI is basically the same as it’s always been. Sure, there are improvements and some changes have required tweaks to the UI but Emacs has avoided changing things for the sake of a “fresh” user experience. Were a user of an early version of Emacs transported through time to the current age, his Emacs workflows would still (mostly) work as usual.

As part of his search for software simplicity, he’s changed his mind about making lots of customizations to the keybindings in favor of using the defaults. That makes avoiding conflicts easier albeit at the expense of having to retrain his muscle memory.

It’s an interesting talk and worth spending the time to listen to. The podcast is just under 42 minutes so you’ll have to do some scheduling.

Posted in General | Tagged | Leave a comment

ZWEI

Edward Coffin has a post that’s a nice companion to yesterday’s Irreal post on the evolution of Elisp. After much effort he managed to track down a copy of Dan Weinreb’s undergraduate thesis on the ZWEI editor and has posted a summary of the thesis on the Emacs subreddit.

ZWEI was an interactive full-screen editor written for the Lisp Machine. Like EINE, from which it was derived, it was based on Emacs (EINE is a recursive acronym for EINE is not Emacs). Like Emacs, ZWEI was written in Lisp and had features, such as the point and cursor, that today’s Emacs user would find familiar.

If you’re interested in Emacs history and seeing where your editor of choice came from, it’s worth taking a look at Coffin’s post. It’s short and won’t take much time. Also interesting and worth your time are the comments by netsettler, who worked on editors for the Lisp Machine at Symbolics. He has a nice discussion of the comparative advantages of using a linked list of lines—as ZWEI did—versus the gap structure that modern Emacs uses.

Posted in General | Tagged | Leave a comment

The Story of Emacs Lisp

Stefan Monnier and Michael Sperber have posted a preprint of their paper Evolution of Emacs Lisp. It’s a really interesting account of the history of Elisp and how it has evolved over its lifetime.

The thing about Elisp development is that it mostly flies under the radar. The vast majority of the changes aren’t user1 visible—at least not directly—so it’s easy to think of it as “just there” and never changing. In fact, Elisp is, like Emacs itself, under constant development. The paper traces that development from Elisp’s roots in MacLisp to where it stands now.

One of the major constraints on Elisp is the (nearly) absolute imperative to not break existing code. The reason for that is that much of Emacs is implemented in third party packages over which the developers have no control. This makes the introduction of significant changes, like lexical scoping and threads, difficult. Still, the language has evolved and it’s surprising how much it’s changed even though the core has remained relatively stable.

If you’ve been around for, say, ten years or more it’s surprising how much functionality has been added to the language. Things that we couldn’t live without now simply weren’t there in Emacs 21. So even though the evolution has been slow and steady it has occurred. If you’re at all interested in Emacs’ history and the problems that the developers had to solve, take a look at Monnier’s and Sperber’s paper. It’s a 36 page PDF so plan on spending some time with it.

Footnotes:

1

That is, non-elisp programmer users.

Posted in General | Tagged , | Leave a comment