31
Pimp my dev box Víctor Martínez @knoopx http://github.com/knoopx http://knoopx.net

Pimp my dev box (Friday Training at Itnig)

  • Upload
    itnig

  • View
    732

  • Download
    0

Embed Size (px)

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.

Citation preview

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