Stallman on the History of Emacs and GNU

Here's an interesting video from 2002 of Richard Stallman talking about the history of Emacs and the GNU project. As far as I can tell, this is the talk whose transcript I wrote about 3 years ago. It's about 40 minutes so plan accordingly.

Posted in General | Tagged , , , | Leave a comment

Casting Spels in Emacs Lisp

Conrad Barski (with Jim Webb) has released an Elisp version of his entertaining introduction to Lisp.


Perfect for the N00b but even experts may find it delightful.

Posted in Programming | Tagged , | Leave a comment

Garbage Collection and Your Refrigerator

Jonathan Magen has a nice introduction to garbage collection. In it he illustrates various garbage collection strategies by using the same algorithm to get rid of old food in the refrigerator. It's not a deep technical discussion but is perfect for getting a feel for how the algorithms work and their advantages and disadvantages.

Magen supplies references to more advanced works for those who want to dig a bit deeper. If you've wondered how GC works, this is a resource to start with.

Posted in Programming | Tagged | Leave a comment

Emacs 24.4 RC1

As promised, Emacs 24.4 RC1 was released on Friday. If all goes well, we'll have the official release of 24.4 on Monday. There's a lot of great improvements in the new release so, like most Emacers, I can hardly wait for it to be released.

Of course, if you really want to live on the edge, you can move directly to the new Emacs 25 development branch. I depend on Emacs and want it to be absolutely stable so I don't want to be that far out on the limb. On the other hand, Lee lives in Emacs too and seems to be happy with living on the edge.

Posted in General | Tagged | Leave a comment


Ooh, I want one.

Posted in General | Tagged | Leave a comment

Elisp and the Clojure Threading Macros

One set of Clojure features that its adherents are quite fond of is the threading macros ->, ->>, and -->. Unless you're familiar with Clojure, you probably don't know what they do.

You might wonder why we should care. The answer is that Magnar Sveen has implemented them for Elisp in his dash library and they turn out to be useful. The problem is that most Elispers don't have an easy way of finding out what they do. Yoo Box has come to our rescue with a nice post that explains the macros and how to use them.

On the one hand, they aren't very (Common or Emacs) Lisp-like but they can make your source code more readable and perhaps easier to write. I'm still not sure whether I'm a convert but with Sveen's library and Emacs, I have all the tools I need to experiment with them. Box's post is well worth a look for any Elisper.

Posted in Programming | Tagged , | Leave a comment

A Tip on Editing Org Mode Table Formulas

Rob Syme offers up a tip about editing org-mode table formulas that everyone should know but many don't:

Posted in General | Tagged , | Leave a comment

Sharpening the Knife

SQLite, a C library that implements an SQL database engine, is the most widely deployed database engine in the world. The system is extraordinarily stable. One of the reasons is that although SQLite contains about 89.9 KSLOC it has 91493.0 KSLOC of test code and scripts. Follow the last link to see what's involved in that testing. One hundred percent coverage and regression tests are only part of it. If every project did as well, we'd have a lot less buggy software. It reminds me of Walter Bright (of Zorland C/C++ and D programming languages fame) who once wrote that over the years he has accumulated a set of regression tests for his code generator that tests every error he has ever found.

As Magnar Sveen said in Episode 4 of Emacs Rocks!, it's all about sharpening the knife. The SQLite developers know a thing or two about knife sharpening. The latest version of SQLite (3.8.7) is 50% faster than version 3.7.17 due to micro-optimizations. They say that each optimization may contribute as little as 0.05% improvement but over the hundreds of such optimations they've achieved a spectacular improvement. Read the article to get an idea of what they did. Really, they're an inspiration to us all.

Posted in Programming | Tagged | 1 Comment

If Programming Languages Were Cars

I probably shouldn't but I love this sort of thing and find many of the entries hilarious.

Posted in Programming | Leave a comment

Global Key Bindings

Over at the Google G+ Emacs community Alison Chaiken points us to an interesting post by Akkana Peck. Many times, I've set a key sequence for some function—often the recommended key sequence—only to have some other module steal it out from under me. This happened twice with ace-jump-mode for instance.

Peck finally got tired of that and figured out how to set a global key binding once and for all. It involves creating a minor mode and setting some alists. Head on over to Peck's site for the details. If this sort of thing has been bothering you, take a look at Peck's post.

Meanwhile, back at the Emacs Community, Detlev Zundel comments on Chaiken's post pointing us toward another, more general, solution by John Wiegley. It's also worth looking at if you have this problem.

Posted in General | Tagged | 2 Comments