Programmer Dvorak typing tutorial
Programmer Dvorak is a modification of Dvorak keyboard layout which moves the characters that programmers usually need closer to the fingers (and moves digits a bit away). It also re-arranges digits in certain order, putting odd numbers on the left and even ones on the right (this is actually how digits in original Dvorak layout were positioned).
(image taken from Wikipedia)
Original QWERTY layout was initially designed to prevent the keys of old typewriters from jamming. The keys have been placed in random, inefficient way for one sole purpose - to slow down a typist. Dvorak layout was invented in 1936 by Dr. August Dvorak after years of research. August Dvorak has also published a book, Typewriting Behavior, which is in-depth analysis of the process of typing.
A very nice and funny description of the history of QWERTY and Dvorak layouts is given in a comic book, Dvorak Zine
This typing tutorial covers base Dvorak layout and, in addition to that, parts of the layout that are Programmer Dvorak - specific (characters and symbols). For base Dvorak course this tutorial uses magnificent ABCD lessons written by Dan Wood. This base course include 29 lessons. Lessons 30 - 52 cover Programmer Dvorak layout aspects (lessons for typing digits and special characters such as &[(%# etc. - everything from Number row).
This site is a free software, its source code can be found on GitHub under Apache license, version 2. Programmer Dvorak typing tutorial utilizes a jQuery plugin which allows to create arbitrary typing tutor user interfaces. This plugin is also a free software
You'll need to have Programmer Dvorak layout activated in order to use the lessons for number row. If you use (K)Ubuntu then the layout is already installed, you just need to select it; you can also find the instructions of how to configure the layout on Windows, Linux and Mac OS X. If you're only interested in base Dvorak course then a regular Dvorak layout, which is shipped with most of operating systems, should be enough.
Please send your comments and suggestions to denis[dot]k1985[at]gmail[dot]com, I'll really appreciate it! Also, if you have an idea of how to improve the lessons, don't hesitate to submit a pull request.
Authored by Denis Kniazhev