Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mac OSX Software Developer Productivity Tips

Mac OSX Software Developer Productivity Tips

Do you use a Mac for development? If so, these tools, while not directly being "Dev Tools" in many cases, are a great support to your productivity to get development work done.

A video course that is similar to this presentation is available from O'Reilly at http://shop.oreilly.com/product/110000007.do

Matthew McCullough

April 21, 2012
Tweet

More Decks by Matthew McCullough

Other Decks in Programming

Transcript

  1. Who’s This? • Matthew McCullough • Mac OSX user for

    5 years • Productivity aficionado
  2. Who’s this for? • Mac OSX users • Developers asking

    if there are any more ways to increase their productivity
  3. GitHub • Social coding • GitHub for Mac desktop app

    • Private and public repos • Post-receive hooks for email notification, bug tracking updates and build triggers
  4. Hub Gem • Productivity gem on top of Git CLI

    • GitHub specific web service calls • Install from Brew or Gem
  5. Gist Gem • Share snippets of code • Put resultant

    URL on clipboard • Share code samples, snippets
  6. CloudApp • Command line for the cloud • Like DropBox

    in some ways • URLs • Automatically copied to clipboard • Just added to oh-my-zsh
  7. Dropbox • Simple file sync • It just works •

    Understands Mac OSX resource streams • Permits symlinks & hardlinks
  8. Links • On first machine • ln -s <ORIGINAL> <DROPBOX>

    • On second machine • ln -s <DROPBOX> <MIRRORED> • Treated differently than Mac OSX shortcuts (Alt+Cmd+drag) • Linked .bashrc, other shell configs
  9. iTerm2 • Better terminal • Full screen • Easier tabs

    • Split Panes • Hotkey Window • Search • Autocomplete • Mouseless Copy • Paste History • Instant Replay • Configurability • 256 Colors • Growl Support • Exposé Tabs • Tagged Profiles
  10. zsh • Like an improved Bash shell • First class

    functions • Modular enhancements • Already installed on Mac
  11. OS

  12. OS

  13. oh-my-zsh • Zsh plugin framework • Git repo info •

    Right side prompt • Gradle plugin • Themes • Autojump • Pushd stack persistence • Remember-folder
  14. oh-my-zsh • Middle-of-name completion • cd is the assumed command

    • Wildcard expansion happens in the shell, not the tool • Option-switch completion for hundreds of tools
  15. XCode • A means of obtaining cc and gcc •

    Used to compile MacPorts and Brew packages
  16. Homebrew • Package manager for Mac • Backed by a

    Git repo • Works with user level access • /usr/local/bin
  17. lftp • Scriptable ftp client • Install from MacPorts or

    Brew • Recursive sync with lftp mirror -R
  18. Launch Bar • Competitor to QuickSilver • Custom searches •

    Easy file navigation • Easy emailing • Skype calling
  19. ScreenFlow • Premier screen capture app • Records all layers

    for later selection • Annotations • Trimming, splicing
  20. TextExpander • Expands text snippets • Syncs via DropBox to

    desktops • Syncs by WiFi to iOS • Trumped on mobile by iOS 5 snippets? • Works for coding and communications
  21. System Key Mapping • Make a global shortcut for any

    menu item • Turn one key into another
  22. Things • ToDo manager, deeply linked to apps on OSX

    • Alt+Cmd+T • Create task with context (links)
  23. Emacs Shortcuts • `C-a` Go to Beginning of line •

    `C-e` Go to End of line • `C-u` Delete from cursor to beginning of line • `C-k` Delete from cursor to end of line • `C-w` Erase word to the left • `C-t` Transpose characters around cursor • `C-f` Forward a character • `C-b` Back a character • `M-f` Forward a word • `M-b` Back a word • `C-d` Delete character to the right • `M-DEL` Delete word to the left
  24. Growl • Pop-over notification framework • Works with • Marco

    Polo • Skype • Twitter • Mail • iTerm2 • Gradle
  25. 1Password • Syncs via DropBox to desktops and mobile devices

    • Manages my 1400 passwords • AES 256 bit hashed password encryption • Random password generator
  26. Web

  27. OS Shortcuts • fn⌘ F1 = Mirror screen • ⌃⌥⌘

    8 = Invert colors • ⌘⌥ ⏏ = Turn off screen
  28. on Mac OSX Developer Productivity Power Ups by Matthew McCullough,

    Ambient Ideas, LLC Get going with your new skills!