GNU Typist (2017)
gnu.org
gnu.org
So I wrote one: https://github.com/codesections/gtypist_programming_characte...
It builds up to typing out the full code of a (very small) compiler.
One thing I found annoying was that it insisted on two spaces after a period. I found that annoying so I replaces ". " with ". " in all tutorial files.
I've adopted the convention myself, because of the utility. It isn't typographically sound, but typing is not typography.
Why not? In speech, pauses between sentences are longer than pauses between words... I've never understood this debate.
But then, I'm the kind of guy who will write prose like
> He shouted, "Watch out!".
... with duplicated punctuation inside the quotation marks (because they carry meaning and are part of the quotation), so clearly I don't know the MLA or whatever.
That is to say, typographers don't typeset books, newspapers, or magazine with double-spacing after a sentence.
It's a style that emerged from typewriting, because it makes it easier to read monospaced text.
Which is another reason I do it, I'm usually typing in a mono font even when I'm working on prose. That was my point, actually.
Amusingly, the two sentences in the above paragraph have two spaces between them, as do this and the next. But you won't see it, because browsers typeset with one space between sentences.
As usual, Wikipedia has a lengthy article on the practice, which dates back to Gutenberg.
GNU Emacs' manual has a good explanation:
The sentence commands assume that you follow the American typist's convention of putting two spaces at the end of a sentence. It is useful to follow this convention, because it allows the Emacs sentence commands to distinguish between periods that end a sentence and periods that indicate abbreviations.
(setq sentence-end-double-space nil)I never formally learned to type, and have picked up some bad habits over the years because of that. I found GNU typist and finally decided to learn how to touch type "correctly".
I'll definitely supplement GNU typist with your tool for practicing.
However, in the end I don't know if it really matters that much if you type "correctly" or not unless you have problems with accuracy.
I learned touch typing at the same time when I learned Dvorak, around 15 years ago or so. I still can't touch type qwerty.
If your problem is using the wrong finger sometimes, I wouldn't worry about it too much. But consider a split ergonomic keyboard, which prevents reaching over to the wrong side.
Also, checkout typing.io which has lessons based on open source code.
I thought so too, so I wrote one: https://github.com/codesections/gtypist_programming_characte...
(I submitted it upstream, but the pace of development lately hasn't been all that fast)
On the other hand, while I can see the benefits in a well-connected classroom, GNU Typist works on decade-old hardware, without X (or Wayland, or whatever), with no internet connection, anywhere on Earth, on a tiny CPU/RAM/battery budget. I like it more as a clean, minimal, local program, personally.
This is an enormous retrograde step. There's no reason for everything to be running on someone elses computer. Gigaflops are so cheap that I have more of them in my pocket than could be found in the worlds fastest supercomputers only a few years ago.
Everyone can make their own software as long as it exists on said cloud (ie. a computer owned and controlled by someone else), they are able to access any of "their" files from anywhere - be it their home, work, their friend/parent's places, the terminals at the cafe, their mobiles or whatever and work from anywhere they'd want. Parents love that the terminals of their kids filter out anything that could be considered inappropriate and the more knowledgeable of them customize these filters for their and their friends' kids.
Some may have at the back of their mind that some of that could be abused and have a vague idea of how that could be done, but as it doesn't affect their day-by-day lives they do not pay much attention to it.
Big computers still exist but they are prohibitively expensive for personal use by the vast majority of people.
Besides, those "website applications" generally rely heavily on Javascript, so they are in fact running in your computer (just in a very very inefficient way!).
Besides, one can also argue that phones are the supercomputer anyway...
(yes, I know, it doesn't teach you how to properly use your fingers on the keyboard)
apt-get install gtypist
Wow, that was so much harder than manually copying the URL from the teacher's Power Point presentation ;-)