Tags: Elixir, Retrospective, Learning, Nerves, Phoenix

This year was my first ElixirConf! It was an incredibly exciting and enjoyable time. I was able to meet many interesting people working on interesting projects. What follows is a series of brief writeups of the talks which I saw in person.

Chris McCord Keynote

Chris’ keynote was a combination of discussion on the current Elixir community as well as a great talk on whats coming in the future of Phoenix. He presented a high level view of his plans for Phoenix Presence as well as the coming changes for Phoenix 1.3.

Here is a list of my key takeaways:

PG2 and You - Eric Entin

This was a great little introduction to the pg2 library. @antipax went over some of the cool things that it does as well as discussing his translation into Elixir repg2.

There is not much to say on this talk other than it was interesting and gave me some high level information that I otherwise would not have had. All I have in my notes other than the link to repg2 is a quick comment on the :kernel.SafeSupervisor which is something that I had no idea existed. It is a base level supervisor which a user has no entry point into.

The future of deployment in Elixir - Paul Schoenfelder

This was a wonderful overview of the state of releases in Elixir. This is a subject which is super relevant to me and I expect anyone who has a strong desire to use Elixir in production. Paul mostly discussed his own dissatisfactions with how he built exrm and how Distillery is the future of releases. Because exrm was implemented on relx, Paul was not able to implement some critical dynamic features (use of /config files per environment for instance) which he viewed as critical. He strongly discourages anyone from continuing to use exrm, and says that all new development should use Distillery.

He also mentioned a great need for “real world” documentation of building and using releases. I agree! I pitched in recently with a basic release walkthrough for Phoenix which was distributed with Distillery 0.9.9. If you are using Distillery or have experience building and using OTP releases please chip in, the community needs your knowledge!

Debugging Techniques in Elixir - Erich Kist

Erich presented a wonderfully educational talk on the debugging ecosystem in Elixir starting with IO.puts all the way through :observer and how to use it in production.

I learned a few new tricks about IO.inspect, foremost of which was the new :label option which will be making it into the next minor release. using :label will allow you to prefix label your inspect output instead of interpolating. For example:

Turns into this:

Minor maybe, but pretty neat!

Key points:

All in all this was a very relevant talk for anyone at any stage in their use of Elixir.

Measuring Your Elixir Application - Renan Ranelli

Renan discussed the current monitoring stack for his employer Xerpa.

Out of these tools, exometer, elixometer and graphana were new to me. This was a good case study of what an in house monitoring stack could look like for an Elixir application.

Refactoring Techniques for Elixir, Ecto, and Phoenix - Gary Rennie

Gary discusses and demonstrates different refactoring techniques in an example Elixir application.

This is a hard talk to write notes on due to the examples. I recommend watching it if you are new to Elixir or new to using pattern matching.

Key points:

Ecto key points:

Phoenix key points:

Two afternoon sessions

I unfortunately needed to step out due to client work for the two early afternoon sessions. I will update this post once I have the opportunity to watch the talks I had planned on.

WebRTC and Phoenix, when μ seconds aren’t fast enough - Jason Stiebs

This was a fantastic talk on a subject which I knew nothing about coming in. Jason delivered a fantastic presentation on the WebRTC project and how it could be used with Elixir. He discussed different network topologies and how they effect communication between different clients. In addition, he showed a demo project for video communication with the initial handoff and discovery handled by a Phoenix application and web socket.

I would put this under “must watch” for anyone who wants to know how a service like google hangouts operates. It gave me a much bigger appreciation of video streaming services as well.

Elixir for the next 10 years - Boyd Multerer

If you are in the mood for an inspirational talk, this is the one to watch! Although very little of the actual body of the talk is focused on Elixir, it is a fantastic view of the future and what we all are placed to take advantage of as an industry and community. What about having a mesh network in Low Earth Orbit and putting your CDN on it? Is that possible? Boyd thinks it might be, and that Elixir may be the language used for some truly SciFi ideas. His energy and ideas are infectious; I know that was not the only one who walked out of the room pumped to get back to work on building the future.

Key notes (or in Boyd’s case Bets):


It was a great conference, I am quite happy I went! Next year (in Bellevue, Wa) I would like to see more self employed people in attendance. This event further reinforced my feeling that Elixir/Erlang/OTP is the place to be right now within our field.