Gitbar logo

Gitbar Italian developer podcast

Conversazioni sullo sviluppo software fatte davanti a una birra.

copertina episodio

Cheerp e webassembly con Alessandro Pignotti (Leaning Technologies)

Stagione 4 Episodio 158 Durata 01:09:54

Questa settimana affrontiamo un tema caldo, parliamo di Cheerp e di webassembly con Alessandro Pignotti. Parliamo anche di come si gestisce l’hype dato da una tecnologia di cui tutti parlano.

Community partner

Gitbar è partner di https://www.wearedevelopers.com/world-congress a parte i 2 ticket omaggio che abbiamo regalato nel gruppo telegram, è disponibile un codice sconto a questo indirizzo https://ti.to/wearedevelopers/world-congress-2023/discount/gitbar_WWC23

Supportaci su

https://www.gitbar.it/support

Ringraziamo

  • Cavalier Besugo - 3 🍺
    che ci scrive: Grazie mauro + ammutinati per il pregevole podcast! in 10 - 11 mwsi sono finalmente riuscito ad ascoltare i primi 100 episodi. Vi meritate un po’ di birre! (Per me una tazzona di cioccolata).
  • Zoran Stojkov - 1 🍺

Grazie di cuore

Paese dei balocchi

Link amazon affiliato

https://amzn.to/3XDznm1

Per favore ascoltaci usando una di queste app:

https://podcastindex.org/apps

Contatti

@brainrepo su twitter o via mail a https://gitbar.it.

Crediti

Le sigle sono state prodotte da MondoComputazionale
Le musiche da Blan Kytt - RSPN
Sweet Lullaby by Agnese Valmaggia
Monkeys Spinning Monkeys by Kevin MacLeod

Trascrizione

Bene e benvenuti su Geekbar, nuova settimana e nuovo episodio qua sul nostro bar degli sviluppatori.

Tengo la voce bassa perché mi trovo in un co-working che non ha uno spazio chiuso per registrare e qua ci sono tutta una serie di persone che vorrei evitare di disturbarle anche se insomma sono sicuro di disturbarle ma poco ci frega in realtà perché noi dobbiamo portarci a casa questa fantastica puntata con un super ospite, super ospite che vi svelerò tra qualche minuto subito dopo avervi ricordato i nostri contatti.

Potete entrare in contatto con noi via email a info-geekbar.it, via twitter a etbrain repo oppure col classico modo, il modo che noi amiamo che è il nostro gruppo telegram, gruppo telegram dove ci incontriamo quotidianamente e parliamo del più e del meno delle cose che ci interessano.

Benvenuti su Geekbar il podcast dedicato al mondo dei full stack developer, i mezzo artigiani, i mezzo artisti che ogni giorno infilano le mani nel fango per creare nel modo più efficiente possibile quei prodotti digitali che quotidianamente usiamo.

Qualche giorno fa proprio nel gruppo telegram ho visto che si parlava di una tecnologia particolare e Geekbar è quasi sempre nel penso, in realtà è stato del tutto casuale perché l'ospite l'ho invitato prima che si parlasse di questa cosa quindi diciamo ci avevamo visto lungo e sono felicissimo veramente felice di dare il benvenuto qua a Geekbar ad Alessandro Pignotti CTO di Linink Technology.

Ciao technologies, ciao Alessandro.

Buonasera Mauro, ben trovato.

Benvenuto sul nostro bar, come ti dicevo in pretrasmissione le birre sono versate e ti chiedo di accompagnarci in un mondo del quale ne so veramente poco, anzi per non dire nulla, quindi dovrei prendermi per mano un po' come solitamente facciamo al nonno boomer che deve imparare a leggersi la mail perché la banca ormai non gli stampa più gli estratti conti ecco vedimi come il nonno boomer della situazione stasera.

Farò del mio meglio ci proviamo dai.

Attualmente tu vivi, parliamo prima di una cosa che mi incuriosisce tantissimo, attualmente tu vivi in Olanda giusto? Sì corretto, sono nove anni che vivo ad Amsterdam e quindi oramai sono abbastanza stabile diciamo.

Ciao io ho un amico che è rimasto innamorato di Amsterdam, un amico sviluppatore è rimasto innamorato di Amsterdam ma qual è da una persona che abita così tanti anni ad Amsterdam la magia di questa città? Guarda ti dico la verità credo dipenda da che persona si è perché è una città che ha tanti aspetti diversi e io penso che quando la si visita per poco tempo e magari si vedono solamente le aree centrali, il quartiere a luci rosse queste zone così se ne può avere un'idea anche abbastanza sbagliata che sia una città caotica magari potenzialmente anche pericolosa ma appena si esce un pochino fuori dal centro si vede qual è la realtà di una città che è veramente molto a misura d'uomo e dove puoi andare ovunque in bicicletta anzi muoversi in macchina al centro è sconsigliatissimo ed è quasi un incubo e c'hanno moltissime attività culturali ad esempio io e la mia compagna ad esempio siamo grandi fan di andare moltissimo al cinema e qui in Orlando sono disponibili abbonamenti per cui puoi andare al cinema quante volte ti pare e finiamo che ci andiamo una volta a settimana e sono dipende penso veramente da che cosa da cosa ti piace una città che dà tanto a qualunque tipo di persona.

Invece dal punto di vista professionale a livello di umus di community attività fermento di questo tipo come la vedi? C'è anche ci sono moltissime anche qui moltissime opportunità c'è da dire che ci sono alcuni dei grossi player su dell'informatica in generale come ad esempio Booking che è la fata padrone Booking si è costruito nel corso degli ultimi anni una mostruosa sede di prestigio super centrale in un posto bellissimo ma c'è anche Uber ci sono alcune società che hanno serie di ricerca e sviluppo reali manca ad esempio Google c'è una piccola serie di Apple quindi ci sono alcuni dei player ci sono altri ci sono meno è una situazione un po' intermedia rispetto a Londra dove ad esempio sono veramente tutti o Berlino dove penso ci sono anche tutti ma ci sono anche tante micro realtà moltissime cose collegate al mondo della finanza ovviamente ed è anche molto interessante la scena delle conferenze l'anno scorso giugno scorso c'è stata GS Nation che la fanno tutti quanti gli anni e ho avuto anche il piacere di presentare ed è stata anche quella una bella esperienza.

