My Developer Tools and Utilities List (2012 Edition)
I’ve often wanted to do a yearly roundup of the tools and utilities I use; if only as a log of things I use over time. I’ve seen this idea come up often on other blogs, so this is an idea borrowed from other developers on the internet. Anyway, the following is a list of hardware and software I use on a regular basis.
Hardware
- Retina MacBook Pro - with a 2.3 GHz i7, 16 GB RAM, and 256gb SSD. It is probably the best computer I’ve ever used. Often, I’d rather work on this display than use the thunderbolt display.
- 27" Thunderbolt Display - Really great monitor that I use when at the office. Before going to the Retina MacBook, I used the laptop as a second monitor, but the difference between the display and the retina screen is too annoying. So now when at work, I run in clamshell mode and only work off the thunderbolt display.
- BookArc Pro - Since I run in closed mode at work, I like to set the MacBook up on this nice stand. It keeps my desk clean and looks really cool.
- Apple Wireless Keyboard - I’m not sure if this is the best keyboard in the world, but I like it a lot. Aside from being small and wireless, It more closely matches the keyboard on the laptop so I don’t have to fight to remember where the control keys are. Also, this year I switched to the Dvorak keyboard and the low height of the keys made it easy to learn rapidly.
- Apple Magic Mouse - I’ve tried many mice. This is not my favorite, but it allows for some of OS X’s gestures.
- iPhone 5 and 3rd Generation iPad - These are quite obvious, but I use them every day for daily use and development.
- Timbuk2 Q Backpack - Not really hardware, but important for carrying around that Retina MacBook. I’m very picky on the bag I use. I often change bags on a whim. This bag has been a great one though, I haven’t had that feeling to change bags yet!
Software
Developer Tools
- Xcode - I write software for iOS and Mac, this is the tool I use every day. It can be frustrating, but I think it is improving greatly. Instruments is another app, but I’ll consider it part of Xcode.
- Sublime Text 2 - I’ve been jumping around with text editors a lot. Finally, I stopped on Sublime Text. It is a great editor that hasn’t seemed to explode on me yet. It crashes less than Xcode.
- Photoshop CS6 - I occasionally try to design things and often need to cut some assets. I’ve been using Photoshop since the late 90s and it is just my comfort zone for design.
- AppViz 2 - I finally have returned to the app store and have an app of my own on the store. This is a great tool to see how your app is performing on the store. If you care about reviews, it also gives you a great way to view them.
- Charles - Occasionally, I like to verify that my network requests are doing what I expect, or like to snoop on other apps network use. Charles is the app for this, even with it’s non-native interface.
- CodeRunner - Sometimes when learning a new language or verifying something I want to do in an app, I’ll pop into CodeRunner to test the snippet of code out. Probably the most common thing is testing KVC collection operations.
- Kaleidoscope 2 - I’ve been using this app since version 1 as a git difftool. Version 2 adds merge support. Great tool.
- RESTed - When working with a remote API it is great to be able to create and store requests without having to fumble with cURL. Don’t get me wrong, I’m a terminal guy but I can’t ever seem to remember all the different options in cURL. RESTed solves this for me and you can save the requests for later.
- Transmit - Hands down the best tool for uploading via FTP or to S3.
- xScope - Great tool for being a pixel perfect snob. xScope has a lot of tools, I probably use the horizontal guides to make sure things are lined up as I expect.
- Marked - We use markdown a lot at Two Toasters for functional specs to blogging. I blog here in markdown. Marked is a great tool I use all the time to view these files.
- Terminal - I can’t have this list without including the terminal. It is the first application I open when starting to work. I use oh-my-zsh to customize the shell and do all my git versioning from the shell. It is the only way! :-)
Other Software and Utilities
- Alfred - My favorite of all the quick launch style tools out there. I love it for it’s speed and simplicity. Most of the time I live on the keyboard so quick launching an app with Command+Space is really important. I realize I can do this with spotlight but I enjoy the way Alfred works. Also, it is my quick calculator.
- Divvy - I use divvy every day to position windows from the keyboard.
- CloudApp - I’m often sharing links, photos or files with people on the internet. Transmitting these files used to be a huge problem. Now it is easy with CloudApp. I simply hit my keyboard shortcut on a file or URL and it gets uploaded and a short link is created. I have ‘jsh.in’ mapped to it so all my links look like mine.
- Sparrow - I worry about this app. For some time it has been a great replacement for Mail.app. I still use it as I like the way it feels over the Apple supplied application. This could change though as Sparrow was bought by Google and there doesn’t appear to be a plan to continue development. For now, I use it.
- Tweetbot for Mac - I’m often on Twitter reading what others are chatting about and occasionally responding. Tweetbot has been the best interface since the old Tweetie for me.
- Evernote - I’ve recently started noting things much more. I used to believe I could remember everything, but it isn’t true. Often I remember that I knew something about a topic, but can’t remember the actual answer. This is what I’m using evernote for. I like to think of it as a hash table, my memory has the key and the value is in evernote. I’ve also started going back to WWDC videos and making notes of each session.
- Reeder - I have a huge RSS feed of many Mac and iOS development blogs and reeder has fit as my favorite reeder.
- Clock.app - This is an open source project that shows the date and time in a nice HUD window. I don’t like to keep my clock on the screen at all times so this provides a nice quick way to see the time if I need to. With alfred I can hit Cmd+Space -> ‘C’ -> enter and see the time really fast.