Dal leak di Claude Code a Lince e antivocale: le app AI fai-da-te e i nostri progetti open #46

👉 Ascolta su Spotify
👉 Guarda su YouTube
👉 Segui su LinkedIn

[00:00] Introduzione e accoglienza

Stefano

Vabbè, comunque il sorgente è estremamente interessante.

Alessio

Questa attenzione a cavallo del 1 aprile, quindi…

Stefano

Io non ce l’ho, assolutamente non venite a prendermi. Io dico che è assolutamente interessante in maniera teorica. Io quello zip non l’ho mai visto, sappiatelo.

Ciao, ciao a tutti e bentornati, bentornate. Eccoci, siamo all’episodio 46. E abbiamo un sacco di ascoltatori che sono bravi, ci mettono le stelline e le campanelline. Anche tu ascoltatore che non ti senti in questo gruppo, mettici le stelline e le campanelline, adesso che l’hai sentito.

Paolo

Ciao!

Alessio

Ciao!

Stefano

No, strano tra l’altro, una cosa che notavo, beh non è strano in realtà, funzioniamo molto meglio su Spotify che su YouTube dove gli ascoltatori non crescono e ci snobbano.

Alessio

Forse perché su Spotify di base non ci vedono e non rimangono male.

Stefano

Sì, probabilmente sì. No, ma sta dentro quel mondo lì, nel senso che noi non facciamo vedere qualche video, qualche immagine. Ogni tanto su YouTube funzionano le cose un pochettino più spumeggianti o quelle storiche, perché poi ci sono anche quelle che funzionano anche senza video. Vabbè, comunque. Da dove partiamo? Partiamo facendo vedere delle immagini, così almeno ci contraddiciamo subito. Aspettate che le apro e poi Alessio ce le racconta.

Alessio

Dio, quale immagine! Beh, belle.

Stefano

Belle, quelle lì sono accattivanti e vedrai che i nostri ascoltatori apprezzeranno. Ne sono certo. Allora, come faccio a condividere quella roba lì?

Alessio

Beh, intanto introduciamo il discorso, dai.

Paolo

Non state parlando del grafico dell’iperbole che ci ha girato Alessio ieri sera, vero?

Alessio

Sì, proprio quello.

Stefano

Sì, sì, stavo parlando di quello che non riesco neanche a condividere, tanto che è fastidioso. Aspetta, tu cominci a parlare che io cerco di farlo vedere.

Paolo

A posto.

[02:26] Turbo Quant e quantizzazione della KV cache: i primi risultati

Alessio

Beh, il discorso è: settimana scorsa parlavamo di Turbo Quant, piccolo riassunto per chi si fosse perso il discorso.

Stefano

Questo.

Alessio

Google è uscita con un’idea, in realtà è l’implementazione di un paper che già esisteva da un po’, per quantizzare la KV cache al fine di migliorare l’utilizzo di memoria per tenere la KV cache stessa, minimizzando la perdita di qualità. Tutti felici e contenti di questa idea, mezza internet esaltata perché finalmente potremo utilizzare modelli su schede grafiche con poca memoria. Poi però quello che è successo è che la community ha iniziato a implementare davvero questo paper, perché l’implementazione di Google ancora è privata. In particolar modo ci sono in corso le implementazioni in vLLM e in LlamaCPP. E una volta fatte queste prime implementazioni in LlamaCPP la gente ha iniziato a provare e sono arrivati i primi commenti su se funziona o non funziona per davvero. In particolar modo c’è una discussione in corso su LlamaCPP, nel senso che l’implementazione ufficiale non c’è ancora, ci sono delle proposte, c’è una molto attiva discussione con 3 o 4 possibili varianti, gente che si commenta uno con l’altro, che cerca di capire come migliorare il tutto, visto che siamo passati sostanzialmente dal paper all’ingegnerizzazione del software della questione. E poi c’è anche un’implementazione che ha fatto un utente, lo username su GitHub è Tom, specifica per i Mac, per l’architettura dei Mac. Questa versione in realtà è continuamente in evoluzione, ma la versione di qualche giorno fa è stata approvata da diversi utenti. In particolar modo ce n’è uno che ha fatto un video, poi magari vi cerco il riferimento, da cui ho estratto queste due immagini che vi facciamo vedere. E sostanzialmente si spiega, si mostra come, come tante altre cose, sia sostanzialmente un compromesso, un trade-off. Nel senso che fare la quantizzazione, sia quantizzazione classica come era fino a poco tempo fa che questa qui nuova di Turbo Quant, ovviamente ha un costo. E finché la finestra di contesto è relativamente piccola, in realtà la versione non quantizzata funziona meglio, ovviamente più veloce. Poi c’è un momento, un punto del riempimento del contesto, in cui il fatto di avere la compressione della KV cache, quindi meno dati da trattare, porta finalmente a un risparmio anche in termini di tempo e consente quindi di continuare a crescere di contesto senza arrivare allo stallo. E il punto è che questo punto di breakeven è più avanti di quanto si pensava. Nelle prove che faceva questo utente si parla di 100-150 mila token, quindi la gente si aspettava qualcosa di meno. Poi chiaramente queste prove sono specifiche sull’hardware, in questo caso era un Mac della serie M3.

Stefano

Però…

[06:25] Quantizzazione live vs statica: il breakeven e i compromessi

Alessio

…con 64 GB di memoria e il Qwen 3, 35 billion, quantizzato a 4 bit. Interessante secondo me non tanto per i risultati specifici di questo scenario, quanto per il fatto che si sta pensando, c’è attenzione su questo discorso della quantizzazione delle KV cache, che secondo me è la cosa che ci portiamo a casa da queste due settimane di news. Perché forse prima era un po’ sottovalutata la cosa e si sta cercando di capire come si può agire per riuscire a far andare modelli su hardware tipo le varie schede Nvidia RTX, che sono potenti come velocità ma hanno poca memoria e quindi siamo molto limitati nella lista dei modelli che si possono utilizzare. Dicevi Stefano?

Stefano

Allora, io ho due cose che forse non abbiamo detto bene l’altra volta. Per chi è più addetto ai lavori erano chiare, ma forse vale la pena chiarirle, anche se con questa apertura abbiamo rinunciato del tutto a non essere di nicchia.

Alessio

Solo perché avevamo solo queste due immagini oggi.

Stefano

No no, vabbè, però a parte questo chiariamo due cose al volo. Quantizzazione vuol dire che il modello viene disegnato, i pesi del modello vengono disegnati con una certa profondità, tipicamente 16 bit. Io li comprimo, adesso non stiamo a entrare nei dettagli, se volete andate a vedere il talk che io e Alessio abbiamo fatto al Voxxed Days Zurich dove lo spieghiamo un po’ meglio. Comprimo quella cosa lì per usare meno bit e quindi usare meno memoria. Questa è la quantizzazione dei modelli. La quantizzazione dei modelli la faccio una volta sola e poi pubblico il modello quantizzato e chi lo usa lo carica così. La quantizzazione della KV cache, ed è la cosa che forse non si era chiarita tantissimo l’altra volta per chi non lo sapeva già…

Alessio

Sì, l’abbiamo detto, ma forse non abbiamo stressato tanto l’aspetto.

Stefano

…che invece la quantizzo live mentre la sto usando, quindi non è gratis. Il comprimere ha un costo, motivo per cui anche se è più piccola comunque c’è un punto di breakeven, nel senso che non ce l’ho quantizzata a priori perché la KV cache si popola man mano che io metto la roba nel contesto e quindi in quel momento la devo comprimere. L’ultima cosa, che invece è una domanda per te: io trovo anche interessante la curva rossa e la curva verde, che una KV cache quantizzata in maniera tradizionale non è così tanto peggio di questo Turbo Quant.

Alessio

No, infatti il discorso è che sulla velocità più o meno siamo lì, ed è per quello che ti dicevo: la community sta prendendo coscienza di tutto questo aspetto della quantizzazione. Perché poi magari è una mia percezione distorta, non è che semplicemente quantizzo la KV cache e quindi miglioro. Miglioro come occupazione di memoria ma come velocità di esecuzione in realtà peggioro rispetto alla versione non quantizzata. Io quantomeno questa cosa non l’ho sentita sbandierata più di tanto, anche nelle guide che si trovano in giro su come configurare i modelli in locale. Sono vicine sì. Il vero punto è che invece la qualità di quello che si ottiene in teoria con la curva di Turbo è migliore. E lì la differenza, chiaramente questo è un grafico sui token al secondo.

