The top 10 Elixir talks of 2017 so far

Want more from the world of functional programming? We’re at Code Mesh 2017 in November!

2017 has been a great year for Elixir! It turned 5 years old this January, and the language has just gone from strength to strength.

It’s also been a fantastic year for sharing of knowledge within the community. Here’s our pick of the most popular Elixir talks of 2017 so far.

GenStage and flow - José Valim

Event: Lambda Days 2017

Speaker: José Valim, Elixir Creator

Level: Intermediate

José explores the rationale and design decisions behind GenStage and Flow, two abstractions that have been researched and now implemented in the Elixir programming with a focus on back-pressure, concurrency and data processing.

Transforming programming - Dave Thomas

When it comes to BEAM, the last thing the community wants to do is break something good. At the same time, it’s also a bad idea to stagnate.

It is on this basis that Dave Thomas explores what happens if he takes BEAM and starts using it in different ways. In this talk, Dave shares his great thought-provoking way of understanding and teaching programming as a state transition as he experiments with programming by transformation. Does Dave succeed in freeing himself, and the community, from the “tyranny of the program counter”? You’ll have to watch to find out!

Leveling up your Phoenix Projects with OTP - Nico Mihalich

Event: Lonestar ElixirConf 2017

Speaker: Nico Mihalich, DockYard

Level: Beginner, Intermediate

Want to build a fully functional Elixir project, integrated into a Phoenix application? This talk is for you!

With Elixir and Phoenix, the toolkit for building web applications has expanded dramatically. Beyond Phoenix’s routers and controllers is a whole new world of features and ways to build reliable systems. With this talk, Nico demonstrates how.

Over the course of the talk Nico takes a practical approach to building a small application in Elixir, walking through all the steps and describing what language features he takes advantage of and why. Along the way he explores GenServer, OTP, backpressure management, synchronous vs asynchronous calls, a testing strategy, and integration into a Phoenix application.

Taking Elixir to the Metal with Rust - Sonny Scroggin

Event: NDC London 2017

Speaker: Sonny Scroggin, Phoenix Core Team member

Level: Beginner, Intermediate

Elixir is great, we all love Elixir. However, in this talk Sonny is very upfront about Elixir’s speed; it turns out Elixir isn’t the fastest kid on the block. And while raw CPU speed matters little for most applications, there does exist a couple reasons you might want want to reach for tools that give you access to native power.

NIFs are normally implemented in C and are considered dangerous. But Sonny explores writing safer NIFs in Rust - a new systems programming language developed by Mozilla, that focuses on memory safety. He also touches on the pitfalls with writing NIFs and how Rust can make this process easier and safer.

ElixirConf EU 2017 Keynote - José Valim

Event: ElixirConf EU 2017

Speaker: José Valim, creator of Elixir

Level: Beginner, Intermediate, Advanced

José Valim is the creator of the Elixir programming language and the Director of R&D at Plataformatec, a consultancy firm based in Brazil. He is author of Adopting Elixir and Programming Phoenix as well as an active member of the Open Source community.

In this talk, Jose talks us through his journey with Elixir so far, and shares his plans for the language in the coming year.

Elixir and Money - Tomasz Kowal

Event: ElixirConf EU 2017

Speaker: Tomasz Kowal, Clubcollect

Level: Beginner, Intermediate

Dealing with money should be easy, because crunching numbers is the most basic thing that every computer can do. On the other hand, the cost of a mistake may be quite high.

In this talk, Tomasz outlines the properties a financial system needs in terms of CAP theorem and how Elixir fits into a real-life problem domain. He also covers handling rounding errors, designing APIs that gracefully handle network and hardware failures, and usage of “let it crash” approach in the design.

Phoenix 1.3 - Chris McCord

Event: Lonestar ElixirConf 2017

Speaker: Chris McCord, Phoenix Creator

Level: Beginner, Intermediate

Chris, Phoenix creator, runs through the updates and developments in Phoenix 1.3 in his Lonestar ElixirConf keynote. As a result, this talk is a must-see to anyone working or developing with Phoenix.

Learn about the design decisions behind the new generators. Chris also explains the rationale behind the new approach to structuring applications in Phoenix.

PS watch out for Chris’ shoutout on being memed! The man has well and truly made it!

Phoenix: an Intro to Elixir’s Web Framework - Sonny Scroggin

Event: NDC London 2017

Speaker: Sonny Scroggin, Phoenix Core Team member

Level: Beginner, Intermediate

Phoenix, a web framework written in Elixir, provides the building blocks for creating fast, efficient, scalable web services. It supports the standard request/response model, but also provides support for WebSockets out of the box.

In this talk, Sonny illustrates just how easy it is to get up and running with Phoenix by building an application, live!

Can Elixir Bring Down Phoenix? - Ben Marx

Event: ElixirDaze 2017

Speaker: Ben Marx, Bleacher Report

Level: Beginner, Intermediate

The topic of Phoenix and Elixir continues.

In this talk, from ElixirDaze 2017, Ben Marx pits Elixir against Phoenix. Against the backdrop of his work with Elixir in Phoenix in production at Bleacher Report (read our case study), Ben explains how he uses Elixir and Phoenix to service a massive number of concurrent users.

Elixir vs. Ruby fight - wroc_love.rb panel

Bonus! This panel from Warsaw’s wroc_love.rb 2017 conference poses a variety of Elixir, Erlang, and Ruby questions to their awesome foursome. This insightful conversation highlights the different ways people come to Elixir, and their thoughts of the language in the context of Erlang and Ruby.

Want more from the world of functional programming? We’re at Code Mesh 2017 in November!