pimp my dev box (friday training at itnig)
DESCRIPTION
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.TRANSCRIPT
![Page 1: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/1.jpg)
Pimp my dev box
Víctor Martínez@knoopxhttp://github.com/knoopxhttp://knoopx.net
![Page 2: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/2.jpg)
I'm sorry, are you from the past?
![Page 3: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/3.jpg)
Pimp my shell
![Page 4: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/4.jpg)
First of all, get a dark themeYour eyes will thank you at the end of the day
(My own)https://github.com/knoopx/knoopx.terminal
Solarizedhttp://ethanschoonover.com/solarized
![Page 5: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/5.jpg)
Then, please, get a (good) package manager
![Page 6: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/6.jpg)
Replace Apple's bundled BSD* tools with the GNU ones
$ brew install findutils ack grep bash gcc (...)!
they are far more powerful
(*) Only some of them are really BSD, but Apple usually ships dinosaur-aged GNU software with their OS.
![Page 7: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/7.jpg)
Install some other cool softwarebrew install wget colordiff rmtrash unrar (...)
● 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
alias diff=colordiffalias find=gfindalias rm=rmtrash
...and make them your defaults
![Page 8: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/8.jpg)
Replace BASH with a modern shell
ZSH
fish
![Page 9: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/9.jpg)
I choose ZSH, what do I get?
● 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 an enhanced experience of everything you already know from BASH
$ brew install zsh
![Page 10: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/10.jpg)
Don't fall into the configuration madnessUse an existing community-maintained package of zsh configurations:
● oh-my-zsh● zsh-lovers● zsh-users
![Page 11: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/11.jpg)
Keep your settings under version controllike all the other cool kids around
![Page 12: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/12.jpg)
Pimp my GIT
![Page 13: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/13.jpg)
Use __git_ps1 from git/contrib
do not reinvent the wheel
![Page 14: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/14.jpg)
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
![Page 15: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/15.jpg)
Do the house cleaning once a weekPrune stale remote-tracking branches
Delete already merged branches
Do everything at once
$ git remote prune origin
$ git branch -d `git branch --merged | grep -v \* | xargs`
$ git branch-cleanup
$ cat ~/bin/git-branch-cleanup
git remote prune origin && git branch -d `git branch --merged | grep -v \* |
xargs`
![Page 16: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/16.jpg)
Use mergetool
![Page 17: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/17.jpg)
Automate conflict resolution$ subl ~/.gitattributes
$ subl ~/.gitconfig
![Page 18: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/18.jpg)
Use GitXThe only useful GIT GUI
Lets youvisualize
![Page 19: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/19.jpg)
Use GitXThe only useful GIT GUI
Review, stage and commit
![Page 20: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/20.jpg)
Use GitXThe only useful GIT GUI
Friendlier diffs
$ git diff master | gitx
![Page 21: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/21.jpg)
Use GitXDon't be lame, do everything else from the command line. Mastering GIT will make unstoppable.
$ git rebase -i HEAD~5$ git reset --hard origin/master$ git merge --no-ff awesome-feature$ git checkout -b features/new-one
✕ ✔
![Page 22: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/22.jpg)
Pimp my desktop
![Page 23: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/23.jpg)
Apply developer-friendly OSX settingsThese fancy Apple features makes you waste time
http://mths.be/osx
![Page 24: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/24.jpg)
or better yet, use QuicksilverUse an application launcher
Alternatives: Spotlight, Alfred.app, Launchbar
http://qsapp.com/
![Page 25: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/25.jpg)
What can I do with Quicksilver?
Launch/switch applications Play some music
![Page 26: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/26.jpg)
What can I do with Quicksilver?Browse your clipboard history
Move files
![Page 27: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/27.jpg)
What can I do with Quicksilver?
Quickly jump right into your project folder
![Page 28: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/28.jpg)
What can I do with Quicksilver?Unlimited possibilities! Master it!
![Page 29: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/29.jpg)
Manage your windows with the keyboard
Use spectacle.app instead
http://spectacleapp.com/
Never, ever, use these buttons
![Page 30: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/30.jpg)
Master the keyboard shortcutsHotkey EVE http://hotkeyeve.github.com/eve/
Cheatsheet http://www.cheatsheetapp.com/CheatSheet/
![Page 31: Pimp my dev box (Friday Training at Itnig)](https://reader034.vdocuments.net/reader034/viewer/2022052307/554c5425b4c9053e308b4993/html5/thumbnails/31.jpg)
Thanks for watching
Now you are a little more productive