Put your hands on home row and keep your eyes on the screen and just go, with discipline... it's how I learned, sorta. A friend and I competed to learn how to type without looking.
I won't recommend it. You sure can just go to a shallow swimming pool, flail around and learn swimming, but re-discovering first principles is distracting and might de-moralize you.
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)?
I'm just giving anecdotal evidence for what worked for me; and TypeRacer puts me at 90-110 wpm, which is far more than I'll ever need for my programming work.
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.
I'm also between PointersThumb and "VonStyle".
And I learned touch typing but I don't like it.
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.
Someone here on HN (thanks for that whoever you are!) recommended GTypist (http://www.gnu.org/software/gtypist/). I have been going to the lessons and my typing has much improved. Furthermore, it's free, easy to use and later lessons contain all special characters.
If you can afford one, a Das Keyboard is the way to go. Alternatively, melt the lettering off your existing one. Once you start forcing yourself to recall the key locations, your brain will realise it already knows them.
From then on it's just a case of keeping your fingers on the home row :)
Does anybody have recommendations for a good online touch type training program? Specifically for developers.