13.00 - 13.10 Welcome

13.10 - 13.40 Christopher Price Keynote: Track 1 Keynote: Safety in numbers, securing our BEAM

13.40 - 14.10 Lukas Larsson Keynote: Track 1 JIT Compiler for Erlang/OTP

14.10 - 14.25 José Valim Track 1 Update: Elixir core dev team

14.35 - 15.15 Vasu Adari and Harsh Balyan Track 1 Deploying Elixir on Docker Deploy Elixir on Docker Vasu Adari Scripbox. Deploying Elixir application has always had its complexities. But with the 'releases' support introduced in Elixir v1.9, it has become seamless. Since everybody likes containerising their apps, we'll also try to containerise our releases and deploy on to our most loved cloud service(AWS). Intermediate Edmond Begumisa and Roshan Giri Track 2 Flamegraph and heatmap profiling. Profiler Heatmaps Flamegraphs Edmond Begumisa Medical Objects Pty Ltd.. Profiling Erlang systems is tricky due to their concurrent nature. new open-source low-overhead profiler which samples callstacks and graphically categorises them by process status, reductions, memory and message queue length over time making it easy to identify code where time and memory is being spent. identify both sequential and concurrency bottlenecks in our Erlang Healthcare HL7 message processing system. Advanced Chaitanya Chalasani Track 3 Mnesia as a complete production database system The Understated Mnesia Chaitanya Chalasani Access Europe GmbH. Mnesia is often underplayed as an in-memory cache and is seldom used alone in production. The first part of the talk is to present few case studies of using only Mnesia as the production database engine for large throughput services. The second part of the talk is to present an open-sourced framework for Mnesia (Tivan) which is a collection of utilities and behaviours that enriches its role as a prime database engine. Advanced

15.15 - 15.35 Break

15.35 - 16.15 Pawel Szafran Track 1 Graceful shutdown in Elixir - try not to drop the ball Roberto Aloi Track 2 Boost your productivity with the Erlang Language Server Ingela Anderton Andin Track 3 TLS the OTP way TLS-1.3 is a major upgrade of the TLS-1.2 protocol. A lot of legacy is thrown out and new mechanisms will replace old flawed ones. Most of the TLS handshake will be encrypted as opposed to earlier when most of the first handshake was in plain text and encryption started first when sending the final handshake confirmation message. TLS-1.3 also puts new requirements on TLS-1.2 to pave the way for migration. Intermediate

16.25 - 16.50 Daniel Szoboszlay Track 1 Consensus Protocols in OTP Advanced Jeff Weiss Track 2 A Beginner's Guide to TLA+: Exploring State Machines & Proving Correctness Daniel Widgren and Niclas Axelsson Track 3 Nova: a web framework for Erlang Simplify Web Development Daniel Widgren N/A. This is a framework that started a long time ago but now is gathered as a package. With influences from Chicago Boss and Phoenix, we wanted an Erlang framework that was easy to use. http://novaframework.org/ https://github.com/novaframework/nova

17.50 - 18.30 Marcelo Lebre Track 1 Four patterns to save your codebase and your sanity (codebase) Scalability, Productivity Marcelo Lebre Scaling a codebase balance of vertical horizontal approaches. Independently if you choose domain-driven design, hexagonal or simple MVC you can add more files or keep increasing the ones you have. McCabe's cyclomatic complexity is that functions and methods that have the highest complexity also contain the most defects. Handlers, Services, Finders and Values Nikola Begedin Track 2 E2E backend testing with Ecto API Elixir Testing Sandbox Nikola Begedin V7 Labs. Hound and Wallaby are great test tools. We get access to the Ecto sandbox out of the box, so the background for each test is easy to set up. However, both are difficult to operate any anything other than a simple frontend, which is part of the Phoenix app itself. Ecto supports Sandbox access via API endpoints, making it possible to use any test runner, such as Cypress or Testcafe, paired with any frontend of any complexity. Bryan Naegele Track 3 Applied Telemetry: Lessons from the Field Observability Telemetry Tracing Bryan Naegele Weedmaps. As the telemetry ecosystem grows and adds tracing support to its list of observability concerns, it's important for users and library maintainers to get a grasp on what it all means to them. We'll cover the Five Ws and How to improve the runtime observability story for everyone in the Erlang/Elixir ecosystem. Intermediate

18.40 - 19.20 Ryan Resella Track 1 Adventures in High Performance Logging Massive Log Throughput John Mertens Change.org. What do you do when you need to write to a log in your Elixir app? Use Logger, of course! But what happens when you reach its limits? This talk uses a real-world example to explore what happens when your system scales past the tools that come with the BEAM. We'll build our way from Logger, to disk_log, to a custom GenStage pipeline, all the while striving for the highest performance solution. Veronica Lopez Track 2 Kubernetes and the Beam Jon Carstens Track 3 Nerves of Steel Reliable Hardware Uptime Jon Carstens Smartrent. Nerves is an up-and-coming framework combining Elixir & Linux for powerful embedded development. Feature packed, backed by the BEAM, and simple to get working on a device. We leverage the awesome power of Nerves+BEAM to make ultra-resilient embedded devices! In this talk, we dive into some useful practices for ensuring your Nerves device stays up. Intermediate

19.20 - 19.40 Break

19.40 - 20.25 Chris Keathley Keynote: Track 1 Keynote: Software for one. Ideas for all

20.25 - 20.35 Closing notes