Highlights from ElixirConf US 2024
ElixirConf 2024 was in Orlando, Florida again. Unofficially this year was LiveBook Conf, in addition to an always great hallway track.
ElixirConf 2024 was in Orlando, Florida again. Unofficially this year was LiveBook Conf. Tons of great talks on using LiveBook as a tool to increase the productivity of your teams.
The hallway track this year at ElixirConf was a lot of fun. There were some folks just getting started in Elixir or software development, in addition many veterans who have been at it for years.
Regrettably, some of the talks I wanted to attend the presenters were unable to make it to the conference, so the talk was going to be recorded and put up later, so I'll have to prioritize catching them at that point.
2025 location announced
We'll be back in Orlando for the final year in 2025, this time closer to Universal Studios, rather than Disney World or SeaWorld.
Favorite talks this year
Livebook in the cloud: GPUs and clustered workflows in seconds - Chris McCord and Chris Grainger's Keynote
This one was really cool for showing off how Elixir and FLAME can be used to handle machine learning ops (MLOps) in a simple, cost effective wave. It was mind blowing to see that through the Elixir and Phoenix community we could get a bunch of stuff for free that has had millions of dollars invested into VC funded companies attempting to create.
If your company is doing anything, literally anything at all with machine learning, you really need to be looking at Elixir for your ops. There's a decent chance it could give you a big leg up using open source software.
Why the world needs PhoenixTest - German Velasco
I didn't personally catch this one in person, but I talked with German about it quite a bit in the Hallway Track, and members of my team caught it and said it was one of their highlights of the conference, so I caught it a bit later.
PhoenixTest, if you haven't seen it, unifies the API used for testing Phoenix Controllers (DeadViews), LiveViews, and in the future the browser, in order to provide a single seamlessly inter-operative experience for testing your Elixir code end to end.
Given that I've now lived through some of the annoying parts of testing LiveViews, the lack of consistency on testing function interfaces, and the difficulty of interoperating a LiveView and DeadView test, I can say this is sorely needed in the community, so thanks to German for creating it! (Along with all the other work he does for the community educating folks!)
Engineering Elixir Applications: If you don't deploy it, it ain't real. - Ellie Fairholm and Josep (Pep) Giralt D'Lacoste
This one has entered the canon of conf talks I wish I had given, but since I didn't, thanks to the presenters for clearly organizing my thoughts on my behalf, and presenting them for me and future folks on my team better than I could have. You just became a required talk as part of onboarding to help folks understand how we work.
It also helped me to learn that Terraform now has a GitHub repo provider, which was neat, and not something I had seen before that I could leverage.
The Power of Declarative Design - Zach Daniel
This one was cool because it had quite a bit of Ash, but wasn't really about Ash for the most part, it was about outcomes that you want, and how Ash's patterns naturally get you there.
But the real buried lede in this one was Igniter, a library for code generation, and more importantly, patching.
Idempotent code patching is significantly better than raw code generators (this is a hill I will die on), because code generators cause drift and make it really hard to update in the future, but wasn't something that was approachable for most engineers in the ecosystem.
And rather than just using regex or string matching in order to patch the code, he's using the AST, which is the right way to do this!
The projects that never were - José Valim
The ending keynote of day 2 was really interesting because José was able to walk us through how he thought about different web app architectures, whether client centric or server centric, and how Elixir and Phoenix have created a fantastic server centric approach in LiveView, but there is an alternative universe where there is the possibility of a client centric approach, and he showcases a proof of concept for a client centric LiveView, inspired by projects like Supabase and Sequin.
What this means concretely was creating replicas of your database tables on browser clients using IndexedDB in and being able to stream updates from the server to the client, as well as handling events in offline mode before syncing them to the server.
You can check out the proof of concept here: https://github.com/josevalim/sync
(Finally, if you missed it, this one is worth it just for José's pure panic when he thinks we've been letting him talk for more than 20 minutes without being able to see his slides - we could see them, but it was amazing.)
Rapid Prototyping in Elixir - Wojtek Mach
Not so much a talk on rapid prototyping, but more a survey of tooling in the ecosystem that helps you to be rapidly productive. This should be paired with Dockyard Academy in order to rapidly onboard folks from outside Elixir to the ecosystem.
And even if you've been in the ecosystem for a long time you're sure to pick up a new trick or two seeing Wojtek walk through all of it.
Wrapping up
There were a number of great talks I'm sure I missed, either due to the hallway track, or needing to step away for internal meetings at my organization, so let me know which ones I didn't mention that I need to see.
And once again a big hanks to Dr. Jim Freeze for continuing to host and facilitate the gathering of this great community year after year, and allowing me to continue to do trainings to give back to the community.
If I missed you at ElixirConf this year, or if you're planning on being at the next one, make sure to say hi. You can reach me via brittonbroderick@gmail.com - I'd love to get in touch.