Thinking Elixir Podcast - podcast cover

Thinking Elixir Podcast

ThinkingElixir.compodcast.thinkingelixir.com
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. 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 us on this journey!
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

57: Scaling Live Chat with Cade Ward

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 wel...

Jul 27, 202157 min

56: Fly-ing Elixir Close to Users with Kurt Mackey

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 s...

Jul 13, 20211 hr

55: Learning from Failure with Philipp Schmieder

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...

Jul 06, 202137 min

54: AST Parsing using Sourceror with Lucas San Román

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 n...

Jun 29, 202154 min

53: SOLID Elixir with Ilya Averyanov

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 - http://podcast.thinkingelixir.com/53 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/pull/1490 – Phoenix LiveView live_session PR coming up https://github.com/pho...

Jun 22, 202136 min

52: IOList and Postgres with Nathan Long

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 h...

Jun 15, 202150 min

51: Live Auctions with Alex Loukissas

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 - http://podcast.thinkingelixir.com/51 Elixir Com...

Jun 08, 202141 min

50: Exercism.io and Elixir with Angelika Tyborska

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 - http://podcast.thinkingelixir.com/50 Elixir Community News https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/ – Eli...

Jun 01, 202154 min

49: Pushing for Modularity with Maciej Kaszubowski

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 - http://podcast.thinkingelixir.com/49 Elixir Community News https://www.erlang.org/news/148 – OTP 24 was released! https://blog.erlang.org/My-OTP-...

May 25, 202145 min

48: Ecto Associations with Sheharyar Naseer

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 - http://podcast.thinkingelixir.com/48 Elixir Community...

May 18, 202137 min

47: Crypto Trading in Elixir with Kamil Skowron

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 - http://podcast.thinkingelixir.com/47 Elixir Community News https://spawnfest.org/ – SpawnFest 2021 - Free to ent...

May 11, 202127 min

46: Livebook with Jonatan Kłosko

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 - http://podcast.thinkingelixir.com/46 Elixir Community News https://github.com/...

May 04, 202148 min

45: Junior Devs with Michał Buszkiewicz

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 - http://podcast.thinkingelixir.com/45 Elixir Community News https://githu...

Apr 27, 202143 min

44: Elixir Data Types with Sasha Fonseca

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 - http://podcast.thinkingelixir.com/44 Elixir Community News https://twitter.com/sean_moriarity/status/1380124787318665218 – Sean Moriarity released a new library built on NX called Axon https://dockyard.com/blog/2021/04/08/up-and-running-nx – Sean's guest blog writing and has a post on the Do...

Apr 20, 202149 min

43: Membrane with Marcin Lewandowski

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 - http://podcast.thinkingelixir.com/43 Elixir Community News https://twitter.com/josevalim/status/1377354990969233411 – Jose Valim said they are plann...

Apr 13, 20211 hr 12 min

42: LiveView Autocomplete and Blogging with Velina Petrova

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 w...

Apr 06, 202152 min

41: Secure IoT Systems using Ockam with Mrinal Wadhwa

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 - http://podcast.thinkingelixir.com/41 Elixir Community News https://www.bloomberg.com/news/articles/202...

Mar 30, 202157 min

40: Mental Models for Elixir and LiveView

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 - http://podcast.thinkingelixir...

Mar 23, 202141 min

39: Mix Install and ExDocs for Erlang with Wojtek Mach

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 - http://podcast.thinkingelixir.com/39 Elixir Community News https://twitter.com/elixirbookclub – New Elixir Book Club [Discord Elixir Book Club](Discord Elixir Book Club) – https://discord.gg/veN54bAmVa http...

Mar 16, 202138 min

38: Maintainable Elixir with Saša Jurić

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! ...

Mar 09, 20211 hr 13 min

37: The Lambda Days Conference and Elixir

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 - http://podcast.thinkingelixir.com/37 Elixir Community News https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-available – Project Nx has fin...

Mar 02, 202151 min

36: Using LiveView and Hooks with Alex Minette

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 t...

Feb 23, 202142 min

35: X-Plane's Elixir MMO with Tyler Young

Tyler Young from X-Plane talks with us about how he added a new MMO feature to the popular flight simulator using Elixir. He shares some behind the scenes information on how it was created and how it’s been working in production. We learn about the single modest server that supports all the mobile users right now. I loved hearing how Tyler found working with Elixir to be super productive. He took on a major new feature that he expected to take over a year but was able to deliver it in less than ...

Feb 16, 202141 min

34: José Valim reveals Project Nx

José Valim visits and finally publicly reveals what Project Nx is! He and others have been working on it for 3 months and he's finally ready to unveil it. José will speak more about it at the LambdaDays conference, demonstrating it with code and announcing the release and availability of the OpenSource code. Nx stands for "Numerical Elixir". The Nx project brings a unique numerical mode to Elixir along with GPU support. This important work lays the foundation for a powerful new era with data sci...

Feb 09, 20211 hr 16 min

33: Postgres PubSub and Elixir with Allen Wyma

We talk with Allen Wyma about a Postgres PubSub feature and how it plays nice with Elixir. We dispel the idea that you should always use Phoenix PubSub just because it's there and we cover the value of learning what's built-in to tools like the postgrex library. Allen shares how Postgres PubSub elegantly solved a problem for him and he gives tips for using it. We also talk about teaching Elixir through Allen's YouTube videos and teaching in person with his Teach Me Code efforts. Show Notes onlin...

Feb 02, 202145 min

32: Circuit Breaker and Elixir Patterns with Allan MacGregor

We talk with Allan MacGregor about implementing the Circuit Breaker pattern in Elixir and compare that to just using a job library. We get into a fun discussion about design patterns in Elixir and designing for failure. Allan is creating a project called Site Guardian using the PETAL stack and shares his experiences with it and much more! Show Notes online - http://podcast.thinkingelixir.com/32 Elixir Community News https://elixir-lang.org/blog/2021/01/13/orchestrating-computer-vision-with-elixi...

Jan 26, 202144 min

31: Crawling the Web using Elixir with Oleg Tarasenko and Tze Yiing

We talk with Oleg Tarasenko and Tze Yiing about crawling the web using Elixir. Oleg created the crawly project to help solve this problem and Tze Yiing joined him as a contributor and maintainer. We cover how Elixir is well suited to orchestrate crawling, how to deal with login pages, understanding the legal concerns, building a codeless scraper and much more! Show Notes online - http://podcast.thinkingelixir.com/31 Elixir Community News https://dashbit.co/blog/ten-years-ish-of-elixir – January ...

Jan 19, 202151 min

30: Mutation Testing using Muzak with Devon Estes

We talk with Devon Estes, the creator of a new Elixir mutation testing library called Muzak. Devon joins us to explain what mutation testing is and how it can help development teams in organizations move faster and with greater confidence. We cover when a project can benefit from it, the challenges of offering a PRO version of a library, where Muzak is going in the future, and more! Show Notes online - http://podcast.thinkingelixir.com/30 Elixir Community News https://github.com/elixir-lang/elix...

Jan 12, 202159 min

29: Running Jobs using Oban with Parker Selbert

We talk with Parker Selbert, the creator of the job processing library Oban. He shares the benefits of using Postgres as the data store over more common choices like Redis. Oban also offers a paid "pro" level and Parker explains how a paid feature set is provided for the OpenSource library. He helps us understand the differences between pro and free as well. We talk about how the BEAM's concurrency and processes enable powerful features in a job processing library that you won't easily find in a...

Jan 05, 202148 min

28: DepViz and ElixirLS with Jason Axelson

We talk with Jason Axelson. He created the DepViz tool that can help improve your Elixir compile-time experience. Jason explains how to use the tool to identify where compile time dependencies may be causing issues in your project and provides tips on what to do about it. We also cover recent improvements in Elixir 1.11 and coming improvements in 1.12 and what those will mean for you! Jason is also a member of the Elixir-LSP github organization and explains the history of the Elixir-LS project a...

Dec 29, 202049 min
For the best experience, listen in Metacast app for iOS or Android