Joseph Kain bio photo

Joseph Kain

Professional Software Engineer learning Elixir.

Twitter LinkedIn Github

I had a chance to go to ElixirConf 2015 in Austin, Texas. The conference was a great and I learned a lot. Below I’ve written a bit about my favorite talks of the conference.

My Favorites

Future of Elixir

These three talks

  • Keynote: The Pendulum (Bruce Tate)
  • What’s Next for Phoenix (Chris McCord)
  • Keynote (José Valim)

all discussed the future directions for the Elixir ecosystem as a whole.

Bruce Tate described a cyclical swing between two different paradigms of application development – with Phoenix channels we are swinging from the request / response model and will be able to provide richer interfaces.

Phoenix will push things futher over the next year as Chris plans to investigate GraphQL to allow applications to provide more efficient and simpler interfaces to clients.

José continues to develop features for Elixir Core and is looking at creating a GenRouter behavior that can be used to compose concurrent work. This would replace the async Streams which he had discussed previously.

All of this, especially taken together, makes this a very exciting time for Elixir.

Virtually Instructional (Lennart Fridén)

Lennart took a deep dive into the internals of the BEAM. Given my experience with with low level programming I found this talk fascinating.

Lennart walked through several examples of compiled Elixir programs to demonstrate how the BEAM instruction set works and what to expect from the machine and the Elixir compiler. Fascinating stuff, and makes me want to dig into the machine to take a look for myself.

Phoenix with Elm (Alan Gardner)

There was a lot of interest in this talk across the conference. Elm is growing in popularity for frontend use and seems to be in the same spirit as Elixir. The two make for a great combination.

Alan’s talk described a number of things. He started with an introduction to the Elm architecture and how it relates to front end application development. It’s a nice model that turns traditional MVC, as object interactions, around and reposes it as a functional data transformation.

Alan went on to describe how to connect Elm and Phoenix in terms of:

  • Connecting Phoenix channels to Elm signals using ports
  • Integrating Elm compilation into Phoenix asset management

Finally, Alan had a great demo showing a airplane seat reservation system. You get the seat saver demo code on github.

And of course if you want more information on Elm itself take a look at the elm-lang page.

An Elixir Voice Survey Application (Stephen Pallen)

I saw Stephen Pallen talk last year at ElixirConf. It’s really interesting to see his work using Elixir because he’s using Elixir for Telecom.

Stephen presented on a voice menu application for phone services. It was a nice application and showed great use for Elixir interacting with outside modules.

One part of the presentation I found intersting, more general applicable, and perhaps a little understated in the talk, was ExAdmin – an admin site you can drop into a Phoenix project. This is still in development but seemed quite usable in the demo. It can pop up CRUD pages to manipulate records in your database for administration purposes. I’m definitely planning to check ExAdmin out.

One thing I want to understand better is how ExAdmin plugs into a Phoenix app. I have a few ideas that might make for intersting plugins.

BEAMing with Joy (Steven Proctor)

Great information about the BEAM ecosystem including available tools. Not sure all of these apply to Elixir (yet) but I’d be excited to see more of them (especially TypEr).

I think the most important part of this tak was that Proctor encouraged the Elixir community to stick together with the Erlang community as there is a lot we can share and learn from each other.

Composable Queries with Ecto (Drew Olson)

I’d read Drew’s blog post, Composable Queries with Ecto, previously and was really looking forward to this talk – Drew did not disappoint. The way that Drew builds up queries, maintains reusable queries, etc. is very interesting and powerful.

Drew showed how to build up queries as composable pieces. The pieces can then be assembled to form larger queries. This technique allows separating queries into logical pieces. For example queries can be separated into separate modules so that they live next to relevant code but then assembled into the full query needed for the application.

After listening to this talk I wanted to do a lot more work with Ecto.

Other Talks I attended

  • Day 1
    • Confident Elixir (Lance Halvorsen) - An interesting take on Avid Grimm’s talk: Confident Ruby.
    • CRDT: Datatype for the Apocalypse (Alexander Songe) - CRDT’s seem very powerful, though I don’t know enough about them to have really appreciate Alexander’s work.
    • Elixir in the Browser (Bryan Joseph) - ElixirScript seems like a very interesting project and I think we’ll be hearing a lot more about it in the near future. The talk went into a lot of how ElixirScript was developed I want to see more information on how to use it.
    • Streams, External Services, and OTP (Ben Wilson) - I really want to dig into some of the resources mentioned
    • Keynote: Elixir Should Take Over the World (Jessica Kerr) - A very interesting and encouraging keynote. Jessica is a great speaker and makes us all excited about Elixir.
  • Day 2
    • OTP Has Done It (Nick DeMonner) - great info on OTP
    • A Deep Dive into Binaries (Chris Maddox) - this was more interesting than I expected. Chris was a great presenter.
    • Expert Panel - Elixir Fountain Live! hosted by Johnny Winn

Talks for which I’m eagerly awaiting videos

There were two tracks this year at ElixirConf which means I only got to see half the talks. All the talks were great but I’m planning to watch these talks as soon as the videos are released:

  • “You spent HOW much?”: Elixir for high-throughput real-time accounting (Dan Swain)
  • Into Production (Jamie Winsor) I caught the very end of this talk when I went back to the main room for Day 1’s closing Keynote. The room was packed and the talk was running over time. No one minded that the talk ran long, they were all engrossed in what Jamie had to say. I’m looking forward to seeing the talk in its entirety.
  • Embedded Elixir in Action (Garth Hitchens)

Other ElixirConf Reports

If you haven’t already seen it, easco, posted his trip report on the elixir-lang-talk mailing list.