Sì tra l'altro ho visto ho recuperato un tuo video c'è un tuo video che in realtà era il mio balocco ma lo spoilero c'era proprio un tuo video su YouTube registrato al GS Nation che suggerisco di vedere poi tanto ve lo dirò dopo però questi ultimi giorni come con la tua società che è da Lean in Technologies siete andati alla ribalta della cronaca tech dev quindi Reddit dev, Hacker News per un nuovo prodotto che avete lanciato che era Chirp J mi sbaglio? No non ti sbagli non è un nuovo prodotto è una nuova versione ed è anche curioso la storia che ha portato a questo post che è andato benissimo penso sia stato il nostro voglio sapere senti guarda non so se è una storia che mi fa molto onore perché è una combinazione di casualità e disorganizzazione ma alla fine conta nei risultati suppongo per cui noi stiamo lavorando adesso questa nuova versione di Chirp J con una nuova architettura Chirp J 2.X 2.3 quello che ha rilasciato adesso funziona molto bene ma ha alcune complessità e noi vogliamo fare una nuova versione che risolva tutto principalmente perché così ci semplifichiamo il nostro stesso carico di supporto se facciamo un prodotto più semplice dobbiamo rispondere a meno email siamo tutti quanti più contenti e quindi stiamo lavorando a questa nuova architettura che semplifica molti problemi e siamo arrivati al punto in cui nonostante non sia pronta veramente al rilascio a tutti come versione ufficiale è abbastanza stabile da poterlo cominciare a dare in mano a qualcuno e quindi abbiamo pensato potremmo contattare un paio dei nostri clienti esistenti che si sono dimostrati più aperti a provare cose nuove per dargli questa nuova versione ma poi ho riflettuto però un po' un peccato non accompagnare questo a un qualche post a un qualche contenuto anche solo per mandarlo insieme alla notizia dare qualcosa a queste persone da leggere e poi scrivendo questo post che doveva essere un piccolo post breve è rapidamente diventato un post abbastanza lungo e eravamo anche abbastanza contenti alla fine del risultato e quindi abbiamo pensato vabbè e facciamo il nostro solito rilascio su reddit hacker news ed è finito che siamo fatti 24 ore come primo risultato su reddit programming e anche su hacker news 12 ore in un page con una la nostra demo java feed che dimostra l'uso del prodotto che al momento ancora adesso su una versione showy showy chen su hacker news e la ti faccio subito una domanda brucia a pelo ancora prima di entrare nei dettagli tecnici di chirp j e poi dell'altro prodotto che che che mi interessava vedere quando si fa un rilascio di questo tipo e si diventa virali cosa passa nella testa del sito dell'azienda quali sono le gioie ma anche quali sono le paure più grandi di un impatto di questo tipo guarda è un'esperienza che ovviamente auguro a tutti quanti quelli che si trovano nella mia posizione ma è pesante perché in queste giornate quando va così è garantito che non si riesce a fare altro o almeno io non riesco a fare altro magari sono persone che hanno molto più self control e riescono a evitare di fare f5 sulla tab del browser in continuazione per tutta la giornata ma reddit in particolare è un ambientino reddit è perché il nostro post è andato ragionevolmente benissimo con 90 per cento più di app vot ma se vai nella sezione dei commenti è un disastro la maggior parte della gente reagisce con espressioni del tipo questa cosa non serve a niente va bruciata col fuoco e non sto paraprasando queste sono cose che letteralmente persone hanno scritto quindi insomma sai c'hai c'hai sì ti trovi lì che c'hai sei sotto gli occhi oggettivamente di migliaia di persone perché non tutti andranno a leggere l'articolo ma sul reddit programming in ogni certo momento ci sono varie migliaia di persone che lo osservano quindi se sotto gli occhi di tutte queste persone che gli unici che dove e vedi che gli unici che si prendono la briga di scriverti qualcosa sono quasi sempre cose molto negative quindi è intenso come esperienza in realtà per noi non è la prima volta che ci succede una mai in realtà tipo negli ultimi sei mesi ci è successo tre volte quindi siamo abbastanza abituati abbiamo la pelle abbastanza robusta ma allora lo fate in modo sistematico alessandro nel senso penso penso che siamo abbastanza bravini a fare a fare queste cose però ogni volta è una cosa che lascia le cicatrici senza dubbio senza dubbio infatti vabbè posto che questa è una mia opinione ma credo che reddit ancora più di hacker news è un 4chan vestito d'arancio è abbastanza la mia bombetta di oggi ed è proprio l'apoteosi della polarizzazione io e da qualche anno che lotto contro questi toni questi approcci fortemente polarizzati che spesso chiudono alle domande e non ne propongono di nuove capito e mi fanno uscire fuori di testa.

Sai che c'è che guarda se uno la guarda cinicamente purtroppo la realtà è che il gioco vale la candela dal punto di vista di chi vuole promuovere il proprio lavoro perché hacker news è la piattaforma migliore dal nostro punto di vista ma le sue dinamiche sono estremamente caotiche e casuali e non so se sei presente non so se ti è mai capitato di provare a fare una submission ma tu dal momento tu ti ritrovi che fai la submission e hai 30 minuti se in questi 30 minuti prendi due o tre app vot e finisci non page e avrai 10.000 visitatori se prendi meno di due app vot non ti vedrà nessuno quindi è veramente ti giochi tutto non sui piccoli numeri ma sui piccolissimi numeri sul nulla e noi diciamo ci teniamo anche noi non facciamo giochetti per cui ci votiamo tra noi stessi ci teniamo a fare le cose fatte bene diciamo e invece su reddit è dinamiche un po più tranquille per cui sei esposto abbastanza per qualche ora è più facile che qualche app vot lo prendi e quindi riesci a galleggiare anche se non diventi virale magari qualche centinaia poche migliaia di visitatori li porti comunque a casa quindi purtroppo è un ambiente un po così però ha i suoi vantaggi dal punto di vista di dinamica dell'esposizione.

Non stento a crederci nel senso che ho fatto due test anch'io che sono tipo l'uomo più buono social del mondo e ho visto che producevano io io promuovo solo dei semplici blog post talvolta molto limitati però in realtà mi son reso conto che producevano molto di più del twitter della situazione per esempio.

Alessandro però voglio per un attimo spostarmi a parlare di chirp j e di chirp in generale di cosa si tratta puoi raccontarcelo come se fossimo bambini di cinque anni o come se fossi bambino di cinque anni in modo da poterlo capire.

Ci proviamo in generale facciamo un bambino di cinque anni non lo so programmatore di cinque anni ci posso provare.

Vabbè che spesso corrispondono visto il post flame che il programmatore di cinque anni medium è compreso fa quindi.

Guarda ad alto livello le tecnologie che facciamo noi sono nell'ambito dei compilatori e delle macchine virtuali che hanno come target cioè come macchine sul quale l'esecuzione avviene il browser quindi dal nostro punto di vista per tutte le tecnologie che facciamo sono l'idea di far eseguire un'applicazione che o viene scritta da zero o era precedentemente esistente ed era per esempio per un computer desktop di farla eseguire nel browser completamente nel browser però non virtualizzando l'esecuzione su un server nella cloud o cose del genere.

Quindi in tutte le tecnologie che noi facciamo non c'è mai alcuna componente server side non c'è mai alcun componente attivo è tutto veramente eseguito all'interno del browser e a seconda della tecnologia di cui parliamo puoi partire da cppu puoi partire da java in realtà da java bytecode e anche da java come linguaggio ma direttamente dai file class o dai jar pre compilati e nel caso di cirpex si parte direttamente da eseguibili binari eseguibili x86 senza alcun step di modifica o preprocessing o qualunque cosa.

Quindi se ho compreso bene io ho delle applicazioni quindi ricapitolando cppu java e java immagino anche tutto l'ecosistema java è possibile far girare applicazioni in scala o mi sbaglio? Certo certo qualunque cosa si può fare sulla gm.

