github soundcloud
Ergonomics
Dec 9, 2018
11 minutes read

To myself, and perhaps others.

This is how I cured myself by acting on early warning signs.

Don’t rely on being a self taught keyboard typist.

Go further.

why

You spend whole half days in front of a computer?

You are not a drone.

You’re an artisan. A craftsperson.

How do chefs work? Doctors? Carpenters? Musicians? They use professional hardware tools that they develop and improve. Why not do this in computing? Is our industry really this underdeveloped? Is the default really the pinnacle of ergonomics?

We focus so much on software.

It should feel like the keyboard is an extension of your hands. If not, you have lots of potential for improvement. You will come to know this if you play a musical instrument. The piano is in many ways a better instrument than a computer keyboard. It is fluid. People have been thinking about piano ergonomics a lot longer than for keyboards.

Do not accept compromise in ergonomics. Do not accept health problems from working. It is totally pointless and counter productive for both you and your employer.

Bad ergonomics also works on an subconscious level. It might feel just a bit too tedious to work on something. That small extra effort might just be what tips your scale on the wrong side. This will limit you, and you won’t even know.

Resist naysayers who randomly stumbled on proper posture, are yet to experience problems, or do not spend as much time on computers as you do. They will go on with their 50/50 coinflip on coming out unharmed given enough time.

How much agony could be spared if ergonomics was not an afterthought? How much money could be saved on health expenses and sick leaves?

Care about your environment. Care about the longevity of your career. Invest in your workspace. The positivity will rub off on other people. Let the workspace communicate that we should aim higher than “good enough”.

what

typing

hardware

Buy a Kinesis Freestyle2 with the VIP3 kit or a Keyboardio Model 01. The M01 is much better for chording, but costs twice as much. I own both, so AMA.

This will force your to touch type. If you can put a blanket over your hands while typing for a few hours, you’re good.

software

Software can be ergonomic in itself, and we can use software to make the hardware even more ergonomic. For example, Vim movement could be considered ergonomic.

From the Rust blog:

Ergonomics is a measure of the friction you experience when trying to get things done with a tool. You want to achieve a state of "flow", in which ideas and intuitions are steadily transformed into working code with a minimum of fuss.

To make our hardware even more ergonomic, use “extend layers” or “dual role keys”. It’s like the Fn layer, except tailored to your own needs.

From ColemakMods.

One of the most common tasks on a computer is navigating around and editing a document. This means frequent use of keys such as arrows, home/end, page up/down, and cut/copy/paste. Most of these keys are some distance away from the home position, causing a lot of extra motion, especially for the right hand. This frequent movement makes it more likely to lose your home position, make errors, or become slow.

…and:

Extend is the most powerful of the mods presented here. Those who start using it find it indispensable within a short space of time. The intuitive pattern of navigation keys makes it both effective and easy to learn.

I agree 100%. Another from Extend Extra Extreme!:

Living without Extend at this point would seem like some kind of perverse hell imposed as punishment for terrible crimes committed in numerous past lives.

Use Caps Lock as your extend layer modifier. On Linux, use this xmodmap:

keycode 66 = ISO_Level3_Shift
keysym h = h H h H Left
keysym j = j J j J Down
keysym k = k K k K Up
keysym l = l L l L Right
keysym space = space space space space Return
keysym y = y Y y Y BackSpace
keysym u = u U u U Next
keysym i = i I i I Prior
keysym o = o O o O Delete
keysym f = f F f F slash
keysym w = w W w W bracketright
keysym s = s S s S bracketleft
keysym a = a A a A Home
keysym d = d D d D End

First line means assign Caps Lock (keycode 66) to AltGr (ISO_Level3_Shift).

To understand this config, you can imagine keysym h with:

No modifier Shift Mode\_switch Shift + Mode\_switch ISO\_Level3\_Shift
h H h H Left

See this tutorial to learn more.

Then run xcape to send Escape if CapsLock is tapped (especially for Vim):

xcape -e 'ISO_Level3_Shift=Escape'

To geek out further on this, read DreymaR’s Big Bag of Keyboard Tricks.

On Windows, use AutoHotkey - thanks to Varad on the AHK forum:

SetCapsLockState, AlwaysOff

CapsLock & k::Send {Up}
CapsLock & j::Send {Down}
CapsLock & h::Send {Left}
CapsLock & l::Send {Right}
CapsLock & i::Send {PgUp}
CapsLock & u::Send {PgDn}
CapsLock & a::Send {Home}
CapsLock & d::Send {End}
CapsLock & y::Send {Backspace}
CapsLock & o::Send {Del}
CapsLock & Space::Send {Enter}

