John Resig

John Resig

Programmer (jQuery)

Posted Photo by Ben Alman.

Filed under:

Who are you, and what do you do?

I'm a JavaScript programmer. I work for Khan Academy, developing a next generation educational platform. I'm the creator and lead developer of the jQuery JavaScript library and the author of two books on JavaScript: Pro JavaScript Techniques and Secrets of the JavaScript Ninja.

What hardware do you use?

Primary work computer: 27" iMac (i7 processor, 8GB RAM) with 22" secondary monitor, primary laptop is a 13" Macbook Pro (Core 2 Duo, 4 GB RAM). I have a 60Mb/s cable Internet connection through RCN. I have a number of backup machines, mostly used for testing, including a PC running Windows XP, a Chromebook, and a MacBook. I also utilize a large number of phones and tablets for testing, most of which are located at Filament Group, the folks who are behind jQuery Mobile.

I also have multiple Mac Minis that I use for watching media. One is hooked to a projector that is capable of displaying 720p video (BenQ W500), another is hooked to a 19" LCD that is in front of my elliptical.

I use an iPhone 4 for my phone and recently acquired an iPad 2 for testing, courtesy of Khan Academy.

In my kitchen I have an iPod/iPhone dock and speakers that I can hook my iPhone into to play music while I cook. I have a similar dock in my car.

I have a 5 Bay RAID-5 NAS (Thecus N5200BR) with 5 1TB drives in it (giving me about 3.6 TB of storage, which is currently all used). I backup all my media to this device and keep a spare hot swap drive in case of hard drive failure. I keep an extra backup of all my documents on Dropbox.

And what software?

For everyday computer use I use Firefox for browsing (holding Google Mail and Calendar in app tabs). I do a lot of writing in Google Docs, my presentations in Keynote, and my blog post authoring in Textmate. I use Skype, Google Chat (inside GMail), and IRC (using IRSSI in a screen session) for communication and Gyazo for screenshot sharing.

For development I use Chrome, vim (vim config), Textmate, and iTerm2. I keep a number of browsers open at all times, multiple versions of Firefox, Chrome, Opera, and Safari. I run VMWare Fusion with even more browsers inside (including multiple versions of IE, Firefox, Opera, Chrome, and Safari). I use MAMP to easily run a simple, local, web server and MySQL DB to help with testing. I store all my code in Git (on Github, oftentimes in private repos) and back it up in Dropbox.

On my phone I have the following apps on my home screen, from top left to bottom right: iPod, Clock, Notes, Camera, Settings, NOAA (opens weather.gov), Calendar, Twitter, Foursquare, Carcassonne, MassTransit (gives me Boston bus GPS positions), Yelp, Facebook, and iSSH (can SSH into servers, use IRC), Maps, Safari, Messages, and Phone.

I use VLC and Boxee for playing all of my videos and iTunes for playing my audio (synced to Last.fm). I use AirVideo to stream movies to my iPhone and iPad.

For acquiring media I use iTunes, Amazon MP3, Netflix streaming, and Usenet. Specifically for Usenet I use SABnzbd+, running on one of my Mac Minis, connecting to Giganews, and pulling from NZBs.org or Newzbin.

For games I play Starcraft 2 (id: frowny.396, I'm a Silver Protoss), Minecraft, and some iPhone games (including Carcassonne and Words with Friends). Word of warning: I'm currently ranked around 50th worldwide at Carcassonne, my ID is my email address: jeresig at gmail dot com.

What would be your dream setup?

I'm very close to it now, although I do have a couple wishes. I wish my MacBook had built-in 3G capabilities, I wish it was easier to type on my iPad, I wish Chrome was a better browser, I wish SABnzbd+ was smart enough to not re-download files, I wish my iPhone was faster, I wish I didn't need a dongle to do a presentation with my MacBook, I wish Boxee didn't crash so much, I wish my car accepted audio input, I wish Dropbox could backup my Google Docs and Mail.