mlsamuelson.com

My OS X Panoply

I'm setting up a new MacBook Pro for development work. Thought it might be nice to have a list of programs installed and customizations made. Perhaps others will find it helpful, too. This setup is fairly well road-tested by this Drupal and web application developer.

Firefox

Find these via https://addons.mozilla.org/en-US/firefox/

  • Firebug (Developer tool. Great for CSS and Javascript work.)
  • Web Developer Toolbar (Developer tool. You should know it. Great for turning off Javascript, messing with cookies, measuring parts of a page.)
  • Delicious (Bookmarking, of course.)
  • ReadItLater (Just like it sounds.)
  • Download Statusbar (See downloads just above the status bar. No more messing with the download window.)
  • Faviconize Tab (Shrink tabs for Gmail and Google Reader down to just the favicon.)
  • Tab Mix Plus (For setting all tabs to 140px wide. Makes it easier to close multiple tabs quickly without repositioning the mouse.)
  • Live HTTP Headers (What's going on in that HTTP Header of yours?)
  • Zotero (A researcher's tool, sure, but works great for keeping code snippets, and references to documentation pages - the sort of stuff you want to document and keep, but aren't right for bookmarking in Delicious due to the amount of notes-to-self involved and because this info doesn't really benefit anyone by being out there for others.)

Bonus Firefox Tip: Turn on "Search for text when I start typing" in Preferences > Advanced > General tab!

Safari and Opera

Because when you're working with Drupal, you need more than one browser to easily test user permissions, etc.

MuCommander

http://www.mucommander.com/
Keep those pesky .DS_STORE files out of your SVN commits. (Think I was wrong about that...) Manage your files in a two-pane interface from the comfort of your keyboard, rarely needing to reach for the mouse. Experience a Java app that doesn't feel like a Java app. One of my favorites.

OS X Spaces Improvment

Know your boundaries. Make OS X's Spaces a sane experience by turning off the wrapping (for the upper left and lower right corners). This makes Spaces feel a lot less like a game of Ms. Pac Man. At the command line: defaults write com.apple.dock workspaces-wrap-arrows -bool NO

Growl

http://growl.info/
Let your programs keep you in the loop.

Witch

http://www.manytricks.com/witch/
Improved tabbing through windows.

VirtualBox

http://www.virtualbox.org/wiki/Downloads
Run other OSes within OS X without rebooting. Browser testing, you know?

Quicksilver

http://www.blacktree.com/
You can do a lot with this. I mostly use it as an application launcher.

MAMP

http://www.mamp.info/en/index.html
A nice bundle of tools to keep the web application developer developing web applications instead of playing server admin.

XDebug

Call stacks with your PHP errors. Beautiful var_dump() output. Step-thru debugging. The instructions at http://technosophos.com/content/debugging-your-php-code-xdebug-mamp-text... work well in light of the other software in play here. It's recommended to turn Zend Optimizer off in MAMP when using XDebug.

iStat Menus

http://www.islayer.com/apps/istatmenus/
All kinds of rad system monitoring tools.

Iconographer

http://www.mscape.com/
Icon creation software. Work at the pixel level. Software was pay-for, but now as it's discontinued, it's provided with a free registration code.

Pipette

http://www.charcoaldesign.co.uk/pipette
Color picker.

Photoshop

Not installed yet, but will be.

KeepassX

http://www.keepassx.org/
Password safe. Unlock a database of all your usernames and passwords and URLs with only one master password.

Sequel Pro

http://www.sequelpro.com/
I mostly work with MySQL on the command line, but sometimes, it's just quicker to edit a few rows of content in a GUI. Sequel Pro is the successor of CocoaMySQL.

.bash_profile

# Define Bash prompt appearance
# \d - Current dat
# \t - Current time
# \h - Host name
# \# - Command number
# \u - User name
# \W - Current working directory (ie: Desktop/)
# \w - Current working directory, full path (ie: /Users/Admin/Desktop)
# \n - New line - can be nice for readability
#export PS1="\u@\h\w$ "
export PS1="\n\u@\h : \w > "

# Cli Colors
export CLICOLOR=1
export LSCOLORS=cxgxcxdxbxegedabagacad

# Alias for ls
alias ls='ls -aF'
# Alias for colorful egrep
alias egrep='egrep --color=auto'

# Add MAMP binaries to path
PATH=$PATH:/Applications/MAMP/bin/php5/bin:/Applications/MAMP/Library/bin

export PATH=$PATH:/opt/local/bin:/opt/local/sbin:/usr/local/bin

.vimrc tricked out for working with PHP and Drupal

set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
set number
set ignorecase  " Ignore case in / searches...
set smartcase  " ...unless search includes a capital letter
set scrolloff=5  " Keep 5 lines above or below cursor during scroll
set wrap  " Line wrapping off
set hlsearch  " Highlight searched term
set foldmethod=indent
set foldnestmax=1
 
" Visual
set showmatch  " Show matching brackets.
set mat=5  " Bracket blinking.
set background=dark
syntax on
" colorscheme wombat
set ruler
" set cursorline
" set cursorcolumn
 
if has("autocmd")
  " Drupal *.module and *.install files.
    augroup module
    autocmd BufRead,BufNewFile *.module set filetype=php
    autocmd BufRead,BufNewFile *.install set filetype=php
    autocmd BufRead,BufNewFile *.inc set filetype=php
    autocmd BufRead,BufNewFile *.test set filetype=php

    " omnicomplete
    filetype plugin on
    set ofu=syntaxcomplete#Complete
    " omnicomplete languages
    autocmd FileType python set omnifunc=pythoncomplete#Complete
    autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
    autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
    autocmd FileType css set omnifunc=csscomplete#CompleteCSS
    autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
    autocmd FileType php set omnifunc=phpcomplete#CompletePHP
    autocmd FileType c set omnifunc=ccomplete#Complete

    augroup END
endif

let php_sql_query = 1
let php_htmlInStrings = 1
" let php_folding = 1  " Set folding for php functions and classes

" map ;; to Esc
map! ;; <Esc>

" Shift key fixes
cmap W w
cmap WQ wq
cmap wQ wq
cmap Q q

2 comments

nipper wrote 8 years 6 weeks ago
mlsamuelson wrote 8 years 6 weeks ago

Thanks Nipper! A great

Thanks Nipper! A great solution!

Add your comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

Find Me Around

User login