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.
4. First of all, get a dark theme
Your eyes will thank you at the end of the day
Solarized (My own)
http://ethanschoonover.com/solarized https://github.com/knoopx/knoopx.terminal
6. Replace Apple's bundled BSD* tools
with the GNU ones
they are far more powerful
$ brew install findutils ack grep bash
gcc (...)!
(*) Only some of them are really BSD, but Apple usually ships
dinosaur-aged GNU software with their OS.
7. Install some other cool software
brew 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
...and make them your defaults
alias diff=colordiff
alias find=gfind
alias rm=rmtrash
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 an
enhanced experience of
everything you already
know from BASH
10. Don't fall into the configuration madness
Use an existing community-maintained
package of zsh configurations:
● oh-my-zsh
● zsh-lovers
● zsh-users
11. Keep your settings under version control
like all the other cool kids around
20. Use GitX
The only useful GIT GUI
$ git diff master | gitx
Friendlier
diffs
21. Use GitX
Don'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