Pimp my dev box (Friday Training at Itnig)


Published on

How many times a day do you switch from mouse to keyboard and viceversa? Do you still use BASH? Are you taking advantage of GIT or is GIT fooling you daily? In this talk I’ll show your how to dramatically boost your productivity just by enhancing your development toolset. You will learn many OSX tweaks that get rid of stupid-proof features and give you an extra performance boost, alternative shells that will aid you and enrich your experience when working with the console, application launchers/window managers that will make you forget about your mouse and, finally, how to automate many of your GIT/GitHub development workflows.

The talk is primarely focused on the development of Rails apps on OSX but many of the tricks are also applicable to other OSes and languages.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Pimp my dev box (Friday Training at Itnig)

  1. 1. Pimp my dev box Víctor Martínez @knoopx http://github.com/knoopx http://knoopx.net
  2. 2. Im sorry, are you from the past?
  3. 3. Pimp my shell
  4. 4. First of all, get a dark theme Your eyes will thank you at the end of the daySolarized (My own)http://ethanschoonover.com/solarized https://github.com/knoopx/knoopx.terminal
  5. 5. Then, please, get a (good) package manager
  6. 6. Replace Apples bundled BSD* tools with the GNU ones they are far more powerful$ brew install findutils ack grep bashgcc (...)! (*) Only some of them are really BSD, but Apple usually ships dinosaur-aged GNU software with their OS.
  7. 7. Install some other cool softwarebrew install wget colordiff rmtrashunrar (...)● wget: downloads files from the internets● unrar: unpacks files from the internets● colordiff: get colorful differences between files● rmtrash: send files to OSX trash instead of deleting them ...and make them your defaultsalias diff=colordiffalias find=gfindalias rm=rmtrash
  8. 8. Replace BASH with a modern shell fish ZSH
  9. 9. I choose ZSH, what do I get?$ brew install zsh● colors, rainbows and unicorns● unified history between tabs● tab tab tab! out of the box autocompletions for almost everything● keyboard navigable completion lists● powerful globbing and expansions● syntax highlighting● plays well with floating point calculations● (many more! STFW!)ZSH is essentially anenhanced experience ofeverything you alreadyknow from BASH
  10. 10. Dont fall into the configuration madnessUse an existing community-maintainedpackage of zsh configurations:● oh-my-zsh● zsh-lovers● zsh-users
  11. 11. Keep your settings under version control like all the other cool kids around
  12. 12. Pimp my GIT
  13. 13. Use __git_ps1 from git/contrib do not reinvent the wheel
  14. 14. Send pull-reqs from the terminal$ git co awesome-feature$ git pull-req # $EDITOR opens asking you for PR title/msg$ subl ~/bin/git-pull-req
  15. 15. Do the house cleaning once a weekPrune stale remote-tracking branches$ git remote prune originDelete already merged branches$ git branch -d `git branch --merged | grep -v * | xargs`Do everything at once$ git branch-cleanup$ cat ~/bin/git-branch-cleanupgit remote prune origin && git branch -d `git branch --merged | grep -v * |xargs`
  16. 16. Use mergetool
  17. 17. Automate conflict resolution$ subl ~/.gitattributes$ subl ~/.gitconfig
  18. 18. Use GitXThe only useful GIT GUILets youvisualize
  19. 19. Use GitXThe only useful GIT GUI Review, stage and commit
  20. 20. Use GitXThe only useful GIT GUI$ git diff master | gitx Friendlier diffs
  21. 21. Use GitXDont be lame, do everything else from thecommand line. Mastering GIT will makeunstoppable. $ git rebase -i HEAD~5 ✕ ✔ $ git reset --hard origin/master $ git merge --no-ff awesome-feature $ git checkout -b features/new-one
  22. 22. Pimp my desktop
  23. 23. Apply developer-friendly OSX settingsThese fancy Apple features makes you waste time http://mths.be/osx
  24. 24. Use an application launcher or better yet, use Quicksilver http://qsapp.com/Alternatives: Spotlight, Alfred.app, Launchbar
  25. 25. What can I do with Quicksilver?Launch/switch applications Play some music
  26. 26. What can I do with Quicksilver? Browse your clipboard historyMove files
  27. 27. What can I do with Quicksilver? Quickly jumpright into your project folder
  28. 28. What can I do with Quicksilver? Unlimited possibilities! Master it!
  29. 29. Manage your windows with the keyboardNever, ever, use Use spectacle.app insteadthese buttons http://spectacleapp.com/
  30. 30. Master the keyboard shortcuts Hotkey EVE http://hotkeyeve.github.com/eve/Cheatsheet http://www.cheatsheetapp.com/CheatSheet/
  31. 31. Now you are a little more productive Thanks for watching