For typing practice:

http://www.nimblefingers.com/