Seminari


Nei locali del Polo F Etruria, in
Pisa Via Diotisalvi n. 5.

orario:

  • mattina: 09:30 - 12:00
  • pomeriggio: 14:30 - 18.50


Segue il Programma dei seminari:




Registrazione partecipanti

Si ricorda che per questioni organizzative e per la gestione degli spazi occorre registrarsi su:
https://linuxday2019.eventbrite.it


Programma


Seminari (Mattina)

09:30 - 09:45

Reception, saluti ed introduzione ai lavori

09:45 - 12:00

Durata 135 minuti

Strumenti informatici liberi ed aperti per l'Ingegneria

Giuseppe Chellini Giulio Di Graziano Carlo Resta

Presentazioni tecniche e pratiche su: Python e Julia, Blender e altri software utili per l'ingegneria e non solo. Si parlerà, inoltre, di casi di successo del software libero.



Seminari Pomeriggio (Traccia A)

14:30 - 14:45

Reception, saluti ed introduzione ai lavori

14:45 - 15:15

Durata 30 minuti

R Graphics

Alessandra Santi

La rappresentazione grafica permette un'analisi di sintesi ed intuitiva dei dati. Già in R base ci sono strumenti di rappresentazione grafica di alto livello. A questi si aggiungono altri specifici pacchetti. Partendo dalla funzione plot() di R base, vedremo nella pratica come costruire grafici di vario tipo.
Livello: principiante/intermedio

15:25 - 15:55

Durata 30 minuti

Gestire la virtualizzazione su Linux tramite libvirt

Matteo Bernardini

Ad oggi sono disponibili su Linux moltissimi sistemi di virtualizzazioni diversi: libvirt e' il tentativo di unificare la gestione delle macchine virtuali e container tramite un'unica interfaccia a prescindere dai sistemi sottostanti. Il talk si concentrera' su una descrizione del backend e sul suo utilizzo insieme al sistema di virtualizzazione fisica piu' diffuso, qemu (con kvm), con esempi di utilizzo dei frontend (virsh e virt-manager).
Livello: avanzato

16:05 - 16:35

Durata 30 minuti

AI Security Failure

Giuseppe Augiero

Molti credono che l’AI offrirà nuove e interessanti soluzioni per garantire maggiore robustezza e un livello di cybersecurity più elevato. Sono in pochi, invece, coloro che comprendono che l’intelligenza artificiale sarà anche il vettore che permetterà di aumentare la superficie di attacco e offrirà nuove insicurezze da dover gestire ed arginare.
Livello: avanzato

16:45 - 17:15

Durata 30 minuti

Analisi di traffico criptato/malware con nDPI

Luca Deri

Negli ultimi anni il traffico di rete e’ diventato quasi tutto criptato, ed i metodi di analisi per la rilevazione di malware e protocolli di rete non funzionano più. Senza usare metodi brutali e poco utilizzabili su larga scala quale la decodifica del traffico criptato (es. con tecniche di man-in-the-middle) è possibile comunque analizzare il traffico di rete. Questo intervento illustra come in nDPI v3, libreria open source per il DPI (Deep Packet Inspection), sia possibile analizzare il traffico di rete criptato (ad esempio TLS o SSH), estrarre informazioni circa il client/server ed il servizio contattato, e rilevare la presenza di malware dietro una comunicazione TLS senza bisogno di decodificare il traffico di rete. In sostanza verrà mostrato come è possibile conciliare privacy e monitoraggio del traffico usando strumenti open source.
Livello: avanzato

17:25 - 17:40

Durata 15 minuti

fretboard - Learning guitar fretboard notes, scales and chords on a colorful ANSI terminal

Tommaso Cucinotta

Fretboard è un programma open-source multi-piattaforma scritto in C che visualizza scale e accordi musicali per chitarra e ukulele in modalità testuale, sfruttando le estensioni relative ai colori disponibili su un qualsiasi terminale ANSI, come ad es. gnome-terminal su Linux, o cmder su Windows. Come si può intravvedere da un esempio di output (generato per un accordo di Mi minore - Em)...E minor chord as output by program ... fretboard non si limita a visualizzare tutte le posizioni disponibili per un dato accordo, come fanno già decine di siti on-line, ma il programma è in grado di evidenziare visivamente tutte le posizioni sulla tastiera dello strumento dove si collocano le note (ed esattamente quali note) di ciascun accordo o scala, permettendo la ricerca della combinazione ottimale in ogni condizione (ad es., si può facilmente verificare che facilitazioni si ottengono mutando eventualmente una o più corde). Nel talk parlerò delle motivazioni che mi hanno portato a scrivere un programma di questo tipo, farò una piccola demo sul suo utilizzo, e mostrerò come estendere il programma con ulteriori accordi o aggiungendo un'accordatura non-standard dello strumento, modificando il codice sorgente e ricompilando il programma dal vivo.
Livello: principiante

17:50 - 18:05

Durata 15 minuti

L’importanza di una community

GDG Team Giovanni Bartolomeo, Diana Bernabei e Chiara Corrado

Cos'è il Google Developer Group Pisa? Cosa fa una community e perché è importante farne parte? Google, ma non solo, in questi anni ha più volte dimostrato il suo interesse nel supporto delle community, della diffusione gratuita della conoscenza e dell'incontro di appassionati. Durante questa breve presentazione cercheremo di dimostrare il perché di un così crescente interesse nelle community e l'importanza che esse rappresentano nel territorio.
Livello: principiante

18:10 - 18:40

Durata 30 minuti

No Free Lunch Theorem: Machine Learning 101

Leonardo Dipilato

Il No Free Lunch Theorem è un teorema che afferma che non esistono algoritmi migliori di tutti gli altri in tutti i casi, rendendo necessario per chiunque lavori con il Machine Learning avere una vista di insieme per sapere come approcciare un dato problema. In questo talk esploreremo alcuni modelli di natura ben diversa per capire di quali tipi di problemi si possono occupare.
Livello: principiante


Seminari Pomeriggio (Traccia B)

14:30 - 14:45

Reception, saluti ed introduzione ai lavori

14:45 - 15:15

Durata 30 minuti

Sistemi ridondati e business continuity (File Systems,Database,Servizi TCP/IP)

Fabrizio De Massis

Nell'attuale mondo interconnesso è quasi intollerabile un blocco dei servizi o la perdita dei dati. Verranno presentate soluzioni che in ambiente virtuale propritario (vmware), privo di storage condiviso, permettono la realizzazione di sistemi fault-tolerant utilizzando soluzioni opensource quali: FreeNas dotato di replica del filesystem ZFS (FreeBSD); Percona Database, mediante il quale è possibile allineare in tempo reale istanze database Mysql (Linux); keepalived, una soluzione VRRP per Linux che permette la migrazione automatica di un IP virtuale su sistemi linux privi di dati (application server, relay di posta); OpnSense firewall (FreeBSD). Verranno forniti esempi di configurazione.
Livello: avanzato

15:25 - 15:55

Durata 30 minuti

Come diventare sviluppatori open source

Aldo D'Aquino

Un talk motivazionale, che racconta l'esperienza di un ragazzo che, un po' per gioco e un po' per esigenza, ha realizzato un semplice tool per sviluppatori, che in un anno ha superato le sue aspettative raggiungendo oltre 100 download giornalieri. Durante questo talk vi parlerà di come si è ritrovato a portare avanti un progetto open source, quali sono state le difficoltà e cosa ha imparato, dando spunti concreti per creare nuovi progetti.
Livello: principiante

16:05 - 16:35

Durata 30 minuti

Catturare il traffico delle app Android senza root

Emanuele Faranda

Ho installato una nuova app sul cellulare. E' dannosa? Invia i miei dati personali a qualcuno? La risposta sta nei pacchetti di rete. Molti pensano che per catturare il traffico su android à la tcpdump è necessario rootare il telefono. In questo talk spiegerò come (ab)usare il VPNService android per catturare in maniera trasparente i pacchetti sul dispositivo senza root. Presenterò inoltre un'app open source che ho sviluppato per visualizzare in tempo reale i pacchetti catturati in wireshark e ntopng.
Livello: avanzato

16:45 - 17:15

Durata 30 minuti

Cosa ci dicono le reti (in Python)

Pietro Battiston

In questo talk vedremo come il linguaggio Python viene utilizzato per caricare, visualizzare, simulare ed analizzare reti economiche e sociali. Il talk è accessibile a chiunque, nel senso che sarà dato più peso alle potenzialità ed a ciò che si può derivare da dati network che all'aspetto della programmazione. In ogni caso per seguire passo-passo i comandi utilizzati sarà sufficiente una conoscenza basilare di Python.
Livello: principiante

17:25 - 17:40

Durata 15 minuti

Mycroft, l'assistente vocale open-source per Raspberry

Agostino Mascitti

Gli assistenti personali vocali hanno avuto negli ultimi anni grande diffusione per la loro praticita' e reattivita'. Testimoniano la crescente popolarita' Amazon Alexa e Google Home. Tuttavia, entrambe le piattaforme sono basate su servizi fruibili solo in remoto, con implicazioni sulla privacy e la sicurezza. Mycroft (https://mycroft.ai/), invece, e' un assistente personale open-source, pensato per essere usato nelle case di chiunque abbia un Raspberry e voglia di costruire qualcosa con le proprie mani, senza pero' dovere necessariamente avere competenze informatiche. Questo talk dimostrativo introduce Mycroft e presenta alcuni concetti base sul suo funzionamento.
Livello: principiante

17:50 - 18:20

Durata 30 minuti

Generazione di codice in Go

Massimiliano Ghilardi

Generare codice significa "programmi che scrivono altri programmi". In Go è leggermente piu' facile che in molti altri linguaggi, ma resta comunque un argomento avanzato. Prendendo in prestito due concetti da linguaggi in cui la generazione di codice e' la norma, mostreremo una tecnica interattiva e divertente per manipolare il codice sorgente Go da programma. Con appena qualche carattere in piu' rispetto ai normali sorgenti e usando un interprete Go apposito, vedremo come creare, modificare e stampare alberi sintattici (AST) anche complicati. Questo ci permettera' di automatizzare compiti laboriosi, come la scrittura di codice ripetitivo, in modo molto piu' facile delle alternative e senza dover imparare un altro linguaggio oltre al Go.
Livello: avanzato

18:20 - 18:50

Durata 30 minuti

Creare un interprete in Go

Massimiliano Ghilardi

Il Go promette di essere un linguaggio di programmazione facile da imparare, da usare e soprattutto da leggere. Mettiamolo alla prova con un compito non banale: scrivere un interprete. Vedremo come usare la libreria standard per realizzare un interprete Go, e come alcune delle funzionalita' disponibili (reflection, il parser standard Go) siano essenziali per semplificare il compito, nonostante abbiano alcune limitazioni. Per i piu' avventurosi, vedremo anche una tecnica avanzata per rendere molto piu' veloce l'interprete.
Livello: avanzato