This year’s ElixirConf, in Colorado, really reflected the growing and thriving nature of the Elixir community. It was a jam-packed two days of workshops and two days of multi-track talks that showcased the increasingly diverse and innovative people and technologies that Elixir has to offer.
This year, Elixir School was thrilled to be offering two days of ElixirConf workshops. The goal of both workshops was to guide participants through building their very own real-time app––a ticket estimation tool we’re calling Pointing Party––using Phoenix’s real-time offerings. On day one, we built out Pointing Party with the help of Phoenix Channels and Presence, and learned how Phoenix leverages WebSockets along the way. On day two we built out the same set of features, this time using Phoenix LiveView, PubSub and Presence. We capped it all off with a look at property-based testing with StreamData.
It was truly a pleasure to work with such a curious, dedicated and friendly group of students over the course of these two days. Thanks to everyone who signed up and participated! We had a great time teaching and we were challenged in turn by the interesting questions and approaches of everyone involved. A special shout out to our handful of participants who were brand new to Elixir and dove right into complex Phoenix concepts––successfully building out our application features by the end of the day and pushing and supporting the people around them with their open attitudes and fresh perspectives.
If you’d like to learn more about these workshops, you can check out the code and slide deck for day one, as well as the code and slide deck for day two below.
- Day 1: Harnessing the Real-Time Web with Phoenix, Channels, and Presence
- Slide deck
- Complete code
- Day 2: Building Bulletproof Real-Time Applications with Phoenix, LiveView, and StreamData
Talks We Enjoyed
There were so many exciting talks to check out, but with a multi-track schedule, we sadly couldn’t catch them all. Here are a few that stood out to us in particular.
Jose Valim’s Thursday Evening Keynote
Just because Elixir is now feature-complete doesn’t mean that the core team doesn’t have some exciting and ambitious goals for the next year! Jose discussed the present and future of
Mix.Config, including some thoughts on build time vs. run time configuration. He also made an exciting announcement–Phoenix 1.5 will ship with a native Telemetry module that makes it easy to configure your app’s Telemetry metrics and report them to the third party service of your choosing (New Relic, Statsd, etc.). The Elixir community can expect a new version of Elixir released every six months. One feature that we’re excited for is ExUnit pattern diffing––making it easy to see exactly what doesn’t match when ExUnit tells you that your match failed. Learn more about the future of Elixir by checking out the full talk here.
Chris McCord’s Friday Evening Keynote: LiveView in the Wild
Contracts for Building Reliable Systems - Chris Keathley
Chris Keathley’s talk asked the question: “How can we build systems that withstand change?”, and answered it with his new library, Norm. Norm was developed in response to the challenges that many of us face coordinating across teams and services and ensuring that we don’t break APIs while encouraging and allowing for growth. By embracing contract-driven design with the help of the ExContract testing library, and by leveraging Norm to enforce data specification, we can embrace change and mitigate breakage. Learn more about how Elixir tooling helps us promote contract-driven design for distributed architecture by checking out the full talk here.
Elixir + CQRS - Architecting for Availability, Operability, and Maintainability At PagerDuty - Jon Grieman
Learn about how Pager Duty builds systems that are more reliable than your most reliable app with the help of CQRS patterns. Jon Grieman talks us through Pager Duty’s refactor of a Rails monolith into an Elixir umbrella app backed by Kafka and lays out why Elixir and CQRS are such a good fit. Check out the full talk here.
We also had a great time getting to know other conference participants through the official and unofficial activities planned over the course of the four days. Participants where encouraged to use the Whova app to coordinate meetups. Some people organized morning runs and walks around the sprawling hotel and others planned everything from meetup discussions on scaling Elixir apps to evening wine tastings. The hotel itself, The Gaylord Rockies Resort and Convention Center, offered several different restaurants and cafes, walking paths and an indoor/outdoor pool with a lazy river. Conference attendees took full advantage of all the hotel had to offer and more––with the Elixir Outlaws podcast organizers setting up a lazy river meet-and-greet, Smart Logic’s happy hour with ClusterTruck at a nearby brewery and EMPEX’s Friday evening get-together.
Overall, the conference was well-organized, ran smoothly and was fun, welcoming and full of exciting things to learn and people to meet. Hope to see you there next year!