Ride a Capagnolo at Work

Tuesday, March 22, 2016

Josh Stella, co-founder and CEO of Luminal, writes a nice layman's introduction to my favorite editing tool/organizer/Swiss army knife, Emacs.

If the notion of building your own personal working environment by editing Lisp code and having that fits-like-a-glove environment follow you to any computer is appealing to you, you may really like Emacs. If you like the new and shiny and want to get straight to work without much investment of time and mental cycles, it's likely not for you. I don't write code any more (other than Ludwig and Emacs Lisp), but many of the engineers at Fugue use Emacs to good effect. I'd say our engineers are about 30% Emacs, 40% IDEs, and 30% Vim users. But, this post is about Emacs for CEOs and other Pointy-Haired Bosses (PHB) (and, hey, anyone who's curious), so I'm going to explain and/or rationalize why I love it and how I use it. I also hope to provide you with enough detail that you can have a successful experience with it, without hours of Googling... [link and footnote omitted, bold added]
Biking enthusiasts might appreciate an analogy he draws between most modern writing/programming environments and Emacs.
Perhaps more importantly to me though, it's the one application I've ever used that makes me feel like I really own it instead of casting me as an anonymous "user" whose wallet is cleverly targeted by product marketing departments in fancy offices somewhere near Soma or Redmond. Modern productivity and authoring applications (e.g., Pages or IDEs) are like carbon fiber racing bikes. They come kitted out very nicely and fully assembled. Emacs is like a box of classic Campagnolo parts and a beautiful lugged steel frame that's missing one crank arm and a brake lever that you have to find in some tiny subculture on the Internet. The first one is faster and complete. The second is a source of endless joy or annoyance depending on your personality -- and will last until your dying day. I'm the sort of person who feels equal joy at finding an old stash of Campy parts or tweaking my editor with eLisp. YMMV. [links omitted, bold added]
Stella astutely makes the point (which I also find to be true of initially installing Linux on a new computer) that there is a bigger initial time investment with Emacs, but that it way more than pays for itself over time. The "shiny new" inevitably becomes the bloated old, the unsupported orphan, or both. I much prefer being able to accumulate software knowledge and power over time rather than have to waste time re-learning simple things every few years.

Stella motivates his tour by describing three big advantages of Emacs: (1) no more context switching, (2) creating things in peace and quiet, and (3) taking everything with you and keeping it forever. Here is what he says about the last:
The third reason I find Emacs more advantageous than other environments is that it's really easy to take all your stuff with you. By this, I mean that, rather than having a plethora of apps interacting and syncing in their own ways, all you need is one or two directories syncing via Dropbox or the like. Then, you can have all your work follow you anywhere in the environment you have crafted to suit your purposes. I do this across OS X, Windows, and sometimes Linux. It's dead simple and reliable. I've found this capability to be so useful that I dread dealing with Pages, GDocs, Office, or other kinds of files and applications that force me back into finding stuff somewhere on the filesystem or in the cloud.

The limiting factor in keeping things forever on a computer is file format. Assuming that humans have now solved the problem of storage for good, the issue we face over time is whether we can continue to access the information we've created. Text files are the most long-lived format for computing. You easily can open a text file from 1970 in Emacs. That's not so true for Office applications. Text files are also nice and small -- radically smaller than Office application data files. As a digital pack rat and as someone who makes lots of little notes as things pop into my head, having a simple, light, permanent collection of stuff that is always available is important to me. [footnote omitted, bold added]
The "stuff" Stella speaks about includes all your customizations, if you set things up right. In other words, you can even make a borrowed computer do exactly your bidding in a few minutes, if you need.

It took me a couple of months to become comfortable using Emacs and a little longer to start realizing its huge upside. I am glad I finally took the time to acquaint myself with this outstanding software suite.

-- CAV

No comments: