What is the best way to learn Touch Typing? [duplicate] - keyboard

This question already has answers here:
Closed 13 years ago.
Duplicate
How do I improve my Typing Skills?.**
I tried the test on http://speedtest.10-fast-fingers.com/. I reach only:
You type 337 characters per minute You
have 58 correct words and you have 1
wrong words
How can I improve my typing speed? What free resources do you know of?
Should I learn the Dvorak Keyboard?

Practice is the best way to get faster. I've found TypeRacer to be a fun and easily accessible game. Using it I quickly got from around 55 words per minute to over 70.

I removed all of the key caps from my IBM Model-M. Since I can't see the letters, I was forced to learn their positions and type without looking at the keys other than to initially orient my hands. When you're not able to take shortcuts, you tend to learn very quickly.

Mario taught me.

I also took the test and reached 371 characters with one mistake. However, for programming, I would not see this as a bad result. I'm more worried about how to use tools like Intellisense and code templates better to speed up my coding. The jedi coding demo shows that you can get much higher gains that way than by doubling your typing speed.

No need to learn Dvorak according to XKCD (and more here).
I also remember reading in The Design of Everyday Things that QWERTY actually does quite a good job or spreading the commonly used letters across your fingers and whilst the Dvorak keyboard is a little better than QWERTY the benefits aren't significant enough to justify making the change. (If I can find my copy I'll try and put up an exact quote.)

As with all things: practice makes perfect. Making posts on StackOverflow is a start :)
Unless if you want to win typing contests, a Qwerty or Azerty keyboard will work just fine.

You don't need to learn Dvorak. I can type 600+ Chars/minute on a querty pad, no problem.
The key is: Repetition, repetition, repetition.
What you're doing while you learn typing is creating new 'highways' straight form your brain's spelling center through your spine to your fingers.
Hence, a good typist will spell a word in his mind, and his fingers 'automatically' type those characters because there's a 10 lane highway from his brain to his fingers. In your case, it's a modest 3 lane highway.
Practice, practice, practice.
Good training for if you already know how to type : www.play4traffic.com
There's also loads of typing tutor programs available online, but the key is repetition and persistance.
My native language is Dutch, so in english it's not as good. I tried the test you gave:
317 points, so you achieved position 194065 of 2927935 on the ranking list
You type 476 characters per minute
You have 80 correct words and you have 4 wrong words

Why?
Why do you want to type more quickly? I seldom find that my fingers or typing speed are the issue when it comes to software development. Sure I have a fair speed, but programming is about SO much more than typing speed. I've been using a QUERTY keyboard since about 1983 so I guess repetition helps.
But learning to hold back on typing and thinking about what it is you're about to do is far more valuable IMHO.
Having said that, I would expect any developer to be able to type reasonably quickly using most fingers, or at least more than their two index fingers ;)

This game taught me a few years back.
The Typing Of The Dead
I can now type fairly quickly without looking at the keyboard. You need to learn to use the correct hand position. Then you must have good discipline and only use the correct finger to type the correct letters. I even went so far as to delete correct chars typed with the wrong finger.
It takes time, and you will almost definitely go slower before you go faster, but it is worth it.

Related

Keyboard question: Typematrix 2030

After using "normal" OEM keyboards for more than 20 years me and my wrists are looking for a good way to continue to program for at least 20 more years.
So I wonder if anyone at stackoverflow have tested the Typematrix 2030 keyboard ?
http://www.amazon.com/Typematrix-Reach-2030US-Keyboard-Qwerty/dp/B000B57K7K
I have been using a TypeMatrix keyboard for more than 3 years now, and it has been a great experience. I am feeling much better in my left hand than before (my right hand is still a bit painful at times because of the mouse). Actually, the learning experience of going Dvorak has been particularly interesting, as you can feel how the brain is rewiring, and how your mental model of the keyboard evolves.
Since the Typematrix keyboard wires Dvorak at the device level, I have found particularly efficient to setup the keyboard in the operating system as US-International, allowing me to type almost any accent. À, ë, Ö, are all much easier this way.
I think the skin is pretty good, making the touch softer, and the keyboard much easier to clean. I did not feel it was slowing me down in any way.
A word of advice, though: if you intend to go the whole Dvorak way, it takes some time (about 1 to 2 months) to come back to full speed. And it becomes much harder to type on others computers, or on laptops. I actually bought two keyboards, one for home, and one for work, and it works pretty well as I very rarely need to type on anything else, but for other usages it might become more problematic.

