What are Elixir's trending themes for 2019? ElixirConf EU

Martin Gausby 08.03.2019

What are Elixir’s trending themes for 2019?

The ElixirConf EU conference is the European hub for the Elixir community, over two days, 28 carefully picked talks cover the major topics of concern to the community each year. As a result, the themes of the conference are a good guide in finding out what is trending each year. Our Elixir expert, Martin Gausby, has considered all the talks that will take place at this year's conference, and found 6 main themes this year.

1. Scenic

Scenic is a new development in the Elixir community. An User Interface framework for Elixir introduced by Boyd Multerer at ElixirConf US 2018. It makes it possible to make user interfaces in a declarative manner, perfect for applications built with Nerves and others.

- Ju Liu will recreate the painting Square Limit by M.C. Escher using Elixir and Scenic. This should involve some neat tricks with functional programming and mathematics; useful skills for when we venture into building our own user interfaces for our Elixir applications.

- Tonći Galić will show us how to build an emulator for a well liked 8-bit entertainment system from the 90ies. Scenic will be used to show the action.

2. The OTP toolbox

- Securing your network applications is an important topic, and Bram Verburg has previously given talks about the SSL module at previous conferences. With more than 20 years of experience with telecom applications, and Erlang experience dating all the way back to 2010, Bram knows the ins and outs when it comes to securing an Elixir application.

- While message passing might be a good approach to string applications, together it does fall short when many processes need to share a lookup table. If one process is the owner of the information required it will become a bottleneck, as many processes would have to go through a single process to access the information. The BEAM solves that problem by having a special kind of memory that multiple processes can access in an efficient manner. This special kind of memory is called the Erlang Term Store, abbreviated ETS. Evadne Wu will show us the way with ETS.

- If you have ever wondered what happens when you start an Elixir application, Michał Muskała will give you the rundown. This talk will cover everything that happens before your application is up and running.

3. Nerves

Nerves has grown into a mature platform for building Elixir applications running on embedded devices.

- Cultivate is a consultancy with its headquarters in Scotland. Like many others, they employ people from around the world, and in an effort to bring the office closer together, and include the people working remotely, Paul Wilson, the founder and CEO created a Nerves and Phoenix based system providing a window into the office. Paul will be telling us about this at ElixirConf EU.

4. Architecture

One of the best aspects about Elixir is that it make fault tolerant software easier to build and maintain. Key to this is the architectural principles provided by OTP. 

- Chris Keathley will talk about the philosophy of a layered architecture. How to layer an application, allowing it to service requests to some extent, whilst some parts are temporarily down.

5. Metrics

There are three things you want from a production system; logging, tracing, and monitoring. For monitoring we need metrics, and a way to get metrics out of the running system. As of yet, there have been many ways of doing just that which is not ideal. Telemetry is an effort to make one library that will solve it all. 

- The creator, Arkadiusz Gil, will talk about the library and its usage.

6. Type checking

Having a system that can check the input and output types of a given function is very beneficial; why wait for the program to hit into problems at runtime if they can be caught at compile time? Previously, Dialyzer was the only game in town when it came to analysing a program based on its types, but lately an alternative type checking system called Gradualizer has surfaced. Gradualizer aims to bring gradual typing to the BEAM. Gradual typing is perhaps best known from Microsoft’s implementation in TypeScript. 

- Péter Gömöri will give us the rundown of the Gradualizer in relation to Elixir.

UPDATE: Chris McCord, the creator of Phoenix, will be giving a keynote on the recently released LiveView, it promises to be a game changer.

Learn more

ElixirConf EU is between 8–9 April, with training on 10 April. You can learn more about it on the website

You can view the highlights from last year's conference below:


Martin Gausby

Martin Gausby

Martin is a long time Elixir developer with a keen interest in implementing network protocols. For the last couple of years he has been working with Erlang and Elixir systems for a living, and during that time spent way too much time tinkering with his Emacs configuration. Besides that he has a horrible taste in music, enjoys coffee, mechanical keyboards, and is a friend of the podcast.


Do you know the answer to this Elixir Challenge?

Article by Martin Gausby

Elixir has a concept of protocols which provide polymorphism on data types and structures. In our example we pipe the result of generating a MapSet into the to_list/1 function on the Enum module. Enum is a module containing functions that work on data types implementing the Enumerable protocol; examples of these are lists, maps, and ranges.