

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

Mar 2, 2021 • 51min
37: The Lambda Days Conference and Elixir
After covering the news, we share a live recording of the show from the Lambda Days conference. It was a lot of fun! We covered topics like learning and teaching Elixir, functional programming, strengths of Elixir over Erlang, the developer tooling, why Elixir is awesome even when not building distributed systems, and much more!
Show Notes online - http://podcast.thinkingelixir.com/37
Elixir Community News
https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-available – Project Nx has finally gone public!
https://github.com/elixir-nx/nx – Project source on Github
https://groups.google.com/g/elixir-lang-core/c/Q4ZnK-R59-4/m/Uc2xOJKlAwAJ – Proposal to add before_suite to ExUnit
https://github.com/nerves-project/nerves_examples/tree/main/hello_zig – Zig Lang is now available for use on Nerves official platforms
https://gleam.run/news/gleam-v0.14-released/ – Gleam Lang 0.14 was released
https://hex.pm/packages/prom_ex – PromEx library leaves beta and releases v1.0
https://www.beamrad.io/ – New BeamRad.io Elixir and BEAM focused podcast
https://github.com/erlang-ls/erlang_ls/releases/tag/0.10.0 – ElixirLS v0.10.0 released
https://github.com/erlang/otp/pull/2960 – OTP 24 get faster float to string algorithm
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.lambdadays.org/lambdadays2021
https://codesync.global/conferences/code-beam-v-america-2021/ – Code Beam V America 2021
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Feb 23, 2021 • 42min
36: Using LiveView and Hooks with Alex Minette
Alexandre Minette shares his adventures with LiveView as he builds a personal finance tracking application. We cover his use of hooks to integrate Javascript libraries that give him the UX he wants. He shares some tips and resources for finding Javascript libraries that work well with LiveView. Alex pushes browser locale data up to the server to customize rendering dates and times for a fun and different approach. We also get his perspective on using Flutter for Mobile development and where he thinks it fits with web technologies like LiveView.
Show Notes online - http://podcast.thinkingelixir.com/36
Elixir Community News
https://www.tiobe.com/tiobe-index/ – Elixir is number 48 in the TIOBE index
https://twitter.com/MarlusSaraiva/status/1360254701808324615 – Surface Catalogue in the works. Similar to a "React Storybook" but for LiveView Surface components.
https://twitter.com/wbruce/status/1359299409196896259 – Bruce Williams, co-founder of the Absinthe library announced he's stepping away from being an active core contributor.
https://dashbit.co/blog/building-a-custom-broadway-producer-for-the-twitter-stream-api – Dashbit new blog post on using Broadway to consume a Twitter Stream API
https://github.com/erlang/otp/issues – Erlang OTP has moved the project to Github for issue management.
https://stillstatic.io/ – New static site generator called Still
https://dalgona.github.io/Serum/ – Alternative Elixir static site generator
https://hexdocs.pm/nerves_system_rpi0/changelog.html#v1-14-0 – New release for Nerves, v1.40. Bring native Apple M1 support and more.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://alex-min.fr/phoenix-live-view-very-large-list-hook/
https://alex-min.fr/live-view-browser-timezone/
https://github.com/fulmicoton/fattable/ - Fattable JS library
https://www.npmjs.com/package/moment
https://plaid.com/
http://microjs.com
http://cldr.unicode.org/
https://github.com/kipcole9
https://github.com/elixir-cldr/cldr
https://www.youtube.com/watch?v=MZvmYaFkNJI - Chris McCord's 15 minute Twitter video
https://flutter.dev/
Guest Information
https://github.com/alex-min – on Github
https://alex-min.fr/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Feb 16, 2021 • 41min
35: X-Plane's Elixir MMO with Tyler Young
Tyler Young from X-Plane talks with us about how he added a new MMO feature to the popular flight simulator using Elixir. He shares some behind the scenes information on how it was created and how it’s been working in production. We learn about the single modest server that supports all the mobile users right now.
I loved hearing how Tyler found working with Elixir to be super productive. He took on a major new feature that he expected to take over a year but was able to deliver it in less than half the time. He did all the Elixir work himself and was new to it!
Show Notes online - http://podcast.thinkingelixir.com/35
Elixir Community News
https://elixir-lang.org/blog/2021/02/03/social-messaging-with-elixir/ – New Elixir Case study covers Community.com
https://github.com/erlang/otp/pull/3022 – Update to OTP master means 5x faster Phoenix template compilation
https://twitter.com/germsvel/status/1357690618621919232 – Bamboo update decouples it from Phoenix
https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/ – New beta book "Concurrent Data Processing in Elixir" from PragProg
https://twitter.com/wojtekmach/status/1357857784205869056 – Proof of Concept - Erlang docs in ExDocs
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://twitter.com/tylerayoung/status/1349423099410833409 – RakNet implemented in Elixir
https://twitter.com/tylerayoung/status/1351578137231056898
https://www.youtube.com/watch?v=JvBT4XBdoUE – The Soul of Erlang and Elixir - Saša Jurić
https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/
https://appsignal.com/
https://github.com/X-Plane/elixir-raknet
Guest Information
https://twitter.com/TylerAYoung – on Twitter
https://github.com/s3cur3 – on Github
https://www.x-plane.com – X-Plane Github
https://tylerayoung.com – Personal Blog
https://developer.x-plane.com/blog/ – Developer Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Feb 9, 2021 • 1h 16min
34: José Valim reveals Project Nx
José Valim visits and finally publicly reveals what Project Nx is! He and others have been working on it for 3 months and he's finally ready to unveil it. José will speak more about it at the LambdaDays conference, demonstrating it with code and announcing the release and availability of the OpenSource code.
Nx stands for "Numerical Elixir". The Nx project brings a unique numerical mode to Elixir along with GPU support. This important work lays the foundation for a powerful new era with data science in Elixir! Listen in as Jose discusses the details of how this works, how it came about, the goals of the project, what this means for the community, and what comes next.
Show Notes online - http://podcast.thinkingelixir.com/34
Elixir Community News
https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/122 – ElixirLS version 0.6.3 released
https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md – ElixirLS Changelog
https://codesync.global/conferences/code-beam-v-america-2021/ – CodeBEAM American conference dates March 10-12
https://hexdocs.pm/oban/changelog.html#2-4-0-2021-01-26 – Oban 2.4.0 released
https://twitter.com/sorentwo/status/1354099475191652352 – Oban performance improvement charts
https://github.com/wintermeyer/phx_tailwind_generators – Phoenix TailwindCSS generator
https://github.com/phoenixframework/phoenix/pull/4191 – Phoenix JavaScript gets more modern with Phoenix ES modules
https://fullstackphoenix.com/boilerplates/new – Feedback! We learned about the site FullStackPhoenix which helps you start new projects already setup with several options for how to configure it.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
Nx stands for "Numerical Elixir"
https://elixirforum.com/t/anyone-who-wants-to-speculate-about-this-tweet-from-jose/35772/68 – A great text summary of the announcement found on ElixirForum.
https://twitter.com/josevalim/status/1356880707474370560 – José Valim released the new Nx logo during our recording. The cute animal is a Numbat!
https://en.wikipedia.org/wiki/Numbat
https://github.com/erlang/otp/pull/2890 – José's pull request to add 16-bit floats in bitstrings to OTP
https://numpy.org/
https://en.wikipedia.org/wiki/Softmax_function
https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/
https://elixirforum.com/t/pelemay-formerly-hastega-challenge-for-gpgpu-on-elixir/22986
https://erlang.org/doc/man/erl_nif.html#dirty_nifs – Information on Dirty NIFs
https://twitter.com/bcardarella
https://www.tensorflow.org/xla
https://tvm.apache.org/
https://mlir.llvm.org/
https://github.com/google/jax
https://julialang.org/
https://www.lambdadays.org/lambdadays2021/jose-valim – LambdaDays speaker page
https://www.lambdadays.org/lambdadays2021#programme – José speaks on day 2
Promo code for 15% off LambdaDays tickets! Just use "thinkingelixir15"
https://twitter.com/josevalim
https://twitter.com/sean_moriarity
https://twitter.com/elixirlang
Guest Information
https://twitter.com/josevalim – on Twitter
https://github.com/josevalim – on Github
https://dashbit.co/ – Dashbit website and blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Feb 2, 2021 • 45min
33: Postgres PubSub and Elixir with Allen Wyma
We talk with Allen Wyma about a Postgres PubSub feature and how it plays nice with Elixir. We dispel the idea that you should always use Phoenix PubSub just because it's there and we cover the value of learning what's built-in to tools like the postgrex library. Allen shares how Postgres PubSub elegantly solved a problem for him and he gives tips for using it. We also talk about teaching Elixir through Allen's YouTube videos and teaching in person with his Teach Me Code efforts.
Show Notes online - http://podcast.thinkingelixir.com/33
Elixir Community News
https://twitter.com/josevalim/status/1353634780018069506 – Jose Valim will reveal what project Nx is on ThinkingElixir!
https://www.lambdadays.org/lambdadays2021/thinking-elixir – 15% discount on LambdaDays tickets, use coupon code "thinkingelixir15"
https://www.testingliveview.com/ – German Velasco's Testing LiveView book now has a early-access course
https://github.com/elixir-circuits/circuits_quickstart/releases/tag/v0.4.2 – Nerves Circuits Quickstart image was updated with WiFi improvement
https://github.com/erlef/setup-elixir – The Erlang Ecosystem Foundation is now the proud owner of the github action "setup-elixir". Providing an "official" Github Actions Elixir CI pipeline.
https://github.com/elixir-lang/elixir/pull/10674 – Mix.install landed making it easier to do system scripting with Elixir
https://twitter.com/louispilfold/status/1353058992751140867 – Gleam Lang project now generates Erlang typespecs for better integrations
https://thinkingelixir.com/podcast-episodes/023-gleam-and-static-types-with-louis-pilfold/ – Previous interview with Louis Pilfold about Gleam
https://elixirstatus.com/p/Vmxb2-intellij-elixir-v1192 – Lots of bug fixes for Elixir support in the IntelliJ Elixir plugin
https://github.com/hexpm/hexpm/commit/f2e7e946ccf4a402aa26594a6fa412332a7f7c5f – Using custom Hex.pm registries is supported in mix.exs files
https://twitter.com/fhunleth/status/1352364417846026240 – mix hex.outdated updated to include a link that shows the diffs
https://hex.pm/blog/introducing-hex-preview – Todd Resudek announced preview.hex.pm to see exactly what gets installed with a package
https://developer.x-plane.com/2021/01/have-you-heard-the-good-news-about-elixir/ – X-Plane is using Elixir for their new MMO feature
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.youtube.com/watch?v=i30D_zTVJsc
https://www.essentialsql.com/introduction-common-table-expressions-ctes/
https://hexdocs.pm/postgrex/Postgrex.Notifications.html
http://www.plangora.com
http://www.teachmecode.hk
Guest Information
https://twitter.com/allenwyma – Allen on Twitter
https://twitter.com/Plangora – Plangora on Twitter
https://www.github.com/plangora – on Github
http://www.plangora.com – Blog
http://www.teachmecode.hk – Teach Me Code website
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jan 26, 2021 • 44min
32: Circuit Breaker and Elixir Patterns with Allan MacGregor
We talk with Allan MacGregor about implementing the Circuit Breaker pattern in Elixir and compare that to just using a job library. We get into a fun discussion about design patterns in Elixir and designing for failure. Allan is creating a project called Site Guardian using the PETAL stack and shares his experiences with it and much more!
Show Notes online - http://podcast.thinkingelixir.com/32
Elixir Community News
https://elixir-lang.org/blog/2021/01/13/orchestrating-computer-vision-with-elixir/ – New Elixir case study features the company V7 where they use Elixir for orchestrating computer vision.
https://www.phoenixframework.org/blog/improving-testing-and-continuous-integration-in-phoenix – Phoenix is using Earthly for running tests on CI and locally
https://github.com/sasa1977/ci – Sasa Juric releases a hex package to run CI
https://hexdocs.pm/oban/web-changelog.html#v2-5-0-2021-01-15 – Oban Web v2.5.0 is out with new features
https://hex.pm/blog/hex-v0.21-released – Hex 0.21 released. Adds registry self-hosting and more!
https://hex.pm/docs/self_hosting – Documentation on self-hosting Hex
https://twitter.com/josevalim/status/1350004900973981699 – Jose Valim is requesting written guides or blog posts from people who have used "mix phx.gen.auth" and customized it
https://github.com/erlang-ls/erlang_ls/releases/tag/0.8.0 – Erlang-LS - Language server 0.8 was released along with a VS Code extension
https://thinkingelixir.com/petal-stack-in-elixir/ – ThinkingElixir post on PETAL stack
https://changelog.com/posts/petal-the-end-to-end-web-stack – Lars Wikman post on PETAL stack
https://redrapids.medium.com/petal-liveview-and-lamp-eb5e9f81a804 – Bruce Tate post on PETAL stack
https://www.lambdadays.org/lambdadays2021/thinking-elixir – ThinkingElixir podcast will record live at LambdaDays 2021 - Feb 16th
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://allanmacgregor.com/posts/circuit-breaker-pattern-in-elixir
https://siteguardian.dev
https://www.humi.ca/
https://en.wikipedia.org/wiki/Flow-based_programming
https://hex.pm/packages/flowex
https://www.youtube.com/watch?v=BJVzwaTiOdk
https://hex.pm/packages/ok
https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/
https://bernheisel.com/blog/nostalgia-programming
https://dashbit.co/ebooks/the-little-ecto-cookbook – The Little Ecto Cookbook
https://microservices.io/
https://www.youtube.com/watch?v=z4p4e9Uwn6I
Guest Information
https://twitter.com/allanmacgregor – on Twitter
https://github.com/amacgregor – on Github
https://allanmacgregor.com – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jan 19, 2021 • 51min
31: Crawling the Web using Elixir with Oleg Tarasenko and Tze Yiing
Oleg Tarasenko and Tze Yiing discuss web crawling with Elixir, covering legal concerns, codeless scrapers, and handling login pages. They explain how Elixir is ideal for crawling tasks and showcase the crawly project for efficient crawling tasks.

Jan 12, 2021 • 59min
30: Mutation Testing using Muzak with Devon Estes
We talk with Devon Estes, the creator of a new Elixir mutation testing library called Muzak. Devon joins us to explain what mutation testing is and how it can help development teams in organizations move faster and with greater confidence. We cover when a project can benefit from it, the challenges of offering a PRO version of a library, where Muzak is going in the future, and more!
Show Notes online - http://podcast.thinkingelixir.com/30
Elixir Community News
https://github.com/elixir-lang/elixir/releases/tag/v1.11.3 – Elixir 1.11.3 was released with mostly bug fixes
https://www.lambdadays.org/lambdadays2021 – Lambda Days 2021. An Online Conference 16-19 February 2021
https://twitter.com/lambdadays/status/1346021063671619584 – Jose Valim plans to announce something he's excited about at the conference
https://github.com/phoenixframework/phoenix_html/issues/329 – Phoenix HTML is adding validated HTML
https://utils.zest.dev/gendiff – David's Elixir generator diffing service
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://devonestes.com/announcing_muzak
https://hexdocs.pm/muzak/muzak.html
https://hexdocs.pm/assertions/Assertions.html – Another library Devon created in the area of testing
https://github.com/bencheeorg/benchee
https://github.com/PragTob
https://github.com/danmayer/coverband
https://github.com/unused-code/unused
https://github.com/sponsors
Guest Information
https://twitter.com/devoncestes – on Twitter
https://github.com/devonestes – on Github
https://devonestes.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jan 5, 2021 • 48min
29: Running Jobs using Oban with Parker Selbert
We talk with Parker Selbert, the creator of the job processing library Oban. He shares the benefits of using Postgres as the data store over more common choices like Redis. Oban also offers a paid "pro" level and Parker explains how a paid feature set is provided for the OpenSource library. He helps us understand the differences between pro and free as well. We talk about how the BEAM's concurrency and processes enable powerful features in a job processing library that you won't easily find in alternatives. He also shares a glimpse of what's coming in the future for the library and more!
Show Notes online - http://podcast.thinkingelixir.com/29
Elixir Community News
https://hotwire.dev/ – Ruby on Rails project launched Hotwire, a LiveView-like project for pushing HTML to the client
https://twitter.com/chris_mccord/status/1341476828314263552 – Chris McCord expressed the benefits of the LiveView approach well here.
https://twitter.com/louispilfold/status/1342130938021629953 – Gleam projects can apply the Hotwire approach as it is backend agnostic
https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html – React JS server rendered components
https://youtu.be/TQQPAU21ZUw – Video explaining React JS server components
https://github.com/kentaro/mix_tasks_upload_hotswap – Tool to speed IoT development iterations
https://twitter.com/pressy4pie/status/1343822451285716992 – Connor Rigby's similar approach
https://getoban.pro/ – Oban Pro website updated
https://elixirforum.com/t/one-click-phoenix-deployments/36473 – Wojtek Mach created an example Phoenix app with one-click deployments to different cloud services
https://github.com/wojtekmach/phoenix_example – Github project with deployment examples
https://mazes.angelika.me/ – LiveView maze generator created by Angelika Tyborska
https://github.com/angelikatyborska/mazes – Source code for maze generator
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/sorentwo/oban
https://getoban.pro/
https://dscout.com/
https://redis.io/topics/streams-intro
https://kafka.apache.org/documentation/streams/
https://elixirforum.com/
https://hexdocs.pm/oban/Oban.html
https://elixir-slackin.herokuapp.com/
Guest Information
https://twitter.com/sorentwo – on Twitter
https://github.com/sorentwo – on Github
https://sorentwo.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Dec 29, 2020 • 49min
28: DepViz and ElixirLS with Jason Axelson
We talk with Jason Axelson. He created the DepViz tool that can help improve your Elixir compile-time experience. Jason explains how to use the tool to identify where compile time dependencies may be causing issues in your project and provides tips on what to do about it. We also cover recent improvements in Elixir 1.11 and coming improvements in 1.12 and what those will mean for you! Jason is also a member of the Elixir-LSP github organization and explains the history of the Elixir-LS project and how it has grown and developed. Jason shares some tips with how to fix Elixir-LS issues when it stops working for you. He also shares some glimpses of where things may go in the future, and more!
Show Notes online - http://podcast.thinkingelixir.com/28
Elixir Community News
https://techcrunch.com/2020/12/15/supabase-raises-6m-for-its-open-source-firebase-alternative/ – Supabase raises $6M for its open-source Firebase alternative
https://news.crunchbase.com/news/a-new-corporate-card-ramp-secures-30m-for-money-saving-company-credit-programs/ – Ramp Secures $30M For Money-saving Company Credit Programs
https://www.crunchbase.com/organization/spiff-8d22 – Spiff raised 10M this summer for it's Elixir powered product
https://github.com/phoenixframework/phoenix_live_view/issues/1287#issuecomment-749069482 – Maybe in the future we can use do blocks in live view?
https://dockyard.com/blog/2020/12/21kkjc/optimizing-user-experience-with-liveview – Chris McCord's blog post on using Alpine.js with LiveView
https://thinkingelixir.com/podcast-episodes/024-liveview-uploads-with-chris-mccord/ – Previous interview with Chris McCord
https://github.com/phoenixframework/phoenix_live_view/pull/1280 – LiveView test helper open_browser gets css support
https://github.com/evadne/etso – Highlighting the Etso Library
https://semaphoreci.com/blog/elixir-creator-jose-valim – Jose Valim was a guest on the SemaphoreCI podcast
https://www.veracode.com/state-of-software-security-report – Covers some common security problems that Elixir is not immune to
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/axelson/dep_viz
https://elixirforum.com/t/depviz-a-visual-tool-to-understand-inter-file-dependencies/35408
https://dep-viz.herokuapp.com/
http://viz.hawaiicampaignspending.com/ – His previous project that made extensive use of d3
http://animalrepairshop.com/#home-section
https://graphviz.org/
mix xref graph --format dot
https://www.d3indepth.com/force-layout/
https://github.com/sasa1977/boundary
https://github.com/sasa1977/boundary#warning
https://github.com/elixir-lsp – The Elixir Language Server Protocol github organization
https://thinkingelixir.com/elixir-in-vs-code/ – Using VS Code for Elixir development
https://thinkingelixir.com/vs-code-broken-for-elixir/ – Fixing Elixir-LS issues for VS Code
https://github.com/falood/exsync/
https://github.com/JakeBecker/elixir-ls/pull/182 – PR that added an explicit license to Elixir-LS
Guest Information
https://twitter.com/bostonvaulter – on Twitter
https://github.com/axelson/ – on Github
https://jasonaxelson.com – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward