

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 13, 2020 • 44min
17: JIT compiler for Beam with Lukas Larsson and John Högberg
We cover the news then talk with Lukas Larsson and John Högberg to learn about the new BeamAsm project that brings a JIT compiler to Erlang OTP and Elixir. This is a very exciting development for all Beam languages and they break down for us what it is, how it works, how it impacts us as Elixir developers, when to expect it, and they share insights into developing OTP. An episode you don’t want to miss!
Show Notes online - http://podcast.thinkingelixir.com/17
Elixir Community News
https://2020.elixirbrasil.com/en/ – Elixir Brazil conference
https://github.com/elixir-lsp/elixir-ls/blob/master/CHANGELOG.md – Elixir-LS 0.6.1 was released
https://github.com/elixir-ecto/ecto – Ecto 3.5 was officially released
https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/ – Ecto 3.5 interview with Mike Binns
https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md – Elixir 1.11 released
https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/ – Discussion with Wojtek Mach about Elixir 1.11 features
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/erlang/otp/pull/2745 – The big pull request
https://www.erlang-solutions.com/
http://erlang.org/doc/man/HiPE_app.html
https://github.com/asmjit/asmjit
http://www.gnu.org/software/gdb/
https://www.youtube.com/watch?v=w4xMarVUZQ4 – Luke Imhoff Elixir debugger
https://rr-project.org
Tools used for work on OTP - gdb, rr, perf, asmjit, godbolt.org, uops.info
https://uops.info/
https://godbolt.org/
https://rr-project.org/
http://blog.erlang.org – Erlang Blog
Guest Information
https://twitter.com/garazdawi – Lukas on Twitter
https://github.com/garazdawi/ – Lukas on Github
lukas@erlang.org – Lukas’ email
https://github.com/jhogberg – John on Github
john@erlang.org – John’s email
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Oct 6, 2020 • 44min
16: Gleam, Games and Types with Quinn Wilton
We cover the news then talk with Quinn Wilton about Gleam, a static typed language on the BEAM and why Elixir devs should care about it. We learn about her Chip8 emulator that renders game ROMs to LiveView, what dynamic security analysis of web applications can look like today, static typing, library recommendations and much more!
Show Notes online - http://podcast.thinkingelixir.com/16
Elixir Community News
https://github.com/phoenixframework/phoenix_live_view/commit/a45e34f9930c736b2636ce4ee792ae60331d8c8d – live_view’s inner content is changing again
https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data – Queryable response data from Hugo Barauna
https://twitter.com/josevalim/status/1309436711022268418 – Dashbit libraries moving to 1.0
https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-Heroku/ – New Elixir lang case study "PaaS with Elixir at Heroku"
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.tinfoilsecurity.com/
https://news.synopsys.com/2020-01-09-Synopsys-Acquires-Tinfoil-Security-to-Expand-DAST-and-Add-API-Security-Testing
https://github.com/lumen/lumen
https://gleam.run/
https://plummail.co/
https://www.typescriptlang.org/
http://chip8.quinnwilton.com
https://github.com/QuinnWilton/gleam-chip8
https://spawnfest.github.io/
https://hex.pm/packages/algae
https://hex.pm/packages/norm
https://github.com/keathley/norm
https://hexdocs.pm/stream_data/StreamData.html
https://www.youtube.com/watch?v=tpo3JUyVIjQ
https://2020.elixirconf.com/speakers/128/talk
https://smartlogic.io/podcast/elixir-wizards/s4e15-elixirconf/
Guest Information
https://twitter.com/wilton_quinn – on Twitter
https://github.com/quinnwilton/ – on Github
http://quinnwilton.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 29, 2020 • 53min
15: Inside Elixir Radar with Hugo Baraúna
We cover the news then talk with Hugo Baraúna, the guy behind Elixir Radar, to get the inside scoop. Would you like to increase the chances of your blog post being featured by Elixir Radar? Hugo shares how! We also discuss his observations of Elixir adoption in companies, better understanding our own community, sustainability in OpenSource, his efforts to fund his time on Elixir Radar, and much more!
Show Notes online - http://podcast.thinkingelixir.com/15
Elixir Community News
https://vimeo.com/ondemand/elixirconfus2020 – ElixirConf US 2020 Videos available online
https://subvisual.com/blog/posts/announcing-alchemy-conf/ – Alchemy Conf announced for 14-15 of May 2021 in Braga, Portugal
https://twitter.com/josevalim/status/1307199733417598977 – Ecto 3.5.0 RC-1 released
https://thinkingelixir.com/podcast-episodes/011-new-ecto-features-in-3-5-with-mike-binns/ – Interview with Mike Binns about new features
https://www.iotevolutionworld.com/newsroom/articles/446540-winners-the-2020-iot-evolution-community-impact-awards.htm – Nerves Project won the 2020 IoT Evolution Community Impact Awards for NervesHub
https://github.com/rrrene/credo/blob/v1.5.0-rc.1/CHANGELOG.md – Credo 1.5.0 RC-1
https://www.ash-elixir.org/ – Ash Framework
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://elixir-radar.com/
https://medium.com/elixir-radar/elixir-radar-has-a-new-home-c800244489b9
https://gumroad.com/l/WUIlt – Elixir Individual Sponsorships
https://docs.google.com/document/d/1K5mCbL7zBaQaxZFEsx5hODqT3KbYKCc_qaopigL09Bo/edit – Elixir Radar Company Sponsorships
https://medium.com/elixir-radar/elixir-radar-transparency-report-end-of-august-2020-1d3bd21431a7 – Elixir Radar transparency report — end of August 2020
https://elixirweekly.net/ – Other Elixir newsletter
https://twitter.com/bcardarella/status/1302237810896834560 – 2020 Elixir Ecosystem Survey raw results (CSV)
https://twitter.com/hugobarauna/status/1308831229471531008 – Hugo helped clean up the CSV and shared his version
https://github.com/hugobarauna/elixir-ecosystem-2020-reponses-data – Github project to better study Elixir Ecosystem Survey results
Guest Information
https://twitter.com/elixir_radar – Elixir Radar on Twitter
https://twitter.com/hugobarauna – Hugo’s Portuguese language Twitter
https://github.com/hugobarauna/ – on Github
https://medium.com/elixir-radar – Hugo’s Medium blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Sep 22, 2020 • 38min
14: LiveView and Airtable with Ricardo Garcia Vega
Huge batch of news! Then we talk with Ricardo Garcia Vega about how he paired a Phoenix application with no database Repo to an Airtable backend to quickly solve a problem but without compromising on speed or reliability. Includes great discussion of ETS tables, GenServers for syncing a cache, LiveView for live updates, links to great resources, a github repo for doing it yourself and much more!
Show Notes online - http://podcast.thinkingelixir.com/14
Elixir Community News
https://www.youtube.com/playlist?list=PLqj39LCvnOWZl_Pb0Y7wGWijKbTvL4gJg – ElixirConf US 2020 Online keynote talks
https://twitter.com/elixirlang/status/1305415089600835587 – Elixir v1.11.0-rc.0 released
https://thinkingelixir.com/podcast-episodes/003-elixir-1-11-preview-with-wojtek-mach/ – Discussion about new features in Elixir 1.11
SpawnFest news
https://github.com/spawnfest/continuum – New Queue system based on files and how email is organized
https://github.com/spawnfest/shaker – Convert your rebar3 projects to mix
https://github.com/spawnfest/beamwork – “Spotlight” Phoenix Live Dashboard graphs on Phoenix response times
https://github.com/spawnfest/bakeware – Self-contained cross-platform executables for Elixir/Erlang
https://github.com/spawnfest/livechart – “Uncharted” dependency-free LiveView-powered SVG charts
https://twitter.com/codebeamio/status/1304370824573485056 – Static Typed Erlang from WhatsApp and Facebook
https://codesync.global/uploads/media/activity_slides/0001/03/f2292f201aa6b04db8c4e0b9cfa191dd07c9ee14.pdf – Presentation slides about Static Typed Erlang
https://www.elixirconf.eu/ – ElixirConf EU will be held 7-8 of October
https://twitter.com/josevalim/status/1304399735445426176 – JIT comes to the ErlangVM
https://github.com/erlang/otp/pull/2745 – PR that includes some interesting documentation and explanation
https://github.com/erlang-ls/erlang_ls – An Erlang Language Server is now available
https://elixirforum.com/t/try-erlfmt-today/34307 – erlfmt is an Erlang language syntax formatter
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
http://codeloveandboards.com/blog/2020/07/02/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-1/
http://codeloveandboards.com/blog/2020/07/11/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-2/
http://codeloveandboards.com/blog/2020/07/19/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-3/
http://codeloveandboards.com/blog/2020/07/27/headless-cms-fun-with-phoenix-liveview-and-airtable-pt-4/
https://phoenixcms.herokuapp.com/
https://github.com/bigardone/phoenix-cms
https://cabify.com/es
https://airtable.com/
https://airtable.com/product
https://elm-lang.org/
https://webflow.com/
https://elm-pages.com/
https://github.com/teamon/tesla – The HTTP client used in his solution
https://hexdocs.pm/phoenix_live_view/dom-patching.html#temporary-assigns
Guest Information
https://twitter.com/bigardone – on Twitter
https://github.com/bigardone/ – on Github
http://codeloveandboards.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 15, 2020 • 38min
13: Video chat using LiveView with Jesse Herrick
We talk with Jesse Herrick about creating a video chat app using WebRTC and Phoenix LiveView. We cover the WebRTC protocol, how Phoenix helps, JS hooks, pushing events from the server and much more!
Show Notes online - http://podcast.thinkingelixir.com/13
Elixir Community News
https://twitter.com/bcardarella/status/1301959070493138944 – Elixir Ecosystem Survey overall results
https://twitter.com/bcardarella/status/1302237810896834560 – Elixir Ecosystem Survey link to raw CSV result data
https://github.com/elixir-lang/elixir/pull/10303 – PR from Jose Valim that will “Introduce a type hint system”
https://github.com/achedeuzot/ecto_commons – New library ecto_commons that collects Ecto validations
https://github.com/erlang/rebar3/releases/tag/3.14.0 – Rebar3 version 3.14 released
https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md – Ecto 3.5.0-rc
https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://littlelines.com/
https://littlelines.com/blog/2020/07/06/building-a-video-chat-app-in-phoenix-liveview
https://github.com/littlelines/littlechat
https://meet.jit.si/
https://edgeguides.rubyonrails.org/action_cable_overview.html
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Connectivity
https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html#push_event/3 – The push_event/3 function
https://www.pkc.io/blog/untangling-the-webrtc-flow/
https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
https://webrtcglossary.com/
https://webrtchacks.com/
https://littlechat.app/
Guest Information
https://twitter.com/JesseHerrick – on Twitter
https://github.com/JesseHerrick/ – on Github
https://jesseherrick.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 8, 2020 • 44min
12: All a Flutter over NIFs and Ports with Connor Rigby
We catch up with Connor Rigby and learn about his recent Flutter work for Nerves. We take this opportunity to get his perspective on when to choose NIFs or Ports for native integrations, how to make NIFs more portable, get a recommendation for multimedia processing and much more!
Show Notes online - http://podcast.thinkingelixir.com/12
Elixir Community News
https://twitter.com/chris_mccord/status/1299377514545057792 – Chris McCord doing work on LiveView uploads
https://hex.pm/blog/vulnerability-report-system – Hex.pm received a new security feature
https://github.com/erlang/rebar3/releases/tag/3.14.0 – Rebar3 version 3.14 released
https://lpil.uk/blog/gleam-v0.11-released/ – Gleam v0.11 was released
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://binarynoggin.com/making-nifs-portable/
https://binarynoggin.com/connor-rigby-joins-binary-noggin/ – Announcement that Connor joined BinaryNoggin
https://flutter.dev/ – Google’s Flutter project
https://dockyard.com/blog/2020/05/11/elixir-nifs-xbox-kinect-and-liveview – Mike Binns article that prompted his post
https://github.com/OpenKinect/libfreenect
https://github.com/rusterlium/rustler
https://github.com/elixir-circuits/circuits_uart – Project Connor uses as a template for Ports
Nerves doesn’t use NIFs at all internally
http://erlang.org/doc/tutorial/c_port.html
http://erlang.org/doc/tutorial/nif.html
http://erlang.org/doc/man/erl_nif.html
https://github.com/ConnorRigby/elixir-python-port-example
http://erlport.org/
https://www.membraneframework.org/
https://github.com/membraneframework
https://octoprint.org/
Guest Information
https://twitter.com/pressy4pie – on Twitter
https://github.com/ConnorRigby/ – 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 1, 2020 • 33min
11: New Ecto features in 3.5 with Mike Binns
Learning about some new features coming in Ecto 3.5 from Mike Binns. Mike explains Ecto.Enum, what a ParameterizedType is, the new "redact" option on fields and much more!
Show Notes online - http://podcast.thinkingelixir.com/11
Elixir Community News
http://blog.erlang.org/the-new-scalable-ets-ordered_set/ – Improvements in OTP 22 explained in more detail.
https://elixir-lang.org/blog/categories.html#Cases – 2nd case study published on ElixirLang website features Nerves and farm.bot
https://hex.pm/packages/site_encrypt – site_encrypt implements the Let’s Encrypt protocol for your Phoenix applications
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://dockyard.com/
https://github.com/elixir-ecto/ecto/pull/3370 – ParameterizedType & Ecto.Enum
https://github.com/elixir-ecto/ecto/pull/3385 – “redact” support
https://github.com/elixir-ecto/ecto/blob/master/CHANGELOG.md – Ecto changelog showing 3.5 release changes
Mike’s tips on contributing to an open source project
https://knowyourmeme.com/memes/hunter2 – Understanding the “hunter2” reference
https://github.com/TheFirstAvenger/kinext – XBOX 360 Kinect with LiveView integration - what will you do with it?
Guest Information
https://twitter.com/1stAvenger – on Twitter
https://github.com/thefirstavenger/ – on Github
https://dockyard.com/blog/authors/mike-binns – Mike's blog posts
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 25, 2020 • 35min
10: Frontend vs Backend and Business Value of LiveView
News and discussion about why the talk of “Frontend vs Backend” is wrong, Single Page Apps, seeing the business value of LiveView, and much more!
Show Notes online - http://podcast.thinkingelixir.com/10
Elixir Community News
https://elixirforum.com/t/nerves-raspberry-pi-systems-v2-0-0-release-candidates/33446 – Nerves Raspberry Pi Systems v2.0.0 release candidates
https://twitter.com/1stavenger/status/1294325758601592832 – Ecto schema "redact"
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.fullstackradio.com/episodes/143
https://twitter.com/Rich_Harris
https://svelte.dev/
https://macwright.com/2020/05/10/spa-fatigue.html
https://dev.to/richharris/in-defense-of-the-modern-web-2nia
https://ace.c9.io/ – Ace Editor
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Aug 18, 2020 • 47min
9: Decomposing models with Maciej Kaszubowski
Decomposing models based on lifecycle with Maciej Kaszubowski. He shares tips on finding the lines, how DDD can help, ideas for modular designs, simple ways to start a PubSub architecture, avoiding “donkey code” and much more!
Show Notes online - http://podcast.thinkingelixir.com/9
Elixir Community News
https://twitter.com/hauleth/status/1292919509406363661
https://hex.pm/packages/magritte – Package that lets you place inserted arguments with the pipe operator
https://github.com/dashbitco/nimble_totp/ – Time-based One Time Password support library extracted from Bytepack.io project
https://dashbit.co/blog/introducing-nimble-totp
https://twitter.com/1stAvenger/status/1293163024484913155 – Ecto.Enum and ParameterizedType
https://github.com/elixir-ecto/ecto/pull/3370 – Ecto.Enum PR
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://mkaszubowski.com/2020/06/24/decomposing-models-lifecycle.html
https://mkaszubowski.com/2020/06/02/modular-software-design-benefits.html
https://mkaszubowski.com/2020/05/28/costs-of-modular-software-design.html
https://appunite.com/
https://mkaszubowski.com/2017/10/30/whats-wrong-with-global-user-module.html
https://github.com/aaronrenner/phx_gen_auth
https://www.youtube.com/watch?v=z4p4e9Uwn6I
https://einarwh.wordpress.com/2017/01/21/donkey-code/ – Donkey Code explanation
https://www.youtube.com/watch?v=d2Ddo8OV7ig
Guest Information
https://twitter.com/mkaszubowski94 – on Twitter
https://github.com/mkaszubowski/ – on Github
https://mkaszubowski.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 11, 2020 • 39min
8: Careers and Dev Environments
We discuss career development as programmers, how COVID may change things, our dev setups including editors, resources, asdf, docker, and much more!
Show Notes online - http://podcast.thinkingelixir.com/8
Elixir Community News
https://twitter.com/MarlusSaraiva/status/1290397379292790786 – ElixirSense and ElixirLS is going to gain insight for Ecto
https://twitter.com/josevalim/status/1290234452652654593 – Jose Valim talking about PlausibleHQ and analytics
https://twitter.com/PlausibleHQ
https://github.com/plausible/analytics
https://plausible.io/
https://www.eventbrite.co.uk/e/code-sync-recorded-talks-2020-tickets-114696301726 – ElixirConf EU conference videos are available for purchase
https://2020.elixirconf.com/ – ElixirConf US 2020 information on access to talks.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://nubank.com.br/en/
https://twitter.com/adolfont/status/1286306302088679426
https://building.nubank.com.br/welcoming-cognitect-nubank/
https://changelog.com/podcast/402
https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X
https://code.visualstudio.com/
https://www.vim.org/
https://github.com/elixir-lsp/elixir-ls
https://vim-adventures.com/
https://asdf-vm.com/ – Version manager for Elixir, Erlang, and much more
https://thinkingelixir.com/install-elixir-using-asdf/ – Get setup for Elixir development using ASDF
https://kitematic.com/
https://subvisual.com/blog/posts/vim-elixir-ide
https://thinkingelixir.com/elixir-in-vs-code/ – Setting up VS Code for Elixir development
https://thinkingelixir.com/vs-code-broken-for-elixir/ – Troubleshooting common setup issues
https://bernheisel.com/blog/vim-elixir-ls-plug/ – Setting up ElixirLS in Neovim
https://bernheisel.com/blog/vim-workflow/ – Vim workflow insights
https://www.reddit.com/r/emacs/comments/hvvx4w/emacs_makes_amending_configurations_simple/ – Overly messing with your setup
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward