Typing training for programming

Hi, I’ve had my keyboard.io for a week ish, and I’m enjoying it for normal typing, but having a hard time when it comes to punctuation, specifically things that you don’t use in normal day but you do use as a programmer - quotes, maths chars, 3 different parentheses, angle brackets, tab, cursor keys, etc.

I’m a network/systems engineer and programmer, so I hit tab and ? more often than I hit space, but, really don’t have the muscle memory for them yet, I keep hitting pgup or ~/`.

I’ve used the suggested online keybr.com and had fairly good success with that, even with the “punctuation” chars turned on, but they tend to be things that “normal” people would be more likely to use.

The last ergo keyboard I learned was a Kinesis Ergo Advantage which I used for 15 or so years, and despite not using one for 12 or so months (mine broke) my muscle memory is still strong, haha.

Does anyone have suggestions for training tools for programmers?

A lot of online typing tutors allow you to use custom text as practice. That would be one way. Another is just pushing yourself to program with the Model01. A third is to adjust the layout to match your muscle memory better (not necessarily completely, but perhaps better than the factory layout).

I went with a combination of #2 and #3: I forced myself to work with my Model01, and over the course of a few weeks, figured out where I want my brackets and the like. (Mind you, I started with a Dvorak layout, which has these symbols at better places to begin with, so I didn’t have to change much.)

I’ve being doing a little practice via typing.io to practice JavaScript and optimize key bindings.

Example: https://typing.io/lesson/javascript/jquery/traversing.js/1

I’ve found that it makes sense to move parentheses to the function layer (for me it is Fn+C and Fn+V) and move common keys like backslash and pipe to more convenient locations rather than overloading my pinky.

3 Likes

I’m in the same situation. I liked how keybr.com progressively introduced the alphabet but wanted something that would treat symbols the same way. So I took an old, simple Emacs typing game and some time stuck in an airline seat and made myself a typing trainer that takes a source file, sorts the characters by frequency and introduces them to you in that order.

https://github.com/gazally/typing

If you’re not fluent in Emacs, here are instructions:

  • Download the typing.el file, from the link above.
  • Start Emacs.
  • Type Ctrl-x, then Ctrl-f, then the location of typing.el, and then Enter.
  • Type Alt-x, then eval-buffer and then Enter. This step loads the code into Emacs.
  • Type Alt-x, then typing-of-emacs-training and then Enter. That’s a long thing to type on a new keyboard, so try hitting Tab halfway through for tab-completion.
  • The game will show you gibberish phrases derived from its source code. Type them and press Enter. It starts with just e and E and after every 5 lines adds another character, but always focuses on the most recent 3 characters. It will eventually show you every non-whitespace character in the file.
  • Ctrl-g if you want to quit the game early.
  • If you want to use your own file, maybe in a language other than Lisp, Ctrl-x Ctrl-f, then type a filename, then Enter, before running typing-of-emacs-training.
  • Type Alt-x then customize, then Enter, then Tab to the search box, type typing and press Enter. Tab to the typing-of-emacs-training section and you can customize things like the starting level and length of phrases. When you don’t want to do the first level of only “e” any more, check this out.
  • Ctrl-x Ctrl-c to exit Emacs.
  • Ctrl-h Ctrl-t for the Emacs tutorial, a good place to practice control and arrow keys.
2 Likes

I find gtypist quite helpful. It may be rather old-fashioned, but somehow I prefer the terminal window to anything else. It doesn’t come with a course for programmers, but it seems quite easy to come up with one yourself.

For the quick and dirty way: Find some nice-looking code and paste it into keybr.com’s settings section (“Provide your own custom text”).

Some great suggestions here - I’m finding that typing.io is working well if anyone else is interested in feedback.

1 Like

Check out https://wwwtyro.github.io/keyzen/ . Clone it down if you like it. Cool. I know.

1 Like