
153 episodes

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
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! -
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 -
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 -
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! -
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 -
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!
Customer Reviews
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.”
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. 😁
Excited for more!
Excited to hear more from this podcast!