This talk discusses the high availability challenge, an important property when building a system that needs to provide the service continuously. Based on my own experience in building an Erlang/Elixir powered system that constantly pushes the fast changing data to a few thousand of connected users, I will provide a high-level overview on how Erlang can help us implement continuously running systems, and back this theory with some real life examples. This is an introductory talk that targets mostly people new to Elixir and Erlang, aiming to explain why and how Elixir/Erlang can be beneficial. The talk is language agnostic with the focus on Erlang virtual machine rather than a particular BEAM oriented language. After the presentation, the audience should have a better insight on how highly available systems can be implemented, and how Elixir/Erlang can help in achieving that goal.

Robots are fun. Programming is fun. Programming Lego robots with the visual environment... well, not so fun. This is the starting point for putting Elixir on the Lego Mindstorms EV3. It ought to be fun to do, but my son and I got lost in the visual environment when trying to do advanced things. After having created a simple EV3 library in Elixir, the fun started coming back. This talk is about how the EV3 Elixir library works and how to use it to make robot control software that is easy to write and understand. Among the key building blocks of Elixir are processes, and we will have a look at how to design things using lots of processes and how that makes things easier to work with. We start from conceptual architecture and end with elegant Elixir programs.
Talk objectives:
- Show how using lots of processes with asynchronous message passing create super solutions in Elixir.

- Inspire people to hack Elixir on Lego Mindstorms EV33

Target audience:

- Programmers curious about how to apply Elixir's processes in a good way

QuickCheck, our testing tool for automatically generating tests, has a long track record of nailing serious and hard-to-find bugs and boosting quality, in software like dets (part of mnesia), Riak, and the embedded software in cars. QuickCheck is written in Erlang and can be used with Elixir, but... can we instrument Elixir code to find race-conditions with PULSE? Not until recently. Now we have an Elixir native interface to access QuickCheck. In this talk, we present QuickCheck and this interface and show how race-conditions can be nailed down.

Evercam connects to thousands of IP cameras, pulling streams and/or jpegs. We first built the project using .NET and at a certain point we decided to rebuild on OSS. The main project was well suited to Ruby but the camera connections could not scale so we rebuilt that part to Node. Right now we're just about to embark on re-architecting to make use of Elixir and would be happy to share our experiences and learning with the Elixir community.

Target audience:

- People considering Elixir or interested in hearing how it compared in a real project to other languages.