I worked as a typist for rms for a few sessions while I was in college. IIRC, it was $10/hr and I’d do 3 hour stints.
He’d sit behind/beside and dictate keystrokes. I was a novice emacs user (especially by comparison) and he’d get frustrated when he could tell I was trying to interpret the keystrokes (instead of just typing them).
I didn’t last long as it was stressful work; when I let him know I was quitting, he was gracious, observed that I’d finally become useful and “lasted longer than most”.
His condition made a strong impression on me and got my cheapskate nature to be willing to spend money on Kinesis ergo keyboards later in my career when I started having minor pain.
I first came across Xah Lee's site years ago while trying to mitigate some mild RSI. At that time I saw he was an RSI sufferer and hardcore Emacs user. Over the years when I see an article by devs with chronic RSI, all I will say is that they are rarely written by vim users. I know key mappings can be changed but I don't think the default chording key combos of Emacs are ergonomic. I believe Richard Stallman is another victim of this.
BTW no RSI issues since I switched to using only laptop keyboards with quality trackpads and ensure straight relaxed wrists, and I type a lot faster as well. IME mice are terrible.
I stumbled across his site (and this post) two days ago lol! I think I saw someone had mentioned/linked the palm control method which I found pretty ingenious.
Mice are definitely terrible and one day I’ll get around to adding full mouse emulation to my QMK keyboard. And even tho Apple trackpad is nice I find it difficult to use cuz my mouse has like twelve buttons all programmed to different app specific functions so it’s actually rather ergonomic; the only worrying part is moving the hand off the keyboard
Another data point: I developed RSI in the tip of my finger from using an external trackpad at work. It felt like a splinter. I switched to a cheap vertical grip mouse where I could click farther up my finger. The pain eventually went away.
I'm convinced that using the "mac layout" for your main modifier key (Cmd) is a huge improvement when it comes to comfort and reducing strain. If you're on another OS, you should remap Control to your Alt key. I've done this on my Windows & Linux machines, and it takes a few days to get used to, but it's just night and day. Pinky weak, thumb strong.
While it's not a direct parallel, I'd recommend people be careful with using your thumbs like this. I've been using a tiling window manager with the windows key as a modifier for years, but recently I've been having problems with strain in my thumb from switching workspaces 1-4 and toggling fullscreen/tiling (t and f keys). Had I used alt instead of the windows key it might have alleviated some of the problems as it's shifted to the right, but my hand position still ends up in the same position that gave me problems if I try to alt 4-6, e-t or d-g.
One remap I can fully recommend is remapping caps lock to control, it's an incredibly natural position to hit the very common ctrl-w,r,t,f,c,v hotkeys.
I agree as well. On top of that I won't use a keyboard where the interior side of each command key is not flush with the interior side of the key above it (x or ,). Even that extra little bit of travel for my thumbs to press the alt key bothers me.
I don't really care for typing on my Macbook but I do think Magic Keyboard with numeric keys is probably as good as it gets for me. I don't really miss mechanical keyboards at all.
Using my thumb to press alt sounds crazy to me. It's incredibly uncomfortable compared to using ctrl with my pinky.
With that said I do agree that modern keyboards completely underutilize the thumb. This is why I love my split keyboard with a thumb cluster. I truly believe every keyboard should have a thumb cluster now. It's crazy that the default is to waste 2 fingers like that.
That's funny, it's the CMD key that gave me my RSI injury. It was from moving my left thumb underneath my hand in order to hold the key down. I eventually popped that key off and exclusively used the right CMD, and my pain died down. I suspect remapping it to caps lock would have solved the problem too, since I'd use my pinky for that.
If you have RSI you’d actually be better off learning to type lightly on the MacBook keyboard. Mechanical switches are making your poor ergonomic behavior less painful but the fix is to train yourself to type with less downward force.
Alternatively you could also try tactiles and the lightest springs you can tolerate and learn to not bottom out while still actuating the switch.
I use Emacs too full-time (at work as well as at home). I use the 'ctrl' key on both sides of the keyboard. For example, if I'm typing C-a (i.e., ctrl+a), I hold down 'ctrl' with the right little finger and 'a' with the left little finger. Similarly, if I'm typing C-k, I hold down 'ctrl' with the left little finger and 'k' with the right middle finger. I touch type and any touch typing lesson teaches us how we always use both hands to type shift+key, i.e., the key with one hand while holding down 'shift' with the opposite hand. The same lessons can be applied to the 'ctrl' key as well. Never had any problem using Emacs like this.
However there are some laptop keyboards which do not have the right 'ctrl' key and that makes good typing habits really difficult when the 'ctrl' key is involved. That led me to write a minor mode to make Emacs a better experience for myself on such keyboards without having to resort to a modal editing mode like God mode or Evil mode. My non-modal editing mode is called the Devil mode <https://susam.github.io/devil/> (HN post: <https://news.ycombinator.com/item?id=35936885>)
Since I've never suffered from RSI due to Emacs usage, it makes me very curious about what the actual contributing factors are that cause some Emacs users to get RSI. Is it the very large number of hours spent with Emacs? Poor typing habits? Poor keyboards? An inherent susceptibility to RSI?
I’ve used Karabiner Elements on my Mac to turn caps lock into a combined ctrl and escape key, and return into a combined ctrl and return key. It takes getting used to but it’s pretty nice.
When I hold the key while pressing another, it acts like ctrl. When I tap the key it acts like escape and return, respectively.
I’ve only done it recently for return. Still getting used to it. But now I have a ctrl key on both sides of the keyboard.
The article at https://www.emacswiki.org/emacs/MovingTheCtrlKey says that some users get RSI by remapping 'ctrl' to 'caps lock'. Again, it is all anecdotal. There is no evidence or reference presented there. Only a vague claim at the top of the article.
But I won't be surprised if it indeed turns out to be true. When 'ctrl' is mapped to 'caps lock', we use only the left hand to to type 'ctrl'. This leads to bad typing practices like contorting your left hand to type both 'ctrl' (now mapped to 'caps lock') and 'x' with the same hand.
I believe it is best to balance out the 'ctrl' usage (or for that matter, any modifier key) across both hands. Many people map both their 'caps lock' and 'enter' key to behave like 'ctrl'. On its own 'enter' behaves like 'enter' but when combined with another key, it behaves like 'ctrl'. I think that's a great idea. But an even better idea is to have 'ctrl' key on both sides of the keyboard at a convenient locations.
people actually use right-ctrl and right-shift? i forgot those keys even existed.
but why not just use the left-ctrl? it's as easy as can be: pinky on ctrl, index finger on x, they're the perfect distance apart, you press them in one fluid movement.
Right pinky control key and left middle finger `x`. Or switch to Dvorak and it's easiest to use left pinky on control and right index finger on `x` (`x` on Dvorak is the same as `b` in QWERTY).
I actually found most of the popular chords were much easier to type when I switched to Dvorak.
i killed my RSI that I had for YEARS by seriously over-hauling my workspace. I also went to occupational therapists who helped me figure out what I was doing wrong and how to fix it.
I use a moonlander split keyboard so my shoulders are properly spread out instead of hunched together, and my wrists and arms can fall at a more reasonable angle.
I use a "tall" ergo mouse. This was a huge upgrade from my small mouse and I definitely noticed the improvement.
I figured out how to properly set the height of my desk such that I was not craning my arms up or down.
i fixed my "cross-legged" posture I used to use while sitting at the computer.
And finally: I built up a weight lifting habit that strengthened my entire body.
Of all of them, weight lifting likely had the biggest impact.
not scientific evidence but just one more data point to corroborate this line of thought.
i never had even the slightest wrist problems during 26 years of typing and software development - but i've also never stopped exercising, including frequent weight-lifting.
I’ve been strongly considering a split keyboard recently, and have been looking at (and loving the ergonomics of) the Moonlander, but struggle to reason paying $365 when every keyboard I’ve bought in the past has been <$80. Do you by chance know of any cheaper alternatives with similar ergonomics?
Kinesis freestyle is pretty cheap. I bought the mechanical one which is more expensive but don't use it. I'm too comfortable with microsoft ergonomic keyboard with light membrane keys https://www.microsoft.com/en/accessories/products/keyboards/... of which I have three.
The only issue with the microsoft one is that it has to fit you since it is split but one piece. With a fully two piece split keyboard you can adjust it to your needs.
I bought ergodox EZ and haven't had a bad RSI flare-up since. It's worth the money if you can afford. The switches are individually replaceable. Should last decades.
I agree with this. After compressing one my nerves quite nastily ( right hand wouldn’t move ) I invested what was at the time a significant amount of money into a keyboard ( kinesis). Best money I’ve ever spent!
I came her to comment on the quote from Ousterhout that, "It's not clear to me that you can ever "recover" from RSI; all you can do is stabilize at your current level of disability." I hope he got a chance to fully recover.
I too had debilitating RSI, leading to needing wrist braces and typing with a pencil lodged in my left hand and a few achy fingers on my right.
The book "It's Not Carpal Tunnel Syndrome!: RSI Theory and Therapy for Computer Professionals" [1] really opened my eyes on how to treat it.
I didn't start weight training, but did spend at least 20 minutes a day on trigger point therapy between my shoulder blades and elbow crease. That helped the most.
Then a vertical mouse, split keyboard, ergonomically placed chair, and correct table height helped prevent the recurrence.
I originally learned to type the "proper" way with wrists bent, but my hands have long since found a more comfortable angle (no bend) and it hasn't slowed my typing. Never did figure out what was so proper about keeping your hands aligned with the keyboard, since keys aren't in neat vertical rows anyway.
Am I correct to understand that this is actually an issue for these people?
As a programmer of far less exalted code, I’ve never felt like I was at risk of an RSI in my hands. (My neck is a different story.) I spend a lot more time thinking than typing. I wonder if this is because I program in a corporate setting, or if I’m just not as smart/fast at coding as these people, or if it is just a reflection of a different era in programming?
RSI is pretty common in several fields and depending what you’re programming, as well as your individual setups.
For example, I used to develop for feature film post production. Using 3D applications was part of development and there’s a lot of motion of the wrist involved. So I’d use a Wacom tablet along side it or an ergo mouse.
I’ve met tons of developers with RSI in the same field too.
Or it may be as simple as the development environment or task. How often are you moving your hands from home row? A lot of developers have shortcuts on their numpad or elsewhere which necessitates frequent motion. Switching my shortcut keys for minimal movement really helped.
There are other aspects of typing that contribute too. The angle of your wrists can exacerbate the issue. Tented keyboards are better. The angle of your keys from your base hand position matters or you might get rsi in your finger joints. Ortholinear keyboards help. The angle of your shoulders relative to your keyboard can give you shoulder pain, split keyboards can help.
Another thing that matters is also what they do in their spare time. I’m a musician with multiple instruments, I draw etc…
Each of those increase my risk of RSI and indeed I did have pretty bad wrists at one point.
I would not be surprised. A few years ago I developed disabling inflammation in my wrist, which turned out to be caused by my tendons having grown in an abnormal configuration. A simple surgery that "released" the collar of the sheath holding the tendons provided relief.
My surgeon told me that some segment of the population has the same issue and that they are simply born with it, but he is not sure what percentage it is, and some may go a lifetime without ever knowing.
Possibly to different body parts too. When I was cooking professionally I used to get it in my shoulder and elbow from certain motions. When I switched to coding I was aware of it being a common problem and figured I'd get it from computer user but I never have.
I have maybe been a little more mindful of my posture and ergonomics, but never to the point of using anything but a normal laptop or basic apple keyboard and trackpad.
I'm assuming we spend more time figuring out the right way of using a framework these days over writing hundreds of thousands of lines of code in a lower level language.
I find rest and forearm stretches help. The best stretch I've found is to push the hands against each other (flat, open palms against each other), either in front of or behind you. Disclaimer: talk to your doctor first.
Never continue working with when you have the slightest pain in your wrists/hands, that's the fastest way to an RSI. I would say you need to rest/stretch until it goes away.
Desk/chair ergonomics are important. Find what works for you, but generally never use a laptop on its own for more than you have to. Separated screen and keyboard are important.
I type pretty fast but just the way I learned naturally, not the proper home row way. My wrists always felt uncomfortable when I tried to type like that and I always wondered if that leads to problems.
Developed RSI and recovered by seeking professional help (occupational therapy), finding the physical/mechanical cause of the problem, and addressing it through massage (intervention) and steno (preventative).
A 1:many chord-to-output mapping makes far more sense than a 1:1 key-to-character mapping, especially from an ergonomics perspective. For example, pressing the chord for TH-S (three keys, single press) for 'this is' is obviously more efficient than making individual motions for 't', 'h', 'i', 's', '_', 'i', 's'.
If you can learn to program, you can easily learn steno.
I use emacs daily, my hands and fingers adjusted to the old bindings somehow. So whenever I used Eclipse and Java, I get serious RSI in less than 24H (the kind of acute/deep/radiating pain you don't want to ever feel)
You probably know this already, but Eclipse, and IntelliJ IDEA, and VSCode, support Emacs key bindings.
I toyed with Emacs key bindings in Microsoft Word, but that never felt comfortable. I also recall finding a lot of paper in the office printer when I tried C-p in Notepad :/
Yeah I knew about IDE custom keybindings but maybe early on they weren't well supported enough so I never bothered. Still strange that emacs quirkiness never triggered any pain (and I don't even remap caps lock)
Ergonomic mice are what’s useless. They give your wrist the tilt it (may) need but the real panacea is to keep your wrist/forearm off the table by resting your elbow on your armrest and having your desk height match your armrest height.
My personal experience is different. I developed strain from a bog standard, low profile office mouse, by turning my right (mouse) hand to be relatively flat, with the strain being rotating the thumb side down. Using a Kinesis DXT2 mouse resolved it relatively quickly. It's vertical, looks a bit like a sail, and after a brief period getting used to it, I found it very easy and very accurate to use, a bit like holding a pen. I should note that it was odd enough that I really had to have a spare normal mouse for when anyone else wanted to use my computer (during code reviews, etc.), that was quite funny.
I haven't actually even used it in years (lost during an office move), but now I instinctively use a regular mouse with my hand at least at a 45 degree angle to the table, instead of parallel with it, and I still have no strain. I think I'd have trouble doing that with a bog standard low profile office mouse, but my old Logitech mouse is chunky enough that it works for me without thinking about it.
My elbow was always on the armrest, but it was only after using a vertical mouse that I trained myself to not strain myself.
I don't really have problems with RSI nowadays, but years ago I would be at the computer even more.
One helpful thing is switch the mouse between hands every few minutes. Your hand gets a break if you're moving the mouse a lot. I used to have a normal mouse at work and I bought a trackball for home, so that the hand muscles used would be a little different.
Someone in this thread mentioned Jamie Zawinski and his advice is to not ignore pain. So if you are typing for an hour and your right hand starts to hurt, stop using your right hand for a little while (as long as you can, really).
RSI is an umbrella term for a myriad of diseases/disorders/syndrome and they each have their own causes and treatments and rarely is it so damning as to end a career or even warrant a $350 Kinesis keyboard.
The headline refers to "programmers",. The missing 'm' made me read it a "pro gamers" first. And yes, there are pros in the Starcraft II leagues that deal with RSIs
For what it's worth, I am a big fan of ergonomic keyboards and quite recently a company released my dream keyboard. It may certainly not be the right choice for everyone, but I highly recommend giving it a try.
RSI is not caused by ergonomics, it is caused by the nervous system. Save yourself some time and money and just read the mindbody presciption by Dr. John Sarno
I looked into remapping Ctrl once and the article mentioned instead using the left side of the left hand to type Ctrl instead of pinky. This only works on a keyboard with good key height, but it works wonders. Unfortunately, it's hard to find a laptop with a tall, mechanical keyboard.
anybody else tried remapping ctrl to caps in Linux Factorio and failed? I even followed some reddit tutorial to remap keys in kernel, but it didn't work either. Whole system accepted caps as ctrl, but not factorio. On windows it works.
He’d sit behind/beside and dictate keystrokes. I was a novice emacs user (especially by comparison) and he’d get frustrated when he could tell I was trying to interpret the keystrokes (instead of just typing them).
I didn’t last long as it was stressful work; when I let him know I was quitting, he was gracious, observed that I’d finally become useful and “lasted longer than most”.
His condition made a strong impression on me and got my cheapskate nature to be willing to spend money on Kinesis ergo keyboards later in my career when I started having minor pain.