«[Figlio dell'uomo] Porgi l'orecchio e ascolta le parole di KGB
e applica la tua mente alla SUA istruzione
» Pv. 22,17

Qui si straparla di vari argomenti:
1. Il genere dei pezzi è segnalato da varie immagini, vedi Legenda
2. Per contattarmi e istruzioni per i nuovi lettori (occasionali e non) qui
3. L'ultimo corto è questo
4. Molti articoli di questo blog fanno riferimento a definizioni e concetti che ho enunciato nella mia Epitome gratuitamente scaricabile QUI. Tali riferimenti sono identificati da una “E” fra parentesi quadre e uno o più capitoli. Per esempio: ([E] 5.1 e 5.4)

giovedì 28 febbraio 2019

Punto politico 2019-1

[E] Per la comprensione completa di questo pezzo è utile la lettura della mia Epitome (V. 1.1.1 "Psicomante Maior").

È da molto tempo che non scrivo di politica: non si è trattato di una scelta “editoriale” ma solo di una crisi di rigetto. Avevo scritto troppo e mi ero stressato su questioni che mi interessavano il giusto…

Tutto sommato, anche adesso, non sento particolari esigenze di esprimermi riguardo governo od opposizioni però, visto che sono passati molti mesi e che comunque delle tendenze iniziano a emergere, oggi farò un piccolo sforzo per riepilogare e aggiornare il mio punto di vista.

Nel prosieguo adopererò massicciamente le definizioni di populismo che ho dato nell’Epitome, in particolare nei capitoli 12.3 e 12.4.

Complessivamente mi sembra di aver letto molto bene la situazione politica: i miei pezzi estivi sono ancora, almeno per certi aspetti, piuttosto attuali.
In breve le mie posizioni:
- M5S: a livello parlamentare è diviso in due: il M5S-Grillo/Casaleggino e il M5S-Di Maio. Il M5S-Grillo è un populismo apparente e (tendenzialmente) rinunciatario; il M5S-Di Maio è un populismo apparente e ambizioso, composto principalmente dai parlamentari al secondo mandato.
- Lega: era il mio dilemma. Che fosse un populismo era ovvio: ma si tratta di un populismo reale o apparente?
- Salvini: abilissimo equilibrista politico: di gran lunga superiore alla concorrenza italiana.

Vediamo com’è cambiato il mio punto di vista.
-M5S: mi aspettavo qualche tensione interna, fra M5S-Grillo e M5S-Di Maio, ma non le ho notate. Ipotizzo che gran parte delle tensioni si siano risolte con la spartizione dei ministri pentastellati. Questo spiegherebbe anche il comportamento a macchia di leopardo dei ministri del M5S: alcuni sembrano effettivamente interessati al benessere del popolo (da veri populisti reali e non apparenti) mentre altri invece sembrano obbedire direttamente alle lobbi (da bravi populisti apparenti e rinunciatari).
Nel complesso credo che il mio giudizio sul M5S fosse troppo basato sulla dicotomia contrapposta fra Grillo/Casaleggino e Di Maio. Invece, come avevo avuto modo di constatare nei miei anni di attivismo nel territorio, dipende molto dai singoli: così come fra gli attivisti la maggioranza è in buona fede e non ricerca il proprio interesse, anche fra parlamentari e ministri (ovviamente) con percentuali molto diverse, la situazione è simile. Effettivamente quindi una significativa percentuale di parlamentari e ministri del M5S sono dei populisti reali, ovvero vorrebbero realizzare il bene per la democratastenia.
Ho quindi la sensazione che la politica del M5S corra su due binari paralleli: alcuni ministri sembrano dei funzionari delle lobbi, altri invece si battono per il bene del paese.
Credo anche che sia proprio colpa dei ministri populisti-apparenti la disaffezione degli elettori pentastellati verso il movimento (pur considerando l’ormai noto svantaggio dei candidati sconosciuti contro volti più noti che il M5S patisce regolarmente nelle elezioni locali).
- Cosa sia la Lega in realtà si sovrappone con cosa sia Salvini: è chiaro infatti che i rappresentanti della Lega, soprattutto quelli delle ragioni dove non è radicata, sono sostanzialmente degli opportunisti che però obbediscono a Salvini. Quanto Salvini riuscirà a controllarli è discutibile (io temo poco): persone scadenti e magari di dubbia moralità non diventano abili e onesti amministratori solo perché il proprio capopartito glielo chiede ma, forse, si riuscirà a salvare le apparenze…
-Salvini. Su Salvini, e in effetti per tutto il governo, avevo scritto (v. Previsione per l’autunno) che sarebbe stata decisiva e rivelatrice la manovra finanziaria.
Supponevo infatti che le inevitabile divergenze fra populismo apparente e populismo reale, o altrimenti che le affinità fra populismi apparenti, sarebbero divenute evidenti con la manovra finanziaria.
In realtà sono io un cattivo politico: troppo idealista per accettare qualsiasi compromesso moralmente (*1) dubbio. Invece Salvini, come aveva già dimostrato nella lunghissima fase di contrattazione per la formazione del governo, ha molti meno scrupoli di me per ottenere il risultato che gli interessa.
Nel nostro caso all’epoca della manovra avevamo: 1. il previsto attacco congiunto media/spread da parte dei parapoteri EU che puntavano a ottenere col ricatto l’ennesima finanziaria contro l’Italia; 2. un M5S titubante e incerto sulla direzione economica da seguire ma tendenzialmente pronto a seguire le “indicazioni” EU; 3. il ministro Tria “del presidente” e quindi, ipotizzavo, non particolarmente affidabile; 4. un difficile rapporto col M5S dove la Lega era la parte debole che aveva più da rimetterci da un’eventuale crisi di governo.

I punti 1 e 2 li avevo previsti ed erano prevedibili. Sul ministro Tria avevo probabilmente sopravvalutato la forza del presidente di imporre un “proprio” uomo: intendo dire che Tria non era così sgradito e improponibile a Salvini come temevo. Che abbia l’etichetta di essere del “presidente” è invece un vantaggio perché, se se ne dovessero verificare le condizioni, potrà essere facilmente denunciato (politicamente) e scaricato come tale. Ma nel complesso Tria mi sembra si stia dimostrando essere un “tecnico” serio, che segue le indicazioni del governo e non quelle del presidente.
Ma è soprattutto sul punto 4 che avevo sbagliato le mie previsioni: la crescita impensabile (*2) della Lega, che pure avevo previsto anche se non di queste dimensioni, le sta dando una certa forza potenziale nell’eventualità di una crisi di governo. Contemporaneamente il limite dei due mandati tiene molti parlamentari al secondo mandato del M5S prigionieri di questa legislatura alla quale, comprensibilmente, non vogliono rinunciare. Nel complesso la forza della Lega nell’orientare le scelte del governo è molto maggiore di quanto avevo previsto.
Detto questo la manovra risultante è stata una cosina anodina che va sì nella direzione giusta ma, per rispettare le imposizioni EU, manca totalmente del necessario vigore. Diciamo che siamo passati dal veleno spacciato per medicina somministrato dai governi Monti e successivi, all’aspirina che, male non fa, ma che da sola non basta a far guarire da una polmonite…
Questo significa che anche Salvini (e quindi a rimorchio la Lega) è un populismo apparente?
No: semplicemente la manovra non ci dà un’indicazione risolutiva come invece credevo.
Questa manovra, per quanto modesta, potrebbe essere comunque il meglio ottenibile da Salvini data la congiuntura politica interna ed esterna. Oppure potrebbe essere anche Salvini un populista apparente...

Per una volta saranno molto importanti le elezioni politiche europee: una forte affermazione dei partiti “sovranisti” potrebbe infatti rendere l’EU meno tossica e meno ostile all’Italia.

Conclusione: lo so: si tratta di analisi molto superficiali (per il mio solito) ma ultimamente sto seguendo pochissimo la politica.

Nota (*1): dove, nel caso della manovra economica, la morale corrisponde all’interesse economico degli italiani.
Nota (*2): per il mio solito! E comunque, grazie alla base teorica fornitami dall’Epitome, è un’analisi molto più profonda e accurata di quanto si può leggere sui soliti “giornaloni” o ascoltare nella propaganda dei telegiornali...

lunedì 25 febbraio 2019

Eurosalasso

L’articolo: Euro, studio tedesco: “La Germania ci ha guadagnato più di tutti. Per gli italiani perdita di 73mila euro pro capite” da IlFattoQuotidiano.it

Che dire? Ce n’eravamo accorti…

Vabbè, poi non ho idea della valenza scientifica di questo studio però conferma quanto da tempo va ripetendo il Bagnai e che da qualche anno ho recepito anch’io…

Il vero problema non è tanto ciò che è accaduto in passato ma che ci sono ancora forze politiche che negano l’evidenza e che esaltano l’euro come se questa moneta avesse salvato l’Italia invece di distruggerla.

Aggiungo anche, andando leggermente “fuori tema”, che io sono europeista convinto: ma non di questa EU che è l’Europa delle banche, delle imposizioni, delle regole inutili e costose, dei favori alle lobbi: io ancora sogno un Europa dei popoli...

Riuffa - 27/2/2019
Allora dopo l’ultimo fallimento (v. il corto Errore orrore) ho provato a seguire il consiglio di Osinga che, più o meno, visto che Keras è una libreria di alto livello che si appoggia a TensorFlow (un’altra libreria per reti neurali di livello più basso) è difficile stabilire cosa provochi un errore e suggerisce quindi di provare a cambiare qualche parametro per “magicamente” risolvere il problema.

Così ieri notte ho cambiato il parametro della dimensione dei due strati intermedi portandola da 110 a 120. Poi ho usato come interfaccia Chrome invece che Firefox.
Risultato: Keras ha dato errore alla fine della quarta epoca!

Oltretutto adesso sono sicuro che non sia un problema di scarsità di memoria perché ho notato che Python con Chrome è molto più efficace e mi usa circa 2 invece che 7Gb, rientrando quindi abbondantemente nei miei 8Gb di RAM.

Adesso proverò a crearmi un ambiente dove possa usare anche la mia GPU con la speranza di aumentare la velocità e poter fare così esperimenti più rapidi e interattivi...

Velociraptor - 28/2/2019
Stanotte ho avuto per la prima volta un incubo con i velociraptor!

Ero nella casa degli zii di Pisa (*1) insieme a molte altre persone mentre i velociraptor erano tutti intorno e cercavano di entrare dalle finestre. Qualcuno ci riesce e sbrana dei malcapitati; uno ha la cattiva idea di attaccarmi così gli sfascio una sedia in testa e, non contento, lo strangolo…
Siccome la situazione è insostenibile si decide di fuggire: la cosa buffa è che si usa una specie di vagone da montagna russa che dal terzo piano (è una casa grande) arriva sul muro che separa il giardino dalla strada. Io ne approfitto per tirare una pedata a un velociraptor che saltava per prenderci. Poi saltiamo in strada e iniziamo a correre: i velociraptor sono infatti chiusi dentro ma in qualche modo so che sull’altro lato del giardino c’è un’apertura dalla quale possono passare, quindi il nostro vantaggio è di pochi minuti…

Mi sembra che poi accadesse qualche altra cosa di interessante ma adesso non la ricordo più: ah, dei bagni e una storia d’amore “strana”…

Nota (*1): da bambino tutti i miei incubi erano ambientati nella casa dei nonni: dai venti anni in su sono incomprensibilmente passato alla casa degli zii!!

Basta!! - 1/3/2019
Terzo tentativo e terzo fallimento…
Stavolta ho tentato con 3 strati di 45 nodi ciascuno ma Keras si è bloccato alla fine della settima epoca.

È frustrante perché non ho modo di capire da che cosa dipenda: per il prossimo tentativo proverò a reinserire il testo di Shakespeare ma non vedo come possa essere quello il problema...

Velociraptor 2 - 2/3/2019
A proposito di coincidenze: ieri, il giorno dopo il mio sogno (v. il corto precedente), Netflix ha reso disponibili le prime tre pellicole della serie “Jurassic Park”!

Ho così riguardato il primo film: mi sembra che regga bene al tempo! È leggermente lento in alcune scene ma molti passaggi sono ancora emozionanti. Le texture di alcuni dinosauri sembrano leggermente sfocate e con i colori sbagliati ma considerata l’epoca fecero un lavoro incredibile…

È buffo come grazie a questa pellicola (quasi) tutti oggi sappiano cosa sia “l’effetto farfalla”!

PS: I velociraptor del mio incubo erano più piccini!

sabato 23 febbraio 2019

Conclusione esperimento

Ieri ho concluso il pezzo Esperimento effettivo un po’ bruscamente: oggi ne approfitto per aggiungervi qualche appunto in ordine sparso…

Come avrete notato nel codice tendo a commentare le linee che non mi servono invece di cancellarle: lo faccio perché così mi restano utili mnemonicamente e, comunque, spesso potrebbero anche riservirmi.

Nelle mie ricerche con Google di solito uso il primo suggerimento che mi viene restituito. Poi ci sono dei siti che ormai conosco come affidabili (tipo StackOverflow) e che quindi catturano prima il mio sguardo. In genere credo che sia molto importante usare le giuste chiavi di ricerca e, forse, sapere cosa aspettarsi: in molti degli esempi di ieri sapevo già cosa cercavo, solamente non mi ricordavo dei dettagli tecnici o non ne conoscevo la specifica sintassi: in questi casi probabilmente qualsiasi collegamento sarebbe andato bene…

Non ricordo se ho già scritto in altri pezzi, magari anche di diversi anni fa, la mia giaculatoria contro l’XML. In breve: incontrai l’XML per la prima volta alla fine degli anni ‘90 (all’epoca credo che fosse abbastanza nuovo) e subito rimasi perplesso dalle complicazioni aggiuntive che ne comporta l’uso. Alcuni miei colleghi però me ne esaltarono le caratteristiche (facilita lo scambio dei dati, essendo un archivio di testo lo si può modificare manualmente, è possibile verificarne formalmente la correttezza strutturale e, probabilmente, altro ancora che non ricordo…). All’epoca era così di moda che veniva usato da tutte le parti: un programma aveva bisogno di un archivio dove memorizzare alcune impostazioni? Lo si faceva in XML…
Devo ammettere che, pur se tutt’altro che convinto, anch’io lo usai per alcuni miei progetti.
Mi accorgo però in questi anni che gli sviluppatori indipendenti che scrivono i giochi che acquisto su Steam ormai non usano praticamente mai l’XML preferendogli in genere JSON (un formato anche questo di testo, molto più leggero e facile da usare che invece ebbe da subito tutta la mia simpatia).
Ci ho ripensato anche stanotte durante un’ora di insonnia e credo che l’unico ambito dove l’XML può avere un suo senso e dove si vogliano poter scambiare dati e metadati fra programmi indipendenti come appunto Wordpress e Blogger: ma anche in questo caso ho qualche dubbio se ne valga la pena oppure se sarebbe più pratico accordarsi su un formato diverso (non in XML)…
Chiaro che il preesistente ormai lo si mantiene in XML.

Pensavo a quali siano state le mie difficoltà a scrivere un programmino di 20 linee:
1. non ricordavo/conoscevo sintassi Python
2. non conoscevo libreria minidom
3. non conoscevo il formato XML con cui viene esportato il ghiribizzo
4. non avevo un editore di XML che mi permettesse di visualizzare facilmente la struttura del mio archivio: avrei risparmiato un po’ di tempo ad esempio evitando di cercare di distinguere fra loro i nodi genitore…
Nel complesso direi quindi di essermela cavata egregiamente e infatti “saper fare le cose senza saperle fare” è stato sempre un mio pregio: molto apprezzato in informatico dove, a causa della continua e frenetica innovazione, non si può mai sapere tutto...

Ieri sera, tornato a casa, ho poi terminato il programmino seguendo la traccia di algoritmo con cui avevo chiuso il pezzo precedente.
Non ho avuto grossi problemi: immaginatevi altre 5 o 6 facili ricerche su Google!
Il risultato è il seguente:
1:  from xml.dom import minidom  
2:  import re  
3:  xmldoc = minidom.parse('TestiKGB.xml')  
4:  itemlist = xmldoc.getElementsByTagName('entry')  
5:  #print(len(itemlist))  
6:  testi=[]  
7:  dizio={}  
8:  for s in itemlist:  
9:    flag=False  
10:    for c in s.childNodes:  
11:      if(c.nodeName=="category" and c.getAttribute("term")=='http://schemas.google.com/blogger/2008/kind#post'):  
12:        flag=True  
13:        #if(c.getAttribute("term") in dizio):  
14:        #  dizio[c.getAttribute("term")]=dizio[c.getAttribute("term")]+1  
15:        #else:  
16:         #  dizio[c.getAttribute("term")]=1  
17:    if(flag):  
18:      for c in s.childNodes:  
19:        if(c.nodeName=="content"):  
20:          testi.append(c.firstChild.nodeValue)  
21:  print(len(testi))        
22:  testi.reverse()  
23:  #print(testi[1])  
24:  #dopo=re.sub('<br />', '\n', testi[1])      
25:  #dopo=re.sub('<[^<]+?>', '', dopo)      
26:  #print(dopo)  
27:  with open("PezziKGB.txt", "w") as text_file:  
28:    for t in testi:  
29:      dopo=re.sub('<br />', '\n', t)      
30:      dopo=re.sub('<[^<]+?>', '', dopo)      
31:      print(dopo, file=text_file)  

Ora non ho voglia di commentare linea per linea (chi fosse interessato a qualcosa in particolare può comunque chiedermelo) ma mi limito a far notare le linee commentate dalla 23 alla 26: in pratica prima ho fatto una prova con un singolo pezzo, per verificare che le sostituzioni tramite espressione regolari funzionassero correttamente, e solo successivamente ho riadattato il codice in maniera da trasformare e scrivere su archivio di testo tutti i pezzi.
Alla linea 29 trasformo i <br /> in “ritorni a capo” (cioè ‘\n’) mentre alla 30 rimuovo tutto il restante codice HTML che poteva essere presente nei miei pezzi (come immagini, tabelle, grassetto, etc…). Il codice della linea 30 l’ho copiato da Internet mentre la linea 29 è mia…
La linea 22 è inutile ma mi piaceva avere i miei pezzi ordinati a partire dal primo (anche se poi l’ordine non è proprio corretto e deve seguire qualche altro strano criterio).

Ah, prima di poter usare l’archivio di testo ottenuto dovrò filtrarne via anche i “Corti” perché altrimenti mi ritrovo linee del tipo “TITOLO – DATA” che non hanno senso nell’ottica dell’uso che voglio farne.

Non credo che ripeterò l’esperimento di raccontare passo passo come scrivo un programma perché, come previsto, mi rallenta troppo e mi fa perdere concentrazione passare continuamente da un’attività all’altra. Però questa esperienza è stata comunque divertente e sono contento di averla fatta: mi pare che renda abbastanza bene l’idea di come lavori nella pratica un informatico (sebbene estremamente impreparato come me!) messo di fronte a problemi nuovi.

Conclusione: è triste ammetterlo ma il migliore amico del programmatore non è il cane ma Google.

venerdì 22 febbraio 2019

Esperimento effettivo

Come anticipato in Introduzione esperimento oggi voglio raccontare passo passo i miei sforzi orientati sull’obiettivo finale di ottenere una rete neurale che scriva testi basati sul modello dei miei pezzi.

Il primo passo che devo portare a termine per raggiungere tale obiettivo è quello di acquisire in Python i miei testi.
Fortunatamente come amministratore del mio ghiribizzo posso ottenere automaticamente in un unico archivio in formato XML tutto quanto ho pubblicato.
Dovrò quindi estrarre dall’archivio XML solo i dati, ovvero i testi, che mi interessano.
Gli approcci possibili che mi vengono in mente sono due: il primo, forse inizialmente più rapido e semplice è quello si scorrere l’archivio XML come fosse un unico testo, riconoscere i marcatori che individuano i miei pezzi ed estrarli. Il secondo approccio è quello di “parserizzare” opportunamente tale archivio usando una qualche apposita libreria che non conosco ma che di sicuro esisterà.
Questo secondo metodo, forse inizialmente più complicato, ha però il vantaggio di darmi poi, se necessario, maggiore flessibilità: ad esempio potrei decidere di eliminare dall’allenamento della rete neurale i pezzi marcati come “Corti” oppure “Poesia”, o magari basarmi sulla data di creazione…
Inoltre mi pare più educativo anche per i miei lettori usare questo approccio… Osinga invece userebbe il primo, compattando in due linee di codice quello per cui a me ne serviranno venti!

Vabbè… adesso mi scarico l’archivio…
Ecco, ora ho un archivio XML di 20,7Mb che mi copio (rinominandolo “TestiKGB.xml”) in una cartella di lavoro.
E ora mi cerco la libreria che faccia al caso mio: la mia paura è che ci sia troppa scelta o che trovi qualcosa complicatissimo da usare… vabbè, vedremo…

Cerco su Google “Python XML”.
Il mio occhio è stato attirato da: How do I parse XML in Python?

Problema inatteso: mentre sfogliavo l’articolo precedente ho deciso di dare un’occhiata alla struttura del mio archivio XML. E ho problemi ad aprirlo perché è troppo grosso!
Di solito apro i back-up del mio ghiribizzo usando Chrome che però mi nasconde la struttura sottostante dell’XML che invece è quella che mi interessa adesso.
Ho provato quindi a usare un semplice editore di testi (pluma) ma l’archivio è troppo grande è il programma non risponde più…
Ora cercherò di usare qualche altro programma oppure mi scaricherò un editore per XML..

Ok. Cerco su Google “XML editor”.
In XML editor for linux ho trovato un accenno a usare “less”: si tratta di un comando da CLI che permette di scorrere testi fornito di sistema.
Beh, è un incubo perché l’archivio XML non ha ritorni a capo e mi riempie quindi l’intero schermo senza soluzione di continuità…
Comunque sforzandomi gli occhi ho capito che quello che mi interessa sono i nodi “content” dentro i nodi “entry” (il problema è che ci sono molti altri metadati e che non è facile leggere il contenuto dell’archivio con less proprio a livello ottico).

Torno alle librerie XML per Python…
Come immaginavo ci sono varie possibilità. Scelgo quella con l’esempio che usa “minidom” (mi rassicura il prefisso “mini”!).
Copio modificando e commentando il frammento di esempio fornito:
1:  from xml.dom import minidom  
2:  xmldoc = minidom.parse('TestiKGB.xml')  
3:  itemlist = xmldoc.getElementsByTagName('entry')  
4:  print(len(itemlist))  
5:  #print(itemlist[0].attributes['name'].value)  
6:  #for s in itemlist:  
7:    #print(s.attributes['name'].value)  

Con mio stupore, dopo pochi secondi, mi viene stampato il risultato 3005 che dovrebbe corrispondere al numero totale dei miei pezzi.
Ora controllo…
No (sigh!) i miei pezzi sono 2405 comprese 6 bozze non pubblicate. Il problema sicuramente è che il nome del nodo “entry” non è usato solo per identificare i miei articoli ma anche altre entità. Così come i nodi “content” sono usati per il testo vero e proprio e per una miriade di altre cose.
Adesso devo scorrere dolorosamente (per i miei occhi) l’archivio XML e trovare come si chiama il nodo che contiene tutti i nodi “entry” del ghiribizzo. Poi dovrò vedere di capire come usare minidom per scorrere solo il contenuto di un nodo: ma facciamo un passo per volta…

Ora vado a mangiare!

Contrordine: credo che sia più utile scoprire come leggere il padre di un nodo usando minidom e poi filtrare in base ad esso.
Cerco su Google “Python minidom parent”.
Primo risultato: xml python parsing get parent node name : minidom.

Spizzico dall’esempio il frammento di codice che mi interessa…
Bene: print(listItem[0].parentNode.nodeName) stampa “feed”.
Adesso voglio però trovare l’elenco completo di tutti i nodi genitori dei 3005 nodi “entry” in maniera da capire quali filtrare via.
Potrei semplicemente stamparli tutti e, manualmente, identificare come si chiamano i nodi genitori dei nodi “entry” riferiti ai pezzi del ghiribizzo.
A scopo educativo voglio però usare un dizionario Python che mi indichi per ciascun nodo genitore il numero delle sue occorrenze. Ovviamente dei dizionari Python non ricordo niente se non che esistono, quindi: cerco “python dictionary keys”

Trovo How to use dictionaries in Python.
Aggiorno il mio programmino in questa maniera:
1:  from xml.dom import minidom  
2:  xmldoc = minidom.parse('TestiKGB.xml')  
3:  itemlist = xmldoc.getElementsByTagName('entry')  
4:  print(len(itemlist))  
5:  print(itemlist[0].parentNode.nodeName)  
6:  #print(itemlist[0].attributes['name'].value)  
7:  dizio={}  
8:  for s in itemlist:  
9:    dizio[s.parentNode.nodeName]=dizio[s.parentNode.nodeName]+1  
10:    #print(s.attributes['name'].value)  
11:  print(dizio)  

Ma…
L’istruzione 9 mi dà l’errore «The debugged program raised the exception unhandled KeyError
"'feed'"». Evidentemente la mia sintassi è sbagliata.
Come al solito cerco su Google: “Python unhandled KeyError”
Trovo: Wiky.Python.org KeyError

In pratica fallisce il membro destro dell’assegnamento: dizio[s.parentNode.nodeName] non è definito mentre io speravo che ritornasse 0. Vabbè, devo solo scoprire come testare se una chiave è già presente nel dizionario…

ah! è facile: era già spiegato in How to use dictionaries in Python.
Aggiorno opportunamente il mio codice…
1:  from xml.dom import minidom  
2:  xmldoc = minidom.parse('TestiKGB.xml')  
3:  itemlist = xmldoc.getElementsByTagName('entry')  
4:  print(len(itemlist))  
5:  print(itemlist[0].parentNode.nodeName)  
6:  #print(itemlist[0].attributes['name'].value)  
7:  dizio={}  
8:  for s in itemlist:  
9:    if(s.parentNode.nodeName in dizio):  
10:      dizio[s.parentNode.nodeName]=dizio[s.parentNode.nodeName]+1  
11:    else:  
12:      dizio[s.parentNode.nodeName]=1  
13:    #print(s.attributes['name'].value)  
14:  print(dizio)  

Funziona!
Ma il risultato è un frustrante: {'feed': 3005}
Cioè tutti i nodi “entry” hanno un nodo genitore che si chiama “feed” mentre io speravo in qualcosa di diverso che mi permettesse di distinguire gli “entry” che contengono gli articoli del mio ghiribizzo dalle altre entità…
Ora, al volo provo a vedere il nome del “nonno” (s.parentNode.parentNode.nodeName) altrimenti devo riscorrere l’archivio XML e vedere se l’informazione che mi interessa è nascosta in qualche tag interno…

Sfortunatamente il tentativo “al volo” sui “nonni” mi ha restituito 3005 “#document” che suona un po’ come qualcosa di convenzionale per indicare che sono già al livello base dell’archivio XML.

Uffa… Mi tocca ritornare a sbirciare l’archivio XML…
Sbirciando la struttura dell’archivio ho scoperto che all’interno di un nodo “entry” ci sono vari nodi “Category” che contengono svariate informazioni all’attributo “term” come, ad esempio, i marcatori dell’articolo e se il relativo nodo “content” sia un pezzo o no.
Quindi: adesso devo scoprire come trovare i figli di un nodo in minidom e leggerne gli attributi…
Cerco su Google: “Python minidom child”

...e leggo Python minidom: list childnode attributes per parent tag
Trovo le parole chiave che mi interessano: childNodes e getAttribute('id')

Quindi rimodifico il mio codice per ottenere un dizionario con tutti gli attributi “term” dei figli “category” di ogni nodo “entry”. Il risultato dovrebbe essere interessante.
1:  from xml.dom import minidom  
2:  xmldoc = minidom.parse('TestiKGB.xml')  
3:  itemlist = xmldoc.getElementsByTagName('entry')  
4:  print(len(itemlist))  
5:  #print(itemlist[0].parentNode.nodeName)  
6:  #print(itemlist[0].attributes['name'].value)  
7:  dizio={}  
8:  for s in itemlist:  
9:    for c in s.childnodes:  
10:      if(c.nodeName=="category"):  
11:        if(c.getAttribute("term") in dizio):  
12:          dizio[c.getAttribute("term")]=dizio[c.getAttribute("term")]+1  
13:        else:  
14:          dizio[c.getAttribute("term")]=1  
15:  print(dizio)  

Come temevo ho un nuovo errore ma non del genere che mi aspettavo:
«The debugged program raised the exception unhandled AttributeError "'Element' object has no attribute 'childnodes'"»
Cioè se ha un genitore perché non ha figli?

Googlo “Python minidom Element object child”
Leggo: docs.python.org  Element Objects
L’oggetto Element è una sottoclasse di Node e quindi dovrebbe averne tutti gli attributi/metodi. Vado a controllare la documentazione per Node e childNodes è presente…
Uhm… ho capito: avevo sbagliato a scrivere, mi ero dimenticato la “N” maiuscola in “chilnodes” alla linea 9!
Corretto l’errore ottengo questo risultato (ne riporto solo la parte iniziale):
3005
{'http://schemas.google.com/blogger/2008/kind#template': 1, 'http://schemas.google.com/blogger/2008/kind#settings': 57, 'esperimento': 10, 'http://schemas.google.com/blogger/2008/kind#post': 2405, 'Python': 5, 'reti neurali': 5, 'codice': 21, 'problema': 97, 'scienza': 11, 'libro': 259, 'epitome': 88, 'amore': 34, 'amico': 52, 'aneddoto': 57, 'storia': 87, 'frasi': 139,


Dove 3005 è il numero di nodi “Entry” mentre, fra parentesi graffe, è riportato il contenuto dell’attributo “term” dei vari nodi “category” figli dei diversi “Entry”.
Come previsto vi sono le occorrenze dei vari marcatori e, soprattutto, esattamente 2405 (BINGO!), nodi “Category” con attributo “term” uguale a “http://schemas.google.com/blogger/2008/kind#post”.
Quindi adesso posso trovare facilmente i nodi “Content” contenenti il testo dei miei articoli “facilmente”.
1. carico tutti i nodi “Entry”
2. scarto tutti i nodi “Entry” che NON abbiano un figlio “Category” con attributo “term” pari a “http://schemas.google.com/blogger/2008/kind#post” (*1)
3. Dei nodi Entry rimasti mi salvo in un archivio di testo il contenuto del nodo figlio “content”.

Poi questo nuovo archivio andrà ulteriormente elaborato eliminando o sostituendo le varie entità HTML che non ci interessano. Quella sarà probabilmente l’opportunità per usare le espressioni regolari in Python…

Ma per adesso, siccome devo uscire, ne approfitto per smettere qui…

Conclusione: bo… ancora devo decidere se è valsa la pena di fare questo doppio lavoro… però dà una buona idea del mestiere dell’informatico: ovviamente io sono molto scarso, qualcuno più esperto di me avrebbe saputo la maggior parte delle informazioni senza doverle cercare tutte su Google… ma, insomma, qualche ricerca l’avrebbero fatta tutti, forse eccetto Osinga che, invece delle mie 15, avrebbe usato solo 2 o 3 linee di codice!

Nota (*1): volendo qui potrei anche facilmente eliminare tutti i pezzi con marcatore “Corto” o “Poesia”...

giovedì 21 febbraio 2019

Introduzione a esperimento

Oggi voglio tentare un esperimento anche se sono abbastanza sicuro che fallirà…
Due giorni fa ho finalmente ripreso in mano il libro Deep Learning Cookbook di Douwe Osinga: ero arrivato al capitolo 5, dove si insegna a una rete neurale a generare testi casuali sullo stile di uno specifico autore (Shakespeare, nell’esempio fornito).
La stessa tecnica può poi venire usata per generare nomi casuali o magari ricette, etc…

Curiosamente anch’io in passato mi ero scritto dei programmi per ottenere nomi casuali partendo da dei nomi reali: senza saperlo avevo usato delle tecniche che ricordano le catene markoviane, basate cioè sulla sola statistica. In pratica fornivo al calcolatore i diversi nomi già divisi in fonemi e costruivo una struttura dove, partendo da un fonema, si poteva raggiungere tutti i fonemi che negli esempi lo seguivano. Percorrendo poi questa struttura in maniera casuale (con certe correzioni basate sulle relative frequenze dei diversi fonemi) ottenevo dei nomi completi che, spesso, suonavano piuttosto realistici.
Usando una tecnica analoga avevo anche realizzato un programma in cui inserendo il testo di email (ma avrei potuto usare qualsiasi testo) veniva costruita una struttura in cui per ogni parola (non fonema) era possibile trovare tutti i possibili termini che negli esempi forniti la seguivano.
Anche con poche email (una decina o meno) il risultato era molto divertente: si ottenevano dei testi assurdi ma che ricordavano, spesso abbastanza chiaramente, lo stile dell’autore degli esempi.
Curiosamente Gmail riconosceva e marcava come spazzatura queste creazioni automatiche e così mi ci volle un bel po’ per capire come mai i miei amici non ricevessero le buffe creazioni…

La tecnica di Osinga ricorda fortemente il precedente approccio ma la cosa stupefacente è che fornisce in pasto alla rete neurale carattere per carattere l’intera opera di Shakespeare: la rete neurale viene perciò addestrata a prevedere, dato un carattere, quale sarà il successivo. Reiterando il processo si ottengono testi di lunghezza arbitraria.
Lo trovo stupefacente perché usando ad esempio la “mia” tecnica otterrei solo delle parole casuali che ricordano vagamente l’inglese e frasi conseguentemente senza senso.
Invece la rete neurale fornisce dei testi estremamente realistici SENZA introdurre parole non esistenti…

Comunque la mia lettura è stata decisamente inconcludente: Osinga è sempre più criptico e fornisce solo poche briciole sulla teoria usata. Il suo Python è poi il solito incubo di concisione.
Oltretutto quando ho provato l’esempio fornito non sono riuscito a terminare l’addestramento della rete neurale perché richiedeva troppo tempo (o forse c’era qualcosa che non andava?) e dopo una trentina di minuti in cui non vedevo progressi l’ho bloccato.

Quindi in questo caso ho due problemi: il primo è teorico, ovvero cercare di capire perché ha usato una specifica rete composta proprio da quegli strati, di quella esatta dimensione etc…
Per fare questo dovrò esaminare i vari costrutti di Keras e capire quello che fanno basandomi sulla relativa documentazione. Operazione noiosa dalla quale otterrò probabilmente tanti nuovi dubbi quante risposte trovate.
Il secondo problema è la solita difficoltà a comprendere tecnicamente il linguaggio Python: cioè il codice semplice e lineare lo capisco già ma Osinga in una linea di codice ne comprime 3 o 4 aumentando però esponenzialmente la difficoltà di comprensione per il lettore…
Veramente un libro frustrante da questo punto di vista!

Nel mio ultimo pezzo sulle reti neurali, dove anticipavo questo capitolo, accennavo al fatto che volevo modificare il codice fornito da Osinga per generare frasi basate non su Shakespeare ma sui pezzi del mio ghiribizzo (o forse, visto che non ho ritrovato l'articolo in questione, avevo solo PENSATO di farlo!).

L’esperimento odierno consiste proprio in questo, cioè nella sua prima tappa: estrarre, usando Python, il testo dei miei scritti da Blogger.
L’idea odierna è quella di riportare “in diretta” quello che faccio su questo articolo in maniera poi da ottenere una descrizione realistica dei miei progressi perché, inevitabilmente, conterrà anche molti vicoli ciechi, ovvero farò anche molti tentativi ed esperimenti infruttuosi…
Il problema di questo approccio è che rallenterà moltissimo il mio lavoro sia frammentandolo che distraendomi: credo quindi che proverò oggi, così per curiosità, ma che difficilmente lo ripeterò.

L’obiettivo è triplice: da una parte familiarizzarmi con Python (cosa di cui ho estremo bisogno e per riuscirci devo fare pratica scrivendo codice per mio conto) dall’altra fare un passo nella direzione di ottenere una rete neurale basata sui miei testi e, infine, produrre un pezzo diverso dal solito e forse, incuriosire e divertire i miei lettori con i miei sforzi inani…

Conclusione: già questa sola premessa mi ha preso già un bel po’ di tempo. Ho deciso quindi di pubblicare separatamente questa introduzione e di incominciare il lavoro vero e proprio in un nuovo pezzo: magari se riesco a finirlo oggi lo pubblicherò subito spostando a ieri la data di questo…

lunedì 18 febbraio 2019

Programmino ino ino

Oggi (finalmente!) avevo voglia di rimettermi a studiare le reti neurali però mi è presa la paura di non ricordarmi più niente di Python: per me il problema di imparare un nuovo linguaggio di programmazione non è tanto capire i diversi costrutti ma mettere in pratica le nozioni acquisite.
E io in tutti questi giorni non avevo più neppure pensato al Python!

Così ho deciso di provare scrivere un semplice programmino che mi fosse utile. Il gestore del salvaschermo di Linux Mint 19 è molto potente perché, in pratica, riunisce insieme un centinaio di diversi salvaschermi tutti più o meno configurabili.
Fra le varie impostazioni è possibile inserire anche un programma che ritorni una frase casuale che sarà poi visualizzata da tutti i salvaschermi che usano un testo. Normalmente è preimpostato il comando “fortune” che, eseguito da CLI, restituisce delle frasi casuali in inglese. Io però volevo usare le “mie”…

Nel corso degli anni mi sono infatti copiato in un archivio di testo gli esempi di utilizzo delle parole che imparo a memoria con ANKI (*1). Ovviamente solo le frasi che al mio orecchio suonavano poetiche o buffe…

L’idea era quindi scrivere un programmino in Python che si caricasse in memoria il mio archivio e poi ne estraesse a caso una frase: insomma una vera e propria banalità…

Il problema è che di Python già non mi ricordavo più niente!
Fortunatamente ho una certa pratica di programmazione e, soprattutto, esiste Google: in pratica me la sono cavata mettendo insieme il risultato di tre ricerche; di seguito le pagine trovate:
1. Come caricare linea per linea un archivio in una lista
2. Come trovare la dimensione di una lista in Python
3. Numeri casuali in Python

Mettendo insieme gli esempi raccolti (in pratica di Python mi ricordavo solo il comando “print”!) su queste pagine ho scritto il seguente programmino:
1:  import random  
2:    
3:  with open("/dati/Codice/Python/PitoneIDE/Frasi.txt") as f:  
4:    content = f.readlines()  
5:  content = [x.strip() for x in content]  
6:    
7:  nfrase = random.randint(0, len(content)-1)  
8:  print(content[nfrase])  

Insomma una vera e propria banalità!
Poi ho copiato l’archivio di questo programma (frasi.py3) in una cartella del PATH di linux (*2), ovvero in ~/.local/bin e, magia, scrivendo frasi.py3 da terminale, in qualunque cartella fossi, non funzionava più nulla!!

Per la precisione ottenevo questo fantastico risultato:
 igrino@SchiavaTwo:~/.local/bin$ frasi.py3  
       
   
   
 import-im6.q16: not authorized `random' @ error/constitute.c/WriteImage/1037.  
 /home/igrino/.local/bin/frasi.py3: line 6: syntax error near unexpected token `('  
 /home/igrino/.local/bin/frasi.py3: line 6: `with open("/dati/Codice/Python/PitoneIDE/Frasi.txt") as f:'  
   

Fortunatamente sono anche abituato a risolvere queste piccole difficoltà tecniche…
Prima ho provato a cercare su Google l’errore “not authorized `random'” aggiungendoci le chiavi “linux Python”. Ho dato una rapida occhiata ai collegamenti suggeritimi da Google ma mi sono immediatamente reso conto che il mio problema doveva essere un altro…
Subito dopo mi sono ricordato che gli script su linux hanno tutti uno strano inizio con questi caratteri: #!
Allora ho cercato su Google: “script Python linux header” e ho letto questa pagina: Python script header.

Ho capito allora cosa succedeva: il terminale ignorava l’estensione .py3 e interpretava il mio programmino Python come se fosse scritto in un altro linguaggio e, ovviamente, i messaggi di errore non avevano senso.
Per risolvere il problema è stato quindi sufficiente aggiungere la linea iniziale:
#!/usr/bin/python3

grazie a questa linea il terminale “capisce” che l’archivio contiene un programma in Python da lanciare tramite il comando indicato. In pratica quando adesso scrivo sul terminale “frasi.py3” viene eseguito “/usr/bin/python3 frasi.py3”.

Ah! per onestà aggiungo anche di aver scoperto l’acqua calda: chiunque abbia un minimo di esperienza di linux dovrebbe conoscere lo shebang, ovvero la strana linea iniziale sullodata: ma io sfortunatamente, da un punto di vista di conoscenze prettamente tecniche, sono una capra…

Comunque ho poi inserito nelle impostazioni del gestore del salvaschermo il mio programmino e ha subito funzionato benissimo come si vede nella seguente schermata di prova di “StarWars”:

Conclusione: l’insegnamento che si dovrebbe trarre da questo pezzo non è tanto come scrivere un programma stupido di poche linee in Python ma che l’informatica è una congerie di problemi tecnici dove però basta aver pazienza e cercare su Google per riuscire a risolvere il 99% delle difficoltà incontrate...

Nota (*1): non ho voglia di inserire i relativi rimandi ai pezzi in cui ne ho scritto: chi è interessato usi il marcatore “Memoria” per trovarli!
Nota (*2): ovvero in una delle cartelle (sono più di una: per l’elenco completo basta scrivere, senza virgolette, dal terminale: “echo $PATH”) dove Linux va a cercare gli eseguibili dei programmi inseriti tramite CLI.

domenica 17 febbraio 2019

Varie di scienza

Senza voler scrivere un lungo papiro sintetizzando frettolosamente tutto quanto ho letto in Scienza e democrazia di Maria Luisa Villa, (E.) Guarini e Associati, 2018 (sono al quarto capitolo) riporterò solo alcuni concetti che mi hanno colpito.

L’importanza di Galileo Galilei è fortemente sottovalutata: non si comprende a pieno la novità totale delle sue teorie sulla scienza perché queste sono diventate ormai la nostra norma e, proprio per questo, ci appaiono banali e ovvie. Ma all’inizio del XVII erano assolutamente innovative…
Con bassa priorità voglio prendere l'impegno di leggermi una biografia sul grande scienziato per saperne di più…

I lettori di questo ghiribizzo conoscono bene la mia “antipatia” per i testi universitari di autori italiani con cui ho avuto a che fare e, contemporaneamente, il mio apprezzamento per la chiarezza per i testi di autori anglosassoni: ebbene, nello statuto della Royal Society (1660), uno dei pilastri della cultura scientifica inglese, si pone l’accento sull’uso di un linguaggio piano, in grado di raggiungere ed essere compreso non solo da uomini di scienza ma anche da artigiani e mercanti.
La stessa idea l’aveva avuta Galileo ma, evidentemente, in Italia per motivi diversi non attecchì (*1).

Isaac Newton è stato un prolifico alchimista!

Nel XVIII secolo acquista grande importanza la classificazione del sapore (Linneo, Lavoisier). Nella spiegazione dei motivi vi ho rivisto molte similitudini con quanto scrissi a difesa dei miei neologismi: v. Definizioni.

Mi piace poi la definizione di “scienza” dell’autrice che essenzialmente si riduce alla ricerca del consenso di come il mondo funzioni.
Io, nell’introduzione all’Epitome, spiego che il suo scopo è «...fornire del materiale e un'interpretazione del mondo e della società su cui riflettere. Sarà chi legge a dover poi spigolare dal campo delle mie idee, guidato dal proprio spirito critico, ciò che ritiene giusto e corretto.»
Notate la differenza?
Io non cerco il consenso ma semplicemente propongo agli altri la mia visione: sono infatti consapevole della natura fondamentalmente ascientifica (ad esempio non ci sono dimostrazioni ma solo tesi!) di quanto ho scritto: considero e prevedo di aver fatto numerosi errori. Questo non significa che la mia opera non abbia valore! Semplicemente deve essere presa per ciò che è: un modello (quindi di per sé imperfetto) interpretativo della realtà. E di nuovo, vedete, che la definizione di scienza ritorna!

Ci sarebbero poi innumerevoli altri spunti degni di nota ma rientrano più prettamente nel percorso storico della scienza che, come spiegato, ho intenzione di rielaborare a parte per inserirlo nell’Epitome. Ancora sto trattenendomi dall’affrontare seriamente la problematica perché voglio terminare la lettura di questo libro e avere così il panorama completo, almeno dal punto di vista dell’autrice.

Nota (*1): suppongo soprattutto per il fatto che l’italiano era già una lingua “colta” e per pochi di per sé, basata sul modello toscano, visto che la maggioranza della popolazione usava i vari dialetti della penisola. In queste condizioni di partenza è molto facile che il linguaggio scientifico tendesse a divenire (rimanere) sempre più per pochi. (Per raggiungere artigiani e mercanti la scienza avrebbe dovuta essere contemporaneamente diffusa in veneto, lombardo, siciliano, etc...)

giovedì 14 febbraio 2019

La lode

Ogni anno, zitto zitto quatto quatto, arriva San Valentino: a me piacerebbe aver qualche bell’aneddoto sentimentale da condividere ma non è così…

Per questo oggi volevo scrivere un pezzo per ricordare invece un episodio di amicizia, legato a un vecchio amore, che mi è molto caro: ovvero il complimento più bello che io abbia mai ricevuto!

All’epoca, ormai oltre vent’anni fa (sigh!), ero profondamente innamorato di una ragazza che, ovviamente, mi considerava come una cacca di piccione sul parabrezza dell’auto: qualcosa che si preferirebbe non vedere e che si sopporta a malapena solo se non è nel mezzo del campo visivo, in caso contrario si cerca di eliminarlo il più rapidamente possibile spruzzando il liquido detergente e azionando i tergicristalli…

Io però ero molto romantico e pertinace: mi pareva impossibile che, parafrasando Dante, amore non richiamasse amore. Pensavo che le pellicole romantiche, dove alla fine l’amore trionfa sempre, avessero un fondo di verità. Non so, forse c’era anche un bel po’ di presunzione da parte mia: mi sembrava semplicemente impossibile che il mio amore non venisse corrisposto.
Immaginatevi poi che ogni mio pensiero, dal mattino alla sera, non era mai troppo lontano da lei: meditavo quindi continuamente su ogni sua parola, su ogni suo gesto, su ogni suo sguardo e riuscivo a ricombinare tutto insieme tirando fuori delle teorie strampalate che di volta in volta, per motivi diversi, riuscivano a darmi speranza.

Ah! non immaginatevi che io fossi una specie di stalker ante litteram: quando mi disse di non scriverle subito ubbidiente cessai, quando mi disse di non telefonarle smisi di farlo; del resto non l’ho mai seguita anche se contavo sulla serendipità per incrociarla al mattino. Di positivo c’è che non mi disse mai (fortunatamente) di non farmi vedere altrimenti sarei scomparso!

I “danni collaterali” di questa mia infausta passione li subirono però due persone: una mia cugina e l’amico di cui poi (con calma!) racconterò l’aneddoto che lo vede protagonista.
A fine giornata infatti scrivevo a entrambi dei lunghi resoconti descrivendo dettagliatamente tutto quanto era successo, le mie speranze, le mie ipotesi e le mie speculazioni più favolose: e c’è da dire che queste mie teorie elaborate col massimo impegno dalla mia intelligenza, intuizione e memoria erano piuttosto coerenti. Non avevo nessun problema a controbattere a ogni obiezione sulla loro consistenza che mi veniva mossa. Erano teorie improbabile ma non impossibili che però la mia ingenua speranza trasformava in possibilità realistiche.

La cugina mi dava dei consigli di buon senso che, probabilmente, sarebbero stati proficui per una persona non totalmente imbranata, magari capace di darsi un aspetto almeno nella norma, e dotato di un fisico/faccia decente.
L’amico invece era il mio contrario: dove io ero romantico e impulsivo lui era calcolatore e prudente. Ovviamente non gli davo mai retta ma, col senno di poi, tutti i suoi consigli e pareri erano assolutamente azzeccati.
In effetti mi chiedo perché perdessi tempo a scrivergli le mie vicissitudine (e a fargliene perdere altrettanto nelle loro risposte) se poi comunque facevo di testa mia: non so, forse sconfiggere il loro scetticismo contribuiva a darmi speranza, a rendere reale il nulla.

Comunque, all’epoca dell’aneddoto, ero in una fase dove avevo deciso che, se non le piacevo così com’ero, allora doveva impegnarmi per cambiare. Avevo deciso che la strada migliore da percorrere era cercare di impressionarla positivamente con una qualche attività fuori dall’ordinario. Ora non ricordo alle varie opzioni che pensai ma sicuramente, tanto per darne un esempio, fra queste c’era quella di seguire un corso di paracadutismo…

Mi ritrovai quindi con l’amico a passeggiare (io converso meglio camminando) spiegandogli le mie ultime idee e per decidere poi quale fosse la migliore strada da seguire. Le cose dovettero andare per le lunghe, del resto quando parlavo di lei perdevo il senso del tempo, e mi ricordo che finimmo poi in un localino, da tutt’altra parte della città: l’amico mi aveva ascoltato con (infinita) pazienza, aspettando che sfogassi almeno parzialmente il mio entusiasmo romantico ma poi mi guardò negli occhi e mi disse serio: «Tu sei già una bella persona: sei profondo, ricco di idee e fantasia, intelligente e sensibile. Non devi assolutamente cercare di cambiare per essere migliore.»

Non so perché gli credetti: fra uomini raramente ci si fanno dei complimenti e lui, estremamente razionale (molto simile a mio padre), non era certamente il tipo che li facesse a cuor leggero. Eppure gli credetti e rimasi senza parole: non credo neppure di aver avuto il buon gusto di ringraziarlo.
Non credo, anzi sono certo di non aver mai ricevuto un complimento che mi abbia dato maggior piacere: perché poi conta anche chi ti dice cosa e, in questo caso, la mia stima nei suoi confronti era (ed è!) altissima. Non aveva motivo di lusingarmi e di solito, infatti, era più propenso alle critiche: per questo la sua lode aveva maggior valore. Al contrario, ad esempio, gli innumerevoli complimenti di mia mamma mi entravano da un orecchio e uscivano dall’altro…

Conclusione: vabbè, spero di non aver annoiato troppo l’incauto lettore ma per me è veramente un bel ricordo del quale vado stranamente fiero, come se fosse una medaglia, una delle poche che abbia mai ricevuto.

mercoledì 13 febbraio 2019

Fine del primo capitolo

Ho finito di leggere il primo capitolo di la Scienza è democrazia di Maria Luisa Villa, (E.) Guerini e Associati, 2018.
Un capitolo veramente ricco di idee interessanti: adesso sono in una fase di “digestione”…

Cerco di spiegarmi: il libro propone una ricostruzione dell’evoluzione storica della scienza, dagli antichi greci fino a Galileo (nei capitoli successivi va oltre) fornendo qua e là delle spiegazioni sul perché dei vari passaggi. Ho avuto la sensazione che questo primo capitolo si basasse molto su vari saggi e articoli; grazie a questo materiale l’autrice costruisce dei subcapitoli che corrispondono a tante sfaccettature diverse dell’argomento affrontato. Qua e là dei passaggi non mi convincono del tutto e allora mi pongo delle domande e faccio ipotesi per rispondermi da solo.
Nel complesso il capitolo riassume il percorso seguito dalla scienza in circa duemila anni e non sempre è chiaro perché prenda una direzione e non un’altra: fuor di metafora non sempre sono spiegate le ragioni storiche del fiorire o del declino della scienza.
L’equazione fra scienza e libertà illustrata nelle prime pagine (v. Dal primo capitolo) non basta a spiegare tutto il percorso successivo.

Ecco, su tutti questi aspetti sto meditando: dopo una cinquantina di pagine sto iniziando a elaborare una teoria interessante e molto più onnicomprensiva per spiegare l’evoluzione della scienza e non solo. Ad esempio oltre alla libertà ho identificato altri quattro fattori determinanti nell’equazione della scienza: ricchezza, comunità di intellettuali, stabilità sociale e volontà politica. Volendo vi si potrebbe aggiungere anche la religione oppure la si potrebbe far rientrare in un aspetto della “libertà”…
Ma su questo non aggiungo altro: voglio ancora lasciar sedimentare queste idee e poi, probabilmente, i prossimi capitoli aggiungeranno nuovi elementi e in essi potrei trovare alcune delle risposte che mi mancano. Insomma credo che per il momento sia più utile continuare nella lettura piuttosto che passare alla rielaborazione dell’informazione raccolta.

Uhmm… come pezzo è un po’ troppo corto e troppo lungo per essere un corto…
Potrei elencare i miei dubbi ma non so quanto senso avrebbe non volendo entrare (vedi sopra) nei dettagli. Però come riferimento potrebbe essermi utile…
Va bene, qui di seguito uno scarno elenco di dubbi e domande:
- Greci: ricordo che i filosofi greci erano contrari alle applicazioni pratiche (vedi poi) e quindi economiche/tecnologiche.
- Epoca ellenistica: conversione della scienza in ricchezza ad Alessandria.
- Epoca ellenistica: perché la conoscenza scientifica rimane limitata ad Alessandria?
- Roma: perché manca comprensione dell’importanza di scienza e tecnologia?
- Cristianesimo: “uccide” la scienza eppure anche la conserva nei monasteri.
- Cristianesimo: separazione fra filosofia e scienza: cosa comporta?
- Cristianesimo: l’astrologia non era molto più antica?
- Islam: ha chiara la relazione fra scienza e tecnologia: allora perché la scienza non si sviluppa ulteriormente? epomiti troppo subordinati alla religione?

Molti dei precedenti punti sottintendono i fattori collegati alla scienza che ho menzionato precedentemente ma, come detto, al momento preferisco non cercare di ricollegare tutto insieme in un’unica teoria.

Nel primo dei punti precedenti, fra parentesi, ho scritto “vedi poi”: il motivo è il solito caso di serendipità. Nel primo capitolo c’è un brevissimo accenno al saccheggio romano di Siracusa del 212 a.C. durante il quale fu ucciso Archimede: il caso vuole che nelle Vite parallele di Plutarco sto proprio leggendo le vicende del generale romano Marcello e, ovviamente, è narrato anche l’assedio di Siracusa, la difesa della città con i marchingegni di Archimede e la morte (assolutamente non voluta da parte di Marcello) del grande scienziato.
Non starò qui a farne un riassunto ma voglio sottolineare due elementi che mi sembrano interessanti:
1. in Plutarco si legge stupore e ammirazione per le macchine di Archimede ma sembra mancare l’intuizione che tali ordigni avrebbero essere potuti copiati e usati altrove anche dai romani. Ipotizzo che Plutarco li considerasse indissolubilmente legati ad Archimede e non ricreabili senza di lui: non frutto di scienza ma “magia” di un uomo.
2. vi è almeno un accenno al disprezzo verso le applicazioni pratiche della scienza. Nel passaggio seguente si spiega che Archimede non mise per scritto come costruire le sue macchine belliche (ma solo teoremi geometrici) perché non riteneva tali progetti abbastanza degni: «Ebbe Archimede tanto alti pensieri, sì profondo intelletto, e sì ricco tesoro di contemplazioni geometriche, che non volle lasciare scrittura alcuna di questa arte [macchine belliche], da cui acquistò gloria e nome non d’umana conoscenza, ma più tosto di divina sapienza: anzi avendo tenuta per vile e per meccanica ogni cognizione che porta utile per metterla in uso, impiegò l’ingegno e lo studio di quelle sole, nelle quali la beltà e l’eccellenza non fusse mista con la necessità.» (*1)

Mi ero lasciato per ultimo lo spunto più interessante. Si tratta di un’idea che mi era venuta in mente giorni fa e di cui avevo accennato nella conclusione di Dall’estremo oriente:
«in realtà volevo concludere con una riflessione sull’importanza del mar Mediterraneo per la comunicazioni e sulla frammentazione dei parapoteri statali per evitare l’effetto di omogeneizzazione e, quindi, lo sviluppo di idee diverse. Insomma il mar Mediterraneo visto nel duplice ruolo di barriera e via di comunicazione.»
Ebbene un accenno a questo tema, che però corrobora la mia intuizione, l’ho letto proprio ieri anche in questo primo capitolo di Scienza è democrazia: qui viene infatti spiegato che la conquista musulmana del nord Africa spezzò l’unità culturale dei paesi del bacino del Mediterraneo portando, in pratica, all’isolamento dell’Europa occidentale e quindi a un’evoluzione indipendente del suo pensiero.
Può sembrare poco o nulla ma per me è un prezioso ingrediente per la teoria che ho in mente e che tenterà di abbracciare anche l’evoluzione storica della scienza…

Conclusione: in genere dopo il primo capitolo il mio entusiasmo va a scemare: vedremo se sarà così anche in questo caso… Comunque un ottimo libro!

Nota (*1): tratto da Le vite parallele di Plutarco, (E.) Salani, 1963, trad. Marcello Adriani.

martedì 12 febbraio 2019

Dal primo capitolo

[E] Per la comprensione completa di questo pezzo è utile la lettura della mia Epitome (V. 1.1.1 "Psicomante Maior").

Ieri, avendo finalmente un po’ meno materiale da leggere, ho iniziato un nuovo vulumetto: Scienza è democrazia di Maria Luisa Villa, (Ed.) Guerini e Associati, 2018.

Ne avevo già accennato in Quattro son pochi dopo aver letto l’introduzione e mi era sembrata un’opera molto interessante e, soprattutto, funzionale (perché ricca di spunti) alla mia Epitome.
Per questo motivo (e anche perché molto più corta!) l’ho fatta passare avanti a Il tramonto dell’euro di Bagnai che dovrà quindi ancora attendere qualche altra settimana…

Comunque ieri sera ho letto qualche pagina del primo capitolo e subito mi sono imbattuto in un concetto molto interessante: perché la scienza, nella sua prima incarnazione antica, è nata proprio in Grecia e non, ad esempio, in Egitto o Cina?
Probabilmente a causa della forma di governo più comune delle città greche: ovvero la democrazia (*1). In breve: la democrazia implica l’attività politica con il problema di dimostrare agli altri le proprie ragioni: proprio questa necessità e abitudine alla logica favorisce la nascita del pensiero scientifico. Per non dire poi di quanto la retorica fosse legata a doppio filo con logica di Aristotele…

In Grecia quindi la conoscenza non è solo accumulata (come era avvenuto, ad esempio, in Egitto) ma era anche messa in discussione: come in politica, iniziavano ad avere più peso le prove a supporto invece che l’autorità e fama di chi proponeva una teoria.

Ovviamente vi erano conflitti col potere religioso che vedeva alcune teorie come blasfeme (per esempio l’origine non divina di molti fenomeni naturali) ma poiché questo potere non era ben strutturato non aveva la forza per imporre le proprie verità religiose.

Nel prossimo sottocapitolo l’autrice affronta l’obnubilamento della scienza antica con la conquista romana della Grecia: immagino che la metterà in relazione con l’autorità indiscussa dell’imperatore; immagino poi che ci sarà un accenno al concetto di auctoritas medioevale (dopotutto anche l’autorità del re non era posta in discussione!) per poi arrivare al rinascimento (riscoperta degli autori greci) e illuminismo. Vedremo!

Comunque trovo assolutamente convincente questa teoria: a differenza dell’autrice non metto in relazione la scienza direttamente con la democrazia (*2) ma con la libertà in tutte le sue forme: di pensiero, di espressione, di critica, etc...

Il concetto che generalizzo da questa affascinante teoria è alla fine piuttosto semplice: gli epomiti ([E] 6.2) non mantengono solo la società stabile ma ne plasmano e indirizzano anche la fantasia e il pensiero, compreso il modo di porsi di fronte a una problematica.
Se gli epomiti del tempo esaltano la libertà ecco allora che questa avrà una notevole importanza anche in altri aspetti della società, come ad esempio nel dibattito scientifico.
Questa è una precisazione che inserirò nell’Epitome…

Conclusione: ottimo libro che ha l’unico difetto di confondere insieme democrazia e libertà. Secondo me il titolo del libro avrebbe dovuto essere "Scienza è libertà"!

Nota (*1): come accennato in Quattro son pochi l’autrice sembra avere una concezione idilliaca della democrazia della quale non vede i limiti e che tende a sovrapporre agli ideali di libertà. Anche dove scrive della democrazia greca, in almeno due passaggi del primo capitolo, sembra volerla idealizzare. In un passaggio scrive “...tutti i cittadini partecipavano personalmente all’assemblea...”, in un altro spiega che le decisioni venivano prese attraverso “la discussione di tutti i cittadini”.
Queste espressioni mi sembrano fuorvianti, non sono un esperto di storia greca, ma ho la precisa sensazione che la democrazia greca fosse più un’oligarchia (immagino legata al censo): uguali, questi sì, fra loro ma non rappresentativi di veramente tutti i cittadini (e ovviamente con l’esclusione delle donne).
Ricordo di aver letto chiaramente (non ricordo dove!) di una differenza sostanziale fra la democrazia della repubblica romana e quella greca: alla democrazia greca partecipavano pochi ma che fra loro erano effettivamente liberi e uguali; in quella romana invece potevano effettivamente partecipare tutti i cittadini (maschi) ma era organizzata in maniera tale (un voto per tribù) che la maggior parte della popolazione era distribuita in poche tribù mentre gli aristocratici erano distribuiti su molte di esse: la conseguenza era che gli aristocratici, sebbene pochi, controllavano più voti della maggioranza della popolazione! (mi è venuto a mente dove lo lessi! Due anni fa in Ultimisstoria 7!)
Nota (*2): La democrazia moderna infatti dà al popolo solo l’apparenza di governare la propria nazione ma in realtà, come spiegato in [E] 11, non è così. Contemporaneamente la libertà individuale sta venendo sempre più compressa e limitata e questo ha, infatti, riflessi evidenti anche nel mondo della Scienza: vedi ad esempio l’assurdo divieto di qualunque ombra di critica ai vaccini imposto ai medici. Oggi l’autorità statale ricorda quella religiosa che nel Seicento metteva i libri all’indice, decidendo di fatto d’autorità quali teorie fossero accettabili e quali no.

lunedì 11 febbraio 2019

Raffinamento di un'idea

[E] Per la comprensione completa di questo pezzo è utile la lettura della mia Epitome (V. 1.1.1 "Psicomante Maior").

Pensavo di aggiungere qualche nota alla mia epitome, però, più ci riflettevo e più mi rendevo conto che le relazioni fra i vari elementi erano più complesse di quanto sembrasse inizialmente.
Allora ho deciso di mettere prima qui, nero su bianco, le mie idee: mi aiuta infatti a metterle a fuoco e a inquadrarle meglio.

Il rovescio della medaglia è che questo pezzo non sarà ben strutturato perché anch’io so solo da dove parto ma non dove giungerò: è un po’ come se scrivessi i miei pensieri quando ancora non ho un’idea chiara della problematica che affronto…

La riflessione da cui sono partito è l’ipotesi che il limite dell’inadeguatezza morale ([E] 1.1) sia alla base di delinquenza e criminalità.
L’uomo non è l’essere ideale che si illude di essere ma ne è una versione molto più gretta e meschina. In particolare raramente opera secondo la ragione ma si fa invece volentieri trascinare da tutta una serie di passioni che ne distorcono il giudizio.
E sono quindi arrivato alla seguente conclusione:
1 È proprio quando il singolo privilegia il proprio interesse rispetto a quello degli altri che si ha il fenomeno criminale.

Poi però ci ho ripensato: che il singolo privilegi il proprio interesse è normale (si tratta della semplice applicazione delle leggi del potere, [E] 5.1 e 5.2, al singolo individuo) e di per sé non è certo un crimine.
Così ho riformulato 1 in:
2. È proprio quando il singolo privilegia il proprio interesse a danno di quello degli altri che si ha il fenomeno criminale.

In altre parole il criminale danneggia direttamente o indirettamente gli altri per il proprio interesse particolare.
Ma anche questa definizione non mi convinceva completamente: dopotutto, ad esempio, anche delle grandi organizzazioni, come possono essere le società di telecomunicazioni, danneggiano i propri clienti imponendo loro i costi di cessazione del servizio spesso totalmente ingiustificati ma ai quali il singolo cittadino non può sottrarsi.
Mi obietterete notando che questo comportamento delle compagnie telefoniche è completamente legale. Ma questo non è il punto: come spiego in [E] 18, la legalità ha poco a che vedere con la giustizia e la moralità.
Il fatto che un’attività sia legale non significa che non sia immorale ma solo che non viene sanzionata dalla società.

In altre parole la differenza fra l’individuo che per fare il proprio interesse danneggia altri individui e il parapotere economico che danneggia (legalmente) i propri clienti non è qualitativa ma solo formale e quantitativa (*1).
La differenza è solamente che una pratica è tollerata e permessa mentre l’altra no.

I motivi sono molteplici.
Un piccolo furto di qualche decina di euro, per quanto seccante, è tollerabile dalla stragrande maggioranza delle famiglie: la società non ne viene destabilizzata. Al contrario se le case svaligiate fossero la norma allora la società entrerebbe in crisi e non potrebbe funzionare con questa costante spada di Damocle sulla propria testa.
Inoltre bisogna ricordarsi che il potere politico collabora attivamente con i parapoteri economici in maniera tale che spesso le leggi da questi redatte sono, almeno parzialmente e mai apertamente, a svantaggio della democratastenia ([E] 4.4).
Lo scopo dell’insieme delle leggi di uno stato è quindi quello di: 1. garantire la stabilità sociale; 2. proteggere e garantire i potenti (in particolare permettendogli di divenire ancora più forti/ricchi facilmente) a scapito della popolazione/democratastenia; 3. inseguire, normandola, la moralità dell’epoca (alla fine si tratta di uno specifico insieme di epomiti).

A questo c’è da aggiungere che la moralità è almeno parzialmente influenzata proprio dai parapoteri economici che controllano i media. Grazie a questi ultimi degli epomiti vengono continuamente rafforzati e altri costantemente indeboliti: il risultato è una seppure lenta ma progressiva modifica della moralità pubblica verso una specifica direzione.
In particolare negli ultimi anni, e questa è sfortunatamente una tendenza globale, si va verso la giustificazione del profitto rispetto ai diritti dei singoli: il profitto è reso principio precipuo della società: tutto ciò che va contro di esso è sbagliato, tutto ciò che lo favorisce è giusto.
È evidentemente una perversione della morale dove il denaro, e non l’uomo, ne diviene l’elemento centrale.
Anche per questo motivo non è sentita fortemente l’esigenza morale di tutelare la democratastenia da questo tipo di abusi: tutti, io compreso, facciamo fatica a non giustificare l’azienda che cerca di fare profitto in ogni modo, anche approfittandosi della debolezza dei propri clienti.

Ma in verità, come detto, un furto è un furto: moralmente non dovrebbe esserci differenza di trattamento fra il singolo che ruba al singolo e la grande azienda che ruba a molti; anzi, forse sarebbe più giusto punire con maggiore severità proprio l’azienda a causa del danno complessivo (sebbene più distribuito) che procura alla popolazione.

Voglio chiudere questo pezzo con un esempio concreto in maniera che non sembri il mio solito “ululato alla luna”…
Proprio oggi mi sono imbattuto in questo articolo: Il telestalking è in ottima salute tra deroghe e leggi annacquate di Patrizia De Rubertis da IlFattoQuotidiano.it oppure il meno recente ma dello stesso tenore Tele-stalking, arriva il prefisso ma per i call center c’è la deroga della stessa giornalista e stesso quotidiano…
Mi accorgo adesso che entrambi gli articoli sono riservati agli abbonati ma comunque già il loro titolo è significativo: le nuove leggi non sono in grado di tutelare la popolazione da questi fastidiosi abusi.
Per quale motivo? Forse i politici (al di là del colore della loro bandiera) non sono in grado di scrivere una semplice leggina che vieti questo tipo di telefonate ripetute, intrusive e aggressive?
Ovviamente se la politica realmente volesse tutelare la democratastenia non avrebbe problemi a farlo: ma in questo caso c’è la forte opposizione di molti parapoteri economici che da queste pratiche ricavano un evidente guadagno economico. Il risultato è che i politici si fanno (momentaneamente) belli con leggi speciose che, apparentemente, dovrebbero tutelare la popolazione ma dove, in realtà, vi è nascosto un qualche comma (magari tecnico) che permette ai parapoteri di adeguarsi facilmente alla nuova norma senza esserne sostanzialmente ostacolati.
Come spiegato dalla legge del confronto ([E] 5.8) i parapoteri tendono ad accordarsi facilmente fra loro a scapito della democratastenia.

Conclusione: sì, mi sono chiarito le idee… probabilmente da questo ragionamento ne trarrò una nota di un paio di righe per l’Epitome!

Nota (*1): complessivamente i soldi che nel nostro esempio le compagnie di telecomunicazione sottraggono indebitamente (ma legalmente) ai propri clienti, sebbene distribuita su un gran numero di individui, è di svariati ordini di grandezza superiore alla refurtiva del singolo borsaiolo.

venerdì 8 febbraio 2019

Elogio della morte

Beh, “elogio” è un termine un po’ troppo positivo, forse avrei dovuto intitolare il pezzo “Pregi della morte” o qualcosa di simile…

Il fatto è che mi sono reso conto di come anche la morte abbia dei meriti o, per meglio dire, che la vita senza morte avrebbe dei grandi difetti.
Mi sono infatti immaginato un’ipotesi che, a detta di molti esperti, sta divenendo sempre più plausibile: ovvero che la medicina diventi in grado di prolungare indefinitamente la vita, magari ringiovanendo il corpo e il cervello.

Sul momento sembrerebbe un incredibile successo per l’umanità: ma sarebbe davvero così?

È facile supporre che questa ipotetica procedura di ringiovanimento avrebbe dei costi, magari anche artificialmente (*1), molto alti: diciamo 1 milione di euro.
Mi immagino che le persone, fin da giovani, si proporrebero di fare di tutto per ottenere tale cifra dimenticando sogni e ideali e divenendo invece ancora più egoiste e avide: magari si direbbero “Intanto guadagno un milione, poi vedrò come usarlo...”
E chi lo avesse già inizierebbe a preoccuparsi dei propri parenti più stretti e, in pratica, non ci sarebbe nessun confine alla sete di denaro, non ci sarebbe mai un "abbastanza": perché poi, ringiovaniti una volta, dopo una cinquantina d’anni, o prima, ci sarebbe da ripetere la procedura…

Ma il problema non sarebbe solo la ricerca spasmodica del denaro ma anche la qualità di vita: temo che anche i super ricchi, con migliaia di milioni a disposizione, subirebbero una abbrutimento morale: temerebbero la morte più di adesso e per la paura eviterebbero ogni pericolo, reale o immaginario, mentre il loro cinismo oltrepasserebbe la soglia dell’umano.
Adesso infatti una fonte di coraggio sta nella semplice constatazione che “di qualcosa si deve morire” e, partendo da questo assunto, si corrono dei rischi e si compiono atti buoni in quanto tali: ma se la morte non fosse più inevitabile allora perché rischiare la vita facendo volontariato in Africa o, semplicemente, volando col parapendio?
Ma in genere mi immagino questi super ricchi che, sempre più vecchi pur in corpi giovani, acquistano sempre nuove fobie arrivando nel tempo a una follia basata sulla fissazione per la propria sopravvivenza.

Anche la società entrerebbe in crisi: i giovani, per quanto brillanti, non potrebbero mai competere con i vecchi che avrebbero dalla loro potere, denaro e, almeno l’energia, della gioventù artificiale. Non ci sarebbe mai alcun rinnovamento.
La società si chiuderebbe in se stessa: una società che verrebbe plasmata per garantire ai ricchi la possibilità di rimanere tali e, quindi, eternamente vivi. Già adesso, almeno indirettamente, la società occidentale favorisce chi è ricco e potente ma in questo futuro distopico ciò sarebbe mille volte più vero perché ogni istituzione sociale, ogni legge, sarebbe progettata scientemente per raggiungere tale fine.

E quante buone azioni si perderebbero!
Nei giorni scorsi mi ero imbattuto in un ottimo esempio ma oggi non riesco a ritrovare tale articolo: in pratica un industriale, spiegando “che non voleva lasciare i propri soldi alla banca”, aiutava economicamente i propri dipendenti in molte maniere.
Temo che, nell’ipotesi di potersi comprare l’immortalità, episodi di questo genere non capiterebbero più.

E mi chiedo anche: l’amore per i figli, visti come la propria prosecuzione nel tempo e nella vita, resisterebbe all’alternativa molto più concreta di una vita indefinitamente lunga? O piuttosto i figli diverrebbero dei pericolosi rivali che ambiscono a ereditare il denaro e il potere dei genitori?

Un’immortalità basata sul denaro sarebbe incredibilmente pericolosa perché renderebbe reale, assegnando alla vita un prezzo, un’equivalenza che adesso è invece semplicemente impossibile. La morale diverrebbe economia e l’economia morale: ma il soggetto dell’economia è il denaro e non l’uomo. L’uomo e tutti principi connessi alla sua umanità, come la libertà, la giustizia e l’uguaglianza, verrebbero sopraffatti e calpestati. Intendiamoci: nel mondo moderno questa tendenza di anteporre il profitto all’uomo è già presente: ma quelle che adesso sono aberrazioni accuratamente celate, che fanno inorridire se scoperte, diverrebbero invece la normalità.

Conclusione: ecco, diciamo che la morte è un male necessario e che la vita comprata col denaro sarebbe molto peggio...

Nota (*1): considerando anche il problema della sovrappopolazione...

mercoledì 6 febbraio 2019

Varie intuizioni

Attenzione! Questo pezzo mi è sfuggito di mano!
Volevo semplicemente descrivere un’intuizione su me stesso ma, prima ho raccontato una lunga premessa, poi ho avuto altre intuizioni e poi mi sono perso in un aneddoto forse neppure troppo attinente all’argomento del giorno…
Insomma alla fine ho partorito un pezzo lungo e, temo, noioso. Lettore avvisato, mezzo salvato.

Ieri ho avuto un’intuizione sulla mia psicologia. Avevo chiesto a mio padre di mettere per iscritto la sua opinione sul racconto faceto La vita e le opere del lupo di Gubbio scritto qualche settimana fa.

Personalmente lo trovo un pezzo un po’ sottotono, principalmente scritto ormai quando non avevo più l’ispirazione giusta, ma che comunque volli finire perché ormai iniziato.
Di solito infatti questi pezzi nascono la notte, durante un periodo d’insonnia, con le idee che si susseguono e accavallano l’una sull’altra; al mattino scrivo quello che mi ricordo e altre idee mi vengono sul momento. Per “La vita e le opere del lupo di Gubbio” avevo scritto qualcosa al mattino ma poi altri impegni mi avevano distratto dall’opera: a sera o il giorno dopo (non ricordo) decisi di completarla ma ormai non ricordavo più le idee notturne e, avendo perso il giusto umore, mi mancavano le idee che di solito mi vengono da sole senza sforzo…
Il risultato finale mi sembrava decente ma, in alcuni passaggi, un po’ faticoso e non del tutto efficace.
Comunque avevo chiesto il parere di un’amica che, con mio stupore, si era spesa in elogi a mio avviso eccessivi.
Per questo motivo avevo trovato divertente l’idea di mandarle il giudizio sullo stesso pezzo di mio padre che (vedi poi) supponevo negativo.

Il commento, molto stringato, di mio padre è questo:
«Non mi è piaciuto per diversi motivi:
1°) Scherzare su S.Francesco mi sembra blasfemo.
2°) Nel raccontino hai mescolato, e mi sembra a forza, storie diverse di lupi.
3°) Non ho capito cosa volevi dire con questo raccontino. Ricordati il detto popolare "Scherza con i fanti e lascia stare i santi".
»
Dal vivo aveva poi rincarato la dose aggiungendo che il racconto era “stupido, senza senso, incomprensibile, etc...” il tutto pronunciato con un tono irrisorio (sottintendendo qualcosa del tipo: “è ovvio, no? Perché me lo chiedi?”) e vagamente scocciato.

Magari questo specifico giudizio può anche essere più o meno corretto e condivisibile ma il punto è un altro: questo suo parere è il modello perfetto dei suoi commenti a ogni (bo, diciamo il 95%?) mia iniziativa fin da quando ero bambino (*1).
L’ABC della psicologia ci insegna che l’approvazione paterna è molto importante per bambini e ragazzi: come ho quindi reagito a questo muro di costante negatività?
Sostanzialmente con l’indifferenza: ho preso atto di non venir capito né apprezzato e me ne sono fatto una ragione.
Ma questo comportamento ha un’interessante conseguenza, e l’intuizione sta tutta qui: se delle opinioni negative di mio padre mi importa poco allora di quelle degli altri (illustri sconosciuti e non) non mi importa niente.

Questa credo sia la chiave psicologica per comprendere perché, ad esempio, non mi deprimo se l’Epitome (nella stesura della quale ho investito molto tempo, impegno e fatica) è stata letta da, letteralmente, un pugno di persone: io credo che l’opera abbia un suo valore e ciò mi basta.
Infatti, da un punto di vista psicologico, sapendo già che a mio padre non piace, la disapprovazione (o in questo caso il disinteresse) altrui non mi tocca né mi ferisce.

Ecco! Un’altra intuizione!
Sapendo a priori che mio padre non approverà (*2) o che, nel caso migliore, cercherà il pelo nell’uovo, magari concentrandosi su pochi difetti e ignorando i lati positivi, allora mi aspetto che lo stesso facciano gli altri. Questo in effetti mi porta a una sorta di pessimismo e minerebbe la mia fiducia in me stesso se, come detto, oramai non ci fossi abituato…

Ripensandoci è però un peccato considerare le opportunità sprecate nella mia infanzia quando poche parole di incoraggiamento avrebbero potuto darmi la motivazione e l’energia per raggiungere chissà quali obiettivi alla portata del mio potenziale.
Alla fine poi sono andato per la mia strada ma trascinandomi dietro una grande quantità di zavorra psicologica mentre sicuramente, con un po’ di incoraggiamento, sarei potuto arrivare molto più lontano.

Potrei fare infiniti esempi ma ormai non ha importanza. Vabbè, tanto per dare l’idea racconterò un episodio che ho ancora ben impresso in mente a distanza (sigh!) di quarant’anni!
Avevo 7 od 8 anni, mio padre mi aveva proposto di insegnarmi a giocare a scacchi. Io ricordavo di averlo visto giocare e quei pezzi di legno mi affascinavano, così accettai.
Mi spiegò brevemente come si muovevano i vari pezzi, mi mostrò lo scacco matto e io, attento, tenni subito a mente tutte le sue istruzioni poi, probabilmente giustamente, mi fece giocare la prima partita. Ovviamente, mancando egli completamente del mio spirito teorico e didattico, non mi aveva dato neppure una vaga idea su come procedere e io mi limitai a cercare di uscire con i miei pezzi (che poi è l’essenza della fase di apertura) stando ben attento a non metterli in presa. Nonostante il mio impegno persi in una quindicina di mosse. Ricordo che mio padre, per il suo solito, mi fece quello che gli dovette sembrare un elogio enorme e mi disse: “Hai giocato benino, ho notato che sei stato attento a non mettere i pezzi in presa”.
In realtà, considerando che quella era la mia prima partita e che mi aveva mostrato SOLO come si muovevano i pezzi, ero stato bravissimo e avevo mostrato una notevole attitudine e predisposizione al gioco! Probabilmente non se ne era reso conto neppure lui (*3) ma se avesse mostrato un minimo di entusiasmo adesso sarei uno scacchista incredibilmente più forte di quanto non sia diventato a dedicarmi a tale gioco dopo i 25 anni!
Ah! e poi aggiunse subito “Facciamo un’altra partita?” senza spiegarmi minimamente dove avevo sbagliato cosa che invece, per la mia natura teorica, avrei apprezzato moltissimo e mi avrebbe motivato a continuare a giocare nonostante le sconfitte. Invece ci pensai qualche momento e capii (e avevo ragione!) che per imparare a giocare a scacchi con mio padre avrei dovuto capire tutto da solo e perdere un centinaio di partite prima di riuscire a metterlo un po' in difficoltà. Così, sopraffatto dall'idea di questo sforzo inane, nonostante che il gioco in sé mi piacesse molto, gli risposi di no.
Ricordo che negli anni seguenti, dopo quell’unica partita, insegnai a mia volta a giocare a mia mamma: però con lei non mi divertivo perché muoveva i pezzi a caso!

Mi è appena venuto a mente che, sempre secondo mio padre, io ho poca costanza in quello che faccio: questo ghiribizzo da solo mi pare che sia la dimostrazione che non è così! Mi chiedo però se la sua impressione sia dovuta al mio atteggiamento dopo i suoi “incoraggiamenti”: quante cose avrò lasciato perdere proprio a causa della sua disapprovazione? E quante non ne ho neppure tentate proprio per non incorrere in essa? Probabilmente molte...

Conclusione: un piccolo pezzo per i lettori ma un gran balzo di comprensione per me…

Nota (*1): a onor del vero probabilmente mio padre cercava di essere onesto trattandomi e valutandomi come se avessi avuto una decina di anni in più: intellettualmente era così (ero molto più maturo della mia età) ma però ero pur sempre un bambino...
Nota (*2): questo è il motivo per cui avevo pensato, a colpo sicuro, di farmi mettere per scritto l’opinione di mio padre e stupire così la mia amica più (forse troppo) benigna!
Nota (*3): più volte ho pensato che se avessi avuto dei fratelli allora i miei genitori avrebbero maggiormente notato le mie caratteristiche peculiari.