A Convert Reports on His Progress

A year ago, Bailey Ling was a Vim user. Like many of us, he switched to Emacs and now he’s giving a progress report. Many of Ling’s long-held work flows have become victim to Emacs. For example, he used to use tmux to handle multiple sessions with Vim. As an Emacs user that is no longer necessary. He’s got other examples so be sure to read his post.

Like many who make the trip from Vim to Emacs, Ling started off using evil-mode but found that he could be more efficient by learning the native Emacs key bindings. He still uses evil-mode for editing text but turns it off for everything else. That seems like a reasonably compromise but I’m still glad I just jumped in and learned the Emacs key bindings. As I’ve written before, my muscle memory still has flashbacks to Vim key strokes with, often, hilarious results. Trying to cope with two sets of key strokes would likely render me about as efficient as I would be with ed.

As with almost every Emacs user, Ling started moving more and more of his work flow into Emacs. He, like me, loves how you can make a tweak to Emacs and evaluate it on the spot without restarting Emacs. He’s found, as many of us have, that Emacs is a way of life.

If you’re a convert from Vim, give his post a read; I’m sure it will resonate. Even if you aren’t a convert, you may find his experiences interesting.

Posted in General | Tagged | Leave a comment

The Word versus LaTeX Paper Keeps on Giving

The infamous Word versus LaTex paper that I wrote about previously has taken on a new life as a gag. Every instance of “Word” in the paper was replaced with “Emacs” and every instance of “LaTex” was replaced with “Vim.” All the links were changed to point to a page of Hahahas. The result was a fake PLOS ONE paper purporting to show that Emacs users were more efficient than Vim users.

The most amusing thing about the joke was how successful it was. A number of Emacs users pointed to it with glee as proof of Emacs’ superiority. Emacs is superior, of course, but as much as we Emacs lovers might wish it otherwise, a competent Vim user is going to be more efficient at editing text than an equally competent Emacs user. The reason for that is that Vi/Vim commands are composable.

I maintain my belief that Emacs users are more productive overall than Vim users but many near and dear to me disagree. The best lesson to draw from the joke is that the Emacs versus Vim debate’s status as a holy war is affirmed. Why else would so many people be ready—eager—to believe an obviously fake paper?

Posted in General | Tagged | 1 Comment

Word versus LaTeX: A Coda

A short while ago I wrote about the Knauff & Nejasmic study claiming to show that when Academics are writing papers they are more efficient with Word than with LaTeX. That study was, in my and several others’ opinions, completely bogus. My original post details some of the problems with it, but you should see Claus Wilke’s post for a more thorough analysis.

When I wrote the original post, I thought it was just another annoying academic paper aimed mostly at getting a pub credit. But now Nature, an indisputably serious journal, is reporting on the brouhaha. They say that paper has generated an uproar online. One commenter tweeted that it will be the most controversial paper of the decade. Another tweeted what most Irreal readers already know: LaTex is much better at taking care of things like bibliographies and renumbering equations and sections and the like.

One frequent reviewer of scientific papers says that the ones prepared with LaTeX were 500% better than those prepared with Word. I’m tempted to comment on that but will forebear.

As I reported recently, I’ve been learning to use AUCTeX lately and I can promise you that anyone having even a moderate facility with it will easily outperform a Word user. That’s especially true in a fair fight where LaTeX was evaluated in the manner it was intended to be used.

And by the way, is it really that hard to learn LaTeX? It’s a little off-putting to hear an academic—especially one in the sciences—complain that LaTex requires significant effort to learn.

Posted in General | Tagged , , | Leave a comment

Introduction to PGP Video

The good folks over at New York Emacs Meetup have posted their monthly talk. This time, it’s George Brocklehurst with a talk entitled A Pretty Good Introduction to Pretty Good Privacy. It’s a mostly narrated slide show, although there are some terminal demonstrations, that discusses the whys and hows of PGP, OpenPGP, and GnuPG.

