On Productivity When You Can't Use Your Hands


As an ML practitioner, gamer, musician, and sports enthusiast, I work and play with my hands a lot. I recently began experiencing some pins and needles pain in my index fingers, thumbs, and wrists, and consulted a med school friend who is passionate about hand surgery:

“Whatever you’re doing, if you continue in this fashion you will not be able to play violin or video games or type in a couple years.”

I knew exactly what I was doing. I type too hard and too fast.

I work fast - speed is one of my principles - and type at ~140 wpm. This intensity was exacerbated by striking out on my own in March 2024 as an independent consultant and not only building projects for clients but also writing volumes of cold emails, LinkedIn messages, and X DMs to source the next round of projects. After thousands of emails and tens of thousands of lines of code, with little to no breaks for weeks at a time, my hands finally gave out under the strain and I went from being a monster at the keyboard to a big fat 0.

Additionally, I’m a violinist, and I knew it would affect my ability to play at a high level. Good luck playing the Sibelius or the Tchaikovsky without strong hands and wrists!

I couldn’t abandon my work, but neither could I continue in this fashion. So I discarded all my priors about what was possible and started optimizing for one metric: decreased physical movement. I’m detailing my optimizations below for others with broken hands, and will update this list as I discover new techniques.

Physical Improvements: Emergency Tactics to Relax Keyboard Technique

  1. Being cognizant of whether my hands are warm (they probably aren't). If they aren't, I warm them up using some old violin warmup techniques. You'll look dumb. Lean into it.
  2. Reducing my typing speed until I applied no pressure and never lifting my fingers off the keyboard (thus reducing impact, the biggest immediate pain agent). This alone lowered my speed from ~140 wpm to ~85 wpm. Ouch.
  3. All my wrist pain was in the right wrist, which was largely from the pronation of hitting Option+Delete to delete words and hitting the Delete button. I now move my right wrist far to the right when hitting Option+Delete, and also minimized the number of times I need to hit the Delete button via 100% accuracy, which I can achieve at 85 wpm. On MacOS, there are also the settings "key input rate" and delay until repeat". Max out the first and minimize the second. When you hold down a key you'll see why.
  4. Thinking ahead about my next action as I’m executing a current action. My OODA-esque-loop at the computer was: think, decide on an action, blitz out the action as fast as possible, and repeat in a serial manner. You wouldn't last a minute in the Lost Temple they raised me. Now to maintain flow I think ahead about my next action so I smoothly glide from one action to the next. This has reduced hand strain and even changed the way that I think!

Strategic Improvements: Hack Your Communications

Seriously! Type less! Before the Internet there wasn’t enough information movement/storage so writing many words was a reasonable way to increase communication bandwidth and persistence. Now we have a different problem - trying to extract signals from a deluge of information that is recorded forever. Therefore decorum is less important today and brevity helps you stand out (since people abuse LLMs). The best improvements you can make here are:

  1. Make a phone call. Why? Voice is higher bandwidth, you type less, you resolve issues in less absolute time. Unrelated to the pain in my hands, it's also good for non-work relationships too ;) I call my friends and family and girls I'm seeing instead of texting intermittently. In a world where everything is communicated via text, calling helps you stand out. And it's WAY more fun!
  2. Make long-form media short: Emails can be 1 word long. They can be 2 letters long. I'm dead serious. It's extremely freeing, and when you respond quickly, people respond faster to you, and your time seems more valuable (and it should be!). Be concise and reduce back and forth at all costs.
  3. Make short-form media longer: Huh? What I mean is, make Slacks longer and formal so you can respond less. This one rule, if everyone followed it, would increase global GDP by 5% overnight. This rules sets a precedent with the other party to reduce the number of back and forths, which means you can dodge the dripfeed of followup notifications that are wireheading your monkey brain, buying you concentrated time to build things and enjoy life. Also less typing.

Strategic Improvements: God Gave You a Mouth, Use It

  • Speak don't type! Apple’s (and I assume other HW manufacturers') dictation technology is fantastic (though not for coding). I now dictate my text messages, emails, and code comments. I’m dictating this piece right now. This is an adjustment because thinking via typing is different than thinking via speech but I now “write” faster because speaking is ~3x faster than typing at a keyboard and ~5x faster than typing on your phone.
  • This is the only time I'll talk about my phone, but between dictating and getting 1Password+ Face Recognition, I never type into my phone anymore. And I'll say it again, dictate into your phone. You will never go back.
  • Simply improving at writing and speaking off the cuff helped. The only book you need to read is On Writing Well, by William Zinsser. You will use fewer words because most words are superfluous and you'll have agency over what words you do choose. Like all subjective skills, people don’t improve at writing because they never define loss functions, and this book is a jumpstart for improving basic writing mechanics. This book cut the number of words I write/dictate in half.
  • Getting better at dictation is a matter of volume. You'll know you've got it when you start dictating in a ridiculously magnanimous voice in a public workspace. That's when you'll know you hear the music!
  • The Rhythm of Words

    Tactical Changes: Some Examples of How to Turn Computer Into a Video Game

    1. Set up email signatures on your email client.
    2. Set up a Calendly and ping the link instead of the typical back and forth over email
    3. Saying “Wake up” and "Go to sleep" activates/deactivates dictation on MacOS if enabled
    4. Cmd+Space+ch=Chrome
    5. Cmd+Space+vi=VisualStudioCode
    6. @L=Chrome URL bar
    7. @pl: Progress Log for big projects
    8. @a: Tracking sheet for boring things I call it "The Bridge"
    9. @p: perplexity.ai
    10. @o: ChatGPT (or Claude, depends on my favorite at the time)
    11. @c: Google Calendar
    12. @d: personal-website
    13. @g: Gmail
    14. @l: LinkedIn
    15. @gh: GitHub
    16. @gd: Google Drive
    17. x: x.com
    18. @v: vim commands cheat sheet (because I forget controls constantly and I’m looking for new shortcuts!)
    19. r alias to "ranger" in my Terminal for browsing files at lightspeed
    20. alias p=python3
    21. alias a="source .venv/bin/activate"
    22. alias j="jupyter notebook"

    This is just a sampling, I have many more bespoke shortcuts, stuffed into my ~/.zshrc and VSCode. OGs will scoff at these, but younger programmers like me aren't aware of how much faster you can move.

    I love these shortcuts because while they save only a second at a time, they take 15 seconds to set up and save days of my life.

    Automation Changes: Trade Effort for Thought to Save your Hands

    LLM-ify everything. With voice dictation, LLMs are a superpower for avoiding typing. My marginal utility function is different from those without hand pain, but I'll pay for any solution that reduces my keystrokes. A couple important techniques below.

    Lastly, I know this is hotly contested, but not only do LLMs help me avoid typing, but as a science and design guy, they definitely help me code. I’ll likely write a piece where I compile instances where LLMs have measurably improved my productivity, but here’s generally how I make a new feature without having to abuse my hands: the organizing principle is work top down and introduce the LLM gradually.


    Thoughts

    Overall, I’ve never been this introspective about how I work. It's extreme, but I'll do anything to save my hands. Thus far I've been successful - and it's possible I've increased my speed overall, although I have yet to rigorously time this (and I don't want to, because I'd have to type violently for the A/B test).

    Part of the "slowing down to speed up" method is that the nature of my thoughts at work (and even outside work) has changed. I can’t depend on my preternatural dexterity to be more productive, so I’ve had to slow down and simply learn more from each dev loop. In deep learning terms, I’m increasing my sampling efficiency instead of the epoch volume or dataset size.

    The way I think in my daily life has changed as well. I find myself quietly considering a problem before diving in, hunting for that one subtle move that yields massive returns. I enjoy it, and I think I'll continue. Hopefully this doesn't turn into a case of Goodhart's Law but I have high hopes.

    There have been some physical changes I’ve employed, like upgrading my keyboard and improving my posture (with GPT-4’s help I crafted a program that uses computer vision to detect when I slouch and yells at me), but the biggest changes have come from using dictation and communication strategies to reduce typing. The human aspects are always the bottleneck!


    Thanks for reading! If you have any other ideas for how I can type less please hit me up via email or X, I’d appreciate it. I suspect this will be an ongoing battle so I’ll take any ideas you have and include them here for other passersby.


    ***This is an ironic piece because it mirrors Jason Liu’s post on dealing with pain in his hands and I was heavily inspired by his AI consulting work late in 2023 to strike out on my own and provide AI services to companies as part of my transition into large deep learning models. I want to give him a shoutout here because I feel like he deserves it.***