Practice typing for Code
typing.lk
typing.lk
One thing is I was constantly expecting that I could start typing the phrases instead of typing 'enter' first to begin. I think it seems more obvious to just let people hit the first key in the sequence to start the timer.
I don't think I'm unique in this but I'm actually a horrible typist 'by the book'.. that is I use my index fingers for probably 75% of my typing. It was interesting going through the 'learning' section and being so jarringly reminded that I don't touch type properly.
The weird thing is that on most typing tests I score over 100 WPM's, usually somewhere around 110 actually if it is mixed english. I also type code far faster than I can think. And though I've been coding as a profession for 15 years, I've never really succumbed to RSI in any way either. So I'm not sure what my incentive to relearn how to type properly is. I do wish I did in a way, I imagine it would be quicker, but part of me wonders whether my mutated typing is mutated in a way that just works for me physically, so why mess with something that works.
Anybody else the same? I've even toyed with learning Dvorak to force myself to learn from scratch again, this time the 'right way', but again it doesn't seem like I would necessarily get real gains over where I'm at now.
I type a little slower now, and my hands feel pretty much the same, but it makes my computer that much harder for other people to use so I'm calling it a win.
It's actually pretty fascinating, though— I can still type blind with speed in either layout, but the process is completely different. I know the location of an arbitrary key in QWERTY, but I'm not sure I could actually give you the Dvorak layout without putting my hands together. I don't use Dvorak keycaps, which might have something to do with it— on one of my laptops I actually rearranged the keys to be accurate to neither. I don't like it when other people use my computers, and I like that experience to be mutual :)
I might be an edge case, but when I "code" the minority of the work is actually writing source code. The majority is research/thinking/copy+pasta/et al.
When I do write source code I guess it doesn't hurt if it is fast, but considering how little time I spend actually doing it it doesn't seem as important as other things.
If I had to pick for example between choosing to improve my code entry speed or better understanding of design patterns I'd choose the latter in a heartbeat.
That being said, it's useful for a new practitioner to be able to experience a language's flow or cadence without having to come up with syntactically correct code themselves -- like just getting your feet wet.
In fact, I wish they'd put this up on GitHub, I'd like to add modes for Ruby, for koans, and for augmented documentation.
Which, by the way, this kind of typing practice doesn't help you with at all.
I can't touch type. Dunno about coding but it would make my IM communications with colleagues a hell of a lot more efficient!
Switching to Vim from TextMate has been enough to make me save a good 50% of my time. At this point, shaving off another, asy, 10% doesn't sound that compelling to me.
Would be cool to have a few tests where you can train typical bash and vim commands and see the ideal finger placement. Extra credits for emulating things in e.g. bash like: ctrl+a and alt+u etc. For command shortcut inspiration see for example: http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-pro...
Anyway: Good job! :-)
It's kind of ridiculous I haven't already to be honest, even if I've never had any troubles with sore wrists or anything like that.
I thought this was great! I really like it.
I think the asdf fdsa and jkl lkj ... lessons should mix the order up. I actually failed to learn jkl with the lessons provided (!) and had to switch to emacs and give myself a hand-created lesson with them mixed up.
Can we have a P for previous shortcut in addition to skip?
I got used to the enter-to-start thing eventually but I messed it up several times initially, accidentally skipping lessons.
Great idea, great job
No wonder I can never hit the semicolon or parens/braces/brackets. I use my index finger...
If you're going to design something, free or not, do it fucking right.
Your product made me mad enough to actually post this.
Doesn't seem like it should be that way.
Not bad but I do prefer typeracer. Now this one seems to be better done than typeracer: I like the fact that you can see the keys (that said it should take into account ANSI / ISO physical layouts and at least QWERTY / AZERTY and maybe DVORAK logical layouts).
Note that touch-typing is probably going to be faster than non touch-typing, so I'm advocating learning to touch-type (even if you're an old fart who never did and thinks he cannot switch anymore -- not true, I've done it after more than ten years and I don't regret it).
For a start lessons where you endlessly input "asdf" aren't that great. It's still an open discussion if this type of training as any value (included for musicians / pianists, even the ones who think it has value because they've brainwashed by doing it endlessly repeatedly -- Jimi Hendrix didn't ; )
Basically: what is the point in writing "asdf fdas sdaf fads" etc.? Are you going to write that in the Real-World [TM]? No. So why even spend time training doing it instead of doing the real thing?
It's like when Agassi changed and got a new trainer and told him that his old trainer would have him run for miles and miles and miles and his new trainer told him something like: "That's over. What you do during a match is start to run very fast then stop immediately, then run in the other direction. That's what you're going to be training to do now.".
These are two different conceptions of training. To me the first one doesn't make much sense but YMMV.
Then the other issue is that, as has been pointed out, nobody is coding like that anymore: editors do close matching parenthesis, brackets, etc. and you enter "fi" and then hit <TAB> and the skeleton of a "for (int i = 0; i < ...; i++) {" appears, you start to type the first three letters of any method, function, variable and use some expand functionality to get the auto-completion, etc.
The way I did taught myself to touch-type is simple: read about the very basics of touch-typing (or ask any secretary to teach you: it basically takes two minutes -- that's what I did), buy an "otaku" keyboard or set of keycaps (a keyboard on which the keys are "blank"), put your index fingers respectively on 'f' and 'j' and start... working!
To me doing what you're actually going to do, just like Agassi's trainer would advice, is the best way to learn.
Not some "technique" or "method" that people still don't know if it makes any sense or not.
Think outside the box.