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.
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
- guidoschmidt/circadian.el: Theme-switching for Emacs based on daytime
- jonls/redshift: Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.
- f.lux: software to make your life better
- Amazon.com: Intercept Computer gaming glasses - block blue light, Anti-glare and minimize digital eye strain - Perform better, target objects on screen easier, prevent headaches, sleep better, reduce eye fatigue: not machine specific: Video Games
- dylanaraps/pywal: Generate and change colorschemes on the fly. A ‘wal’ rewrite in Python 3.
- anishathalye/lumen: Magic auto brightness based on screen contents
- meh/dux: DUX MEA LUX
- anishathalye/lumen: Magic auto brightness based on screen contents
- jonstoler/werewolf.vim: transform your vim colorscheme when the sun goes down
- abstiles/deluminate: An extension for Google Chrome (and Chromium) that inverts the luminance of websites.
misc sources and unfinished thoughts
- mkg - Mechanical Keyboard General
- /r/mechanicalkeyboards
- Coding Horror - Computer Workstation Ergonomics
- DreymaR’s Big Bag of Keyboard Tricks (Linux/XKB files included)!
- Ergonomic keyboards - Deskthority wiki
- Ergorest
- Ikke kast bort penger på ergonomiske produkter - ledernytt.no
- Kaleidoscope “quantum key” plugin – two keycodes on a single key
- Mousemitt
- New plugin: Qukeys (yet another SpaceCadet/DualUse-type plugin)
- Portable Keyboard Layout (Windows program based on AutoHotKey)
- Steve Losh - A Modern Space Cadet
- Super User - order of KEYSYM in Xmodmap config file
- The SpaceFN layout: trying to end keyboard inflation
- The geekhack ergonomics section
- TouchCursor - Cursor keys for touch typists
- alols/xcape: Linux utility to configure modifier keys to act as other keys when pressed and released on their own
- geekhack - Ergonomics: Interesting threads
- geekhack - dual role keys
- jeebak/touchcursor-x11: TouchCursor for Linux / X11
- Home page of WSpeed
- How fast does Bisqwit type? - YouTube
- SpeedCoder [[https://medium.com/@mdlayher/a-programmers-journey-with-rsi-c73628eed0c4][A programmer’s journey with RSI – Matt Layher – Medium
- ]][[https://en.wikipedia.org/wiki/Human%5Ffactors%5Fand%5Fergonomics][Human factors and ergonomics - Wikipedia
- ]][[https://en.wikipedia.org/wiki/Soft%5Fergonomics][Soft ergonomics - Wikipedia
- ]][[https://en.wikipedia.org/wiki/Engineering%5Fpsychology][Engineering psychology - Wikipedia
- ]][[https://en.wikipedia.org/wiki/Cognitive%5Fergonomics][Cognitive ergonomics - Wikipedia
- ]]Human–computer interaction - Wikipedia
- [[https://en.wikipedia.org/wiki/Ecological%5Finterface%5Fdesign][Ecological interface design - Wikipedia
- ]]Human reliability - Wikipedia User-centered design - Wikipedia Human-centered computing - Wikipedia Human-centered design - Wikipedia Usability - Wikipedia Latent human error - Wikipedia Cognitive load - Wikipedia Cognitive overload – rewire your brain in the digital age | Darren McNelis | TEDxTallaght - YouTube Cognitive ergonomics: OSHwiki Neuroergonomics - Wikipedia 10 Heuristics for User Interface Design: Article by Jakob Nielsen Human Factors Blog
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
- eSports Ergonomics with Frank Maas of TheSandbox
- In-Depth Guide To Healthy Gaming - Preventing Carpal Tunnel With Proper Posture
- Carpal Tunnel in Esports, explained in 5 minutes
- Wrist Exercises for Tendinitis Carpal Tunnel Syndrome - Avoid RSI injury in just 2 minutes a day!
Really should be “How to use computers with no downsides?” Sleep and light. F.lux. Yellow glasses.
practice
- typiskt
- 10FastFingers.com - Typing Test, Competitions, Practice & Typing Games
- Keybr Typing Test · Improve your WPM speed
- Steam - CAPSLOCKDAY Bundle on
- Steam - Epistory - Typing Chronicles
- Steam - The Typing of The Dead: Overkill
- TypingClub
- Mario Teaches Typing https://www.youtube.com/watch?v=WVrsLt-84rE Save 33% on God of Word on Steam Save 70% on Spellspire on Steam ZType – Typing Game - Type to Shoot surprisingly good web game Icarus Proudbottom Teaches Typing! Type N Conquer i played typing games for a month - this is what happened - YouTube Save 50% on Influent on Steam Drop by notch The Coop Times.WiDOBLQ-djc My favourite typing games - The Eurogamer Show - YouTube