Si infatti non c'è differenza e queste girano completamente sul browser a questo punto la domanda è d'obbligo e immagino che la risposta sia parzialmente scontata qual è stato il momento in cui a livello tecnologico si è detto ok da questo momento in poi il browser può diventare di per sé un passa mille le virgolette giganti un quasi sistema operativo.

Penso che la risposta che darebbe la maggior parte delle persone che bazzicano questo campo è che questo è successo con l'arrivo di WebAssembly ok io onestamente non la penso così tutte queste cose si potevano fare già da parecchio tempo prima WebAssembly ha reso un pochino più veloce l'esecuzione ma la parte veramente critica nel rendere il browser una sorta di sistema operativo come tu hai detto correttamente non è tanto il linguaggio di programmazione JavaScript o WebAssembly che sia sono più le API che il browser fornisce in questo momento ne stiamo registrando questa call su un sito che fa uso dell'API per l'accesso alla telecamera al microfono per esempio che è una tipica funzionalità che il sistema operativo ti dovrebbe offrire allo stesso modo via o direttamente via HTTP tu puoi accedere a dei file quindi emulare un file system oppure puoi usare esempio servizi di terze parti come Dropbox o Google Drive quindi emulare un file system tramite API REST tutti questi piccoli componenti messi insieme alla fine ti offrono tutte le primitive come come le diciamo noi nel nostro nostro gergo di system developer che in qualche modo però uso nel browser hai tutte le primitive per implementare tutto alla fine quando noi lavoriamo si parte sempre da un presupposto se una cosa una cosa o si compila in nativo o si emula o si virtualizza ma con una di queste tre soluzioni si può davvero eseguire tutto non c'è nessun motivo concettuale per cui qualcosa non possa eseguire nel browser è assolutamente chiaro per cui a livello proprio tecnico Chirp e ChirpJ è tutta la suite cosa fa crea quindi un layer d'astrazione tra browser e applicazione o crea un quasi sistema operativo che gira dentro il browser dipende dipende dal prodotto e a seconda di cosa guardi osservi in realtà livelli di astrazione un po' diversi Chirp per di per sé è un compilatore dal C++ al WebAssembly e JavaScript ed è un prodotto per certi versi di basso livello per cui non cerca di far finta che esistano ad esempio i file non c'è accesso ai file quando usi Chirp perché non ci sono i file nel browser ti dà è un il compilatore pensato per darti accesso alla piattaforma così com'è e no poi noi usiamo questo compilatore a nostra volta internamente per sviluppare ChirpJ e ChirpX e questi due progetti questi due prodotti in realtà anche se in modo diverso tendono invece a offrire un livello di emulazione completo ad esempio il caso di ChirpX è quello più avanzato e più chiaro in cui sono letteralmente implementate le system call di Linux per cui tu usi la open la read la write la close la socket tutte quante le system call che sono fornite da Linux e tutte queste sono implementate in vario modo tutto in C++ con codice scritto e compilato con Chirp invece e sono tutte implementate in maniera tale che il codice virtualizzato internamente possa eseguire normalmente dal punto di vista del programma che sta avvenendo virtualizzato non c'è una reale differenza tra eseguire dentro il browser tramite ChirpX o eseguire in nativo un altro gergo che usiamo noi è che non è osservabile il programma non può osservare che c'è una differenza tra questi ambienti.

Come parte di WebAssembly hanno dello standard cioè specificato che il modulo WebAssembly questa è la terminologia può importare una serie di funzioni che vengono di solito dal JavaScript in realtà la formulazione è un po' più generica di così sono funzioni che vengono dall'ambiente in senso lato perché WebAssembly è anche pensato per essere integrato in ambienti non browser anche se noi personalmente abbiamo qualche dubbio su questo use case ma diciamo che lo use case esiste si parla ad esempio di blockchain, cosa server side ma non è il nostro interesse principale diciamo ma l'idea è quella tu fornisci un certo insieme di funzioni provenienti dall'esterno che possono essere le funzioni che ad esempio ti danno accesso ai file via HTTP per farti un esempio o alla telecamera al flusso del microfono e questi qui vengono alla fine visti dal punto di vista di WebAssembly come una funzione che viene chiamata e fa delle cose e ritorna un risultato.

Tutto questo è tutto un po' asimmetrico e non è esattamente super elegante per certi versi perché WebAssembly è come hai detto tu è una sorta di sandbox computazionale puoi fare dei contazzi e tirarti fuori il risultato ma non puoi fare altro fondamentalmente non puoi fare input output letteralmente non hai neanche accesso a delle primitive abbastanza banali come misurare il tempo non c'è un modo in WebAssembly per misurare il tempo devi per forza farlo tramite JavaScript e il mondo di WebAssembly non può accedere al mondo esterno ma il mondo esterno può accedere al mondo di WebAssembly quindi ad esempio non funziona veramente così ma per darti un'idea concettuale di come funziona se tu volessi implementare questa sorta di sistema operativo che fa girare un'applicazione WebAssembly tu gli passeresti la open, la write, la read come import il modulo WebAssembly richiama il modulo WebAssembly non può vedere cosa succede internamente può solo chiamarle e aspettare il risultato e questa cosa è effettivamente molto simile a quello che succede in nativo con un sistema operativo.

In realtà piano piano la nebbia si sta si sta si sta si sta un po' sfoltendo non mi viene la parola italiana per dire diradando e voglio chiederti questo tipo di prodotti e parlo di Chirpex e ChirpJ che use case hanno in mente? Nel caso di al momento lo use case principale è in modi diversi l'esecuzione di applicazioni legacy in particolare dal punto di vista delle grandi aziende delle enterprise che hanno di solito nella pancia applicazioni vecchissime, cosa che è difficile veramente difficile crederci ma si usa della roba veramente non antiquata ma di più.

No no ci credo ci credo.

E tu e magari ti verrà da ridere ma l'uso principale che ne è fatto al momento ed è commercialmente di molto valore sono le Java Applet.

Te le ricordi le Java Applet? Se me li ricordo.

Tu noi abbiamo è disponibile anche a Freenet lo puoi usare gratis come estensione ChirpJ c'è un'estensione per Chrome che si chiama ChirpJ Applet Runner che al momento è usata dalle statistiche che dice Google da 100.000 persone, 100.000 privati che per qualche motivo ne hanno bisogno spesso per contenuto educazionale, spesso per accedere a letteralmente alla pagina della gestione delle tasse di varie nazioni.

Ci sono delle cose incredibili al mondo e quindi anche i privati lo usano ma in particolare nell'enterprise che per noi è la parte che ci interessa di più al fine di poter pagare le bollette a fine mese ci sono queste montagne di vecchie applicazioni e applet Java che con la nostra soluzione quello che cambia è che mentre prima queste cose potevano girare solamente su desktop, solamente con Internet Explorer e non sto scherzando con Internet Explorer che è completamente deprecato e con il plugin di Java mantenuto alla versione 8 per qualche miracolo di configurazione del registro di Windows si passa a un modello in cui aggiungendo un paio di righe nelle pagine HTML dove queste applet sono, la pagina parte su qualunque browser moderno e anche su mobile.

Quindi puoi immaginarti quanto impatto possa avere questo sulla gestione di centinaia o migliaia di computer desktop che sono all'interno di queste aziende che improvvisamente possono abbandonare queste dipendenze super obsolete e passare a un mondo moderno.

Poi il flavor di far girare PHP negli S400 che però sembra una cazzata, una banalità, una roba detta solo per ridirci sopra, però in realtà quasi c'è si parla di un impatto nell'industria altissimo anche perché noi si facciamo i fighi, startup qua, startup là, oh che belli che siamo, però comunque tutto il mondo si muove a un passo ben più lento di quello che siamo e non è solo questione italiana.

No no no assolutamente, l'Italia ha la sua bella fetta di software obsoleto ma è così veramente ovunque.

Noi lavoriamo anche molto con le agenzie federali americane, abbiamo lavorato con la NASA, queste cose sono ovunque.

Sì sì è chiaro.

Volevo farti un'altra domanda in realtà.

A livello tecnico quali sono le sfide più grandi che avete dovuto affrontare nel provare a realizzare questi prodotti che vanno a lavorare in un contesto abbastanza complesso no? Sì, guarda mentre facevi la domanda ci stavo un attimo ripensando in particolare perché l'esperienza più recente che ho adesso che è lavorare su Circuit 3 per certi versi mi è sembrata, riflettendoci, semplice tra virgolette ma questa percezione ce l'ho solamente perché alla fine sono sempre gli stessi problemi che si rivedono nei nostri prodotti.

L'unico motivo per cui possiamo fare tre prodotti così all'apparenza diversi è che non sono veramente diversi, alla fine le problematiche sono sempre le stesse.

Quindi nel tempo abbiamo acquisito una grande esperienza su come si affrontano questo tipo di problemi ma le difficoltà che si hanno vanno letteralmente a volte dalle difficoltà di natura algoritmica e matematica e con i miei colleghi abbiamo spesso passato settimane a ragionare di problemi di teoria dei grafi per capire il modo ottimale di risolvere certi problemi e spesso invece proprio difficoltà molto più pratiche come ad esempio il fatto che specialmente anni fa, ora un po' di meno, ma se tu tenevi i DevTools di Chrome aperti per cercare di debuggare un problema il browser esplodeva perché facciamo cose che sono così tanto al di fuori dall'ordinario che i DevTools non reggono.

Il browser regge ma gli strumenti di sviluppo no per cui ci siamo spesso ritrovati a dover debuggare Chrome, un problema dentro quale c'è WebAssembly fatto si girare dentro Chrome, attaccando direttamente GDB al processore di Chrome perché i DevTools non erano in grado di leggere il carico.

Con ovviamente tutta quanta la questione delle performance, come si profila un sistema dove se ci pensi tu stai lavorando su moltipli livelli di compilazione perché nel caso di CIRPEX ad esempio noi partiamo da codice binario x86 che viene poi compilato just in time a WebAssembly che poi viene ricompilato dal browser di nuovo a codice x86 e tu al fine di ottimizzare devi guardare tutta quanta questa catena di eventi.

Quindi abbiamo sviluppato nel tempo dei tool per farlo, per semplificarci la vita, a breve penso che faremo un post anche su questo argomento perché è abbastanza interessante anche il tooling interno che usiamo ma non è stato facile, vi via che andiamo avanti diventa più facile ma sono problemi un po' complessi.

Vedo o almeno posso immaginare, in realtà mi chiedo anche quando si sviluppano dei tool che nel contempo sono tanto specifici quanto generici e non è una cazzata dire questi due termini che sono una parte dell'altra ma in realtà così sono, nel senso voi realizzate dei compilatori in interpreti che in qualche modo sono specifici per tecnologia ma devono far girare praticamente tutto.

Come fai a gestire il trade off tra specificità e la genericità? Non saprei come dire.

No è una bella domanda e spesso questa parte è estremamente fraintesa anche dai nostri clienti che in qualche modo si soprattutto in passato si facevano un po' l'idea che quello che il nostro prodotto faceva in qualche modo era specifico per la loro applicazione per cui è capitato che la gente tornasse e ci dicesse sì sì funziona tutto tutto bello però me lo puoi spostare sto bottone di 10 pixel più a destra e tu devi spiegare ma guarda che non è che l'ho messo io quel bottone lì, quel bottone ce l'hai messo tu, è la tua applicazione che è disegnata così non ci posso fare niente perché nella loro mente avevamo rifatto l'applicazione in html quindi perché non potevamo anche spostare il bottone.

