summaryrefslogtreecommitdiff
path: root/SW/kblayout
diff options
context:
space:
mode:
Diffstat (limited to 'SW/kblayout')
-rw-r--r--SW/kblayout/document.en.rest.txtbin0 -> 5600 bytes
-rw-r--r--SW/kblayout/document.it.rest.txt65
-rw-r--r--SW/kblayout/index/document.en.rest.txt59
-rw-r--r--SW/kblayout/index/document.it.rest.txt59
4 files changed, 65 insertions, 118 deletions
diff --git a/SW/kblayout/document.en.rest.txt b/SW/kblayout/document.en.rest.txt
new file mode 100644
index 0000000..69c46c0
--- /dev/null
+++ b/SW/kblayout/document.en.rest.txt
Binary files differ
diff --git a/SW/kblayout/document.it.rest.txt b/SW/kblayout/document.it.rest.txt
new file mode 100644
index 0000000..6785260
--- /dev/null
+++ b/SW/kblayout/document.it.rest.txt
@@ -0,0 +1,65 @@
+Migliorare il layout di tastiera
+================================
+:CreationDate: 2003-01-28 10:09:25
+:tags: - software
+ - keyboard
+
+Conoscerete anche voi la storia della tastiera Sholes ("QWERTY"), che
+è stata inventata per evitare che i dattilografi troppo veloci
+facessero inceppare i martelletti delle macchine per scrivere
+meccaniche. Saprete anche che il layout Dvorak è da molti considerato
+più efficace e veloce.
+
+Quando provai a imparare a usare la tastiera Dvorak, un mio amico mi
+disse pressappoco: «Perché non scrivi un programma che misuri l'uso
+che fai tu della tastiera, e ricavi un layout personalizzato?». In un
+momento di follia, ho deciso di farlo davvero.
+
+Il primo programma è ``freq.pl``_, che legge i file dati a riga di
+comando e calcola una matrice di probabilità (nel file il cui nome è
+nella variabile ``$MATRFN``, al momento ``/tmp/freq.matr``). In
+effetti tratta il testo come un processo di Markov sui caratteri a
+memoria 1, e ricava la matrice di transizione. Nota: gli elementi sono
+frequenze, non probabilità. L'eventuale normalizzazione è lasciata
+come esercizio al lettore.
+
+Il secondo programma è ``freqdump.pl``_, che probabilmente non serve a
+niente. L'ho scritto (tre o quattro versioni diverse) per avere
+un'idea di come fossero le frequenze. Dateci un'occhiata se volete.
+
+Il programma più utile (spero) è ``optkeyb.pl``_, che parte dalla
+matrice (al solito, nome di file hardcoded) e dal layout QWERTY
+cercando per discesa di gradiente stocastica un layout migliore. In
+parole povere, calcola un valore per il layout (somma sulle coppie di
+tasti della distanza per la frequenza), poi prova a scambiare due
+tasti a caso e vedere se il risultato è migliore. Per aggirare i
+minimi locali (e ce ne sono tanti) all'inzio scambia a caso
+``$PRE_SHUFFLE`` volte, e se per ``$STARVATION`` tentativi non ha
+trovato un miglioramento ricomincia, dopo aver appeso il layout
+localmente ottimo al file ``/tmp/layouts``. Usa le curses e il
+corrispondente modulo Perl ``Curses.pm``.
+
+Per evitare cose brutte (i.e. i numeri a spasso) nell'hash ``%locked``
+è possibile impostare i tasti che non si vogliono spostare.
+
+Per dare un'idea dei risultati, dopo qualche ora di calcoli il miglior
+layout era:
+
+::
+ ` 1 2 3 4 5 6 7 8 9 0 ; =
+ - x w h t s a l b y ' j q
+ z \ [ c i e r u p . ,
+ k v f d n o m g ] /
+
+Tenete conto che io uso una tastiera IBM U.S., e dove è finita la
+``q`` c'era il tasto pipe/backslash (che è più largo degli altri, e
+quindi avrei dovuto bloccarlo...)
+
+Per dare un'idea del miglioramento, il valore calcolato per la QWERTY
+è 10.190.280, per quella riportata sopra è 6.797.370, che si traduce
+in una riduzione del 34% del chilometraggio delle dita durante la
+battitura.
+
+.. _`freq.pl`: /src/freq.pl
+.. _`freqdump.pl`: /src/freqdump.pl
+.. _`optkeyb.pl`: /src/optkeyb.pl
diff --git a/SW/kblayout/index/document.en.rest.txt b/SW/kblayout/index/document.en.rest.txt
deleted file mode 100644
index e56d458..0000000
--- a/SW/kblayout/index/document.en.rest.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-Optimize keyboard layout
-========================
-
-I'm sure you, too, know the history of the QWERTY keyboard, that was designed
-to avoid that too fast typists jammed mechanical typewriters. You would know
-also that the Dvorak layout is cosidered by many to be faster and more
-effective.
-
-When I tried to learn to use the Dvorak keyboard, a friend of mine asked me Why
-don't you write a program to measure your keyboard usage, and then obtain a
-personalized layout?. In a moment of crazyness, I decided to do just that.
-
-The first program is freq.pl, which reads the files given on the command line
-and produces a probability matrix, writing it into the file whose name is in
-the $MATRFN variable, default /tmp/freq.matr. Actually it sees the text as a
-Markov process over the characters with memory 1, and extracts the transition
-matrix. Note: the elements are frequencies, not probabilities. The optional
-normalization is left as exercise to the reader.
-
-The second program is freqdump.pl, which is probably useless. I've written it
-(three or four different versions) to have an idea about the frequencies. Give
-it a look if you want.
-
-The most useful program (I hope) is optkeyb.pl, which starting from the matrix
-(as usual, filename hardcoded) and the QWERTY layout searches by stochastic
-gradient descent a better layout. In other words, it calculates a value for the
-layout (sum over the pairs of keys of their distance times the frequency of
-that pair), then tries to exchange two random keys looking for a better result.
-To avoid local minima (there are a lot) it starts by randomly exchanging
-$PRE_SHUFFLE pairs, and if it doesn't find a better layout for $STARVATION
-tries it starts again, after having written the locally optimum layout at the
-end of the file /tmp/layouts. It uses curses and the corresponding Perl module
-Curses.pm.
-
-To avoid bad things, like numbers scattered between other keys, it's possible
-to set into the %locked hash the keys that must not be moved.
-
-To give yoy an idea of the results, after some hours of computation the best
-layout was:
-
-::
-
-
- ` 1 2 3 4 5 6 7 8 9 0 ; =
- - x w h t s a l b y ' j q
- z \ [ c i e r u p . ,
- k v f d n o m g ] /
-
-..
-
-
-
-Bear in mind I use a IBM U.S. keyboard, and where the q is, there's usally the
-backslash/pipe key, which is larger than the others, so I should have locked
-it...
-
-To have an idea of the optimization, the value relative to the QWERTY layout is
-10.190.280, for the one above is 6.797.370, meaning a 34% reduction in the
-space travelled by the fingers during writing.
diff --git a/SW/kblayout/index/document.it.rest.txt b/SW/kblayout/index/document.it.rest.txt
deleted file mode 100644
index f710e29..0000000
--- a/SW/kblayout/index/document.it.rest.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-Migliorare il layout di tastiera
-================================
-
-Conoscerete anche voi la storia della tastiera QWERTY, che è stata inventata
-per evitare che i dattilografi troppo veloci facessero inceppare i martelletti
-delle macchine per scrivere meccaniche. Saprete anche che il layout Dvorak è da
-molti considerato più efficace e veloce.
-
-Quando provai a imparare a usare la tastiera Dvorak, un mio amico mi disse
-pressappoco Perché non scrivi un programma che misuri l'uso che fai tu della
-tastiera, e ricavi un layout personalizzato?. In un momento di follia, ho
-deciso di farlo davvero.
-
-Il primo programma è freq.pl, che legge i file dati a riga di comando e calcola
-una matrice di probabilità (nel file il cui nome è nella variabile $MATRFN, al
-momento /tmp/freq.matr). In effetti tratta il testo come un processo di Markov
-sui caratteri a memoria 1, e ricava la matrice di transizione. Nota: gli
-elementi sono frequenze, non probabilità. L'eventuale normalizzazione è
-lasciata come esercizio al lettore.
-
-Il secondo programma è freqdump.pl, che probabilmente non serve a niente. L'ho
-scritto (tre o quattro versioni diverse) per avere un'idea di come fossero le
-frequenze. Dateci un'occhiata se volete.
-
-Il programma più utile (spero) è optkeyb.pl, che parte dalla matrice (al
-solito, nome di file hardcoded) e dal layout QWERTY cercando per discesa di
-gradiente stocastica un layout migliore. In parole povere, calcola un valore
-per il layout (somma sulle coppie di tasti della distanza per la frequenza),
-poi prova a scambiare due tasti a caso e vedere se il risultato è migliore. Per
-aggirare i minimi locali (e ce ne sono tanti) all'inzio scambia a caso
-$PRE_SHUFFLE volte, e se per $STARVATION tentativi non ha trovato un
-miglioramento ricomincia, dopo aver appeso il layout localmente ottimo al file
-/tmp/layouts. Usa le curses e il corrispondente modulo Perl Curses.pm.
-
-Per evitare cose brutte (i.e. i numeri a spasso) nell'hash %locked è possibile
-impostare i tasti che non si vogliono spostare.
-
-Per dare un'idea dei risultati, dopo qualche ora di calcoli il miglior layout
-era:
-
-::
-
-
- ` 1 2 3 4 5 6 7 8 9 0 ; =
- - x w h t s a l b y ' j q
- z \ [ c i e r u p . ,
- k v f d n o m g ] /
-
-..
-
-
-
-Tenete conto che io uso una tastiera IBM U.S., e dove è finita la q c'era il
-tasto pipe/backslash (che è più largo degli altri, e quindi avrei dovuto
-bloccarlo...)
-
-Per dare un'idea del miglioramento, il valore calcolato per la QWERTY è
-10.190.280, per quella riportata sopra è 6.797.370, che si traduce in una
-riduzione del 34% del chilometraggio delle dita durante la battitura.