Podcast wide banner logo

The Thinking Elixir Podcast

Welcome to the Thinking Elixir Podcast! The show has weekly episodes where we talk about the Elixir programming language and community around it.

Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more.

Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process.

Subscribe to join me on this journey!

Learning or Teaching Elixir

Either learning Elixir on your own or as a team, check out the Courses! Contact me for other ways I can help.

Subscribe to
Thinking Elixir Podcast

Or subscribe with your favorite app by using the address below

Recent Episodes

#068 Rust and Elixir with Nik Begley

October 12, 2021

We talk with Niklas Begley about his Doctave service and the problems it’s solving. From there we cover why they use Rust for a key piece of the service and how Elixir fits in. We cover tools like Rustler for integrating Elixir and Rust smoothly. We talk about business drivers, Nik’s experience building a SaaS product using Elixir and more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/068-rust-and-elixir-with-nik-begley

#067 Building a Healthy Community

October 5, 2021

We talk about ways we can all contribute to building a healthy Elixir community. The Elixir community is a welcoming, encouraging and helpful place and we want to help keep it that way! We talk about common problems facing maintainers, tips for engaging productively, the value of expressing appreciation, and much more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/067-building-a-healthy-community

#066 Tracing Production with Kai Wern Choong

September 28, 2021

We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way.

Show Notes online – https://thinkingelixir.com/podcast-episodes/066-tracing-production-with-kai-wern-choong

#065 Meet Core Team Member Aleksei Magusev

September 21, 2021

We talk with Elixir Core Team Member Aleksei Magusev about how he got involved in Elixir, what it’s like being on the Core Team, some of his contributions, areas in Elixir that interest him, and his tips for learning a new programming language! He also shares some of his interests outside of computing. Meet Aleksei!

Show Notes online – https://thinkingelixir.com/podcast-episodes/065-meet-core-team-member-aleksei-magusev

#064 OTP Certificate Woes with Bram Verburg

September 14, 2021

We talk with Bram Verburg about an important root certificate expiring at the end of September and how this impacts your Elixir and Erlang projects! Bram helps explain where this IS and IS NOT a problem. He also explains the different update options available. We also get Bram’s security perspectives from his years of focused study and contributions in the Elixir and Erlang communities. A great resource for understanding the current certificate situation and for protecting your Elixir projects!

Show Notes online – https://thinkingelixir.com/podcast-episodes/064-otp-certificate-woes-with-bram-verburg

#063 SMS Texting in Nerves with Peter Ullrich

September 7, 2021

We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn’t and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about.

Show Notes online – https://thinkingelixir.com/podcast-episodes/063-sms-texting-in-nerves-with-peter-ullrich

#062 Chris McCord joins Fly.io and Phoenix 1.6

August 31, 2021

We talk with Chris McCord about his recent announcement that he’s moved to work at Fly.io! We cover what this means for the Phoenix project and ongoing Phoenix development work. He shares why he’s excited about the Fly platform which includes how it replaces his need for a CDN! We also talk about the new Phoenix 1.6 release and all the goodness coming there. This release includes the HEEX engine for validated HTML at compile time, making the auth generators official, a new mailer generator, and the move away from Webpack to esbuild. We go deeper on what the move to esbuild means for existing projects before hearing where Chris wants to put his focus next. We covered a lot, so buckle up!

Show Notes online – https://thinkingelixir.com/podcast-episodes/062-chris-mccord-joins-fly-io-and-phoenix-1-6

#061 Elixir’s Recent Brex-it

August 24, 2021

We cover the news then talk about the Brex announcement that they are shifting to a Kotlin-first strategy over Elixir. This reminds us of patterns we’ve seen in our careers and we reflect on what it means to us personally and professionally. We share our perspectives on Elixir, how it’s different from the languages we’ve used before and the unique value we get from it.

Show Notes online – https://thinkingelixir.com/podcast-episodes/061-elixirs-recent-brex-it

#060 Compile Faster with Marc-André Lafortune

August 17, 2021

We talk with Marc-André Lafortune about reducing Elixir project compile times. On larger projects, when a single file like a view template is changed and over 100 files get recompiled, there is something wrong. Marc-André explains how he identified the problems in his project and contributed to Elixir’s mix xref tool making it easier for us to find those problems in our own projects! We cover how these tooling improvements were used to improve the upcoming Phoenix 1.6 and Elixir 1.13! An additional mix xref flag was added to run CI checks on our code to prevent accidentally adding code that slows our compile times.

Show Notes online – https://thinkingelixir.com/podcast-episodes/060-compile-faster-with-marc-andre-lafortune

#059 How Elixir Came to Spotify with Joel Kemp

August 10, 2021

We talk with Joel Kemp about his experience introducing Elixir at Spotify. We learn about the concurrency problems he had with the default stack and how that was solved with the BEAM. We talk about the inertia that larger companies have that make introducing any change harder. Joel compares the process to running a marathon and shares some tactics used to help build internal support and interest. Fascinating insight into a well known company and how Elixir is helping internally.

Show Notes online – https://thinkingelixir.com/podcast-episodes/059-how-elixir-came-to-spotify-with-joel-kemp

#058 News and Livebook for Business Intelligence

August 3, 2021

After covering the news we catch up on what Elixir things we’ve been thinking about and working on. Mark brings up using Livebook as a Business Intelligence tool for doing analysis of a running application’s data. David brings up how to design safe data migrations in Elixir systems, examples from the Rails ecosystem and how he’s thinking about that for Elixir.

Show Notes online – https://thinkingelixir.com/podcast-episodes/058-news-and-livebook-for-business-intelligence

#057 Scaling Live Chat with Cade Ward

July 27, 2021

We sat down with co-host Cade Ward to hear how he and his team tackled a problem of hosting live web chats with crowds of 120K+ users coming together for live events. On the show, we have talked with a couple guests with similar bursting high-load situations. Cade had been through it too so it was time to dig in and cover how this situation can be solved. We cover the different attempts and temporary solutions used and the final solution that has been working really well. In fact it works so well, during a recent event, the auto-scaling didn’t kick in and everything was still fine!

Show Notes online – https://thinkingelixir.com/podcast-episodes/057-scaling-live-chat-with-cade-ward

#056 Fly-ing Elixir Close to Users with Kurt Mackey

July 13, 2021

We talk with Kurt Mackey, founder at Fly.io, about what makes the Fly platform unique and why hosting Elixir applications there makes a lot of sense. They started out looking to make a better CDN for developers and this pushed them to try deploying Full Stack applications closer to users, not just the static assets! We learn about the tech behind the networking, how databases can be moved closer to users, and how LiveView is even more awesome when it is close to users. Kurt also shares what he sees as the future for databases as the industry continues to move into globally distributed applications.

Show Notes online – https://thinkingelixir.com/podcast-episodes/056-fly-ing-elixir-close-to-users-with-kurt-mackey

#055 Learning from Failure with Philipp Schmieder

July 6, 2021

We talk with Philipp Schmieder about his experience creating a LiveView application for a political party’s convention and then watching the app blow up. We learn how he recovered, why it failed, and how he fixed it going forward. We also discuss some other application architecture ideas and how they might work. It’s a great post-mortem discussion where Philipp shares his wisdom so others learn from the mistakes. After experiencing all this, find out why he’s still bullish on LiveView and Elixir!

Show Notes online – https://thinkingelixir.com/podcast-episodes/055-learning-from-failure-with-philipp-schmieder

#054 AST Parsing using Sourceror with Lucas San Román

June 29, 2021

We talk with Lucas San Román about his library Sourceror and how it was created to solve some AST parsing limitations. The Elixir parser discards code comments, so it can’t be used for re-writing Elixir code when refactoring. IDE’s often include more advanced refactoring tools and the ability to provide that requires a smarter parser. Sourceror keeps the comments while also providing advanced features like a Zipper API to more easily navigate around the source tree while inserting and removing nodes. Learn what Sourceror can do and what it can enable for future Elixir tools!

Show Notes online – https://thinkingelixir.com/podcast-episodes/054-ast-parsing-using-sourceror-with-lucas-san-roman

#053 SOLID Elixir with Ilya Averyanov

June 22, 2021

We talk with Ilya Averyanov about how the SOLID principles, typically associated with OOP, can apply to Elixir. We talk about Ilya’s blog post where he applied these principles to his Github project and how that helped in PR discussions. We also talk about testing, architecture, and more.

Show Notes online – https://thinkingelixir.com/podcast-episodes/053-solid-elixir-with-ilya-averyanov

#052 IOList and Postgres with Nathan Long

June 15, 2021

We take a deeper dive with Nathan Long into IOLists in Elixir. We cover what they are, how they work, the power they have when concatenating strings, and how they are used in Phoenix and Logger. We even talk about improper lists and why they exist. And no, it isn’t a bug. We then talk about PostgreSQL features like materialized views, triggers, and using denormalized tables for solving complicated caching situations. Nathan shares some tips for when to use them and provides some cautions worth hearing.

Show Notes online – https://thinkingelixir.com/podcast-episodes/052-iolist-and-postgres-with-nathan-long

#051 Live Auctions with Alex Loukissas

June 8, 2021

We talk with Alex Loukissas about using Phoenix sockets to provide live auction systems. We comment on the situation of flash-mob-like users coming to a system and needing to handle high traffic volumes for shorter durations. We talk about how the Horde library helps solve fun distributed clustering problems, we cover observability tools, how and why companies should support open source development through sponsorships and more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/051-live-auctions-with-alex-loukissas

#050 Exercism.io and Elixir with Angelika Tyborska

June 1, 2021

We talk with Angelika Tyborska about the history of exercism.io, her involvement, the issues addressed in v2 and what’s new and cool in the soon to be released v3. We cover the Elixir track, her work as a maintainer, the journey of a student and how people can help as mentors. We also hear about the “fun” she had creating a maze generator and more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska

#049 Pushing for Modularity with Maciej Kaszubowski

May 25, 2021

Maciej Kaszubowski returns to talk about how read models can help modularize our systems. There is a focus on background job systems and how they fit in our modular designs. We cover push vs pull based systems and which is more maintainable. Maciej also shares his approach to learning and understanding a new Elixir library and more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/049-pushing-for-modularity-with-maciej-kaszubowski