Kung Fu Typing - Keyboard Finger Movement Diagrams
datapointed.net
datapointed.net
One reason I migrated away from C++ and towards Python over the last 5 years was the verbosity of C++ -- it was killing my hands (#). It really does add up. The absolute worst was when I was writing the rendering pipeline for Crash Bandicoot in MIPS R3000 assembly: the sheer verbosity difference between assembly and C was enough to destroy my hands, to the point where, in the home stretch towards shipping Crash 2, I was typing with my fists clenched, holding two pens and pecking a key at a time. I didn't really "get over" the RSI for another five years. Even now, I have to stop typing when I notice I'm getting fatigued, or I will get right back into serious problems. And this is far from unique; as I said, lots of coders my age have these issues.
Do not ignore hand/wrist pain. Do learn to type properly. Do invest in an ergo keyboard. If you are a coder, your ability to type is utterly critical to your livelihood and well-being. Don't mess around with it.
(#) C++11 makes this a lot better.
You worked on Crash?! That is truly awesome. It's not very often that I get to read a story from someone that works for a company I respect very much, on a series that has many happy moments in my childhood.
Typing for me isn't much about speed(that's an added advantage). The muscle memory and ability to type without looking at the keyboard alone is worth learning it even if you experience a slowdown in the beginning compared to your one tap, two tap or what have you.
I am a bit surprised typing isn't emphasized enough. Techie or not, if you use computers a lot, learning to touch type is worth it, specially considering that if you aren't a techie(i.e you don't need all the special characters), it doesn't take much time to learn. For anyone trying to learn touch typing, I would suggest stick with the rule 1 - concentrate on accuracy, speed will come with time. And if you are a programmer, don't worry too much about speed. You generally don't type code at full speed anyway.
Speed is secondary to not breaking your focus/train of thought mid-sentence.
Me too.
I recently also noticed that if I close my eyes while typing, my accuracy is very very close to 100% (ie in every typing test I've taken to try it, I got 100%, but in real-life typing, I do make the occasional mistake) while with my eyes open, its anywhere between 80% and 99%, depending on how tired I am.
I couldn't find a typing tutor that addressed the difficulty of typing the symbols in code, so I created a webapp called http://typing.io. It allows programmers to practice typing open source code instead of English or drills.
But the 110wpm rate is worth it. And people look funny when I blast away at the keyboard without a screen in sight (I often type on a bluetooth keyboard attached to either ipad or iphone)
edit: The funniest result of being a quick typist is that I use copy+paste less than I did a few years ago. Often the context switch between typing and selecting is too much work and it's quicker to just type things twice.
How do you learn "The Robot"?
I especially do this with my index fingers who will often jump from, say, Y to U directly without hitting J in between. It looks very funny because they often hover above the keyboard because of this.
But I do tend to move my wrists too much when typing.
If my pinky is at "shift", I don't feel the need to bring it back to 'a' unless I have to use it directly or indirectly. Same goes for other fingers.
Oh. I don't know how common it is, but I just tried typing "yuuuuvawere" and noticed my fingers don't come back to home row unless I am done typing. They do sort of hover over it but there is no j between y and u. May be I am wrong, but touch typing doesn't teach to bring back the fingers to the home row after every letter. I learnt touch typing with some typing software which taught single letters, commonly occurring n-grams for n in (1, 3), commonly occurring words etc. So it might be my muscle memory that tells me that there is no need to go back to j if you are typing "you".
Same for me, ish; I often find myself just using backspace and retyping the last few words if I find a typo a few words back, as opposed to reaching for the mouse and redoing just that word, or using the keys to go back. Going four words back is usually a matter of alt + left-left-left, alt-backspace, re-type, but still I find myself just deleting the last couple words and retyping it.
However, I do touch type -- I never look at the keyboard while typing, even for symbols used when programming and I use almost all my fingers, except perhaps my left thumb, it stays on the space bar but I always use my right one for that. And I just tried an online typing test. When I strive for 100% accuracy, ie, I go back to fix mistakes when I notice I made a typo I got 75WPM. Also, I usually type faster than I do when taking these tests because the slowdown for me is in reading not typing because many of them have nonsensical texts(not as bad as "Green ideas sleep furiously" but nonetheless, probably something I wouldn't write naturally).
I also don't even remember going through a "hunt and peck" phase when typing. I thought this was natural and all people who use the keyboard a lot evolve into something like this naturally.
Edit: I just looked at the definitions for some of these things and which keys you're supposed to hit with which fingers and I noticed that I usually keep the keyboard slightly to the left side so that my right hand is at an angle, not straight. So instead of splitting things vertically between my fingers on the right side it's a bit different. For example I hit the "Y" key with my middle finger and I move my entire hand down to hit the "," with my index. So it's definitely suboptimal but it's good enough for me.
Oh, and It'd be cool to have non-slanted keyboards. My hands don't both lean on the left. http://loup-vaillant.fr/articles/better-keyboards
Dvorak is cool, but you don't need typematrix to feel its benefits. I use normal keyboards to type dvorak, all you have to do is to change the keyboard layout.
> I use a Typematrix EZR2030 for over a year
So I did kinda checked it out. :-) It's Much better than your average keyboard, though I agree with hailang about not needing it to enjoy a sane layout. In my experience, a sane layout is the second best thing you can do to improve comfort. The first best thing was touch typing itself (most importantly being able to not look at the keyboard at all), and the third was the actual keyboard. I didn't try advanced keyboards such as the Kinesis Contoured though, so they may be more important than I feel.
Can't touch type yet (I still look at the keyboard constantly) though :/ I'll have to invest some time into re-learning how to type I guess.
That's probably a big reason I like Python.
I took the hard way out. I took "Secretarial Office Procedures" in high school just to learn typing.
I learned on a manual typewriter. I was the weird kid who typed up school reports on a manual typewriter before computers were widespread.
Along with basic sewing, it's one of the most useful things my mother taught me. We should teach every schoolchild to touch type.
I started programming at 8 years old, doing the two-finger method, which eventually evolved into a modified 3-finger left, 2-finger right, with pinkies for modifier keys. I took a typing course in high school and did well, but I went right back to my old style afterwards. I've now been doing this for 30 years. My typing isn't super fast (maybe 70wpm), but I've also never had any wrist pain, regardless of the keyboard or sitting style I've used. My primitive typing style never allows for contortion moves, and I'm worried that if I do move to a more proper style, I'll end up with the wrist pain that everyone talks about...
Does anybody have recommendations for a good online touch type training program? Specifically for developers.
I don't remember which one I used when I learnt(it was about 6 years ago and I was using windows at that time), but I would say use one which teaches basic letters, n-grams, symbols and integration. Muscle memory is built over time and it's hard to override. Unless you believe using wrong fingers give you some sort of advantage, why would you want to learn the wrong fingers when you can very well learn the right ones with the same level of effort(your comment about y and b)?
Then again, if he's actually asking for a program to help him because he actually wants a program's help (as opposed to thinks it's the only way he can learn), it'd be better to go with a program. What I was encouraging was that you didn't have to have a program to help you learn how to type. Also, just using all 10 fingers on the keyboard all the time, and having them rest on or near home row, even when you have to look down occassionally to see which finger should go after which key, and where that key is, is a good step toward improving as touch-typist.
From then on it's just a case of keeping your fingers on the home row :)
I reached 110wpm touchtyping instead of 100, but it requires a far more rigid and precise posture (hands in front and parallel). It's not comfortable when I'm standing at the side, bending over the keyboard, or when I'm slouching lazily in my chair. I guess it's better for serious typing work, but for everyday use I prefer my style.
A better system would be a thought-to-sane-text conversion. But I doubt that'll ever be possible, :p.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
Why would I want to dictate that? "Hash include less than sign(do I mean "less than sign" or "<") stdio.h greater than sign newline(do I mean actual newline or to print newline?) int main open parenthesis(actual or sign)...."And you are assuming if there is a perfect speech to text converter, it's automatically better than typing. I don't see myself using one for most of the tasks. Speaking is too distracting.
Dvorak, Bépo, etc. Much easier on the fingers. Then you can do the "robot" diagram because it's sort of built in your layout. Even for programming it's much better.