Part 1: Update Software
This takes a while. Go get some coffee and install the developer tools.
System Settings
Appearance
![]()
Place scroll arrows at top and bottom. This is a left over windows preference I just can’t get used to.
Finder
![]()
Add delete and get info to toolbar. I’m of the opinion that this should be the default.
Keyboard
The Keyboard is a pretty big deal for developers. Here are my settings:
Get some Emacs keybindings in all of cocoa:
http://www.gnufoo.org/macosx/. I’m a vim guy but they’re useful.
Modifier keys, set caps lock to control. Allow Full keyboard access also.

Uncheck "Illuminate keyboard in low light conditions" for better battery life.
Apps
- BetterTouchTool
Adds a bunch of configuration options for the Magic Mouse. I set a 3 finger tap for spaces. It’s handy.
- Dropbox
Effortlessly sync files across computers. If you use the link above I get some free space. Use this one for a referral free link if you prefer.
- Skitch
Capture screenshots, share images. This has become so ingrained in my day to day use I don’t know what I’d do without it.
- Evernote
Enhanced syncable notepad. I use this for everything from code snippets to projects notes, recipes, and everything in between.
- Google Chrome Beta
I couldn’t do without it. Spice it up with some developer extensions and you’re good to go.
- Mailplane
Gmail on the desktop. I’ve tried almost every os x mail solution and couldn’t get more productive than Gmail. However, I still keep Mail.app configured in case I need to refer to old mail offline.
- Textmate
This is practically a necessity. The best text editor on OS X.
- MacVIM
It’s no emacs but it’s good to have around.
-
Find out useful information about what’s going on in your system. I mainly use this for the calendar widget in the menu bar. Why this isn’t an option in OS X by default I’m not sure. It recently became a paid app and I upgraded immediately. - Concentrate
Eliminate distractions. I’ve written about this one before in my Using concentrate for the Pomodoro Technique post.
- Adium
Multi protocol IM client. I use it when not forced to use iChat by others.
-
Skype
Needed for work and for recording podcasts.
-
BusyCal
Think of it as iCal pro. I like this better for syncing with Google Calendar.
-
Things
The best to do list app on OS X.
-
LaunchBar 5
LaunchBar is an app launcher and more. Although, to be fair, I’m giving Alfred a shot right now, too.
-
SuperDuper!
I don’t even use Time Machine because of SuperDuper! It’s a great backup program, though the target is a bit different than Time Machine. It’s well worth the money because of the smart backup feature.
Choosy is a “better default browser” for os x. It lets you choose which browser you want to open a link in. It’s really invaluable when you get used to it.
-
TrueCrypt
Described on the web site as “Free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X, and Linux.” I use it for an encrypted disk image where I hold my financial information. This image is kept in my Dropbox and synced when ever it’s unmounted automatically.
-
Tweetie
My favorite OS X Twitter client so far.
-
RSS Menu
RSS Menu lets you track rss feeds in your menu bar. I don’t have all my feeds in here but a few select ones, like twitter searches that I want to pay attention to.
-
Git branch in Bash Prompt. This goes in ~/.bash_profile:
parse_git_branch() { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\ →\ \1/' } export PS1='\[\e[1;37m\][\[\e[1;35m\]\u\[\e[1;37m\]@\[\e[1;32m\]\h\[\e[1;37m\]:\[\e[1;36m\]\w\[\e[1;33m\]$(parse_git_branch)\[\e[1;37m\]]$ \[\e[0m\]'
This will make your prompt look like this:

-
Git config (~/.gitconfig:
[alias] st = status co = checkout br = branch ui = update-index lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %f %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
-
Domain checking obsession. Put this in
~/.bash_profile, courtesy of Chris Wanstrath:function isreg { whois $1 | grep -q 'No match' && echo "No" || echo "Yes" }
Use as follows:
$ isreg jasonseifer.com Yes
-
Put the following in ~/.inputrc. Create it if it doesn’t exist. Paste in the following:
set show-all-if-ambiguous On set completion-ignore-case on "\ep": history-search-backward "\e[A": history-search-backward "\e[B": history-search-forward
Now you can use tab to auto complete ignoring case and also suggest more options. The history search stuff lets you use the up arrow to search backwards through your history by typing in the first few letters of a command you’ve typed before and going back through. It’s like ctrl+r but easier.
-
Install Homebrew. Then:
brew install wget brew install git brew install mysql
-
Ruby:
First thing’s first. The version of rubygems that comes with Snow Leopard is a bit outdated. Update it:
sudo gem update --systemRVM is the Ruby Version Manager. It lets you have multiple versions of Ruby installed on you system. But it’s much more than that. You can also have gemsets which are preconfigured sets of gems. I’ve been using one gemset per project.
Local rack apps can easily be hosted with Passenger Pane. Then you can also set up your rdocs for local viewing without using
gem server. The instructions in the article still work, you just need to keep an old version or rdoc installed.mategem command to edit a gem in Textmate with completion:
_mategem() { local curw COMPREPLY=() curw=${COMP_WORDS[COMP_CWORD]} local gems="$(gem environment gemdir)/gems" COMPREPLY=($(compgen -W '$(ls $gems)' -- $curw)); return 0 } complete -F _mategem -o dirnames mategem
- PeepOpen is a new application from PeepCode that gives you a smarter fuzzy file search (like in TextMate) and also works in MacVim and Emacs. It really helps out in MacVim and is much easier to configure than the fuzzy file finder plugin.
Developer Stuff
Wrapping Up
This isn’t everything I use but It’s a pretty good start. If you have any must have apps or dev environment shortcuts, please post in the comments.


The .inputrc tips are awesome, cheers
Hey this is adgower from that theories video chat on 5by5 Live and I found your website…
I'm looking for some help on installing mysql on mac snow leopard 10.6
and I saw you say something about homebrew install mysql… could you explain what this is more? THanks bro ;)
Check out http://github.com/mxcl/homebrew. There's instructions on there but you can do:
ruby -e “$(curl -fsS http://gist.github.com/raw/436471/install_homeb…
Then: “brew install mysql”
However, I'd recommend reading up a bit on homebrew before you make that commitment.
Not a Mac owner yet but a friend asked me [huge windows nerd] for pro-tips on customizing. “Post install osx” google led me here… Very nice pointers! I am saving your site for when I make the plunge [probably a mini w/ nvidia 320, I just have a hard time paying the mac tax]
Perhaps a little bit at the end with links to sites you suggest for further related reading would be my only request. Great blog, thanks for the very helpful post!
Thank you for a very good list. I disagree with Things though. OmniFocus is far better and once I installed it I’ve not looked back.
I replaced my Hard Drive a little while back and did the same thing, I wrote my own list:
http://gastongarcia.com/2010/08/essential-and-non-essential-apps-for-my-mac/
Thanks for the tips. Specially the domain checking!
i have Dotfiles/ (which i learned and loved from peepcode) for shell stuff. well, i’m macports guy but i’m hearing homebrew a lot. looks handy right?
I should add that I’m not that technical, so a solution that is easy to use would be more appropriate of the two. . . The website will work in a similar way to gumtree’s classified ads. If this is possible would I also be able to add a charging mechanism for the ads using Joomla or WordPress.. . Any help would be much appreciated.. . Many thanks..
Hello Great Site I Found You at, Bing I hope I will Visit In the foreseeable future BTW to Stop Through my website
I’m beyond my mind, but really feel free to leave a message.
There are some attention-grabbing closing dates in this article however I don’t know if I see all of them heart to heart. There is some validity but I will take hold opinion till I look into it further. Good article , thanks and we wish more! Added to FeedBurner as properly
Hey very cool site!! Man .. Excellent .. Amazing .. Ill bookmark your web site and take the feeds alsoI am happy to find so many useful info here in the post, we need work out more strategies in this regard, thanks for sharing. . . . . .
I certainly love reading all that is written on your website. I like the way you express your idea and the topic you choose. KEep on your sharing! I appreciate it.
Hey, I think your website might be having browser compatibility issues. When I look at your blog in Chrome, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, superb blog!Moreno Valley Roof Contractors, 22440 Mountain View Rd., Moreno Valley, CA 92557 – (951) 999-4300