2018-08-30 Learning to Type

OK, so I want to *practice* typing using the Workman Keyboard Layout. But how to practice?

Workman Keyboard Layout

Atreus keyboard

Recently, codesections@fosstodon.org had a post about typing lessons for programmers using GNU Typist. I also found that my distro also offers Speedpad, a sort of game. And that reminded me of Typing of the Dead, which inspired The Typing of Emacs, a game I once wrote.

GNU Typist

Speedpad

Typing of the Dead

The Typing of Emacs

 T h e   T y p i n g   O f   E m a c s . . .

 LEVEL 1: 3 SECONDS PER WORD!  YOU HAVE 3 LIVES LEFT.
 elt - Wow!
 any - Hit!
 but - Go ahead!
 own - You can do it!
 nil - That's it!
 Done - done? - Desist! - 2 LIVES LEFT!
 such - You can do it!
 sort - Hit!
 made - Amazing!
 used - OK!
 which - yes!
 words - Hit!
 write - Excellent.
 parse - Wow!
 takes - Wow!
 format - Hit!
 Upcase - Updcase? - Nooooo! - 1 LIVES LEFT!
 random - YES!
 giving - gibuing? - Shame on you! - 0 LIVES LEFT!
 You have reached 180 characters per minute in 26 seconds by typing 18 words.

OK, but now I want to start working on the new *Workman* layout. Let’s see... I need a “ranking” so that I can start with some “easy” keys and make it progressively harder. Let’s take another look at the basic layer.

the basic layer

Here’s the plan:

1. start with the home row: just words containing ashtgyneoi

2. add some easy to reach keys, for example the three most easily reachable above the left and the right: adding drwfup

3. add the three most easily reachable below the left and the right: adding xmcl (ignoring the comma and dot for the moment)

4. all the letters

OK, so let’s prepare a file! Let’s use `-i` to ignore case. Use that Shift key!

grep -i '^[ashtgyneoi]*


 < /etc/dictionaries-common/words > workman-1.txt
grep -i '^[ashtgyneoidrwfup]*


 < /etc/dictionaries-common/words > workman-2.txt
grep -i '^[ashtgyneoidrwxmcfupl]*


 < /etc/dictionaries-common/words > workman-3.txt
grep -i '^[a-z]*


 < /etc/dictionaries-common/words > workman-4.txt

And since this is so new, I also need to change something in my setup:

(setq toe-starting-time-per-word 10)

The default is 3s per word and I basically can’t type anything in the time required.

That should give you a quick selection of difficulty levels. Feel free to introduce keys more gradually.

Here’s how to combine two words from the first file:

sort --random-sort workman-one.txt | paste -d ' ' workman-1.txt - > workman-1b.txt

The result:

A gaits
Aegean assigning
Aeneas ah
Ag Se
Agassi ignition
Agatha ginning
Aggie gayest
Agnes hoot
Agni geneses
Aisha ING
...

Yet another interesting take would be to use the 2000 most common words from the Brown corpus... And so on! 😄

Well, back to the `workman-1.txt` file for me!

T h e   T y p i n g   O f   E m a c s . . .

LEVEL 1: 10 SECONDS PER WORD!  YOU HAVE 3 LIVES LEFT.
hie - Wow!
tie - OK!
shy - Amazing!
Noh - You can do it!
GTE - Done!
sags - Wonderful!
goes - OK!
oats - Amazing!
test - You can do it!
heat - Great!
goose - Go ahead!
hoots - That's it!
shoon - Amazing!
gains - Excellent.
tangs - You can do it!
ninths - Hit!
Athena - You can do it!
testis - Hit!
giants - Done!
sanity - Timeout! - Desist! - 2 LIVES LEFT!
hatting - Wonderful!
assigns - Hit!
entente - Timeout! - Nooooo! - 1 LIVES LEFT!
hyaenas - ? - No! - 0 LIVES LEFT!
You have reached 47 characters per minute in 140 seconds by typing 23 words.

Hall Of Fame

  1. Alex Schroeder    45 cpm    157 sec     24 words  2018-08-30 00:43
  2. Alex Schroeder    47 cpm    140 sec     23 words  2018-08-30 14:53
  3. Alex Schroeder    12 cpm     30 sec      2 words  2018-08-30 14:51
  4. Alex Schroeder    13 cpm     26 sec      2 words  2018-08-30 14:50
  5. Alex Schroeder    40 cpm      9 sec      2 words  2018-08-30 00:40

​#Keyboard ​#Workman ​#Emacs