Live data from Hacker News

Typing Practice for Programmers

typing.io

181–190 of 224 posts

Re: Typing Practice for Programmers

#183
post #103

I don't understand programmer's obsession with typing efficiency. We're not typists. Typing is a tiny fraction of the time I spend programming. Most of the time I'm thinking, or talking to another developer about a problem. I could have the fastest typing skills and most efficient editor and not even be marginally more productive.

I'm pretty fast typist - about 50 WPM in those crazy JavaScript regexp exercises. I used to think my typing speed is just a perk, but everything changed, when I became proficient in TDD and refactoring.

Previously I've thought a lot about architecture, code, algorithms, etc. And then typed that in ~1 hour per day. However when I started doing real TDD with running tests every few dozen seconds, everything changed. Now I actualy code almost all the day - play with ideas, throw them away, implement in a multiple ways, refactor a lot. And that is a blessing when you may implement your ideas as fast as you may, so that instead of analyzing the solution, you verify it.

Other reason is I've changed my approach to application architecture. Previously I've used the standard PHP/Ruby/JS frameworks and fit my code into predefined places, generated scaffolds, etc. However then I started applying DDD, PoEAA and similar ideas. All the advanced design principles require a lot of boilerplate code - a lot of mappers, DTO transformers, domain classes, view models, etc. So I actually need to type ~3 times more code than before.

And then I've started using VIM. You better not make typos when using VIM - crazy staff happens and it breaks the flow.

Re: Typing Practice for Programmers

#184

This is really well done. Surprisingly well done. Way better done than average. I'll tell you how I'd like to use it. This may seem odd, but I'd like to be able to upload code that I'm interested in learning, and then type over it just like in these lessons - but not to speed up my typing, but rather for learning. Writing is a unique channel for learning new things. (Reading is too, of course, but everyone knows that…

Absolutely agree, this is a really awesome side-use of this project. Great work!

Re: Typing Practice for Programmers

#185

It doesn't appear to respect my keyboard layout - I'm using colemak (which works fine) but with UK symbols instead of US (which works everywhere else, including the HN comment box, but not in Typing.io where it wants me to type US symblos: eg " and @ are swapped).

I have also same issue with Dell's USB keyboard for Japanese language. For example, that site can't detect "=", "_", etc...

Re: Typing Practice for Programmers

#186
Great idea. But as a fast typist of both prose and code I found the interface nearly unusable. Please make it behave more like a normal edit box. I never had any idea of the location of my cursor. The lack of alt-backspace made it unbearably slow to correct errors. Auto-skipping whitespace makes it tougher to rely on my habits where the key strokes for indentation and line breaks are a natural part of the flow. And if you're not going to make me type the comments, just delete them from the text entirely so I can more easily scan ahead.

Here's a straight-up bug: I had to turn off a Chrome extension (Type Ahead Find) that I use for incremental search. It was intercepting key strokes that were supposed to go to typing.io. That hasn't happened with Ace and other canvas-based text editors. My friend also mentioned that it didn't work with his Danish keyboard.

Beyond these annoyances with the implementation, typing the C code from Redis reinforced how difficult (and frankly infuriating) it is to spontaneously conform to an unfamiliar coding convention. E.g. no spaces in "while(1)" throws me off completely because my brain is thinking "while 1" and my fingers translate that into my customary "while (1)". If you want this web app to be relevant to real-world programming, you need to let people upload their own code samples.

For even punctuation heavy, syntactically gnarly prose, I can average 140+ WPM without much effort. Typing.io put me at around 100 WPM for the first few sections of the C Redis lesson. I'd say I'm good for at least another 15-20 WPM if the environment wasn't so utterly alien.

Re: Typing Practice for Programmers

#187
post #76

This definitely shows me how much of the coding style I use is in muscle memory, I'm continually trying to add spaces and newlines where they aren't! It would be interesting to be able to pick specific coding styles for C I'm spending too long on this, back to work...

+1, except the opposite: my usual coding style is more terse than jQuery's style.

Those guys have spaces everywhere

Re: Typing Practice for Programmers

#188
post #117

Kinda OT, but I noticed you're using Google Fonts, and they load instantaneously. When I use Google Fonts, they take a little bit, usually loading after the whole site is already displayed. Did you optimized anything regarding this?

Hmm, I'm not doing anything special. I just put the web font link at the top of head. I'm also only including the default font weight. How many assets does your page have? Typing.io is relatively slim, so the font download can occur relatively sooner. If I'm not mistaken, the initial css downloads blocks the page load, but the actual ttf/woff/etc download occurs async and may be delayed if there is other stuff.

I'm just in development right now, and the assets haven't been packed yet (but I'm loading the font right on top). Thanks for answering, and congrats on your very well designed website!

Re: Typing Practice for Programmers

#189

This is really well done. Surprisingly well done. Way better done than average. I'll tell you how I'd like to use it. This may seem odd, but I'd like to be able to upload code that I'm interested in learning, and then type over it just like in these lessons - but not to speed up my typing, but rather for learning. Writing is a unique channel for learning new things. (Reading is too, of course, but everyone knows that…

Typing code is very bursty. It might not account for a large fraction of your programming time. But when you have to code up a function, waiting for hunt-and-peck to finish the job is infuriating for the same reason that waiting on your snail of a compiler is infuriating. No doubt there are zen masters who meditate mindfully on the meaning of each and every key stroke. I'm not that patient.
Post reply on HN