Transcript
Page 1: Pimp my dev box (Friday Training at Itnig)

Pimp my dev box

Víctor Martínez@knoopxhttp://github.com/knoopxhttp://knoopx.net

Page 2: Pimp my dev box (Friday Training at Itnig)

I'm sorry, are you from the past?

Page 3: Pimp my dev box (Friday Training at Itnig)

Pimp my shell

Page 4: Pimp my dev box (Friday Training at Itnig)

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)

Then, please, get a (good) package manager

Page 6: Pimp my dev box (Friday Training at Itnig)

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)

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)

Replace BASH with a modern shell

ZSH

fish

Page 9: Pimp my dev box (Friday Training at Itnig)

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)

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)

Keep your settings under version controllike all the other cool kids around

Page 12: Pimp my dev box (Friday Training at Itnig)

Pimp my GIT

Page 13: Pimp my dev box (Friday Training at Itnig)

Use __git_ps1 from git/contrib

do not reinvent the wheel

Page 14: Pimp my dev box (Friday Training at Itnig)

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)

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)

Use mergetool

Page 17: Pimp my dev box (Friday Training at Itnig)

Automate conflict resolution$ subl ~/.gitattributes

$ subl ~/.gitconfig

Page 18: Pimp my dev box (Friday Training at Itnig)

Use GitXThe only useful GIT GUI

Lets youvisualize

Page 19: Pimp my dev box (Friday Training at Itnig)

Use GitXThe only useful GIT GUI

Review, stage and commit

Page 20: Pimp my dev box (Friday Training at Itnig)

Use GitXThe only useful GIT GUI

Friendlier diffs

$ git diff master | gitx

Page 21: Pimp my dev box (Friday Training at Itnig)

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)

Pimp my desktop

Page 23: Pimp my dev box (Friday Training at Itnig)

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)

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)

What can I do with Quicksilver?

Launch/switch applications Play some music

Page 26: Pimp my dev box (Friday Training at Itnig)

What can I do with Quicksilver?Browse your clipboard history

Move files

Page 27: Pimp my dev box (Friday Training at Itnig)

What can I do with Quicksilver?

Quickly jump right into your project folder

Page 28: Pimp my dev box (Friday Training at Itnig)

What can I do with Quicksilver?Unlimited possibilities! Master it!

Page 29: Pimp my dev box (Friday Training at Itnig)

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)

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)

Thanks for watching

Now you are a little more productive