Luca D'Angelo

Postcrypta #11: “Ecco cosa ho sbagliato.”

Si è tuffato in acqua. Non ci credo.

Decine di minuti di sforzi, di allenamenti con un sacco di variabili diverse in conto perché il robottino imparasse. Velocità 4x, così non sarà straziante guardarlo sbagliare. Ricompense: ci sono. Punizioni: pure.

L’obiettivo è semplice, raccogliere tutti i cristalli in un percorso tra i cactus (da evitare come la peste). Non può fallire adesso.

Il robottino si guarda attorno in cerca della direzione. Raccoglie un cristallo e va verso il percorso che ne è disseminato. Raggiunge un cactus, si blocca e si arrabbia. L’allenamento ricomincia. Il robot fa la stessa cosa più e più volte. Sa che ci sono altri cristalli, lo vedo nelle statistiche del training che ne è cosciente.

Due, cinque, quindici addestramenti si susseguono. Finché il robottino raccoglie un cristallo e va verso la solita direzione…

Ma prosegue dritto e si tuffa in acqua.

Una, due, quattro volte.

Tanto impegno e tanto sudore, e alla fine hai urlato e basta.

Ce l’ho sempre avuto ‘sto rapporto conflittuale con la vita. Ho sempre saputo che ci sono delle cose che mi riescono abbastanza bene. Solo abbastanza, appunto: per quanto adorassi Goku è sempre stato evidente che fossi più un Vegeta nella vita. Uno che deve sudare per riuscire anche in ciò che in teoria sa fare bene.

Uno che ci prova pure ad impegnarsi, ma a un passo dal nuovo livello del Super Saiyan si fa lo sgambetto da solo e inciampa rovinosamente.

“Beh riprova e basta, no?”

È semplice dirlo dall’esterno. È un po’ meno semplice essere emotivamente coinvolti e guardarsi fallire di. continuo., arrivando sempre a tanto così ma mai oltre per qualche fottuto motivo chiamato “me”.

Per qualche altro strano motivo poi mi piacciono un casino i giochi che evidenziano i miei limiti. Pokémon Unite, ad esempio, che è un MOBA in cui si gioca sì in squadra ma c’è chiaramente una minima componente personale nella riuscita della partita. E infatti anche là mi riconfermo me stesso: bravino ma non bravissimo, e apparentemente incapace di correggere i problemi.

Proprio come sono incapace di aiutare un robottino di codice a imparare.

Sulla carta l’idea di Little Learning Machines mi intrigava da morire: robot che imparano come muoversi nel mondo di gioco in base a cosa tu li alleni a fare in un’area apposita (un’affermazione che consiglio di tenere da parte fino a tra poco). Gli fornisci un task e loro devono portarlo a termine.

Solo che non lo fai direttamente: dici loro “ehi, sta cosa ti piace tantissimo“. Se la fanno guadagnano “LV”, che sta per Learning Value o anche per LOVE. “Ma attenzione che invece quest’altra cosa ti sta proprio antipatica” – un’indicazione che il gioco invece etichetta “FR”, Failure Reason o FEAR.

“AMORE” per l’imparare e “PAURA” di fallire. Un concetto che wow, mi ha lasciato di sasso. I primi momenti di gioco sembravano il calendario degli aforismi di mia madre (che odio con tutto me stesso), con questo cristallone gigante che dispensa frasi fatte. “Mi raccomando dosa bene LOVE e FEAR. Troppo LOVE non aiuta mai, ma troppa FEAR ti paralizzerà“.

Un giochino con dei robottini. Ma ci rendiamo conto?!

Da persona equilibrata quale sono il messaggio l’ho recepito. È una cosa che vorrei applicare nella vita, ma la parte del FEAR prende (troppo) spesso il sopravvento. E nonostante questo il robottino a un certo punto ha preferito morte e punizione.

E con questo torniamo sulla Terra: ma perché, perché lo ha fatto?! Il premio c’era e ce n’era tanto, la punizione c’era pure quella e non era eccessivissima.

E nonostante questo ha preferito morte e punizione.

L’ho fatto di nuovo: ho ignorato tutti i segnali che avevo di fronte. Ho peccato di volere ottenere tutto e subito, di pensare di aver capito tutto quel che c’era da capire e che niente poteva andar storto.

E invece no: non avevo capito nulla.

Il tutorial lo diceva che “ci vuole pazienza” perché i robot imparino – proprio come accade per gli umani oltre lo schermo, pensa un po’. Ce ne voleva davvero, e io – un po’ fuorviato dai giochi più immediati “del giorno d’oggi” e forse un po’ dai miei metodi sbrigativi e superficiali – non avevo proprio capito quanta ce ne volesse. E serviva anche un bel po’ d’attenzione, che di certo non potevo prestare fino in fondo in un gameplay mandato avanti a quattro volte la velocità normale.

Eppure capire perché le cose andassero così era semplice. Il robottino prendeva un cristallo e si buttava in acqua a morire, perché piuttosto che restar fermo a perdere un sacco di punti era meglio guadagnarne un sacco una volta e tuffarsi. Così facendo i punti li perdeva, sì, ma sul lungo termine – per assurdo – chiudeva davvero l’addestramento in positivo.

Buttarsi a morire era per assurdo la scelta più sensata.

