Forty Years of Programming
Forty years of programming #
Excerpt #
Oct 8, 2023
Oct 8, 2023
Forty years of programming
I am about to turn forty-six. This means I have been programming for forty years, half of them professionally. During most of that time, I used a “standard” setup with 104 keyboard, a flat mouse, and a sitting desk.
My home workstation circa 2011 (porting Doom III to mac)
Things evolved ten years ago when I started to experience pain in my forearms and shoulders when I programmed. Here is what I did to solve my problem, it may work for someone else.
Mouse
Using a vertical mouse improved things a lot. My favorite is the Evoluent VerticalMouse 4.
My work workstation circa 2015
Eventually, I opted for the Magic Trackpad from Apple. It is great to switch workspace with three fingers, zoom, and more. Having it in the center allows me to use it alternatively with my left and right hand.
My home workstation circa 2015
It used to be annoying to get the drivers for Linux/Windows but now it is all sorted out.
Keyboard
The first ergonomic keyboard I tried was the
KINESIS Freestyle2. It allowed me to spread each half as needed, resulting in horizontally straight wrist . However, the standard Control
, Shift
, and Alt
still required wrist gymnastics. Same thing for Esc
(I talk about VIM later) which required a left wrist twist. Also the tenting angle was too low.
I tried the KINESIS Advantage2. I liked the concept of having so many thumb options. But the fixed width was a step backward compared to the KINESIS Freestyle2.
The keyboard which has it all for me is the Ergodox EZ. It can be as wide or narrow as I need. And the custom firmware is a highly customizable gem. Among many features, it can switch all keys into a different layer with a single keystroke. The silver bullet for me is the ability to have a key function change if you keep it pressed.
If you look at
my layout you can see how capitalization (Shift
) can be done by maintaining pressed either D
or K
. All my symbols {
, [
, (
, … are on another layer available from a single key maintained pressed.
My work keyboard in 2023
With the Ergodox EZ, my wrists never move. They are always in a rest position, on all three axes. Zero pain and I can program all day.
Additionally, the Ergodox accepts hardware tuning, like DROP Carbon keycaps, custom cables by pexonpcs.co.uk, and Brown Gateron G Pro.
Trivia: As a fan of IBM’s Model M clicky keyboard, I tried to build my first Ergo using Cherry MX Blue. That was fine for home but made some coworkers upset. I recommend going for Cherry MX Red which are the most silent, or the Cherry MX Brown which are a good middle ground between Blue and Red.
VIM
As you will have guessed my goal is to move my hands and twist my wrists as little as possible. That would be a problem to navigate a program since most IDEs require clicking via the mouse. Thankfully, most editors have a VIM mode which allows you to move across a file, goto definition, go back, all that without using the mouse.
Desk
Standing up improves my posture. I don’t slouch when I stand. So I built a motorized standing desk with Topsky legs and a Home Depot butcher counter top.
My home desk, at the time used for amazing Diablo 2 Resurrected adventures
The three position memory allow to switch from standing to seating within a few seconds. And I try to alternate during the day.
Stretching
I take a break every once in a while and do a bunch of Wall Angel.
Meditation in motion
I manage my stress level by disconnecting from work when I leave it. Rock climbing works well for me. You can’t think of anything else when you climb. It is a great way to turn off a brain that keeps on having great optimization ideas when it is not the time anymore.
*