Bene e benvenuti su GeekVar, 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@github.it via twitter @brainrepo oppure col classico modo in 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 Gitbar, il podcast dedicato al mondo dei full stack developer, i mezzo artigiani, 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 Gitbar è quasi sempre nel pensiero, 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 Gitbar 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 son 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 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.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 vede 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, dove puoi andare ovunque in bicicletta, anzi muoversi in macchina al centro è sconsigliatissimo, è quasi un incubo e c'hanno moltissime attività culturali.Ad esempio, io e la mia compagna 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.Dipende, penso, veramente da che cosa ti piace, ma 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 come la vedi? Ci sono moltissime anche qui moltissime opportunità cioè da dire che ci sono alcuni dei grossi player dell'informatica in generale come ad esempio Booking che è la fatta 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 ma anche 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 rispetto a Londra dove sono veramente tutti o Berlino dove penso ci siano 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 recuperato un tuo video, c'è un tuo video che in realtà era il mio balocco ma lo spoilerò.C'è un tuo video su YouTube registrato al JS Nation che suggerisco di vedere poi tanto, ve lo dirò dopo.Però questi ultimi giorni 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 ChirpJ.Mi sbaglio? No, non ti sbagli, non è un nuovo prodotto, è una nuova versione ed è anche curioso la storia che ha che ha portato a questo post che è andato benissimo.Penso sia stato il nostro...Voglio sapere tutto! Sì, 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 a questa nuova versione di ChirpJ, con una nuova architettura, ChirpJ 2.X, 2.3, quello che è rilasciato adesso.Alcune funzionano molto bene, ma 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 "ma 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 non page con la nostra demo java feed che dimostra l'uso del prodotto che è al momento ancora adesso su una versione show e show e c'è su acre news.Allora ti faccio subito una domanda a brucia pello ancora prima di entrare nei dettagli tecnici di chirp j e poi dell'altro prodotto che mi interessava vedere.Quando si fa un rilascio di questo tipo e si diventa virali, cosa passa nella testa del CTO 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 ci 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% più di upvote 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, ti trovi lì che stai sotto gli occhi oggettivamente di migliaia di persone, perché non tutti andranno a leggere l'articolo, ma su Reddit Programming in ogni certo momento ci sono varie migliaia di persone che lo osservano.Quindi sei sotto gli occhi di tutte queste persone che gli unici che...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, ma 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 che siamo abbastanza bravini a fare queste cose, però ogni volta è una cosa che lascia le cicatrici.Senza dubbio, senza dubbio.Infatti, vabbè, questo è 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 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 2 o 3 appbot finisci in home page e avrai 10.000 visitatori, se prendi meno di due app vote 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 hai dinamiche un po' più tranquille per cui sei esposto abbastanza per qualche ora, è più facile che qualche app voto 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 meno social del mondo e ho visto che producevano...io promuovo solo dei semplici blog post, talvolta molto limitati, però in realtà mi sono reso conto che producevano molto di più del twitter della situazione per esempio.Alessandro però voglio per un attimo spostarmi a parlare di chirp.jp e di chirp in generale.Di cosa si tratta? Puoi raccontarcelo come se fossimo bambini di 5 anni o come se fossi bambino di 5 anni in modo da poterlo capire? Ci proviamo in generale facciamo bambino di 5 anni non lo so programmatore di 5 anni ci posso provare.Vabbè che spesso corrispondono ho visto il post flame che il programmatore di 5 anni medium ha 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 C++, puoi partire da Java, in realtà da Java Bytecode, non è anche da Java come linguaggio, ma direttamente dai file class o dai jar precompilati.E nel caso di ChirpX si parte direttamente dagli 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 c++, java, immagino anche tutto l'ecosistema java è possibile far girare applicazioni in scala o mi sbaglio? Certo, certo, qualunque cosa possa essere.Parlando di bytecode...Sì, 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 "passami le virgolette giganti", un quasi sistema operativo?" Guarda, 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, o direttamente via HTTP, tu puoi accedere a dei file, quindi emulare un file system, oppure puoi usare, ad 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 le diciamo noi nel nostro gergo di system developer, che in qualche modo però usano il browser, hai tutte le primitive per implementare tutto.Alla fine, quando noi lavoriamo, si parte sempre da un presupposto.se 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 chirp.j e tutta la suite cosa fa? crea quindi un layer da strazione tra browser e applicazione o crea un quasi sistema operativo che gira dentro il browser? Dipende dal prodotto e a seconda di cosa guardi, osservi in realtà livelli di astrazione un po' diversi.Chirp 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.il compilatore è pensato per darti accesso alla piattaforma così com'è.E noi poi usiamo questo compilatore, a nostra volta internamente, per sviluppare ChipJ e Chirpex.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 Chirpex è 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 chipex, 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 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.Può fare dei contazzi e tirarti fuori il risultato, ma non può fare altro.Fondamentalmente non può fare input/output.Letteralmente non ha 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 non può vedere cosa succede internamente, possono 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 un po' sfoltendo, non mi viene la parola italiana per dire di radando e voglio chiederti questo tipo di prodotti e parlo di chirp x e chirp j 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 è veramente difficile crederci, ma si usa della roba veramente non antiquata ma di più.No, no, ci credo, ci credo.Magari ti verrà da ridere, ma l'uso principale che ne è fatto al momento e che è commercialmente di molto valore sono le Java Applet.Te ne ricordi le Java Applet? Se me li ricordo.Noi abbiamo, è disponibile anche a, lo puoi usare gratis come estensione, ChipJ, c'è un'estensione per Chrome che si chiama ChipJ Applet Runner, che al momento è usata, dalle statistiche che dice Google, da centomila persone, centomila privati che per qualche motivo ne hanno bisogno, spesso per contenuto educazionale, spesso per accedere 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 il php negli s400 che però sembra una cazzata, una banalità, una roba detta solo per riderci sopra, però in realtà qua si parla di un impatto nell'industria altissimo anche perché noi si facciamo i fighi, start up qua, start up 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, confermi.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? Sì, guarda mentre facevi la domanda ci stavo un attimo un attimo ripensando, in particolare perché l'esperienza più recente che ho adesso che è lavorare su CircJ3, per certi versi mi è sembrata, riflettendoci, "semplice", 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 dalla 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 uscire dentro Chrome, attaccando direttamente GDB al processore 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 ChirpX, 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.Vivià che andiamo avanti diventa più facile ma sono problemi un po' complessi.LM: 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 compilatori non 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 applicazioni che ci interessano, di use case che ci interessano, ma a quel punto relativamente specifico.Per cui vogliamo che esegua questo set di applet, vogliamo che esegua, nel caso di ad esempio vogliamo che segua Java C, il compilatore di Java è scritto esso stesso in Java, quindi può girare all'interno di ChipJ, e la nostra demo Java Fiddle 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, instant repeat per 100 o 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 Chirpex 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 da 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 ChirpX in sé, che è la tecnologia che rende WebVM possibile, l'idea 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 intellettuale di Flash e quindi noi lavoriamo con loro, siamo perfettamente a posto dal punto di vista della proprietà intellettuale e noi vendiamo alle persone la possibilità di comprare il plugin da Armand e Chirpex 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 per suoni della mia vita, usando 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 un genio di proprietà intellettuale è impossibile e Adobe ha reso molto chiaro che non vuole che il pubblico possa usare Flash.Quindi purtroppo la tecnologia la abbiamo, è pronta, purtroppo non la possiamo dare al pubblico generale e ne siamo onestamente molto dispiaciuti.Eh sì, io sono uno di quegli sviluppatori che ha pianto lacrime e sangue quando poi alla fine si è un po' cambiato strada, strada, io adoravo ActionScript 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 ultimi tempi, qualche anno fa, metà 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, cose di 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 seguono attivamente.Si tratta alla fine solo di riempire le API speciali di Node.js 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 provavano a fare una cosa molto simile in realtà.E il problema che avevano è che, ok, ora abbiamo investito sei mesi di tempo e supportiamo 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 microsoluzioni 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 una soluzione come WebVM, tu stai facendo girare veramente Node.js, con veramente le sue librerie native, e veramente l'accesso ai file e quant'altro.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 proprio 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, 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 espandiamo alle versioni x3 x4 che è proprio un file system reale con i blocchi, gli IA, i nod e 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 cachiare e distribuire 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 webm.io per vedere la demo tu non scarichi due 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 Chrome, che ti danno l'accesso al file system.Le file system API.Esatto.Per 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 anche io che sia solo per Chrome al momento ma può essere che stia diffondendo quindi può essere che su questa cosa specifica sia 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 e non succede niente.Ma metti caso che invece, ad esempio, si lavora con big data, con qualche tipo di dataset che viene da...per roba di machine learning o robe di biologia, situazioni in cui spesso hai dataset di tanti gigabyte.Tu con le file di sistema API puoi dare accesso al browser, al file, ma senza passarglilo integralmente.E poi l'applicazione del browser può decidere di leggerlo solo in parte, leggerlo progressivamente o cercare di fare qualunque approccio sia quello 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 /bin, /user, /root, con tutto quanto.E questo tipo di scenario, non sono neanche sicuro che si possa tecnicamente condividere la root del file system tramite un file system API, - E puzza di pericolo questa cosa.- Non sembra super consigliabile, vero? Ma 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 puoi eseguire una singola applicazione Lì uno potrebbe immaginare ad esempio di dare l'accesso all'utente che può selezionare una directory localmente in cui c'è la sua applicazione e 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 lavavalsistema 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 che si può fare al giorno d'oggi? se poi tu mi sai dire di un qualunque gioco di gioco di gioco che si può fare in un'ottica di gaming? io vedo WebAssim 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 di gioco di gioco che si può fare in un'ottica di gaming? 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? e quasi tutti i game engine supportano il deploy su WebAssembly con un po' di dolori però giochi AAA che mi vengano in mente no è 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 immagini 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 ora mai Assassin's Creed.Non so quali siano i giochi ad alta popolarità.Sono boomerissimo, mi sono fermato a Red Dead Redemption 2.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.com, vai sul sito e parte la demo giocabile.Com'è 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 avrebbe fatto del lavoro andrebbe fatto un porting probabilmente vanno limate alcune parti anche alcune parti grafiche per riuscire a 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 poi, non lo so, fai un video editato, 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 sulla pagina del gioco e giochi.Non può che essere così, alla fine il futuro della distribuzione è il browser, su questo non ho dubbio onestamente.Lo scarica tantissima responsabilità per chi tiene il browser, perché comunque ci sono ancora dei grossi limiti 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 fence, delle barriere per dire questo gioco gira qua solo con questa scheda, con queste prestazioni, con questi cazzi altrimenti la qualità degrada di brutto ecco, 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 qualità un po' più bassa sto vaneggiando probabilmente no, ci sta che questo tipo di paura sia sicuramente parte dell'equazione però c'è anche, se ci pensi l'aspetto, che molti giochi super multiplayer di oggi, non è il termine giusto, super multiplayer, non mi ricordo come si dice, ma tendono ad essere su tutte le piattaforme e anche con gioco cross-piattaforma.Quindi da un lato sì c'è questa tendenza a fare il silos, 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'hai il tablet funziona, c'hai il telefono funziona, c'hai il computer superpotente funziona e poi il gioco internamente scala sulla base del di quello che il sistema offre quindi in parte il problema che dici c'è sicuramente però mi sembra anche che l'industria si stia 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, cioè mi viene facile fare uno più uno 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 miccia che in realtà è quella del tutto il mondo decentralizzato, crypto scam a parte.Mi viene in mente il lavoro che Paolo Ardoino sta facendo per esempio con la libreria Punchhole per permettere la comunicazione peer to 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 webassembly dall'idea di far girare delle applicazioni che hanno bisogno comunque di certe caratteristiche che javascript ormai per età e per compromessi perché come lo chiamo io io l'adoro JavaScript, lavoro in JavaScript, ma per me è linguaggio democristiano quindi...Poi guarda, 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 ti leva il mot, ti leva il fostato, perché finché tu hai tutto quanto nei tuoi datacenter, tu controlli i dati, controlli il software, puoi leggere quello che i contenuti 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 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 com'è anche le aziende alla fine ne hanno vantaggio perché ridurre i costi dell'operazione vuol dire aumentare i profitti.quindi è facile succedere.Tra l'altro pensavo mentre parlavi che quello che spesso spaventa le aziende è l'investimento iniziale, l'upfront, però riflettevo e guardavo, ce l'ho proprio qua 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 far generare 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 coi personal computer dei dipendenti è stato fatto.Qual è l'azienda che compra una macchina 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 ci fosse un modo per distribuire su questi device capacità computazionale e da un po' che ci sto pensando in realtà, 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 seti at home, fold at home, te li ricordi queste cose? Io quei nomi sono una schiapa, però ricordo che diversi istituti di ricerca ti davano la possibilità di distribuire il loro calcolo nelle tue macchine e contribuire.Parli di qualcosa del genere? Si usavano, si, erano questi progetti qua, che poi chiaramente con i costi della cloud che sono effettivamente bassi, ma non sono nulli, chiaramente se tu fai solo quello, 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 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 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 un bitcoin un milione di volte un hash che tutti possono verificare, ma se io ti do il problema di dimmi 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, che ne sono un ambiente aziendale per cui hai il controllo delle macchine ma questo è un altro caso.Sì sì ma 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 bello, se vuoi, il problema affascinante di tu puoi dare conto distribuito a un miliardo di macchine, dispositivi mobile e qualunque cosa al mondo che esista e sperare che questi ti 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 di essere proprietà, c'è bisogno 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 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 crittografia è che tu puoi ad esempio avere io ti mando a ti mando B ok? Entrambi questi inputs sono crittografati 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 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 è 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 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.Facciamo così, ci diamo appuntamento tra una decina d'anni con una pipa in bocca davanti 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 picchiano tipo.Anche perché in realtà ripeto, non so se ve l'ho già detto ma praticamente si sono in vacanza in Tunisia e 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 a una cosa così bella parlare di soldi perché i soldi sono veramente la cosa più bella del mondo quindi Donate perché dobbiamo fare la cena 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.[musica] Eccoci qua è arrivato il momento speciale, momento che in realtà è uno dei motori di Gitbar, è il momento nel quale noi ringraziamo coloro che ci sostengono e fanno sì che in qualche modo Gitbar 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 e per distribuire gitbar.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 Amutinati per il pregevole podcast in 10-11 mesi sono finalmente riuscito ad ascoltare i primi 100 brani.Vi meritate un po' di birra, per me una bella tazzona di cioccolata.Dettagli in separata sede.Vostro cavalier Besugo.Cavalier Besugo io ti ho mandato un email alla casella di posta perché in realtà dovete sapere che cavaliere Besugo ha mandato una bellissima email, è stata una di quelle email 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 gitbar 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 le cose con le loro sindrome 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 davvero quasi mi sciocca o ho quasi difficoltà a parlarne per cui lo ripeto Cavaliere Bisugo 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 Gitbar in questo caso Zoran e Cavaliere Bisugo.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 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.Il codice sconto è gitbar_wwc23 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 di prenotazione è abbastanza inserire wwc 23 ripeto noi doneremo due ingressi omaggio per we are developer e niente se andate ci vediamo là arriviamo a un momento particolare Alessandro che è un momento tipico di Gitbar, è 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 ti chiedo hai qualcosa da condividere con noi.E conduco nel paese dei balocchi.Ah, il paese dei balocchi.Guarda, io spero che l'aspettativa non sia che consiglio, non so, 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 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 mondo futuribile, fantascientifico, ma questo libro in particolare mi è piaciuto moltissimo perché è una storia un po' particolare di un'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 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.Gis Nation credo.CGS 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 venirci a trovare e bere una birra con noi quindi anche questo insieme al libro che ci ha appena suggerito Alessandro lo troverete nelle note degli episodi [Musica] Alessandro eccoci qua! La chiacchierata è stata super super super figa mi sono divertito tantissimo e soprattutto mi è piaciuto spaziare partiti da chirp, chirp j, chirp x ma poi abbiamo provato a guardare oltre, abbiamo provato a scrutare 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, un piacere tutto nostro, una cosa che io dico sempre è che Gitbar funziona così da buon circolo del dopolavoro informatico, hai presente il famoso circolo del dopolavoro postale o ferroviario degli anni '30? Gitbar è il circolo del dopolavoro informatico, una volta che si entra nel github 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 insomma 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 esserci venuti a trovare e alla prossima! Ciao ciao! Ciao! [Musica] Grazie mille!