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.

Thinking Elixir Podcast
Thinking Elixir Podcast

The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.

Recent Episodes

#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

#048 Ecto Associations with Sheharyar Naseer

May 18, 2021

We talk with Sheharyar Naseer about Ecto’s feature “association defaults” and how they work. We learn how they even support defining a function that gets called during your changeset operations which can be used to ensure multi-tenancy IDs get populated correctly. We learn more about Slab, talk about Single Table Inheritance designs and how we feel about them. We also talk about wrapping the Repo module for fun and profit!

Show Notes online – https://thinkingelixir.com/podcast-episodes/048-ecto-associations-with-sheharyar-naseer

#047 Crypto Trading in Elixir with Kamil Skowron

May 11, 2021

We talk with Kamil Skowron about his Youtube channel that walks people through building a crypto-currency trading bot in Elixir. We learn how that led him to start a free online book sharing that content. He covers what people will learn from the process, his goal of helping people see a larger working Elixir system, and his experience writing the book. A fun chat!

Show Notes online – https://thinkingelixir.com/podcast-episodes/047-crypto-trading-in-elixir-with-kamil-skowron

#046 Livebook with Jonatan Kłosko

May 4, 2021

We talk with Jonatan Kłosko, the coder behind Livebook, to learn how it works, how the collaborative feature was done, what you can do with it, what you shouldn’t do with it, some unusual ways people are using it, and more! We can’t help but talk about all the fun and cool ways it can be abused and how it’s finding exciting uses outside of machine learning. A great discussion with lots of insights.

Show Notes online – https://thinkingelixir.com/podcast-episodes/046-livebook-with-jonatan-klosko

#045 Junior Devs with Michał Buszkiewicz

April 27, 2021

We talk with Michał Buszkiewicz about Junior Developers in the Elixir community. We share tips for Juniors both early in their careers but also more experienced developers coming new to Elixir. We talk about the University vs Bootcamp approaches and what you want to focus on coming from either side. We further discuss how we as employers can support and encourage juniors. A lot of great resources shared!

Show Notes online – https://thinkingelixir.com/podcast-episodes/045-junior-devs-with-michal-buszkiewicz

#044 Elixir Data Types with Sasha Fonseca

April 20, 2021

We talk with Sasha Fonseca about Elixir’s data types behind the scenes. We learn about binary leaks, discuss memory usage, performance considerations, what boxed values are and much more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/044-elixir-data-types-with-sasha-fonseca

#043 Membrane with Marcin Lewandowski

April 13, 2021

We talk with Marcin Lewandowski about Membrane Framework. We learn what it is, the project’s goals, how people are using it and how it can solve the speed-to-market problem when streaming multimedia. We cover WebRTC, radio, industry challenges, why you want to deploy it to your own infrastructure, why startups fail and much more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski

#042 LiveView Autocomplete and Blogging with Velina Petrova

April 6, 2021

We talk with Velina Petrova about a blog post she wrote showing how a “designer dreamed up” feature was delivered using LiveView and Alpine.js. She shares how she added the LiveView feature to a non-LiveView page demonstrating a great strategy for slowly moving a project in the direction you want to go without stopping to re-write. We also talk about blogging, the value of sharing and putting yourself out there. We all share some tips we’ve found helpful when creating content. A fun discussion with some great tips and tools shared!

Show Notes online – https://thinkingelixir.com/podcast-episodes/042-liveview-autocomplete-and-blogging-with-velina-petrova

#041 Secure IoT Systems using Ockam with Mrinal Wadhwa

March 30, 2021

We talk with Mrinal Wadhwa about Ockam.io, the project and the company. They are taking on the ambitious goal of building an open protocol through Elixir and Rust libraries to enable secure and trusted IoT platforms. We learn about recurring problems that the IoT industry faces and how they are seeking to solve them differently. A very informative and interesting discussion!

Show Notes online – https://thinkingelixir.com/podcast-episodes/041-secure-iot-systems-using-ockam-with-mrinal-wadhwa

#040 Mental Models for Elixir and LiveView

March 23, 2021

We talk about the mental models we use for writing our Elixir code and for thinking about our Elixir systems (starting at 5:46). We cover transformations, plug, and Mark’s “Workshop Model” (starting at 23:45). We also talk about LiveView, (starting at 31:20) how we approach it today, mistakes we’ve both made and seen. A fun discussion! We want to continue the discussion with you over on ElixirForum. Check the show notes for links to those topics!

Show Notes online – https://thinkingelixir.com/podcast-episodes/040-mental-models-for-elixir-and-liveview

#039 Mix Install and ExDocs for Erlang with Wojtek Mach

March 16, 2021

Wojtek Mach returns and talks about the new Mix.install/2 feature coming in Elixir 1.12. We learn about some other features coming that will help script authors. We talk about OTP 24 and when we can expect 1.12 to be released, ExDocs support for Erlang libraries, and more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/039-mix-install-and-exdocs-for-erlang-with-wojtek-mach

#038 Maintainable Elixir with Saša Jurić

March 9, 2021

Saša Jurić shares how the team at Very Big Things is building maintainable Elixir code. This ranges from the development processes to code design and organization. He takes some “radical” positions and challenges conventions on a mission to find what actually works well. We talk about his library Boundary and how it helps enforce API designs. He talks about the “Junk Drawer Pattern” and how code analysis helps identify lines of separation for refactoring. A thought provoking and fun discussion!

Show Notes online – https://thinkingelixir.com/podcast-episodes/038-maintainable-elixir-with-sasa-juric

#037 Lambda Days Conference and Elixir

March 2, 2021

After covering the news, we share a live recording of the show from the Lambda Days conference. It was a lot of fun! We covered topics like learning and teaching Elixir, functional programming, strengths of Elixir over Erlang, the developer tooling, why Elixir is awesome even when not building distributed systems, and much more!

Show Notes online – https://thinkingelixir.com/podcast-episodes/037-lambda-days-conference-and-elixir

#036 Using LiveView and Hooks with Alex Minette

February 23, 2021

Alexandre Minette shares his adventures with LiveView as he builds a personal finance tracking application. We cover his use of hooks to integrate Javascript libraries that give him the UX he wants. He shares some tips and resources for finding Javascript libraries that work well with LiveView. Alex pushes browser locale data up to the server to customize rendering dates and times for a fun and different approach. We also get his perspective on using Flutter for Mobile development and where he thinks it fits with web technologies like LiveView.

Show Notes online – https://thinkingelixir.com/podcast-episodes/036-using-liveview-and-hooks-with-alex-minette