Is learning ed worth it to boost my speed in VIM?

I've learned the basic/intermediate levels of VIM (it's too vast to list). I often find that I slip back to my old ways and start using the mouse, holding down keys to get somewhere, and doing other stupid things that could be sped up.
Would it be worth spending time to learn ed to break the habits learned from years in a point and click interface? Does using ed cultivate the right type of thinking that will transfer to VIM?
You need a change in habits which is much deeper than simply dropping the mouse. You need to understand that if you really want to learn Vim you have to do it "the hard way": read and memorize text-objects (:help text-objects) operations and movements and try using arrows/hjkl as little as possible.
At first you will be a lot slower, but don't fall back to normal movement. If you need to select a paragraph, use vap, if you need to change the text inside a pair of double quotes use ci" and so on. When these things will come out of your fingers naturally, you'll realize how worth it was the time spent to get used to them.
I learned Vim and became proficient simply by using Vim itself--a lot. I think the key is practice, practice, practice.
If you want to train yourself to avoid the mouse, unplugging it or putting out of reach might help. Learning a whole different program might be overkill, and the knowledge may not translate directly.
Read this post by Bram Moolenaar on the subject of efficient text-editing.
One of the points is that it takes conscious effort to force yourself into the habit of using Vim efficiently.
So yeah, hide the mouse while you're in Vim. And when you catch yourself doing things "the wrong way", stop and do them again correctly. It won't be long before you've learned the proper habits. And has has been suggested: Text Objects. Learn them. Get in the habit of using these and you're 1/2way to being a Vim pro. Using them is addictive; it won't take long.
I think in addition to consciously avoiding the mouse, it also helps to consciously try to force yourself to keep your fingers on home row.

One handed coding -- tablet, special keyboard, one-handed typing?

