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

Preventing and dealing with career-ending injuries (Confoo 2022)

5e6bcf291601ee2e0faf35b30a839cb6?s=47 Marc Aubé
February 25, 2022

Preventing and dealing with career-ending injuries (Confoo 2022)

Last year, I've had to deal with a worrying case of RSI, short for Repetitive Stress Injury, to the point that I thought my years slinging code behind a keyboard were over. Yes, it was *that* bad. It also affected my hobbies and my life outside of work. In this talk, we'll explore strategies, tips, and tricks you can employ to stay healthy as developers, so you can have a long, prosperous, and pain-free career doing the thing you love.

---

Links and Resources (keyboard layouts)

- Keyboard usage Heatmap: https://www.patrick-wied.at/projects/heatmap-keyboard/
- List of split ergonomic keyboards: https://github.com/diimdeep/awesome-split-keyboards
- Colemak Mod-DH homepage: http://colemakmods.github.io/mod-dh/
- Miryoku, the Colemak layer system I use: https://github.com/manna-harbour/miryoku

Links and Resources (touch-typing training)

- Keybr: to incrementally learn the key placements: https://www.keybr.com
- N-gram type: practice typing the top n-grams: https://ranelpadon.github.io/ngram-type/
- Monkeytype: practice whole words and get cool stats about your typing: https://monkeytype.com
- Typeracer: if you ever want to race your friends: https://play.typeracer.com

Links and Resources (shortcuts and automation)

- Tighten Blog: How to train your keyboard: https://tighten.com/blog/how-to-train-your-keyboard/
- Home row modifiers: https://precondition.github.io/home-row-mods
- A useful Caps-lock key: https://brettterpstra.com/2017/06/15/a-hyper-key-with-karabiner-elements-full-instructions/
- Karabiner-Elements: https://karabiner-elements.pqrs.org

Links and Resources (CLI tools)

- `j`: quickly navigate directories on the command line: https://github.com/wting/autojump
- `bat`: a cate clone with syntax highlighting and git support: https://github.com/sharkdp/bat
- `fzf`: a fuzzy finder: https://github.com/junegunn/fzf
- `tldr`: it's like `man` distilled to only what you want: https://github.com/tldr-pages/tldr
- `zsh-autosuggestions` and `zsh-completions` so fish users will stop laughing at you: https://github.com/zsh-users/zsh-autosuggestions, https://github.com/sh-usezsh-completions

Links and Resources (Other)

- "Voice Driven Development: Who needs a keyboard anyway?" by Emily Shea: https://www.youtube.com/watch?v=YKuRkGkf5HU
- Computer Related Repetitive Strain Injury: http://rsi.unl.edu
- Vimium: vim bindings in your browser: http://vimium.github.io
- Alfred: Spotlight on steroids, with workflows for many apps: https://www.alfredapp.com

5e6bcf291601ee2e0faf35b30a839cb6?s=128

Marc Aubé

February 25, 2022
Tweet

More Decks by Marc Aubé

Other Decks in Technology

