That's a Spicy Meatball!
Reboot

Introduction

I had to set-up a new MacBook Pro last week, a replacement for my laptop that was stolen a few weeks ago. If you count the interim laptop that I was using while waiting for my electronics mule to get back to Chile, that will make four Macs this year that I’ve had to get into a state where I can use them. I’ve decided to document this process, mostly as a personal reference but hopefully beneficial to you as well.

Install

The Basics

  • iTerm2 – I spend a lot of time at the command line. iTerm2 makes that time more pleasant and productive. Two features I particularly like are split panes and full screen mode.

  • Scroll Reverser – I hate change and so should you. I’ve mostly gotten used to the trackpad scrolling in Lion but I can’t handle the mouse wheel going the opposite direction.

  • Right Zoom – This makes the green button in the top left of every window actually do something.

  • Caffeine – Sometimes you don’t want your Mac to go to sleep

  • Google Chrome – For better or worse, my browser of choice. I’ve given up on the dev builds, however, that way lies faster Javascript engines but madness.

  • Firefox – Because, well, Firebug. When I put on my frontend hat, I usually switch to Firefox. When the Net tab in Firebug doesn’t do what I need it to do, I use Charles.

  • Dropbox – Your files in the CLOUD.

  • 1Password – I don’t know how I managed my passwords before this. ⌘-\ is extremely satisfying.

Development

  • Textmate – Theoretically we’re going to get v2.0 this year, I’m not holding my breath.

  • Git – Obvious VCS is obvious.

  • Github for Mac – Streamlines the checkin process of selecting files for checkin, viewing diffs, and writing commit messages

  • Macports – Homebrew doesn’t set my CPU on fire but sometimes your legs need to be heated up. Install XCode first.

  • EC2 Tools – All those instances aren’t going to manage themselves. Unzip and copy bin and lib directories to ~/.ec2/. Symlink in the master key from the Dropbox folder.

Productivity

  • Evernote – Notes in the CLOUD, syncs to my iPhone. Good for doing research.

  • Skitch – Take screen captures, annotate and show them to people.

  • Taskpaper – Simple TODO lists

  • Mou – Markdown editor for wikis and blog. I wrote this entire post in Mou.

  • Microsoft Word and Excel 2011 – At the end of the day, I need to edit doc and xls files with their native apps.

  • Adobe Photoshop and Illustrator CS5 – There’s no substitute for the real thing.

  • Omnigraffle – Lightweight wireframing. I like these stencils.

  • Parallels Desktop – Run a Ubuntu VM for testing package installation (although lately I’ve just been creating AMI’s of existing EC2 instances and spinning up clones), run a Windows VM for testing IE and playing old games

Non-productivity

  • Twitter – Tweetie is still the sexiest Twitter client around.

  • Adium – Necessary evil. By default only connects to company Jabber account and then I manually connect the other services when I want the possibility of being distracted. Disable all sounds and disable Growl. Nothing you need to know has ever appeared in a Growl notification.

  • Calibre – For managing my Kindle. Install DRM removal plugin to make backups of the books I’ve purchased and put them in Dropbox.

  • VLC – For all the non-standard video files that do not exist from USENET, which does not exist.

  • sabnzbd – USENET client with Newzbin integration

  • Transmission – Torrent client with a clean UI

  • KisMAC – Sometimes you need an open wireless network and by open I mean WEP. Combine with aircrack-ng in Macports.

Photography

Configure

System Preferences

Desktop and Screen Saver

Minimal wood wallpaper

Keyboard – Keyboard shortcuts

Most of this is to ensure that ⌥⌘→ and ⌥⌘← are the universal keyboard shortcuts for Next Tab and Previous Tab.

Mission Control
Disable Move left a space
Disable Move right a space
Application Shortcuts
iTerm2 - Select Next Tab - ⌥⌘→
iTerm2 - Select Previous Tab - ⌥⌘←
Google Chrome - Bookmark This Page… - ˆ⌥⇧⌘D

The reason Google Chrome’s Bookmark This Page keyboard is so weird is so that we don’t conflict with the Pinboard extension’s keyboard shortcut.

Trackpad

Secondary click – Click in bottom right corner

.bash_profile

Usually I just symlink this to a file in my Dropbox folder, but for reference:

Colored LS output in iTerm2:

export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

Environment variables for EC2:

# Setup Amazon EC2 Command-Line Tools
export EC2_HOME=~/.ec2
export PATH=$PATH:$EC2_HOME/bin:/opt/local/bin:/opt/local/sbin
export EC2_PRIVATE_KEY=`ls $EC2_HOME/pk-*.pem`
export EC2_CERT=`ls $EC2_HOME/cert-*.pem`
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home/

~/.ssh/config

Connection sharing will ultimately make your uploads to dev server faster as long as you keep an SSH window open to it

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

Host aliases are your friend. For example, alias dev.yourcompany.com to dev and then bash alias the command dev to ssh dev.

iTerm2

I use the Pastel (Dark Background) color scheme.

Scrollback buffer – check Unlimited scrollback.

Allow word movement in iTerm2, add ~/.inputrc

"\e[1;5D": backward-word
"\e[1;5C": forward-word

Dropbox

Dropbox will take a while to sync, log-in to their website and download a zip file of 1Password.agilekeychain and unzip it in the Dropbox folder so we can at least login to websites while it’s syncing.

Github

Generate SSH keys:

mkdir .ssh
cd .ssh
ssh-keygen -t rsa -C "bertrand@fan.net"
cat id_rsa.pub | pbcopy

Github SSH public keys – Add another public key – ⌘V.

git config --global user.name "Bertrand Fan"
git config --global user.email "bertrand@fan.net"

Textmate

Pastels on Dark is the only way to go. Ackmate for faster global searches. If you don’t have an upload to dev server script, this one is a quick substitute.

Macports

After installation:

sudo port -v selfupdate

Packages I usually install:

  • imagemagick – CLI tool for manipulating images
  • watch – run the same command over and over again while monitoring changes in output
  • iftop – Monitor traffic
  • aircrack-ng – Crack WEP IVs
  • wget – because typing curl -O is hard

Google Chrome

Bookmarklets
Preferences
  • Personal Stuff – Passwords – Never save passwords (All passwords are handled by 1Password)
Extensions
  • Pinboard – The only real functionality I want out of a pinboard extension is to be able to hit ⌘D and have it open a bookmark dialog. In the options, check Enable Keyboard Shortcuts, set Bookmark Page to meta-d and Browse Bookmarks and Read Later to shortcuts you’ll never hit, e.g. alt + ctrl + meta + shift + b. This is to compensate a conflict with the 1Password extension.

  • 1Password – Install from 1Password itself by selecting Install Browser Extensions

  • Screen Capture – Useful for taking whole page screenshots of webpages.

  • Window Resizer – Use in conjunction with Screen Capture for taking demo snapshots of webpages

  • SABConnect++ – Newzbin integration with sabnzbd

  • InstaChrome – Instapaper integration

Feedback

And that’s pretty much my working environment. There’s a lot of room for improvement and I’m open to suggestions.

  1. bertrandom posted this
Blog comments powered by Disqus