Slides repository

Let’s make a telegram bot with C++

Speaker: Alberto Bignotti

During the evolution of a software I had the need to send notification messages to users and receive messages from the user to the app. I studied telegram, created a Bot and implemented a C ++ library that communicates with users. Some peculiarities:

Local user handshake to the app, telegram user
– Send notifications from the app to the user
– Receive commands from the user
– Implementation of the Bot in polling mode
– Implementation of the Bot in WebHook mode
– Some particularities (position of the user, images …)

The object of the session is not how to use my library, but to give ideas so that everyone can create their own.

Material:

WebAssembly: an overview

Speaker: Lorenzo Veneri

An introduction and overview about the WebAssembly technology.

Material:

Understanding value categories in C++

Kris van Rens

In C++ today, do you know what an xvalue is? Or a prvalue? Why would you want to know? Because it matters! In C++, each expression is characterized by a value category. These value categories are used to describe parts of the C++ standard, and are often used in books and articles. You might have heard of terms like ‘lvalue’ or ‘rvalue’, which are the most commonly known ones. Over the years, changes to the C++ language changed the meaning of value categories. This means a lot of information about value categories is outdated or just plain wrong. In this talk, I will explain what expression value categories are in today’s C++ standard. It turns out that knowledge about value categories can really be beneficial. Not only will it enrich your understanding of C++ in general, it will deepen your understanding of mechanisms like move semantics. Also, it can help you to make better choices about code. These choices can then leverage language rules to enable compilers to generate efficient code without redundant copies. Other, related topics that will be covered: copy elision, return value optimization, temporary materialization.

Material:

Comunicazione real-time con WebRTC in C++

Yuri Valentini

WebRTC è una libreria di Google, scritta in C++, per la comunicazione audio/video/dati in tempo reale via internet.
Rappresenta lo standard di fatto in quanto è integrata all’interno dei maggiori web browser e utilizzata da tantissime applicazioni javascript per audio/video chat.
Illustreremo i concetti relativi alla comunicazione audio/video in tempo reale, analizzeremo le caratteristiche della base di codice e vedremo come utilizzare la libreria all’interno di programmi C++.

Material:

Our first game using UE4 and C++

Michele Mischitelli

During this brief session I will try to show you how to create some key aspects of a simple vertical scrolling shooter game.
The player’s pawn, projectiles, enemies and special effects.
Some knowledge of UE4 is required to fully understand what’s going on, but in the mean time you can head over my previous talks where I explain the basics.
I will also make the full source code available for everyone to download and play with it.

Material:

TDD is not about testing (C++ version)

Gianluca Padovani

TDD is now mainstream but a lot people don’t know or don’t remember what is its purpose. TDD is about software design not testing or catching bug. TDD helps developers to shape and create software with “good” design, what is a “good” design is something that we will discuss in the topic.

Material:

Interoperable AI: ONNX e ONNXRuntime in C++

Marco Arena & Mattia Verasani

ONNX is an open source format built to represent machine learning and deep learning models. The project enables AI developers to use models with a variety of frameworks, tools, runtimes, and compilers. The development of ONNX is driven by a community of partners including Microsoft, Facebook, NVIDIA and Mathworks.

ONNXRuntime is an open source project driven by Microsoft which provides an optimized implementation of all the standard ONNX operators for the CPU. It supports a plenty of acceleration targets like cuDNN by NVIDIA and MKL-DNNL by Intel, and it exposes the right abstraction and runtime support for custom accelerators and runtimes.

In this session you’ll learn about ONNX and ONNXRuntime, and see some practical examples of accelerating ONNX models in C++ with ONNXRuntime. Material: