Close and Go BackBack to Viget

My Tools of the Trade

Clinton R. Nixon
Clinton R. Nixon, Development Director, October 15, 2009 7

Inspired by Mike Gunderloy’s tools of the trade post, I made a list of what I use every day for development. My tools don’t necessarily reflect what every developer at Viget uses.

Hardware

  • 2009 MacBook Pro 13”, 2.53 GHz, 4 GB of memory. This machine is a screaming demon of speed and fury. I’m meticulous about keeping junk that it doesn’t need off of it. I love my laptop, although I do wish I had 8 GB of memory in it. Maybe I’ll get the upgrade for its birthday present.
  • 20” Dell 2000FP monitor. It works. It seems giant to me, but I imagine I’d love a bigger one even more. I’ve had my eye on this 28 inch beauty for a while.
  • MacAlly ICEkey keyboard and Logitech MX518 mouse. Both of these are amazing. I have the same setup at work and at home. The ICEkey is my favorite keyboard I’ve ever used.

Development software

  • Mac OS X 10.6 Snow Leopard. Pure joy.
  • Ruby Enterprise Edition 1.8.7. It’s what I use on my servers, and I like to develop in a similar environment.
  • Homebrew packaging system. I used MacPorts for a long time, and was a big proponent, but the ease of adding new packages to this won me over quickly. Max, the project head, is great about accepting patches.
  • TextMate. Big surprise, I know. There’s a reason it’s so beloved in the Mac development community.
  • NetBeans. I’m a wishy-washy person when it comes to my editing environment, so I switch from TextMate to NetBeans often. It’s an excellent IDE for multiple languages, and gets better with every release. If I have to work on anything that isn’t Ruby, I usually use this. If it felt a little snappier and had a little better usability, I’d probably use this for all my code.
  • Git and GitX. Git’s my version control system of choice. I mainly use it from the command line, but when I need to do some visualization, I pull out GitX.
  • Mozilla Firefox. It’s my development browser. For casual browsing, I use Safari, as it’s way faster. I was a Firefox-only user for a long time, but frustrations about speed and lack of customizable keybindings has pushed me into Safari’s arms.

Other software

  • Backblaze. I use this for constant off-site backups. I’d link to them, but they have an awful auto-starting movie on their homepage. Instead, check out this blog post about their storage pods.
  • Hiveminder. This is a great task management system. My favorite parts are the command-line client and IM interface.
  • Notational Velocity and SimpleNote. Notational Velocity’s a great super-fast note taking application for OS X, and SimpleNote’s the same for the iPhone. I keep them in sync with a Perl script, so I have my notes everywhere.
  • I like to keep everything I can online and off my computer, so along with Hiveminder and SimpleNote, I use Gmail for both home and work email, Delicious for bookmarking and making groups of links, and Instapaper for things to read on the can or while waiting in line. I use GitHub and Dropbox to keep all my projects off my computer and accessible.
  • Fever is my RSS reader of choice. There’s too many high-noise feeds with sporadic great content out there to read them all. Fever’s Hot List makes it way easier to sift through the cruft.
  • To control my desktop, I use a combination of LaunchBar, MercuryMover, and SizeUp. I can launch anything, do many file manipulations, and move my windows around without leaving the keyboard. LaunchBar’s also great for giving me a global kill ring.

Tell Me What You’re Using

If you’ve got a tool you love, or think my toolset is weak sauce, let me know! I’d love to hear about it.

Ken Collins said on 10/15 at 02:56 PM

Same hardware here too. If you do not already have it, get the SSD installed in the MacBook. Very worth it for speed.

kevin poweres said on 10/15 at 04:38 PM

Never heard of SizeUp, so thanks for the lead. Seems pretty cool.

Some of my favorites:
-Me too, on Fever for RSS
-SugarSync for backing up multiple systems & across systems (Dropbox & ZumoDrive for kicks, as well)
-LittleSnapper + Ember (for screen grabbing and inspiration)
-Postbox for email
-SpaceSuit (for different wallpapers on different spaces)

Damien said on 10/15 at 08:48 PM

Package management has always been a pain on a mac, even with MacPorts/Fink. Homebrew looks like a wonderful alternative, thanks for linking.

Daniel Huckstep said on 10/19 at 11:22 AM

You inspired me: http://blog.darkhax.com/2009/10/19/my-tools-of-the-trade

Maybe I just didn’t read enough, but I looked at Homebrew, and it seemed that I still had to download and provide packages myself, or am I just missing something?

Ken Collins said on 10/19 at 11:52 AM

I wrote an article on getting the full stack of mysql,ruby1.8.7,ruby1.9.1,sqlserver, etc on my blog and part of it was my love for the ease of MacPorts http://www.metaskills.net/2009/9/5/the-ultimate-os-x-snow-leopard-stack-for-rails-development-x86_64-macports-ruby-1-8-1-9-sql-server-more

I really tried getting into HomeBrew but just did not have the skill for the roller coaster. As I was saying to one user in the comments. Do what works best for you. For me in particular I really like having things not intertwined with Apple so upgrades feel more in my control. Some claim that HomeBrew does the same. Do what works best for you. Know your options.

Rich Underwood said on 10/20 at 04:12 AM

I’m in the midst of planning my (long-overdue) migration from Windows XP over to Mac OS X, and the 13” MacBook Pro is what I’d probably go for. Thanks a lot for these software pointers - it’s the one area that I’ve been so apprehensive about while contemplating the switch-over!

Craig C. Kip said on 11/17 at 08:08 PM

You can just as easily add your own ports in MacPorts:
http://guide.macports.org/#development.local-repositories

You can also branch the canonical MacPorts repository via a git mirror. You can even edit portfiles in place via ‘port edit ‘.

MacPorts/Fink developers aren’t dumb—relying on the OS packages to fulfill dependencies sounds clever now, when Apple has turned around Snow Leopard so soon after Leopard’s release, but wait until the OS (and all its included software) are two years old or you need a different feature enabled in a dependent library.

Commenting is not available in this weblog entry.

Next entry: NoSQL Misconceptions

Previous entry: Deploying the git way

We're the Developers

at Viget Labs. We write about web development trends, tips, best practices, industry events, and our projects — all with an emphasis on Ruby on Rails.

Recent Comments

Your post has made me think!

We people get used to that what we daily do. And normally we forget that we have to evolve.

Contact Us

Have any questions, comments, ideas, or secrets to share? Let us know.


How many minutes in an hour?

Sorry, you need to have Javascript enabled to use this form. (Don't blame us, blame the spammers!) If you'd like to contact us, please visit our Contact page.