Professional LiveView and OTP

16-17 Jul 2019
09:00 - 17:00
Bruce Tate and Martin Gausby

This is a 2 day training course.

From the coming books Designing Systems with OTP and the second edition of Programming Phoenix, this course will walk you through the strategies you'll need to build web applications without JavaScript. You can focus on what's happening on the server, even as you build the most interactive of applications. We'll cover a strategy for rapidly building applications the Elixir way, including:


  • Designing Applications in Layers
  • The LiveView lifecycle
  • JavaScriptless validations with changesets
  • Integrating OTP
  • Working with channels and events
  • Programming simple animations

When you've completed this class, you'll have a deeper understanding of Elixir's OTP and Phoenix LiveView. You'll be able to think about program design, especially building your project in layers so that the LiveView code you create is easy to maintain, letting you deal with one piece of complexity at a time.

This is an intermediate level class scheduled to get you up and running quickly using LiveView. You should know Elixir, and it would help for you to know Phoenix as well.

We'll have plenty of time to work on labs along the way as you hone your skills. About half of the class is either lab work or coding side-by-side with your instructor.


The Loom, 14 Gower's Walk, Whitechapel, London E1 8PY.

Two tutorials: Designing and Debugging for Scalability and Reliability

17 Jul 2019
09:00 - 17:00
Francesco Cesarini and Gabor Olah


Elixir is often advertised on the fact that it makes it possible to build distributed, scalable, and fault-tolerant systems with high availability, but how is that achieved? Francesco Cesarini, co-author of Designing for Scalability with Erlang/OTP, will show you the design principles and tools that enable us to get the job done correctly, quickly, and efficiently.


For the second tutorial, Gabor Olah will show you how to use a unique feature of the Erlang VM: Tracing. Tracing allow 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.

Prerequisites: Experience in developing with Erlang or Elixir

Objectives: Learn how to design systems for scale and fault tolerance.


Toyota Connected
R7, 10th Floor
14-18 Handyside Street
N1C 4DN.