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

Bededa744012c87721d68f69342f81b0?s=128

Matthew McCullough

April 21, 2012
Tweet

Transcript

  1. on Mac OSX Developer Productivity Power Ups by Matthew McCullough,

    Ambient Ideas, LLC
  2. Matthew McCullough @matthewmccull

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

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

    if there are any more ways to increase their productivity
  5. http://delicious.com/matthew.mccullough/macosx

  6. Cloud services and sync

  7. GitHub • Social coding • GitHub for Mac desktop app

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

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

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

    in some ways • URLs • Automatically copied to clipboard • Just added to oh-my-zsh
  15. None
  16. None
  17. None
  18. None
  19. Dropbox • Simple file sync • It just works •

    Understands Mac OSX resource streams • Permits symlinks & hardlinks
  20. None
  21. None
  22. 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
  23. EC2 • For any remaining Windows needs • Running QuickBooks

    • Small instance is now free
  24. None
  25. CLI Tools

  26. 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
  27. None
  28. None
  29. None
  30. None
  31. None
  32. pbcopy • pbcopy • pbcopynn • alias pbcopynn='tr -d "\n"

    | pbcopy' • pbpaste
  33. None
  34. cd - • Change directory back to last folder •

    Like a cheap pushd popd
  35. None
  36. zsh • Like an improved Bash shell • First class

    functions • Modular enhancements • Already installed on Mac
  37. None
  38. OS

  39. OS

  40. Terminal

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

    Right side prompt • Gradle plugin • Themes • Autojump • Pushd stack persistence • Remember-folder
  42. 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
  43. None
  44. None
  45. None
  46. XCode • A means of obtaining cc and gcc •

    Used to compile MacPorts and Brew packages
  47. None
  48. MacPorts • Package manager for Mac • Requires sudo access

    • /opt/local/bin
  49. None
  50. Homebrew • Package manager for Mac • Backed by a

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

    Brew • Recursive sync with lftp mirror -R
  53. None
  54. TMUX • Better than screen • tmux • tmux attach

    • Ctrl-B help
  55. None
  56. TextMate • Copy-as-rtf Plugin

  57. None
  58. File Management

  59. Path Finder • The original tabbed Finder • Standalone app

  60. None
  61. TotalFinder • Tabbed Finder • Plugin to core OS Finder

    • Cut and paste
  62. None
  63. Quicklook Plugins • Extensions for code • Extensions for markdown

    • Extensions for zips
  64. None
  65. None
  66. Quicklook CLI • Command line script • #!/bin/bash qlmanage -p

    "$@" >& /dev/null &
  67. None
  68. Launch Bar • Competitor to QuickSilver • Custom searches •

    Easy file navigation • Easy emailing • Skype calling
  69. None
  70. Proxy Icon • Drag to select • Drag to copy

  71. Capture

  72. KeyCastr • Shows keystrokes on screen • Great for pairing

    • Excellent for presentations
  73. None
  74. LittleSnapper • Screenshots • Blurring • Tagging • Web page

    capture
  75. None
  76. iShowUHD • Screen capture recording • Straight to rendered file

    format • Selective region capture
  77. None
  78. ScreenFlow • Premier screen capture app • Records all layers

    for later selection • Annotations • Trimming, splicing
  79. None
  80. youtube-dl • Capture YouTube videos for presentations • Install from

    Brew • youtube-dl "<theurl>"
  81. None
  82. Productivity

  83. Window Toggle • LiteSwitchX • Command-Tab replacement

  84. None
  85. Window Size • BetterSnapTool • Window Sizes

  86. None
  87. Window Size • Divvy • Draw the new window Sizes

  88. None
  89. 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
  90. None
  91. None
  92. System Key Mapping • Make a global shortcut for any

    menu item • Turn one key into another
  93. None
  94. None
  95. Things • ToDo manager, deeply linked to apps on OSX

    • Alt+Cmd+T • Create task with context (links)
  96. Emacs Shortcuts • Emacs shortcut keys work across Mac OSX

  97. 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
  98. None
  99. Marco Polo • Location aware settings • Set confidence and

    triggers
  100. None
  101. None
  102. Growl • Pop-over notification framework • Works with • Marco

    Polo • Skype • Twitter • Mail • iTerm2 • Gradle
  103. None
  104. None
  105. 1Password • Syncs via DropBox to desktops and mobile devices

    • Manages my 1400 passwords • AES 256 bit hashed password encryption • Random password generator
  106. None
  107. None
  108. None
  109. None
  110. Web

  111. TypeToNavigate • Safari Plugin • Keyboard navigation of links

  112. None
  113. Glims • Safari Plugin • Enhanced search box • Restore

    tabs on re-launch
  114. None
  115. Delicious Bookmarks • Tagged bookmarks

  116. None
  117. None
  118. Delish • Visual Delicious bookmarks

  119. None
  120. Safari Bookmarks • Numbered bookmarks on bar • Useful for

    bookmarklets
  121. None
  122. Information Management

  123. ReadItLater • Web service for quick bookmarking

  124. None
  125. None
  126. Pinboard.in • Anti-social bookmarking • Bookmark aggregator • Full text

    search
  127. None
  128. DevonThink • Information management central • Collects all my RSS

    feeds • A.I. full text search
  129. None
  130. System Maintenance

  131. Applejack • Boot-time system utilities

  132. None
  133. Lingon • Launchd maintenance GUI

  134. None
  135. Keyboard Shortcuts

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

    8 = Invert colors • ⌘⌥ ⏏ = Turn off screen
  137. OS Shortcuts is called “mash” because you mash all the

    row of modifier keys ⌃⌥⌘
  138. OS Shortcuts • ⌘⇧Q = Logout • ⌘⌃⏏ = Reboot

    • ⌘⌃⌥⏏ = Shut down
  139. on Mac OSX Developer Productivity Power Ups by Matthew McCullough,

    Ambient Ideas, LLC Get going with your new skills!
  140. Credits • Asphalt http://www.flickr.com/photos/ansik/2469225118/ • Skateboarding http://www.flickr.com/photos/10789042@N07/968520138/ • Cement http://www.flickr.com/photos/shaireproductions/4270505958/