REGISTER

DISCOVER THE FUTURE OF THE ERLANG ECOSYSTEM

 

  • 2

    DAYS

  • 7

    THEMES

  • 50+

    SPEAKERS

  • 300+

    ATTENDEES

 

The future of the Erlang ecosystem, from your home!

Code BEAM V 2020 will now be a virtual event.

Code BEAM V conference is all about discovering the future of the Erlang Ecosystem and bringing together developers as a community to share knowledge & ideas, learn from each other and inspire to invent the future.

An action-packed two-day conference fused with a mix of talks on innovation and open-source applications based on Erlang, OTP, Elixir, LFE, BEAM and other emerging technologies!

CODE BEAM V 2020 - BACK THIS SEPTEMBER!

REGISTER  - more information will be available soon. 

ACADEMIC TICKETS - We love students and academics. Get a special academic discount. More information will be available soon. 

DIVERSITY & INCLUSION - We're committed to diversity at Code BEAM V. Applications are open until 30 August 2020.

VOLUNTEER - Join the Code BEAM V family and get free access to the conference! Applications are open until 30 August 2020. 

 

THEMES

THE BEAM

Learn from the leading experts and Erlang committers about new language constructs, VM implementations, and powerful libraries which form the Erlang eco-system. You will learn how many of its features work and how to best use them to write fast and efficient code.

SCALABILITY AND RELIABILITY

Scaling has been a given for many years now and the BEAM supervision concepts are well understood. But you need more, much more. You want to build distributed clusters of massive potential, you want to monitor your systems and automatically provision replacement hardware in case of failures. What is best-practice? What are the big players doing? How do you ensure you don't have to wake in the middle of the night?

TOOLS

It's not always clear what off-the-shelf software is useful in production-quality systems. In the tools track, you will learn what existing production systems' maintainers are using to monitor and test their systems via war stories and experience reports of novice and expert users.

FRAMEWORKS

In the frameworks track, you will learn from the leading experts and committers about new and leading frameworks such as  Phoenix, MongooseIM, Nerves and RabbitMQ. You will find out how these frameworks work, how to best use them and where not to use them.

WEB & APIS

With recent innovations the BEAM is now suitable for rapid web application development and gives any of the established frameworks a run for their money. Much work has been done to integrate with cloud providers such as Google and Amazon, and containerisation such as Docker and Kubernetes. The BEAM of 2019 can control your infrastructure, write Google documents, and is ideal for integrating with 3rd party services such as machine learning, and payment providers.

CASE STUDIES

Every new domain that Erlang and Elixir push into brings a new class of problems and a new class of solutions. In this track, we'll learn from other's experience, where things have been peachy and where they haven't been so much. We'll all walk away with a more clear idea of how to build highly reliable software.

INTRODUCTION TO ERLANG AND ELIXIR

New to Erlang and/or Elixir? Interested, but don't know quite where to dig in? We've all been there! In this track, you will learn from other's experience, get a sense of the lay of the software ecosystem, get help from the community and contribute back for everyone's benefit.

ACADEMIC & STUDENT TICKETS

We're thrilled to offer special discounts to academics and students. Simply get in touch using your academic email to confirm that you're a student/academic and we will release the discount code. 

VENUE

JOIN US ONLINE!

This is a global event accessible to all online!

In spirit, we will be in London, the original location of the Code Mesh event originally scheduled at the time of this event!

Log in details will be sent to all attendees one day ahead of the event. 

Schedule

Time

Track 1

Track 2

Track 3

13.00 - 13.10

Welcome -> (Times in CEST)

13.10 - 13.55

Natalia Chechina , Laura M. Castro and Viktória Fördős

Keynote:

Track 1

Unite and conquer

13.55 - 14.10

Kenneth Lundin

Track 1

An update from the OTP team

14.20 - 15.00

Manuel Rubio and Robert Virding

Track 1

Programming Languages on top of the BEAM

Dmytro Lytovchenko

Track 2

Monkey, take the wheel

Human Trust Monkey Dmytro Lytovchenko ERLANG SOLUTIONS. The talk briefly explains the Daniel Kahneman's fast and slow thinkers concept, where everyone can operate in easy-going and cheap mode, making mistakes and enjoying the distractions. The talk goes in detail how it is beneficial to accept your human nature, prone to errors, and instead trust your Erlang & Elixir language, available tools, and tests more than you would trust yourself.

Intermediate

Alvise Susmel

Track 3

Real-time Object Detection with Phoenix and Python

Experiment Object detection Elixir Alvise Susmel poeticoding.com. YOLO (You Only Look Once) is a state-of-the-art, real-time object detection system. functionalities in a Phoenix app, taking advantage of Python's fantastic set of Machine Learning libraries. Alvise will start by building an Elixir wrapper around a Python library, so he can detect objects on single images. Then we make it real-time on a Phoenix app, detecting objects from a webcam feed. Live demo

Intermediate

15.00 - 15.20

BREAK

15.20 - 16.00

Sanne Kalkman

Track 1

Who Takes Out Your Trash?

Beginner

Maksim Lapshin

Track 2

Decade of writing and selling Erlang based Flussonic

Erlang is an Excellent Choice Maksim Lapshin Flussonic. More than 10 years ago, Maksim selected Erlang to be a base of his commercial video streaming server software Flussonic. Maksim is happy with his decision, but will he make another choice in 2020? Maksim will share how he supports, maintains quality and hires people for developing new tasks.

Intermediate

Mikkel Høgh

Track 3

Rebuilding a complex web-app with Elixir and Phoenix LiveView

Beginner

16.10 - 16.35

Raimo Niskanen

Track 1

An introduction to the new socket API

Sockets Overview Puzzle-piece Raimo Niskanen Ericsson AB, Erlang/OTP. experimental new socket API since OTP 22 that is thinner, lighter, and faster than the old gen_{tcp,udp,sctp} over inet_drv. It is implemented with NIFs on the Unix networking functions, which gives programmers access to _all_ of the socket functionality in the OS networking stack. Overview of the API, implementation how the new sockets is intended to fit in the rest of Erlang/OTP.

Intermediate

Alexandre Rodrigues

Track 2

How a startup survived the hype years of NoSQL

Kivra Loves Erlang Alexandre Rodrigues Kivra AB. 2012, the NoSQL hype was strong, a digital mailbox service called Kivra is launched and the choice of database was Riak and the language was Erlang. Today, Kivra is the most used digital mailbox in Sweden. How did the prototype become a reliable system capable of handling changes in terms of time, functionality and load?

Benoit Chesneau

Track 3

From the idea to a MVP in less than 3 months

MVP Pattern OTP Benoit Chesneau Enki Multimedia. What does it mean to develop and deploy products or services written in Erlang on a daily basis? How can you build a product using multiple linked processes or services on one or more machine that will fit your business? How can you provide an MVP or a pilot in less than 3 months? In this talk, Benoit will describe some useful pattern and code/libraries written over Erlang OTP that will help you to achieve it.

Intermediate

16.45 - 17.25

Bjarne Däcker , Mike Williams and Robert Virding

Track 1

Ask me anything about creating Erlang

Kenneth Lundin , Ingela Anderton Andin and Lukas Larsson

Track 2

Ask me anything about OTP Team

Laura M. Castro , Natalia Chechina and Viktória Fördős

Track 3

Ask me anything about Research

17.35 - 18.15

Peer Stritzinger

Track 1

How the BEAM boots and what can be done about it

Anton Lavrik

Track 2

From 10s to 1000s engineers: scaling Erlang developer experience at WhatsApp

Advanced

Evadne Wu

Track 3

The Holy Grail of Isomorphism

Intermediate

18.25 - 19.05

Sonny Scroggin

Track 1

Don't write NIFs (at least not in C)