Stefano

Migliore. Certo, perché hai ragione, perché il punto di Turbo è che la quantizzazione, la compressione, è con minore perdita di informazione, un po’ come ci sono i JPEG nelle immagini verso altri modi di comprimerle.

Alessio

Esatto, “Turbo” è fuorviante perché ti porta a pensare “facciamo una cosa che va più veloce”. In realtà il discorso è legato al fatto che tu stai puntando ad avere una quantizzazione lossless.

Stefano

Però la quantizzazione, che sia nella KV cache o quella più tradizionale dei modelli, io non mi stancherò mai di dire che è bello, comprime, ce li fa andare anche su cosette, ma non è gratis. Paolo, ci vuoi parlare di GLM 5.1?

[11:22] Modelli GLM 5 di ZAI: quando la quantizzazione aggressiva rompe tutto

Paolo

O anche di GLM 5 se volete. Traduzione in termini pratici di questa lezione di matematica che ci ha fatto Alessio. I modelli GLM sono dei grandi modelli open, alternativi alla famiglia Opus di Anthropic se volete. Funzionano bene, sono là fuori, se avete un computer abbastanza grosso potete cacciarceli dentro e vi danno un buon risultato. I modelli GLM sono di quelli offerti dal servizio di ZhipuAI, che credo siano loro, lo stesso lab dietro cui generano questi modelli. Ed è il servizio economico che io uso, perché aveva dei prezzi assolutamente concorrenziali: pagavamo 250 euro all’anno per servizio unlimited, ed è un buon affare rispetto agli altri prezzi. E allora ho l’abbonamento lì. E qualche tempo fa hanno fatto l’annuncio del rilascio, dopo i modelli 4.7, dei modelli 5. E tutti dicevano “wow, saranno…”, i benchmark mostrano che sono più potenti, migliori e tutto quanto, e tutti sono saltati su quello. Se non che c’è un piccolo problema: smettono di funzionare troppo in fretta. Che cosa significa? Significa che tu li usi e sono ok, nel senso buoni, non sei in grado magari di percepire quel salto, ma ti fidi che siano meglio degli altri. Fino a un certo punto iniziano a tirare fuori parole a caso. E quando dico parole a caso dico proprio parole a caso, come immaginate quando vi si corrompeva la memoria del computer e vedevate i cuoricini qua e là, proprio cose a caso. Tanto che tu dici “boh, deve essere un caso, qualcosa è andata male”. In realtà no. E pare essere, la community specula, che sia una sfortunata scelta di distribuzione che ha fatto ZhipuAI. Per avere un servizio che possa raggiungere tante persone hanno quantizzato aggressivamente questi modelli, e quelli che ci offrono con il servizio sono estremamente quantizzati. Che significa in termini pratici: le persone hanno guardato, quando riempite più o meno la metà del contesto, 200.000, quindi ne riempite 100.000, da lì in poi non c’è garanzia di qualità e di risultato. Ed è un po’ troppo, nel senso che io in termini pratici non riesco ad usare questi modelli. Ho dovuto tornare indietro ai 4.7 che erano più validi. Magari sto usando l’equivalente di un Sonnet, non lo so, ma almeno ho delle risposte consistenti. E uno dei commenti, sempre della community su Reddit, c’è qualcuno che diceva: non è il modello che è cattivo, il modello è effettivamente molto buono. Se voi lo provate da altri provider tipo Alibaba avete una qualità, ce la vedete. È la scelta discutibilissima di ZhipuAI. Tanto che qualcuno si chiedeva se i poveri ricercatori di ZhipuAI che riescono a fare delle cose belle, poi sono estremamente delusi da come la loro società li mette a disposizione del pubblico, dando un’impressione sbagliata della qualità del loro lavoro.

Alessio

A me colpisce questa cosa perché ci sta riportando a ragionare sull’aspetto ingegneristico di tutta questa cosa, sull’aspetto anche sistemistico. L’ho visto facendo delle prove con i modelli locali: non è che io ho questo modello, lo faccio andare bene e lo utilizzo. C’è tutto un discorso di come scelgo il modello, quale quantizzazione prendo, come tiro su il servizio che mi offre l’API per l’inferenza, eccetera. Che è un lavoro diverso da quello del ricercatore che fa il modello, lo traina e lo rilascia. E noi, utilizzando i modelli messi a disposizione tipo ad esempio qui da ZhipuAI, assumiamo semplicemente che tutto funziona e lasciamo loro fare questo lavoro. Però evidentemente c’è chi lo fa meglio, c’è chi lo fa con certe scelte di risorse da allocare, chi ne ha di più, chi ne ha di meno. Un po’ come in generale i servizi in cloud, dipende come li tiri su.

Stefano

Io comunque confermo quell’impressione di Reddit, perché dopo che me l’hai detto mi sono ricordato di avere ancora tipo nove dollari abbandonati su OpenRouter e sono andato a vedere se fornivano GLM. Forniscono il 5, non il 5.1. Ho fatto tre prove di coding e rispetto al servizio di ZhipuAI le risposte sono migliori. A parità di modello hai un’esperienza di coding migliore, anche più veloce tra l’altro. Certo si fa pagare, perché comunque vogliono un euro e rotti ad output. Però siamo sempre lì: se paghi il servizio è perché a loro sta avendo un costo. Se il costo è così basso, o vanno in perdita, che può essere una scelta, qualche azienda l’ha fatto, oppure per tirare clienti, oppure per forza. E tra l’altro la roba che dicevi, che dopo i 100k token, suggerisce che sia la quantizzazione aggressiva della KV cache più che del modello a rompere un po’ tutto. Ci starebbe anche con le parole a caso, perché…

Alessio

C’è un qualche tipo di compromesso.

Stefano

…la KV cache fa la parte di attenzione del modello, quindi la scelta della parola successiva è basata sull’attenzione. Se l’attenzione diventa casuale perché hai compresso troppo e non trovi più la parola giusta a cui collegarti, è possibile che escano fuori parole a caso. Secondo me hanno aggressivamente quantizzato la KV cache perché è il punto dove risparmi di più memoria.

[17:34] Stesso modello, provider diversi, risultati diversi

Paolo

Volevo concludere questo angolo estendendo un pensiero di Alessio che diceva che inizia a contare bene quanto sei bravo a fare il tuo mestiere, quante risorse hai per fornire un servizio che scali e che quindi funzioni. Ma prendendolo da un altro angolo: avevamo dei nostri amici che già si lamentavano di essere persi nel mare di mille modelli, di non sapere quali scegliere. Adesso è diventata peggio: non solo non sai quali scegliere, ma anche lo stesso modello con lo stesso nome, se lo lanci con due configurazioni diverse da una parte e dall’altra, ti dà dei risultati diversi. Buona fortuna a tutti quanti a orientarsi in tutto questo.

Stefano

E tra l’altro non dicono neanche pubblicamente che cosa hanno messo su. Perché finché sei sul modello, come diceva Alessio, che ti fai girare in locale, che ti scarichi, i modi anche solo empirici, come LM Fit, aiutami Alè…

Alessio

LM Fit.

Stefano

…ti aiutano a capire dove stai andando. Poi se hai un po’ di basi teoriche, di nuovo guardate il video che vi mettiamo in descrizione del nostro talk, lo spieghiamo meglio, non lo facciamo qua, ti aiutano un po’. Se non te lo dicono, provi e speri in Dio.

Alessio

E tra l’altro c’è un sito che si chiama artificialanalysis.ai, che è anche quello citato nel nostro talk, che è un sito famoso che fa benchmarking, indici di intelligenza e anche sotto-indici di vari aspetti di misurazione dei risultati, dell’accuratezza dei modelli. Che ho notato in realtà ti permette di selezionare il provider dei modelli, proprio per questo discorso qui. Nel senso che lo stesso modello tirato su da provider differenti potrebbe avere risultati differenti nel momento in cui tu ragioni da un’interfaccia o l’API. Tutto molto interessante.

Stefano

Anche a livello di velocità, di tutto.

Paolo

Se dite, posso proporvi di cambiare argomento?

Alessio

Bye bye!

Stefano

Sì, fallo.

Paolo

Ho sentito che questa settimana Anthropic ha rilasciato open source Claude Code. Ma no, sì! Siete sicuri? È diventato open source, ho sentito.

Stefano

Non è andata esattamente così.

Alessio

Cambiato modello di business.

Stefano

No, tra l’altro ti rispondo al contrario, dopo raccontiamo cosa è successo. Ma è diventato così poco open source che per toglierlo dai repository GitHub dove la gente aveva messo il sorgente, hanno bloccato, c’è un sacco di polemica di ieri perché hanno bloccato un sacco di profili GitHub che non c’entravano niente, che non avevano mai messo su nulla, avevano messo su nomi simili o riscritture teoriche di come Claude Code funziona in Python, ricordo che Claude Code è scritto in TypeScript, e li hanno bloccati anche loro. E questi sono giustamente un po’ incazzati, perché dicono “cosa volete da me”.

Paolo

Quindi spiegatemela, non è open source. Io ho capito che è open source.

Stefano

No, allora…

Alessio

Quindi è la censura, quello che si fa con la musica pirata e i manager dei cinema applicati a GitHub. Quello che è successo: chiusura di account.

Stefano

Allora, cos’è successo? NPM è il sistema di distribuzione più usato in TypeScript. Tra l’altro, curioso il fatto che loro abbiano comprato Bun e stiano usando NPM. Distribuzione, ma questa è una cosa abbastanza diffusa: Bun viene usata per il runtime, ha il suo sistema di distribuzione ma non è così diffuso, e puoi decidere di compilare con Bun ma di distribuire con NPM. Ma NPM che cosa fa? Come in molti linguaggi, ti permette di mettere dentro al binario anche tutta la mappa dei sorgenti. Questo di solito si fa nelle distribuzioni cosiddette di debug, perché così riesci facilmente ad attaccarci un debugger o un profiler. E molto probabilmente questa versione è la versione di Claude Code che gira internamente in Anthropic, perché quando hanno un bug, per capire dove sta, avere i sorgenti attaccati al binario in maniera diretta permette ai debugger di attaccarsi più facilmente. Questo, per chi non conosce questo mondo, in pratica che cosa c’era? C’era questo binario, che va dentro il programma eseguibile, e attaccati anche i sorgenti, che di solito non vengono rilasciati. Invece uno sviluppatore ha sbagliato…

Alessio

Sviluppatore, diciamo.

Stefano

…ha cliccato il bottone sbagliato, perché nella fretta e nel dover fare 150 fix una settimana probabilmente c’è anche pressione. Io veramente voglio spezzare una lancia a favore: l’errore umano ci può stare, specialmente quando veramente negli ultimi tre mesi quante fix hanno messo in Claude Code, una cosa impressionante. L’errore ovviamente è non avere dei sistemi di controllo che evitino questa cosa: continuous integration, CI/CD insomma. Niente, è andato su ‘sto coso. Qualcuno se n’è accorto immediatamente, ha estratto il codice, l’ha messo come src.zip e that’s it. Qualcuno ha avuto la pessima idea di metterlo in GitHub, che viola le policy di GitHub, e questo ha scatenato un po’ il putiferio. Anche quello che l’aveva estratto diceva che l’avrà messo lì come uno zip per un motivo, oddio buonino, sennò ero capace anch’io di fare un push su GitHub. È arrivato il secondo tizio che ha fatto il push su GitHub, così Anthropic se n’è accorta.

Paolo

Ok, questo non l’avevo colto. Va bene, sì, sì, sì.

Alessio

E lo spirito community, guardate che bello.

Stefano

Sì, lo spirito community però… Vabbè, comunque il sorgente è estremamente interessante.

Alessio

Questa attenzione a cavallo del 1 aprile, quindi…

Stefano

Io non ce l’ho, assolutamente non venite a prendermi. Io dico che è assolutamente interessante in maniera teorica. Io quello zip non l’ho mai visto, sappiatelo.

Alessio

Tutto questo a cavallo del 1° aprile, quindi la gente pensava “ma sarà vero? Sarà una presa in giro?”

Stefano

Dopo hanno pubblicato la faccia di Amodei quando l’ha scoperto e hanno capito che era vero.

[24:30] Il leak di Claude Code: source map su NPM, DMCA e il putiferio

Paolo

Ma raccontatemi cosa è successo poi, perché trovo che sia una delle parti più interessanti, il poi. Nel senso, c’era questo codice in giro, si è diffuso, si è clonato, e questo è successo poi.

Stefano

La gente ha cominciato a cercare di capire che cosa c’era dentro e non c’è la ricetta magica, sorprese dove sorprese. Ci sono un po’ di idee interessanti che non erano immediatamente chiare nell’utilizzo, in particolar modo la gestione della memoria, che fa una cosa multilivello interessante per quello che sto facendo io in questo momento. Allora, io la cosa che ho notato, ipoteticamente, è che è chiaramente vibe codato. Quando Amodei dice che il 99% del codice di Claude lo scrive Claude, è vero.

Paolo

E quindi l’1% rimanente era il tizio che ha pubblicato il coso sbagliato, giusto?

Stefano

No, vibe codato eccessivo, insomma. Si vede che c’è molta assistenza AI, si vede che lavorano in maniera caotica, in senso positivo, estremamente agile, mettiamolo così, per fare un complimento, per usare la versione buona del termine, perché ci sono ripetizioni…

Paolo

In inglese l’espressione è “agile as fuck”.

Stefano

Allora, ci sono molte ripetizioni di concetti più che di codice. Ci sono alcune cose che potrebbero essere sistemizzate, in realtà non lo sono ancora.

Alessio

Serve refactoring.

Stefano

Sì, ma è tutto molto cresciuto attorno a: uno ha un’idea, la implementa, funziona, bene, grazie, c’è poco. Quella revisione non so neanche se fanno delle review per davvero. Insomma, io mi chiedo, quando Amodei dice che il 99% del codice è scritto da Claude, mi chiedo anche quanta parte di quel codice sia revisionato anche da Claude o sistemi simili. Poi, cos’altro: ci sono qualche feature segreta non ancora pubblicata che lo fanno diventare un po’ come OpenClaw. C’è gente che si è stupita di questa cosa, io non mica tanto, perché se avete provato Claude Work, che parte dalla stessa base, lo fa già quella cosa lì. Quindi non vedo cosa ci sia da stupirsi. Cos’altro notato… No, essenzialmente questa cosa. La memoria forse è la cosa più interessante. Non c’è una ricetta magica. Quando si dice che gran parte del successo di Anthropic sta in Claude Code più che nel modello, io ero uno di quelli che lo diceva. Aspetto a pronunciarmi quando, per ipotesi, posso aver letto meglio delle cose. Però non c’è la ricetta magica diversa da tutti gli altri: c’è Codex che è open source da sempre, fa quelle robe lì, Open Code più o meno fa quelle robe lì. La gestione della memoria è l’unica cosa che non avevo visto negli altri fatta così.

Paolo

Ti farò contraddire quando ti porterò a maledire Codex a differenza di Claude Code per gli hook che fornisce. Però, ok, scusami. Allora, interessante quello che ci hai raccontato. Io, da aggiungere a questo, ho visto qualcuno che ridicolizzava il codice perché c’era una porzione in cui usavano le espressioni regolari per identificare le parolacce che gli utenti dicono quando qualcosa non funziona. C’era proprio letteralmente una serie di parolacce con espressione regolare anche avanzata, con suffissi diversi, e tutti dicevano “guarda, le AI… e solo un’espressione regolare”. In inglese, però. Vabbè, quello mi sembrava anche una presa in giro non giustificata.

Alessio

In tutte le lingue, a dir la verità.

Paolo

Ma scusate, mi sono intromesso perché in realtà volevo far presente che non era questa la storia che volevo raccontare. Quella che hai raccontato tu è interessante, ma mi interessava l’altra.

[30:22] DMCA, porting legale e proprietà intellettuale sul codice

Paolo

Quindi, cosa è successo dopo che il codice è andato online? Non mi aspettavo che sarebbe andata così, ma Anthropic si è incazzata e ha detto “questa roba non può essere online, toglietela”. E sono riusciti a farla togliere, esattamente come dicevamo prima. Peraltro con il DMCA, il Digital Rights Management… DMCA, giusto? Hanno usato quello o un equivalente, per cui sono andati da GitHub e gli hanno detto “guardate, questa roba è illegale, toglietela, se no sono cazzi vostri”.

