For what it's worth, I used type racer to learn to touchtype. Took me from about 25 wpm to about 65 wpm. I seem to have plateaued there though - I actually type at around 90, but with mistakes. The game doesn't seem like a good tool for shaking out the mistakes.
Another problem is that it doesn't teach you all the weird punctuation we use as programmers - I still look at my keyboard when typing code, which I don't have to do fit normal text...