Slide 1

Slide 1 text

DEVELOPER EFFECTIVENESS TECHNIQUES Tim Tyrrell 1 1 Wednesday, February 27, 13

Slide 2

Slide 2 text

Oh hai! Tim Tyrrell Ruby and Javascript at HomeAway.com in Austin .... 2 2 Wednesday, February 27, 13

Slide 3

Slide 3 text

This is not a GTD talk 3 3 Wednesday, February 27, 13

Slide 4

Slide 4 text

4 4 Wednesday, February 27, 13

Slide 5

Slide 5 text

5 5 Wednesday, February 27, 13

Slide 6

Slide 6 text

Disclaimer: This stuff works for me 6 6 Wednesday, February 27, 13

Slide 7

Slide 7 text

7 7 Wednesday, February 27, 13

Slide 8

Slide 8 text

8 8 Wednesday, February 27, 13

Slide 9

Slide 9 text

“Mouseless” + “Home Row” = My Intended/Ideal Workflow 9 9 Wednesday, February 27, 13

Slide 10

Slide 10 text

Hangin’ wit my Homies 10 10 Wednesday, February 27, 13

Slide 11

Slide 11 text

Hangin’ wit my Homies 11 11 Wednesday, February 27, 13

Slide 12

Slide 12 text

12 12 Wednesday, February 27, 13

Slide 13

Slide 13 text

Why did I choose Vim? When getting into Rails, started with Linux (no TextMate and $) Sublime Text 2 didn’t exist Came from Visual Studio and Rational Soft. Arch. (Heavy IDE’s) gedit - Could not find shortcut to move to file explorer emacs was not super Rails popular (that I was aware of) 13 13 Wednesday, February 27, 13

Slide 14

Slide 14 text

Vim in 15 seconds Two modes - “Normal” (movement) and “Edit” Motions - For editing or entering “edit” mode Movements - Getting somewhere quickly in “normal” mode It is lightweight and fast It is everywhere 14 14 Wednesday, February 27, 13

Slide 15

Slide 15 text

Remap your escape key 15 15 Wednesday, February 27, 13

Slide 16

Slide 16 text

Remap Your Escape 16 16 Wednesday, February 27, 13

Slide 17

Slide 17 text

17 17 Wednesday, February 27, 13

Slide 18

Slide 18 text

Hands On 18 Motions Macros normal bufdo, tabdo, windo 18 Wednesday, February 27, 13

Slide 19

Slide 19 text

How do you function without an IDE? Command-T (sorry dudes, I think ctrl-p is slow on big projects) ctags supertab using non-verbose and non-ceremonial programming languages 19 19 Wednesday, February 27, 13

Slide 20

Slide 20 text

Useful Vim Plugins Pathogen (or vundle) Vim-Fugitive (Git integration) Vim-Rails ......... 20 20 Wednesday, February 27, 13

Slide 21

Slide 21 text

Vim Wrap-Up If you see yourself hitting jjjjjjj, you are doing it wrong. 21 21 Wednesday, February 27, 13

Slide 22

Slide 22 text

tmux terminal multiplexor (wtf?) access multiple separate terminal sessions inside a single terminal window or remote terminal session Includes most features of GNU Screen 22 22 Wednesday, February 27, 13

Slide 23

Slide 23 text

23 23 Wednesday, February 27, 13

Slide 24

Slide 24 text

No, seriously, why? You can keep your hands off the mouse Helps you organize projects into distinct sessions Powerful and easy keyboard shortcuts Pair Programming (even next to each other) Remote Sessions 24 24 Wednesday, February 27, 13

Slide 25

Slide 25 text

tmux Demo 25 25 Wednesday, February 27, 13

Slide 26

Slide 26 text

tmux window manipulation vim-turbux vimux 26 26 Wednesday, February 27, 13

Slide 27

Slide 27 text

