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
binandlibdirectories 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
docandxlsfiles 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
Adobe Photoshop Lightroom 3 – For post-processing photos off my SLR and putting them on Flickr. Geocoding plugin for importing GPX traces and geotagging.
kolor autopano giga – Stitch series of images together for panoramas.
Exposure 3 – Instagram for your SLR, makes SLR shots look like various film cameras
exiftool – CLI tool for reading and writing EXIF from images, useful for copying camera information to merged 3D camera shots
Configure
System Preferences
Desktop and Screen Saver
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
- One off Flickr trickle – Click it and then make the image public
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.
-
andyjiang liked this
-
gaobi liked this
-
hartsell liked this
-
bertrandom posted this