Alessandro 'kLeZ' Accardo personal website

This is the personal website of an Italian developer once called 'kLeZ'.

Blog

La demistificazione della scintilla divina

Negli ultimi anni, le discussioni sul valore intrinseco della creatività umana si sono intensificate, alimentate dalle innovazioni tecnologiche che, con una sorprendente freddezza algoritmica, replicano melodie, testi poetici e persino immagini ispirate a stili artistici tanto iconici quanto quello di Studio Ghibli. In un’epoca in cui l’intelligenza artificiale sembra voler spacciarsi per il nuovo demiurgo della creatività, è inevitabile dover riflettere, con una punta di cinismo e un’ironia tagliente, sul fatto che la nostra presunta “specialità” – quell’invisibile scintilla, quell’anima che ci rende unici – appare oggi come un fragile baluardo contro la fredda logica del determinismo scientifico e della matematica universale. Se prima eravamo soliti vantarci della nostra unicità e della capacità di sentire ed esprimere, oggi ci troviamo ad affrontare una verità implacabile: l’essere umano non è altro che un prodotto di impulsi bioelettrici e meccanismi evolutivi, destinato a soccombere di fronte a sistemi che, alimentati dal capitalismo e dall’innovazione tecnologica, accelerano un destino che sembra segnato dal collasso delle certezze. Questa riflessione, densa di risonanze storiche e filosofiche, ci spinge a considerare se non sia giunto il momento di ridimensionare l’ego umano, riconsiderare il valore della nostra “specialità” e accettare, con un misto di rassegnazione e ironia, il fatto che la nostra creatività – quella che una volta ci rendeva quasi sacri – potrebbe presto essere smontata, bit dopo bit, da algoritmi senza anima.

L'importanza della formazione continua

Nel vasto e caotico universo dell’informatica, fermarsi equivale a scegliere deliberatamente di diventare il prossimo fossile digitale. Immagina un consulente Java che, forte delle sue certezze, si crogiola nel comfort delle sue conoscenze consolidate. Peccato che, mentre lui si rilassa, il mondo del codice continua a girare vorticosamente, lasciandolo indietro come un floppy disk in un’era di cloud computing.

La sostanza dell'intelligenza

Certe volte capita di non poter fare a meno di essere cinici, di essere sinceri, di essere razionali ma allo stesso tempo intercettati da un turbine di emozioniforti che fanno scaturire un’urgenza di specificare, in chiaro, cosa va e cosa no (soprattutto cosa no) di una determinata affermazione o di un determinato comportamento.

A livello umano, non è spesso bello quello che si dice, tanto meno lo è - spesso - il modo in cui si esprime la propria urgenza di spiegare a chiare lettere e senza mezzi termini o gentilezze di alcun tipo cosa non va.

Vorrei oggi, com un ritorno che si attendeva da anni, spiegare con un recentissimo aneddoto quello che intendo, le mie necessità e le mie posizioni in merito.

Non farò nomi e cognomi (anche nelle screenshot), anche se la persona della quale vado a parlare ha affermato distintamente di non avere affatto l’interesse alla privacy, anzi è profondamente contro questo che per me appare un diritto fondamentale dell’essere umano. Il diritto a chiudere la porta quando si fa la cacca, per dirla in termini spiccioli. E io, che invece credo fermamente nel diritto inalienabile alla privacy, proteggerò la sua.

Trova lo st***zo! The IBM Way!

Oggi leggevo un brevissimo articolo, che però ci tengo a condividere con i miei (pochi[ssimi]) lettori. Forse lo condivido solo per me stesso perché ho una pessima memoria selettiva, che però seleziona un po’ come gli pare.

Il titolo originale è “The Asshole Test”, il mio è un po’ più colorito, ma non più di tanto.

FizzBuzz e l'ottimizzazione

Oggi vorrei parlarvi di un algoritmo.

Di norma un algoritmo talmente semplice da essere usato durante i colloqui per la valutazione della capacità minima di scrivere e leggere codice che comprenda il minimo indispensabile di logica, matematica e pensiero critico.

L’algoritmo consiste nell’implementare una funzione che dati i numeri da 1 a 100 faccia quanto segue:

  • stampi la stringa “Fizz” quando il numero è un multiplo di 3
  • stampi la stringa “Buzz” quando il numero è un multiplo di 5
  • stampi la stringa “FizzBuzz” quando il numero è un multiplo di 3 o 5
  • stampi il numero quando non è un multiplo di 3 né di 5

Semplice semplice. Ma allora perché ne parlo?

Il dilemma del calcolo delle stime

Di norma direi che il calcolo delle stime è qualcosa che facciamo tutti i giorni e che quindi almeno sulla carta ogni programmatore dovrebbe saper farlo.

Di norma direi anche che ci dovrebbe essere una procedura, una best practice una formula che possa calcolare una stima.

Siamo programmatori, quindi siamo ingegneri (più o meno)!

Le basi dello sviluppo

Ultimamente mi trovo spesso a leggere di sviluppatori che non conoscono determinati acronimi, o che si ritrovano a chiamarsi “sviluppatori” senza sapere cosa effettivamente significhi sviluppare software.

E come al solito mi triggero sulle basi e vado dritto come un pesce all’amo tentando di sviscerare un argomento che molti altri più bravi di me hanno tentato di sviscerare in libri interi spesso riuscendoci solo in parte.

Mi ripeto sempre che è una cattiva idea usare un blog per parlare di un argomento così vasto e che i grandi come Uncle Bob e Kent Beck si rivolterebbero nella tomba se ne avessero una.

Ma siccome sono entrambi ancora vivi, non temo questa reazione e quindi sbaglio con piacere, sperando anche di fare cosa gradita a quei 3 scappati di casa che leggono questo sito.

Inizio, dopo l’inizio, dicendo che le basi dello sviluppo di software sono tante, e lo sviluppo di software è un’arte complessa che merita tempo per lo studio e dedizione per la materia, mancanti le quali il software non può essere sviluppato oppure può esserlo ma sarà brutto, poco performante, difficile da mantenere e probabilmente pieno di problemi.

E soprattutto, un software sviluppato senza conoscere le basi sarà consegnato in ritardo, sempre. Qui non ci sono deroghe.

Using The Eisenhower Matrix In Emacs Org-Mode

In inglese

Riporto integralmente l’articolo di Tom Purl che parla dell’integrazione della matrice di Eisenhower in Emacs Org-Mode.

Purtroppo Tom ha rimosso l’articolo dal suo sito ma sono riuscito comunque a trovarlo tramite la Wayback Machine.

Di seguito (in inglese) l’articolo integrale. Forse (forse) porterò una traduzione di questo articolo nel blog, a imperitura memoria, soprattutto per chi non mastica granché l’inglese.

PyTorch, la promessa del deep learning?

Recentemente mi sono appassionato al Machine Learning.

Per chi non sapesse cos’è, il machine learning è una tecnologia (un insieme di tecnologie, in realtà) che permette calcoli piuttosto complessi in modo relativamente semplice e, cosa estremamente più importante, che può imparare dai dati che gli vengono somministrati.

Questo permette di effettuare calcoli complessi sempre più precisi fino a un tasso di fallimento che rasenta lo zero, un fattore necessario per mansioni complicate e critiche come il riconoscimento delle semantico immagini e l’elaborazione statistica.