I recently broke my finger and can now only type with my right hand. This has seriously impacted my typing speed. Since I write software for a living, this is a serious problem.
I have been doing some research, but haven't found a great solution yet. Here's what I've come up with:
Wacom tablet + hand writing recognition software. Is it possible to write code with hand writing recognition software?
one handed keyboards -- I have only found expensive (> $100) keyboards. These look like they have a steep learning curve.
one handed typing instructions: http://www.aboutonehandtyping.com/manualcompare.html. Does this really work?
What do the one handed coders out there use?
If you're a two-hand touch typist, the answer is a "mirrored" layout.
Mirroring lets you begin touch-typing with one hand almost immediately. Pretty crazy how easy it is. Based on the muscle memory you already have.
If you're typing with your right hand:
Type all right-hand keys normally.
Don't type left hand keys. Instead type the same motion (but mirrored) with your right hand.
So if you want to type:
"D" -> type "K" instead.
"W" -> type "O" instead.
"S" -> type "L" instead.
Same row of keyboard, same finger, same motion. Your muscle memory can already do this... kind of like how you're unable to pat your head and rub your belly at the same time. The wires in your brain are crossing somewhere.
Software to mirror the keyboard as described above:
Hold Spacebar to mirror:
Linux - MirrorBoard
Mac - Mirror-QWERTY
Windows - AutoHotkey version of Half-QWERTY Half-Keyboard
Predictive Text; Automatic Mirroring
Mac - One-Hand Keyboard
Windows - One-Hand Keyboard
Regarding one-handed keyboards, I've tried using a frogpad and found it ok for typing text, but unusable for coding. The symbols require several consecutive key presses and I found it impossible to use shortcuts reliably. It was too easy to hit the wrong key and get it stuck in the wrong mode.
Nobody has mentioned ENTI-key aka Coffee++ Layout yet? It is exactly designed for programming with one hand (left). And unlike qwerty, it is even optimized for speed and ergonomics. I used it some years ago for a short while and I don't know if it still works on newer systems. I think I used it for writing CSS: Typing the words with left, typing all those numbers on the numpad with right.
I can not recommend pen+handwriting. I usually use a tablet PC and handwriting code is terrible. I tried it on Windows 8 and Linux with Cellwriter, and both are not bad programs, but I still switch to onscreen keyboard whenever I can. But maybe the problem is my scratchy writing :)
I also can tell from experience that learning a new layout is not as complicated as it sounds. Especially if the layout is more logical than qwerty. I use Neo Layout since 10 years and getting the hang of it went smoothly, I was able to write a blog article after an evening of training.
"But what if you have to use qwerty on another PC?" This, also, is no problem, really. My simple trick is to never look at the keyboard when using Neo, but glimpse at it when qwerty-ing.
Good luck to anyone who wants to or has to use one hand for typing!
Now, the time to heal a broken finger will be shorter than it takes to adapt to one handed coding, not to mention the time it takes afterwards to get back to two-handed coding
Also, the time it takes to learn the methods is time you could've spend on coding (read: making a living).
Knowing this, we need a quick-fix, short term solution.
First of all, A good IDE, with code completion and similar functionality will help you a lot.
Secondly, use the shortcuts of the IDE, remember, there are Shift, Altand Ctrl keys on both sides of your keyboard.
(you might want to create a cheatsheet for those shortcuts)
In addition to helping you during your time with your injury, learning the shortcuts will also improve your coding speed when you're back up again.
Now, my comments on your proposals:
Don't, simply, Don't, it'll take even more time to fix writos (typos) beacause recognition will be flaky.
That learing curve will slow you down even more.
Won't even comment on that one...
Mirrorboard
A friend of mine broke his wrist snowboarding, and he had reasonable luck using speech recognition software (Nuance Dragon Naturally Speaking). It worked quite well for email and documentation, which would solve a part of your problem.
Another colleague, Nils Klarlund of AT&T, developed a version of emacs hooked into speech recognition. He even had a home-brewed set of foot pedals for doing shift, control, etc. He used this exclusively for years (due to bad carpal tunnel syndrome).
And maybe your feet can take up some of the burden. This is part of a parallel discussion going on in this question.
And off-topic, but extremely interesting, T.V. Raman, who's been blind since the age of 14, wrote a version of emacs that works with keyboard input and audio output. There's a chapter on it in Beautiful Code. I've seen him use it, and it's completely awesome. And of course emacs is a great interface for more than just text editing.
If you anticipate that your left hand will be out of commission for a long while, and if it's worthwhile for you to learn a new layout, then there exist one-handed Dvorak layouts.
There's some information at PC Guide: Single-Handed Dvorak Alphanumeric Layouts.
There also once was software for Qwerty Half Keyboards that used the space bar as an extra shift key that reversed the keyboard.
Good luck with your injury!
We have a developer in the office that lost mobility in his right hand and probably won't gain back full use of it. He has mainly learned to type well with his left hand and kind of fill in for his right hand. Although he lets his right hand kind of peck for things. He has gained enough speed back for it not to affect his day too greatly from what i can tell.
Only thing i can think of that might let you speed up some while typing with one hand and maybe being able to get a key or two with the other hand might be to use an IDE instead of text editor if you already don't, so you can use tab completion. Kind of a lame solution if you don't like IDEs or just don't have that option in your work environment but might help out a bit.
The same thing happened to me (I destroyed my left pinky). At the time, I didn't touch type, so my only use for my pinky was left-control, left-shift, and caps-lock.
This sounds as if it just happened to you. I promise you'll quickly learn to compensate. Remember, it's quality, not speed, that counts most.
Perhaps you should seize the opportunity and read to improve yourself as a programmer. Or spend some time debugging.

How do you correct repetitive typing mistakes?