Tmuxinator #  ~/.tmuxinator/project_name.yml project_name:  Tmuxinator project_root:  ~/code/rails_project socket_name:  foo  #  Not  needed.  Remove  to  use  default  socket rvm:  1.9.2@rails_project pre:  sudo  /etc/rc.d/mysqld  start tabs:    -­‐  editor:            layout:  main-­‐vertical            panes:                -­‐  vim                -­‐  #empty,  will  just  run  plain  bash                -­‐  top    -­‐  shell:  git  pull    -­‐  database:  rails  db    -­‐  server:  rails  s    -­‐  logs:  tail  -­‐f  logs/development.log    -­‐  console:  rails  c    -­‐  capistrano:    -­‐  server:  ssh  me@myhost 27 27 Wednesday, February 27, 13

Slide 28

Slide 28 text

tmux Wrap-Up If you dig keeping all your workspaces organized If you like to work hands-free If you like to have precise control over your splits If you could benefit from “lightweight” pairing If you like to feel like an uber dork 28 28 Wednesday, February 27, 13

Slide 29

Slide 29 text

ZSH (Z Shell) Super Configurable Oh My ZSH! community aliases and other goodies Folder autocompletion Vi key bindings 29 29 Wednesday, February 27, 13

Slide 30

Slide 30 text

Alfred 30 30 Wednesday, February 27, 13

Slide 31

Slide 31 text

Alfred Hotkeys Clipboard History Spell/Define Extensions 31 31 Wednesday, February 27, 13

Slide 32

Slide 32 text

32 32 Wednesday, February 27, 13

Slide 33

Slide 33 text

Pomodoro Stay focused for a period of time (45min focus/15min break) Runs an AppleScript: Close Twitter Close Email Close Notifiers Start SelfControl 33 33 Wednesday, February 27, 13

Slide 34

Slide 34 text

SelfControl 34 34 Wednesday, February 27, 13

Slide 35

Slide 35 text

DuckDuckGo Don’t get tracked Great shortcuts to other search engines !gi !gf !gh !a !yt !gm ....... 35 35 Wednesday, February 27, 13

Slide 36

Slide 36 text

BetterTouchTools Maximizing Window moving Probably hotkeys? 36 36 Wednesday, February 27, 13

Slide 37

Slide 37 text

nvALT.app Very lightweight note taking app Shortcuts to edit the files in a different editor (MacVim???) Evernote HOW DOES IT WORK? 37 37 Wednesday, February 27, 13

Slide 38

Slide 38 text

f.lux Adjusts your lightning day and night Annoying at first, but it is the right thing to do 38 38 Wednesday, February 27, 13

Slide 39

Slide 39 text

YokuFukurou Super lightweight Twitter app Vim hotkeys Great “mute” functionality 39 39 Wednesday, February 27, 13

Slide 40

Slide 40 text

Guard 40 Fast/instant feedback Grown/tmux notification Keeps you focused 40 Wednesday, February 27, 13

Slide 41

Slide 41 text

LiveReload 41 Hooks into a browser (Chrome, FF, Safari) Saves your from refreshing the damn page I believe Guard also has some reload functionality Thanks Rob Mack for telling me when it was $1 in the AppStore 41 Wednesday, February 27, 13

Slide 42

Slide 42 text

42 42 Wednesday, February 27, 13

Slide 43

Slide 43 text

White(Brown) Noise http://www.simplynoise.com/ iPhone app and 60 minute looping clip for my Mac 43 43 Wednesday, February 27, 13

Slide 44

Slide 44 text

Caffeine OMG, stop touching the mouse every three minutes to stop your computer from going to sleep!!! 44 44 Wednesday, February 27, 13

Slide 45

Slide 45 text

ShadowKiller Remove the stupid shadow http://www.unsanity.com/haxies/ShadowKiller 45 45 Wednesday, February 27, 13

Slide 46

Slide 46 text

Non-Tech Sleep Take Breaks Take Walks Read a non-tech book Get a hobby that is not tech 46 46 Wednesday, February 27, 13

Slide 47

Slide 47 text

What about you? 47 47 Wednesday, February 27, 13

Slide 48

Slide 48 text

How to find you inefficiencies? Every time you notice something silly, write it down, look it up later Pair with someone 48 48 Wednesday, February 27, 13

Slide 49

Slide 49 text

Take the Time 49 49 Wednesday, February 27, 13

Slide 50

Slide 50 text

Wrap Up 50 50 Wednesday, February 27, 13