Published on Wednesday, 2017-11-15 at 11:00 UTC

5 Videos from ElixirConf 2017 You Need to Watch (+Bonuses)

From Beginner to Expert: Improve Your Elixir Skills With These Five Videos.

Colorful Elixirs. (original photo CC0 by JohnBello2015/Pixabay

The number of Elixir developers keeps growing steadily. And while Elixir hasn’t become the world’s number one programming language just yet, there is a constant stream of new developers who join the community. Naturally, this also means an ever-increasing number of participants for the two biggest annual Elixir conferences: ElixirConf EU in spring and ElixirConf US in fall.

Developer conferences don’t always manage to keep their quality up to par with growing audiences. The ElixirConfs have been a brilliant exception so far, offering both approachable talks for newcomers and interesting presentations for veterans.

In this post I have picked five talks I found particularly rewarding — both for people new to Elixir and experienced “Alchemists”.

#1: Bryan Hunter: Elixir by the Bellyful

You’ve heard that Elixir is great for concurrent, fast and reliable applications. Maybe you’ve heard about Erlang, functional programming, cheap VM processes and powerful metaprogramming. But what on earth are OTP, Supervisors and GenServers?

“Elixir by the Bellyful” is an amazing introduction that covers just about everything you need to know about the Elixir ecosystem. The talk is packed with information. Starting with a bit of Erlang history, Bryan delivers a broad sweep across all the reasons that makes developing in Elixir so enjoyable.

Who is this talk for?

Everyone who’s interested in Elixir and willing to invest 40 minutes. You will not regret watching this.

About the speaker

Bryan is a polyglot functional programming advocate who runs his own software consultancy, LeanFP, in Nashville, TN.

#2 Darin Wilson: Thinking in Ecto

Ecto is Elixir’s most popular database toolkit. Why toolkit, not framework? “Thinking in Ecto” answers this question and more:

  • How is Ecto different from ORMs like ActiveRecord or jOOQ?

  • How does Ecto protect you from the infamous n+1 query problem?

  • Why is it great to represent database operations as data structures?

This is the new go-to introduction to Ecto.

Who is this talk for?

Everyone who wants to use databases in Elixir. It’s also interesting for more experienced users, showing the power of schemaless changesets, Ecto.Multi and embedded schemas.

About the speaker

Darin has become a great advocate for Ecto in the community. Last year, he gave a talk called Leveling Up With Ecto — a direct predecessor to this year’s slightly more refined version. He is currently co-authoring the book “Programming in Ecto” together with Ecto core developer Eric Meadows-Jönsson.

#3 Griffin Byatt: Plugging the Security Holes in Your Phoenix Application

Phoenix is productive, reliable, fast, sure. But is it secure? The reassuring answer is: Mostly, yes.

Out of the box, Phoenix offers good security but there are some common pitfalls you ought to be aware of. This talk gives an enlightening overview of potential security issues in Phoenix projects. Learn how to keep security in mind when writing code and configuration.

Who is this talk for?

Everyone who wants to deploy a Phoenix application should be aware of the potential issues that come with careless coding.

About the speaker

Griffin is a security consultant and developer, currently working for NCC Group. He has developed a static analysis tool for Phoenix applications that can detect most of the potential issues highlighted in his talk.

#4 Jesse Anderson: Don’t Write Macros But Do Learn How They Work

Metaprogramming is big in Elixir. It’s an incredibly powerful tool and lets you do things that are impossible in most other languages.

Why should you not use it then? Or should you? How do Macros even work? This talk answers these questions and more. It’s a great introduction and a good primer to start learning Metaprogramming Elixir.

Who is this talk for?

Intermediate Elixirists who want to get a better understanding of Macros and the AST.

About the speaker

Jesse has been active in the Elixir community for some time now and while this is his first ElixirConf talk, he has previously spoken about OTP at Erlang & Elixir Factory SF.

#5 Andrew Bennett: Well Behaved Native Implemented Functions

The Erlang virtual machine BEAM is great. And it’s fast. But not quite as fast as native code! This is where Native Implemented Functions (NIFs) come in: They allow integrating native code, written in languages like C, C++ or Rust, into Elixir and Erlang projects.

This talk isn’t quite a how-to for writing your own NIFs but it answers some interesting questions:

  • What is the role of the different schedulers in BEAM?

  • How do you prevent native functions from blocking your application?

  • What are the different types of NIFs and their advantages?

Even if you’re not planning to write your own NIFs anytime soon, this talk still provides great insight into some of the inner workings of the Erlang virtual machine.

Who is this talk for?

Experienced Elixir/Erlang developers who want to leverage the full performance of native code or get a better understanding of the BEAM platform.

About the speaker

Andrew has been interested in NIFs for a while now. While researching them, he even came up with a PR for one of Erlang/OTP’s own built-in native functions.

Bonus round!

As promised in my not-at-all clickbaity title, I wanted to share some more videos from this year’s ElixirConf US. They aren’t quite as educational as the other videos I’ve shown so far but I really enjoyed them:

Thanks for reading! This article is a little break from my ongoing series about developing and deploying Elixir applications to production. If you liked it, please let me know!

In this series I am sharing my experience of creating DBLSQD, a release and update server written in Elixir. Check it out, there is a 60-day no-strings-attached free demo: Publish & Distribute Software — DBLSQD DBLSQD is a release + update server for desktop and mobile apps. Powerful SDKs for Electron & Qt. Compatible with Sparkle, Squirrel &