From zero to hero with Elixir with Eric Meadows-Jönsson

Trainer: Eric Meadows-Jönsson

Venue: Holiday Inn - Prague Congress Centre

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.

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.


Building resilient, distributed systems with elixir with Chris Keathley

Trainer: Chris Keathley

Venue: Holiday Inn - Prague Congress Centre

One of the most exciting features of Elixir is its ability to connect multiple nodes together. Because distribution is built directly into the language’s runtime, those of us in the Elixir world have access to a number of powerful abstractions for building distributed systems.

However, distributed Erlang comes with several caveats and warnings. In this training day, we want to demystify some of the warnings whilst reiterating others.

During this training, participants will get hands on experience with distributed Erlang, through building real solutions to real world problems. We’ll learn how to harden tour solutions against network and hardware failures using a test harness designed to inject failures into their clusters. Whilst the goal is to provide an understanding of the primitives available in Erlang and Elixir for building distributed systems, we’ll also discuss some of the popular libraries available such as partisan and riak_core. Finally we'll finish the day by deploying our system to a cluster in AWS.

Device to the Cloud with Nerves and NervesHub with Justin Schneck

Trainer: Justin Schneck

Venue: Holiday Inn - Prague Congress Centre

The Elixir language and Erlang runtime provide a uniquely robust and productive environment that runs well from embedded to server. This class extends on previous Nerves training to the cloud for device/server communications and device management with NervesHub. Participants will assemble real devices and build out the software step-by-step for a simple multi-user game with the help of the authors of Nerves.

We'll spend the first half of the day building the device and getting comfortable with developing and debugging on Nerves. Unlike previous Nerves training Justin has given, this one will have greater emphasis on networking and device provisioning. The second half of the training moves on to managing devices with NervesHub and developing a simple companion Phoenix application.

Develop Phoenix and Ecto apps with confidence with Shankar Dhanasekaran

Trainer: Shankar Dhanasekaran

Venue: Holiday Inn - Prague Congress Centre

A lot of people think Phoenix and Ecto libraries are complex frameworks to use. Even experienced users do not often fully appreciate the simple and brilliant design behind them. For example, Ecto Changeset is a familiar and simple Elixir struct, and the same goes for Plug.Conn struct, that Phoenix uses everywhere.

Developers often have difficulties understanding how these simple data structures play vital roles in the design and internal working of Phoenix and Ecto. They are normally considered to be out of the scope of their existing Elixir knowledge. But this is not true. Phoenix can be understood essentially with intermediate Elixir knowledge.

This training day intends to give participants a lot of 'Aha! moments.' When they understand the simplicity of the design, the complex problem they are having at work will look very simple.

This training day will be a mix of both theory and hands on exercise, the participants will recreate a mini-version of Phoenix from scratch! Through the process, they will understand how Elixir macros do their magic and uncover the functional composition of Phoenix and Ecto.

Who is it for?

This training is meant for people who already have some prior experience in Phoenix and are looking for deeper understanding and more confidence using the Phoenix framework. It has been refined, through the feedback of participants over many courses that Shankar Dhanasekaran has ran in the past.