Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Productivity Tricks

Productivity Tricks

Various tricks to become more productive.

I.T.A.K.E. Unconf, Bucharest 2013

Stefan Kanev

May 30, 2013
Tweet

More Decks by Stefan Kanev

Other Decks in Programming

Transcript

  1. 3. 14159265358979323846264338327950288419716939937510 58209749445923078164062862089986280348253421170679 82148086513282306647093844609550582231725359408128 48111745028410270193852110555964462294895493038196 44288109756659334461284756482337867831652712019091 45648566923460348610454326648213393607260249141273 72458700660631558817488152092096282925409171536436 78925903600113305305488204665213841469519415116094 33057270365759591953092186117381932611793105118548

    07446237996274956735188575272489122793818301194912 98336733624406566430860213949463952247371907021798 60943702770539217176293176752384674818467669405132 00056812714526356082778577134275778960917363717872 14684409012249534301465495853710507922796892589235 42019956112129021960864034418159813629774771309960 51870721134999999837297804995105973173281609631859 50244594553469083026425223082533446850352619311881 71010003137838752886587533208381420617177669147303 59825349042875546873115956286388235378759375195778 18577805321712268066130019278766111959092164201989 38095257201065485863278865936153381827968230301952 03530185296899577362259941389124972177528347913151 55748572424541506959508295331168617278558890750983 81754637464939319255060400927701671139009848824012 85836160356370766010471018194295559619894676783744 94482553797747268471040475346462080466842590694912 93313677028989152104752162056966024058038150193511 25338243003558764024749647326391419927260426992279 67823547816360093417216412199245863150302861829745 55706749838505494588586926995690927210797509302955
  2. instance Show Board where show (Board ps) = let ordered

    = (sort . swap) ps ranks = map (showRank ordered) [8,7..1] board = intersperse "--+--+--+--+--+--+--+--" ranks rlabels = intersperse " " (map (\n->(show n)++" ") [8,7..1]) flabels = " a b c d e f g h" in unlines $ zipWith (++) rlabels board ++ [flabels] where swap = map (\(a,b)->(b,a)) showRank ps r = let rnk = filter (\(p,_)->(rank p)==r) ps cs = map (showPiece rnk) [A .. H] in concat (intersperse "|" cs) showPiece ps f = maybe " " (show . snd) (find (\(p,_)->(file p)==f) ps)
  3. 1 2 3 4 5 6 7 8 9 10

    11 12 13 14 15 16 17 18 19 20 21 22 23 24
  4. Intro 4min Q&A 4min Q&A 4min Q&A 4min Q&A 4min

    I. General 10min II. Work 10min III. Code 10min IV. Tools 10min
  5. 1. ToDo: things you must do obligations, commitments 2. Watch:

    things you have to remember follow up, wait for somebody, remind yourself 3. Later: things you want to do when you have the time
  6. Once you start, you’ll be surprised how often you didn’t

    get 3-5 significant things done during a day
  7. flow |fləʊ| noun the mental state of operation in which

    a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity
  8. “We are what we repeatedly do. Excellence, then, is not

    an act, but a habit.” – Aristotle
  9. put a calendar on a wall choose an action to

    reinforce a habit put an X on each day you perform the action don’t break the chain
  10. Skim over your notes regularly. Do it on the bus,

    during breakfast or even set up a reminder.
  11. decision fatigue |dɪˈsɪʒ(ə)n fəˈtiːg| noun phrase [In decision making and

    psychology, decision fatigue refers to] the deteriorating quality of decisions made by an individual, after a long session of decision making.
  12. where to go for lunch? what to listen to? when

    to check my mail? when to leave work? what to do next?
  13. the price of distractions is twofold time to deal with

    the distraction time to recover previous context
  14. Create a second account for work if you have to.

    Don’t give it to anyone, except your colleagues (and your spouse).
  15. Even the small effort to open Firefox in order check

    Twitter is enough to discourage me
  16. start with an empty list write down what you have

    to do pick an item and start it don’t interrupt - use the list pick another one when finished carry unfinished items to tomorrow
  17. It is important not to interrupt your current task. It

    is also important not to tax your brain with keeping track.
  18. The perfect schedule would be twice a day - in

    the beginning and in the end. It is probably not realistic.
  19. For results, just pick a typing tutor and spend 10

    minutes a day practicing touch typing* * ten fingers, no peeking
  20. There is little point in picking up an alternative layout,

    especially if you are not a native English speaker * it gives you street cred, though
  21. ⎋Q Pause current command ⎋H Open man page for current

    command ⎋E Open current command in editor zsh
  22. When you cannot write a full-blown test, you can record

    a macro to walk the functionality you are developing
  23. ! rsc rake spec cucumber ! rdm rake db:migrate !

    rmig add_users rails generate migration add_users ! be spork bundle exec spork
  24. ! git lola git log --graph --decorate --pretty=oneline --abbrev-commit --all

    ! spj bundle exec xvfb-run specjour --rsync-port=8081
  25. You still pay a penalty for accessing the Internet. As

    a bonus, you can use it on an airplane.
  26. ! git clone http://github.com/skanev/dotfiles ! rake install vim, zsh, tmux,

    git, xmodmap, etc... ! rake vim:bundles:update updates my vim bundles
  27. ! rake generate[3, 14] create 03/14.scm - add a header:

    ; SICP exercise 3.14 generate 03/tests/14-tests.scm - add a test scaffold start continuous testing open both files in vim ! rake next
  28. Try carrying it to the extreme: you will waste time

    in unnecessary automation, but get a lot better at it
  29. IDEs are fine - your Java productivity in (say) Vim

    will probably never be as good as it is in (say) Eclipse DISCLAIMER
  30. Editors are great in environments where you don’t have a

    good IDE - all the “cool” new languages, for example
  31. As programmers, we live in our editors - all improvement

    we can squeeze out of them are worth it
  32. Popular editors have lots of plugins - this is a

    good way to easily improve your workflow
  33. Play with as many tools as you can - if

    you know what one does, you will understand the what is possible to build
  34. your editor git zsh awk & sed / perl curl

    & wget tmux ImageMagick GraphViz
  35. Publish it in GitHub, blog about it, or give a

    talk. Put it out there - it will be useful for someone.