summaryrefslogtreecommitdiff
path: root/SW
diff options
context:
space:
mode:
Diffstat (limited to 'SW')
-rw-r--r--SW/document.en.rest.txt42
-rw-r--r--SW/document.it.rest.txt42
-rw-r--r--SW/kanatrain/document.en.rest.txt30
-rw-r--r--SW/kanatrain/document.it.rest.txt29
-rw-r--r--SW/kblayout/index/document.en.rest.txt59
-rw-r--r--SW/kblayout/index/document.it.rest.txt59
6 files changed, 261 insertions, 0 deletions
diff --git a/SW/document.en.rest.txt b/SW/document.en.rest.txt
new file mode 100644
index 0000000..8baf700
--- /dev/null
+++ b/SW/document.en.rest.txt
@@ -0,0 +1,42 @@
+My software production
+======================
+
+`Web Generator`_
+
+ The system I use to generate this site
+
+`NNetLib`_
+
+ A C++ library to build and use neural networks (especially
+ back-propagation) with arbitrary (acyclic) topology.
+
+`Keyboard Layout`_
+
+ Some Perl scripts to (try to) optimize keyboard layout (very
+ experimental...)
+
+`KanaTrain`_
+
+ A Perl script to memorize japanese phonetic characters.
+
+`Installing QTopia today`_
+
+ How to develop for `Zaurus`_ without getting mad.
+
+.. _`keyboard layout`:
+ index/
+
+.. _`zaurus`:
+ zaurus/
+
+.. _`installing qtopia today`:
+ qtopia-dev/
+
+.. _`kanatrain`:
+ kanatrain/
+
+.. _`web generator`:
+ sitemake/
+
+.. _`nnetlib`:
+ http://sourceforge.net/projects/nnetlib/
diff --git a/SW/document.it.rest.txt b/SW/document.it.rest.txt
new file mode 100644
index 0000000..a97ecd4
--- /dev/null
+++ b/SW/document.it.rest.txt
@@ -0,0 +1,42 @@
+La mia produzione software
+==========================
+
+`Generatore Web`_
+
+ Il metodo con cui genero questo sito
+
+`NNetLib`_
+
+ Libreria C++ per la gestione di reti neurali (specialmente
+ back-propagation) con topologia arbitraria (purché aciclica)
+
+`Keyboard Layout`_
+
+ Un paio di programmi Perl per (cercare di) ottimizzare il layout di
+ tastiera (molto sperimentale...)
+
+`KanaTrain`_
+
+ Un programma Perl per memorizzare i caratteri fonetici giapponesi
+
+`Installare QTopia oggi`_
+
+ Come sviluppare per lo `Zaurus`_ senza diventare matti
+
+.. _`keyboard layout`:
+ index/
+
+.. _`generatore web`:
+ sitemake/
+
+.. _`installare qtopia oggi`:
+ qtopia-dev/
+
+.. _`kanatrain`:
+ kanatrain/
+
+.. _`zaurus`:
+ zaurus/
+
+.. _`nnetlib`:
+ http://sourceforge.net/projects/nnetlib/
diff --git a/SW/kanatrain/document.en.rest.txt b/SW/kanatrain/document.en.rest.txt
new file mode 100644
index 0000000..f348aca
--- /dev/null
+++ b/SW/kanatrain/document.en.rest.txt
@@ -0,0 +1,30 @@
+KanaTrain
+=========
+
+kanatrain.pl is a program to help memorize japanese phonetic characters, in
+particular hiragana (平仮名). It requires a Perl interpreter, version 5.6.0 or
+later (but it won't work with Perl 6) and a terminal capable of displaying
+glyphs specified with UTF-8. At the moment I know of only two programs capable
+of this: xterm as included in XFree86 4.x, and EMACS with `Mule-UCS`_ or
+`oc-unicode`_ packages.
+
+The program contains two exercises: in the first one you're presented with a
+hiragana and you should write its pronounciation. To avoid ambiguities is best
+to write it after the *Kunrei* romanization (ち 'ti', し 'si', ぢ 'di') instead of
+the more common *Hepburn* (ち 'chi', し 'shi', ぢ 'ji'). If you make a mistake the
+correct pronounciation will be shown, along with the hiragana corresponding to
+the one you gave (if any).
+
+In the second exercise you're presented with a pronunciation (written after the
+*Kunrei* system) and five different hiragana characters, where only one is the
+right one. You should write the number relative to the right one. If you make a
+mistake the correct hiragana will be shown, along with the pronunication of the
+one you chose.
+
+To end each exercise just give an empty answer.
+
+.. _`oc-unicode`:
+ http://www.cs.ruu.nl/~otfried/Mule/
+
+.. _`mule-ucs`:
+ ftp://ftp.m17n.org/pub/mule/Mule-UCS/
diff --git a/SW/kanatrain/document.it.rest.txt b/SW/kanatrain/document.it.rest.txt
new file mode 100644
index 0000000..572b6e9
--- /dev/null
+++ b/SW/kanatrain/document.it.rest.txt
@@ -0,0 +1,29 @@
+KanaTrain
+=========
+
+kanatrain.pl è un programma per aiutare a memorizzare i caratteri fonetici
+giapponesi, in particolare i hiragana (平仮名). Richiede un interprete Perl
+versione 5.6.0 o successive (ma non funzionerà col Perl 6) e un terminale
+capace di visualizzare caratteri in UTF-8. Al momento conosco solo due
+programmi in grado di farlo: xterm di XFree86 4.x, e EMACS con il pacchetto
+`Mule-UCS`_ o `oc-unicode`_ .
+
+Il programma prevede due esercizi: nel primo viene mostrato un hiragana e
+bisogna inserirne la pronuncia. Per problemi di ambiguità è preferibile
+inserirla secondo la romanizazione *Kunrei* (ち 'ti', し 'si', ぢ 'di') piuttosto
+che la più comune *Hepburn* (ち 'chi', し 'shi', ぢ 'ji'). Quando si sbaglia viene
+mostrata la pronuncia corretta, e lo hiragana corrispondente alla pronuncia
+inserita (se esiste).
+
+Nel secondo esercizio viene proposta una pronuncia (scritta secondo il sistema
+*Kunrei*) e cinque scelte di hiragana diversi, di cui solo uno è giusto.
+Bisogna inserire il numero corrispondente a quello giusto. Se si sbaglia, viene
+mostrato lo hiragana giusto e la pronuncia di quello scelto.
+
+Per terminare ciascun esercizio basta dare una risposta vuota.
+
+.. _`oc-unicode`:
+ http://www.cs.ruu.nl/~otfried/Mule/
+
+.. _`mule-ucs`:
+ ftp://ftp.m17n.org/pub/mule/Mule-UCS/
diff --git a/SW/kblayout/index/document.en.rest.txt b/SW/kblayout/index/document.en.rest.txt
new file mode 100644
index 0000000..e56d458
--- /dev/null
+++ b/SW/kblayout/index/document.en.rest.txt
@@ -0,0 +1,59 @@
+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
new file mode 100644
index 0000000..f710e29
--- /dev/null
+++ b/SW/kblayout/index/document.it.rest.txt
@@ -0,0 +1,59 @@
+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.