Touch typing with GNU Typist
One piece of software that I use all the time, both at work and at home, is the Vim text editor. I use it so much in fact that I recently decided that any investment in improving my Vim proficiency would pay itself off, so I asked my employer for a copy of the second edition of Practical Vim.
It is mentioned in the first pages that being able to touch type is imperative to learning Vim. Now I was already typing without looking at the keyboard, but I always typed the "wrong" way, with only my thumbs, index fingers and middle fingers. I could type with all ten if I forced myself, but it was slower. So now I am trying to improve that as well, alongside getting better at Vim.
For learning to touch type, I don't think there is anything better than GNU Typist. This simple ncurses-based program takes you from beginner to pro with the QWERTY, Dvorak and Colemak keyboard layouts. Its simple scripting interface makes it easy to modify lessons and create new ones. The built-in lessons are very useful and have helped me increase my touch-typing speed to around 50 words per minute. I can only recommend it.