Just hands-on sessions

Saturday 25th November 2017

09:45
2
Alexa, start the presentation
Talk by Slobodan Stojanovic in Starbuck hall (45 minutes)

This session will show you how to build Alexa skill from scratch and deploy it to AWS Lambda; from skill setup, to the code and manually built analytics. Alexa, along with other voice assistants, is becoming more and more popular, and the number of skills is increasing almost exponentially. Platform itself is growing but you can already build useful skills, either for your business or just for fun. This talk will show you: * How to setup Alexa skill * How to define intents and slots * How to deploy the skill to AWS * How to test the skill * How to debug skill * What are the limitations of Alexa platform at the moment * And finally how to create simple analytics for your skills

1
Competitive Programming for fun and self-improvement
Talk by Marco Arena in Agua Verde hall (45 minutes)

Some years ago I started facing with programming problems on Competitive Programming websites, partly for fun, partly because I felt like experimenting something new. I gradually got more and more committed and I quickly ended up solving a couple of exercises per day. After some time I noticed several benefits: I was quicker at recognizing coding patterns, I discovered new kind of questions to reason about when dealing with a problem, I tried to go beyond the first solution that worked. My professional alter ego was positively influenced as well. Two years ago I decided to share this experience with the Community. I shaped an original meetup format called "Coding Gym", open to all programming languages and that I monthly organize in Modena. I would like to tell you more about this story by solving some interesting programming challenges from the past coding gyms. Although I will mostly code in C++ - using idioms and gems from the standard library - my focus is to show you why any professional developer can benefit from practicing competitive programming.

11:00
3
Where did my messages go? Tracing distributed systems with OpenTracing
Talk by Jorge Esteban Quilcate Otoya in Starbuck hall (45 minutes)

Having the ability to know where and when each message has been sent or received between your systems is becoming even more relevant today, where distributing components, like microservices, are becoming the defacto architecture in enterprises trying to develop distributed systems that scale. Even when you have metrics and logging tools implemented, that’s not enough to recreate the journey of each transaction and how they propagate between components [1]. Tracing messages between distributed systems gives visibility over communication and performance per transaction received from a client, and how this propagates between different components around your systems. Opentracing is an API that is aimed to standardize how systems can implement distributed tracing. So, from the client (e.g. mobile, web), to the proxy, APIs, and backend systems (i.e. databases and messaging systems) mark how long it takes to communicate with each component. This presentation will show how to instrument your Java applications with OpenTracing to be able to trace messages from web/mobile clients to your services and back to your data systems, and in this way, how to visualize, transaction per transaction, how your messages flows using a couple of the OpenTracing tools available, Uber's Jaeger [2] and Zipkin [3] .

1
An “emotional” app with Xamarin
Talk by Antonio Liccardi in Agua Verde hall (31 minutes)

Today, smartphones in our pockets have more computing power than all of NASA when it put the first men on the moon in 1969. But the most surprising thing is that we don't know it: for example, the camera on our smartphone isn't just for selfies! Furthermore, if we combine a set of "smart" services that can help interpret the world around us, the only limit to what these devices can do is our imagination! In this session, I will code a smart mobile app using Xamarin and Azure Cognitive Services.

12:00
2
Functional Refactoring
Talk by Matteo Baglini in Starbuck hall (45 minutes)

We start with a snippet of code and a handful of green tests to address a refactoring journey useful to explore and understand design concepts taken from the world of functional programming.

1
Internal DSL design in Scala
Talk by Alessandro Lacava in Agua Verde hall (45 minutes)

A domain-specific language (DSL) is a language that you design with a specific domain in mind. There are two types of domain-specific languages (DSLs): external and internal. The former implicates — in the simplest case — parsing a string into the programming language syntax. The latter, on the other hand, involves implementing a language within your own programming language. Quoting Martin Fowler, "Internal DSLs are particular ways of using a host language to give the host language the feel of a particular language". In this session you'll see how to implement a simple but complete internal DSL in Scala. You'll see that Scala syntax has some important features that makes it a DSL-friendly language.

