by billiob on 10/8/23, 9:55 PM with 172 comments
by SulphurCrested on 10/9/23, 10:00 AM
I have an Apple trackpad which I use to give my hand a break from the mouse, but I find that if I use it heavily for a day or two I get sore fingers. I use a mechanical keyboard. That too tends to cut up my fingers, and I’m on the lookout for a better one, or at least better keycaps.
I’ve been doing this for 45 years now, since age 19. Along the way I’ve used punchcards, line mode editors, TECO itself and two TECO-inspired full screen editors, various full-screen editors like DEC’s EDT, and emacs. I know vi, and will by habit drop into it when editing config files and so on, but don’t subscribe to the view that it solves the RSI problem. So I do know how to edit efficiently using keyboard shortcuts, but now think it’s the wrong thing to do.
I went through a stage where I used emacs and a Happy Hacking Keyboard, and was very sore at the end of it.
I am not slow with my mouse. I can churn out ~2000 lines of good C++ in a day. (But I am not a fan of the language from a typing point of view!)
by CapsAdmin on 10/9/23, 4:46 AM
I've used a traditional mouse and keyboard since I was around 7 and can easily spend a whole day in front of my computer.
Lately I've been wondering if it's simply just my inability to sit still which has helped me so far. I feel like I always need to change my sitting position. I can sink down in my chair, put my legs up on something, move my feet, lean on my desk in awkward positions, stretch and twist my body and so on. Not because anything hurts, but because I just feel restless.
But sometimes when I've been intensely in the zone while programming, I don't move as much and then I might start to feel some stiffness in my arms, fingers, etc. I would also notice my eyes get sore, maybe because I don't blink as much?
by apitman on 10/8/23, 11:22 PM
by benreesman on 10/9/23, 8:11 AM
This is one of those trades where you can do amazing shit on the first day, but you’re still a work in progress just decades in.
I love this shit.
by spit2wind on 10/9/23, 5:25 AM
Stenography is a mapping of some combination of keys to some output.
A particular mapping is called a "theory".
One such mapping is phonetics, or the sounds of words. Let one key represent the "Kuh" sound, another "ah", and a third "tuh". Press them all down and when released, you get "cat". "Al" "Guh" "Or" "If" "Um" "Algorithm". 5 strokes instead 8. And that's not even trying to be efficient.
Another mapping is to use shapes. Three keys in the top row and one in the middle on the bottom looks like a "T". So, map that to something you associate with T.
A theory can be any mapping you want. Stenography is based on shorthand which was invented in the late 1800s. There are plenty of theories that already exist. You don't need to make your own.
When you write, you use some words or phrases frequently. Map those to convenient keys. Such mappings are called "briefs". Go crazy with them and you can reach 370 words per minute of real-time dictation.
You obviously don't have to be that good. I find that 30 wpm is sufficient to be productive at work. You can reach 70 wpm by practicing 15 minutes a day for a few months. You're a programmer. You can do it.
Expecting a lifetime of computer input? Don't optimize for easy key-to-output mappings such as QWERTY or Dvorak. Learn stenography.
See Plover and Javelin.
by cassepipe on 10/9/23, 12:25 AM
It makes no sense to have your most important key where it is nowadays.
The reason the back to normal mode key is ESC is because that key used to be much closer from the home row.
My personal preference is to use Caps Lock because each OS has an easy solution for this simple remap and since it's system wide you can use vim modes elsewhere too (zsh and gdb for me mostly). Also in general it's quite convenient to have escape so close.
Do what you will but please don't suffer uselessly for stupid historical reasons.
by neilv on 10/9/23, 12:35 AM
One of the things that matters for me when seated at a desk (I also do standing desk) is that I like to be able to have my feet flat on the floor when seated, and then for the keyboard height to be lower than most desks.
If you're similar, and you're considering those powered height-adjustable desks, note the minimum height in the specs of a desk (and that the actual minimum height might be an inch or two higher, due to the top thickness and/or leveling). Importantly, the "3-stage" ones on Amazon go lower than the "2-stage" ones.
You can also occasionally find rare low fixed-height desks. I also once realized that the legs of a university lab's white laminate desks were interchangeable with the legs of matching shorter white laminate side tables. (I quietly swapped a set, under the cover of night.)
On chairs, I don't like armrests in any case, and also, note that, if you have a lower desktop or keyboard shelf, armrests on chairs might bump into it.
If you want to remove arms from a chair that has them, check how well that works before you spend a lot of money. Aerons with arms look like they can come off pretty cleanly. I've had good luck with some more conventional commercial-grade office task chairs. I've also seen office chairs that leave unsafe heavy-duty welded steel frame protrusions out the sides, with corners that could rip into someone's leg someday. Steelcase Leap V2 arms can come off, but not cleanly, so it looks kinda dumb for how much money you spent.
by lproven on 10/9/23, 12:48 PM
Reading all these comments from people about what they do/don't do. Nobody seems to address the giant stinking pachyderm: are you right or left handed?
Left handers have to exercise their right hands, because of all the kit made for the right-handed majority. Almost all these fancy vertical mice are right-hand only. In fact most mice are RH only. I sometimes use a cheap 2nd hand gamer mouse I bought for when my main one's batteries die: it's RH-only.
Digital cameras? All RH only. Most mobile phones? Mainly for RHers.
We sinister types must use our right. Most right handers barely use their left.
20Y ago, in my mid-30s, I switched to mousing right-handed at home. I'm a leftie, but I worked in support for 15-20 years and I had to use customers' machines the way they were configured. Usually that means mouse on the right. I could but didn't on my own because they're mine.
An ex suggested switching and it really balanced my hand usage. Gave my tired sore left a rest, made my under-utilised right pick up the slack.
I also trained myself to clean my teeth with my right, to practice my coordination.
Never mind rock climbing or whatever. Nobody needs to climb a wall to get to work. But pretty much everyone needs to clean their teeth.
Learn to use your left hand for more. Learn to mouse with it, or use your touchpad or whatever. Learn to clean your teeth with it.
Spread that load out. Even the workload on your hands and wrists, and they'll thank you for it over the decades.
by pugworthy on 10/8/23, 10:58 PM
I've also been a pretty avid WASD + Mouse gamer for a long time as well, and I think gaming probably causes me more issues than programming.
by notacoward on 10/9/23, 12:57 AM
So, why do I think that relates to my lack of RSI problems? Because with my seven(ish) finger method my hands constantly rove over the keyboard. What they don't do is stay in one fixed location, with the wrists in the same (usually somewhat awkward) position as only the fingers move. That maximizes repetition - the R in RSI. Minimizing hand motion this way is bad. If you want your hands and wrists to stay healthy you have to keep them moving, just like any other muscle/tendon/ligament complex in any other part of your body. It's silly to think that the general rules of exercise and flexibility don't apply to hands.
by sanitycheck on 10/9/23, 10:28 AM
What I'd recommend is varying everything as much as possible, I found always being in the same position and using the exact same movements day in day out is what seemed to cause problems.
I've got a mouse, a trackball and a trackpad all connected. Trackpad is on the left, others on the right. Trackball is a Kensington Orbit (fingers, not thumb, on ball). When adding a new input method take away the old ones for a week or so in order to create new instincts, or you'll just always reach for the mouse.
Keyboard is just a standard mechanical TKL (the trackball goes where the numpad would) - in my experience programming involves a lot more thinking than typing, and I avoid editors/IDEs which encourage constant hand-contortions to use hotkeys. For me, at least, optimising for keyboard efficiency would be a waste of time.
My 43" 4K monitor set at 100% scaling is perfect. I can see a lot of code side by side. A second 28" monitor in portrait mode usually contains slack, a tiling terminal and the UI (browser/emulator) of whatever I'm working on. On a laptop I'll use multiple workspaces and get by OK, but more pixels are better.
I gave up on ordinary office chairs, I've always had a slightly dodgy back ever since I was a teenager and it got fairly bad a few years ago. I switched to an ergonomic "wobbly stool" and that's worked well - I'm forced to move around because it's never totally stable. Sometimes I stand, but if I'm trying to focus I do still need to "sit and think".
by jasoneckert on 10/9/23, 12:55 AM
I've been developing as long as the author, but lucky enough to not have any serious forearm/hand pain during that time. There was a time a decade ago where I had some mild pain, but taking frequent breaks helped tremendously. And like the author, I started investigating other keyboards as well.
Today I use a Moonlander Mark I and Apple Trackpad on one system, and a Lenovo TrackPoint II and Logitech MX Master 3 on my other system. Both configurations have their merits, and are equally good in my opinion. It's also surprisingly easy to move between them.
by nope96 on 10/9/23, 12:13 AM
by _TwoFinger on 10/9/23, 9:29 AM
Instead of holding the modifier key(s) when activating a shortcut, you can press and release each modifier sequentially.
It does come with some of the fancy keyboards' firmware, but is also a built-in feature of all major OS-es. You can get it without spending a single dollar.
by city41 on 10/8/23, 11:35 PM
by boffinAudio on 10/9/23, 8:46 AM
Adopting this policy has kept RSI problems at bay, at least in my case. I have 3 or 4 favourite keyboards and I just switch them around ... giving my hands a chance to re-train on different weights/resistances of keys, etc.
by mlhpdx on 10/9/23, 12:38 AM
I started programming pretty early, but I didn’t have a desk until my first job after college. I pretty-much made do with whatever situation was available to me. I also started working pretty early, doing physical jobs. I bucked hay for local farmers at about 12 and started shearing Christmas trees at about 15. The latter doing a lot of damage to my shoulders over the next few years. In college I rowed crew, which didn’t make things better as far as my arms went.
After college I started programming and I’ve been doing it professionally for going over 30 years now. It’s never really been physically comfortable. Even back then I was good for like an hour-long sit at most before I had to get up and move around and “get the blood flowing“ so to speak. That’s never changed. I still don’t like working at a desk. I stand, I sit on the floor, I sit in comfortable chairs, I lay down on the sofa, I’ve been known to steer a sailboat with one hand and program with the other.
I feel like this is why it still works for me - I don’t repeat my posture much. I have a really, really low bar for my programming “situation” and take full advantage of that.
by porridgeraisin on 10/9/23, 5:06 AM
My left hands fingers are way more flexible and nimble than my right hand, even though I'm right dominant.
I do basically all typing with all my left hand's 5 fingers, accompanied by just two fingers on the right hand.
I have looong fingers so it works out on standard keyboards without any need to stretch.
But yes, never ever put weight on your wrists while typing, same advice as when playing a violin.
by gooseyard on 10/9/23, 12:16 AM
I'm sure there are some other people who share my interests who have been the victims of misfortune when it comes to RSI injuries, but I think for the bulk of us who do anything repetitive, it's not incredibly difficult to avoid these issues if you just pay attention to what you feel.
For example, on Friday I noticed that, after pretty much a solid week of intense editing of code (I wrote a large thing and then realized I had gotten it all wrong and needed to move a lot of stuff into different files), I kept noticing that my elbows were killing me because they were grinding into the armrests of my chair. It didn't dawn on me until the end of the week that the reason I don't usually have that elbow discomfort is that years ago I took the armrests off my chair, or as the case with my current chair, I folded them backward and out of the way. I had put them down to clean them or something and forgot about it.
If I mind myself, I'll notice the stuff that makes me uncomfortable. If I try doing whatever that is less and I feel better, then I've learned something. If I stop doing the thing that I've learned makes me uncomfortable, that's great. If I did it too long and I need to visit a doctor or a therapist to help me undo the damage, that's great too.
So long story short, pay attention to how you feel, recognize that however you feel is probably a result of the choices you've made, intentionally or not, and treat your body as a machine that needs maintenance and either find a good technician or learn to do it yourself when it makes sense.
by fipar on 10/9/23, 2:31 AM
I’m now a big fan of my keybordio model 100.
If you’re young and you plan to do this for a living, a good ergo keyboard with firmware you can customize is one of the best investments you can do for your hands’ (and arms) health.
by keithnz on 10/9/23, 1:21 AM
now any fine motion where I need any kind of pinching motion for more than 30 seconds is super painful and by thumb pretty much gives up (using my thumb to tap the spacebar on the keyboard is fine though).
Since learning about RSI about 30+ years ago, I regularly exercise and stretch my hands, so I think that has helped a lot.
by rr808 on 10/9/23, 12:38 AM
by MailNerd on 10/9/23, 7:48 PM
Otherwise it's also Ergodox for me. I switched to Colemak at the same time, also have a programming layer ()[]{} etc. In addition I have a layer for cursornavigation and selection, word wise/char wise/start&ens of line/page wise, comparable to vim mode, but using the default shortcuts for Windows and macos (with the help of Karabiner)
It took a few weeks to get up to speed but I couldn't be happier.
by Taniwha on 10/8/23, 10:59 PM
by svennidal on 10/9/23, 12:03 AM
by cube2222 on 10/9/23, 10:29 AM
It’s a very intuitive and customizable voice coding tool, and even if you don’t need it at all times, you can use it to lower the strain on your hands. It’s surprisingly productive, too.
by pugworthy on 10/9/23, 1:17 AM
by 000ooo000 on 10/8/23, 11:49 PM
by jasfi on 10/9/23, 4:27 AM
- Fish oil.
- Getting enough protein.
- Yoga. Especially for tight forearms and shoulders.
by notthatoldguy on 10/10/23, 8:40 AM
by bobobob420 on 10/8/23, 10:37 PM
by wly_cdgr on 10/8/23, 10:57 PM
Legend.
Also: the part about rock climbing because you can't think about anything else resonates. I run for the same reason.
by hnthrowaway0315 on 10/8/23, 11:38 PM
by karmakaze on 10/9/23, 5:12 AM
by h2odragon on 10/9/23, 1:01 AM
trackballs are possible to use without fatigue. mice, less so.
by thomasfl on 10/9/23, 8:02 AM
by marhee on 10/9/23, 7:57 AM
Talking about elephants in the room here... I don't think it's the keyboard or mouse, dude! ;)
I've done rock climbing myself. Obviously, it's a huge burden on the ligaments of the upper body. It's also very fun (not in the least because it's a bit scary), but you will feel those wrists a shoulders a bit the next day. Small price to pay, until it because really painful.
I would recommend to the author to try and mix in in some other fun sports like kite-surfing or mountain biking etc. Or dancing (salsa I can recommend if you're open to the latin music). And limit mouse-mileage-heavy gaming a bit maybe? There's a lot of other options (try Return of the Obra Dinn).
Finally, I don't know if other have experienced this, but reflecting a bit on how you do programming can also help. Thinking more, resisting that urge to start typing away did a lot for me personally wrt my wrists and shoulders starting to loving me again. But that may be just me, of course.
by Clubber on 10/9/23, 12:47 PM
by StopHammoTime on 10/8/23, 10:34 PM
by gpspake on 10/8/23, 10:23 PM
by fransje26 on 10/9/23, 8:06 AM
Is that Pierre-Chauve in the background? Nicely climbing the Rocher du Roi Gros Nez then! I can never get enough of the vistas you get from that crest line..
by polishdude20 on 10/8/23, 11:12 PM
by apatry on 10/9/23, 12:54 AM
by yosef123 on 10/8/23, 11:03 PM
by rldjbpin on 10/9/23, 7:43 AM
what is it that one can do without spending too much or making overly drastic changes in how we work?
by TurboHaskal on 10/9/23, 7:27 AM
by jacurtis on 10/8/23, 11:54 PM
If you are reading this post and thinking, "oh I don't have these problems, I'm going to read something else", I encourage you to pause.
Having been in this industry for a while, I have seen RSI-type injuries happen to HUGE portions of my colleagues. I've met many people who have changed careers over this.
The reality is that spending 8-10+ hours a day in front of a keyboard is grueling on the hands, wrist, and arms (not to mention it can be for your back and neck as well).
It isn't a matter of "if", but "when". For some the result is more impactful on their daily life than others, but it does affect nearly everyone to some extent.
So I encourage anyone who is still young, thinking this is a post for "old people", to consider applying some of these principals today in hopes of pushing these problems further down the road or maybe even to put you in the minority of people who never have to deal with them in their career. The apple mighty-mouse thing (whatever they call it now) is horrible for your wrists and hands, throw it in the trash. Consider investing in some of these tools now, so you don't suffer later.
In a similar vein, take care of your posture which can save you from back problems and neck or spine injuries later. Sit/stand desks are great options and readily available now (and relatively affordable). Consider an ergonomic chair as well, and don't be afraid to spend good money on it. You spend 8-10+ hours a day in it. It's worth spending $1,000 on a desk and $1,000 on a chair that will save you thousands in medical bills and a priceless amount of avoided pain down the road. It's funny to me how many engineers making $150k or more a year and won't spend $2,000 on a good desk setup (which lasts for many many years). If you have a work-from-home budget, spend it on ergonomic tools, not a fancy monitor with a higher refresh rate.
by angarg12 on 10/8/23, 10:23 PM
Rather than focused on quantity let's focus on quality. 1 good year of experience is worth 10 bad ones.