DevFest Pisa 0.1 raccontata da un outsider

Non ne hai ancora abbastanza della DevFest Pisa 0.1? Non sei potuto venire all’evento e vuoi provare a rivivere l’esperienza?

Beh quale miglior modo per riassaporare il clima dell’evento se non attraverso gli occhi di un outsider?

Fare community è anche questo no? Divertirsi, fare delle esperienze insieme e raccontarle ad altri. Cogliamo l’occasione per dare il benvenuto nella nostra community a Roberto 🎊🎉, che ha scritto il meraviglioso articolo di cui vi stiamo parlando, dove ha riassunto la sua personale esperienza alla DevFest Pisa.

Buona lettura a tutti!

Il GDG di un outsider

La DevFest Pisa 0.1 si è conclusa già da un pò, ma non ho potuto fare a meno di resistere nel raccontare quella che è stata la mia esperienza e di quello che sono riuscito ad intravedere dietro le fila dei membri dello staff, che si sono impegnati più di ogni altro, ad organizzare un così semplice ma sofisticato evento.

Tengo a precisare che la mia è solo una delle tante testimonianze di studenti che si approcciano al mondo dell’informatica, con quella passione e sete di conoscenza che li contraddistingue.
Nonostante sia uno studente iscritto al corso di Laurea in Informatica Umanistica, ho avuto modo di seguire con particolare attenzione quattro dei Talk che mi interessavano maggiormente:

  • Run Fast with Modern JavaScript
  • I Robot guidano meglio di noi?
  • Image Recognition with TensorFlow using Deep Learning
  • Make your WebApp fast, light and modern (Codelab)

Run Fast with Modern JavaScript

Il primo Talk a cui ho preso parte è stato proprio subito dopo la pausa pranzo.
Michel Murabito ci ha sin da subito illustrato i corretti metodi d’approccio ai così detti FrameWork, che al giorno d’oggi sono sulla bocca di tutti e non fanno altro che facilitare di molto il compito di uno sviluppatore JavaScript, nel produrre quello che poi sarà un codice che avrà copiato ed incollato, sfruttando modelli e librerie già esistenti.
Ovviamente bisogna saper dosare con la giusta parsimonia queste librerie preimpostate, cercando di scendere nella profondità del codice, comprendendolo e costruendolo sulla base delle esperienze e degli errori dello sviluppatore.
Da questo primo Talk mi sono subito reso conto del reale messaggio di fondo che Michel voleva trasmetterci e giusto per citare qualche suo aneddoto Nerd in relazione all’utilizzo spasmodico dei FrameWork:

Solo i Sith vivono di Assoluti

Oppure, riguardo a quale miglior tool da utilizzare

Non esiste il miglior tool.
Esiste il tool per le vostre esigenze e dovete imparare a conoscerlo.

Ma sopratutto, in conclusione, nell’ultima slide rivedo con piacere lo Zio Ben dello Spider Man di Raimi, nella sua frase più celebre.

“Da grandi poteri derivano grandi responsabilità.”
Ricordatevi di questo quando pensate alle potenzialità del JavaScript

Così Michel conclude nel giro di pochissimo tempo un bel Talk, ricco di spunti di riflessione per chi come me studia il JavaScript da quasi due anni.

Neanche il tempo di andare a fumare una sigaretta che era già iniziato il secondo Talk…

I Robot guidano meglio di noi?

Entro con 5 minuti di ritardo, ma il Talk di Francesco Romano inizia alla grande.
Veniamo subito coinvolti in quella che è la definizione di Robotica e mi rendo subito conto che il tema delle Intelligenze Artificiali coinvolge così tanti campi del sapere,che è veramente complesso stare dietro a così tanto ragionamento:

A cominciare dal Software, fino ad arrivare all’utilizzo della macchina a livello puramente Hardware, analizzandone la sua vastità per quelle che sono le varie applicazioni che la competono, mi riempie la mente di curiosità e stupore.

Sono consapevole che in questo Talk stiamo parlando di un futuro che è già presente e che, con una cifra considerevole ma contenuta, possiamo anche noi munirci di un robottino in grado di compiere determinate azioni e svolgere determinati ruoli.

Ma andando per gradi, Francesco analizza con metodo, partendo dalla scelta del Software, quelle che saranno le operazioni che la nostra I.A. (Si dice così, no?) sarà in grado di fare.

Ho avuto veramente parecchio da apprendere, appuntandomi perfino le formule di Fisica e Robotica presenti nelle slide del Talk, ma preferirei non tediarvi con i calcoli, facendovi apprezzare quello che è lo spirito di un sotto-insieme dei Talk di questo splendida DevFest.

Verso la fine dei 30 minuti che Francesco aveva a disposizione per spiegare così tante cose, analizziamo una pianta topografica di uno spazio, in relazione ai sensori del Robot ed al percorso che per merito del Software, scritto in diversi linguaggi a scelta tra C, C++, Pyton e Java, saremo in grado di poter utilizzare, dando origine al microcontrollo dell’I.A.

Purtroppo il tempo a disposizione era veramente poco ed il Talk è finito in fretta e furia, ma non c’era tempo da perdere.
Bisognava recarsi in Aula Magna per quello che, personalmente è stato uno dei Talk che mi ha coinvolto in prima persona per le tematiche affrontate.

Image Recognition with TensorFlow Using Deep Learning

Questo è il primo Talk che seguo in Aula Magna, un’aula veramente ben assortita, in vista di quello che soggettivamente è stato il momento più interessante dell’intera giornata.

Abbandoniamo un attimo il JavaScript di Michel (ritorneremo a parlare di lui più tardi) ed i simpatici robottini di Francesco.
Entra in scena Elia Rigo e non fa neanche in tempo a presentarsi che siamo subito entrati nell’argomento Machine Learning.
Un attimo… Ma il titolo del post non ha a che vedere con il Deep Learning?

Tutto è interconnesso.

Esattamente come per l’I.A. nel Talk precedente, qui andiamo a toccare dei nervi scoperti.
Ed è proprio grazie a queste Reti Neurali che Elia spiega qual è stato il compito di Google nell’individuare i livelli di profondità che hanno portato ad AlphaZero (Intelligenza Artificiale di Google che ha battuto ogni essere vivente al gioco cinese GO) ed ai così detti Livelli di Profondità che ogni Rete Neurale possiede.

Abbiamo visto come, grazie all’utilizzo delle Reti Neurali sia possibile analizzare la struttura di una cifra scritta da un bambino di scuola elementare (vi lascio immaginare il disagio nel riconoscere e saper distinguere i numeri l’uno dall’altro)
solo ed esclusivamente attraverso un algoritmo in grado di riconoscere le immagini.

Non è facile poter riassumere un Talk così pregno di Materia Grigia.
Posso solamente continuare affermando che tramite previsioni di Pattern prestabiliti, le Reti Neurali sono in grado di prendere in Input Layer diversi parametri e restituire un Output che in un certo senso si avvicina alle previsioni sperate.

Una delle cose che mi è rimasta particolarmente impressa è stato TensorFlow, la libreria Machine Learning sviluppata da Google, scritta anch’essa in C++ e Pyton, che oltre ad essere portatile e tascabile è in grado di supportare il lavoro delle Reti Neurali e di conseguenza, anche di tutto ciò che sta alla base del Deep Learning.

In conclusione, ne approfitto per portare alla memoria dei presenti al Talk e non, alcune delle applicazioni pratiche di TensorFlow, tra cui i sistemi per la guida autonoma e l’utilizzo delle Reti Neurali in ambito medico.
Attraverso varie tecniche di scanner, vengono effettuate varie radiografie e tomografie delle sezioni polmonari, ad esempio, per andare a ricercare i singoli noduli e di conseguenza, cercare di capire se il nodo è benigno o maligno.

Se ci fermiamo un secondo a riflettere su quanto appena detto, tutto ciò che un tempo sembrava fantascienza, adesso può diventare realtà per merito del progresso e della ricerca in campo Informatico.

Ma credo di avervi tediato abbastanza su questo Talk, passiamo all’ultima grande conferenza, tenuta in un’area esclusiva proprio da Michel Murabito, riguardo alcune tecniche avanzate di programmazione JavaScript!

Make your WebApp fast, light and modern (Codelab)

Entriamo in questo Talk esclusivo e rivediamo una faccia già nota.

Michel Murabito persiste nell’evidenziare come i FrameWork, rovinino lo spirito della programmazione JavaScript proprio perché non siamo direttamente noi a scrivere il codice ma con menefreghismo, importiamo intere librerie senza nemmeno curarci di quella che è la struttra intrinseca del codice.

Questo potrebbe essere una sorta di “Focus” su quella che è stata la prima conferenza alla quale abbia partecipato.
Dopo circa un’ora e passa di codici e di metodologie alternative introdotte con i nuovi costrutti di Java Script, ne sono uscito più che soddisfatto, sia perché ho avuto modo di arricchire la mia novizia abilità di programmatore, sia perché mi sono reso conto che senza una solida base di programmazione e di studio di metodologie algoritmiche per comprendere al meglio il codice, non si va da nessuna parte.

Sono sicuro che non ci sia modo migliore per omaggiare in poche parole il lavoro di Michel, il quale inizia ad andare particolarmente spedito durante le ultime slide, perché era quasi giunto il momento di salutarsi e di riunirsi tutti in Aula Magna, dove ha avuto luogo la premiazione e la Conferenza finale di questa GDG DevFest.

The End?

Dopo essere stato estratto a sorte, tramite la mail del FeedBack, ed aver vinto un ChromeCast messo a disposizione dal GDG Pisa, cominciano a volare palloncini in aria e tutto a un tratto, quella che è stata una giornata impegnativa ma sopratutto stancante da seguire, si è rivelata essere un evento che punta alla semplicità ma sopratutto all’immediatezza nel lanciare coriandoli di messaggi, che come i Talk che si sono tenuti per tutto il giorno, ricoprono questa Aula Magna piena di persone che provengono da tutto il Mondo.

Ma non era ancora finita.

Subito dopo aver abbandonato la struttra situata al Polo Fibonacci, siamo andati a fare qualche chiacchiera con i membri del GDG ad un pub particolarmente accogliente e dal nome altrettanto singolare, “Lo Spaventapasseri”.

Grazie al Networking Beer posso concludere questo piccolo omaggio che volevo fare a tutte le persone che hanno contribuito alla realizzazione dell’evento e alla stesura dei Talk.
Spero davvero di poter prendere parte ad altre iniziative come questa, sia per quanto riguarda l’aspetto puramente scientifico nell’analizzare una componente che costella l’Informatica, sia per avere l’occasione di conoscere delle persone, con una loro idea ed un proprio vissuto umano.

Perché ciò che differenzia l’uomo da AlphaZero è la libertà di pensiero, di parola e di espressione.
Fatta quest’ultima precisazione, sono onorato di poter contribuire anche io nel mio piccolo, tramite queste lievi e fragili reminescenze e spero in futuro di potere scrivere altri articoli di questo tipo.

Roberto Raso