Uses This


What do people use to get the job done?

Dhanji Prasanna

Dhanji Prasanna

Hacker, ex-Googler (Wave, Plus, Search)

Who are you, and what do you do?

I'm Dhanji R. Prasanna, a general hacker. I used to work at Google on Wave and under the Google+ project umbrella. While there I helped design and build the Live Search and Indexing infrastructure, the Live Search UI, Embedding APIs, and I worked on general performance. I represented Google on several Java expert groups and wrote a bunch of internal libraries including HTTP request dispatching pipeline, which dispatches nearly all the pageviews for Gmail, Blogger, Docs & Sheets, AdWords, Google+ and many others. I also contribute to many open source projects and am one of the authors of JAX-RS the Java API for Restful Web services. I also wrote Dependency Injection: Design Patterns, a software engineering book.

Now I hack on a startup with my friend @themaninblue!

What hardware do you use?

I run all experiments on an Amazon EC2 m1.large instance with EBS volumes. This is so much superior to any other system I've ever seen for its ease of setup and sheer computing muscle.

At home I have a 27" iMac and while on the road I use a 13" MacBook Pro (8GB) with an SSD. The SSD makes all the difference. I bought the iMac purely for Starcraft 2 but I've come to enjoy its ginormous screen and lack of wires.

I'm a bit of an input device magpie, so am currently using a Razer Mamba gaming mouse, which sports 5000dpi accuracy and wireless mode. Also a Kinesis Advantage ergonomic keyboard, which has an amazing split keyset that minimizes your finger stretch distance in all directions and has the most satisfying key-travel of any keyboard I've ever seen. Its padded palms also improve your attack posture. Anyone who hasn't used this keyboard should at least try to type a few paragraphs on one. I also have a regular Apple bluetooth keyboard. The Kinesis is good for writing and the Apple keyboard for coding as my muscle memory for shortcuts are still in the standard layout.

I have an iPad 2 and love it dearly, but don't use it much. I carry an iPhone 4 and sometimes use a Google Nexus One.

And what software?

Most of the software I write is in Java and usually meant to run in servers. So I use IntelliJ IDEA, which is a Java and JavaScript IDE. It is really the best desktop software I have ever used, and is my favorite app bar none. You can rename CSS classes in an HTML file and they get changed in templates and in JavaScript. It can detect a CSS code fragment in an HTML style tag in a JavaScript string, and autocomplete it correctly against your imported stylesheets. This is mindblowingly awesome stuff. I simply don't get the text editor wars of TextMate vs Sublime, etc. As far as I'm concerned this is like arguing about which is the better hand-pulled rickshaw when an anti-gravity hovercraft is sitting nearby.

(Having said that I still am quite fond of TextWrangler =)

I only use jQuery and don't really like any UI frameworks (including the rather disappointing jQuery UI). In the backend I like mongoDB but lately am quite pleased with storing schema-less JSON in a PostgreSQL server a la early FriendFeed.

I also hack in Haskell/GHC and Scheme/Racket.

What else -- my browser is Chrome. I like the Twitter Mac App for twitter. I don't really like Adium, but it's the best of a bad lot in IM. I also use and GNU screen. On iOS my favorite apps are: The Economist, Wired, Twitter, Flixter, Penultimate, Adobe Ideas, and TripView (for Sydney public transport).

In the Vi/Emacs wars I don't take sides, I was probably the only Googler who used both equally (and a lot). Dropbox rocks.

What would be your dream setup?

I'd probably want a legion more EC2 instances. I'd definitely get an SSD iMac if I had a do-over. Probably would want a premium windows box too, to play Windows-only games on and to see just how far graphics cards can be pushed with games like RAGE. I'm not much for a multi-monitor setup, I had 2x 30" screens for awhile, but they get a bit too immersive, and the heat is like sitting in an oven. I would like my MacBook Pro to be rid of the optical drive and be much lighter, otherwise its screen size is perfect. Also, when are they going to make batteries that last a week?

I guess most of what I'd like out of a dream setup is similar to what I have now, except with more cowbell.