Alessio

Violazione delle policy, license, eccetera.

Paolo

E loro l’hanno fatto in una maniera più efficiente di quello che tutti si aspettino possa succedere di questi tempi. Perché letteralmente su internet c’è qualunque cosa e il contrario di tutto, se avete abbastanza tempo per trovarla. E invece loro sono riusciti a spazzolarla via per bene. Non dico che non c’è più, ma l’hanno tolta bene, non la trovi facilmente adesso. E già questo era “wow, quando qualcuno vuole fare le cose per bene le riesce a fare per bene”. Era interessante. Ma la cosa più interessante di tutte è l’eccezione a questa cosa. Che cosa è successo nel frattempo? Non nel frattempo, in tempo zero in realtà. Appena il codice si è rivelato, i nerd di tutto il mondo hanno detto “bellissimo, mi sento meglio dei programmatori di Anthropic e di Claude Code, vi faccio vedere io come si fa, io sono più bravo”. Vanno da Claude Code e gli dicono “riscrivimi questo codice in un altro linguaggio”, tendenzialmente due linguaggi: o Python o Rust. E hanno…

Alessio

“Io sono più bravo”.

Paolo

…portato il codice da un linguaggio all’altro. Questo atto di porting del codice da un linguaggio all’altro, per le leggi che dicevamo prima, non rientra nella casistica del “questo è il codice originale, puoi zapparmelo via”. Quindi ufficialmente i porting non sono illegali, sono legali adesso. Quindi il progetto in Python… Quindi Stefano, per non violare la legge non devi andare a cercare il codice in TypeScript, puoi andare a leggere quello in Python. Quello in Python è legale, quello in TypeScript è illegale. Magari si legge anche più facile. Ma quello in Rust te lo sconsiglio.

Stefano

Sì, siamo presenti. Qual è il repository? Si chiama Claw Code, scritto come “claw” di OpenClaw, invece che Claude.

Alessio

Sempre tanta fantasia.

Paolo

Al di là di chi si vuole male per farsi arrestare solo per il nome, non per il codice a questo punto. Però è interessante: fondamentalmente abbiamo aggirato la legge dicendo “non è uguale a quella canzone, suona molto simile ma io l’ho suonata con il basso anziché con la chitarra e quindi è tutta un’altra canzone”.

Alessio

Poi probabilmente c’è una violazione nel momento in cui è stato fatto il vero e proprio porting, però…

Stefano

Deve dimostrare.

Paolo

Non lo so, a tutti gli effetti non hanno potuto togliere quel repo. Quindi quel repo è fuori, e io ho imparato una cosa nuova: che se per caso dovessi fare un’azione di questo tipo…

Stefano

Anch’io sono incuriosito da questo. Ma quindi l’intellectual property sul codice è legata al linguaggio in cui lo scrivi?

Alessio

Io credo che dipende anche da come è fatta la license, bisogna andare a vedere che licenza aveva esattamente.

Paolo

Io non so se si possa generalizzare così semplicemente. Il fatto sta che non era quel vincolo legale che hanno usato per togliere gli altri che era applicabile a questi. Magari ce n’è un altro, non si sono ancora resi conto, perché di leggi ce ne sono tante, ma non era quello.

Alessio

Sì, probabilmente tu che sei esperto di patent, Paolo, magari se loro hanno dei patent su tutte le idee che stanno dietro a questa roba qua, potrebbero in qualche modo rivalersi.

Stefano

Certo.

Paolo

Di fatto, voi avete conto che Codex assomiglierà molto di più a Claude Code settimana prossima.

Alessio

O questa versione, perché un altro commento che ho letto è: “sì va bene, abbiamo visto cosa fa oggi Claude Code, tra una settimana magari metà della codebase è cambiata”.

Paolo

Assolutamente, assolutamente.

Stefano

No beh, alla velocità a cui vanno, c’è dubbio che questa cosa accada.

Alessio

Però comunque è un data point interessante.

Paolo

Peraltro, scusate, l’altra considerazione era che mi aspettavo che Anthropic e Amodei, sono persone per bene, avrebbero detto “avremmo open-sourcato il codice, ok dai così sia, open source”. Pensavo che avrebbero cavalcato l’onda. Ma invece no, hanno cercato di togliere la pipì dalla piscina, con i limiti del caso.

Alessio

Però di nuovo, secondo me avevano anche degli aspetti legali da considerare, probabilmente non potevano cambiare la licenza al volo così, quello era con quella licenza.

Stefano

Ma voi sapete cosa vuol dire che un repository è locked? Perché sono andato a vedere adesso il porting in Rust, che era quel Claw Code che dicevo prima, me lo ricordavo in Python ma in realtà è in Rust. Gli si possono mettere le star, lo si può credo scaricare, ma non si può più forkare perché dice che è “locked”. Che è la prima volta che mi succede di vedere in un repository.

Alessio

Però si può fare il checkout, il clone e il checkout.

Stefano

Adesso te lo dico, sto scrivendo clone in questo momento…

Alessio

È l’equivalente di archived o altra roba?

Stefano

No.

Paolo

È morto, è la tomba del progetto e puoi solo visitarla. Beh ci sta che nel dubbio GitHub dica “sentite, sai che cosa? Intanto io lo spengo, poi vediamo”.

Stefano

Errore 430.

Alessio

Quindi forse anche il porting non è così a posto. Mettiamo in pausa, ci pensiamo bene.

Paolo

Male che vada, regala un anno di servizio al povero sviluppatore che gli ha bloccato illegalmente il repo.

Alessio

Però si vede sull’interfaccia web, quindi uno può mettersi lì e si fa uno script che scarica un file alla volta.

Stefano

Sull’interfaccia web si vede.

Paolo

E gli avvocati non sanno proprio come funzionano i computer…

Alessio

Claude Code, scrivimi un robot che scarica tutto da qua.

Paolo

Vabbè, ad ogni modo, questa era una delle notizie principali di questa settimana. Mi viene qualcun’altra, ma voi avete in mente qualcosa che volete tirare in ballo o raccontare? Noi abbiamo rilasciato un software, peraltro!

[35:26] Antivocale: un’app Android nata al bar in una mattina

Stefano

Noi abbiamo rilasciato un software. A chi lo paliamo?

Paolo

Lo racconto?

Alessio

Noi, anche perché in realtà buona parte è Paolo, non dare a tutti il merito che…

Stefano

Esatto.

Paolo

Fa niente, fa niente, è un gioco di team e ci sta tutto, oltre al fatto che alcune delle conoscenze arrivavano da queste conversazioni. Allora, in qualche puntata fa, non so quale, stavamo chiacchierando come al solito e a un certo punto del più del meno è saltato fuori dicendo “che fastidio quando la gente ti manda i messaggi vocali”. E ci siamo detti “cavolo, con le capacità del vibe coding adesso non sarà mica così difficile farsi un’app che ti fa la conversione dei messaggi vocali in testo scritto da WhatsApp, ad esempio”. Premessa: se voi avete un iPhone probabilmente questo problema non lo avete perché WhatsApp in Italia ve lo fa tradurre in italiano. Su Android così non è, quindi io che ho un Android mi arrivano i messaggi vocali e li devo ascoltare, non si scappa. E ho detto “magari riesco a fare qualcosa”. E ho iniziato a collegare dei pezzi. Il pezzo che ho collegato è la famosa app Google AI Edge Gallery, che è un’app che Google ha pubblicato su GitHub e poi sullo store, dove se tu la scarichi puoi scaricare i loro modelli Gemma e usarli nella loro app con dei demo, delle feature che loro hanno messo fuori. Poi gli chiedi cose come se fosse un ChatGPT, poi fai la conversione dell’audio, nel senso che gli carichi dei file e lui ti fa la conversione, e via dicendo. E quindi ho detto “sarà fattibile, nel senso Google l’ha provata, quanto sarà difficile farci un’app intorno?”. Mica troppo per un modello. E allora ho deciso che la facevo quest’app per mio uso e consumo personale. Era scomoda per me questa cosa e me la sono creata. Sono affascinato da come sia andata l’attività, perché per me questa è stata un’attività di un sabato mattina in cui senza la famiglia sono riuscito ad andare a fare colazione con calma, non sapevo cosa fare al bar, ho preso in mano il telefono e ho iniziato una conversazione con Gemini e gli ho detto “senti, io vorrei fare questa app che fa sta cosa, secondo te è fattibile?”. E lui mi ha detto “certo che è fattibile, boom, io la farei così”. Mi ha fondamentalmente tirato fuori un PRD. Ho detto ok, lui aveva messo molti più dettagli di quanti io avessi mai immaginato nel mio SMS che gli ho dato per chiedergli l’idea, letteralmente. E va beh, sembra realistica sta roba. Sempre dal telefono ho preso quei dati, li ho dati a Claude Code tramite Telegram, per fare il nerd anche quando sono in giro, e gli ho detto “senti, io vorrei fare sta roba, secondo te è fattibile? Visto che non mi fido di Gemini”. Claude Code mi ha detto “sì è fattibile, ma come la gestisci questa, questa e quell’altra cosa?”. A me lo chiedi, ne so. Vedete? Facciamo una cosa: glielo richiedo a Gemini. Allora glielo ho richiesto a Gemini: “guarda che Claude chiede questo, ha ottime domande, rispondile così”. Quindi ho fatto da passacarte tra i due modelli al bar. Glielo ho ridato a Claude, e Claude fa “a posto grazie, queste sono tutte le informazioni di cui avevo bisogno. Posso fare. Vuoi che lo faccio?”. Fallo!