Transcript

  1. None
  2. Our plan for today 1. What's a RSI? 2. My

    Journey with RSI 3. Prevention 4. Reverse engineering my pain 5. Technical optimizations
  3. ⚠ DISCLAIMER

  4. What is a RSI?

  5. Repetitive Stress Injury

  6. Repetitive Strain Injury

  7. Cumulative Trauma Disorder (Ok, that one really messes up with

    our RSI mnemonic)
  8. Who's at risk?

  9. Musicians

  10. Athletes

  11. ! "

  12. Labour Workers

  13. Sedentary People

  14. None
  15. My journey with RSI

  16. My hobbies... ‣ Rock climbing ! ‣ Programming ⌨ ‣

    Play the guitar # ‣ Gaming $
  17. I can't ride a bike, apparently

  18. How to prevent RSIs?

  19. Workstation Ergonomics

  20. Work hygiene ‣ take regular breaks ⏰ ‣ change your

    focus " ‣ drink plenty of water # ‣ pomodoro $
  21. None
  22. There's no way you can touch-type on this with straight

    wrists
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. DVORAK COLEMAK WORKMAN IRST oh my...

  34. "Using <insert alt layout> can be a conversation starter. You’ll

    get lots of nerd cred from the right people but plenty more weird looks from everyone else."
  35. None
  36. How to learn a new keyboard layout? ‣ Accept that

    you'll be horribly slow (at first) ‣ Set aside time for short, regular practice sessions ‣ Never look down at the keyboard ‣ Go slow, aim for a high-accuracy
  37. Ambient vs Deliberate practice "I've driven my car everyday for

    years, how come I'm not as good as a professional race car driver yet?"
  38. Deliberate practice ‣ Learn where the keys are1 ‣ Practice

    the most common words ‣ Practice the most common bigrams (th, he, in, er, an, ...)2 ‣ Practice typing text3 ‣ Delete whole words when making mistakes (⌥ + ⌫) 3 monkeytype.com 2 ngram-type 1 keybr.com
  39. Words are effortlessly flowing from my fingertips, now what?

  40. Shortcuts ⌘

  41. But there's soooo many of them! And no way to

    use the same shortcuts across all apps
  42. What if I told you...

  43. ...you can

  44. The programs Andrew4 (and I) use ‣ Karabiner-Elements to remap

    keys on a Mac ‣ Goku to configure Karabiner using JSON files ‣ Hammerspoon, a Mac automation tool (think macros) 4 Tighten blog: How to train your keyboard
  45. "Hyper" and "Meh" keys ‣ Hyper: ⌃+⌥+⇧+⌘ ‣ Meh: ⌃+⌥+⇧

  46. Actions you can use your Hyper key for... ‣ Hyper

    + S → Open Slack ‣ Hyper + E → Open code editor ‣ Hyper + K → Open my console ‣ Hyper + B → Open Browser ‣ Hyper + P → Open command palette ‣ ...
  47. Aliases

  48. "If I create aliases for <insert program> commands, I will

    forget what the real commands are " — Me in 2010
  49. Spoiler alert You wont...

  50. Snippets

  51. CONCLUSION

  52. Links and Resources (keyboard layouts) ‣ Keyboard usage Heatmap https://www.patrick-wied.at/projects/heatmap-keyboard/

    ‣ List of split ergonomic keyboards https://github.com/diimdeep/awesome-split-keyboards ‣ Colemak Mod-DH homepage http://colemakmods.github.io/mod-dh/ ‣ Miryoku, the Colemak layer system I use https://github.com/manna-harbour/miryoku
  53. Links and Resources (touch-typing training) ‣ Keybr: to incrementally learn

    the key placements https://www.keybr.com ‣ N-gram type: practice typing the top n-grams https://ranelpadon.github.io/ngram-type/ ‣ Monkeytype: practice whole words and get cool stats about your typing https://monkeytype.com ‣ Typeracer: if you ever want to race your friends https://play.typeracer.com
  54. Links and Resources (shortcuts and automation) ‣ Tighten Blog: How

    to train your keyboard https://tighten.com/blog/how-to-train-your-keyboard/ ‣ Home row modifiers https://precondition.github.io/home-row-mods ‣ A useful Caps-lock key https://brettterpstra.com/2017/06/15/a-hyper-key-with-karabiner-elements-full- instructions/ ‣ Karabiner-Elements https://karabiner-elements.pqrs.org
  55. Links and Resources (CLI tools) ‣ j: quickly navigate directories

    on the command line https://github.com/wting/autojump ‣ bat: a cate clone with syntax highlighting and git support https://github.com/sharkdp/bat ‣ fzf: a fuzzy finder https://github.com/junegunn/fzf ‣ tldr: it's like man distilled to only what you want https://github.com/tldr-pages/tldr ‣ zsh-autosuggestions and zsh-completions so fish users will stop laughing at you https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-completions
  56. Links and Resources (Other) ‣ "Voice Driven Development: Who needs

    a keyboard anyway?" by Emily Shea https://www.youtube.com/watch?v=YKuRkGkf5HU ‣ Computer Related Repetitive Strain Injury http://rsi.unl.edu ‣ Vimium: vim bindings in your browser http://vimium.github.io ‣ Alfred: Spotlight on steroids, with workflows for many apps https://www.alfredapp.com
  57. Thank you