I find myself making repetitive mistakes typing keywords and sentences in my code comments. I notice its getting worse since my fingers just keep "practicing" incorrect words.
Is there any solution to this? Like a typing tutor designed to help correct repetitive mistakes?
The only way to correct this is to retrain your muscle memory. If it's important enough to take the time, the only way to retrain muscle memory is repetition.
For example, I tend to spell the word "the" as "teh" because of the same scenario you're asking about. To retrain the memory I would just spell the word over and over, starting slowly, striving for 100% accuracy, and increasing the speed. It's the same technique I use to get better at Guitar Hero.
Try a different keyboard layout. That way you start from scratch and completely retrain your fingers. Done properly you should be able to type just as fast as you could with qwerty in a few weeks. For example Dvorak.
</shameless promotion of dvorak>
If this were SMBC, the alt-text drawing thingy would be a giraffe hooker fluttering her eyelashes.
Try texter from one of LH's editors.
Maybe a book? Mastering Computer Typing: A Painless Course for Beginners and Professionals I hadn't read that, but in amazon has good reviews
One of the best websites to avoid repetitive mistakes is http://www.keybr.com/
It will actually keep track of the letters with which you are making more mistakes and generates typing lessons accordingly.
I would recommend practice on TouchTyping.guru - you can choose there the test with most popular words, so you'll quickly improve your general performance - making a mistake will make this app to generate next words with the letter you were wrong with.
And if you have problems with given letters you can try learning there putting restriction to the number of letters used to form the words. It puts focus on the last letter you choose, and they are also ordered by frequency of occurence in given language.

Is it possible to be ambikeyboardrous?