Alessio

Vedi te!

Paolo

A questo livello di semplificazione, però c’era un pochettino più di processo intorno. Gli ho detto “vabbè, creami dei backlog così che possiamo farlo un pezzo alla volta”. Lui ha fatto sta roba, mi ha creato una decina di backlog e poi mi fa “vuoi che inizio a farli?”. Sì, inizia a farli. E io mi ricordo che ho lasciato il bar, che è a 15 minuti da casa mia, col telefono in mano, stavo guardando e stavo vedendo Claude che faceva cose. Creava classi, faceva robe. Sono arrivato a casa e ho detto “wow, ci ha fatto cose”. Non ho visto l’app, non ho visto neanche se compilava a quel punto. Sta di fatto che, tempo dopo pranzo, il primo prototipo funzionava. Io ero riuscito a mandare un messaggio a un’app Android scritta in Kotlin, un linguaggio che io non conosco, che traduceva un messaggio vocale con un modello di Gemma. Ho detto “ok, adesso mi rendo conto della capacità di tutte queste cose”. E non solo, mi rendo anche conto di a che cosa serviva il progetto AI Edge Gallery di Google. Perché fino a prima mi sono sempre detto “perché Google ci ha messo fuori questo progetto? È un gioco, fondamentalmente un demo”. Il valore non era nel demo, il valore era nel farci vedere che cosa si può fare e nel prestarci il loro codice, che è pubblicato lì, a cui io posso andare dal mio Claude e dirgli “senti, devo fare una roba, usa lo scaffolding di quel progetto, copia sta roba”. E lui infatti non ha fatto fatica a portarmi lì.

Alessio

Si fanno più o meno così.

Paolo

Io praticamente in una giornata, meno di una giornata, avevo la POC. In cui la gente va dai founders a farsi dare dei soldi. Queste cose ovviamente noi, come si dice, la nostra app non è così profonda, non c’è un modello di business, poi non ci interessava fare. L’abbiamo messa open source, la trovate su GitHub. Provatela, testatela, forkatela, spaccatela, fate quello che volete. O chiedetelo al vostro Claude Code.

Stefano

Ma la trovano anche sul marketplace, non solo su GitHub, diciamolo.

Paolo

L’abbiamo pubblicata anche su Google Play. Sì, questa è la seconda parte della mia storia. Fondamentalmente la prima parte della storia è: arrivare alla funzionalità è stato obiettivamente molto veloce. Che cosa è stato più lungo? La parte più lunga è stata fare un’app Android per bene, quindi far sì che non crashasse quando facevo dei giri strani, ogni tanto Claude era confuso perché una versione di Android fa una roba, l’altra non la fa, a seconda di dove la testavo. Il vero mestiere del software engineer che perde la sua vita in cose non divertenti ma nelle cose più mondane per farle funzionare. Lì ho perso quasi due settimane, tra cui pubblicare sullo store. Lo store mi ha detto “guarda che stai violando la cosa perché stai usando binari da 16k anziché da 8k”, nonostante io avessi copiato dal repo di Google, quindi non si erano messi d’accordo tra di loro. Insomma si è perso un po’ di tempo a fare sta roba. Io l’ho trovato interessante perché ho fatto una cosa che di solito non facevo. Mi sono reso conto che oggi, Stefano tu lo hai fatto prima di me con un’app, quando ti ricordi? Un’app…

[41:10] App AI fai-da-te: dall’idea alla validazione in un weekend

Paolo

…mobile ma web, che partiva dal web, io invece una nativa. Sta roba è fattibile. Per qualunque cosa: se voi avete bisogno di un’app per fare, non so, tenere i conti di casa voi e vostra moglie, perché vi capite solo voi, non c’è più costo per metterla in piedi sta roba. Potete addirittura pubblicarla, ve la fanno pubblicare, vi prestano infrastruttura. Senza senso tutto questo.

Stefano

Che poi è quella cosa che qualcuno dice, che la prima cosa che potrebbe subire contraccolpi sono proprio le app, paradossalmente. Perché tu adesso hai fatto il giro completo del fare la app, eccetera eccetera, ma la gente stessa, che poi è invece l’esperienza che ho avuto io, diciamo web, che ho fatto quest’app per lo studio della matematica, particolarmente focalizzata su un tipo di esercizi che servivano per una persona, per mia figlia. L’esperienza è che lui alla fine mi ha fatto tutto e mi ha detto “lancia python -p 8080 e guardatela”. Che se è per uso personale davvero diventa un po’ la… Più professionali diciamo, più generalisti, che devono risolvere tanti problemi di tante persone. Perché ora che trovo quella giusta, la provo, la capisco, vedo di capire quali sono le funzionalità che mi servono, eccetera, l’ho anche già scritta se so che cosa sto facendo. È davvero un impatto notevole. Dall’altro lato è un’apertura alla creatività. Quando si dice che il lavoro del programmatore è morto, è vero in parte. Dall’altro punto di vista, un’apertura alla creatività. Tu magari, la stessa idea di fare che i vocali ti rompessero le scatole e che avresti voluto un’app che lo facesse, ce l’avevi anche due anni fa. Ma mai ti saresti messo lì con Kotlin a scriverti le cose, ci mettevi sei mesi probabilmente. Almeno io ci avrei messo sei mesi non conoscendo tutto l’ambiente, tutto il circo.

Paolo

Assolutamente. Il pensiero che mi è venuto in mente in questa esperienza è stato quando mi sono sposato. Quando mi sono sposato ho deciso di fare il sito per il matrimonio io di mia mano. E io non faccio web, CSS… noi siamo programmatori back-end, è la cosa peggiore che ci potesse mai chiedere di fare. E vabbè, però dai è il mio mestiere, con un po’ di tempo e pazienza posso farlo succedere. E l’ho fatto, avevo fatto il sito, ero soddisfatto, l’avevo fatto a mano sto mestiere. Lo facessi oggi anzitutto non lo farei a mano, ma probabilmente farei un’app, farei non lo so della roba 3D, non lo so, ci butterei dentro qualunque funzionalità che mi viene in mente. Così, software consumabile che possiamo buttar via settimana prossima.

Stefano

Sì. Solo consumabile, sai, ti racconto quest’altra storia. Stamattina passeggiata del mattino, essendo tutti anziani facciamo passeggiata del mattino, e non ci ho cani, io non faccio la pipì in giro, possono stare tranquilli i miei vicini, faccio a casa. Però vado a fare questa passeggiata e…

Paolo

Porto fuori il cane che lo piscio.

Stefano

…mi sono trovato a pensare a un’idea di una possibile app, ma ben più evoluta, ben più strutturata, anche poi nel tipo di offerte che potrebbe avere per altri. E mi sono trovato anche a pensare: se non fosse che devo partire per le vacanze, magari la potrei vibe codare un POC questo weekend, se non avessi altro da fare con un robot eccetera. Però è una roba incredibile: arrivare dal pensiero, che magari è una sciocchezza, ma arrivare alla validazione anche di quella che è stata un’idea nel giro di pochissimo è incredibile. Poi parliamo anche del robot, che…

Paolo