CapsLock::
  state := GetKeyState("Capslock", "T")
  if state
    SetCapsLockState, AlwaysOff
  else
    SetCapsLockState, AlwaysOn
return

With the Ergodox you can create extend layers and custom layouts without using software. This is also possible to some extent on the Kinesis Edge.

(the holy grail is a flashable USB-to-USB converter to cut out the software layer btw)

Use Vimium-FF. If you use Tree Style Tab, make Shift+J go down and Shift+K go up.

map J nextTab
map K previousTab

colemak?

Not sure if worth it, but if you are ready for some yoga for the mind: Learn Colemak in steps with the Tarmak layouts!

Might want to switch to Ryan Heise’s Vim layout:

noremap n j|noremap <C-w>n <C-w>j|noremap <C-w><C-n> <C-w>j
noremap e k|noremap <C-w>e <C-w>k|noremap <C-w><C-e> <C-w>k
noremap s h
noremap t l

noremap f e
noremap k n
noremap K N
noremap U <C-r>

A nice way to get some mileage is to “type-read” books. See Training with Amphetype!

viewing

Buy AmazonBasics monitor stands for all monitors - including the laptop. Do not accept neck or head strain while working. It’ll drain your energy.

It can creep up on you. You won’t realize that it’s the source of your minor aches (that will escalate sooner or later).

No hunching allowed. Your shoulders and neck are very tightly coupled. Wrong head and shoulder posture is the perfect recipe for headaches and general discomfort.

cursor

Try a trackball:

  • Logitech MX Ergo with the extra tilt from BestBuy (can be found on Ebay with international shipping options)
  • Logitech M570
  • Logitech Trackman Marble
  • Anker AK-98ANWVM-UBA 2.4G Wireless Vertical Ergonomic
  • Evoluent vertical mouse

Macro buttons?

  • Corsair Scimitar

stretching

This video has very effective stretches for the wrists and arms. I have tried many different “prescriptions”, and this is so far the best one. My best guess is that it is more aimed at keyboard users than most tutorials out there. All of the stretches can be done while standing.

movement

All these things give you a mechanical advantage, but you have to take responsibility for how you move. Yoga can teach you movement.

Read this to delve deeper.

some points

Interesting quote from John Cook’s blog:

Automate to save mental energy, not time.

…and:

Automation can be like a battery as well as an investment. Putting energy into batteries is a bad investment; you’ll never get out as much energy as you put in. But that’s not why you put energy into batteries. You put energy in while you can so you can use some of that energy later when you need it.

Learning proper ergonomics is much the same.

I suspect the time I’ve put into learning some features of Emacs, for example, will not pay for itself in terms of time invested versus time saved. But I’ve invested leisure time to save time when I’m working hard, not to save keystrokes but to save mental energy for the project at hand.

else

If you do not feel a connection with your body, start doing yoga. Just do it. The parts about the shoulder and neck will not make sense to you unless you know how to move your shoulders. Do yoga at least until you notice an improvement.

Send random notifyd messages about proper postures. Here are some strange but effective cues:

  • Relax your jaw
  • Relax between your eyes
  • Relax your cheeks
  • Breathe into your eyes
  • Relax temples
  • Relax your tongue
  • Release your shoulders

Drink water. It will force you to move.

Get a standing desk.

Get a standing mat.

Don’t use bad shoes.

Get an Ergorest for elbow rests. These work both while sitting and standing.

Plants are nice. Nature is nice.

Good monitors are nice.

Don’t skimp. Don’t spend more on a phone than on this.

visual factors

misc sources and unfinished thoughts

Some comments:

1:

I paid for all these items from my own pocket. When I work 8 hours a day at a desk, I don’t compromise. It amazes me people spend tons of money for home accessories while spending $0 at work to make their work area more comfortable. They spend a lot more time at work than home AND sitting at the same position hours every day, yet they take their work area lightly.

2:

In my job (a unix sysadmin for an internet company) I have to say that having the top of your monitor is totally wrong for me. I spend most of my day in a terminal/console/command-line utility ssh’d in to various servers. When you have this application maximized to fit the screen, most of what you do is on the very bottom line; the line where you need to type commands. This forced me to have to look down at the bottom edge of my screen. I ended up putting a couple thick computer books under my monitor to raise it up. This has helped so much with my next strain; strain I had just kind of accepted.

3:

The other big thing that helped me was to increase the size of the font on the application I’m using. This prevented me from having to lean in too far (usually just my head moving) to the monitor to see what was happening.

videos

Really should be “How to use computers with no downsides?” Sleep and light. F.lux. Yellow glasses.

practice


Back to posts