Brocklehurst starts with a discussion of what PGP can do and why we should care. There’s the usual encryption and signing functions that Irreal readers will be familiar with as well as some experimental uses that you might not know about.

The bulk of the presentation involves generating a key, uploading it to the key servers, and signing other users’ keys. If you’ve never made yourself a PGP key, you may find it helpful to watch someone do it live.

The most useful thing for me was the demonstration of key signing. The PGP Web of Trust is an important part of using PGP/GnuPG securely and you really should get your keys signed. The basic operation is to retrieve the key from a key server, verify the fingerprint with its owner, sign the key on your machine using your private key, and then upload it to the key server again. It’s really pretty easy and many technical groups have key signing parties where the attendees sign each other’s keys.

The talk is about 53 minutes so you’ll need to schedule some time. If you’re not already familiar with PGP/GnuPG and how to use them, the talk is well worth your while.

Posted in General | Tagged | Leave a comment

Happy Birthday

Happy birthday to one of my heroes. Keep on doing what you’re doing.

Posted in General | Tagged | Leave a comment

Open-Offices: Still Going Strong

The Washington Post has a nice article by Lindsey Kaufman entitled Google got it wrong. The open-office trend is destroying the workplace. As the title suggests, the article is a crie de coeur on the horrors of the open-office.

Kaufman is in advertising and enjoyed a private office until her company decided to “improve communication” by moving to an open-office plan. No longer able to work in silence and concentrate on her copy, Kaufman found herself seated at a long shared table next to a woman “who I suspect was an air horn in a former life.”

It’s hard to believe that this nonsense is still going on. There’s plenty of research to show that productivity and morale plummet, easily swamping any benefits from increased communication. David Heinemeier Hansson has a suggestion as to why this is still going on.

Really, though, we all know the answer: it’s cheaper. That wouldn’t be so bad if the people imposing an open-office on their workers were honest about it. Instead, we get self-serving nonsense about “improving communication.”

I remember that the CEO of a company I once worked for decreed that all the company executives should move to the bull pen so that we could have “improved communication.” Oddly, he stayed right in his private office while everyone else suffered an environment not unlike the food court at a particularly bad mall.

Posted in General | Tagged | Leave a comment

Quote of the Day

Well, really it’s from 2010 but still pithy and worth revisiting:

I am currently working in Java to re-implement an algorithm I prototyped in lisp. If I replace all of the required curly-braces and semicolons in Java with parens it turns out that the Java program has more parens than the lisp program. The lisp program is 20 lines, the Java program has crossed 100 lines and is still growing.

That’s Tim Daly responding to Steve Yegge’s Lisp is Not an Acceptable Lisp post.

Daly makes a lot of good points and you should read his post if you’re interested in matters like this. What I like about it, though, is that it addresses the tired canard that Lisp is too annoying or difficult to use because of all those parentheses. That quote should be the standard response to any complaint about Lisp’s parentheses and even more so to every proposal to replace parentheses with indentation or whatever.

I think the problem that people have with parentheses in Lisp is that they think of them as arbitrary punctuation of the sort that they’re used to in Java or whatever horror they’re writing in. Lisp’s parentheses are, I suppose, punctuation but I think of them as part of the S-expressions that are the fundamental building blocks in Lisp. There’s nothing arbitrary about their use; every sexp starts with ( and ends with ). That’s all there is to remember. In contrast, think of the situation with ; in C or Pascal.

Posted in Programming | Tagged , | Leave a comment

Using AUCTeX

Before I started using Org-mode for most of my writing, I typeset everything using groff. I occasionally used TeX but very little LaTeX. One of my New Year Resolutions is to learn more LaTeX.

My recent post on Piotr Kaźmierczak’s use of AUCTeX had me itching to try out AUCTeX. So I loaded AUCTeX from ELPA and started working through this 3 hour introduction to LaTeX. I also had the Not So Short Introduction to LaTeX and the AMS LaTeX Reference Card at hand.