Aspetta, non voglio rovinarti la vacanza, ma sappi che una delle cose che ho imparato e mi sono trovato a fare in questi giorni…

Stefano

Non lo faccio.

Paolo

Installare un’app locale sul tuo telefono Android adesso è molto facile. In particolare Android te lo fa fare in wireless, quindi in realtà devi soltanto attivare una cosa e buoni, installi. Però la compili locale. Un giorno ero fuori casa e ho detto “ok, ho fixato qualcosa, sempre su Telegram, e come la provo? Che palle”. Poi ci ho pensato e ho detto: se io chiedo a Claude di creare una GitHub Action e buildare la mia immagine sulle risorse di GitHub, lui può pubblicare la APK, quindi l’installabile dell’app Android, su GitHub stesso. Quindi io da fuori casa gli ho detto “senti, buildamela nel cloud, pubblicamela lì”, quindi non sullo store. E io da utente di GitHub sono andato su GitHub, ho scaricato la APK e dal bar mi sono installato un’app che il mio computer di casa stava buildando per me. Quindi tu tecnicamente questo mestiere lo puoi fare anche una volta atterrato.

[46:49] Burnout e tempo off-grid: sapere quando staccare

Stefano

Ma no, lo farò. Mi sono ripromesso che spengo tutto e non mi tengo nessun canale che comunichi con il mio computer. Userò soltanto i miei vari abbonamenti per farmi dire cosa andare a vedere a New York.

Paolo

Perché sei come uno dei CEO che dice che è andato off grid per un mese per ricaricarsi.

Stefano

Non è un mese, sono 10 giorni, ma ci provo. Ne ho seriamente bisogno.

Alessio

Però ci sta assolutamente. Ma a parte il tuo caso specifico, se ci pensi, ne parlavamo anche con amici colleghi settimana scorsa alla conferenza. In generale questo fatto delle AI sta portando direttamente o indirettamente un po’ a… anche senza che se ne accorgano, perché la possibilità di dire “va bene continuo a sviluppare, faccio…” insomma, se vuoi è addictive. E ne parlavamo anche in passato, un pochino bisogna stare attenti a tenere separato.

Stefano

No, io che purtroppo l’ho vissuto il burnout, Alessio c’era quando io ho vissuto il mio burnout tanti tanti anni fa, lo riconosco un po’. E la vacanza capita a fagiolo e mi sono ripromesso che vado off grid, sì, e mi impegnerò per farlo. Magari leggerò dei libri sul Kindle, sull’argomento. Questo può darsi, ma vabbè, lì fa parte della passione. Però è un’altra cosa. Cercherò di…

Alessio

Io credo che, sarà che vabbè io sono molto meno preso di voi su queste cose volente o nolente, stare con persone che sono completamente fuori dal giro aiuta, inclusi i bambini.

Stefano

Sì, sì, assolutamente sì.

[48:42] Scout, cifrari e progetti creativi dei bambini

Paolo

Ok, allora vi confesso, scusate siete seri, vi rendo lievemente meno seri. Probabilmente io allora sono troppo nel giro e troppo dentro, perché hai parlato di bambini e mi hai fatto venire in mente mia figlia. Mia figlia sta andando agli scout. Per gli scout gli hanno chiesto di fare un progetto, una preda si chiama. E lei, senza che c’entro io, credetemi, ha deciso con i suoi capi scout di fare un cifrario, quindi un codice segreto che cambia le lettere da una all’altra per mandare messaggi segreti. E niente, l’ha fatta. Ha fatto quei cartoncini colorati, ha campato per aria in cui lei ha fatto scegliere a ognuno dei suoi amici una combo diversa, così ha un crowdsourced codice, non so perché, però gli è piaciuta sta roba. E c’ha sta mappa, traduce, è tutta contenta. E dopo che ho fatto sta roba con i modelli di Gemma mi stavo dicendo “cavolo, questi modelli mobile posso fargli fare altre cose, non solo tradurre i messaggi, devo trovare qualche altra idea”. E ho pensato: una delle cose che potrei fare è creare un modello visuale che legge i messaggi cifrati e con la mappa traduce live i messaggi. E quindi forse farò anche questa cosa, anche se tu mi hai suggerito di andare con gli esseri umani normali per non fare burnout.

Alessio

Mi hai fatto preoccupare perché anche mia figlia è negli scout, anche lei ha credo la prima preda da fare. E onestamente, a parte che non me l’ha detto, penso siano ormai molto…

Paolo

Non centro io in questa, insisto che non centro.

Stefano

No, beh, io ho un figlio piccolo di 6 anni che ogni tanto mi dice “chiedici lo a CiacciGPT”, quindi siamo messi malissimo. “CiacciGPT” lo chiama, e quindi siamo messi malissimo a quel punto. Devi stare lì, però…

[50:36] Lince: sandbox e dashboard per i coding agent

Stefano

Allora, hai toccato Gemma e dobbiamo parlarne. Ho toccato il robotino e vorrei parlarne. Ma prima di parlare di queste cose: easter egg. Che arriverà lunedì sui social eccetera, ma per i nostri ascoltatori affezionati lo sentono già il sabato. Insieme all’app mobile che diceva Paolo, abbiamo sistematizzato un po’ anche un’app su cui stavamo lavorando per fare il sandbox dei vostri coding agent e usarli tutti insieme in una dashboard, tutto dentro il terminale senza uscire dal terminale. E anche lì c’è la storia nella storia. Io questa roba qua la uso ormai da tre settimane con grande soddisfazione sulla mia macchina. Mentre la sistemavo nel tempo libero per renderla più carina e poi eventualmente pubblicabile. E poi c’è stato il momento del dire “vabbè, però facciamo una roba che sia facile da installare, single script, come si usa adesso”. E io l’ho messo sulla mia macchina. Primo colpo è andato il single script e ho detto “va, che bravo che sono stato”. Poi sono passato a fare delle virtual machine nude di Linux, Fedora e Ubuntu, e non è stata così al primo passaggio. Ho fatto un po’ di cicli per riuscire a farlo funzionare. E poi detto “va beh, Paolo, dai, provalo tu adesso”. Macchina non nuda, già con tutte le menate che tutti i programmatori hanno di cose installate, mezzo installate, disinstallate, mezzo disinstallate. Andava niente.

Alessio

O comunque cose diverse dalle tue installate e quindi con…

Stefano

O comunque diverse dalle mie. Andava nulla. E dopo un po’ di cicli e ricicli alla fine ce l’abbiamo fatta. E già che c’ero, in tutti questi cicli e ricicli, l’ho provata anche su Mac, così va sia su Linux che su Mac. Windows no, perché fare il sandbox su Windows è praticamente impossibile. Anche se abbiamo una issue aperta e prima o poi ci studieremo, o se qualcuno vuole contribuire la trovate su lince.sh. Provate a installarla, dateci commenti e provatela.

Alessio

E stresserei il fatto di “vostri coding agent”, perché tutto questo era nato inizialmente solo per Claude Code e invece adesso funziona anche con…

Stefano

Giusto. Con Codex, Open Code, Gemini, out of the box. E poi potete configurarne altri se volete. La documentazione al momento è un po’ lunga da leggerla, guardavo ieri sera, magari gli faccio dare una lucidatina da Claude prima o poi. Che sia un po’ più facile da leggere sarebbe un vantaggio.

Alessio

Che dettaglio da dire, sintetizzarla.

Stefano

Cos’altro dire? Perché dovreste usarlo: al di là dell’avere il multi-agente, che è una cosa che io trovo molto utile, io spesso ho Claude e Codex aperti sullo stesso progetto e li faccio lavorare insieme, o istanze multiple di Claude, ma li potete avere anche nella stessa finestra senza continuare a saltare di qua e di là. Agenti diversi che lavorano su directory diverse, quindi fate progetti in parallelo. Ma se non siete matti come me che fa queste cose, comunque avete la sandbox. E come ho detto ad un meetup l’altra settimana: se usate un agente di coding fuori da una sandbox siete delle brutte persone. Quindi vi volete…

Alessio

Vi volete male. A meno che voi verifichiate ogni singolo comando che fa l’agente.

Stefano

Fortuna. Lavorare in sandbox vi permette di lavorare, infatti è l’impostazione di default di Claude con –dangerously-skip-permissions, e quindi fa tutto senza chiedervi autorizzazioni. Tanto se siete in una sandbox, fotografa la configurazione prima, dopo, leggete la documentazione, provate a installarla e divertitevi. Metteteci commenti, discussioni, GitHub, o quello che volete.