Il modo in cui lavoriamo di solito quando facciamo questi prodotti è che cerchiamo di fissare un certo numero diciamo non necessariamente di benchmark perché iniziare guardando la performance è spesso controproducente abbiamo sempre un occhio alla performance ma non necessariamente iniziamo da quella ma cerchiamo di fissare un po' di letteralmente di applicazioni che ci interessano di use case che ci interessano ma a quel punto relativamente specifico per cui diciamo vogliamo che esegua questo set di applet vogliamo che esegua nel caso di chipj3 ad esempio vogliamo che esegua java C il compilatore di java è scritto esso stesso in java quindi può girare all'interno di chipj e la nostra demo java feed fa esattamente questo e una volta fissati questi paletti questi casi che ci interessano si itra si fanno partire dentro la macchina virtuale o dentro il compilatore o dentro la soluzione su cui stiamo lavorando si vede dove falliscono la prima volta si sistema quel problema rinsta e repeat per 100 200 volte finché le cose non funzionano veramente e questo problema che hai posto come si fa a bilanciare questo aspetto in realtà c'è anche dal lato commerciale perché si pone la domanda ma noi esattamente date queste tecnologie super generiche poi che cosa vendi e quindi poi c'è tutto un lavoro a posteriori di cercare di capire come si impacchettano queste tecnologie per renderle di valore ad esempio il caso di cirpex lo trovo interessante perché la demo che ci ha reso maggior visita e maggior popolarità è webvm che è una demo che io ritengo super impressive penso di non essere una persona che si stupisca facilmente e mi ricordo che quando l'ho vista per la prima volta andare mi sono reso conto ok questa è una cosa veramente notevole ma noi al momento lo webvm non abbiamo uno use case commerciale non c'è nessun modo in cui l'abbiamo impacchettata e riusciamo a farla pagare a qualcuno penso che lo troveremo ma adesso non c'è ma invece per cirpex in sé che è la tecnologia che rende webvm possibile noi l'abbiamo già trovato l'uso commerciale ed è per far girare flash noi abbiamo un accordo con arman che è la società che ha acquisito i diritti di proprietario elettuale di flash e quindi noi lavoriamo con loro siamo perfettamente a posto dal punto di vista della proprietà elettuale e noi vendiamo alle persone la possibilità di comprare il plugin da arman e cirpex da noi con un piccolo layer sopra che effettivamente fa girare il plugin come fosse un browser e a quel punto nel caso di molte enterprise che hanno software interno scritto in flash anche lì incredibilmente possono continuare a utilizzarlo o persone della mia vita esatto flex esattamente proprio flex si usa per queste cose qui e ti dirò era uno dei miei sogni riuscire come abbiamo fatto per java che abbiamo dato un'estensione che il pubblico può usare per usare le vecchie applet io avrei voluto tantissimo dare un'estensione equivalente per flash la realtà che per il genere proprietario elettuale è impossibile e adobe ha reso molto chiaro che non vuole che il pubblico possa usare flash quindi purtroppo la tecnologia l'abbiamo è pronta purtroppo non la possiamo dare al pubblico generale e ne siamo onestamente molto dispiaciuti e si io sono uno di quegli sviluppatori che ha pianto lacrime e sangue quando poi alla fine si è un po' cambiato strada perché io adoravo action script come linguaggio ti faccio una domanda perché mentre parlavi mi ha fatto bubble up una cosa che io avevo visto un po' di tempo fa e che in qualche modo mi suonava simile non uguale ma simile si è parlato di web containers ok comunque sultimi tempi qualche anno fa si parlava dell'età 2021 in cosa le vostre tecnologie si differenziano da tutto il mondo della web container api quindi far girare che ne sono js sul browser così questo tipo se mi ricordo bene qual è questa tecnologia credo che il modo in cui risolvono il problema in particolare di node js è che loro fanno un po' un truccone cioè dicono beh javascript è javascript e segui nativamente si tratta alla fine solo di riempire le api speciali di node e poi far eseguire node js nel browser questo è il concetto che è un concetto che sembra ragionevole se non fosse per il fatto che questo piccolo problema di riempire le api di node è un problema mostruoso e gigante che lo rende diciamo con sforzo sufficiente sicuramente eventualmente fattibile ma alla fine sempre con qualche problema in realtà noi abbiamo parlato non con la società che ha fatto web containers ma con dei loro competitor che provano a fare una cosa molto simile in realtà e il problema che avevano è che ok ora abbiamo investito sei mesi di tempo e supportiamo le api questo set di api per node versione x.y perfetto esce la nuova versione di node e si ricomincia da capo oppure vogliamo fare eseguire quest'altro ambiente di sviluppo basato su node e usa un'altra api o usa come spesso accade dei processi nativi ad esempio per comprimere le immagini o qualunque tipo di post processing sui asset processi nativi di linux reali programmi x86 che sono normalmente disponibili e installati sulla macchina e come si emula questa cosa? tu puoi metterti lì caso per caso a cercare di riscrivere ogni singolo programma dicendo vabbè invece di ricomprimere le immagini non faccio niente oppure le comprimo con una chiamata al canvas html5 o quello che è puoi cercare di inventarti tante micro soluzioni a tutti questi problemi ma alla fine stai rattoppando una cosa che non si può veramente fare cioè node.js è un sistema pensato per girare in nativo che usa un numero molto ampio di librerie native e di programmi nativi non solo node.js in sé come ambiente ma in tutto il suo ecosistema si usano tantissime cose che sono in realtà compilate nativamente e poi bindate a javascript la differenza è che se usi soluzioni come webvm tu stai facendo girare veramente node.js con veramente le sue librerie native e veramente l'accesso ai file e quant'altro quindi per dire questo sull'accesso ai file è divertente perché node.js tende ad avere una quantità abbastanza ridicola di accesso al file system per cui anche piccole applicazioni finisce che ti provano ad accedere a 10.000 file tutto normale le macchine sono veloci oggi non ci si rende conto ma quando tu provi a emulare questo in javascript ad esempio provi a dire facciamo che ognuno di questi file in realtà è una richiesta http o facciamo che ognuno di questi file è una richiesta al database index.db questa roba va lenta completamente al di là del livello pratico e nel nostro caso per proprio per ubbiare a questo problema abbiamo integrato un vero file system in ChirpX in ChirpX webvm l'esecuzione avviene su un'immagine nel formato x2 che poi in futuro se serve spandiamo alle versioni x3 x4 che è proprio un file system reale con i blocchi gli inod tutte quante queste feature che sono necessarie per avere.

E dove risiede il file system in quel caso? In quel caso lo trovi come una grossa immagine da vari gigabyte che è ostata su un server http normale quindi c'è un backend nella cloud ma non è un backend attivo è un backend http e c'è anche la cdn in mezzo che permette di cacciare distribuire per globalmente questo contenuto e la pagina accede solamente ai chunk di cui ha bisogno utilizzando i byte range http quindi noi possiamo deployare queste immagini giganti da vari gigabyte ma poi quando tu vai su webvm.io per vedere la demo tu non scarichi 2 gigabyte tu scarichi solamente le poche centinaia di kilobyte che sono necessarie al boot.

Chiaro voglio farti quest'altra domanda se non mi ricordo male dovrebbe esserci perché poi le web api come ben saprai sono un mondo enorme da esplorare no? Però se non ricordo male me ne parlava l'amico Francesco Sciuti dovrebbero anche esserci delle api forse solo in chroma che ti danno l'accesso al file system.

Le file system api? Esatto in quel caso perché la scelta di fare richieste a un file system che sta in rete piuttosto che utilizzarne un locale.

Guarda lo use case delle file system api è per coprire una cosa un po' diversa che al momento noi non integriamo perché penso anch'io che sia solo per chroma al momento ma può essere che stia diffondendo quindi può essere che su questa cosa specifica si è rimasto un po' indietro ma l'idea è che servono a copirti il caso in cui l'utente ad esempio vuole rendere disponibile all'applicazione la sua directory dei documenti ad esempio penso che chrome in particolare permetta di condividere intere directory e intere i sottoalberi del file system forse questa cosa non è completamente standard non mi ricordo ma l'idea è che l'utente vuole ad esempio darti accesso a una ad esempio a dei grandi file di dati perché se devi caricare solamente un'immagine fai la selezione col file lo carichi non succede niente ma metti caso che invece ad esempio si lavora con con big data con qualche qualche tipo di data set che viene da per roba di machine learning o robe di biologia situazioni in cui spesso hai data set di tanti gigabyte tu con le file system api puoi dare accesso al browser al file ma senza passarglilo integralmente e poi l'applicazione nel browser può decidere di leggerlo solo in parte leggerlo progressivamente o cercare di fare qualunque approccio sia ancora più giusto ma la differenza rispetto allo use case di cui parlavamo prima è che noi abbiamo bisogno di un intero file system cioè di un intero file system con la directory slash bin slash user slash root con tutto quanto e questo tipo di scenario non sono neanche sicuro che si possa tecnicamente condividere la root del file system tramite file system api non sono onestamente sicuro.

Non sembra super consigliabile però comunque puoi immaginarti che se poi l'utente è su windows o su mac comunque non avrebbe il layout giusto e non avrebbe proprio i dati necessari quindi in ogni caso un file system reale che è deployato come immagine è necessario per fare una demo come webvm con JPEG puoi fare anche cose un po' diverse in cui fai seguire una singola applicazione e lì uno potrebbe immaginare ad esempio di dare l'accesso all'utente che può selezionare una directory localmente in cui c'è la sua applicazione la fai seguire ma questo sembra uno use case meno chiaro perché di solito puoi immaginarti che l'applicazione viene deployata nel server lato http però magari vuoi accedere a dei dati dell'utente e in tal caso useresti il file system api.

