

Thinking Elixir Podcast
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!
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!
Episodes
Mentioned books

Jul 23, 2024 • 1h 13min
212: Dueling with Wizards over ElixirConf!
Paulo Valente introduces Metal support in Nx for Elixir devs, while Chris McCord presents deploying distributed Elixir apps with YugabyteDB. Also covers Paraxial.io's free plan, Polo REST client release, and Peep library updates. Elixir Wizards crew previews ElixirConf 2024, discussing training classes, networking tips, and must-attend strategies for the event.

Jul 16, 2024 • 49min
211: A Passion for Testing
German Velasco, a software developer known for Elixir contributions, discusses transitioning from Rails to Elixir, Test-Driven Development philosophy, creating Elixir Streams, and upcoming ElixirConf talk. Topics cover Elixir updates, Livebook enhancements, Phoenix tips, Gleam features, and Protos library update.

Jul 9, 2024 • 1h 7min
210: A Bloom'n Fancy UI
Chris Gregori, Creator of Bloom UI, joins the hosts to discuss the launch of Bloom, an extension of Phoenix core components simplifying UI development for Elixir and LiveView projects. They talk about features like avatars and marketing layouts, potential future directions, contributions from the community, and a strong emphasis on accessibility. Plus, updates on Livebook 0.13.x release, viral projects, and more!

Jul 2, 2024 • 37min
209: New Admin Panel, LiveView Component Kit, and more!
Topics include using setup-beam for GitHub actions, reducing SDK API surfaces, Ash's UUIDv7 support, custom admin panel Backpex, SaladUI for LiveView components, AI testing of function names by Jose Valim, and ElixirConf 2024 talks preview.

Jun 25, 2024 • 32min
208: Elixir 1.17, Phoenix Playground and more
José Valim, Elixir creator, discusses Elixir 1.17 updates, Phoenix Playground for single-file apps, set-theoretic types for behaviors, Igniter project enhancements. Plus, Phoenix and Inertia.js collaboration, Nx Scholar's new machine learning version, and cutting-edge developments in the Elixir community. Exciting insights into the latest Elixir ecosystem tools, machine learning projects, and unconventional Elixir conference talks.

Jun 18, 2024 • 31min
207: Poison v6 is Waaay Faster and Drama Turns Productive
News includes the release of Poison v6.0.0, making it faster than ever, the discontinuation of the Lumen/Firefly project, and a new accessibility testing library for Elixir web apps. José Valim discusses managing client and server state with Phoenix LiveView, and there's a showcase of an AI Emoji generator written in Elixir. Tickets for ElixirConfUS 2024 are now available with exciting options for training and speakers, plus a surprise announcement for the event's emcee, and more!
Show Notes online - http://podcast.thinkingelixir.com/207
Elixir Community News
https://www.reddit.com/r/elixir/s/V5StIsdcbP – Poison v6.0.0 release announcement discussing its performance improvements.
https://github.com/devinus/poison – Poison v6.0.0 GitHub repository.
https://gist.github.com/devinus/afb351ae45194a6b93b6db9bf2d4c163 – Benchmark comparisons of Poison with other JSON libraries.
https://github.com/devinus/poison/blob/master/CHANGELOG.md – Poison v6.0.0 CHANGELOG detailing new features and improvements.
https://www.reddit.com/r/elixir/s/ciFzDvfzZL – Announcement that Lumen/Firefly project is discontinued.
https://www.reddit.com/r/elixir/comments/1dca6sl/comment/l7yw6sd/ – Brian Cardarella explains why DockYard discontinued the Lumen/Firefly project.
https://x.com/src_rip/status/1800210232150470999 – Highlighting a new feature in Elixir 1.17.
https://hexdocs.pm/elixir/1.17.0-rc.1/Kernel.html#get_in/2-working-with-structs – Kernel.get_in/2 now works with structs in Elixir 1.17.
https://mas.to/@angelikatyborska/112590587923208917 – New A11yAudit test library for automated accessibility testing in Elixir.
https://angelika.me/2024/06/10/automated-accessibility-testing-for-elixir-web-apps/ – Blog post about implementing automated accessibility checks in Elixir web apps.
https://podcast.thinkingelixir.com/50 – Podcast episode with Angelika Tyborska.
https://x.com/charliebholtz/status/1700170783589277996 – AI Emoji generator written in Elixir by Charlie Holtz.
https://github.com/cbh123/emoji – GitHub repository for the AI Emoji generator.
https://dashbit.co/blog/web-apps-have-client-and-server-state – José Valim's blog post on handling client and server state in web applications with Phoenix LiveView.
https://github.com/woutdp/live_svelte – Svelte inside Phoenix LiveView for seamless reactivity.
https://x.com/j_tormey/status/1799859208709677512 – Justin created a LiveView Slack clone to showcase Phoenix and LiveView capabilities.
https://github.com/fly-apps/live_beats – LiveBeats improvement and bug fixes in Phoenix LiveView.
https://x.com/ElixirConf/status/1799829176427463035 – Announcement of ElixirConfUS 2024 tickets availability.
David will be the emcee for ElixirConfUS 2024.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Jun 11, 2024 • 1h 1min
206: BeamOps - DevOps on the BEAM
Ellie Fairholm and Josep Giralt D'Lacoste discuss 'Engineering Elixir Applications' and the concept of 'BeamOps.' They talk about unique DevOps challenges in the BEAM ecosystem, insights on the writing process, and future plans for the book.

Jun 4, 2024 • 28min
205: Elixir 1.17 RC and Other News
In this episode, we delve into the latest developments including the release of Elixir 1.17-rc0, featuring significant type system improvements and new functions like DateTime.shift. We also discuss some unexpected compiler and JIT advancements in OTP 27, which are already showing performance boosts. Elixir celebrated its 12th birthday and the Erlang docs completed their migration to ExDoc, enhancing accessibility and integration. Tune in for these insightful updates and more!
Show Notes online - http://podcast.thinkingelixir.com/205
Elixir Community News
https://stackoverflow.az1.qualtrics.com/jfe/form/SV_6rJVT6XXsfTo1JI?site=stackoverflow.com – StackOverflow Developer Survey link.
https://github.com/elixir-lang/elixir/releases/tag/v1.17.0-rc.0 – Release tag for Elixir 1.17-rc0.
https://github.com/elixir-lang/elixir/blob/v1.17.0-rc.0/CHANGELOG.md – Changelog for Elixir 1.17-rc0.
https://x.com/marpo60/status/1793993127939969361 – Marcelo Dominguez highlights advantages of the new type system in Elixir 1.17.
https://hexdocs.pm/elixir/main/DateTime.html#shift/3 – Documentation for the DateTime.shift function in Elixir.
https://hexdocs.pm/elixir/1.17.0-rc.0/Kernel.html#to_timeout/1 – Documentation to convert durations to milliseconds in Elixir 1.17-rc0.
https://www.erlang.org/news/170#compiler-and-jit-improvements – News about OTP 27 compiler and JIT improvements.
https://x.com/sorentwo/status/1795044358850298343 – Discussion about a 12.5% speed improvement in the Oban test suite.
https://github.com/erlang/otp/issues/8469 – Regression of :ets.select in OTP 27 mentioned.
https://www.erlang.org/doc/readme.html – New home for Erlang documentation.
Get clear on old Elixir Mix episodes being released as new.
https://www.imdb.com/title/tt29816472/ – The Thinking Elixir Podcast on IMDB??
https://dashbit.co/blog/req-v0.5 – Announcement of Req v0.5 with improved testing support and error handling.
https://gleam.run/news/fault-tolerant-gleam/ – Release notes for Gleam v1.2.0, focusing on fault-tolerant compilation.
https://x.com/jacob_luetzow/status/1794075125202956353 – José Valim celebrating Elixir's 12th Birthday.
https://www.youtube.com/live/epKeT8-hafE – Video of José Valim discussing Elixir on its 12th Birthday.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Tyler Young - @TylerAYoung
Tyler Young on Fediverse - @tylerayoung@fosstodon.org
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

May 28, 2024 • 56min
204: OTP 27 and Blend for Lib Maintainers
In this episode of the Thinking Elixir podcast, we sit down with Marcelo Dominguez, the driver behind the new "Blend" library, which assists Elixir library developers in testing their projects against multiple versions of dependencies. Marcelo explains the genesis of Blend and the inspiration from the Rubygem "appraisal." He discusses how Blend tackles the common headache of dependency version clashes and integrates smoothly with CI systems to isolate and report specific compatibility issues. We learn how it works under-the-hood and helps library maintainers more easily keep their promises of supporting a library used in diverse environments. We cover the motivations, complexities, and real-world applications of Blend and more!
Show Notes online - http://podcast.thinkingelixir.com/204
Elixir Community News
https://www.erlang.org/blog/highlights-otp-27/ – OTP 27 release highlights
https://www.erlang.org/news/170 – OTP 27 release news
https://github.com/erlang/otp/releases/tag/OTP-27.0 – OTP 27 release on GitHub
https://en.wikipedia.org/wiki/OCSP_stapling – OCSP stapling explained
https://x.com/chris_mccord/status/1791176778989424850 – Chris McCord shares upcoming Cockroach DB support in Phoenix 1.7
https://www.cockroachlabs.com/ – Cockroach Labs business solutions
https://github.com/cockroachdb/cockroach – CockroachDB GitHub project
https://www.cockroachlabs.com/docs/stable/licensing-faqs.html – Cockroach licensing FAQs
https://x.com/josevalim/status/1792642875454259243 – José Valim's tweet on Elixir's 12th birthday celebration
https://www.youtube.com/watch?v=epKeT8-hafE – YouTube livestream celebrating Elixir's 12th birthday
José teased that an Elixir v1.17 RC might be ready.
https://ew.com/pirates-of-the-caribbean-reboot-margot-robbie-movie-exclusive-8651023 – Pirates of the Caribbean reboot discussion... are we that old?
https://elixirforum.com/t/ash-framework-3-0/63488 – Ash Framework 3.0 release
https://www.reddit.com/r/elixir/s/HMUeyk8Ot3 – LiveToast discussion on Reddit
https://github.com/srcrip/live_toast – LiveToast GitHub project
https://toast.src.rip – LiveToast demo website
https://nerves-project.typeform.com/sotnn-2024
Nerves is an open-source platform for building and deploying production embedded systems using Elixir.
https://nerves-project.org/ – Nerves project website
https://fly.io/phoenix-files/my-favorite-new-liveview-feature/ – Explanation of the useful new LiveView feature JS.toggle_class.
ExDoc light mode possibly getting revamped.
https://hexdocs.pm/elixir/main/protocols.html – Example of current dark mode on ExDoc even in light mode.
https://erick.navarro.io/blog/simple-obs-client-in-elixir/ – Erick Navarro's post on controlling OBS using Elixir and websockets.
https://obsproject.com/ – OBS - Open Broadcaster Software
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/mimiquate/blend
https://rubygems.org/gems/appraisal – Blend was inspired by the Rubygem Appraisal
https://github.com/mimiquate/blend?tab=readme-ov-file#Motivation – Motivation for creating the Blend library
https://github.com/mimiquate/candlex
https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
https://github.com/elixir-plug/plug_crypto/tags
https://github.com/rack/rack-attack
https://www.mimiquate.com/
https://github.com/elixir-plug/plug/blob/main/mix.exs#L54-L58 – Example of how multiple lockfiles are solved in Plug
https://github.com/surface-ui/surface/blob/main/.github/workflows/ci.yml#L54-L56 – Example of how multiple lockfiles are solved in Surface
https://github.com/sorentwo/oban/issues/1041 – Example of Oban issue from underlying dep version change
https://github.com/sorentwo/oban/commit/f8d3478c27aea56ab01fcc42f13668f4a3516564 – Example where Oban's Ecto version needed to lock to Ecto v3.10 to support materialized cte
Guest Information
Marcelo Dominguez
https://twitter.com/marpo60 – on Twitter
https://github.com/marpo60/ – on Github
https://www.mimiquate.com/ – Mimiquate agency that published Blend
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

May 21, 2024 • 27min
203: Thinking Elixir News
News includes Phoenix LiveView hitting 1.0 soon, with thoughtful comparisons to the broader web development industry and detailed changelog insights. Theo reacts positively to the release from a React and JS perspective, highlighting its significance. José Valim's keynote at ElixirConf EU 2024 revisits the famous "Gang of Four" design patterns and their relevance to Elixir today. Chris McCord introduces the innovative World Page Speed Test using FLAME, illustrating its ease of use and benefits over traditional solutions. Ash 3.0 is officially released after 46 RC releases. Additionally, Oban support is moving to ElixirForum to improve searchability, and more!
Show Notes online - http://podcast.thinkingelixir.com/203
Elixir Community News
https://phoenixframework.org/blog/phoenix-liveview-1.0-released – Phoenix LiveView is hitting 1.0 soon with thoughtful comparisons to the broader web development industry.
https://hexdocs.pm/phoenix_live_view/1.0.0-rc.0/changelog.html – Backward incompatible changes for Phoenix LiveView 1.0 along with bug fixes.
https://www.youtube.com/watch?v=aOk67eT3fpg – Theo reacts positively to the Phoenix LiveView release, discussing it from the React and JS perspective.
https://www.youtube.com/watch?v=agkXUp0hCW8 – Keynote by José Valim on design patterns in Elixir at ElixirConf EU 2024.
https://twitter.com/josevalim/status/1790354042243203283 – José Valim discusses design patterns in Elixir revisiting the "Gang of Four" patterns.
https://www.youtube.com/watch?v=GICJ42OyBGg – Chris McCord’s ElixirConf EU keynote on FLAME and its applications.
https://worldpagespeed.fly.dev/ – Chris McCord’s "World Page Speed Test" tool using FLAME.
https://fly.io/phoenix-files/world-page-speed-test-elastic-scale-with-flame/ – Chris McCord’s blog post on World Page Speed Test and FLAME on Fly.io.
https://twitter.com/ZachSDaniel1/status/1775516026551099852 – Announcement of Ash 3.0 release after 46 RC releases.
https://hex.pm/packages/ash – Ash Framework version 3.0 final release details.
https://twitter.com/sorentwo/status/1790007674077073474 – Oban support is moving to ElixirForum for better searchability and visibility, away from Slack.
https://twitter.com/sorentwo/status/1788181209530466518 – Oban hot tip on managing exception messages for better exception reporting.
https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/ – NextLS 0.21.0 released with new features like alias-refactor workspace command, completions, snippets, and more.
Followup from a comment last week on the difference between pattern-matching empty keyword lists and empty maps, including speed improvements in OTP 26 and 27.
https://erlangforums.com/t/matching-empty-map-performance-of-map-size/3572 – Discussion on matching empty map performance.
https://hexdocs.pm/elixir/1.14/naming-conventions.html#length-and-size – Naming conventions in Elixir related to length and size.
https://github.com/mimiquate/blend – New Elixir library "Blend" helps library maintainers test against different versions of dependencies.
https://rubygems.org/gems/appraisal – Blend library appears to be inspired by the Ruby gem “appraisal”.
https://twitter.com/jeffbarr/status/1790072050855588265 – Amazon AWS S3 will stop charging for unauthorized requests, being deployed to regions currently.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
Message the show - @ThinkingElixir
Message the show on Fediverse - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Fediverse - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Fediverse - @dbern@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!