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

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

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

Marc Aubé

February 25, 2022
Tweet

More Decks by Marc Aubé

Other Decks in Technology

Transcript

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

    Journey with RSI 3. Prevention 4. Reverse engineering my pain 5. Technical optimizations
  2. ! "

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

    focus " ‣ drink plenty of water # ‣ pomodoro $
  4. "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."
  5. 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
  6. 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?"
  7. 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
  8. But there's soooo many of them! And no way to

    use the same shortcuts across all apps
  9. 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
  10. 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 ‣ ...
  11. "If I create aliases for <insert program> commands, I will

    forget what the real commands are " — Me in 2010
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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