Chiarissimo ti voglio chiedere anche un'altra cosa che probabilmente è una cosa che triggera un po' tutti anche perché in fondo ognuno di noi ha scelto questo lavoro o buona parte di noi ha scelto questo lavoro perché amanti dei videogiochi almeno io questo è stato il trigger come vedi WebAssembly, ChirpX in un'ottica di gaming? Io vedo WebAssembly come tecnologia e i nostri prodotti come parte di questo molto bene nell'ottica del gaming ma ti dico la verità io ho il sospetto che l'intera industria sia un po' indietro da questo punto di vista perché avendo visto quello che si può fare al giorno d'oggi se poi tu mi sai dire di un qualunque gioco AAA di alto impatto con grande attesa grande hype che ad oggi ha rilasciato una demo tramite WebAssembly.

Quasi tutti i game engine supportano il deploy su WebAssembly con un po' di dolori però giochi AAA che mi vengano in mente no.

E io è una domanda onesta perché pure io non l'ho mai sentito e io ti giuro che non capisco come questa cosa possa non avere valore cioè tu immaginati lo scenario in cui tu hai il...

quali sono i giochi che sono famosi mi viene da dire Assassin's Creed ma è una cosa da 20 anni fa oramai Assassin's Creed non so quali siano i giochi ad alta popolarità sono boomerissimo mi sono fermato a Red Dead Redemption 2 quindi.

Facciamo Cyberpunk ok c'è il nuovo Cyberpunk e non capisco come sia possibile che non abbia valore che ci sia una demo giocabile in cui tu vai sul sito Cyberpunk 2077 non mi ricordo qual era il nome....com vai sul sito e parte la demo giocabile come è possibile che questa cosa non abbia valore ed è tecnicamente fattibile ma l'industria in qualche modo non c'è ancora e è anche vero secondo me che l'industria del gaming in particolare tende a avere tempi molto molto stretti e ci sta anche l'idea di investire risorse perché chiaramente andrebbe fatto del lavoro andrebbe fatto un porting probabilmente vanno limate alcune parti del anche alcune parti grafiche per riuscire ad andare nelle limitazioni di quello che il browser può fare e sicuramente penso che l'idea sia che non ha senso investire tempo per gli studios in questo tipo di lavoro quando invece puoi non lo so fare fai un video editato o lo pubblichi sullo steam store fine del gioco ci sta che costi di meno ci sta che funzioni uguale ma io me lo immagino un futuro in cui tu vai sulla pagina del gioco e giochi non può che essere così alla fine il futuro della distribuzione è il browser su questo non ho dubbi onestamente.

Ho scaricato tantissima responsabilità per chi tiene il browser perché comunque ci sono ancora dei grossi limiti anche a livello di performance per quanto tanto lavoro è stato fatto mi chiedo se in realtà è anche un problema di democratizzazione nel senso che il browser gira dappertutto quando tu fai rilasci un gioco è molto facile mettere delle delle fence delle barriere per dire questo gioco gira qua solo con questa scheda con queste prestazioni costi cazzi altrimenti la qualità degrada di brutto ecco in con uno strumento così di massa non lo so se questo può creare dei problemi o quantomeno far percepire dare l'elemento di percezione di una di una qualità un pochino più bassa sto vaneggiando probabilmente.

No no ci sta ci sta che sia esattamente che questo tipo di paura sia sicuramente parte dell'equazione però c'è anche se ci pensi l'aspetto a che molti giochi super multiplayer di oggi non è il termine giusto super multiplayer non mi ricordo come si dice ma tendono a essere su tutte le piattaforme e anche con gioco cross piattaforma quindi da un lato si c'è questa tendenza a fare il silos non a fare questo ambiente puro e limitato dove il gioco può girare solo lì che era non so se si usa ancora ma qualche anno fa c'erano le esclusive delle console per cui solo lì solo su questo hardware ben noto e documentato però dall'altra c'è anche la tendenza a dire vuoi giocare non c'è problema c'è tablet funziona c'è il telefono funziona c'hai il computer super potente funziona e poi il gioco internamente scala sulla base di quello che il sistema offre quindi in parte il problema che ci c'è sicuramente però mi sembra anche che l'industria si stia almeno in parte muovendo in un mondo in cui l'idea che le cose vanno diversamente su diversi device è accettata sicuro ci va fatto lavoro non è una cosa che viene gratis ma penso possa esistere ragionandoci così dare potenza al cioè trasferire potenza di calcolo o comunque sfruttare potenza di calcolo nelle macchine client attraverso il browser che la porta d'accesso alla nostra macchina fondamentalmente oggi è un po un modo per distribuire il carico per passare da una rete fontemente centralizzata a una rete decentralizzata c'è mi viene facile fare uno più uno no nel senso che oggi con un browser che diventa porta d'accesso ma anche strumento strumento importante a livello computazionale posso dar fuoco a quella quella miccia che in realtà è quella del tutto il mondo decentralizzato crypto scam a parte no mi viene in mente il lavoro che paolo arduino sta facendo per esempio con la libreria punch all per permettere la comunicazione peer to peer delle nostre applicazioni è comunque interessante ci sono delle sfumature che secondo me saranno poi traino portante di un'evoluzione forse anche guidate o alimentate dal mondo di web assembly dall'idea di far girare delle applicazioni con un che hanno bisogno comunque di certe caratteristiche che javascript ormai per età e per compromessi perché come lo chiamo io e io l'adoro javascript lavore in javascript ma per me è linguaggio democristiano quindi poi guarda e trovo sia curioso che dal punto di vista dell'industria diciamo dei grossi player c'è un po di tensione su questo aspetto di distribuire la computazione perché da un lato leva un po il t level mot t level fostato perché finché tu hai tutto quanto nei tuoi data center tu controlli i dati controlli il software puoi leggere quello che i contributi della gente al fine di ottimizzare gli algoritmi hai un sacco di vantaggi da questo punto di vista ma tutti questi vantaggi letteralmente li paghi in corrente quindi invece distribuire il carico fuori fa diminuire i costi noi abbiamo avuto spesso interesse da clienti che hanno letteralmente il problema che bruciano milioni l'anno in costi di calcolo per cui l'idea di fare ad esempio rendering o fare machine learning lato client è una cosa che non solo ha mostruosi vantaggi dal punto di vista della privacy perché così i dati non devono girare nei data center di mezzo mondo ma rimangono in locale ma anche dal punto di vista letteralmente dei costi che le aziende devono tollerare quindi penso che le cose si muoveranno più nel client nel tempo perché la piattaforma è pronta ed altrimenti se pensassi diversamente non farei i prodotti che faccio ma è interessante vedere come anche le aziende alla fine ne hanno vantaggio perché ridurre i costi ridurre i costi dell'operazione vuol dire aumentare i profitti quindi è facile succedere.

Esatto tra l'altro pensavo mentre parlavi che quello che spesso spaventa le aziende è l'investimento iniziale l'up front però riflettevo e guardavo ce l'ho proprio a fianco il computer che l'azienda per cui lavoro ha comprato per me è una macchina da quasi 5.000 euro una macchina super performante che viene utilizzata per fare il visual studio code due programmi nella linea di comando e il browser tutto quell'investimento che l'azienda ha fatto in capacità computazionale vale quanto se non più il data center ed è capacità computazionale dell'azienda che è seduta la ferma vittima di un'obsolescenza programmata qua sta uscendo nel mio lato da ex imprenditore però è vero ormai il grosso investimento in infrastrutture anche con i personal computer dei dipendenti è stato fatto qual è l'azienda che compra una macchina a meno di un i5 o un i7 al proprio dipendente non ha senso perché per quei pochi minuti in cui riserve la computazione ci riprendi subito il costo aggiuntivo perché le persone costano molto di più in ogni caso esatto però l'utilizzo di quella macchina non è a regime e tu l'investimento l'hai fatto per cui se fosse se ci fosse un modo per distribuire su questi device capacità computazionale è da un po che ci sto pensando in realtà no l'utilizzo della capacità computazionale quando sono non a regime quando sto debuggando quando sto scrivendo codice quando sto guardando un video su youtube quando sono in pausa pranzo secondo me sarebbe un modo più intelligente anche per sfruttare delle macchine che nella loro realizzazione hanno avuto anche un certo impatto ambientale se proprio vogliamo vestirlo di un bel vestitino etico no? Ma tu ti ricordi i progetti tipo setiatom, foldatom, te li ricordi queste queste cose? I nomi, io quei nomi sono una schiapa però ricordo che diversi istituti di ricerca ti davano la possibilità di distribuire il loro calcolo nelle macchine e contribuire parli di qualcosa del genere? Si usavano sì sì erano questi questi progetti qua e che poi chiaramente con i costi della cloud che sono che sono effettivamente bassi ma non sono nulli cioè chiaramente se tu fai solo quello se per tu per tutto il tempo per qualunque attività tu faccia devi eseguire solo calcoli nella cloud sì costa poco per ora ma se non fai solo quello a fine costa tanto in in soldi che devi sborsare no? Quindi il calcolo distribuito è una cosa che sarebbe chiaramente super interessante però ci sono un po' di problemi teorici che sono veramente di difficile soluzione perché il problema è come fai a garantire che il risultato che ti ritorna è giusto? Questi sono problemi che sono in parte anche affini a tutto quanto il mondo il mondo della blockchain ai protocolli che sono pensati per dimostrare che il risultato è uguale per tutti ma nel caso di un computo generico quindi non stai facendo solo come bitcoin un milione di volte un hash che tutti possono verificare ma se io ti do il problema di dimmi come si come si folda come si forma questa proteina e come faccio a sapere io diciamo azienda o ente di ricerca che ho distribuito il problema ad essere sicuro che il risultato sia giusto fondamentalmente non puoi senza rifare il conto un'altra volta non puoi a meno che tu non stai in un ambiente protetto per cui hai il controllo delle macchine ma questo è un altro caso.

Sì sì quello è un altro caso puoi fare dei giochi in questo mondo qui puoi fare il trusted boot puoi cercare di costruire sistemi basati su queste tecnologie ma il problema proprio generico il problema bello se vuoi il problema affascinante di tu puoi dare conto distribuito a un miliardo di macchine dispositivi mobile qualunque cosa al mondo che esista e sperare che questi diano un risultato accurato e la risposta triste che no senza poi contare l'altro problema che è l'aspetto della protezione dei dati stessi perché se stai facendo una ricerca scientifica probabilmente non ti interessa che l'input sia potenzialmente visibile sulla macchina che sta eseguendo il computo ma se stai parlando di qualunque cosa che abbia un qualunque tipo di proprietà cioè bisogna di essere in qualche modo nascosta pure quello è un altro problema fondamentalmente irrisolvibile a parte a parte non so se hai mai visto questo mondo c'è tutto il mondo della criptografia omomorfica credo chiami mi manca questa roba è una una follia non è una cosa di cui io mi occupo so che esiste spero di non aver sbagliato il nome perché sarebbe imbarazzante ma è una cosa incredibile e l'idea di queste di queste tecniche di criptografia è che tu puoi ad esempio avere io ti mando a ti mando b ok entrambi questi inputs sono criptografati e tu non li puoi decodificare però puoi computare a più b e mandarmi indietro il risultato se ci pensi è scioccante questa cosa mai esiste questo è tutto se ti capi trovare qualcuno che ne capisce penso sarebbe una conversazione interessante da fare ma è incredibile che esista ma questa roba esiste veramente si può fare però è lentissimo queste robe sono incredibili fanno cioè esistono veramente cose che persino a me che ho una vaga idea di come funziona la tecnologia anche di come funziona un po di cose di matematica comunque leggo che esistono e dico questa cosa è magia nera cioè non è non è possibile ma è possibile e secondo me questo più la computazione distribuita più l'evoluzione del browser che secondo me diventerà più browser sistema operativo un'entità quasi indistinguibile tra un po ho questa sensazione magari mi sbaglio alla fine questo sarà un po il futuro che 15 20 anni secondo me ci troveremo ad affrontare.

Sì sarà interessante vedere tutte le cose di machine learning moderne come si integreranno in questo mondo se sarà possibile fare fare inferenza probabilmente sarà possibile a breve cioè usare i modelli come si dice fare il training dei modelli lato client è ancora dura non so se ci arriveremo.

Comunque facciamo così ci diamo appuntamento tra una decina d'anni con una pipa in bocca davanti a un buono scotch invecchiato e da buoni no una ventina dai e da buoni vecchietti ecco commenteremo ve l'avevamo detto noi ve l'avevo detto io e Alessandro.

Ai tempi nostri mi sto immaginando mio nonno dicendo.

Esatto esatto vedo che il tempo sta scorrendo io mi piacerebbe tenerti ore ma credo che tra un po devo liberare questa scrivania se non mi vengono e mi picchiano tipo anche perché in realtà ripeto non so se ve l'ho già detto ma praticamente si sono sono in vacanza in Tunisia si sono fregati il cavo internet e quindi c'ho casa senza internet e mi sono dovuto adattare sono cose che succedono.

Come sempre ragazzi io non so perché vengo sempre messo in mezzo in questa cosa probabilmente perché sono l'unico che non si vergogna a parlare dei soldi ma non vedo perché vergognarsi è una cosa così bella parlare di soldi perché i soldi sono veramente la cosa più bella del mondo quindi donate perché dobbiamo fare una scena da massimo bottura con i vostri soldi quindi è una cosa molto importante e siamo molto poveri quindi donate copiosamente veramente in tantissimi mi raccomando dateci i vostri soldi e noi ne faremo l'uso più responsabile che se ne possa fare ovvero metterli su delle cripto uscite da mezz'ora.

28 gradi e mezzo all'ombra non piove più da 20 giorni e non c'è un aleto di vento caldo tanto caldo quanta sete ja ja ja portaci da bere uno shot di birra presto portaci da bere uno shot di birra frutta con o senza schiuma scuro a chiara ma che sia una birra una birra per favore oh si signore eccoci qua è arrivato il momento speciale momento che in realtà è uno dei motori di github è il momento che nel quale noi ringraziamo coloro che ci sostengono e fanno sì che in qualche modo github possa arrivare a voi ogni settimana questa settimana abbiamo infatti due donatori due persone che hanno deciso di prendersi carico di parte delle nostre bollette e saldarle per noi parlo naturalmente non delle bollette della luce di casa ma quelle dei software che utilizziamo per registrare per distribuire github la prima persona da ringraziare è zoran stoikov spero di aver pronunciato bene il tuo nome zoran che ha deciso di offrirci una birra per il quale appunto ti diciamo grazie perché hai preso a cuore la nostra causa e poi a seguire cavalier besugo che ci offre cinque birre con un bellissimo messaggio grazie mauro e ammutinati per il pregevole podcast in 10 11 mesi sono finalmente riuscito ad ascoltare i primi 100 brani vi meritate un po di birre per me una bella tazzona di cioccolata dettagli in separata sede vostro cavalier besugo cavalier besugo io ti ho mandato un un email alla casella di posta perché in realtà dovete sapere che cavaliere besugo ha mandato una bellissima email è stata una di quelle mail che mi hanno più emozionato in assoluto lunga ricca di dettagli ricca di sumature talvolta personali e mi ha davvero colpito mi ha segnato quando noi registriamo github spesso non siamo consapevoli del fatto che cavolo dall'altra parte ci sono un sacco di persone con le loro storie con le loro opinioni con il loro modo di vedere le cose con le loro sindrome di dell'impostore e le sindrome di denning kruger ci sono tante persone come come me e come noi dall'altra parte e quindi avere il vostro feedback sentire indietro come un boomerang le emozioni che noi proviamo a trasmettervi attraverso il nostro podcast è qualcosa che mi colpisce fortemente mi fa quasi mi sciocca o quasi difficoltà a parlarne per cui lo ripeto cavaliere besugo se posso leggere la tua mail censurando naturalmente i dettagli che tu vorrai censurare però mi piacerebbe davvero leggerla in un episodio perché non lo so così perché mi ha emozionato non so cosa dire l'unica cosa in realtà che a questo punto posso dire prima di impappinarmi pesantemente davanti al microfono facendo in modo che alla mia lingua si faccia un nodo dato dall'emozione è quella di ringraziare nuovamente coloro che si fanno carico appunto di gil bar in questo caso zoran e cavaliere besugo grazie di cuore e proprio grazie a voi solleviamo questo calice e facciamo un cin cin ne approfitto per ricordarvi che come vi ho già anticipato un po di tempo fa siamo partner di we are developers e vorrei ricordarvi che ormai è aperto sono aperte le prenotazioni per il world congress che si terrà a berlino il 27 e il 28 luglio 2023 è uno di quegli eventi che dal mio punto di vista non bisogna perdere fondamentalmente è uno di quegli eventi che vale la pena esserci per il networking e per la quantità in qualità dei contenuti presentati per cui se non l'avete ancora fatto buttateci un occhio al sito noi proprio ieri nella nostra community abbiamo lanciato il messaggio per regalare due free ticket se ricordo bene per chi si fosse perso i free ticket dovremmo ancora avere qualche sconto sì il codice sconto è git bar underscore wwc 23 dove wwc è a lettere maiuscole quindi ripeto se volete uno sconto basta andare nel sito we are developers in fase di di di di di di prenotazione è abbastanza insomma inserire wwc 23 ripeto noi doneremo due ingressi omaggio per we are developer e niente se andate ci vediamo la arriviamo a un momento particolare alessandro che momento tipico di kit bar è il momento nel quale noi condividiamo con i nostri ascoltatori qualcosa che abbia catturato la loro attenzione e in qualche modo pensiamo valga la pena essere condivisa all'interno della nostra community quindi chiedo hai qualcosa da condividere con noi e con il paese dei palocchi ora io spero che l'aspettativa non sia che consiglio non so una un qualche pacchetto di npm o qualcosa del genere penso che invece consiglio consiglio un libro qui ad amsterdam un po di anni fa sono entrato all'interno di un di un club di lettura abbiamo letto varie cose terribili ma anche varie cose interessanti e di tutto quello che abbiamo letto in questi anni la cosa che mi ha più affascinato è un libro di narrativa di fantascienza di una autrice degli anni 70 che si chiama ursula le guin e il libro si chiama la mano sinistra dell'oscurità ed è parte di una serie di racconti in questo in questo mondo futuribile fantascientifico ma questo libro in particolare mi è piaciuto moltissimo perché è una storia un po particolare di amici una amicizia che si forma in condizioni di estrema difficoltà su un posto letteralmente alieno e in qualche modo qualcosa mi ha colpito molto il libro molto breve si legge in pochissimo tempo e lo consiglio lo consiglio molto molto bello sai che l'ho appena aggiunto al mio backlog fammi sapere che ne pensi poi volentierissimo volentierissimo io ho un video invece ed è un talk a git nation gs nation credo sì gs nation scusami la conferenza di git nation dove racconti appunto la virtualizzazione x86 nel browser ed è stato un po il talk che mi ha incuriosito e mi ha fatto sì insomma che ti venissi a rompere le scatole per per venirci a trovare bere una birra una birra con noi quindi anche questo insieme al libro che ci ha appena suggerito alessandro lo troverete nelle note degli episodi alessandro eccoci qua la chiacchierata è stata super super super figa mi sono divertito tantissimo e soprattutto mi è piaciuto spaziare cioè ci siamo partiti da chirp, chirp j, chirp x ma poi abbiamo provato a guardare oltre abbiamo provato a scruttare il panorama per anche provare a immaginare che piega può prendere il futuro prossimo e meno prossimo e quindi sono super super divertito e sono veramente felice di averti invitato è stato un piacere piacere tutto nostro una cosa che io dico sempre è che gitbar funziona così no da buon circolo del dopolavoro informatico è apparentemente il famoso circolo del dopolavoro postale o ferroviario degli anni 80 ecco gitbar è il circolo del dopolavoro informatico una volta che si entra nel gitbar il circolo è un po' anche tuo ti appartiene e quindi quello che dico sempre e lo dico col cuore è vienici a trovare quando vuoi quando è qualcosa di nuovo che ti fa piacere condividere con noi e con la nostra community c'è sempre una birra fresca da condividere va bene mi faccio sentire io non vedo l'ora detto questo sapi che ti pigherò anche quando passerò dalle tue zone per offrirti e berci una birra vera che penso dalle tue zone sono anche buone so già dove ti porto ho già presente il posto fantastico fantastico ripeto io ti ringrazio infinitamente Alessandro per essere ci venuto a trovare alla prossima presto ciao ciao ciao.