Emacs 24.4 is Released

Emacs 24.4 is finally with us. You can go to the GNU Emacs site to get a copy. When I downloaded it, the mirrors had not yet been updated so I just went to the primary FTP server to get my copy.

It compiled without problem. You can just follow the INSTALL file instructions, perhaps going to the INSTALL file for your particular platform but the TL;DR for the Mac is

./configure --with-ns
sudo make install

Then (for the Mac) you have to drag Emacs.app in the nextstep directory to /Applications. It almost takes less time to do it than it does to describe the process.

When I brought the new Emacs up, I had two problems (at least so far). First, it wasn't loading ace-window because it couldn't find the file, even though it was there. I deleted it from ELPA and then readded it and it worked again.

Second, I have Emacs configured to split the frame horizontally so that I have two side by side windows when I start. The frame split during initialization but then killed one of the windows so that I had a single wide window. I solved that by setting disabling desktop-save-mode:

(desktop-save-mode nil)

It still remembers my open buffers across invocations so it's just like it was before. This is no doubt because of the new session-saving features: I'll have to investigate it more later.

This is my second post written in Emacs 24.4 and as you can see it's working just fine. I doubt any Irreal Emacsers need the reminder but you should definitely upgrade. It's really easy, even if you compile from source.

Posted in General | Tagged | Leave a comment

Just A Reminder

I know I've said it over and over but it bears repeating: Law Enforcement will ALWAYS abuse any data collection opportunity they are given.

Posted in General | Tagged | Leave a comment

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