DISCLAIMER No, buttarsi a morire non è mai la scelta più sensata nella vita reale. Vi prego non pensatelo nemmeno.

Ho passato decine di minuti a insultare un robottino virtuale perché non faceva quello che mi aspettavo. Ero strasicuro di aver fatto tutto bene – dai, non potevo aver sbagliato io: avevo seguito tutti i consigli. Un gran peccato che invece il gioco stesso mi avesse anche ricordato che per imparare ci vuole tempo, che i robottini non potevano assimilare mille cose tutte in una sessione, che bisognava andare per gradi (sorpresa! come nella vita reale!).

“È un gioco, Lù.” Me lo sono detto, ve lo giuro – eppure sono rimasto comunque inebetito di fronte allo schermo, a guardare il robottino tuffarsi superando la più grossa delle sue paure. Aveva fallito? In un certo senso sì, perché il percorso non lo ha mai completato. Ma l’obiettivo finale di imparare e crescere tutto sommato lo aveva raggiunto.

Io invece no, perché non ci avevo capito nulla. Avevo commesso in un videogioco lo stesso errore che ho commesso più volte nella vita e nella carriera, e la macchina me lo stava pure facendo pesare. Mi ripetevo che è un gioco e che non dovevo pesarlo troppo, ma non riuscivo proprio a non guardare storto la mia faccia da gigapagliaccio riflettuta sullo schermo.

Sarebbe come se non fossi mai esistito.

Sono stato un pagliaccio a credere di aver capito, quando avevo praticamente fast-forwardato tutti gli avvertimenti prendendoli come profondi aforismi e invece erano importanti. Sono stato scemo a credere che la macchina potesse eseguire i voli pindarici che avevo in mente con un unico ordine diretto. Come ho sempre erroneamente pensato mettendo le mani su qualche riga di codice non mio.

Molto scemo da parte mia credere che la (non) macchina chiamata Luca D’Angelo potesse imparare i ferri dell’attuale mestiere in frettissima in qualche modo strano. Tipo perché lavoro in un’azienda in campo IT a stretto contatto con i programmatori, e allora vuoi che per osmosi non ti entri in testa nulla? Vuoi che se seguo un corso di due ore non inizio a capirci molto di più?

A posteriori vorrei tanto funzionasse così – un po’ con le tempistiche di un gioco. Le meccaniche di trenta ore imparate in sole 2.99. Un’altra ora di tempo e sei praticamente un pro.

Eppure questo impasse mi ha riportato sulla Terra. Sono un arrogante: stavo e sto sbagliando tutto. Pretendo di imparare in due ore e poco più delle skill che dovrò padroneggiare perché mi permettano di sopravvivere. Pretendo che il computer che mi sta davanti mi legga praticamente nel pensiero, che capisca ed esegua esattamente il ragionamento che ho fatto solo perché gli ho dato una parvenza di direttive – fondamentalmente giuste, ma arraffazzonate una sull’altra e senza nesso logico.

Affrettate, in una parola, proprio come mi convincevo erroneamente di poter giocare qualcosa di corsa e affrettare una recensione. Ed è un grosso errore di cui devo redarguirmi, perché il presupposto delle pagine che scrivo è proprio quello di far capire che certe cose non vanno mai affrettate per svariati motivi.

./docker-nuke.sh

Ormai ho capito che ho fatto un casino. Il robottino ha la testa piena di robaccia a caso – ha imparato che piuttosto che provare a seguire il percorso è meglio lanciarsi in acqua e ricominciare da capo. Ah ma io ho preso al volo la lezione: è proprio ora di resettare. Basta un pulsante e il robottino è fresco come nuovo, si può riaddestrare da capo e magari con un po’ più di accortezza. Mi armo di santa pazienza e riparto da zero. Un obiettivo semplice alla volta, un ostacolo nuovo alla volta. E stavolta qualcosa si muove pian piano nella direzione giusta.

Mi ricorda da morire quel che mi trovavo a fare per lavoro nei primi periodi, quando a un certo punto qualsiasi logica provassi a programmare sembrava proprio andare per la tangente a un certo punto. Per qualche motivo (e probabilmente queste 1500 parole lo riassumono bene) ciò che avevo davanti era diventato un disastro, un pastrocchio irrisolvibile con semplice pazienza. L’unica soluzione era proprio un reset come quello di cui ho appena parlato. E allora mi armavo di terminale e scrivevo: docker nuke.

Che bella sensazione soddisfacente ripartire da zero, da una situazione in pratica pulitissima per rifare tutto da capo.

Devo prendermi una pausa. Mi alzo, vado in bagno, mi rinfresco un attimo e mi guardo allo specchio. Correzione: dissocio allo specchio, fissando la mia immagine perso in riflessioni non completamente chiare. Contemplo momenti di una vita intera in cerca di soluzioni. Anche le volte in cui, al contrario del robottino, ho preferito starmene a girare su me stesso, incerto su che direzione prendere per sbattere la testa contro un cactus. “Vedi?! È lui che mi tiene fermo!”

Ammetto che vorrei tanto resettarmi e ricominciare tutto da capo. Forse sarebbe più semplice.

Il problema è che un essere umano non si può resettare, e quando sbaglia deve spazzare via i cocci e limitarsi a metterci una toppa il più carina possibile.

#LiveTheRebellion