Sunday, February 3, 2008

Getting people to use Emacs

How easy has it been for you?

In my 10 years of using Emacs and talking to people about it, I think (the emphasis is on 'think') I managed 2 converts. But those were already Unix experts and probably don't count. :-)
Even the 2 converts, took about a couple of years, one decided to plunge in and the other a couple of half hearted attempts and then took a deep dive into it.

Like, decided to use Emacs for 6 months without using any other editor.

I really find it hard, to understand why this is difficult for someone. Not that Emacs is easy to learn. I meant the apparent decision in making up one's mind that indeed Emacs does things better than notepad or vi.

I can understand that if someone agreed that Emacs is the way to go but gave up due to the learning issues; for whatever reason. But what I don't get is the complete disinterest when your work involves things that Emacs does in a jiffy. Apparently I just showed you that in Emacs editing database columnar data is easy (you don't have switch from pasting between notepad and MS Excel to align the data) and you still show a complete lack of interest in knowing how that is done?

Leaving aside the Emacs learning part, wouldn't anyone be interested in that 'cool', 'neat' way of solving a simple text issue? Using vi to review large code bases versus using Emacs and bookmarks? Using htmlize? Helping someone with applying code changes using ediff? Simple word wrapping using M-q?

I tried across the aboard, people in the early twenties, late twenties and even my age group.
Not a single chap has come back to ask where, how and what to learn about Emacs?

Depressing.

Without evangelising, I've shown people how to do stuff in Emacs and the results have been....let's say diplomatically.....bloody disaster.

I must be getting old. That's all I can think of. or Ugly. or Stupid.

Using bookmarks...finally

Using Emacs for so long I never used bookmarks at all. Nada, not even once in almost 9-10 years. Sure I had read the documentation and knew that it existed. But using it?

Nope.

Bit like ctags. Know what it is about but since I don't program in C, I don't use it all.

Till about a few months back. Told to fix an application written in ksh, Oracle PL-SQL and Syncsort scripts. About 11KLOC lines of code in all.

The first few days I spent time opening many frames and buffers of the same file and it was clunky. I mean, there was a wall of Emacs frames on the taskbar.

There had got to be a better way. Since I had a RSS feed to the RecentChanges page on the Emacswiki site, I got a link about the bookmarks page.

A quick look at the page and then the manual, whipped up the one line change to my .emacs.


(global-set-key (quote [f9]) (quote bookmark-jump))


Setting bookmarks is done by C-x r m and entering a label using a mnemonic. Hint: Use the label latest for the most frequent or current focus of analysis. Then I use F9 to make Emacs prompt for a bookmark, which, by the way, allows tab completion in the minibuffer.

Bookmarks works in Dired buffers too AND tramp setup. Pressing F9 and Emacs prompting me for the password for the remote server is nice. Very nice (Yes, I know I can set the .authinfo or .netrc setup for the passwords)

With bookmarks, my analysis speed went up by an order of magnitude. I was using considerably less buffers, with less screen splitting and was going hither and thither through the code. Not only was my work done faster, I also bookmarked the frequent folders that I used to edit files in.

All in all, bookmarks WILL increase your productivity when you're looking at large code bases.

Those used to ISPF editors on the mainframe will not find this new, as it's very similar to labels. But the bookmarks on the mainframe is limited to the file you're currently editing or viewing. And I don't recollect whether the bookmarks are remembered across session; I think one cannot store those across sessions.