David Chandler's Journal of Java Web and Mobile Development

  • David M. Chandler

    Web app developer since 1994 and former Developer Advocate with Google now residing in Colorado. Besides tech, I enjoy landscape photography and share my work at ColoradoPhoto.gallery.

  • Subscribe

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 239 other followers

  • Sleepless Nights…

    February 2017
    S M T W T F S
    « May    
  • Blog Stats

    • 843,569 hits

Archive for the ‘Ergonomics’ Category


Posted by David Chandler on April 13, 2011

A long-time friend now working on his PhD in physics recently wrote me about some MATLAB coding he was doing and noted that

I’ve begun to get the right results and it’s making me pretty happy. It’s been too long since I coded…

I found this alarming, as it indicates he may be in the early stages of HTCD, Happiness Through Coding Disorder. Haven’t heard of it? I’m not surprised, as I just made it up, but perhaps you’ll recognize the symptoms:

Patient’s manipulation of computing apparatus results in the perception of progress and activation of pleasure centers in the brain. Even though no physical work has been accomplished nor the expenditure of energy moving a mass from one location to another, patient believes that he has been working, or in some cases that the computing apparatus has been working for him. The patient’s satisfaction with perceived work accomplishments may lead to increasing withdrawal from social contact as well as temporary failure to complete daily activities such as personal hygiene, sleeping, and even eating. Extended periods of computational exposure known as “coding” may lead to harmful changes in lifestyle and constant preoccupation with the behavior of the computing apparatus. Some patients have been known to sit fixated in front of the monitor for 7 to 14 hours moving only the muscles of their fingertips in order to produce imperceptible changes in machine behavior. These sessions are often punctuated by short periods of euphoria during which the patient appears otherwise normal, albeit socially awkward due to frequent references to the behavior of the machine.

I have lived with (note: NOT “suffered with”) HTCD since age 14 when I first taught myself BASIC programming on a friend’s TRS-80 Model I. By the time I wrote a word processor in assembly language in high school for the TI-99/4A (in order to correct the impedance mismatch between my 40-column screen and 80-column dot matrix printer so I could turn in a nicely-formatted essay for a contest), my HTCD was already quite advanced. Thankfully, I have experienced minimal physical deterioration thanks to the techniques and devices discussed in the Ergonomics category on this blog. The effect on my career has been very positive though rocky at times. Also very fortunately, my wife and children are quite understanding of my condition.

As time progresses, I hope we can learn more about HTCD so we can transmit it successfully to the next generation. I worry sometimes that the Facebook generation gets more joy out of using computers than programming them (or more pleasure from playing games than writing them), which is clearly a distortion of the human-computer relationship.

Happy Coding!

Posted in Art of Programming, Ergonomics | 1 Comment »

My fingers are so happy…

Posted by David Chandler on August 3, 2010

Just when I finished remapping Eclipse editing keys on the Mac to satisfy muscle memory, I discover that I could have been using vi keystrokes all along. There are several vi plugins for Eclipse, but vrapper is nice because it works within existing editors (like the Java editor).

On the subject of keystrokes, if you have keyboard shortcuts enabled in Gmail settings, type “?” to get a superb list of all shortcuts. Now if the Wave guys would just get onboard…

I’m liking the Mac thing more and more all the time, especially Terminal (and all the goodness of Unix that comes with it), and especially since discovering that Command+T pops a new tab (although Command+Shift+{} to switch between tabs is a little whacked). My only outstanding Mac complaint is the lack of Shift+F10 to pop a context menu, which, on Windows, allowed me to avoid the mouse almost completely in Eclipse and Windows Explorer. As near as I can tell and read on the forums, the closest equivalents on the Mac still require you to move the mouse.

As a side note, I noticed that another vi fanatic in the office also has an ergonomic keyboard. Hmmm….

Posted in Ergonomics | 4 Comments »

Wrist pain eliminated with keyboard and massage

Posted by David Chandler on October 5, 2009

