This was originally asked within Jeff Atwoods blog, Coding Horror, and we thought it would be interesting to compare the results of SO answers to his blog answers. So here is an excerpt of his blog entry to form the bulk of the question.
What I'm trying to say is this: speed matters. When you're a fast, efficient typist, you spend less time between thinking that thought and expressing it in code. Which means, if you're me at least, that you might actually get some of your ideas committed to screen before you completely lose your train of thought. Again.
Yes, you should think about what you're doing, obviously. Don't just type random gibberish as fast as you can on the screen, unless you're a Perl programmer. But all other things being equal -- and they never are -- the touch typist will have an advantage. The best way to become a touch typist is through typing, and lots of it. A little research and structured practice couldn't hurt either.
<snip
>What tools do you recommend for becoming a better typist?
I will post his suggestions from the blog as answers so they can be voted up and down and commented on as well.