Emacs Introduction and Demo

Howard Abrams has a nice video that serves as an introduction and demonstration of Emacs. Don’t be fooled by the “introduction” part. Abrams doesn’t spend any time on the usual 【Ctrl+p】 to move up a line, 【Ctrl+n】 to move a line down stuff that take up the majority of introductions. Rather, he emphasizes the demonstration aspects and shows the new user some of the advanced possibilities that Emacs offers. Abrams covers features such as

  • Multiple Cursors
  • Expand Region
  • Org Mode
  • Writing simple Elisp functions
  • linum-relative

I hadn’t seen the linum-relative before but it looks as if it could be useful in a lot of cases. The idea is that the buffer is numbered with 0 at the line the point is on and negative numbers for the lines above, and positive numbers for the lines below. That makes it easy to jump a required number of lines. For example, if you want to jump to the line labeled 6 you could type 【Ctrl+6 Ctrl+n】. Most of the time, I use ace-jump-mode for jumps of that sort but I can see how linum-relative could be useful.

Abrams offers some other tips that you might not have seen so the video is definitely worth watching. It’s about 36 and a half minutes so plan accordingly.

Posted in General | Tagged | 1 Comment

SBCL 1.2.1

The monthly release of Steel Bank Common Lisp is out. As usual, it compiled and loaded without mishap. Unfortunately, Slime wouldn’t compile due to a missing slot in the SBCL VM module. I can call it from the command line but not with Slime from within Emacs.

If anyone gets Slime to compile and work with SBCL 1.2.1, please leave a comment and let me know if you did anything special. When I dropped back to 1.2.0, everything worked fine so I don’t think it’s a system problem. This is under OS X 10.9.3.

Posted in Programming | Tagged , , | 1 Comment

Org-ref!

A month ago, I wrote about John Kitchin’s org-ref package. At the time, it was still an alpha-level project but showed tremendous promise. Happily, Kitchin has continued work on the project and it is now in a ready-for-end-users state. It’s still not an ELPA package but it is available at Kitchin’s GitHub. The GitHub entry is interesting. True to Kitchin’s reproducible research sensibilities, the whole package is an Org file written in a Literate programming style that both documents the package and provides the code. If you’re interested in seeing how to build such a file, click on the Raw button to see the Org source.

The latest news is that Kitchin has produced a video that demonstrates the package. You can see the package in action and get a sense for how you’d use it when writing a technical document. A bibliography is one of those things that’s not really all that hard to deal with but they can be fussy and use up a lot of mental cycles on trivial details. Org-ref helps automate all the fiddly bits .

The video is just short of 11 and half minutes so you won’t need to block out a lot of time. Don’t worry about copying down any of the details; those are all in the Org file at GitHub. In a comment to my previous post, Kitchin indicated that they hope to have org-ref integrated into Org itself. I hope that happens.

Posted in General | Tagged , | Leave a comment

How Good We Have It Now

Via Dennis Ritchie’s Website, here’s a 1984 ATT&T pricelist for SysVR2 Unix. If you were an educational institution, you could get a source license for $800 ($43,000 for others). DMR discusses these prices and some of the license restrictions here.

So what does this have to do with us? For $800—even 800 current dollars—we can buy a pretty good computer, load it with Linux (or one of the BSDs) and have a much better system for just the educational price of a Unix license. If you’re young, it’s always been that way but some of us remember when it was an impossible dream.

In 1984 it was still pretty much MSDOS and $3,000 PCs for individual users. The Internet was not widely available and Windows was just starting to be available and probably wasn’t that useful. A few years later everything had changed and anyone who wanted to could have their very own, full-featured Unix-like system. These days, even non-geeks can enjoy all the benefit of Unix nicely hidden behind the Mac OS X GUI.

We really do have it pretty nice now.

Posted in General | Tagged | Leave a comment

Snowden Revisited

There have been couple of interesting articles about Edward Snowden recently. The first reports that a year after the event a majority of Americans believe Snowden did the right thing. I don’t know for sure but I’d be willing to bet that even more non-Americans believe that.

Meanwhile, The Washington Post has an amusing article on the U.S. Government’s feckless attempts to get Snowden back from the Russians. Those efforts consisted mainly of repeated, ineffective pleadings to the Russian government that they send him home.

Although it was widely recognized within the working group trying to get him back that the best hope of doing so was for Snowden to leave Russia for a third country, they effectively foreclosed that possibility by intercepting the Bolivian president’s plane based on nothing but hope that he might be on it. That step convinced Snowden to stay where he was.

It’s still too early to say how history will judge Snowden but his actions have already affected the playing field. In America, the House of Representatives have voted overwhelmingly to ban the NSA from inserting backdoors into communication systems, a good first step. On the other hand, in Britain Theresa May is arguing for more surveillance. I don’t know enough about British politics (or any politics for that matter) to gauge whether or not that will fly. One can only hope not.