Native Safety Performance Sonny Scroggin Bleacher Report / Rusterlium. Most experienced Erlangers will caution against writing NIFs, and for good reason! NIFs are notoriously dangerous. Not only do we have to worry about crashing the BEAM, but we run the risk of degrading the scheduler if we're not careful. But what if writing NIFs were safe? In this talk, Sonny will discuss Rustler, a library which makes it incredibly simple to write safe NIFs in Rust.

Timmo Verlaan

Track 2

A war story - from failures to success

Failures Learnings War story Timmo Verlaan Enreach. Developing a communication platform seems to be the perfect fit for the BEAM. At least, that is what we thought when we set out to replace the existing Astrisk-based platform. Picking the proper tools is a good start, but when you develop in isolation for 2-3 years you might not learn about the BEAM characteristics under load. After 6 months in production, the first warning signs started to show.

Marc Sugiyama

Track 3

Unicode, Charsets, Strings, and Binaries

Character sets Character encoding Clarity Marc Sugiyama Datometry. Writing global software means our programs need to speak global human languages. UTF8, latin1, Unicode? And what does Erlang do? This talk demystifies the terminology around character encoding, explains how to retrofit your Erlang program for Unicode using Datometry HyperQ as a case study, and gives some best practices to help you break the one-byte/one-character assumption.

19.05 - 19.25

BREAK

19.25 - 20.10

Bryan Hunter

Keynote:

Track 1

Keynote - Using the BEAM to fight COVID-19

20.10 - 20.15

Closing notes

20.15 - 21.15

Track 1

Birds of a Feather sessions

Time

Track 1

Track 2

Track 3

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

16.55 - 17.40

Hans Elias B. Josephsen , Maxim Kharchenko , Kresten Krab Thorup , Kenneth Lundin and Brian Cardarella

Track 1

Panel Discussion on Erlang Virtual Machines

17.00 - 17.40

José Valim and Eric Meadows-Jönsson

Track 1

Ask me anything about Elixir

Bjarne Däcker , Mike Williams and Robert Virding

Track 2

Ask me anything about creating Erlang

Sebastian Strollo

Track 3

Ask Me Anything about Erlang Ecosystem Foundation

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

20.35 - 21.35

Track 1

Lightning talks

Track 2

Birds of a Feather sessions

Our speakers

Viktória Fördős

Viktória Fördős

Erlanger @ Cisco NSO core

Keynote:

Unite and conquer

Laura M. Castro

Laura M. Castro

Associate professor and lead researcher spreading BEAM love from a little corner in Spain (University of A Coruña)

Keynote:

Unite and conquer

Natalia Chechina

Natalia Chechina

One of the core authors of SD Erlang, lecturer in computing (Bournemouth University)

Keynote:

Unite and conquer

Christopher Price

Christopher Price

Head of Open Source @ Ericsson

Keynote:

Keynote: Safety in numbers, securing our BEAM

Lukas Larsson

Lukas Larsson

Erlang VM core committer

Keynote:

JIT Compiler for Erlang/OTP

Chris Keathley

Chris Keathley

Dynamic language apologist, senior engineer @ Bleacher Report

Keynote:

Keynote: Software for one. Ideas for all

Ingela Anderton Andin

Ingela Anderton Andin

Top female contributor to Erlang/OTP; SW developer in the OTP team

TLS the OTP way

Ask me anything about OTP Team

Gabriel	Kolawole

Gabriel Kolawole

Platform Developer @ Coingaming

José Valim

José Valim

Creator of the Elixir programming language, Chief Adoption Officer at Dashbit

Update: Elixir core dev team

Ask me anything about Elixir

Manuel	Rubio

Manuel Rubio

Polyglot developer, manager and coach

Programming Languages on top of the BEAM

Veronica Lopez

Veronica Lopez

Member of the Kubernetes Core Team

Kubernetes and the Beam

Marc Sugiyama

Marc Sugiyama

Experienced Erlang engineer, consultant, and trainer