

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

Apr 23, 2024 • 41min
199: Websockets' Late Hero and Elixir's Fresh Updates
In this episode, we talk about the eagerly awaited Elixir 1.17.0-dev changelog, the exciting ExDoc v0.32 release, and the slightly amusing declaration of Cloudflare playing the websocket hero – about 9 years after Phoenix neatly demoed 2 million concurrent connections to the world. We also explore potential performance improvements with Ecto's support for unlogged tables and how PragProg's new Elixir book is shaping up as a must-read for DevOps enthusiasts. But that's not all, we also touch on the launch of a constraint solver in Elixir, a nifty Livebook visualization tip, and more! Plus, don't miss out as Mark, Tyler, and David also share insights into their current projects, ranging from tackling Elixir mock libraries to the latest in the tech conference scene and educational initiatives in the Erlang ecosystem.
Show Notes online - http://podcast.thinkingelixir.com/199
Elixir Community News
https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1170-dev – Elixir 1.17.0-dev changelog update introducing a new Duration type and calendar-specific shifts support.
https://hexdocs.pm/db_connection/DBConnection.Ownership.html#module-callers-lookup – ExUnit start_supervised now populates $callers, affecting libraries like Mox and Ecto.
https://hexdocs.pm/mox/Mox.html#module-explicit-allowances – ExUnit changes with regards to $callers provide better support for global mocks like Mox.
https://github.com/elixir-ecto/ecto_sql/pull/601 – Elixir Ecto experiment for adding support to unlogged tables that could speed up test suites.
https://twitter.com/josevalim/status/1777990973454262476 – Announcement of ExDoc v0.32 release.
https://hexdocs.pm/ex_doc/changelog.html – Official changelogs for ExDoc v0.32 highlighting new features like OS default font for content and search bar improvements.
https://x.com/chris_mccord/status/1776370373946175706 – Cloudflare Workers support for WebSockets and its impact on real-time web experiences.
https://blog.cloudflare.com/introducing-websockets-in-workers/ – Introduction and explanation of websockets in Cloudflare Workers.
https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections – Chris McCord's blog post on achieving 2 million WebSocket connections.
https://twitter.com/pragprog/status/1779253657097117890 – Announcement of a new Elixir focused book in beta from PragProg.
https://twitter.com/sm_debenedetto/status/1779558393373409481 – Additional information about the new PragProg Elixir book.
https://pragprog.com/titles/beamops/engineering-elixir-applications/ – Direct link to the forthcoming Elixir book on PragProg focused on DevOps for the BEAM ecosystem.
https://developer.hashicorp.com/terraform/intro – Introduction to Terraform, as covered in PragProg's new Elixir book.
https://x.com/thibaut_barrere/status/1777702586944036899 – Discussion on a constraint solver implementation in Elixir.
https://github.com/bokner/fixpoint – Boris Okner's Fixpoint, a constraint solver library for Elixir.
https://en.wikipedia.org/wiki/NP-completeness – Explanation of NP Completeness related to constraint solving.
https://twitter.com/hugobarauna/status/1779930969593512159 – Tip on building custom visualizations for Elixir data structures in Livebook using the Kino.Render protocol.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://cloud.withgoogle.com/next
https://github.com/brainlid/langchain
https://github.com/dashbitco/mox
https://twitter.com/TylerAYoung/status/1780240662341849256 – Tyler's Tweet about Mox
https://fly.io/phoenix-files/safe-ecto-migrations/
Guest Host Information
Tyler Young joined as a guest host.
https://twitter.com/TylerAYoung – on Twitter
https://github.com/s3cur3 – on Github
https://fosstodon.org/@tylerayoung – on Fediverse
https://tylerayoung.com/ – Blog
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!

Apr 16, 2024 • 21min
198: Cade Gets the Last Word
This week's show covers exciting updates in the Elixir world, including the peek at what's coming with Elixir v1.17.0's new "Duration" and "shift" features. We'll also dive into the impressive Kino Benchee integration for Livebook, showcasing benchmarking visualizations. Not to be missed is the release of a fitting Phoenix emoji 🐦🔥 that's set to ignite your dev conversations, as well as the announcement of Ash Framework's v3 Release Candidate. Amidst these powerful tools and features, there's an essential shift in our hosting lineup; Cade will discuss his decision to step back from the show due to the arrival of a new member in the family. Make sure to tune in for these stories, valuable Elixir tips, intriguing alternatives to Redis, and more!
Show Notes online - http://podcast.thinkingelixir.com/198
Elixir Community News
https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1170-dev – Changelog for the forthcoming Elixir v1.17.0 revealing new features like support for the "Duration" type and the "shift" function for date types.
https://github.com/livebook-dev/kino_benchee – Integration of Benchee with Livebook for Elixir benchmarking, known as Kino Benchee.
https://twitter.com/akoutmos/status/1775158490819858542 – Alex Koutmos's tweet showcasing the graphical visualization capabilities of the Kino Benchee integration in Livebook.
https://twitter.com/JLarky/status/1777552462876168549 – Benchmark comparison between Gleam and Go languages in terms of latency and speed, shared on Twitter.
https://emojipedia.org/phoenix-bird – A Phoenix emoji 🐦🔥 was released.
https://emojipedia.org/emoji-15.1 – Page showing new emojis introduced along with the Phoenix, including a reference to the lime emoji.
https://twitter.com/germsvel/status/1777645631533633757 – German Velasco shares an Elixir tip about using the "tap" and "then" functions in pipelines, providing an insight and example.
https://twitter.com/germsvel/status/1775476085624344581 – German Velasco discusses the differences between the '&&/and' and '||/or' in Elixir.
https://dashbit.co/blog/req-api-client-testing – A new blog post about testing with the Req HTTP client library in Elixir on the Dashbit website.
https://elixirforum.com/t/ash-framework-3-0-release-candidates/62684 – The announcement of the Ash Framework v3 Release Candidate on the Elixir Forum, showcasing the ecosystem's growth.
https://github.com/ash-project/ash/issues/943 – The GitHub issue tracking the status of Ash Framework v3 Release Candidate for both core and community packages.
https://twitter.com/sorentwo/status/1777037533366387067 – Parker Selbert shares a git alias command for 'changelog', helpful for maintainers of hex packages.
https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community – The announcement of Valkey, an open-source alternative to Redis supported by the Linux Foundation and various industry leaders.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
Cade's family has grown and he needs to step back from the show to prioritize his family's needs.
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
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Apr 9, 2024 • 21min
197: Thinking Elixir News
In this episode, we're diving into the fascinating world of at-home AI with a ready-to-deploy project harnessing Bumblebee and Fly GPUs, unraveling the tale of how an Xz backdoor catastrophe was narrowly sidestepped, and highlighting the power of customizing your Elixir IEx environment. We'll also touch upon the eager anticipation for ElixirConf EU, taking place in Lisbon, where innovations in vehicular tech meet Elixir, and the upcoming NervesConf US - a prime event for embedded systems enthusiasts. Tune in for these buzzworthy topics and more!
Show Notes online - http://podcast.thinkingelixir.com/197
Elixir Community News
https://twitter.com/brainlid/status/1775148526621827548 – Tweet about an easy at-home AI project using Bumblebee and Fly GPUs.
https://fly.io/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/ – Blog post detailing the easy deployment of LLM models on Fly.io machines with GPUs.
https://github.com/fly-apps/bumblebee-model-harness – GitHub repository for deploying Llama 2 7B, Mistral 7B, and Zephyr 7B LLMs with Bumblebee.
https://twitter.com/fr0gger_/status/1774342248437813525 – Tweet about the mostly avoided disaster of the Xz backdoor.
https://xkcd.com/2347/ – Related XKCD comic regarding the pressure on open-source developers.
https://en.wikipedia.org/wiki/XZ_Utils_backdoor – Wikipedia article on the XZ Utils backdoor incident.
https://www.wired.com/story/xz-backdoor-everything-you-need-to-know/ – Wired article providing an overview of the Xz backdoor event.
https://diff.hex.pm/ – A resource for Elixir developers to inspect changes between published versions of Hex packages.
https://gist.github.com/brainlid/5cc4944509de87289fb1a1680da22911 – Gist showing an example of an .iex.exs file for customizing IEx behavior.
https://hexdocs.pm/iex/IEx.html#module-the-iex-exs-file – HexDocs documentation on the .iex.exs file.
https://www.elixirconf.eu/ – Website for ElixirConf EU, Europe's largest Elixir Conference.
https://twitter.com/mlainez/status/1773679346328195334 – Tweet teasing a talk about retrofitting a Nissan leaf engine into VWGroup body and using Elixir.
https://twitter.com/NervesConfUS/status/1774473097426370744 – Tweet announcing NervesConf US, a one-day single-track conference.
https://nervesconf.us/ – The official site for NervesConf US with the date and venue information.
https://www.gigcityelixir.com/ – The official site for GigCityElixir with dates and speaker announcements.
https://2024.elixirconf.com/ – The official site for ElixirConf US including dates and location.
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
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Apr 2, 2024 • 21min
196: Thinking Elixir News
This week's news includes the release of OTP 27.0-rc2 featuring the new json module, Phoenix Live reload's insightful update, and Chris McCord's blog post that surfaces server logs directly in your browser console. We're also discussing the streamlined workflows in Oban Pro 1.4.0, and a deeper discussion on recent Redis licensing changes that have sent ripples through the open-source community. If that's not enough, we've got insights into the refactoring Elixir survey that's underway and we share some innovative tools like the Livebook Smart Cell Template. Tune in for this and more!
Show Notes online - http://podcast.thinkingelixir.com/196
Elixir Community News
https://twitter.com/michalmuskala/status/1770748066976424195 – Tweet announcing the release of OTP 27.0-rc2.
https://github.com/erlang/otp/releases/tag/OTP-27.0-rc2 – GitHub link to OTP 27.0-rc2 release which includes the json module proposed by Michał Muskała.
https://twitter.com/chris_mccord/status/1772631567568871575 – Chris McCord's tweet regarding the update to Phoenix Live Reload.
https://fly.io/phoenix-files/phoenix-dev-blog-server-logs-in-the-browser-console/ – Blog post detailing updates to Phoenix Live Reload and server logs in the browser console.
https://twitter.com/sorentwo/status/1771170601153003648 – Tweet announcing the release of Oban Pro 1.4.0.
https://getoban.pro/releases/pro/v1.4 – Official release notes for Oban Pro 1.4.0.
https://twitter.com/elixirfun/status/1770336803280556486 – Public service announcement for Logger users to avoid pipes that may be compiled out.
https://elixirforum.com/t/logging-a-silent-performance-killer/3258 – Forum post discussing how purging loggers can aid in performance.
https://twitter.com/ac_alejos/status/1770642763802952021 – Andrés Alejos shares his template for SmartCells with Vite JS and Tailwind Css support.
https://github.com/acalejos/kino_smartcell_template/ – GitHub link to the SmartCell template for Livebook.
https://hexdocs.pm/liveview_playground/0.1.1/readme.html – Documentation for the "simple setup" LiveView server running library.
https://github.com/lubien/liveview_playground – GitHub repository for the library that simplifies setting up a LiveView server.
https://twitter.com/josevalim/status/1770458542849339646 – José Valim's tweet inviting Elixir developers to participate in a survey on refactoring.
https://docs.google.com/forms/d/e/1FAIpQLSey_cf-gsGSbqJ2un4ySlWv7Y3vzzzwZzexnC8sDr7pNPHQ8Q/viewform – Google Forms survey on refactoring in Elixir conducted by a team of researchers.
https://twitter.com/lucasvegi/status/1770457760469057815 – Additional invitation to Elixir developers to contribute to a survey on refactorings.
https://lwn.net/Articles/966133/ – Article discussing the change in the Redis license, which no longer qualifies as free software.
https://www.gomomento.com/blog/rip-redis-how-garantia-data-pulled-off-the-biggest-heist-in-open-source-history – Blog post exploring the history of the Redis project and its recent licensing changes.
https://andrewkelley.me/post/redis-renamed-to-redict.html – Post announcing a fork of Redis to Redict due to licensing issues.
https://redict.io/ – Official website of Redict, the independent fork of Redis.
http://antirez.com/news/133 – Creator of Redis, Salvatore Sanfillipo, discussing the transfer of IP and trademark rights.
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
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Mar 26, 2024 • 53min
195: Migrating from Next.js to Phoenix
Ben Reinhart shares his journey from JavaScript to Elixir, highlighting the benefits of transitioning to Phoenix for improved performance and simplified development. He discusses the challenges of migrating from Next.js, the importance of operational simplicity, and utilizing cutting-edge technologies like AI. The discussion covers leveraging Phoenix LiveView instead of JavaScript, maintaining server-side logic, and the advantages of Elixir documentation and code examples for a successful migration process.

Mar 19, 2024 • 53min
194: Operational Elixir: Knowing When to Grow Up
The podcast delves into the journey of Zach Daniel from startups to midsize companies, discussing strategic scaling timing for monitoring tools. It highlights the value of blame-free culture, hands-on experiences with deployments and Kubernetes. Also, it includes updates on Elixir community news, such as new case studies and library releases.

Mar 12, 2024 • 55min
193: Operational Elixir: Observing the Midsize Madness
In this engaging third episode of our series, Dave Lucia returns to delve into the various systems that support small and medium-sized teams and companies for their Elixir systems. Dave shares insights gained from a range of situations including working at startups on up to Series C and D sized companies, with a particular focus on the critical role of observability tools. Drawing on his extensive experience, Dave discusses how these tools can greatly enhance a team's ability to monitor and troubleshoot applications, ensuring high performance and reliability. Tune in for a comprehensive look at the essential systems and tools that can make a tangible difference in the day-to-day operations of Elixir-powered organizations, and more!
Show Notes online - http://podcast.thinkingelixir.com/193
Elixir Community News
https://twitter.com/josevalim/status/1762921819776934146 – José Valim has teased a new feature for Elixir 1.17 which may include a mix test flag --breakpoints for debugging failed tests.
https://gleam.run/news/gleam-version-1/ – Gleam v1.0 has been released, marking the language's stability and readiness for production with a commitment to maintain backwards compatibility.
https://github.com/underjord/entrace – Lars Wikman shared his work on the Entrace tracing project, offering easier tracing support to applications.
https://github.com/underjord/entrace_live_dashboard – Entrac LiveDashboard was announced by Lars Wikman to add a tracing page to the LiveDashboard plugin.
https://docs.google.com/forms/d/e/1FAIpQLSeGxJUadP1CaaU6EnTwe7Hv76RnBLIiqT6SJLIBvncHcEzGRg/viewform – The Call for Proposals for talks at ElixirConfUS is open, including information to book hotel rooms for the event taking place from August 28-30, 2024.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://podcast.thinkingelixir.com/75 – Previous interview with Dave Lucia talking about RabbitMQ and Commanded
https://podcast.thinkingelixir.com/97 – Previous interview with Dave Lucia talking about Avro and Elixir
https://podcast.thinkingelixir.com/129 – Previous interview with Dave Lucia talking about Time series data with Timescale DB
https://Sentry.io
https://www.servicenow.com/products/observability.html – Observability tool formerly knowns as LightStep
https://www.honeycomb.io/
https://opentelemetry.io/docs/collector/
https://github.com/open-telemetry
https://opentelemetry.io/docs/concepts/signals/traces/
https://hex.pm/packages/opentelemetry
https://hex.pm/packages/opentelemetry_exporter
https://davelucia.com/ – Dave's personal blog
https://github.com/prometheus/prometheus
https://grafana.com/
https://grafana.com/docs/loki/latest/send-data/promtail/
https://fly.io/docs/reference/metrics/
https://isburmistrov.substack.com/p/all-you-need-is-wide-events-not-metrics
https://amplitude.com/
Custom LiveView admin pages for dashboards
https://postmarkapp.com/
https://sendgrid.com/en-us
https://milkroad.com/ – A newsletter company that Dave Lucia worked at.
https://www.beehiiv.com/ – Newsletters as a service company
https://ahrefs.com/ – Tracking the back links from other sites to yours for SEO
https://search.google.com/search-console/about
https://github.com/dbernheisel/phoenix_seo
https://tvlabs.ai/ – Where Dave Lucia is working now.
Guest Information
https://twitter.com/davydog187 – on Twitter
https://github.com/davydog187/ – on Github
https://davelucia.com – Blog
https://tvlabs.ai – TVLabs company where he works now.
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
Cade Ward - @cadebward
Cade Ward on Fediverse - @cadebward@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Mar 5, 2024 • 1h
192: Operational Elixir: Scrappy Startups Edition
Join the discussion on running lean startups in the Elixir ecosystem, focusing on cost-effective solutions and essential tools for scrappy startups. Explore insights into startups like Prise.com and ElixirMerge.com, along with updates on Erlang EEP 68, PGlite for browsers, and the latest features in Elixir LS and Lexical LS versions.

Feb 27, 2024 • 46min
191: Operational Elixir: What's Supporting the Apps at Felt.com and SleepEasy.app?
Guest Tyler Young shares insights on systems supporting Elixir apps at Felt.com and SleepEasy.app. Topics include innovative object storage solutions, WebRTC library implementation, ElixirConf US 2024 details, support systems for Elixir apps in various companies, creating SleepEasy for website monitoring, and strategic decision-making for startup success.

5 snips
Feb 20, 2024 • 20min
190: Thinking Elixir News
Discover the latest updates on Phoenix LiveView towards version 1.0, the new testing utility example_test for Elixir, the Erlang community's proposal to integrate JSON, Fly.io's GPU instances availability, and Gleam's journey to its 1.0.0 release.


