Why Emacs

Now that I’ve joined the wonderful world of the office workplace, I
find myself missing my Emacs-based life.

I miss using Emacs to manage my day. There’s something about being
able to open a text file and type in a line to create an appointment.
It’s clean and it’s simple.

Hmm. Maybe I’ll bcc myself on event invitations and I’ll just parse
that into my calendar. Maybe I’ll install Emacs on my work computer
and figure out how other people are doing their synchronization.
(Maybe I’ll write an Emacs interface for Activities! Well, that
would be the day… ;) )

Why do I like managing my schedule in a *text editor*, when there are
perfectly good groupware clients out there?

First, I really love the keyboard-friendly interface of Emacs. Don’t
get me wrong: C-x C-c is hard to type even on my keyboard, and
keyboard combinations involving Ctrl *and* Meta at the same time are
Not Fun. But it’s easy to define new keyboard shortcuts, and the
commands themselves don’t require any mouse movements. There are no
complicated fields I need to TAB through. Everything can be done
practically without looking. This is good for me.

Second, I like the customizability of it. If I invested some time
figuring out how to extend Lotus Notes 8 and I put up with the
edit/compile/run cycle, I might be able to get the kind of custom task
sorting and schedule highlighting that I have in my Emacs. Here’s what
tweaking looks like under Emacs:

  1. Get an idea. “Wouldn’t it be cool if…”
  2. Use C-h a (apropos) or C-h k (describe-key) or C-h f (describe-function) to get to some function that does something similar to what I want to do.
  3. If the change is easily encapsulated, write some function advice in a scratch buffer. If the change requires more complicated hacking, copy the function into a scratch buffer and start playing with it.
  4. Evaluate the new function. Try it out. If it doesn’t do what I want, use edebug to find out why. Build up from small changes. Lather, rinse, repeat.

Fun stuff.

Random Emacs symbol: muse-colors – Group: Options controlling the
behavior of Emacs Muse highlighting.