1. 程式人生 > >A programmer’s journey with RSI

A programmer’s journey with RSI

Building an ergonomic workstation

To start, my work area at the time was far from ergonomic. There’s an awful lot to be said about the subject, but the basic idea is that you should maintain a comfortable, relaxed, and proper posture during computer use. This article from the University of Michigan covers many of the major points.

I have a decent office chair, but the rest of my workstation consisted of an IKEA table for a desk, a Das Keyboard 4, and a Logitech Performance MX mouse. The table was far too tall for use as a desk, and had no keyboard tray. The keyboard was nice, but I exerted too much pressure typing on it and (in retrospect) my wrist placement felt awkward.

I knew that the time had come to make a strong investment in my future, and began pursuing a more ergonomic workstation. I now use the following equipment in my every day work:

  • Uplift standing desk (~$1200): motorized standing desk with keyboard tray, a long warranty, and lots of bells and whistles. Expensive, but hugely beneficial from an ergonomic perspective. Comfortable to use while standing or sitting, with plenty of space for all of my gear.
  • Kinesis Advantage 2 keyboard (~$350): ergonomic, split, mechanical keyboard. I didn’t think I would ever get used to it, but after a month or two, it became a dream to type on.
  • Logitech MX Ergo Plus trackball (~$100): ergonomic trackball with a stand that allows it to be tilted up to 30 degrees. Although I haven’t had much pain from mouse use, I decided to give a trackball a try and have been pleased with the purchase.

The Uplift desk is amazing. My particular desk is 72x30", and has enough room for three 24" monitors, a stereo receiver, and a large amount of space for notes, paperwork, and documentation. I added a memory control keypad to my desk, so I have presets available for my preferred sitting and standing desk heights. I’d like to buy some monitor mounts so I can fine-tune the positions of my monitors and tidy up their cabling, but I haven’t done that yet.

The Kinesis keyboard’s design is very unusual, but I’ve come to really love it. In fact, it taught me that I had incorrectly learned to type ‘C’ using my index finger instead of my middle finger, and forced me to break that habit. The split design is so much more comfortable for my arms and wrists, and the unique key placement and key “wells” mean less travel per finger when typing. I’ve remapped some frequently used modifier keys (Shift, primarily) to the thumb areas, and I use macros to deal with any awkward key combinations, so I don’t have to contort my hands. I have macros for opening terminals, various tmux and window manager operations, and even starting up my work VPN connection in a background terminal.

Having used this set of equipment for roughly 6 months at the time of writing, I can’t believe I made it this far without it. These items have improved my computer’s usability, but I also wanted to pursue ways to make phone use and video gaming more comfortable:

  • AmazonBasics stylus (~$8): works great with my Google Pixel. I use it for browsing and swipe-typing (or I just use voice to text) instead of mashing my fingers into the screen (which was surprisingly painful).
  • PlayStation 4 DualShock 4 controller (~$36): works well for most Steam games (Skyrim, Stardew Valley, Final Fantasy games, etc.), and is much more comfortable for me while gaming than using a mouse and keyboard. Most console controllers are quite comfortable, and since I was never big into FPS games anyway, I don’t mind giving up most mouse and keyboard games.

I can’t say I’m quite free of pain while typing and using a computer at this point, but improving the ergonomic properties of my workstation has made a tremendous difference in my life.

相關推薦

A programmers journey with RSI

Building an ergonomic workstationTo start, my work area at the time was far from ergonomic. There’s an awful lot to be said about the subject, but the basi

[POJ] 2488.A Knight's Journey

題目傳送門 題意:日字走,一次走完給定的p*q棋盤,記錄步驟,輸出 思路:dfs + 回溯 #include <algorithm> #include <bitset> #include <cstdio> #include <

poj-2488 A Knight's Journey

Description Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a

poj 2488 A Knight's Journey

題目 題意:給出一個國際棋盤的大小 p*q,判斷馬能否不重複的走過所有格,並記錄下其中按字典序排列的第一種路徑。 因為要求字典序輸出最小,所以按下圖是搜尋的次序搜素出來的就是最小的。 初始方向陣列:int f[2][8]={{-2,-2,-1,-1, 1,1, 2,2}

Ask HN: Any ideas of preparing for a programmer's interview when bored at work?

There are days when I have literally nothing to do at my current work (I'm a Java/JS programmer). Or there are moments when the project is building/ starti

【poj 2488】A Knight's Journey 中文題意&題解&程式碼(C++)

中文題意: 給出一個p行q列的國際棋盤,馬可以從任意一個格子開始走,問馬能否不重複的走完所有的棋盤。如果可以,輸出按字典序排列最小的路徑。列印路徑時,列用大寫字母表示(A表示第一列),行用阿拉伯數

A Knight's Journey解題報告(陳小賓)

  Description Background  The knight is getting bored of seeing the same black and white squares again and again and has decided to mak

A Knight's Journey(深度搜索)

A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 42686 Accepted: 14506 Description Background The knight

HDU 2488 A Knight's Journey(深搜)

A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27258 Accepted: 9295 Description Background  The knig

POJ 2488:A Knight&#39;s Journey

graph for erp 技術分享 rpe one star void get A Knight‘s Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29241

A Knight's Journey (DFS)

rpe for pos sca board around span this osi Background The knight is getting bored of seeing the same black and white squares again and a

A Knight's Journey POJ - 2488

技術分享 ever mes div logs malle pre represent test Background The knight is getting bored of seeing the same black and white squares again a

A Newbie’s Install of Keras & Tensorflow on Windows 10 with R

tool per nvi real whole tutorial power suppose rom This weekend, I decided it was time: I was going to update my Python environment and g

poj 2488 A Knight's Journey 【dfs】【字典序】【刷題計劃】

different step center latin repr 順序 void 水題 eof A Knight‘s Journey Time Limit: 1000MS Memory Limit: 65536K Total Submis

POJ 2488 -- A Knight's Journey(騎士遊歷)

行為 src ret 棋盤 true name stream sizeof const POJ 2488 -- A Knight‘s Journey(騎士遊歷) 題意: 給出一個國際棋盤的大小,判斷馬能否不重復的走過所有格,並記錄下其中按字典序排列的第一種路徑。 經典的“騎

POJ 2488 A Knight's Journey

lag 圖片 字典 api possible b2c scribe plan png POJ 2488 A Knight‘s Journey Background The knight is getting bored of seeing the same black a

poj-2488 a knight's journey(搜索題)

ber namespace ons pat ins gin input lse small Time limit1000 ms Memory limit65536 kB Background The knight is getting bored of seeing t

程式設計與演算法(二)第八週測驗 2:A Knight's Journey

2:A Knight's Journey 檢視 提交 統計 提問 總時間限制:  1000ms   記憶體限制:  65536kB 描述 Background The knight is getting bor

Ask HN: What's the best resource for a programmer to learn SQL?

Would be nice to have a resource where a programmer (as opposed to, say, a product manager) can learn SQL. Say, someone who has an intuition for server-cli

A Non-Programmers Guide to Learning Machine Learning

Artificial intelligence might seem intimidating, but it isn’t actually as complex as you might think. Many of the tools that have