14:00
0
Live coding a Mondrian art generator in Elm
Talk by Ju Liu in Starbuck hall (45 minutes)

In this talk we will use the amazing powers of the Elm ecosystem to build a Mondrian art generator. We will spend some time looking at Mondrian pieces to get a better idea of the pieces we want our program to create. Then we will use the provided command line tools to start a project from scratch. We will introduce some basic concepts of Elm and start composing our application. A word of warning for the backend developers: even the CSS will be live coded, so come prepared.

3
A Bite of Rust
Talk by Michele D'Amico in Agua Verde hall (45 minutes)

We'll meet Rust Language by a live coding session on "String Calculator Kata". Rust is a Safe and Fast system language, but there is a price to pay for being both of them. Thanks to this classic TDD Kata we'll be able to explore some syntax language aspects and introduce some brand new Rust concepts as ownership, borrowing and lifetime. The goal of this talk isn't to teach you Rust but to show you some of the concepts that make it so unique. It'll be a short but intense session that'll give you the chance to taste "A Bite of Rust"!

15:00
0
The gigant mood-o-meter
Talk by Samuele Reghenzi in Starbuck hall (45 minutes)

I will demonstrate the real-time realization of a "sentiment-analysis" linguistic analyzer and, quickly, how to use it as a categorizer of comments on Reddit. The comments on the social network in 2017 and Spark (with Scala code) will be used as the initial set to implement a classifier. The predictive approach and data source could allow us to create a tool to measure the general mood of Reddit users, the most positive and most negative groups, and perhaps something we still do not know.

2
Introduction to type driven development in Idris
Talk by Marco Perone in Agua Verde hall (45 minutes)

Types are a precious instrument to document our code and to catch errors at compile time, but they could be much more. What if we could use types to drive our design process, to model precisely our domain and continuously receive feedback on it while we produce code? What if we could not only use types to find errors but also to actually prove the absence of errors? If we introduce types as a first-class language construct, all of this, and much more, becomes possible. In this talk we will see how to bring into play the full power of types using Idris, a purely functional programming language with dependent types, letting the types guide the development and being assisted by the compiler itself.

16:15
1
Adding Effortless to Serverless
Talk by Aleksandar Simovic in Starbuck hall (45 minutes)

Kick the new serverless buzzword hype and learn how to create and deploy a new serverless API in 10 minutes with AWS Lambda, API Gateway and Claudia.js. There are lots of talks about serverless these days, but how can you avoid all that mystery and try it for yourself without reading many tutorials, documentation and watching lots of presentations? This NoSlides talk will show you how to create your first serverless API in 10 minutes and then deploy it to AWS in seconds with Claudia.js. Along the way, will also show why you don’t have to worry about scaling any more, how to structure your serverless APIs, separate your services, debug and where should you or should not use serverless, all in code.

0
Cooking Akka.Net and ServiceFabric together
Talk by Alessandro Melchiori in Agua Verde hall (45 minutes)

Erlang, Elixir, Scala and Akka are the most famous implementations of a mathematical model born in 1973: the Actor Model. It's used to build concurrent and distributed applications. The concept behind an actor fits perfectly into the cloud world too. Akka.Net and ServiceFabric Reliable Actor are the most known implementations for .Net platform. Why do I have to choose? Why can't I use both to gain the better of two different worlds?

17:15
1
Create your own DSL in Kotlin
Talk by Victor Kropp in Starbuck hall (45 minutes)

Every API you create is, in fact, a domain-specific language for your business domain. Kotlin is a general purpose programming language, but it offers some constructs, that make creation and usage of embedded DSLs effortless and fun. DSL makes your code expressive and easy to read. In this talk, I'll show those language features and guide you through a process of creation of an internal mini language.

0
Creating a small but complete application from scratch using Test-Driven Development (in Ruby)
Talk by Andrea Francia in Agua Verde hall (45 minutes)

How should this “TDD” thing really work? In this session, I will answer this question with a practical example, creating a complete application from scratch using Test Driven Development. It will be a complete application with its own data store (on filesytem) and its own user interface (command line) and it will be all developed from scratch during the session.