About three years ago while working on a crunch project and finishing a document on my laptop on the plane, I experienced such wrist pain that I had to hold one hand by the wrist with my other hand and type one finger at a time. That prompted me to do two things:

  1. Start seeing a myofascial massage therapist every 2-4 weeks. This was tremendously beneficial in clearing up the acute pain in my wrists at the time, and has remained beneficial. Every now and then, I just need to get the tension in my arms cleared out completely, and only myofascial massage has been able to do that.
  2. On the recommendation of programmer friends, I started using the Kinesis Advantage Pro keyboard. It took about  a week to become really comfortable with it, but I noticed an immediate and lasting difference. I still experience some forearm irritation (mostly itching), but no more wrist pain. A side benefit of the Kinesisis is that I can type faster than ever before, and much prefer the two-handed Ctrl and Alt key combinations to the dangerous single-handled operations like Ctrl+Tab which I commonly used before.

I of course have a proper chair and sturdy under-desk keyboard tray (the 3M AKT100N). To address shoulder issues, I began switching my mouse from my right to left hand years ago, and now switch mouse hands every day. I use a Kensington Expert Mouse trackball, which I find less likely to cause my wrists to become stiff, and I really like the scroll ring. With the 3M keyboard tray, I can easily switch the mouse tray from one side to the other.

But the main benefit early on came from the Kinesis and massage, and I have thankfully never had a repeat of the acute wrist injury I experienced in 2006. A friend with Liferay told me that the company’s founder bought the Kinesis for all of his employees after the keyboard had saved his own coding career. If you don’t yet have wrist / hand issues but think you might be prone, you should definitely check it out.

I am hopeful that I will eventually be able to eliminate the forearm tension / itching, as well. I exercise 5 minutes with the Flextend glove on an almost-daily basis, and am thereby able to extend the length of time between massage visits.

Yours for perpetual coding,


Posted in Ergonomics | 4 Comments »

Eclipse Keyboard Shortcut of the Week

Posted by David Chandler on August 14, 2006

Just a quickie time-saver here. I hate having to use the mouse to navigate through code (yes, I can still use vi) as it slow and bothered my right shoulder enough over time to force me to mouse with my left hand. If you’re like me, you’ll want to know about:

Ctrl+Shift+T (Open Type) Just type the first few letters of the Java class you’re looking for, and voila, you can use the arrow keys to find exactly the right one. No more clicking on folders in Package Explorer.

Ctrl+Shift+R (Open Resource) Same drill, but works for any resource in the Package Explorer.

You can find a bunch more of my favorite keyboard shortcuts in my Eclipse Google Notebook (linked on left).


Posted in Eclipse, Ergonomics | Comments Off on Eclipse Keyboard Shortcut of the Week

Coders, save your wrists!

Posted by David Chandler on February 6, 2006

I’ve been waiting for years for voice recognition software to get good enough to take some of the pressure off my increasingly tender wrists and elbows. My wait is over. Dragon NaturallySpeaking Preferred edition, version 8, fills the bill! I haven’t tried coding with it yet, but it is wonderful for answering e-mails, creating documentation, and browsing the Web (referencing APIs, of course). The voice browser, which allows you to navigate simply by saying the first word or two of the hyperlink label, is something I’ve wanted for a very long time, and is actually more productive (and more fun!) than having to move the mouse. There’s also a great choose-by-number system for entering data in text fields, drop boxes, etc., without having to voice tab all over the place.

You can use Dragon to navigate any standard Windows program by voice just by saying the name of a menu item or button label. If you really get stuck, you can always say what key you want to press (“press Ctrl-F7”). You can start any program without having to navigate the Windows start menu: just say “start” and the name of the program as it appears in the Start menu hierarchy, like “Start Microsoft Outlook.” Now add shortcuts to your most commonly used folders in the Start menu, and you’re on to something even easier than Windows Favorites.

The freeform voice recognition is incredible, as are the capabilities for making corrections by voice. “NaturallySpeaking” is no joke. You don’t … have … to …. speak slowly at all. In fact, it works better when you run your words together like usual because it gets more contextual clues that way. The autopunctuation feature is remarkably good at figuring out where to put periods and commas, too.

The package I got came up with a nice headset microphone (analog) that works just fine. I’m hooked! You can even move the mouse with your voice using the ingenious MouseGrid feature. That’s definitely slower than moving your wrist, but when you’re kicked back in the easy chair in a comfortable posture, who wants to reach for the mouse? Most of what you do with the mouse you can now do by voice, anway.

Oh, and it only takes 5 minutes of training up front, and it gets better as you go. Thank you, thank you, Dragon.

Posted in Ergonomics | Leave a Comment »

%d bloggers like this: