December 29, 2011

Ultimate webdev/power user tools for Mac (2011 edition)

Hardware

Evoluent VerticalMouse 4
Evoluent VerticalMouse 4.

11” MacBook Air
I have the 2010 model and it’s pretty much fast enough for everything I do; the new model is even better. The only thing I’ve noticed that is really slow is loading the Rails stack.

Evoluent VerticalMouse 4
I find this more comfortable than any normally-shaped mouse, and it has a super accurate laser sensor and a ton of buttons. It’s also a, uh, conversation piece.

24” screen
I have a Dell work and home, and this great $170 24” ViewSonic in Montana. I would love to have one of the 27” Apple displays, but they’re way out of my price range.

Sennheiser PXC 350 Active Noise Cancellation Headphones
These are discontinued but there’s a newer model. I got them for airplanes but ended up using them a lot. They sound ok with and without the noise cancellation on and collapse down into a sturdy, flat case.

I recently saw some of my friends using their laptops/external monitors in the configuration below. I don’t know why I didn’t think of this before, I really like it – it lets you use your laptop screen for email or Terminal without the awkwardness of a horizontal layout (it’s hard to get an 11” laptop to the right height next to a 24” screen).

Montana desk
Stacked screens in Montana.

I was inspired by Scott Hanselman’s Justin William’s ultimate developer/power user tool lists, so I decided to share my own. Scott is on Windows and Justin is a Mac/iOS developer, while I do mostly web development – so my list has a somewhat different focus.

Top 5 developer tools

  1. Sublime Text 2
    Like many, I got tired of waiting for TextMate 2 and started looking for alternatives. I tried MacVim for a while, but eventually ended up switching to Sublime Text as my primary editor. It supports TextMate syntax highlighting bundles and has some really convenient features, such as live previews of files selected with the quick open (Cmd-T) dialog and Vim keyboard bindings. I’ve tried the TextMate 2 Alpha, but I still thing Sublime Text is better.

  2. Zsh + oh-my-zsh
    The Z shell (zsh) is a replacement for bash. It is greatly enhanced by Robby Russell’s oh-my-zsh. Together, these give you a highly customizable prompt (see the screenshot below), tab completion for Git branches, and some great plugins like the bundler plugin that automatically runs rails-related commands with bundler exec.

    oh-my-zsh
    oh-my-zsh with my own theme. It shows the user and computer name, the current folder, Git branch and working directory status for repositories, and the active version of Ruby via rbenv.

  3. Git and Gitbox
    I use Git for version control. I generally use the command line interface, but sometimes it’s faster to use a GUI (e.g. staging a subset of changed files from a bunch of different folders). Gitbox has a clean, extremely simple UI without sacrificing functionality. I actually recommend Gitbox to Mac users who are new to Git: it allows you to learn the Git workflow and terminology without mucking around with the CLI.

  4. Github and Bitbucket
    One of the best things about Git is how easy it makes collaborating on code. Github (and Bitbucket) make this even easier. Both are web-based hosting for Git repositories with social features like pull requests for reviewing submitted changes and issue tracking. Github is by far my favorite of the two, but the pricing structure makes having lots of private repositories prohibitively expensive. Bitbucket has most of Github’s features and is essentially free for personal use.

  5. Rubular
    If you write complicated regular expressions, Rubular will change your life. It makes it extremely simple to text regexps and keep track of captures.

Honorable mentions

Google Chrome
Specifically, the inspector is invaluable for front-end development. It has almost completely replaced Firebug for me. I mostly use the elements inspector to manipulate HTML element styles in real time (without having to refresh) and the console for JavaScript debugging. The Network tab is also useful (see below).

Google Chrome Inspector
Google Chrome Inspector.The Network tab shows the time it takes for your assets to load.

Kaleidoscope
This program can be used to display side-by-side or inline diffs. It works with Gitbox and with the git difftool command, and is way more readable than standard diffs.

Transmit
Transmit is the swiss army knife for connecting to remote file systems. I use it mainly for sftp and Amazon S3, but it supports lots of different protocols. It has the best UI of any file transfer app I’ve seen.

pow.cx
If you run local servers for Rack apps (including Rails), pow.cx can save you some keystrokes and Terminal windows. It will run local servers in the background for any Rack app and it makes them accessible at http://something.dev.

rbenv and ruby-build
rbenv is a cleaner implementation of rvm’s functionality. ruby-build is the companion tool that handles installation of multiple versions of Ruby.

Top 5 power user tools

  1. Dropbox
    This is must-have for every computer user with an internet connection. It’s incredibly simple, extremely robust cloud storage. I use Dropbox literally every day both for backups and for sharing files. Their mobile apps make everything in your Dropbox accessible on the go. This might be the only programs I would recommend for anyone on any platform.

  2. Sparrow
    This is a desktop client for gmail. I’ve found it much faster for everything than browser-based gmail except for search. It’s especially helpful if you have multiple gmail accounts. Sparrow recognizes a bunch of the standard gmail keyboard shortcuts so you don’t have to retrain your fingers.

  3. 1Password
    Password management is a pain, but 1Password makes it as easy as it can be. They have good browser plugins for Chrome and Safari (and presumably Firefox, though I haven’t used it), and great iOS apps. Your passwords are encrypted locally with a master password, and can be synced between devices over Dropbox.

  4. CloudApp
    CloudApp makes one-off file sharing easy. You can drag any file to its menu bar icon, and CloudApp will upload the file and automatically copy the URL to your clipboard. It’s free for light use.

  5. Arq
    Arq encrypts and backs your files up on Amazon S3. I also use tarsnap on servers, but I like having a graphical interface on my laptop. There are a bunch of other cloud backup utilities out there, but Arq has several advantages.

    First, S3 is extremely reliable so you don’t have to worry about data loss. Second, Arq encrypts your files locally so there’s no way for a third party to gain access (this is a problem with Dropbox and other cloud backup providers that give you access to your files through a web interface). Third, the format Arq uses for storing your files is open source, so you will still be able to access your backups if Arq disappears. Finally, the only recurring fee is S3 usage, so it can be cheaper month-to-month than the alternatives (I pay less than $2/month).

Honorable mentions

Skitch
Skitch is my go-to tool for quickly annotating screenshots. You can share Skitch screenshots directly on CloudApp by dragging the thumbnail at the bottom of the Skitch window to the CloudApp icon.

Jing
Jing is an easy, free screencasting tool. The free version limits your recording time (5 minutes, I think), but it’s really easy to use and you can’t beat the price.

Spotify
Spotify has essentially replaced iTunes for me. The new beta has third-party apps – for example there’s a Pitchfork app that lets you directly play their best new albums and tracks. I have some gripes about the interface and their mobile app isn’t very full-featured, but they seem to have a fairly complete collection. If you know what you want to listen to it works pretty well.

8tracks
When I don’t know what I want to listen to, 8tracks is great. It’s basically the mixtape of the 21st century: you can create a mix (8 or more tracks) and share it with the world. It’s good for discovering new music.

Greplin
Greplin is Google for your personal cloud. It can search a ton of online apps, including gmail, Dropbox, Google Docs, Facebook messages, Twitter, 37signals products, and more. It’s indispensable when you’re looking for something but you can’t remember if it was in a Facebook message or an email or in Dropbox or in… I have 136,107 documents currently indexed by Greplin.

Views.fm
Views.fm makes it easy to share Dropbox folders over the web. They have a great lightbox mode for photos that I like better than flickr or 500px. Here’s an example.

Twitter Mobile
I didn’t realize new new Twitter had been released for about a week because I use http://mobile.twitter.com on my laptop. If you’re overwhelmed by Twitter proper, give this a try.

Papers2
If you do anything with scientific papers, Papers2 helps keep everything organized. It also does citations like Endnote, but is way easier to use.

If you’ve made it this far, you should follow me on Twitter.


Comments? Please send me a message.

Subscribe via RSS or email.