Live data from Hacker News

Forty years of programming

fabiensanglard.net

101–110 of 176 posts

Re: Forty years of programming

#101
I'm only 33 but never had any issues with joint pains or anything like that whereas my peers, some younger and some older struggle with this and use various methods like ergonomic keyboards, massage sessions, stretching, etc to help ease the pain.

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?

Re: Forty years of programming

#102
post #3

Am I the only one who finds these "I've been programming since 6" posts silly? I mean, I used to mess up with computers since I was a child, but I wouldn't call that "programming". In fact if I'm completely honest, it wasn't until 5 years ago when I truly started to learn and grow as an engineer, more than the rest of my career combined. Rather than focused on quantity let's focus on quality. 1 good year of experienc…

I was coding in Q-Basic when I was about 9 years old. It wasn't much more than colored text on the screen and some inputs for a text based choose your own adventure for a little while but I was doing it. I was also playing other Q-Basic games and then reading their code to learn how to do certain things, then tweaking certain aspects of the code to change things, like what was said in messages and the hud and how much the score went up, etc.

Likely the only reason it wasn't earlier is I didn't have access to a computer until then. My parents didn't buy one until around that age, and I was already bugging them about it because my friend had one and was showing me these cool Q-Basic games he found on Compuserve. I started programming almost immediately after we got a computer in the household.

Now granted 5 is pretty young, I didn't even really know how to read then. But I probably would have by 7 years old if there was a computer in the house at that point.

I was also making Hypercard programs on the school library Macintosh (the original Macintosh) around that time, mainly images I drew with clickable portions to navigate to new screens, like navigating a maze.

My more serious programming was when I got a TI-85 calculator in 7th grade, though, so when I was around 12 years old. I started making text-based games on there, then action based games like Breakout, and at that point I was using plenty of for and while loops and checking keyboard inputs and creating menus and slinging variables around and calling functions and everything else.

Re: Forty years of programming

#103
post #99

Earlier quoted context omitted.

I know what you mean. I was forced to use emacs for a year. I found it an interesting coincidence the person who forced emacs on us had the worst carpal tunnel syndrome and couldn't type on a standard keyboard without extreme pain. I know you can remap your keys but there's inertia to just go with what you're given. I've also noticed myself switching between Mac, Windows, and Linux, that Cmd-C on my Mac is way less s…

Try a keyboard running QMK firmware. You can map a single key to multiple codes depending on the length of the key press. I use caps lock as escape if released immediately, and control if held down. Putting the modifiers in the bottom corner of the keyboard was a sadistic design choice.

Or evil mode.

Re: Forty years of programming

#104
I am somewhat of an edge case

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.

Re: Forty years of programming

#105
I have experienced shooting pains along the backs of my hands. I had to lay off typing/mousing for a few days for it to subside whenever I tried typing. After that experience, I learned an alternate keyboard layout (customized-NIRO) and I haven't had any issues since. I don't believe my typing speed changed much if at all, it was all about reducing strain and improving comfort.

Re: Forty years of programming

#106
Stenography is the most ergonomic method of computer input I am aware of.

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.

Re: Forty years of programming

#107

I'm only 33 but never had any issues with joint pains or anything like that whereas my peers, some younger and some older struggle with this and use various methods like ergonomic keyboards, massage sessions, stretching, etc to help ease the pain. 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…

Some additional notes from reading other comments. I feel the way I wrote the post make it sound as if I'm fine with any setup which is not true.

- Lower than normal desk height is more comfortable.

- Lower than normal chair height is more comfortable.

- Using a laptop is tiring unless it's on a desk.

- Using a laptop on my lap in a couch gives me neck pain.

- I should preferably not have to tilt my neck to look at the center of a screen.

- Using a macbook trackpad over extended periods of time can give me some wrist discomfort. I find myself often twisting and cracking my wris if I don't use a mouse because of the discomfort.

- Some chairs work better than others but I'm not sure what it is. Price does not seem to correlate at all.

Somewhat related:

- Sleeping on a pillow that is too tall gives me neck pain and headache. (from staying in hotels, friends, family, etc)

- Sleeping on very hard mattresses is preferable over soft. (seems more common in asia)

Re: Forty years of programming

#108
post #36

I started experiencing similar forearm pain a few years ago. The split keyboard seemed to help a ton. I also programmed[0] an Arduino with two foot pedals. Left pedal for CTRL, right for SHIFT, both for ALT. Worked wonders. I mostly have the pain manageable now, but it still flares up sometimes, and it was really scary there for a while wondering if I might have to stop programming. To you young guns out there, an ou…

What if you need to press all three "keys" simultaneously?

The same keys still exist on the keyboard. There is also such a thing as a compose key sequence where you press a few things serially rather than all at once. There are countless answers to this question really.

Re: Forty years of programming

#109
post #99

Earlier quoted context omitted.

I know what you mean. I was forced to use emacs for a year. I found it an interesting coincidence the person who forced emacs on us had the worst carpal tunnel syndrome and couldn't type on a standard keyboard without extreme pain. I know you can remap your keys but there's inertia to just go with what you're given. I've also noticed myself switching between Mac, Windows, and Linux, that Cmd-C on my Mac is way less s…

Try a keyboard running QMK firmware. You can map a single key to multiple codes depending on the length of the key press. I use caps lock as escape if released immediately, and control if held down. Putting the modifiers in the bottom corner of the keyboard was a sadistic design choice.

"escape if released immediately, and control if held down"

Elegant.

And I mean for those two particular modifiers with that relationship, not just the idea in general.

Re: Forty years of programming

#110
post #17

Only 1 monitor for 40 years? p impressive

i'm the same. i don't understand why some fellow programmers need multiple monitors: one is already plenty enough for me. (i'm using a tiling window manager, switching back and forth between different workspaces, having another monitor would require moving my head while i can instantly switch to another workspace from my fingertips)

I'm the same too. Having multiple monitors makes no sense to me.

With a keypress, I can switch between fullscreen workspaces. Or place two windows side-by-side when needed. My desk is free of clutter, and I never have to deal with configuring multiple displays.

I believe multiple monitors are less elegant and less effective (though a giant workstation full of monitors is perhaps impressive to family and friends).

A similar topic: I also don't understand why some fellow programmers need syntax highlighting. Some programmers have never even tried programming without it! And to them it might feel weird to go without at first, but I think it quickly becomes clear that syntax coloring is noisy and superfluous (and you might end up wasting time picking colors, etc.). Imagine if we did that for natural language (verbs are green, nouns are red, etc.), or math notation (numbers are blue, variables are pink, operators are orange, etc.). The silliness becomes clear quickly.

Post reply on HN