Pimp my dev box
Víctor Martínez@knoopxhttp://github.com/knoopxhttp://knoopx.net
I'm sorry, are you from the past?
Pimp my shell
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
Then, please, get a (good) package manager
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.
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
Replace BASH with a modern shell
ZSH
fish
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
Don't fall into the configuration madnessUse an existing community-maintained package of zsh configurations:
● oh-my-zsh● zsh-lovers● zsh-users
Keep your settings under version controllike all the other cool kids around
Pimp my GIT
Use __git_ps1 from git/contrib
do not reinvent the wheel
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
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`
Use mergetool
Automate conflict resolution$ subl ~/.gitattributes
$ subl ~/.gitconfig
Use GitXThe only useful GIT GUI
Lets youvisualize
Use GitXThe only useful GIT GUI
Review, stage and commit
Use GitXThe only useful GIT GUI
Friendlier diffs
$ git diff master | gitx
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
✕ ✔
Pimp my desktop
Apply developer-friendly OSX settingsThese fancy Apple features makes you waste time
http://mths.be/osx
or better yet, use QuicksilverUse an application launcher
Alternatives: Spotlight, Alfred.app, Launchbar
http://qsapp.com/
What can I do with Quicksilver?
Launch/switch applications Play some music
What can I do with Quicksilver?Browse your clipboard history
Move files
What can I do with Quicksilver?
Quickly jump right into your project folder
What can I do with Quicksilver?Unlimited possibilities! Master it!
Manage your windows with the keyboard
Use spectacle.app instead
http://spectacleapp.com/
Never, ever, use these buttons
Master the keyboard shortcutsHotkey EVE http://hotkeyeve.github.com/eve/
Cheatsheet http://www.cheatsheetapp.com/CheatSheet/
Thanks for watching
Now you are a little more productive
Recommended