[55:09] Robotica con Cyberwave: digital twin, edge AI e cingoli rotti

Stefano

Robot. Io e Paolo… Non ce l’ho la voce del robot, non sono bravo a fare queste cose. Anche perché il mio robot va, farne… Come è in moto, ma se volete. Allora, io e Paolo ci siamo imbarcati, iscritti in un contest di Cyberwave che è…

Paolo

Fai la voce del robot, fai la voce del robot.

Stefano

…un’azienda italiana, startup che fa robotica. E abbiamo anche intervistato Simone Di Somma, che è il founder. Potete ripescare l’intervista quando volete, è un’intervista di inizio gennaio se ricordo bene.

Alessio

Di Mesefa.

Stefano

E fanno cose molto interessanti: cercano di semplificare l’esperienza dello sviluppo su robot creando quelli che loro chiamano digital twin, gemelli digitali, per poter programmare prima in ambiente virtuale, poi portarlo sulla robot. Abbiamo cominciato, vi faremo sapere come va. Al momento ci stiamo un po’ litigando, in tutta sincerità, almeno io. Io poi sono sfortunato di natura con i robot, perché come mi era arrivato il pezzo sbagliato per il braccio robotico, mi è arrivato questo robot che è un rover con un cingolo rotto. E vabbè, sono sfortunato.

Paolo

Secondo me non controlli la tua forza Stefano, sei diventato troppo forte con le braccia e quindi tocchi…

Stefano

No, ma come ha fatto? Era rotto quando l’ho tolto dalla scatola!

Paolo

Facciamo vedere, guarda la mia di scatola, non si doveva staccare questa parte qua.

Stefano

Vedi? Invece no, invece io l’ho trattata bene. No, e vi racconto la storia nella storia qua, divertente. Per questa cosa qua del cingolo ho scritto anche all’assistenza del produttore della robot, perché ho detto “boh, magari loro hanno un’idea diversa di come mettere a posto sto cingolo”, perché al momento va ma non va benissimo. E questi mi hanno risposto, cinesi immagino, Waveshare credo sia cinese, mi hanno risposto dicendo “devi smontare il cingolo e vedere se riesci a rinfilarlo”, cosa che non si… non succede, ma questo è un altro discorso. E mi hanno mandato “e per smontarlo segui questo video”, con un link ad un equivalente YouTube cinese o indiano, non so di dove, bloccato dal Ministero degli Interni per pedopornografia. Io ho anche scritto, quindi di cosa stiamo parlando. Non il video in sé, sicuramente il video in sé smontava il robot, ma la piattaforma era bloccata dal Ministero degli Interni.

Alessio

Sì, l’IP era bloccato dal DNS.

Paolo

Very well.

Alessio

Quindi hai deciso di cambiare provider VPN per vederci, o hai fatto la persona buona?

Stefano

No, ho lasciato perdere. Tanto, come smontare un cingolo: bisogna smontare una ruota e l’ho smontata.

Paolo

Senti, diciamo qualcosa di intelligente allora. In realtà il fatto di avere il robot rotto quasi valida l’idea di business e la piattaforma di Cyberwave, giusto?

Stefano

Sì, è giusto, è proprio così. Perché comunque io tutta la parte di sviluppo la posso fare sul digital twin. E poi siccome siamo in squadra insieme io e Paolo, eventualmente la parte di sviluppo che ho fatto io e lui la integrerà e la farà girare sul suo robot fisico, anche se il mio cingolo non funziona.

Paolo

E poi confessiamo, come tutti quando abbiamo saputo di avere un robot con i cingoli e le ruote che si può spostare, la prima cosa che abbiamo pensato di fare è di farli combattere alla morte con una sega circolare e fare le scintille e distruggerli.

Stefano

Sarebbe stato bellissimo, però non abbiamo trovato la sega circolare da montarci.

Alessio

Se vi accontentate di meno, ci sono strumenti da giardino tipo quelli per tagliare i tronchi che…

[59:10] AI e robotica autonoma: dal rover al porto, cosa tenere sul ledge

Paolo

Comunque, se qualcuno si chiede “che ce ne frega del vostro robot?”, domanda lecita. Ma il motivo per cui ve ne può fregare è perché in realtà la robotica moderna va a braccetto con l’AI e la computazione AI all’edge. Cosa significa? Significa che il nostro robottino può comunicare con internet, quindi può, se vede una foto, mandarla sui server, dirgli “cosa ci vedi” e reagire. Ma molte delle realtà pratiche industriali, mondiali, anche di guerra se volete un esempio un po’ estremo, non hanno accesso a internet e quindi deve fare cose in autonomia. Se ne ha sentito parlare appunto sui droni della guerra recentemente, che sono in grado alcuni di ragionare da soli. Il robot ha le stesse esigenze, diciamo: se va sottoterra a cercare di salvare le persone chiuse nella grotta, ci deve andare e a un certo punto dare per scontato di perdere contatto con lui e chiedersi “che cosa fa?”. Quindi deve applicare tutte queste cose di AI che noi stiamo studiando, sia di machine learning tradizionale che di AI basata su AI generativa, su se stesso, e prendere decisioni in autonomia. Quindi una cosa come mandare in giro il robot per casa e vedere se riconosce la pianta viva dalla pianta morta è un’attività tendenzialmente di AI in cui combina la robotica fisica di spostare l’oggetto e l’identificazione dell’informazione.

Stefano

Per fare un esempio meno drammatico dei droni, pensate al nostro rover che ha una telecamera e che deve ad esempio ispezionare come sono state messe le ancore in un porto, che potrebbe essere tranquillamente un’applicazione. E lo lanci a tutta velocità verso il molo della banchina e se perde connessione e non hai sull’edge la capacità di riconoscere quando la banchina è finita, fa un tuffo. E questo non deve succedere. Per cui il gioco lì è decidere quanto tenere sull’edge e quanto invece fare in cloud. Quindi magari i compiti complessi, capire, stando nel mio esempio, che il cavo non è attorcigliato abbastanza bene al molo, puoi farlo in cloud perché se fallisce al massimo ti perdi un’informazione. Il riconoscere l’ambiente circostante per non andare a schiantarti o non andare in mare è una cosa che devi fare sull’edge. Che se vogliamo, tornando al mondo AI, è anche: cosa metto nel modello, che cosa metto nei guardrail, o in applicazioni più complesse, agenti che man mano si svilupperanno, quanta roba tengo in un modello locale che deve fare tutta la parte di guardrail o di accesso a dati privati eccetera, e cose invece delego ad altri agenti. È interessante anche da quel punto di vista, proprio dal punto di vista del design della soluzione intera. E il fatto di avere un oggetto fisico che se si schianta si rompe aiuta di più a stare attenti, diciamo.

Alessio

Beh, a me viene in mente la guida autonoma alla fine.

Stefano

Sì, la guida autonoma è l’esempio già applicato. Anche i rover spaziali hanno le stesse caratteristiche, in qualche modo.

Paolo

Praticamente stai dicendo: forse non è il caso di testare sempre il codice in produzione.

Stefano

No, forse no. Forse meno. E l’idea di Cyberwave è proprio quella lì: prima di testare in produzione, ovvero prima di testare su un oggetto anche delicato fisico, si testa in un ambiente virtuale 3D dove mal che vada, come in un videogame, si schianta il videogame.

Alessio

Per una vita.

Stefano

Hai perso una vita, ma ne hai tante come i gatti.

[01:02:52] Gemma 4: modelli edge multimodali che sfidano i giganti

Stefano

Gemma, chi ha visto di Gemma? È interessante questa cosa qua, perché si collega un po’, no?

Paolo

Io ho guardato qualcosa, ma se volete delle informazioni più tecniche di cosa c’è dentro il modello, non è il mio ambiente. Quindi forse, non so se adesso tu hai guardato quelle cose e le vuoi commentare.

Alessio

Ma in realtà ho guardato l’annuncio, ho visto che sono appunto Gemma 4. Nuova, un nuovo major release di questi modelli che Google aveva fatto per utilizzo in ambienti edge, quindi sono modelli relativamente piccoli.

Paolo

Che sulla nostra app mobile noi montiamo i Gemma 3 ad oggi, e oggi pomeriggio monterò i Gemma 4, perché sono fuori e non c’è costo.