It will be interesting to see where we are a year from now.

Posted in General | Tagged | Leave a comment

Documentation on the Lisp Machine

As regular readers know, one of the things I love about Emacs is its recapitulation of the Lisp Machine. Like most developers, I never had the chance to work on a real Lisp Machine so Emacs is as close as I can get. Sometimes, it’s easy to imagine that they’re the same thing. But they’re not, of course.

Take the Emacs documentation system for example. It’s truly a wonder—far better than anything other programs offer. Write your own function, add a docstring and your function is automatically added to the documentation. Extraordinarily powerful and wonderfully helpful to the end user, it’s hard to imagine how it could be significantly improved.

Hard, that is, until you see how the Lisp Machine did it. I can’t begin to describe how extraordinary Concordia—the Lisp Machine documentation system—was. Fortunately, I don’t have to. Rainer Joswig has a wonderful video that shows Concordia in action. One of the really nice aspects is how great the authoring system is. The system is object oriented and all changes are effective immediately.

If you like the Lisp Machine aspects of Emacs, you won’t want to miss this video. It’s just less than 20 minutes long so you won’t need to block out a bunch of time.

Posted in General | Tagged , | Leave a comment

Comments on Older Posts

I’ve turned comments for older posts back on. We’ll see how things go. If I start getting a lot a spam, I’ll have to turn them off again. If I do have to turn them off, is 7 days the right amount of time to keep comments active? Should the active time be longer or shorter? Leave a comment if you have an opinion.

Posted in Blogging | Tagged | Leave a comment

Bozhidar Batsov on Emacs

Continuing with yesterday’s theme of Why I Use Emacs, here is an excellent post by Bozhidar Batsov over at (think) on why he uses Emacs. Anyone who follows the Emacs scene will be familiar with Batsov. He blogs regularly and is the author of prelude, projectile, and cider as well as the excellent series of short posts over at Emacs Redux. And, of course, Sacha has interviewed him. Here at Irreal, we’ve talked about Batsov and his works several times.

Batsov starts by pointing out that although many younger programmers prefer IDEs over text editors, the IDEs all suffer from the defect that they’re not really good at editing text: they make use of the arrow and other auxiliary keys that are death to efficient touch typing and mostly rely on the mouse and menus for their UIs. They are, in short, not optimized for the thing we do the most: editing text.

He remarks that Emacs is what you want it to be, a perspicacious remark, I think. You can configure it to work how you want it to work not how someone else thinks you should want it to work. As I’ve said so many times, this is the result of Emacs’ wonderful extensibility; its provision of a lisp environment that happens to have a lot of functions useful for text editing that you can mold to meet your needs.

Batsov covers a lot of ground so I’ll let you read the post yourself. It will be well worth your time. I will note that he offers a comparison with Vim and IDEs that strike me as fair and balanced so if you’re trying to make up your mind, you may find his discussion useful.

Update: Sasha → Sacha

Posted in General | Tagged | Leave a comment

Vincent Foley-Bourgon on Emacs

Vincent Foley-Bourgon has a very nice post on why he uses Emacs. I probably like it because his reasons pretty much mirror mine. Still, I think his post will resonate with every Emacs user.

Following the old joke, Foley-Bourgon considers Emacs as an operating system and its embedded editor. The punch line of the joke, of course, is that all Emacs lacks is a good editor but Foley-Bourgon makes the case that Emacs is a superb editor and able to hold its own against any competition. It has all the usual capabilities as well as several that most editors don’t have.

Any intermediate Emacs user is familiar with the operating system aspects of the editor and Foley-Bourgon covers many of them. All your file manipulations can be carried out with dired and remote editing is easy with tramp. There’s lots more, of course, and Foley-Bourgon covers much of it.

Finally, Foley-Bourgon considers Emacs as a development environment and Lisp machine. As regular readers know, I consider these the most important aspects of Emacs. Because you have access to the same tools that the developers of Emacs used, you can extend it in any way you want—even ways not anticipated by the original developers. A consequence of this is that tons of folks have used that ability to extend Emacs in ways that benefit us all. Some of those have been folded into Emacs core and others are available as separate packages easily installed with the built-in package manager.

Foley-Bourgon’s post is interesting even for those already committed to Emacs. If you know someone who is curious about Emacs and thinking of trying it out, this post may help decide the issue.

Posted in General | Tagged | 2 Comments

Feeling Better

I’m finally feeling a bit better and have started reading blogs and other sources again. I’m going to try to resume blogging now but don’t be surprised if things are spotty in the near future.

There’s lots going on so there should be plenty to write about. I’m happy to be back.

Posted in Blogging | Tagged | 6 Comments