I switched to the dvorak keyboard layout about a year ago. I now use dvorak full-time at work and at home.
Recently, I went on vacation to Peru and found myself in quite a conundrum. Internet cafes were qwerty-only (and Spanish qwerty, at that). I was stuck with a hunt-and-peck routine that grew old fairly quickly.
That said, is it possible to be "fluent" in both qwerty and dvorak at the same time? If not, are there any good solutions to the situation I found myself in?
I've never used a public computer, but carry a keyboard and(/or, if you are good enough) just change the settings on the machine.
There's a special place in hell for people that change keyboard mappings on public computers.
Web
For your situation of being at a public computer that you cannot switch the keyboard layout on, you can go to this website:
http://www.dvzine.org/type/DVconverter.html
Use this to translate your typing and then use copy paste. I found this very useful when I was out of the country and had to write a bunch of emails at public computers.
USB Drive
Put this Dvorak Utility on your USB drive.
Run this app and it will put a icon in the system tray on windows. This icon will switch the computer between the two keyboard layouts and it works. (If you have tried switching back and forth from dvorak to qwerty you will know what I mean. Windows does the worst job of this one bit of functionality.)
Very possible. Although I became sadly mono-keyboarded after learning Dvorak, my wife is equally speedy at both. She recommends learning the other layout slowly, with frequent breaks to reacquaint with the previous layout.
DVAssist on a USB stick should make it easy to switch layouts on random computers. I
Yes, it is very possible. Just remember to use Qwerty every once in a while. I've been leaning Dvorak myself for about 2 weeks, and I'm up to 75wpm average. I use Qwerty every day for a bit, but most of the time I'm using Dvorak. My Qwerty speed is still averaging around 100wpm.
I also learnt the Korean Dubeolshik layout several years ago, and I average about 100wpm on that too.
Learning different keyboard layouts is much easier than learning multiple languages. And people still manage to remember their native tongue! So if you ever knew Qwerty, with a good bit of practice you should be able to get back up to speed on that fairly quickly.
That said, is it possible to be "fluent" in both qwerty and dvorak at the same time? If not, are there any good solutions to the situation I found myself in?
I've switched to Dvorak a few years ago and I've been fluent in qwerty and dvorak most of the time since (only slightly slower in qwerty than I used to be; much faster than I used to be when I use dvorak instead).
I found that the only part where switching back and forth was really hard was the beginning: I needed a few months until dvorak felt natural enough so that switching back and forth wouldn't confuse me (and hurt the learning curve). After a few months, switching back and forth was a little awkward, but quickly became entirely natural after I got used to it (school computers and a few games didn't easily let me change to dvorak, so it was nice to be able to work either way). So I think if you practice this a bit, it should be fine :)
Incidentally, once I was comfortable with both layouts, learning other layouts was extremely easy in comparison to learning dvorak. It took me only a few hours until I felt more comfortable typing Japanese characters (Hiragana direct input) than I did spelling them out, even though I had to learn it by hitting all keys and seeing what produced which character. It felt a bit like it did with languages -- once you knew two well, learning other similar languages is a lot easier than it was for the second :)
FWIW, I did finally find solution to the situation. I had my travel buddy (who is still stuck in the qwerty stone age) type while I dictated. That was a 10x speed improvement over my hunting-and-pecking. And much easier, too.
I'm ambidkeyboardwhatever, but in two different languages, so that helps with the muscle memory that someone mentioned. I use a Qwerty in English and Azerty in French. My colleagues curse every time they try to use my computer!
I looked briefly at learning Dvorak, but that would only be able to replace Qwerty, because it doesn't have the accented characters.
Having said all that, whatever keyboard layout you choose, the most important thing is to learn to touch-type!
Myself, I type 40wpm Dvorak versus 80wpm QWERTY, which roughly correlates with how often I use these layouts. It takes me about a minute of typing to fully make the switchover.
My sister has managed to train herself to type QWERTY on full-size keyboards but Dvorak on the miniature keyboard on her ASUS Eee, and has no trouble switching between two keyboards at will. She does have major problems when trying to use Dvorak on a full-size keyboard or QWERTY on the Eee, so I guess it's something related to muscle memory.
So, with some qualifications, I'd say that yes, it is completely possible to be "ambikeyboardrous".
Yes, it's completely possible to be fluent in both Dvorak and Qwerty, but you have to specifically work at it to develop the dual fluency. When I began to learn Dvorak it initially crippled me in Qwerty, so I wasn't able to type easily in either layout. But I was dealing with carpal tunnel and unable to do much typing anyway, so learning Dvorak couldn't make me any slower. After several months of switching between Dvorak and Qwerty increasingly often, the switch got easier and easier every time.
Now I can switch instantly. It's like there's a keyboard layout mode switch in my subconscious. I can't see it, but I can tell my brain what layout I want to use, and my fingers do the rest.
But if you're interested in learning Dvorak, consider whether it's worth the effort:
If you're interested in Dvorak to improve your typing speed, my advice is not to get your hopes up. It takes a long time to learn and I'm not convinced it improves typing speed. And it makes basic key shortcuts like those for cut/copy/paste a lot more annoying.
If you're interested in Dvorak because it seems like a cool ability or would look good on a CV, don't bother. Learning a foreign language is far more interesting.
If you're interested in Dvorak to reduce hand pain, give it a go. I'm not sure if it reduced my hand pain or not, but I can believe that it would, because it definitely reduces the distance one's fingers have to travel.
I've been typing Dvorak for about 10 yearns now. I find that I can switch back to qwerty pretty fluently after a few min. I have to look at the keyboard at first but, it comes back. What's funny is that I can only switch back to Qwerty if I'm using a computer or keyboard thats not mine. If I switch the mode to Qwerty on my own laptop, I just struggle. It has to be in Dvorak. =)
Yes. I type Dvorak on a Kinesis Advantage keyboard on my desktops, but type qwerty on my Macbook. Possibly it helps that they are so different, my muscles figure out what it is that they are typing on.
I would say no. I have used both, and they are different for very good reason (warning, history lesson)
The Dvorak keyboard is optimal, the qwerty layout was designed so that the pegs on a typewrier would not collide (so letters that often come next to each other are split up)
Because these are so different, its really not possible to be really good on both. You will find that even if you look at the keyboard while typing you eventually develop muscle memory that allows you to know where the keys are. This will get ALL messed up if you start moving where the keys are.
#Thomas Owens - the person in that cafe after you is going to be proper befuddled :-D
I guess to be good on both you'd have to alternate all the time. I have enough trouble switching between my laptop and desktop keyboards :-)
I'm using a homemade version of QWERTY (with all french letters mapped) at home and at work. I am personally stuck when I have to use the usual layout here (AZERTY). I feel your pain.
For what I have witnessed, everyone gets used to a single mapping, and trying to use an other layout is quite hard.
I've never used a public computer, but carry a keyboard and(/or, if you are good enough) just change the settings on the machine.

Resources