Alessio

Esatto. Perché se ne parla molto bene. Tanto che in alcuni benchmark che loro pubblicizzano nell’annuncio si vede che il modello, per dire quello un po’ più grossino, che comunque non è così piccolo perché è 31 billion, compete con modelli decisamente più grossi. Ho visto il paragone con i Qwen 3.5, di cui si parlava molto, diciamo molto entusiasmo nelle ultime settimane. Il confronto è quasi alla pari con il modello da 397 billion di Qwen 3.5.

Paolo

Non so se lo sai, ma il paragone con i Qwen non è casuale, perché nell’app Edge Gallery di Google, loro ti propongono anche di scaricare i Qwen se vuoi. Quindi ti consentono di verificare come si comportano i loro contro quelli di qualcun altro.

Alessio

E non è casuale per vari motivi. Uno di questi motivi è il fatto che sono più o meno riconosciuti come la cosa più moderna, più funzionale nell’ambito dei modelli che si possono utilizzare in locale, e quindi giustamente sono competitor. E in più c’è il discorso della licenza, che sono Apache Source License 2.0, quindi utilizzabili sostanzialmente liberamente. Molto interessante, perché sono modelli sufficientemente piccoli da essere utilizzati da direi da chiunque, anche dal telefono, sì.

Paolo

Dal nostro telefono. Vi dicevo, io li ho visti girare. Anzi, erano il mio primo approccio, prima di rendermi conto che forse per la trascrizione potevamo ottenerla più semplice usando un Whisper normale. Ma sono completi, funzionano. Peraltro, altra nota: i modelli Gemma 4 rispetto ai 3, i 3 non tutti erano multimodali, soltanto alcuni. Questi invece sono tutti multimodali, e quindi è un grosso punto. Per dirvi che cosa ci si può fare, facendo un piccolo parallelo con la nostra app di trascrizione dei messaggi: se un modello Whisper semplicemente vi converte l’audio in testo, un modello Gemma essendo un modello completo di AI generativa, oltre a saper fare quello, e lo fa, potete chiedergli di fare quello che volete sul testo generato. Immaginate che volete chiedergli un riassunto, o volete chiedergli di dirvi se è vero quello che vi è stato detto oppure no, di verificarlo, di tradurre in francese. Potete fare tutto questo genere di cose. E questa capacità gira sui telefoni.

Alessio

Modello generalista.

Paolo

È un modello generalista. E questa capacità gira sui telefoni. Fa anche la parte Whisper, sì sì.

Stefano

Ma fa anche la parte Whisper, fa anche la parte text-to-speech.

Paolo

Quando selezioni Gemma sulla nostra app, la fa lui quella parte lì. E la fa bene, non è il default perché non è il più veloce. E se uno vuole tradurre i messaggi tendenzialmente li vorrebbe più in fretta che può. Però se tu invece hai altri interessi rispetto a questi messaggi, immaginate un amico che vi manda sei minuti di messaggio, non avete neanche voglia di leggere il testo, non solo di non ascoltarlo. Gli chiedete “senti, fammi un riassunto” e lui ti fa il riassunto.

Stefano

No, invece così, folclore, tanto per sorridere e alleggerire che siamo verso la fine. Io ricordo quando erano usciti Gemma 2, quindi parliamo di un anno e mezzo fa, che ricordo che Meta disse “Google non è neanche in grado di avvicinarsi ai nostri modelli Llama piccoli”. E poi Google ha acceso la motosega.

Alessio

Non si sono avvicinati, nel senso che li hanno superati senza che se ne accorgesse nemmeno, stando ben distanti.

[01:08:42] Voxtral TTS di Mistral e sviluppi AI in Europa

Stefano

E va bene così. Invece no, voce voce voce, parliamo di Europa. Un momento di silenzio e di attenzione perché succede qualcosa in Europa che addirittura potrebbe non essere solo che spendono i soldi. Dal governo francese, Mistral lancia Voxtral. Allora, di Mistral abbiamo parlato già parecchie volte e abbiamo anche detto che i loro modelli, che loro chiamano state of the art, fanno pietà. Ed è la realtà dei fatti, sempre per non avere opinioni forti. Però invece sul modello text-to-speech, che fa solo quello, quindi concorrente di Whisper di OpenAI, pare che Voxtral TTS… Io gli ho dato una provata al volo con la componente voice-to-text di Lince.

Alessio

Lince.

Stefano

Devo dire che è molto veloce, molto preciso, ed è anche molto piccolo. Perché 4 billion contro gli 11 mi pare della versione di Whisper che funziona bene. Perché c’è anche più piccolo Whisper, ma…

Alessio

Quindi bisogna mettere Voxtral anche nell’applicazione Antivocale, Paolo.

Paolo

Allora, ho chiesto ovviamente, io tutte queste richieste ormai le faccio quotidianamente a Claude dicendogli “senti, dobbiamo fare queste cose”. E lui mi dice ogni tanto “sì” e ogni tanto mi dice “vorrei ma non posso”, nel senso che nessuno ancora ha pacchettizzato il modello in maniera tale che giri sull’architettura di ONNX su mobile. Quindi aspettiamo che qualcuno che sa che cosa sta facendo pubblichi gentilmente queste cose. E appena ci sono, certo le agganciamo.

Alessio

Sì, perché in realtà io avevo fatto un’applicazione che trasforma un modello nella sua versione ONNX. Ma richiede che tu sappia che cosa devi fare.

Paolo

Ma ti dirò, l’ho fatto anch’io quella cosa, perché uno dei modelli che proponiamo non era in quel formato. Lui mi ha detto “guarda, c’è, ma dobbiamo convertirlo, vuoi che lo convertiamo?”. L’abbiamo fatto ed è stato un trial and error, perché il layer dei metadati non era ben documentato e quindi non sempre funzionava. Però i modelli riescono a farlo. Io confesso, ad oggi non sono sicuro di che cosa ho fatto, ma l’ho fatto e ha funzionato.

Alessio

Sì, perché l’idea è che ONNX non è soltanto un formato di delivery dei modelli, ma è una piattaforma con la quale fai ottimizzazione del modello per funzionare su una determinata architettura. Quindi devi anche sapere cosa fai, se no ottimizzi a caso.

Paolo

Vabbè, quindi siamo un po’ nel tecnico. Però temevo che il discorso della multi-architettura di Android sarebbe stato un ostacolo alla nostra applicazione, invece a quanto pare no. Evidentemente i componenti di terza parte che utilizziamo noi per far questo avevano già assorbito parte del problema, perché se non ho capito male supportiamo anche processori x86 sul telefono. Io non ho nessun amico che me lo possa testare, ma mi ricordo che quando volevo comprare un telefono ho visto che esistevano anche quelli. E possono averli, perché…

Alessio

Quindi non ARM.

Paolo

Non solo ARM. Credo che noi ne supportiamo già adesso più di uno. Lo scoprirò se qualcuno mai si degnerà di installare l’app e provarla. Perché è una delle altre cose che ho scoperto, che si possono fare relativamente facilmente: integrarsi con l’ecosistema di Google, che automaticamente ti lancia i bug report se qualcuno gli crasha l’app. Come nell’esempio di prima di Stefano in cui, tutto contento, ha detto “ok ho finito la mia app, la faccio provare ai miei amici”, non funzionava neanche al lancio. Stessa cosa per la mia app: l’ho data agli amici, neanche al lancio funzionava per degli irragionevoli motivi che io non vedevo. E che invece il tracing trovava. E fare il funnel di queste informazioni dall’applicazione di tracking indietro a Claude Code, dicendogli “guarda che qualcuno ha riportato questo”, lui non batte ciglio. Se uno sviluppatore è stressato da qualcuno che gli riporta un bug trace perché deve capire cos’è, lui fa “a posto, sì sì, è qui e qui il problema, bontà, la rilascio a posto”. L’umano è quasi fuori dal loop adesso, se non per testare la roba.

Stefano

Bene, usciamo anche noi dal loop, che siamo oltre l’ora e dieci. Salutiamo tutte e tutti, abbiamo detto meno della metà delle cose che avevamo in scaletta come al solito, ma vabbè, ci saranno altre occasioni. Grazie, campanelline, commenti, domande. Ciao!

Alessio

Ciao!

Paolo

Ciao!

Updated: