In NetResults puntiamo a grandi risultati e lo possiamo fare solo migliorando insieme. Ogni mese condividiamo saperi e conoscenze, perché le idee del nostro gruppo sono importanti. Lo spunto per i vari appuntamenti dei Nerd talks può venire direttamente dalle proposte di ognuno dei componenti dello staff dell’R&D oppure essere il risultato di un sondaggio all’interno del nostro tech-team su possibili argomenti di interesse.

"Introduction to 3D printing"- Marco Cimino

Marco Cimino presenta una panoramica introduttiva sulla stampa 3D, raccontando i concetti base della stampa 3D, quali sono le principali tipologie di stampanti e come funziona il flusso per arrivare ad ottenere un oggetto fisico, a partire dalla nostra idea, passando per la sua modellazione e strasferimento alla stampante. Non mancano alcune cusriosita', come ad esempio il fatto che la stampa 3D e' stata ormai applciata in moltissi ambiti anche trasversali, come ad esempio la Barilla, che ha realizzato dei formati di pasta speciali, interamente stampati in 3D.

 

 

 

 

 

 

 

 

 

"Vagrant - Development Environment Make Easy (part 2)"- Sergio Borghese

Sergio Borghese prosegue il racconto sull'uso di Vagrant, e dopo la scorsa introduzione ai concetti principale, nel NeRd Talks di oggi approfondisce alcuni aspetti specifici della configuraziopne di una VM tramite vagrant. Nel talk viene mostrato come configurare la rete di un vagarnt box, come effettuare il provisioning automatico alla creazione di una nuova vm, come specificare le caratteristiche hardware della VM ed infine come creare, in modo semplcie e veloce, ambienti multi-VM

 

 

 

 

 

 

 

 

"Vagrant - Development Environment Make Easy"- Sergio Borghese

Sergio Borghese, partendo da una breve introduzione su cosa sia una Virtual Machine (VM), fa una introduzione di alto livello su Vagrant, il tool di Hashicorp che consente di gestire in modo semplice, veloce ed immediato, il ciclo di vita di una o più virtual machine.
Vagrant oggi rappresenta uno dei tool di DevOps maggiormente usati per creare e gestire ambienti di sviluppo e testing.
Viene inoltre fatta una veloce panoramica di come, ad oggi, Vagrant sia usato in NetResults nel team di sviluppo Atena e nel TCoE 

Scarica la presentazione

 

 

 

 

 

 

 

 

Towards Scalable and Expressive Stream Packet Processing - Alessandra Fais

Alessandra Fais, la "nostra" dottoranda, ci aggiorna sullo stato del suo progetto di ricerca. In particolare, abbiamo visto come l'implementazione di opportune estensioni del framework per stream processing WindFlow lo rendano un valido strumento per implementare applicazioni per l'analisi in tempo reale di stream di pacchetti ad alta velocità (10+ Gbps). Dopo un'introduzione teorica, siamo entrati nel dettaglio dell'architettura e abbiamo visto i numeri a supporto del lavoro svolto fino ad oggi, che dimostrano come sia possibile elaborare flussi a 20 Gbps in modalità sustained.

 

 

 

 

 

 

 

 

 

PyQac Framework: DIY Atena Tests… in Python - Sergio Borghese

Sergio Borghese presenta il modulo PyQac della piattaforma Atena che permette la creazione di nuovi test utilizzando il linguaggio Python. Il talk presenta l'architettura di alto livello del framework, fa un breve escursus dei metodi Python da implementare durante la creazione di un nuovo test e poi mostra, tramite una veloce demo, come sia semplice e veloce aggiungere un nuovo test in Python alla piattaforma Atena

Scarica la presentazione

 

 

 

 

 

 

 

 

Git-yt tools - Giuseppe Sucameli

Giuseppe Sucameli effettua una veloce sintesi del processo di sviluppo ad oggi utilizzato dai team di R&D in Netresults e poi presenta i tool Git-yt I tool, usabili da riga di comando, che usano le API di git e YT (YouTrack) e permettono di automatizzare e quindi velocizzare e ridurre sensibilmente la probabilità di errore nella gestione del workflow di sviluppo.
Il talk si è concluso con una veloce demo dei tool, in cui Giuseppe ha mostrato come usare i tool durante il workflow di gestione di un issue YouTrack.

 

 

 

 

 

 

 

AWS API service for POLQA3 - Francesco Galatioto

Francesco Galatioto racconta come, utilizzando vari servizi cloud disponibili su AWS,  siamo riusciti a progettare e deployare una soluzione per il calcolo del POLQA3 tramite un front-end con delle API REST totalmente asincrone. Seguendo un approccio "unix-like" abbiamo composto vari servizi AWS, nello specifico API-GW, Lambda, DynamoDb (per la parte statefull) EC2 ed S3 per ottenere il nostro obbiettivo

 

 

 

 

 

 

 

 

La gestione dell’eco nei sistemi desktop e e mobili - Francesco Oppedisano

Francesco Oppedisano, prosegue con la trattazione dei fenomini di eco entrando adesso nelle peculiarità dei sistemi desktop e mobile, illustrando quali sono le possibile problematiche di eco con i software di tipo CTI (Computer Telephony Integration) e soft-phone. Dopo una interessante carrellata di spunti per il troubleshooting, si entra nel dettaglio andando a vedere come le tecniche di eco cancel e suppression sono state modellate ed implementate all'intreno del VDK (VoIP Development Kit)
 
 

 

 

 

 

 

 

 

Il fenomeno dell'eco nei sistemi telefonici - Francesco Oppedisano

Francesco Oppedisano, il nostro AD, ci racconta cosa sia l'eco nel mondo della telefonia analogica e digitale, da cosa questo abbia origine e come abbia un impatto importante sulla qualità dell'esperienza di una conversazione telefonica. Ci presenta quindi come funzionano i cancellatori di eco a livello teorico, rimandando al prossimo NeRd Talks il dettaglio di come questo sia stato implementato a livello software all'interno della nostra libreria VDK.
 
 

 

 

 

 

 

 

 

Testing with Qt/QtCreator- Part.2 - Francesco Lamonica

Francesco Lamonica prosegue la discussione sul tema del testing del codice C++ (e non solo). Dopo una veloce rinfrescata dei concetti visti la volta scorsa si scende nei dettagli andando a vedere un caso concreto, quello della scrittura degli unit test della nostra libreria  di logging: uniqlogger [https://github.com/NetResultsIT/UniqLogger]
In particolare Francesco ha evidenziato alcuni problemi concreti emersi in fase di scrittura dei test e come questi sono stati risolti, per mostrare nel concreto alcune delle tecniche piu' comuni che possono essere utilizzate nella scrittura di unitest di sistemi object oriented
 
 

 

 

 

 

 

 

 

Testing with Qt/QtCreator- Francesco Lamonica

Francesco Lamonica utilizza le sue eccellenti doti di sintesi per far comprimere nei trenta minuti del NeRd Talks di oggi un argomento che a dire vasto è usare un "velato" eufemismo. Si parte vedendo come creare un progetto di unit testing tramite l'interfaccia di QtCreator, per poi passare alla scrittura degli unit test e le principali linee guida e best practice che gli sviluppatori dovrebbero seguire nello sviluppo di unit test efficaci. Una seconda puntata sul tema sarà obbligatoria!
 
 

 

 

 

 

 

 

 

sysstat - System performance tools for Linux- Stefano Lucetti

Stefano Lucetti racconta la suite di tool sysstat che puo' essere usata per monitorare qualsiasi distribuzione GNU/Linux. Dopo una introduzione generale la discussione si concentra sul monitoraggio delle caratteristiche di I/O dei dischi, e su come siano state utilizzate per il monitoraggio dei prodotti della linea KalliopePBX

 

 

 

 

 

 

 

Introduzione a VMware  - Marco Cimino

Marco Cimino introduce il sistema di virtualizzazione VMware e nello specifico come sia stato implementato nel nostro datacenter per fornire cluster di risorse per la creazione di macchine virtuali da usarsi in contetsi di produzione, testing e development
La chiacchierata iniziale è stata seguita da una breve sessione live in cui ha mostrato l'interfaccia del vSphere e le principali funzioni di gestione delle VM 

 

 

 

 

 

 

 

 

KCTI Mobile Architecture (part 1) - Francesco Lamonica

Francesco Lamonica inizia parlando dell'architettura del KCTI Mobile evidenziando gli aspetti al comune tra implementazione Android ed iOS e le differenze rispetto la versione desktop.
Si scende quindi nel dettaglio dell'integrazione tra la nostra libreria C++/Qt, il VDK (Voice Development Kit), con l'applicazione mobile android mostrando come abbiamo ovviato alla mancanza di signal e slot Qt in Java, e raccontando infine cosa sia JNI e come funzioni per fare da collettore tra il mondo C++ e quello Java tipico della app native Android

 

 

Scarica la presentazione

 

 

 

 

 

Security in web development - Roberto Santini

Roberto Santini ci parla del tema della sicurezza dello sviluppo di applicazioni web introducendo OWASP ed andando nel dettaglio delll'OWASP Top 10 Project
Infine ci mostrerà come SonarQube possa supportarci in questa attività generando report specifici utili a tracciare e risolvere tali vulnerabilità, ove presenti nel nostro codice sorgente

 

Scarica la presentazione

 

 

 

 

 

oom-killer and the Linux Memory - Giuseppe Sucameli

Giuseppe Sucameli ci parla di come funziona la memoria virtuale su un moderno computer con architetura X86 e l'impatto del mapping della memoria su server sistemi a 32b e 64b.
Concetti fondamentali per capire come e quando il meccanismo dell'oom (Out-Of-Memory) killer del kernel di Linux puo' entrare in funzione creando non pochi problemi sui sistemi di produzione

 

Scarica la presentazione

 

 

 

 

 

The Return of the Building Blocks - Sergio Borghese

Torna la serie dei building blocks! Sergio Borghese ci parla di tre Building Block della libreria di utility di NetResults. Nello specifico vedremo le classi:
- CachedVar
- TimeCachedVar
- ProcessSingleton
illustrandone i principali elementi di design e casi d'uso

 

Scarica la presentazione

 

 

 

 

 

Qt5 Plugins - Stefano Aru

Stefano Aru, che è stato il primo speaker dell'evento, festeggia con il tech team di NetResults il primo anno di NeRd Talks parlando di plug-in nel software. Dopo una introduzione generale sul tema si entra nel dettaglio di come tali meccaniche software siano implementate all'interno del framework Qt5, quali sono i vantaggio e gli svantaggi del loro uso. Completa la presentazione uno use case reale in cui Stefano mostra come il team ATENA ha scomposto il codice del BOT che era originariamento monolitico.

 

Scarica la presentazione

 

 

 

 

 

Codeception: Performance agnostic test - Tommaso Capiferri

Tommaso Capiferri esordisce come speaker al NerdTalk raccontandoci le problematiche del testing end-to-end di interfacce web. Nello specifico evidenzia i problemi legati alle performance dei server che eseguono i test e come questo possa influenzare l'esecuzione dei test stessi, producendo dei falsi negativi. Una volta delineato il problema Tommaso ha spiegato come, nel caso del framework Codeception, il problema sia stato affrontato e risolto sviluppando delle classi di helper che aiutano nella creazione di opportuni sync-point.

 

Scarica la presentazione

 

 

 

GIT rebase -interactive- Giuseppe Sucameli

Giuseppe Sucameli riprende le tematiche trattate nel vol.5 dei NeRd Talks riguardo GIT e la funzione di rebase.
In questo opprofondimento ci illustra il funzionamento del rebase interattivo spiegandone l'utilità e mostrando il suo funzionamento con una utile e chiara demo live.
 

Scarica la presentazione