VIM">A Love Letter to VIM

Friday, April 24th, 2009

Despite its hideous logo, VIM is a fantastic editor. VIM gets a kiss of death from HCI: it’s modal, has a steep learning curve and requires mental & muscle memory. Whenever I praise it around HCI folk, they crinkle their noses. But it’s an expert interface. Although I learned it many years ago, way before I knew anything about HCI, here’s 3 reasons I still love it:

  1. It minimizes programmer energy. VIM never makes you take your hands off the keyboard! I cannot say this enough. You never have to take your hands off the keyboard! An IDE like Eclipse will do lots of fancy stuff for you, but you have to click-click-click. It’s horrible. You should spend 95% of your time on the keyboard, not clicking. Time clicking is time not coding.
  2. It rocks on data files. I often have complex data files that I need to hack up in some structured way. Like, find the second ::, delete from there until the next !. Repeat 10,000 times. The only other way is often a script. VIM solves this problem quickly and indulges my inner laziness.
  3. It’s everywhere and needs only 2MB of memory. My app should need 300MB of memory, not my editor. Couple this with the fact that it’s standard on every *nix box (OS X too) and you’ve got a strong reason to give it try.

Remodeling Reader

Tuesday, October 9th, 2007

reader tag cloud interface
screenshot of remodeled list of feeds

Google Reader is one of my favorite apps. My biggest complaint, however, is the waste of space in the list of feeds on the left side of the interface. This summer I toyed around with a Greasemonkey script that transforms the interface into a tag cloud. It’s not perfect, but I use it day to day. To use: install GreaseMonkey, then install the script (you only need to click the link — GreaseMonkey takes care of the rest).

Inaugural post

Monday, October 8th, 2007

I decided to redesign my site (old version) into a blog format, in the hope that I will find more joy in updating it regularly. I will post published papers here, as well as ongoing research prototypes and unfinished analyses. Perhaps I will even become more of a public academic.

I have not completely filled-in the site yet. I plan to do it gradually as I adjust to periodic updates.