

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

Oct 5, 2021 • 40min
67: Building a Healthy Community
We talk about ways we can all contribute to building a healthy Elixir community. The Elixir community is a welcoming, encouraging and helpful place and we want to help keep it that way! We talk about common problems facing maintainers, tips for engaging productively, the value of expressing appreciation, and much more!
Show Notes online - http://podcast.thinkingelixir.com/67
Elixir Community News
https://www.erlang.org/news/149 – Erlang/OTP 24.1 was released
https://github.com/livebook-dev/nerves_livebook – Nerves Livebook is now part of the Livebook organization on GitHub
https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtdiDIxP_rPMQ5VmVhs4CKJ – ElixirConf EU 2021 keynote videos
https://www.youtube.com/watch?v=6sNmJtoKDCo – Saša Jurić's presentation on Clarity
https://twitter.com/CodeBEAMio/status/1441149132278665235 – Code Beam America switched back to virtual
https://twitter.com/elixirphoenix/status/1441020298141253633 – Phoenix.HTML from 3.0.0-3.0.3 had a security vulnerability. Please update to 3.0.4+
https://hex.pm/packages/phoenix_html – Phoenix HTML package page
https://www.phoenixframework.org/blog/phoenix-1.6-released – Phoenix 1.6.0 was released! This includes the esbuild by default change.
https://fly.io/blog/how-we-got-to-liveview/ – Chris McCord's post telling the story of "How We Got to LiveView"
https://thinkingelixir.com/petal-stack-in-elixir/ – Reminder of the PETAL stack and how central LiveView is to it.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/elixir-lang/elixir#issues-tracker-management – Explanation of the Elixir's Issue Tracker Management policy
https://github.com/elixir-lang/elixir#proposing-new-features – Resource for proposing Elixir features
https://github.com/elixir-lang/elixir/issues – Elixir's well maintained issue tracker
https://www.chiark.greenend.org.uk/~sgtatham/bugs.html – How to Report Bugs Effectively
https://opensource.guide/best-practices/ – GitHub's Best Practices for Maintainers
https://go.darrenhardy.com/darrendaily/ – Darren Hardy daily email messages.
https://darrenhardy.cDarren Daily-om/darrendaily-on-demand – Podcast form of the daily messages.
https://www.youtube.com/watch?v=6Z6cFvXb9_A – YouTube video of the "jerk" segment called "A Simple Way to Change Other People"
https://twitter.com/adamwathan – Adam Wathan, maintainer of TailwindCSS
Points to consider when interacting with different projects and maintainers.
Every project is different.
Maintainers work in their spare time. They are not obligated to help you. Make it easier for them to reproduce problems.
Provide good bug reports.
Keep your emotions out of it.
https://twitter.com/tylerayoung/status/1438824261947363329 – Tyler Young's comments on importance of maintainers setting a tone.
https://twitter.com/redrapids/status/1438111195886673929 – Bruce Tate's call to action. Let people and project know you appreciate their work.
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sep 28, 2021 • 39min
66: Tracing Production with Kai Wern Choong
We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way.
Show Notes online - http://podcast.thinkingelixir.com/66
Elixir Community News
https://twitter.com/hexpm/status/1439268469296570368 – New version of Hex released that fixes issues with version downgrades and slow version resolutions. Run mix local.hex to upgrade.
https://hexdocs.pm/credo/1.6.0-rc.0/changelog.html#1-6-0 – Credo 1.6.0 was released with new "First Run Mode"
https://twitter.com/elixirphoenix/status/1438222537301843970 – Removing Phoenix compiler config change can speed up compilation times when on up-to-date versions
https://github.com/Qqwy/elixir-type_check – New library called TypeCheck
https://blog.oestrich.org/2021/09/introducing-aino/ – Eric Osterich is experimenting with an alternative HTTP framework for Elixir
https://github.com/oestrich/aino – The Aino project
https://techcrunch.com/2021/09/14/logistics-startup-stord-raises-90m-in-kleiner-perkins-led-round-becomes-a-unicorn-and-acquires-another-company/ – Stord, an Elixir company, raised $90M and became a "unicorn"
https://spawnfest.org/ – SpawnFest 2021 happened
https://github.com/spawnfest/eflambe – SpawnFest submission - rapid generation of flamegraphs
https://github.com/spawnfest/Sketch – SpawnFest submission - library for creating generative art with Elixir
https://github.com/spawnfest/lotus – SpawnFest submission - Lotus is a Surface UI wrapper for UIKit
https://github.com/spawnfest/Discovery – SpawnFest submission - Platform for hosting realtime, stateful servers with zero downtime deployment and horizontal scaling on Kubernetes
https://github.com/spawnfest/crash – SpawnFest submission - Crash is a simple (distributed) docker-on-docker Continuous Integration system written in Elixir
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://kaiwern.com/posts/2021/06/27/debugging-with-tracing-in-elixir-with-recon_trace/
https://www.naluri.life/
https://ferd.github.io/recon/recon.html
https://hex.pm/packages/recon
https://twitter.com/kw7oe/status/1409126300636254219
https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd – Livebook notebook showing tracing examples
https://www.youtube.com/watch?v=sR9h3DZAA74 – Debugging Live Systems on the BEAM talk by Jeffery Utter
https://www.youtube.com/watch?v=OR2Gc6_Le2U – Operable Erlang and Elixir talk by Fred Hebert (skip to 25:51, where he started talking about tracing)
https://kaiwern.com/posts/2020/11/02/debugging-with-tracing-in-elixir/ – Tracing with dbg modules
https://en.wikipedia.org/wiki/Tracing_(software)
https://erlang.org/doc/man/dbg.html – dbg module in Erlang
:dbg.fun2ms
https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/
https://github.com/cilium/cilium
https://opentelemetry.io/docs/erlang/
https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html
https://www.erlang-solutions.com/capabilities/wombatoam/
https://hex.pm/packages/recon_ex
https://erlang-in-anger.com/ – Erlang in Anger (Chapter 9)
https://www.thegreatcodeadventure.com/testing-genservers-with-erlang-trace/ – Testing GenServers with Erlang Trace
http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly/ – How to trace Elixir nodes with Erlyberly - Plataformatec Blog
http://erlang.org/doc/man/seq_trace.html#sequential-tracing – Seq_trace
http://erlang.org/doc/man/erlang.html#trace-3 – Erlang:trace
https://github.com/andytill/erlyberly – Erlang tracing for the masses
https://github.com/tatsuya6502/recon_ex – Elixir wrapper for Recon, tools to diagnose Erlang VM safely in production
Guest Information
https://twitter.com/kw7oe – on Twitter
https://github.com/kw7oe/ – on Github
https://kaiwern.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sep 21, 2021 • 48min
65: Meet Core Team Member Aleksei Magusev
We talk with Elixir Core Team Member Aleksei Magusev about how he got involved in Elixir, what it’s like being on the Core Team, some of his contributions, areas in Elixir that interest him, and his tips for learning a new programming language! He also shares some of his interests outside of computing. Meet Aleksei!
Show Notes online - http://podcast.thinkingelixir.com/65
Elixir Community News
https://github.com/phoenixframework/phoenix_live_view/issues/1617 – Initial proposal to bring slots to LiveView components.
https://twitter.com/elixirbookclub/status/1437034456037068804 – Book Club started "Elixir in Action"
https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/ – Supabase, which uses Elixir in their "realtime" project raised $30m
https://github.com/supabase/realtime – Realtime project on github
https://twitter.com/BrooklinJMyers/status/1436744292391923714 – New Podcast "Elixir Newbie"
https://twitter.com/josevalim/status/1436386868539662338 – Fly.io is now a sponsor of the Livebook project!
https://github.com/elixir-desktop/android-example-app/ – Android Application that embeds Elixir, uses a Webview to connect locally to the server, and renders using LiveView!
https://github.com/elixir-lang/elixir/pull/11246 – Mix Formatter Plugins PR
ElixirConf EU has happened!
https://github.com/elixir-lang/elixir/releases/tag/v1.12.3 – Elixir 1.12.3 released
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://forzafootball.com/
https://tech.forzafootball.com/blog/binary-parsing-optimizations-in-elixir – Blog post by Aleksei Magusev on the Forza Football site
https://github.com/celluloid/celluloid
https://racket-lang.org/
https://www.rubinius.com/about/
https://web.archive.org/web/20130422214345/http://www.matasano.com/articles/crypto-challenges/ – The Matasano Crypto Challenge isn't online anymore - this is from the Wayback Machine
https://hexdocs.pm/ex_unit/ExUnit.CaptureLog.html
https://github.com/elixir-lang/elixir/pull/3390 – Early version of the capture_log work which was later simplified
https://github.com/kraftjectory/forgery
https://hex.pm/packages/forgery
https://hex.pm/packages/mint
https://hex.pm/packages/finch
https://en.wikipedia.org/wiki/Cache_stampede
https://github.com/lexmag/cashmere – Caching library Aleksei created and open sourced
https://cassandra.apache.org/_/index.html
https://andrealeopardi.com/
https://github.com/elixir-lang/elixir/pull/4430 – PR adding difference highlighting to ExUnit output
https://github.com/lexmag/elixir-style-guide – He wrote the very early version of Elixir Style Guide
Guest Information
https://twitter.com/lexmag – on Twitter
https://github.com/lexmag/ – on Github
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sep 14, 2021 • 43min
64: OTP Certificate Woes with Bram Verburg
We talk with Bram Verburg about an important root certificate expiring at the end of September and how this impacts your Elixir and Erlang projects! Bram helps explain where this IS and IS NOT a problem. He also explains the different update options available. We also get Bram’s security perspectives from his years of focused study and contributions in the Elixir and Erlang communities. A great resource for understanding the current certificate situation and for protecting your Elixir projects!
Show Notes online - http://podcast.thinkingelixir.com/64
Elixir Community News
https://github.com/elixir-nx/explorer – New Elixir-Nx project called Explorer released
Explorer summarized with "When combined with other Nx libraries, Explorer is like a super-powerful spreadsheet"
https://twitter.com/cigrainger/status/1433934973682139139 – Twitter announcement of Explorer
https://github.com/hauleth/mix_unused – mix_unused is a compiler tracer for detecting unused public functions.
https://hexdocs.pm/prom_ex/readme.html – PromEx sees a new 1.4.x release
https://github.com/erlang/rebar3/releases/tag/3.17.0 – Rebar had a new release 3.17.0
https://github.com/woylie/ecto_nested_changeset – Ecto Nested Changeset project
https://github.com/elixir-ecto/ecto/pull/3731 – Discussion that lead to pulling out as a separate library
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://blog.voltone.net/post/29 – Initial post describing the problem
https://blog.voltone.net/post/30 – Updates and mitigation recommendations
https://www.youtube.com/watch?v=0jzcPnsE4nQ – Learn you some 'ssl' for much security! - ElixirConfEU 2019
https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/inets
https://blog.voltone.net/post/27 – CVE-2020-35733 discovered in December
https://blog.voltone.net/post/28
https://www.youtube.com/watch?v=r0DuAse9tK8
https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/
OTP 24.0.4 and later is good
OTP 23.3.4.6 and later is good
https://github.com/dlesl/erqwest
https://hex.pm/packages/mint
https://xkcd.com/927/ – The referenced XKCD comic
https://arstechnica.com/gadgets/2020/12/lets-encrypt-comes-up-with-workaround-for-abandonware-android-devices/
https://github.com/elixir-mint/mint/pull/328
https://blog.voltone.net/post/28
https://blog.voltone.net/post/27
https://en.wikipedia.org/wiki/Heartbleed
https://istio.io/
https://hex.pm/packages/hackney
https://hex.pm/packages/finch
https://blog.voltone.net/
Guest Information
https://twitter.com/voltonez – on Twitter
https://github.com/voltone/ – on Github
https://blog.voltone.net/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sep 7, 2021 • 44min
63: SMS Texting in Nerves with Peter Ullrich
We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn’t and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about.
Show Notes online - http://podcast.thinkingelixir.com/63
Elixir Community News
https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723 – LiveBook support in ExDocs
https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals – Fly.io deployment guide in Phoenix documentation
https://github.com/wojtekmach/mix_install_examples/blob/main/oban.exs – Wojtek Mach's Mix.install script using the Oban library and database tables
https://github.com/smartlogic/augur – SmartLogic open sourced Augur library for helping Elixir systems that send SMS messages
https://elixir-broadway.org/ – Broadway library has it's own website
https://twitter.com/mcrumm/status/1431316375893467137 – Michael Crumm shares how live_session/3 are 2x-4x faster for him
https://twitter.com/atyborska93/status/1431670143483060230 – Angelika Tyborska shares that Exercism v3 is up with a new Elixir track
https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/ – Previous interview with Angelika Tyborska about the Elixir track in Exercism v3
https://exercism.org/tracks/elixir/ – Excercism.io's Elixir track
https://twitter.com/voltonez/status/1432208014103220224 – Erlang updates needed for expiring root CA certificate support
https://blog.voltone.net/post/30 – Bram Verburg's detailed write up on the needed updates
https://elixir-lang.org/getting-started/introduction.html – Elixir getting started docs
https://hexdocs.pm/elixir/Kernel.html – Elixir's docs in HexDocs
https://elixirschool.com/en/ – Elixir School, good free resource for learning Elixir
https://thinkingelixir.com/available-courses/pattern-matching/ – ThinkingElixir free Pattern Matching course for learning Elixir
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.peterullrich.com/sending-text-messages-with-nerves
https://www.peterullrich.com/using-livebook-with-nerves
https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335
https://www.youtube.com/watch?v=bsyjSW46TDg
https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents
https://nerves.group/
https://github.com/fhunleth/nerves_livebook/releases
https://github.com/fhunleth/nerves_livebook
Guest Information
https://twitter.com/PJUllrich – on Twitter
https://github.com/PJUllrich/ – on Github
http://peterullrich.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 31, 2021 • 57min
62: Chris McCord joins Fly.io and Phoenix 1.6
We talk with Chris McCord about his recent announcement that he’s moved to work at Fly.io! We cover what this means for the Phoenix project and ongoing Phoenix development work. He shares why he’s excited about the Fly platform which includes how it replaces his need for a CDN! We also talk about the new Phoenix 1.6 release and all the goodness coming there. This release includes the HEEX engine for validated HTML at compile time, making the auth generators official, a new mailer generator, and the move away from Webpack to esbuild. We go deeper on what the move to esbuild means for existing projects before hearing where Chris wants to put his focus next. We covered a lot, so buckle up!
Show Notes online - http://podcast.thinkingelixir.com/62
Elixir Community News
https://github.com/elixir-lang/elixir/pull/11184 – Another improvement made to mix xref graph to find why module A depends on module B.
https://github.com/elixir-lang/elixir/pull/11201 – Recompile only necessary deps whenever config/lock change
https://github.com/livebook-dev/livebook/pull/513 – IEx and Livebook both get improved intellisense (code completion) for structs and sigils.
https://twitter.com/akoutmos/status/1429835571745153024 – PromEx sponsored by SmartLogic
https://twitter.com/mitchhanberg/status/1429854685087797248 – Wallaby sponsored by SmartLogic
https://blog.erlang.org/scalable-ets-counters/ – Lukas Larsson from the Erlang OTP team, wrote a blog post about using ETS tables for distributed counters.
https://github.com/erlang/otp/pull/4719 – OTP 24.1 gets better float to string support
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://twitter.com/chris_mccord/status/1428821074553315332 – Chris McCord announced he joined Fly.io
https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16 – Phoenix 1.6 changelog
https://github.com/phoenixframework/phoenix_live_view – Phoenix LiveView 0.16 released
https://github.com/surface-ui/surface
https://twitter.com/MarlusSaraiva
https://github.com/surface-ui/surface_catalogue
https://dashbit.co/blog/a-new-authentication-solution-for-phoenix
https://github.com/heartcombo/devise
https://github.com/swoosh/swoosh
https://esbuild.github.io/
Guest Information
https://twitter.com/chris_mccord – on Twitter
https://github.com/chrismccord – on Github
http://chrismccord.com/ – Blog
https://twitter.com/flydotio – Fly.io on Twitter
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 24, 2021 • 31min
61: Elixir's Recent Brex-it
We cover the news then talk about the Brex announcement that they are shifting to a Kotlin-first strategy over Elixir. This reminds us of patterns we’ve seen in our careers and we reflect on what it means to us personally and professionally. We share our perspectives on Elixir, how it’s different from the languages we’ve used before and the unique value we get from it.
Show Notes online - http://podcast.thinkingelixir.com/61
Elixir Community News
https://medium.com/brexeng/building-backend-services-with-kotlin-7c8410795e4b – Brex announcement they are moving to Kotlin first
https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#0160-2021-08-10 – LiveView 0.16 released
https://github.com/phoenixframework/vscode-phoenix – VSCode support for HEEx is coming in new extension
https://github.com/nvim-treesitter/nvim-treesitter/pull/1700/files – nvim-treesitter gets HEEx support
https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/136 – ElixirLS 0.8.0 released
https://github.com/erlang-ls/erlang_ls/releases/tag/0.18.0 – Erlang LS 0.18.0 released
https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/ – Book "Concurrent Data Processing in Elixir" released by PragProg
https://twitter.com/elixirbookclub – Book club is reading through this book right now if you're interested
https://github.com/wyeworks/boom – WyeWorks has an open source library called "boom" that was inspired by the ExceptionNotification Rack/Rails gem
https://github.com/mcrumm/live_upload_example/pull/7 – Example showing how to crop a photo using the croppr.js library and LiveView
https://slab.com/blog/announcing-delta-for-elixir/ – Slab open-sourced their Operational Transforms library that pairs nicely with Quill, the JavaScript collaborative editor
https://github.com/slab/delta-elixir – Slab's OT project
https://thinkingelixir.com/podcast-episodes/048-ecto-associations-with-sheharyar-naseer/ – Interview with Sheharyar Naseer from Slab
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://thinkingelixir.com/podcast-episodes/059-how-elixir-came-to-spotify-with-joel-kemp/
https://twitter.com/ChrisKeathley/status/1425471653014876163
https://www.theregister.com/2012/11/08/twitter_epic_traffic_saved_by_java/
https://www.infoq.com/articles/twitter-java-use/
https://sysgears.com/articles/how-and-why-twitter-uses-scala/
https://github.blog/2009-10-20-how-we-made-github-fast/
https://developer.github.com/changes/2018-04-25-github-services-deprecation/
https://www.infoq.com/presentations/github-rails-monolith-microservices/
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 17, 2021 • 43min
60: Compile Faster with Marc-André Lafortune
We talk with Marc-André Lafortune about reducing Elixir project compile times. On larger projects, when a single file like a view template is changed and over 100 files get recompiled, there is something wrong. Marc-André explains how he identified the problems in his project and contributed to Elixir’s mix xref tool making it easier for us to find those problems in our own projects! We cover how these tooling improvements were used to improve the upcoming Phoenix 1.6 and Elixir 1.13! An additional mix xref flag was added to run CI checks on our code to prevent accidentally adding code that slows our compile times.
Show Notes online - http://podcast.thinkingelixir.com/60
Elixir Community News
https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread – Elixir is number 4 among the "most loved" languages on Stack Overflow's developer survey
https://insights.stackoverflow.com/survey/2021#section-top-paying-technologies-top-paying-technologies – Elixir is number 3 in highest paid languages on Stack Overflow's developer survey
https://github.com/nvim-treesitter/nvim-treesitter/pull/1645 – Neovim adds tree-sitter (a syntax parser) support for the Surface library
https://github.com/surface-ui/surface_tailwind/issues/1#issuecomment-884981076 – Surface Catalogue to continue and may redesign the UI using TailwindCSS
https://github.com/phoenixframework/phoenix/issues/4403#issuecomment-895354673 – Phoenix 1.6 possibly released this week?
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://twitter.com/josevalim/status/1421912595456569351 – Thread talks about the change
https://groups.google.com/g/elixir-lang-core/c/Hmg5y8S3v4E/m/FVK50RWBAQAJ?pli=1 – Elixir core mailing list where feature was discussed
https://hexdocs.pm/mix/master/Mix.Tasks.Xref.html#module-understanding-the-printed-graph
https://github.com/elixir-lang/elixir/pull/11044 – Add "--label compile-connected" option to mix xref graph
https://github.com/elixir-lang/elixir/pull/11048 – Add "--fail-above" option to mix xref making it good for CI systems
https://github.com/elixir-lang/elixir/pull/11049 – Support multiple sinks and sources in mix xref graph
https://github.com/elixir-lang/elixir/pull/11162 – Update docs
https://github.com/elixir-lang/elixir/pull/11080 – Rely on modification time and hash to determine modified sources
https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects – Blog post on recompilations
https://github.com/phoenixframework/phoenix/issues/4408 – Example 1 of sneaky macros introducing compile-time dependencies
https://github.com/phoenixframework/phoenix/issues/4409 – Example 2 of sneaky macros introducing compile-time dependencies
https://exercism.io/tracks/elixir
https://github.com/rbenv/rbenv
https://rvm.io/
https://www.super.mx/
https://xkcd.com/303/
--label compile-connected
--fail-above
Guest Information
https://twitter.com/malafortune – on Twitter
https://github.com/marcandre/ – on Github
http://blog.marc-andre.ca/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 10, 2021 • 43min
59: How Elixir Came to Spotify with Joel Kemp
We talk with Joel Kemp about his experience introducing Elixir at Spotify. We learn about the concurrency problems he had with the default stack and how that was solved with the BEAM. We talk about the inertia that larger companies have that make introducing any change harder. Joel compares the process to running a marathon and shares some tactics used to help build internal support and interest. Fascinating insight into a well known company and how Elixir is helping internally.
Show Notes online - http://podcast.thinkingelixir.com/59
Elixir Community News
https://www.youtube.com/playlist?list=PLCv-QRhbg07E3pe58eQauGibLv0A1fYm8 – ElixirWizard's Conference 2021 videos are on YouTube.
https://pragprog.com/titles/lmelixir/testing-elixir/ – Testing Elixir book. 40% off promo code "LMELIXIRCOMPLETE"
https://twitter.com/josevalim/status/1421912595456569351 – Elixir 1.13 gets "mix xref graph" improvements
https://en.wikipedia.org/wiki/Transitive_dependency – Transitive Dependency info
https://twitter.com/josevalim/status/1420810455854067723 – esbuild fixed last technical hurdle for use in Phoenix
https://github.com/josevalim/phx_esbuild_demo/commit/0546034f26ac5d58d12867e5843037ce1b2d4dd1 – Jose Valim shows how to switch to esbuild on a project
[Oban and Oban Pro updates released improving time scheduling](Oban and Oban Pro updates released improving time scheduling) – https://twitter.com/sorentwo/status/1421169698713088001
https://elixir-lang.org/blog/2021/07/29/bootstraping-a-multiplayer-server-with-elixir-at-x-plane/ – Bootstrapping a multiplayer server with Elixir at X-Plane blog post
https://thinkingelixir.com/podcast-episodes/035-x-planes-elixir-mmo-with-tyler-young/ – Our previous interview with Tyler Young about X-Plane and Elixir
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://medium.com/elixir-learnings/learnings-using-phoenix-liveview-for-internal-web-applications-38711193ca13
https://mrjoelkemp.medium.com/jvm-struggles-and-the-beam-4d9c58547410
https://www.spotify.com/
https://www.lifeatspotify.com/
Guest Information
https://twitter.com/mrjoelkemp – on Twitter
https://github.com/mrjoelkemp – on Github
https://mrjoelkemp.medium.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 3, 2021 • 21min
58: News and Livebook for Business Intelligence
After covering the news we catch up on what Elixir things we've been thinking about and working on. Mark brings up using Livebook as a Business Intelligence tool for doing analysis of a running application's data. David brings up how to design safe data migrations in Elixir systems, examples from the Rails ecosystem and how he's thinking about that for Elixir.
Show Notes online - http://podcast.thinkingelixir.com/58
Elixir Community News
https://2021.elixirconf.com/#up-next – ElixirConf talks are being accepted! Speakers not yet fully announced.
https://github.com/livebook-dev/livebook/pull/453 – Livebook gets "hover contexts".
https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.16 – Nerves Livebook updated release
https://www.youtube.com/watch?v=n2lUa7PACV8 – Elixir Roundtable Number 4
https://github.com/CargoSense/dart_sass – Mix wrapper around dart-sass
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://fly.io/blog/better-business-intelligence-in-elixir-with-livebook/
https://fly.io/docs/app-guides/elixir-livebook-connection-to-your-app/#business-intelligence-through-livebook – Fly.io docs for doing BI with Livebook to running apps
https://github.com/livebook-dev/livebook – Livebook project
https://en.wikipedia.org/wiki/Business_intelligence – Business Intelligence or BI
https://www.metabase.com/ – OpenSource BI tool
https://rubygems.org/gems/strong_migrations – RubyGem StrongMigrations
Guest Information
No special guests this time.
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward