00:00:05
Perché col freddo bevo una
bevanda fredda al limone,
00:00:12
una cosa dissetante estiva? Perché sono un [__]
mi sembra chiaro anche dal fatto che sono in
00:00:23
questo luogo di perdizione totale nel comune
di Aci Sant'Antonio, Aci Bonaccorsi. Però è
00:00:34
buono eh. E ho pensato che forse mentre aspetto
mia figlia potrei fare un video in macchina,
00:00:44
però perché sto morendo dal freddo. Quindi
ora andrò in macchina e farò il video, salute.
00:00:51
Ecco qui con la telecamera frontale
del telefono che fa veramente cacare
00:00:56
anche nel caso dell'iPhone. Ma io
penso che questo video lo taglierò,
00:01:03
e vedrete solo la mia faccetta.
Però almeno sarà a pieno schermo.
00:01:10
Nel video precedente, anzi quello precedente
ancora, ho parlato del fatto che l'AI rischia
00:01:21
effettivamente di sostituire molte figure
professionali, tra esse anche noi programmatori.
00:01:30
Tuttavia iniziamo con un messaggio di fiducia
come fanno i parroci. Tra le varie categorie,
00:01:41
forse quelli che possono dormire sogni più sereni
sono informatici perché comunque questo carrozzone
00:01:50
delle AI, e non lo dico in termine dispregiativo
ma nel senso che come tutti i fenomeni che hanno
00:01:57
una grandissima inerzia e ricevono una spinta
economica sociale tecnologica enorme all'inizio,
00:02:08
i processi che si generano sono un po' caotici e
forse anche in futuro. Però per ora sono caotici,
00:02:15
ci sono notizie da una parte e
dall'altra, c'è chi ci crede,
00:02:20
chi è completamente scettico, non ci
sono posizioni quasi di mezzo e così via.
00:02:24
Però questo carrozzone delle AI gira sui computer,
00:02:30
mi pare evidente che qualcuno a fare andare
questi computer ci sarà. Per quanto dico le
00:02:37
AI potranno evolversi, anche solo per
questioni di sicurezza non sarà saggio,
00:02:46
anzi sarà proprio da folli lasciare tutto nelle
mani di altre AI che controllano i sistemi. Ci
00:02:54
saranno apparecchiature anche meccaniche fisiche,
Data Center, gli switch, tutta quella parte lì
00:03:03
è molto improbabile che nel giro di poco venga
automatizzata. Per cui ci saranno gli informatici.
00:03:12
Questo è un messaggio di speranza per noi. Uno
può pensare: "Ma allora negli altri processi,
00:03:16
cioè noi continueremo a lavorare, gli altri
che fanno si fottono?" Spero proprio di no,
00:03:21
però ci sono effettivamente delle categorie
di lavoratori che sono più a rischio. Ma nel
00:03:27
breve termine sono abbastanza convinto che la
società convergerà nell'utilizzo delle AI modulata
00:03:36
dall'intervento umano, ma anche per ragioni
sociali legali non si potrà fare altrimenti.
00:03:45
Però il discorso che facevo nello
scorso video e che avevo solo toccato,
00:03:52
e qui invece svilupperò, rimane valido.
Ovvero che molti programmatori fanno un
00:03:59
mestiere competitivo e con bassissimo valore
aggiunto. Quando io dicevo backend frontend
00:04:09
non è che mi riferivo a questi settori in
sé - backend può voler dire specialmente
00:04:14
moltissime cose. Mi riferisco piuttosto
al fatto che l'informatica mainstream,
00:04:21
quella di "Fammi un'app che fa" e così
via, sempre quest'app fa e-commerce o data
00:04:32
entry con delle ricerche per dei business case
aziendali, l'applicazione per le fatturazioni,
00:04:39
l'applicazione di gestione degli hotel. Ecco non
è che ci sia tutta questa scienza infusa dentro.
00:04:46
E queste applicazioni, siccome tendono ad avere
dei pattern ripetitivi e le aziende se ne sono
00:04:52
accorte, e tra l'altro non vogliono che quando
licenziano Filippo per assumere Anna, Anna arrivi
00:05:01
e non si trovi perché Filippo ha inventato delle
cose sue, hanno anche standardizzato tutta la
00:05:07
tecnologia con i vari framework nel frontend
ma con altrettanti framework nel backend.
00:05:16
Quindi insomma diciamo si tratta di lavoro
ripetitivo e facilmente automatizzabile.
00:05:27
Uno si potrebbe chiedere se io voglio
utilizzare l'AI come spunto - non si sa
00:05:34
come andrà a finire domani - ma se la voglio
utilizzare come spunto per non fare queste
00:05:38
cazzate da macina codice, che comunque non
si ferma sempre all'apparenza, come faccio?
00:05:48
Allora prima di arrivarci voglio fare un
altro salto a un'altra discussione ortogonale,
00:05:56
ma che modula molto il resto di ciò che diremo.
Una delle caratteristiche che vi fa capire quanta
00:06:06
fuffa ci sia per esempio nel frontend è il
fatto che le varie professioni per staccarsi
00:06:13
dalla massa dei neofiti che arrivano hanno sempre
la tendenza a rendere il settore più complicato.
00:06:22
Quando le cose sono complicate davvero, per
esempio come l'AI che ha un grado relativo
00:06:27
di complicazione (anche se non è quello che
vogliono far credere gli espertoni perché
00:06:32
poi sono comunque calcolo della derivata
dell'errore, moltiplicazioni eccetera),
00:06:39
allora usano il gergo per proteggersi, usano
dei paper che esprimono a volte dei concetti
00:06:46
banali utilizzando una fracca di
matematica inutile e così via.
00:06:52
Nel frontend dove questa sostanza invece non c'è,
la difesa è stata quella di creare layer su layer
00:07:00
di complicazione e di giocare al gioco a chi
è che impara la cosa che è uscita in questo
00:07:05
semestre. "Ah ora si sono spostati tutti da Vue a
che cazzo ne so, HTMX" - vado a imparare l'altro
00:07:15
e finisci per fare una carriera in cui impari
600 volte, una volta più rilevante dell'altra,
00:07:23
come si fa una form con il check del
data entry, come si fa a mostrare una
00:07:30
lista enumerata, come si fa questa single page
application in un modo nell'altro e così via.
00:07:39
Problemi inutili tipo gestire la paginazione
back and forth, problemi che non dovrebbero
00:07:43
neanche esistere. Prima non esistevano, prima
li abbiamo creati poi creiamo 600 modi per
00:07:48
risolverli. Cioè veramente vuoi bruciare
una carriera appresso a queste minchiate?
00:07:56
Altro discorso che voglio inserire
all'interno di questo più ampio:
00:08:03
esiste una conoscenza reale e una conoscenza
che è fuffa. La conoscenza reale è quella che
00:08:11
qualsiasi cosa inventeranno nel futuro (tranne
che non si rivoluziona una certa branca della
00:08:18
scienza dell'informatica degli algoritmi) rimane
valida. Ma anche lì non è che la fisica newtoniana
00:08:24
è stata rimpiazzata quando hanno inventato la
relatività - rimane valida a velocità subsoniche.
00:08:34
Rimane valida così come la lista linkata, o
se io imparo la Skip list. Come funziona una
00:08:41
Skip list è una conoscenza molto importante che ho
internalizzato quando ho implementato le Skip list
00:08:46
per Redis. Non avrei mai pensato che pochi mesi
fa, un mese fa, due mesi fa, per implementare la
00:08:57
Vector similarity in Redis ci sarebbero stati
gli stessi pattern, le stesse idee, tanto che
00:09:03
nel paper degli HNSW (che è la struttura dati che
si usa per la Vector similarity per la maggiore)
00:09:09
viene proprio citato il paper delle Skip list,
quindi io mi sono trovato immediatamente a caso.
00:09:14
Se invece di imparare questa informazione,
questa conoscenza qua che è universale,
00:09:20
avessi imparato come si fa la query in un
database che non ha voluto usare SQL ma di
00:09:27
fatto relazionale è da molti punti di vista
e ha inventato il suo linguaggio JavaScript,
00:09:32
e diventavo un esperto in questa cosa, cos'è
che avrei imparato quando questo database non
00:09:38
si usa più? Che cos'è che mi è rimasto se
già conosco quella? Niente, perché quella è
00:09:44
conoscenza spazzatura. Bisogna allontanarsi
da quel tipo di conoscenza spazzatura.
00:09:51
Quindi già questo può essere di
per sé un filtro. Altro discorso:
00:10:00
qualsiasi cosa si fa non è che ora dobbiamo
smettere di fare frontend e backend anche
00:10:04
per le applicazioni normali, ma si può fare a
diversi livelli di approfondimento. Ad esempio
00:10:12
dovevo implementare questa benedetta Vector
similarity in Redis, cos'è che hanno fatto
00:10:17
moltissimi prima di me che dovevano fare un Vector
database? Hanno preso una libreria già pronta,
00:10:22
o quella che fa Meta o quella che c'è
in C++ su GitHub va per la maggiore,
00:10:29
scaricata e hanno pensato di fare il layer
superiore basandosi su questa libreria.
00:10:35
Quindi fatemi capire: il tuo core
business è la ricerca sui vettori
00:10:42
e la struttura dati fondamentale tu,
invece di reimplementarla, capirla,
00:10:46
di sviscerare e estendere il paper in qualche
modo che ti dà un vantaggio competitivo,
00:10:52
ti scarichi la libreria e la usi come fondazione
del tuo prodotto? Questa roba qui è la mentalità
00:11:03
che non va, e questo esempio si può
fare per tutto, per ogni santa cosa.
00:11:08
A volte per non sbattersi si
scaricano fracche di librerie,
00:11:14
dipendenze, complessità per non capire
come si fa una cosa. Che se l'AI
00:11:29
lo fa meglio di noi, ma saranno le
stesse competenze, la stessa mentalità,
00:11:35
la stessa capacità di ragionare sui concetti
astratti alti, la stessa capacità di far
00:11:40
fronte alle cose difficili che servirà poi
per essere quelli che controllano l'AI,
00:11:47
per finire in diciamo nei posti giusti e
avere ancora un ruolo sociale ed economico
00:11:56
e lavorativo all'interno dell'informatica,
del tessuto culturale dell'informatico.
00:12:01
Quindi bisogna essere forti, bravi,
non accontentatevi di far finta di
00:12:09
sapere le cose. Altro esempio: "Ah sono
espertissimo di AI" - scopri praticamente
00:12:16
che non fanno altro che query in una API o
in un'altra, non sanno davvero esattamente,
00:12:24
non hanno mai provato a fare con PyTorch un
modello, non lo so un mini GPT per esempio
00:12:30
quello di Karpathy, scaricarlo, capire come
funziona, fare il learning in un dataset,
00:12:35
riscrivere un modello autoregressivo che
fa, non lo so, che predice il prossimo
00:12:43
carattere per vedere dopo quante iterazioni
inizia a sfornare qualcosa di sensato.
00:12:47
Non è che devi andare a fare poi concorrenza
ad OpenAI o ad Anthropic, è chiaro che quella
00:12:53
conoscenza lì non te ne fai un cazzo in termini
pratici nel senso che non farai il tuo GPT,
00:12:59
non hai le risorse. Ma questo ti sposta a un
livello maggiore rispetto a tutti gli altri.
00:13:06
Anche l'inferenza - avete un Apple M1, M2, M3,
M4, vi scaricate la libreria MLX di Apple e ci
00:13:17
sono diversi esempi di inferenza per esempio
di Mistral, e andate a vedere per esempio alla
00:13:22
fine nell'ultimo layer quando fa la predizione
dei token tutti i logit con la probabilità per
00:13:27
ogni token, fate stampare il vocabolario. Sono
in inferenza di un LLM sono 100 righe di codice,
00:13:37
andate a capire lì. E da questo punto di vista
l'AI vi aiuta. "Non ho capito un passaggio" - cut
00:13:42
and paste del codice. "Ma cosa fa qua il layer
di Attention? Cosa fa la multihead?" e così via.
00:13:48
Quindi io credo che la mentalità sia questa,
quella di fare le cose per bene. Un'altra
00:13:57
possibilità per essere sicuri che ci sia una
longevità è andare a beccarsi i campi in cui gli
00:14:06
errori non sono ammessi. Per esempio l'embedded
spesso ha a che fare con apparecchiature mediche.
00:14:13
Se dovete scrivere il software che fa
funzionare la caldaia c'è il bruciatore,
00:14:17
ci sono 2000 controlli di sicurezza, ci sono
delle leggi che regolamentano tutta sta roba qui.
00:14:22
Se dovete scrivere il software che regola la
centralina della macchina, e anche questi sono
00:14:30
ambiti che difficilmente saranno mollati alle
AI. Avranno sicuramente l'assistenza delle AI,
00:14:36
ma questo ogni cosa ormai - anche per fare la
scheda in palestra hai l'assistenza dell'AI - però
00:14:43
un conto avere l'assistenza, un conto è diciamo
permettere all'AI in quel caso di fare quello
00:14:51
che farebbe l'essere umano e quindi fidarsi è
difficilissimo anche ripeto in termini legali.
00:14:59
Quindi eh anzitutto l'impegno, fare le
cose difficili, non skippare diciamo
00:15:11
scaricando libreria e dipendenze ogni volta
che c'è da affrontare qualcosa del genere.
00:15:17
Un'altra questione riguarda la capacità di
00:15:22
utilizzare intelligenza artificiale
per moltiplicare il proprio output.
00:15:29
Vedo persone che sono al tempo stesso spaventate
dalla prospettiva che l'AI ci sostituisca,
00:15:36
ma che non tentano di utilizzare questa
tecnologia, di imparare a utilizzare
00:15:44
questa tecnologia al meglio per accelerare il
proprio output, la propria professionalità.
00:15:53
Utilizzare gli LLM per la programmazione non
è facile. Se voi andate su Cloud ChatGPT e
00:16:02
gli fate una domanda di una riga, quello vi
spara la prima minchiata perché il contesto
00:16:07
semantico è troppo scarso e le risposte
che otterrete sono di cattiva qualità.
00:16:12
Quello che bisogna fare invece, e io ripeto ho
fatto molti video in cui cerco di mostrare come
00:16:17
si fa a fare le cose per bene, è caricare i file
a priori per settare il tono della conversazione,
00:16:28
fare delle domande molto articolate
e lunghe in cui ci sono già dentro
00:16:35
una serie di elementi che porteranno l'LLM a
non convergere verso una local minima (cioè
00:16:42
una risposta sbagliata che era la più ovvia)
ma ad evitare una serie di false strade e a
00:16:51
porre la sua attenzione lì dove voi indicate che
probabilmente c'è qualcosa che suona bene, c'è
00:17:00
idea di design che avete intuito anche se non
avete perfettamente compreso nei dettagli.
00:17:07
Questa è una skill che si deve maturare e le skill
non è che si maturano che leggi quattro cose,
00:17:17
no ci vuole pratica. Quindi pensate che nel
futuro l'AI sarà utilizzata moltissimo per
00:17:23
la programmazione, bene. Mettetevi
al computer quando scrivete codice,
00:17:29
ogni volta che è possibile e che
è necessario utilizzate un LLM e
00:17:35
imparate man mano ad aggiustare il tiro e
a comunicare con l'LLM in maniera efficace.
00:17:42
Altra cosa per diventare dei programmatori
veramente bravi (tranne che non lavorate nei
00:17:49
posti giusti, e per posti giusti intendo i
luoghi in cui si fanno cose molto difficili
00:17:56
che mi mettono continuamente alla prova e
quindi crescete moltissimo in tali contesti,
00:18:02
ma sono rari e non sono le grandissime
aziende) è molto difficile migliorare
00:18:10
in maniera significativa semplicemente
facendo il vostro lavoro giornaliero.
00:18:17
Questo non è un invito a stralavorare o a
perdere il sonno davanti al computer invece
00:18:22
di andare fuori a prendere una birra o andarsi
a divertire in qualsiasi altro modo, però
00:18:29
io credo che ogni buon sviluppatore dovrebbe
avere un piccolo progetto Open Source da
00:18:34
rilasciare o meno (lo potete anche buttare via
alla fine) che vi permetta di andare fuori dalla
00:18:40
comfort zone di fare cose molto interessanti
che altrimenti al lavoro non si farebbero.
00:18:46
Tipo questa cosa che dicevo l'inferenza con
MLX è difficile andarlo a giustificare in
00:18:53
un contesto lavorativo, anche se ci sono
dei casi in cui può essere interessante.
00:18:58
Eh scrivere, allora io credo che si diventi
molto bravi a programmare reinventando la ruota:
00:19:07
scrivere un piccolo interprete,
scrivere un piccolo compilatore,
00:19:10
scrivere un piccolo database, scrivere
un piccolo qualsiasi cosa complicata. È
00:19:16
difficile che ci sia il giusto progetto per
fare una cosa del genere lavorativamente,
00:19:21
quindi bisogna allocare sempre del tempo
per avere questo tipo di side project.
00:19:29
Se questa cosa vi viene difficile da fare perché
poi arrivate a casa alle 5 (spero per voi,
00:19:35
forse alle 7) con le palle già rotte di tutta
la programmazione inutile che avete fatto,
00:19:42
non trovate più la spinta e c'è qualcosa che
non va lì, potrebbe valer la pena di cambiare
00:19:48
azienda. Altrimenti se arrivate carichi
perché il vostro lavoro è sì noioso ma
00:19:54
almeno non vi esaurisce dentro e trovate
poi a casa la spinta per fare un'oretta
00:19:59
di programmazione (perché già un'oretta
al giorno è tanta roba) allora va bene.
00:20:08
A volte però manca la passione. Se
manca la passione sono cazzi amari.
00:20:12
Uno può dire "Ma forse questo
non è davvero il mio settore,
00:20:15
mi ci sono buttato perché c'erano soldi
da guadagnare". Non vi preoccupate,
00:20:20
anche in questo caso non siete gli unici, tutte
le altre professioni hanno funzionato così.
00:20:25
Per esempio una delle professioni che
è più in merda è quella del medico,
00:20:32
perché moltissimi si sono buttati a fare i
medici non per passione ma perché volevano
00:20:36
guadagnare molti soldi. E siccome i concorsi
di quasi tutte le università erano truccati
00:20:43
per entrare in medicina, poi finivano per
entrare i figli di, e quindi c'è stata una
00:20:48
selezione aberrante sia dal punto di vista umano
perché entravano quelli che non se lo potevano
00:20:54
magari permettere a livello intellettuale o
culturale ma avevano dietro qualcuno che li
00:21:00
raccomandava. E poi tra l'altro questo faceva sì
che erano individui in larga parte interessati a
00:21:07
comprarsi la barca e non a assicurare un
grado alto di salute ai propri pazienti.
00:21:12
Sì lo capisco che questo è un giudizio
estremamente negativo sulla medicina in Italia,
00:21:18
non dico che siano tutti così, ci sono
delle persone eccellenti in questo campo.
00:21:23
Però credo che sia un esempio di una
serie di incentivi successivi legali e
00:21:31
non legali che non hanno funzionato e hanno
creato una situazione veramente di degrado.
00:21:39
Però ecco, dicevo se non avete la passione,
pazienza. A quel punto semplicemente cercate
00:21:46
di vivacchiare al meglio delle vostre possibilità,
fregatevene. Poi quando se il settore implode ci
00:21:54
troverete altro da fare o ci saranno i redditi, si
spera che ci saranno i redditi a salvare le sorti.
00:22:05
In questo video avrei voluto dire di più, ma
io quando faccio i video alla "Fuck That Shit"
00:22:12
ovvero a cazzo di cane, cioè mi metto il registro
in base alle cose che mi frullano in quel momento
00:22:17
in testa, a volte ho l'accortezza (e questa ho
visto oggi che è una santissima accortezza) di
00:22:24
strutturare il video. Cioè apro un Notepad o
quello che è, o chi per lui (in realtà nel mio
00:22:30
caso un file di vi vi_Temp_x.txt di solito) e
mi scrivo: voglio parlare di questo, di questo,
00:22:39
di questo, di questo. Le idee vengono, le
arricchisco e poi possibilmente il coso non
00:22:44
lo guardo più, la nota. Poi quando faccio il
video però si è creata una struttura mentale.
00:22:50
Oggi questa cosa non l'ho potuta fare
essendo che mi mancano dei pezzi. Però vabbè,
00:22:54
farò qualche altro video di approfondimento.
Grazie per aver ascoltato e buona giornata.