December 21, 2010

Bulk view

What’s coming up in Emacs 24

UPDATE: Emacs 24 has not yet been released. Developers can get it from the version control system (git/master, for example). Alpha/nightly builds are available for Windows and Mac OSX. This is still a bleeding-edge version. Expect much breakage, even from popular packages like BBDB.

See C-h n (view-emacs-news) for all the details. Some highlights:

Emacs packages

M-x list-packages to browse and install packages, which are enabled by default. If you’ve installed a number of packages but you don’t want them to all load at startup, customize package-load-list. Not that many packages yet, but I’m sure people will add more.

Emacs themes and user-interface changes

M-x customize-themes lets you choose color themes or create your own. There have also been a number of user-interface cleanups (scrollbars on the right, smoother antialiasing, that sort of stuff), but nothing radical.

Bidirectional support

Big one for international support.


x-select-enabled-clipboard is now true by default, which means Emacs newbies in Linux won’t get confused by an inability to copy and paste between applications.

Version control

With the increasing popularity of distributed version control systems such as bzr, we now have a way to pull updates using M-x vc-update (also known as M-x vc-pull). There’s also a M-x vc-merge command. Looking forward to git support for both of these.


There is a create-animated-image function. Interesting.

Code and consulting

@bugsbane observed that I seem to be much happier when I’m deep in code.

It’s not as simple as that, and that’s worth exploring.

I’m more confident with code then with consulting. I’m in my element. If I were a fish, code would be water.

Consulting is still intimidating. I’m starting to be able to ask and answer the right questions, but there’s so much more to learn. And I can’tdon’t yet know how to write unit tests for an organizational process to make sure I’ve got things right. (Thanks for the reminder, Torsten!)

I could probably build a life with awesome code and do well. There is much to learn there too, and it’s a great way to make a scalable difference. I have many role models who show that this works.

But I’m curious about what better collaboration looks like, and what people and organizations could do if we experimented with better ways to work together. If I want to work towards that, consulting skills may be a big help.

There are lots of paths to this destination, and many possible journeys are worthwhile. I could focus on development and build apps, letting others focus on consulting. I could learn about consulting and work with people on implementation. I could switch between one or the other, or bring in something completely new.

But on a list of things that I would do if I had all the time, money, and energy I wanted, coding is there, and consulting isn’t. I enjoy learning about systems. I enjoy building tools. I enjoy hacking. I enjoy answering questions and giving people things that they can use to make their lives better. I know that consulting might be more generally useful skill, enabling me to make bigger changes, but coding lets me make a difference on my own, too. With consulting, you need the cooperation of many others. With code, you can learn more and make things happen almost at your convenience.

I’m so tempted to focus on coding, which I enjoy and which I do well, instead of investing the time in developing consulting skills, which seem a lot fuzzier and harder to learn. But consulting is worth a try, particularly if I can alternate it with projects that give me geek happiness.