Sunday, May 6, 2007

The Cool Kids

My buddy Omar and I were having coffee yesterday and talking about fun startup ideas among other things. Omar has already been exposed to my Ruby fanaticism and he's a Mac buff. So I was showing him my latest toy, the TextMate. TextMate is the coolest developer tool I've seen in a while. (Probably since I began using Intelli J from Jetbrains back in 2003, also known as the days of yore.)

Omar made the comment, "That's what all the cool kids are using these days." Which resonated with an idea I've been thinking about lately. It seems to me that there are some pretty big shifts going on in terms of how development gets done. My own productivity has increased enormously over the last 5 years. Lately I've experienced some stunning changes in how much I can get done, partly due to the fact that maybe I'm just getting better at it, but mainly do to the fact that I have better tools with which to do it.

For me the first shift was from Java to Ruby. This was back in 2004 and the early days of Truveo. I was trying to make a Perl script do what I wanted and it just wasn't working. I kept sending emails to my buddy Manchek (my personal hacker guru) asking him why this or that thing didn't work the way I expected. He finally got fed up and suggested that I learn Ruby. (Thanks again Bob!) He knew that I came from the C/Unix/Vi school and that I was then living in the Java world. I think he suspected that Ruby would fit my brain a bit better than Perl. It did.

I eventually gave up on Java and started doing everything in Ruby. I missed using the Jetbrains stuff and tried to get Ruby and Eclipse working but it just took too much work. I reverted to Ruby and XEmacs on cygwin. Progress was made, rapidly.

I've pretty much been living in that world until my AOL issued laptop started taking 5 minutes or so to boot up. It was driving me nuts. I live on my laptop. I do all my development and non-development work on this one machine that goes everywhere with me. (More on that later.) Since the machine had to be docked and undocked daily, I was shutting down and booting up twice a day. These zen exercises were costing me around 20 minutes a day. I decided to take drastic measures, I installed Ubuntu. This was a whole other odyssey which I won't get into here. But eventually I prevailed. I had a real linux environment with all the trimmings. The best part, boot times under 60 seconds. Rock on.

Now comes the bad part. A lot of the other fun stuff I liked about XP was gone. The two biggies for me were iTunes and destktop search. I can probably live without iTunes but the lack of a good desktop search was a problem. I have tons of email and I was used to finding things easily. (Thankyou Google Desktop.) Well Ubuntu has Beagle, but I found Beagle about as useful as a wiener dog. Kind of a hassle and not that much fun.

Ubuntu had a hacker coolness to it but it just didn't have all the creature comforts I needed. I was proud of myself for getting it to work. I had to do some fairly heroic things, like compile custom VPN software and get my WiFi working even though my D410's chipset wasn't supported by Ubuntu. But, then I saw the light.

Last December we spent a week at Beaver Creek skiing with some friends. One was my good friend Peter, another of my personal gurus. He had a shiny Macintosh and I had to have one. Luckily Peter and I both work for AOL and AOL is willing (if not always happy) to provide both Windows and Macintosh computers to its employees. I proceeded to badger the administration and was eventually awarded my own shiny MacBook Pro. iTunes support, check. Desktop search, check. Unix underpinnings, check. Rock on.

This brings me back to the cool kids and TextMate. I started settling into my new OSX home, re-arranging the furniture and hauling in some of the old furniture from my last place in Ubuntu Village. I couldn't quite get the XEmacs through the door though. There was this thing called Aquamacs but it was just scary. The port of GNU emacs for the mac seemed like the best choice. Things were still missing, like syntax highlighting for Ruby, etc. Then one day I ran across this screencast by James Edward Gray II, and I was hooked. Not only did it support Ruby like a champ but it had some of my favorite control key bindings from emacs: ^a, ^e, ^k, and ^y are all there and happy to help. Sure, it costs 39 euros, but hey, I'm worth it.

There is so much cool stuff in TextMate I would recommend splurging on the book as well: TextMate: Power Editing for the Mac

So what else are all the cool kids using these days? (And who are these cool kids anyway?) I suspect the cool kids know about GTD, Subversion, and a whole lot more. My plan is to keep an eye out for this kind of hacker goodness and blog about it when I get the chance.