Home

Awesome

Gokeybr

is a minimalistic touch-typing training program, that tries to improve on keybr.com by generating training lessons not only from words, but with symbols from code, or any other type of text you would like to practice with. It is probably better suited for users that have already learned positions of the keys, know how to touch type, and now want to improve their typing speed.

You could, for example, train to type ten if err != nil { return err } per minute and become a faster Go coder.

Screenshot of a Gokeybr session

On the screenshot you see gokeybr running in random mode, where it generates a training session based on your typing stats. In this case, it mixes code with "words", based on frequency and typing speed of character sequences in texts that have been used for other training sessions.

This program intentionally ignores stats on errors, instead, tracking the time needed to successfully type any text. But you are required to correct errors before making further progress in the exercise. So when you need to type "the", and you type "tje[backspace][backspace]he", the result will be the same, but you will probably need more time to type all those wrong, hit backspaces, and type it correctly. So errors will influence stats and increase the measure of necessity to practice typing "the".

The more often some sequence of keys appears in the text, the greater will be the need to type it faster. But the closer you get to the "speed of light" of 150 wpm, the harder it will be for you to improve, so training sessions are generated by taking those two aspects into account. random and weakest mode generate sessions with most frequent but slow to type character sequences. After some sequence will reach a speed of 150 wpm, it is unlikely to appear in training texts.

Installation

go get github.com/bunyk/gokeybr

Usage

Run gokeybr, type the text on the screen, hit Esc when you want to interrupt training sessions and that's it.

gokeybr --help will give you the latest and most accurate information with which parameters gokeybr could be started. Here is a sample of ways use it:

How to improve your typing speed

This software will help you to apply so-called "deliberate practice" to touch typing. It is best described in the article The Making of an Expert, by the researcher Karl Ericsson.

People get better with practice, but not any kind of practice. Just typing daily will not improve your typing speed, as daily walking would not improve your running speed. This is because you do things you already know how to do. As golf champion Sam Snead once put it: "It is only human nature to want to practice what you can already do well, since it's a hell of a lot less work and a hell of a lot more fun."

Deliberate practice is different; it is a practice that focuses on tasks beyond your current level of competence and comfort. You need to do something that you can't do well.

gokeybr monitors your weakest key sequences and allows you to practice them when started with gokeybr weakest.

Alternative programs

Code

A fork of gotypist, rewritten to use tcell instead of termbox-go. Also added support for multiline typing sessions and statistically generated exercises. Removed modes, so in each session you could strive for any result you wish.

Acrhitecture is changed from Elm-like to more classical. Code is split in following packages: