208 episodes

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!

Thinking Elixir Podcast ThinkingElixir.com

    • Education

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!

    208: Elixir 1.17, Phoenix Playground and more

    208: Elixir 1.17, Phoenix Playground and more

    This week's show features the latest releases Elixir 1.17.0 and 1.17.1, bringing improved type inference and a new Duration data type. We'll also dive into Phoenix Playground's streamlined approach to single-file applications, José Valim shares another Elixir academic research project taking shape on set-theoretic types for behaviors, and updates from the Igniter project on enhancing code generation and project patching. With a look at how Phoenix and Inertia.js are joining forces and the latest on Nx Scholar's new version for machine learning, this episode is packed with cutting-edge developments in the Elixir community, and more!


    Show Notes online - http://podcast.thinkingelixir.com/208


    Elixir Community News



    https://github.com/elixir-lang/elixir/releases/tag/v1.17.0 – Release information for Elixir version 1.17.0.
    https://github.com/elixir-lang/elixir/releases/tag/v1.17.1 – Release information for Elixir version 1.17.1.
    https://x.com/davydog187/status/1800962252125667748 – Dave Lucia shared how Elixir 1.17.0 helped find a bug using new type information.
    https://x.com/josevalim/status/1801000076497539482 – José shared additional academic research being started on Elixir for set-theoretic types
    https://x.com/wojtekmach/status/1802975489230811354 – Wojtek Mach's announcement of "Phoenix Playground" for creating single-file Phoenix apps.
    https://dashbit.co/blog/announcing-phoenix-playground – Blog post about the announcement of Phoenix Playground.
    https://github.com/phoenix-playground/phoenix_playground – GitHub repository for Phoenix Playground.
    https://github.com/inertiajs/inertia-phoenix – GitHub repository for Inertia.js Phoenix LiveView adapter.
    https://inertiajs.com/ – Official site of Inertia.js, explaining its concept and features.
    https://github.com/DockYard/flame_on – Update announcement for FlameOn from Dockyard, now with SVG download capability.
    https://tylerbarker.com/posts/liveview-is-not-a-zero-js-framework-it-s-a-zero-boring-js-framework – Blog post explaining why LiveView is referred to as a "zero-boring-js" framework.
    https://github.com/membraneframework-labs/ex_vision/ – Repository for ExVision, using ONNX bindings for AI model integration.
    https://github.com/cocoa-xu/evision – EVision which uses OpenCV bindings.
    https://elixir-nx.github.io/axon/onnx_to_axon.html – Guide on converting ONNX models to Axon.
    https://github.com/ash-project/igniter – GitHub repository for Igniter, aiming to solve issues with composable mix generators.
    https://elixirforum.com/t/igniter-a-code-generation-and-project-patching-framework/64181 – Elixir forum discussion on Igniter framework's capabilities and applications.
    https://x.com/josevalim/status/1803040816404849008 – José announced the release of Nx Scholar v0.3.1, featuring new embedded notebooks.
    https://hexdocs.pm/scholar/manifold_learning.html – Documentation on manifold learning in Nx Scholar v0.3.1.
    https://x.com/yevkurtov/status/1800851584827711607 – Yevhenii Kurtov shared a guide on ES/CQRS with EventStoreDB and Phoenix/LiveView.
    https://kurtov.pro/blog/2024/06/an-end-to-end-es/cqrs-example-with-eventstoredb-and-phoenix/liveview/ – Blog detailing an end-to-end example of ES/CQRS implementation.
    https://github.com/commanded/commanded – GitHub repository for Commanded, a library for CQRS/ES architectures.
    https://learn.eventstore.com/an-end-to-end-example-with-eventstoredb – Official guide on implementing end-to-end examples with EventStoreDB.
    https://x.com/CodeBEAMio/status/1800918581225431318 – CodeBEAM conference announcement, set to take place in Berlin.
    https://codebeameurope.com/ – Official site for CodeBEAM Europe conference details.


    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

    • 31 min
    207: Poison v6 is Waaay Faster and Drama Turns Productive

    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!

    • 30 min
    206: BeamOps - DevOps on the BEAM

    206: BeamOps - DevOps on the BEAM

    In this episode we dive into the exciting release of Elixir 1.17.0-rc.1 and other news from the community. Our main segment features an in-depth interview with Ellie Fairholm and Josep Giralt D'Lacoste about their new Elixir book "Engineering Elixir Applications - Navigate Each Stage of Software Delivery with Confidence." We explore their professional experiences, the concept of "BeamOps," and the unique DevOps challenges and advantages in the BEAM ecosystem. Ellie and Josep share insights about the writing process, their collaboration, and what's next for the book. Tune in to hear all this and more!


    Show Notes online - http://podcast.thinkingelixir.com/206


    Elixir Community News



    https://x.com/josevalim/status/1797607009715691637 – José Valim announces the release of Elixir 1.17.0-rc.1.
    https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html – Introduction to gradual set-theoretic types in Elixir 1.17.
    https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md – Detailed changelog of Elixir 1.17.0-rc.1.
    Added mix profile.tprof profiler in Erlang/OTP 27+ and Deprecated mix profile.cprof and mix profile.eprof.
    https://2024.elixirconf.com/ – Information about ElixirConfUS 2024, including keynotes, speakers, and training.
    David speaking on “Dancing with Data, Guide to ETLs” at ElixirConfUS 2024.
    Mark speaking on “Elixir & AI - Creating Autonomous Agents with LangChain” at ElixirConfUS 2024.
    https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor – José Valim's post on the Dashbit blog discussing the state of ML in Elixir in 2024.
    https://mlir.llvm.org/ – Introduction of MLIR (Multi-Level Intermediate Representation) in Elixir's ML projects.
    Broader ML/AI community and new projects in Elixir, including instructor_ex and Elixir LangChain.
    https://x.com/germsvel/status/1796127412511551857 – German Velasco's video showcasing new OTP 27 process labels feature.
    https://www.youtube.com/watch?v=XNQhDl4a9Ko – Google algorithm leak exposed through a GitHub project explained using Elixir.
    https://x.com/akoutmos/status/1796637514704273870 – Akoutmos discusses the Google algorithm leak and its analysis using Elixir.
    https://hexdocs.pm/google_api_content_warehouse/api-reference.html – Hexdocs publish the Google algorithm API reference.
    https://ipullrank.com/google-algo-leak – Analysis of Google's algorithm leak and relevancy to Elixir.
    https://x.com/PJUllrich/status/1796198764681506898 – Introducing Crawly, an application framework for web crawling and data extraction.
    https://github.com/elixir-crawly/crawly – GitHub repository for the Crawly web crawling framework.


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://pragprog.com/titles/beamops/engineering-elixir-applications/ – PragProg book listing
    https://twitter.com/pragprog/status/1779253657097117890
    https://twitter.com/sm_debenedetto/status/1779558393373409481
    https://www.hashicorp.com/
    https://www.erlang-solutions.com/
    https://opentofu.org/
    https://xkcd.com/927/
    https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment
    https://docs.docker.com/engine/swarm/


    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
    Dave Lucia - @davydog187

    • 1 hr
    205: Elixir 1.17 RC and Other News

    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!

    • 27 min
    204: OTP 27 and Blend for Lib Maintainers

    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

    • 56 min
    203: Thinking Elixir News

    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!

    • 27 min

Top Podcasts In Education

The Elevated Man
Apollonia Ponti
Miracle Fajr Podcast
Miracle Fajr Podcast
The Mel Robbins Podcast
Mel Robbins
Study Motivation by Motivation2Study
Motivation2Study
The street 250 Podcast
Angel and Amanda
Amnesty Talks Suisse
Le podcast d'Amnesty Suisse

You Might Also Like

Elixir Wizards
SmartLogic LLC
Beam Radio
Lars Wikman
Elixir Mix
Charles M Wood
Elixir Newbie
Brooklin Myers
The Changelog: Software Development, Open Source
Changelog Media
Go Time: Golang, Software Engineering
Changelog Media