My first pleasant surprise was how easy the installation and use of AUCTeX was. I simply loaded it with ELPA, opened a new .tex file, and started using it. There was no configuration needed. I haven’t bothered reading the manual yet. The menus show the necessary key shortcuts so I learned and was using the shortcuts in no time at all.

Opening a file with the .tex extension automatically invokes AUCTeX. The two most useful things to know are that 【Ctrl+c Ctrl+c】 will compile the document. If there are any errors, AUCTeX will instruct you to type 【Ctrl+c `】 to pop up a buffer with the errors.

If the compilation was successful, you can type 【Ctrl+c Ctrl+v】 to see the paper. On OS X this invokes Preview. Other systems presumably do something similar.

If you’re familiar at all with LaTeX, you know that almost all special formatting is done in an “environment.” For example, to typeset a bullet list, you would use the itemize environment:

\begin{itemize}  % ⟵ the itemize environment
\item first bullet
\item second bullet
\item and so forth
\end{itemize}

AUCTeX makes it easy to enter environments by typing 【Ctrl+c Ctrl+e】 and then the name of the environment you want. AUCTeX will insert the \begin{...} and \end{...} commands and put the point between them. There are other labor saving features that I haven’t used yet but perhaps I’ll write about them later if I find them useful.

Two other useful commands are the ones that Kaźmierczak wrote about. You can format your input by section, region, environment, or paragraph. You do that by typing 【Ctrl+c Ctrl+q Ctrl+X】 where X is s, r, e, or p depending on what you want to format.

If you have a long paper, you may not want to typeset the whole paper every time you want to check some formatting. Instead, you can preview the code at point, environment, section, region, buffer, or document. You do that by typing 【Ctrl+c Ctrl+p Ctrl+X】 where X is p, e, s, r, b, d.

The great thing about AUCTeX is how easy it is to learn and use. Often complicated environments like AUCTeX are difficult to learn and may or may not be easy to use when you do learn them. AUCTeX is easy right out of the box. Use the menus the first few times you invoke a command and after a very short time you will have learned the key shortcuts. I love this package.

Meanwhile, abo-abo over at (or emacs has a post on an enhancement that he calls latex-wrap-region. The idea is that you have some highlighted text that you want to wrap in an environment. You simply call latex-wrap-region and select the environment you want. See abo-abo’s post for the details.

Posted in General | Tagged , | 8 Comments

Org Mode for Research Papers

Vikas Rawal has an excellent introduction to using Org-mode for writing academic research papers. Rawal is mainly interested in statistical studies so his introduction emphasizes R but not in a way that excludes using his notes for other languages. Almost everything he says about using R (except the R code itself, of course) applies to other languages as well.

Rawal practices reproducible research so his paper writing environment is structured to make that easy. All the analysis for his papers is performed by embedded code blocks so anyone who has his Org file and external data sets can reproduce his results. He doesn’t say but presumably small amounts of data are also included in the file even if they aren’t exported.

Export to PDF and HTML is handled by the excellent Org export system. Org can also export to ODT for use with Word but Rawal needs a bit more flexibility so he first exports to LaTeX and then uses pandoc to complete the conversion.

I really like these notes. If you’re writing papers (scientific or not) either as part of your job or as a student, Rawal’s note tells you how to do it easily using the much simpler Org-mode markdown instead of LaTeX itself. You need only add a bit of LaTeX boilerplate to your Org file to make things work. Rawal shows you what you need to do. He also includes a brief introduction to Emacs and Org but most Irreal readers will already be familiar with that material.

This is a great resource. If you’re writing papers, give it a read.

Posted in General | Tagged , | Leave a comment

Looking for a Fancier Mode Line?

Here’s a Stack Exchange post that tells you how.

Posted in General | Tagged | 1 Comment