Lead developer (The Khan Academy)
Who are you, and what do you do?
My name is Ben Kamens, and I'm working on growing a great dev team to deliver Sal's vision for the Khan Academy. I have trouble sleeping if I haven't coded at least a little bit each day. I'm also proud to be known as "that guy who now works with John Resig."
What hardware do you use?
I'm on one of those first-unibody-model MacBooks that came out a couple years ago and lives in no-man's land between a standard MacBook and a MacBook Pro. It's my only computer 99% of the time, and while I've loved it, I'm weeks or months away from an upgrade. At work, I plug into a big Cinema Display and even use a Magic Trackpad as I'm hooked on the gestures. Of course, up until the last year or so, I did all my development on Windows.
I employ an army of rubber ducks and one monkey to talk me down from my frequent coding stupidity.
And what software?
As soon as my computer boots I use Quicksilver to fire up Terminal.app and Chrome. MacVim's not far behind, which I use for both development and any random writing. I check the blog of the recently-beta'd VicoApp daily, because I'm aching for a prettier vim environment. Vico's missing a few too many features for me to make the switch just yet, but it looks really promising. I like Chrome tweaked with the Vimium and Sight extensions for keyboard browsing and pretty syntax highlighting, respectively.
I just moved to the Bay Area from New York, where I was working remotely with the Khan Academy team for the past 6 months. Jason and John are still remote, so communication tools are key. Internal talk is almost entirely covered by HipChat for chat, Skype for voice, and gmail/Google apps for everything else. We'll probably be branching out into some more open-source friendly communication tools in the near future.
When it comes time to code, these days I have the App Engine Python SDK running with Chrome open and its Developer Tools expanded. Source control is 90% Mercurial/Kiln and 10% Git/Github, and John's addding more community dev resources on the Github side. I'm a huge fan of client side performance work, so I love loading up Firefox with Page Speed and YSlow -- although recently I've been relying more and more on GTMetrix to accumulate these stats over time.
If I were threatened with a gun and told to only keep one app that I currently use, I'd sacrifice all of the above to save Netflix and its ability to stream Arrested Development.
What would be your dream setup?
Silent room. Like, Silent silent. It'd be about 65°F with a tree and a babbling brook that only babbles when I'm not in the mood for silence. When I need a break from coding in this dream office, my best friends show up. Then they always leave just when I'm about to go into the zone without my needing to say anything. This hardware exists, right? Also, I'd like a bunch of more realistic stuff I plan on grabbing soon anyway, like the latest MacBook Pro with solid state and gobs of memory.