Tutorials:

From zero to hero with Elixir 19 Sep 2019
09:00 - 17:00
Andrea Leopardi

Elixir can be a demanding programming language to learn. Developers who are coming from object-oriented languages have new concepts to learn, such as modelling programs in a functional way and working with processes and message passing.

 

OBJECTIVES

Elixir foundations, sequential Elixir, parallel Elixir, connected systems with Elixir

 

PREREQUISITES

Programming experience with other languages (functional languages are a bonus), some familiarity with TCP

 

TARGET AUDIENCE

This course is aimed at software developers and engineers of higher levels. Beginners in Elixir.

COURSE OUTLINE

In this training day, new Elixir developers will get to lay a firm foundation, presenting all of the core concepts in Elixir. They'll learn to code and test, from the ground up. They'll start with Elixir datatypes, including maps, structs, tuples, and other primitives. Then, they'll move on to core concepts like using recursion, building higher order functions, composing with pipes, processes, and organising that code into modules.

Once we're through those concepts, we'll build a chatroom on the concurrency concepts that you should know, and if we have enough time, we'll use Erlang's OTP. This is a hands-on tutorial, the best way to teach these new concepts is with tests, and have students make those tests pass.

This is a lab-focused training day so come ready to to do a lot of programming and a lot of learning.

Distributed Live Tracing 19 Sep 2019
09:00 - 17:00
Gabor Olah

Gabor Olah will show you how to use a unique feature of the Erlang VM: Tracing Erlang and Elixir programs in a distributed network. Tracing allows us to understand a running system from the perspective of the VM. We will discover how to utilise this feature to x-ray everything from a single node to a distributed application. We will discuss how to incorporate tracing into a development workflow as well as safe tracing in production. We also explore other possibilities of debugging of the BEAM. We will demonstrate the techniques for both Erlang and Elixir.

 

OBJECTIVES

• Understanding of the low level mechanism of tracing • Understanding of where tracing fits into the development flow • Understanding tracing in a single noe • Understanding tracing in a distributed cluster

 

PREREQUISITES

Practical experience of Erlang or Elixir

 

TARGET AUDIENCE

This course is aimed at intermediate software developers & engineers.

 

COURSE OUTLINE

The course covers the topics of tracing in the BEAM virtual machine. It is applicable for both Erlang and Elixir as most libraries are the same. The course covers the following tracing libraries: • Built-in tracer • dbg • redbug/rexbug The course gives practical advice for tracing on a live system let it be a single node or a distributed cluster. We will discuss how can tracing complement logging and monitoring.