153 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
    • 5.0 • 27 Ratings

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!

    153: Elixir Tools and Language Servers

    153: Elixir Tools and Language Servers

    Language servers are an important part of modern developer tooling. Mitch Hanberg has made this his new focus with gen_lsp, a generic language server behaviour that he then implemented a Credo language server on top of. Yes, that's right, Credo! We learn what that means and what his new elixir-tools Github organization is intended to do. Listen to Mich share his vision for what Elixir dev tools could be like! We get an update on his Temple project, an alternative to Phoenix templates, we learn about an existing Elixir formatter plugin that may reformat code more to your liking and more!


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


    Elixir Community News



    https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.0 – Elixir 1.15-rc.0
    https://groups.google.com/g/elixir-lang-core/c/CjY7W9xvu80 – Proposal for adding URI sigil
    https://groups.google.com/g/elixir-lang-core/c/MfB7GJSXV5w – Proposal for adding UTC sigil
    https://podcast.thinkingelixir.com/149 – More on Logging from Łukasz Niemier
    https://twitter.com/ac_alejos/status/1658943203364544512 – Exgboost library released
    https://github.com/acalejos/exgboost/blob/main/notebooks/iris_classification.livemd – Livebook example for Exgboost
    https://www.youtube.com/watch?v=cG8iwK_6KIg – ElixirConf EU Lightning Talk that visualizes supervisor behaviors using the classic computer game Doom with monster spawning and killing.
    https://github.com/amalbuquerque/doom-supervisor – Github project for DoomSupervisor
    http://twitch.com/josevalim – José Valim has resumed some Live coding and chatting on Twitch.
    https://twitter.com/josevalim/status/1660300292619923457 – José sharing on Twitter that a Twitch Livestream will start


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


    Discussion Resources



    https://github.com/elixir-tools/credo-language-server – LSP implementation for Credo
    https://github.com/elixir-tools/gen_lsp – A behavior for creating language servers
    https://github.com/elixir-tools – Githug organization
    https://simplebet.io/index.html
    https://github.com/elixir-lsp/elixir-ls
    https://twitter.com/mitchhanberg/status/1648327430912843779
    https://www.mitchellhanberg.com/credo-language-server-and-the-birth-of-elixir-tools/ – Blog post about the Credo Language Server and Elixir Tools
    https://podcast.thinkingelixir.com/92 – Previous interview about Temple (March 29th, 2022)
    https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ – Language Server spec from Microsoft
    https://www.youtube.com/watch?v=Ug-SEozyG1A – Code BEAM talk - "OTP Process Abstractions with proc lib"
    https://github.com/adobe/elixir-styler – Formatter plugin from Adobe
    https://github.com/tree-sitter/tree-sitter
    https://github.com/elixir-toniq/norm
    https://github.com/mhanberg/temple
    https://github.com/petalframework/petal_components


    Guest Information



    https://twitter.com/mitchhanberg – on Twitter
    https://github.com/mhanberg/ – on Github
    https://hachyderm.io/@mitchhanberg – on Fediverse
    https://www.mitchellhanberg.com/ – Blog
    https://champions-of-hope.funraise.org/fundraiser/mitchell-hanberg – Fund raising page for FightCRC


    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!

    • 56 min
    152: Rust and Elixir Play Great Together

    152: Rust and Elixir Play Great Together

    Rust is a popular lower level language and the community has created a number of libraries to solve different problems. We talk with Jason Stiebs, a Phoenix Core Team member, about how Elixir and Rust can play well together. Jason wrote an article about how he leveraged an image processing library available in Rust by using the Elixir Rustler package. We talk about how Rustler works through NIFs, and we learn how easy using Rustler has become. It's great to understand that we have a powerful escape hatch like Rustler for those times we need it. We also get Jason’s insights into the Phoenix project and talk about the importance of improving the developer experience when a LiveView crashes and more!


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


    Elixir Community News



    https://www.erlang.org/news/164 – Erlang OTP 26 Final was released
    https://www.erlang.org/blog/otp-26-highlights/
    https://www.erlang.org/blog/otp-26-highlights/#improvements-of-maps – Improvements to Maps
    https://github.com/elixir-lang/elixir/releases/tag/v1.14.4 – When Elixir 1.14.4 was released, it included the ability to request sorted map keys when inspecting.
    https://www.erlang.org/blog/otp-26-highlights/#incremental-mode-for-dialyzer – Incremental mode for Dialyzer
    https://erlangforums.com/t/in-erlang-otp-27-0-0-will-no-longer-be-exactly-equal-to-0-0/2586 – Erlang OTP 27 where +0.0 will no longer be exactly equal to -0.0.
    https://felt.com/blog/startup-and-shutdown-for-phoenix-applications – Jason Axelson wrote an article about doing a “Graceful Startup and Shutdown for Phoenix Applications” over on the Felt blog.
    https://smartlogic.io/podcast/elixir-wizards/s10-e08-jose-valim-future-elixir-ecosystem/ – José Valim was on the Elixir Wizards podcast talking about the future development of Elixir
    https://twitter.com/josevalim/status/1658160088354369546 – José Valim was asking for feedback on the "Optional Syntax Sheet" documentation.
    https://elixir-lang.org/getting-started/optional-syntax.html – Optional syntax sheet in the Elixir Getting Started docs
    https://twitter.com/sean_moriarity/status/1648466250828484609 – LLaMa support added to Nx and Bumblebee by Sean Moriarity
    https://twitter.com/FrerichRaabe/status/1648696436266004480 – Nicely summarizing Tweet that frames the LLaMa work
    https://www.youtube.com/watch?v=e2fDjl2hoAk – ElixirConf EU keynote video titled “Using Elixir & Phoenix To Build A City Software Infrastructure”
    https://www.empex.co/new-york – Empex NYC - use code THINKING to get $100 of your ticket
    https://www.lambdadays.org/lambdadays2023 – LambdaDays functional programming conference on 5-6 June 2023 in Kraków Poland
    https://twitter.com/josevalim/status/1658159252773453824 – José Valim will speak about meta-programmable functional notebooks with Livebook


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


    Discussion Resources



    https://fly.io/phoenix-files/elixir-and-rust-is-a-good-mix/ – Elixir and Rust Is a Good Mix
    https://youtu.be/FADQAnq0RpA?t=3636 – Chris McCord specifically calling out Jason for advocating for a better DX around LiveView errors.
    https://github.com/rusterlium/rustler
    https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users
    https://news.livebook.dev/label/45764
    https://fly.io/phoenix-files/tensors-and-nx-are-not-just-for-machine-learning/


    Guest Information



    https://twitter.com/peregrine – on Twitter
    https://github.com/jeregrine/ – on Github
    https://merveilles.town/@peregrine – on Fediverse
    mailto:jason@fly.io – Email


    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
    Ca

    • 50 min
    151: Peeking inside the Livebook

    151: Peeking inside the Livebook

    Recently Livebook had its first launch week. We met with Jonatan Kłosko, the developer behind most of the exciting new features, to learn what some of these additions are, how they actually work and what's coming with the new Teams feature. Jonatan shares some of his favorite unsung features and where the new apps ability may go in the future. Livebook is an important community project and it's fun getting a deeper look inside!


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


    Elixir Community News



    https://changelog.com/podcast/538 – José Valim was on the Changelog podcast talking about the Livebook release week.
    https://twitter.com/josevalim/status/1653838129306935301 – José sharing his podcast interview on Twitter
    https://twitter.com/bigcodeproject/status/1654174941976068119 – StarCoder Twitter thread
    https://github.com/bigcode-project/starcoder – StarCoder Github project page
    https://huggingface.co/bigcode/starcoder – New LLM (Large Language Model) on HuggingFace. Heads up! It's a 64GB model!
    https://huggingface.co/chat – Link where you can play with the StarCoder via a chat interface
    https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92 – Autonomous AI agents have become a hot topic. Examples include AutoGPT, Westworld simulation and others.
    https://twitter.com/servusmario/status/1655883183643033601 – Twitter discussion with José Valim about Elixir and processes being used as LLM Agents.
    https://twitter.com/akoutmos/status/1654728415252029440 – Alex Koutmos shared how he and Amos King worked together to create a new Elixir library called deno_ex that makes it easy to run TypeScript and JavaScript from Elixir.
    https://github.com/akoutmos/deno_ex – The deno_ex library on Github
    https://stackoverflow.blog/2023/05/08/the-2023-developer-survey-is-now-live/ – Stack Overflow 2023 Developer Survey is out
    https://www.youtube.com/watch?v=K51fj1JGQEY – Lars Wikman's ElixirConf EU 2023 video was released. This is the 2nd video released from the ElixirConf EU. It is titled "Lively LiveView with Membrane"
    https://hex.pm/blog/new-domain-for-build-artifacts – Hex.pm blog post announcing the subdomain change for hosting builds. It includes instructions on migrating tools to prevent an interruption.
    https://www.empex.co/new-york#speakers – Empex NYC lineup has been announced. It is a one day, single-track Elixir conference in New York City


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


    Discussion Resources



    https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI – Day 1 - Deploy notebooks as apps & quality-of-life upgrades
    https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw – Day 2 - Distributed² Machine Learning notebooks with Elixir and Livebook
    https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 – Day 3 - Hubs and secret management
    https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w – Day 4 - Build and deploy a Whisper chat app to Hugging Face in 15 minutes
    https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI – Day 5 - Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R
    https://podcast.thinkingelixir.com/46 – 1st time we talked. May 2021 ~2 years ago!
    https://podcast.thinkingelixir.com/130 – 2nd time we talked about Bumblebee - Dec 2022
    https://github.com/livebook-dev/livebook/graphs/contributors – Livebook Github contributor graph


    Guest Information



    https://github.com/jonatanklosko/ – Jonatan Kłosko on Github
    https://jonatanklosko.com/ – Blog
    https://erlef.org/slack-invite/erlef – The EEF Slack
    https://elixirforum.com/u/jonatanklosko – Elixir Forum

    • 43 min
    150: Thinking Elixir News

    150: Thinking Elixir News

    News covers Chris McCord's keynote speech on LiveView 1.0. We cover the EEF's final election results, latest from the LiveView Native space, ex_cldr updates for localizing our apps, an OTP patch release, and more!


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


    Elixir Community News



    https://www.youtube.com/watch?v=FADQAnq0RpA&t=408s – Chris McCord's keynote from ElixirConf EU
    https://erlef.org/blog/eef/election-2023-revote-results – EEF final election results
    https://twitter.com/bcardarella/status/1651266755443015681 – LiveView Native has a new SwiftUI VSCode plugin with code completion and documentation access
    https://github.com/liveview-native/liveview-native-vscode – The LiveView Native VSCode plugin
    https://podcast.thinkingelixir.com/120 – Previous interview with Kip Cole about ex_cldr
    https://github.com/elixir-cldr/cldr – The Elixir CLDR project
    https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/98 – CLDR version 43 released, 15 ex_cldr libraries updated
    https://erlangforums.com/t/patch-package-otp-25-3-1-released/2574 – Minor patch release for OTP 25.3.1
    https://github.com/doorgan/channel_handler – Routing Patterns for Manageable Phoenix Channels
    https://felt.com/blog/pheonix-channel-routing-patterns – Blog post on channel routing patterns
    https://twitter.com/zacksiri/status/1652515195724627968 – Overview of recent Elixir projects and frameworks


    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!

    • 13 min
    149: Elixir's new Unified Logger

    149: Elixir's new Unified Logger

    Hauleth (Łukasz Jan Niemier) takes us deeper into the Elixir and Erlang loggers. He recently closed a 3.5 year old bug on the ElixirLang Github project by unifying the Elixir logger with the logger that Erlang got in OTP 21. We touch on the history, why it took so long, what we should think of the new logging levels, and what the original goals were that he set out to achieve. We also get an introduction to the new logging filters and handlers along with some peeks into future Erlang logging features that may still be yet to come in Elixir!


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


    Elixir Community News



    https://podcast.thinkingelixir.com/73 – Previous interview with Paul Copplestone about Elixir and Supabase
    https://twitter.com/kiwicopple/status/1646918873445195783 – Supabase had their own release week. Paul shared his favorite one.
    https://supabase.com/blog/dbdev – Supabase blog post about dbdev - a Postgres extension package manager
    https://database.dev/installer – Database.dev is the dedicated site for dbdev
    https://twitter.com/josevalim/status/1649001076404768768 – José Valim shared the Livebook notebook used during his ElixirConf EU presentation
    https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd – José's Livebook from his presentation
    https://twitter.com/visual_partner/status/1648979346491580416 – Visual drawing created from José's ElixirConf EU keynote
    https://twitter.com/livebookdev/status/1648328527026987008 – New Livebook KinoDiff feature makes it easy to visually display a diff between two strings in Livebook.
    https://twitter.com/theerlef/status/1649442881302822915 – Erlang OTP 26 RC 3
    https://www.erlang.org/news/163 – Blog post for Erlang/OTP 26.0 Release Candidate 3
    https://www.erlang.org/blog/more-optimizations/ – Blog post on Erlang website about OTP 26 optimizations in the compiler and JIT
    https://twitter.com/michalmuskala/status/1650511805339381763 – Erlang library called “erlfuzz” was released.
    https://erlangforums.com/t/open-sourcing-erlfuzz/2562 – Erlfuzz forum post. It is a fuzzer for Erlang code and the BEAM.
    https://github.com/evadne/emporium – Evadne Wu released an Elixir example application that walks through a variety of Elixir ML operations
    https://paraxial.io/blog/sobelow-guide – Blog post from Paraxial.io on a guide to using Sobelow
    https://github.com/paraxialio/sobelow_guide – Github readme explains more about Sobelow findings and how to correct them.
    https://github.com/woutdp/live_svelte – A new project called LiveSvelte was released. Helps integrate using Sevelte front-end JS with a LiveView
    https://wout.space/notes/live-svelte – Blog post about live_svelte


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


    Discussion Resources



    https://twitter.com/whatyouhide/status/1626544505506656257 – PR that closed a 3.5yo Elixir issue on unifying Erlang and Elixir loggers.
    https://github.com/elixir-lang/elixir/issues/9465 – Github Issue “Further unify logger and Logger”
    https://www.erlang.org/doc/man/logger.html – Erlang logger docs. Referenced.
    https://hexdocs.pm/logger/main/Logger.html – Elixir logger docs (able to see the “1.15.0-dev” version)
    https://www.erlang.org/doc/apps/sasl/ – SASL Logging docs
    https://www.eiger.co/
    https://github.com/hauleth/mix_unused
    https://github.com/hauleth/erlang-systemd
    https://systemd.io/
    https://github.com/erlang-lager/lager
    https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html
    OTP 21 added built-in logging
    https://www.erlang.org/doc/man/logger_filters.html
    https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md


    Guest Information



    https://twitter.com/hauleth – on Twitter
    https://github.com/hauleth/ – on Github
    https://fosstodon.org/@hauleth – on Fediverse
    https://hauleth.dev – Blog


    Find us online



    Message the show - @ThinkingElixir
    M

    • 54 min
    148: Security Scanning our Apps with Sobelow

    148: Security Scanning our Apps with Sobelow

    We go deeper on the Sobelow library, a security-focused static analysis tool for Elixir and Phoenix apps. We talk with Griffin Byatt, the creator, and Holden Oullette, the new maintainer. We learn how and why the project was created, how it works, what it can and can't do, and how to use it in CI pipelines for continuous scanning. Sobelow is a cornerstone project in the community that checks a critical box for certification requirements which means we get to use Elixir when it might otherwise be a hard sell. Join us as we learn more about the project and the people behind it!


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


    Elixir Community News



    https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 – Livebook Launch Week - Day 3 - Hubs, secrets, teams, authentication
    https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w – Livebook Launch Week - Day 4 - What is deploying apps to HuggingFace?
    https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI – Livebook Launch Week - Day 5 - Data wrangling in Elixir with https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI
    https://github.com/elixir-nx – The Nx GitHub organization page was set up
    https://twitter.com/sorentwo/status/1646493981591625732 – Oban update 2.15.0
    https://github.com/sorentwo/oban/releases/tag/v2.15.0 – Oban release notes
    https://twitter.com/osterbergmarcus/status/1646833341881016323 – Tweet asking about bulk steam inserts
    https://twitter.com/elixirphoenix/status/1646913447030865921 – Phoenix response says the bulk insert is in main now.
    https://hexdocs.pm/ecto/Ecto.Changeset.html#cast_assoc/3-sorting-and-deleting-from-many-collections – Ecto's Sorting and deleting from -many collections
    https://twitter.com/iteamon/status/1648310734479130627 – Dry run implementation by Tymon Tobolski
    https://twitter.com/theerlef/status/1646211583172034563 – ElixirConf EU keynote to look forward to


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


    Discussion Resources



    https://twitter.com/paraxialio/status/1641242283134660616
    https://github.com/nccgroup/sobelow
    https://github.com/nccgroup/sobelow/releases/tag/v0.12.2 – recent release
    https://github.com/podium/elixir-secure-coding
    https://www.podium.com/
    https://podcast.thinkingelixir.com/122 – Securing Elixir and Teaching the Team interview with Holden
    https://www.crowdstrike.com/cybersecurity-101/shift-left-security/ – Shift left
    https://www.nccgroup.com/us/
    https://github.com/podium/elixir-secure-coding
    https://github.com/ExHammer/hammer
    SAST - Static Application Security Testing
    IAST - Interactive Application Security Testing


    Guest Information



    https://twitter.com/HoldenOullette – Holden on Twitter
    https://github.com/houllette/ – Holden on Github
    https://oullette.xyz/ – Holden's Blog
    https://twitter.com/griffinbyatt – Griffin on Twitter
    https://github.com/GriffinMB/ – Griffin on Github
    https://griffinbyatt.com/ – Griffin's page


    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!

    • 56 min

Customer Reviews

5.0 out of 5
27 Ratings

27 Ratings

critter1485 ,

New Elixirian

Recently started learning functional programming and subsequently elixir. I found this podcast and love the blend of general tech discussion and more focused elixir talking points. Favorite episode so far is “End of local host development.”

thehamberdler ,

Thinking About Thinking Elixir

This may be the best podcast about Elixir. The episodes are released at a regular cadence, the audio and conversion quality is great, and the topics don’t feel repetitive. The weekly news summaries are super handy.

And, the intro music can’t be beat. 😁

Cadicles ,

Excited for more!

Excited to hear more from this podcast!

Top Podcasts In Education

Mel Robbins
Dr. Jordan B. Peterson
The Atlantic
Duolingo
Leo Skepi
TED

You Might Also Like

SmartLogic LLC
Adi Iyengar, Allen Wyma, Sascha Wolf
Lars Wikman
Brooklin Myers
Elixir Outlaws
Changelog Media