

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

Jul 27, 2021 • 57min
57: Scaling Live Chat with Cade Ward
We sat down with co-host Cade Ward to hear how he and his team tackled a problem of hosting live web chats with crowds of 120K+ users coming together for live events. On the show, we have talked with a couple guests with similar bursting high-load situations. Cade had been through it too so it was time to dig in and cover how this situation can be solved. We cover the different attempts and temporary solutions used and the final solution that has been working really well. In fact it works so well, during a recent event, the auto-scaling didn’t kick in and everything was still fine!
Show Notes online - http://podcast.thinkingelixir.com/57
Elixir Community News
https://github.com/phoenixframework/phoenix/pull/4377 – Phoenix v1.6 will officially use esbuild!
https://twitter.com/sorentwo/status/1417462054114537476 – Parker Selbert identified the issue counts linked to JS packaging... ~30% of total issues!
https://twitter.com/mcrumm/status/1417141537541033985 – Phoenix View can now be used as a separate package
https://utils.zest.dev/gendiff – David's tool for diffing generated projects. Includes support for the different flags.
https://hexdocs.pm/k8s/changelog.html#1-0-0-2021-07-19 – The "k8s" library was updated and got a 1.0 release tag
https://pragprog.com/titles/lmelixir/testing-elixir/ – The Book "Testing Elixir" launched in Beta
https://twitter.com/remote/status/1414919265841557510 – Remote raises $150M and is using Elixir
https://github.com/livebook-dev/livebook/pull/418 – Livebook UX improvement to restart runtime when Mix.install packages changed
https://github.com/livebook-dev/livebook/pull/449 – Support for "branching sections" added to Livebook notebooks
https://github.com/wojtekmach/notebooks/blob/main/client_server.livemd – Wojtek Mach created a notebook using branching sections to create a client-server setup in a single notebook
https://github.com/livebook-dev/livebook/pull/441 – Livebook notebooks can link to each other
https://erlang.org/pipermail/erlang-questions/2021-July/101209.html – Frank Hunleth of the Nerves project encountered performance issue when shutting down a node. Interesting discussion with the OTP Team.
https://github.com/erlang/otp/pull/5032 – OTP PR opened for speeding up controlled shutdowns
https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.14 – Nerves 1.7.9 is out with minor updates to all systems and toolchain
https://nervesconf.com/ – Nerves Conf October 11 in Austin Texas, timed with ElixirConf
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://elixirforum.com/t/implementing-a-distributed-users-counter/39609 – Link to Cade's Elixir Forum post with discussion
https://gist.github.com/cadebward/c24fc4aced526d9d35bb00a6a8140784 – Gist of the Cade's working solution
https://www.vidangel.com/ – First incarnation of company before pivot
https://invest.angel.com/ – Angel Studios kickstarter like projects
https://elixirforum.com/
http://angel.com/apply – Angel Studios is hiring!
Guest Information
https://twitter.com/cadebward – on Twitter
https://github.com/cadebward/ – on Github
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jul 13, 2021 • 60min
56: Fly-ing Elixir Close to Users with Kurt Mackey
We talk with Kurt Mackey, founder at Fly.io, about what makes the Fly platform unique and why hosting Elixir applications there makes a lot of sense. They started out looking to make a better CDN for developers and this pushed them to try deploying Full Stack applications closer to users, not just the static assets! We learn about the tech behind the networking, how databases can be moved closer to users, and how LiveView is even more awesome when it is close to users. Kurt also shares what he sees as the future for databases as the industry continues to move into globally distributed applications.
Show Notes online - http://podcast.thinkingelixir.com/56
Elixir Community News
https://github.com/elixir-lang/elixir/pull/11101 – Task.completed/1 function added
https://github.com/elixir-lang/elixir/releases/tag/v1.12.2 – Elixir 1.12.2 minor release
https://github.com/phoenixframework/phoenix_live_view/pull/1511 – LV Lifecycle Hooks
https://github.com/phoenixframework/phoenix_live_view/pull/1515 – Add on_mount option to live_session
https://github.com/phoenixframework/phoenix_live_view/pull/1513 – New form_for/4
https://github.com/phoenixframework/phoenix/pull/4355 – Add mailer generator for swoosh
https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md – prom_ex library has 1.3.0 release adding Absinthe GraphQL plugin and dashboard
https://fly.io/blog/monitoring-your-fly-io-apps-with-prometheus/ – Using prom_ex on an Elixir project
https://github.com/wojtekmach/elixir-run – Wojtek Mach released a new project called "elixir-run"
https://github.com/nurturenature/elixir_actions#elixir-actions-for-github – Elixir Github Actions CI example repo
https://twitter.com/evadne/status/1412083538988613636 – Etso 0.1.6 was released adding "is_nil" query support
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://fly.io/
https://fly.io/docs/introduction/
https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/
https://www.compose.com/
https://twitter.com/QuinnyPig – Corey Quinn on Twitter
https://nats.io/
https://jamstack.org/
https://liveview-counter.fly.dev/
https://github.com/fly-apps/phoenix-liveview-cluster
https://en.wikipedia.org/wiki/Anycast
https://en.wikipedia.org/wiki/Border_Gateway_Protocol
https://en.wikipedia.org/wiki/Content_delivery_network
https://www.wireguard.com/
https://tailscale.com/
https://fly.io/blog/globally-distributed-postgres/
https://www.cockroachlabs.com/
https://www.yugabyte.com/
https://www.citusdata.com/
https://fly.io/blog/
https://twitter.com/flydotio
https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer)
Guest Information
https://twitter.com/mrkurt – on Twitter
https://github.com/mrkurt – on Github
https://fly.io/blog/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jul 6, 2021 • 37min
55: Learning from Failure with Philipp Schmieder
We talk with Philipp Schmieder about his experience creating a LiveView application for a political party’s convention and then watching the app blow up. We learn how he recovered, why it failed, and how he fixed it going forward. We also discuss some other application architecture ideas and how they might work. It’s a great post-mortem discussion where Philipp shares his wisdom so others learn from the mistakes. After experiencing all this, find out why he’s still bullish on LiveView and Elixir!
Show Notes online - http://podcast.thinkingelixir.com/55
Elixir Community News
https://www.elixirconf.eu/ – ElixirConfEU - Warsaw Poland, September 9-10
https://2021.elixirconf.com/ – ElixirConf US 2021 Austin, TX October 12-13 and Online, October 14-15.
https://www.codebeambr.com/ – Code Beam Brazil posted their videos from 2020
https://github.com/elixir-nx/livebook/pull/389 – Livebook gets "reactive inputs"
https://github.com/elixir-nx/livebook/pull/410 – Livebook gets input color selectors
https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd – Notebook explaining recon_trace by Kai Wern
https://twitter.com/ThinkingElixir – Tell us about your project, post, conference, or other Elixir news!
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://pentacent.com/blog/failing-big-elixir-liveview/
https://twitter.com/pentacent_hq/status/1399330035937464320
:observer.start
:crashdump_viewer.start
https://hexdocs.pm/phoenix_pubsub/Phoenix.Tracker.html
https://hex.pm/packages/etso
https://www.keila.io/ – MailChimp-like project extracted for helping with mailings
Guest Information
https://twitter.com/pentacent_hq – on Twitter
https://github.com/wmnnd/ – on Github
https://pentacent.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jun 29, 2021 • 54min
54: AST Parsing using Sourceror with Lucas San Román
We talk with Lucas San Román about his library Sourceror and how it was created to solve some AST parsing limitations. The Elixir parser discards code comments, so it can’t be used for re-writing Elixir code when refactoring. IDE’s often include more advanced refactoring tools and the ability to provide that requires a smarter parser. Sourceror keeps the comments while also providing advanced features like a Zipper API to more easily navigate around the source tree while inserting and removing nodes. Learn what Sourceror can do and what it can enable for future Elixir tools!
Show Notes online - http://podcast.thinkingelixir.com/54
Elixir Community News
https://www.elixirconf.eu/ – ElixirConfEU will be in Warsaw Poland on September 9-10
https://2021.elixirconf.com/ – ElixirConf US 2021 ElixirConf US 2021 is being held in Austin, TX October 12-13 and Online, October 14-15
https://github.com/phoenixframework/phoenix_live_view/pull/1490 – live_session for optimized live navigation purely over websockets PR was merged and had docs
https://github.com/livewire/livewire/commit/5cffdbfe4204e0d932cde6f8c9bdf63f0928b4d4#diff-7ce6ac695f53fd2e2c50f1f962b00fb2da5cdf2576a1c1d6eeacca29f34b6024R291 – Alpine V3 released
https://twitter.com/bernheisel/status/1404832454536478722 – Need to update your Phoenix LiveView hook for Alpine V3
https://github.com/erlang/otp/pull/4869 – ARM support for OTP24/JIT was merged a couple weeks ago
https://twitter.com/josevalim/status/1405586165315604486 – Livebook 0.2 released
https://youtu.be/MOTEgF-wIEI?t=1132 – Jose Valim's demo video - time signature to the Kino section
https://twitter.com/josevalim/status/1407084358750572548 – Tweet thread showing Kino data_table and execution timing display
https://github.com/kentaro/off_broadway_otp_distribution – off_broadway_otp_distribution library
https://twitter.com/gleamlang/status/1405504902655361024 – Gleam 0.16 released and can now compile to Javascript
https://gleam.run/news/v0.16-gleam-compiles-to-javascript/ – Gleam release announcement
https://github.com/phoenixframework/phoenix/pull/4337 – Asset Pipeline rewrite merged
https://youtu.be/vdhK0QPN61E?t=839 – Elixir Roundtable 3 discussion talks about the JS woes. Time signature links to the mentioned part of the discussion.
https://twitter.com/MarlusSaraiva/status/1405621630597013508 – Surface 0.5 released
https://surface-ui.org/template_syntax – Surface's new template syntax
https://github.com/surface-ui/surface/blob/master/MIGRATING.md – Surface migration guide
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/doorgan/sourceror
https://twitter.com/bostonvaulter/status/1403055559612375041
https://www.youtube.com/watch?v=aM0BLWgr0g4 – Arjan Scherpenisse - The Elixir parser under the microscope - ElixirConfEU
https://groups.google.com/u/1/g/elixir-lang-core/c/GM0yM5Su1Zc/m/poIKsiEVDQAJ
https://github.com/elixir-lsp/elixir-ls
https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/
https://github.com/andyl/rfx
Tonći Galić
Guest Information
https://twitter.com/dorgandash1 – on Twitter
https://github.com/doorgan/ – on Github
https://dorgan.netlify.app/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jun 22, 2021 • 36min
53: SOLID Elixir with Ilya Averyanov
We talk with Ilya Averyanov about how the SOLID principles, typically associated with OOP, can apply to Elixir. We talk about Ilya's blog post where he applied these principles to his Github project and how that helped in PR discussions. We also talk about testing, architecture, and more.
Show Notes online - http://podcast.thinkingelixir.com/53
Elixir Community News
https://github.com/phoenixframework/phoenix_live_view/pull/1490 – Phoenix LiveView live_session PR coming up
https://github.com/phoenixframework/phoenix_live_view/pull/1474 – Phoenix LiveView internal rewrite of JS
https://github.com/phoenixframework/phoenix/pull/4337 (related, where explanation lives) – PR for "comprehensive rewrite of the Phoenix asset pipeline"
https://www.youtube.com/watch?v=vdhK0QPN61E – Elixir Roundtable 3 - discussion with Chris McCord about the pipeline changes
https://elixirforum.com/t/elixir-gotchas-and-common-issues-wiki/40261 – Elixir Gotchas and Common Issues Wiki
https://twitter.com/FrancisChabouis/status/1404342105053466627 – French Government is using Elixir and Phoenix
https://github.com/etalab/transport-site – French government project
https://twitter.com/hmans/status/1402723032850997257 – WebComponents and LiveView example as 3D WebGL
https://twitter.com/PeterLodewijk/status/1404462934030487553 – Hera Platform announced, sensor network running Erlang on GRiSP boards
https://www.info.ucl.ac.be/~pvr/Kalbusch_22701600_Verpoten_61101500_2021.pdf – Details in the paper on how it works
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://dev.to/savonarola/why-solid-may-be-useful-for-you-in-elixir-58me
https://en.wikipedia.org/wiki/SOLID
https://hexdocs.pm/gen_stage/GenStage.html#module-usage-guidelines
https://www.theerlangelist.com/article/spawn_or_not
http://erlang.org/doc/man/xref.html
https://github.com/sasa1977/boundary
https://github.com/funbox/clean_mixer
https://github.com/funbox/smppex
https://github.com/savonarola/smppex_telemetry
https://github.com/beam-telemetry/telemetry
https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html
http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/
https://gameprogrammingpatterns.com/
http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/
https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164 – Clean Architecture
https://www.archunit.org/ – Testing architecture
Guest Information
https://twitter.com/motonarola – on Twitter
https://github.com/savonarola/ – on Github
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jun 15, 2021 • 50min
52: IOList and Postgres with Nathan Long
We take a deeper dive with Nathan Long into IOLists in Elixir. We cover what they are, how they work, the power they have when concatenating strings, and how they are used in Phoenix and Logger. We even talk about improper lists and why they exist. And no, it isn’t a bug. We then talk about PostgreSQL features like materialized views, triggers, and using denormalized tables for solving complicated caching situations. Nathan shares some tips for when to use them and provides some cautions worth hearing.
Show Notes online - http://podcast.thinkingelixir.com/52
Elixir Community News
https://2021.elixirconf.com/ – ElixirConf US 2021 ElixirConf US 2021 scheduled for October
https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla/ – New Elixir Case study about Mozilla using Phoenix to create an opensource virtual social space called "Hubs"
https://ziglang.org/ – Zig, the language some use to create NIFs was updated for Apple Silicon.
https://github.com/ityonemo/zigler – The Elixir library for working with embedded Zig code
https://twitter.com/sean_moriarity/status/1401182959844143104 – Training Callback feature added to Axon
https://github.com/elixir-nx/livebook/pull/328 – Livebook gets a new "inputs" feature
https://thinkingelixir.com/podcast-episodes/046-livebook-with-jonatan-klosko/ – Previous discussion with Livebook developer Jonatan Kłosko
https://twitter.com/michalslaski/status/1402243589720117255 – Livebook notebook example shows a scatterplot displaying BEAM statistics like reductions and memory of processes
https://www.mitchellhanberg.com/how-i-handle-static-assets-in-my-phoenix-apps/ – Ditch webpack? Handling static assets with Phoenix and esbuild, postcss-cli, cpx
https://www.mitchellhanberg.com/how-to-set-up-neovim-for-elixir-development/ – Followup from last week's news item about Neovim, Language Server integration
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://nathanmlong.com/2021/05/what-is-an-iolist/
https://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/ – Discussion on IOLists in Phoenix
https://nathanmlong.com/2016/11/elixir-and-unicode-part-1-unicode-and-utf8-explained/ – Unicode background part 1
https://nathanmlong.com/2016/11/elixir-and-unicode-part-2-working-with-unicode-strings/ – Unicode background part 2
https://devchat.tv/elixir-mix/emx-078-phoenix-phrenzy-with-nathan-long/ – Mark talked with Nathan back on Elixir Mix 78 about his work on the Phoenix Phrenzy competition/project
https://thinkingelixir.com/podcast-episodes/044-elixir-data-types-with-sasha-fonseca/ – Episode 44 with Sasha Fonseca covered IOLists
https://www.youtube.com/watch?v=uf6cgxm9iFQ – Dockyard Elixir Roundtable
https://nathanmlong.com/2016/01/protect-your-data-with-postgresql-constraints/
https://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/
https://hashrocket.com/blog/posts/materialized-view-strategies-using-postgresql#eager-materialized-view
Guest Information
https://github.com/nathanl/ – on Github
https://nathanmlong.com/blog/ – Blog
https://dockyard.com/blog/authors/nathan-long – Dockyard Blog Posts
Email - hello@nathanmlong.com
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jun 8, 2021 • 41min
51: Live Auctions with Alex Loukissas
We talk with Alex Loukissas about using Phoenix sockets to provide live auction systems. We comment on the situation of flash-mob-like users coming to a system and needing to handle high traffic volumes for shorter durations. We talk about how the Horde library helps solve fun distributed clustering problems, we cover observability tools, how and why companies should support open source development through sponsorships and more!
Show Notes online - http://podcast.thinkingelixir.com/51
Elixir Community News
https://github.com/elixir-lang/elixir/releases/tag/v1.12.1 – Elixir 1.12.1 released. Small set of bug fixes.
https://github.com/ananthakumaran/tree-sitter-elixir – New tree-sitter Elixir parser. Used in Atom, Neovim and Emacs
https://github.blog/2018-10-31-atoms-new-parsing-system/
https://github.com/ubolonton/emacs-tree-sitter
https://github.com/nvim-treesitter
https://fly.io/blog/livebook-for-app-documentation/ – Mark's Fly.io blog post on using Livebook as a project documentation tool
https://twitter.com/josevalim/status/1399733953217679367 – Jose Valim teases new Livebook feature with this graphic
https://github.com/wojtekmach/mix_install_examples – Wojtek Mach created a repo showing example usages of Mix.install.
https://twitter.com/thebroken_link/status/1399713273340207109 – Support for "curl url | sh" style scripts using Elixir
https://twitter.com/elixirlang/status/1399714176667471878 – Stack Overflow survey is out and both Erlang/Elixir are on the menu.
https://stackoverflow.blog/2021/05/25/the-2021-developer-survey-is-now-open/
https://stackoverflow.az1.qualtrics.com/jfe/form/SV_7arimtzVFf8ipfM
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
http://whatnot.com
https://www.splunk.com/
https://reactnative.dev/
https://kotlinlang.org/
https://swift.org/
https://goshippo.com/
https://github.com/derekkraan/horde
https://fly.io/
https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/
https://newrelic.com/
https://www.erlang-solutions.com/capabilities/wombatoam/
https://www.honeycomb.io/
https://jobs.lever.co/whatnot/
Guest Information
https://twitter.com/aloukissas – on Twitter
https://github.com/aloukissas – on Github
https://alexloukissas.com – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

Jun 1, 2021 • 54min
50: Exercism.io and Elixir with Angelika Tyborska
We talk with Angelika Tyborska about the history of exercism.io, her involvement, the issues addressed in v2 and what's new and cool in the soon to be released v3. We cover the Elixir track, her work as a maintainer, the journey of a student and how people can help as mentors. We also hear about the "fun" she had creating a maze generator and more!
Show Notes online - http://podcast.thinkingelixir.com/50
Elixir Community News
https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/ – Elixir 1.12 was released!
https://thinkingelixir.com/elixir-1-12-and-your-first-mix-install-script/ – Mix.install/2 intro post with example. Setup Elixir 1.12 through asdf
https://twitter.com/hauleth/status/1394575966463315970 – Global logger metadata as part of OTP 24
https://angelika.me/elixir-enum-cheatsheet – Angelika Tyborska updated her nice Enum visual cheatsheet
https://github.com/elixir-lang/elixir/pull/10637 – Registry module supports the :compressed option
https://twitter.com/dashbit/status/1395138662850048003 – Livebook is on Hex.pm using mix escript.install hex livebook
https://erlef.org/blog/machine-learning/machine-learning-updates-may-2021 – The Machine Learning group in the EEF outlines their progress
https://github.com/erlang/otp/pull/4869 – Erlang JIT is coming to AArch64 platforms such as Apple's new M1-based Macs
https://github.com/elixir-nx/livebook/pull/287 – Livebook gets support for graphing through VegaLite
https://vega.github.io/vega-lite/
https://smartlogic.io/about/community/elixir-wizards-conference/ – SmartLogic/Elixir Wizards is hosting an Elixir conference!
https://twitter.com/chris_mccord/status/1396600570614632451 – Chris McCord's script to simulate poor network for websocket connections on osx
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://exercism.io/
https://exercism.io/tracks/elixir
https://steadyhq.com/en
https://steadyhq.com/en/product
https://exercism.io/about
https://adventofcode.com/
https://www.youtube.com/watch?v=GWEEPt8VvmU
http://www.mazesforprogrammers.com/
https://github.com/angelikatyborska/mazes
https://angelika.me/elixir-enum-cheatsheet/
https://github.com/angelikatyborska/vnu-elixir
https://github.com/neenjaw/ – Other Elixir track maintainer - Tim Austin
https://angelika.me/
https://mazes.angelika.me/ – Cool LiveView maze generator
Guest Information
https://twitter.com/atyborska93 – on Twitter
https://github.com/angelikatyborska/ – on Github
https://angelika.me/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward

May 25, 2021 • 45min
49: Pushing for Modularity with Maciej Kaszubowski
Maciej Kaszubowski returns to talk about how read models can help modularize our systems. There is a focus on background job systems and how they fit in our modular designs. We cover push vs pull based systems and which is more maintainable. Maciej also shares his approach to learning and understanding a new Elixir library and more!
Show Notes online - http://podcast.thinkingelixir.com/49
Elixir Community News
https://www.erlang.org/news/148 – OTP 24 was released!
https://blog.erlang.org/My-OTP-24-Highlights/ – Lukas Larsson's blog post covers the highlights
https://github.com/erlang/otp/issues/4821#issuecomment-840051976 – OTP 24 minor release pains - crypto OpenSSL lib change affects people on MacOS
https://github.com/asdf-vm/asdf-erlang/wiki – David's contribution to supporting the wxWidgets webview
https://twitter.com/fhunleth/status/1392843846183174149 – Livebook support on Nerves is improved
https://github.com/fhunleth/nerves_livebook – Lets you try out the Nerves projects on real hardware without needing to build anything. Includes tutorials.
https://github.com/elixir-lang/elixir/issues/10983 – Allow tests to be compiled in ExUnit
https://github.com/elixir-nx/nx/pull/390 – Nx gets while loops
https://github.com/elixir-nx/nx/pull/406 – Nx gets maps support
https://github.com/phoenixframework/phoenix_live_view/pull/1440 – HEEx engine merged into Phoenix LiveView
https://dashbit.co/blog/surface-liveview – Dashbit blog covering Surface and HEEX engine
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://mkaszubowski.com/2021/03/27/modular-design-read-models-background-jobs.html
https://thinkingelixir.com/podcast-episodes/009-decomposing-models-with-maciej-kaszubowski – Previous interview with Maciej
https://www.joinblvd.com/
https://www.cqrs.nu/tutorial/cs/03-read-models
https://github.com/sorentwo/oban
https://github.com/commanded/commanded
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

May 18, 2021 • 37min
48: Ecto Associations with Sheharyar Naseer
We talk with Sheharyar Naseer about Ecto's feature "association defaults" and how they work. We learn how they even support defining a function that gets called during your changeset operations which can be used to ensure multi-tenancy IDs get populated correctly. We learn more about Slab, talk about Single Table Inheritance designs and how we feel about them. We also talk about wrapping the Repo module for fun and profit!
Show Notes online - http://podcast.thinkingelixir.com/48
Elixir Community News
https://blog.taxjar.com/taxjar-will-be-joining-stripe-to-help-build-the-worlds-tax-compliance-infrastructure/ – TaxJar, an Elixir-backed service, was acquired by Stripe
https://twitter.com/collision/status/1387108960881111040 – Potentially the largest acquisition of a fully-remote company to-date
https://twitter.com/garazdawi/status/1390303999484514314 – OTP team shared that OTP 21 (older) received it's last patch and will no longer be supported.
https://twitter.com/MNishiguchiDC/status/1390658051267563520 – Example of using Livebook on Nerves to experiment, document, and control a BMP280 temperature sensor connected to a Raspberry Pi
https://twitter.com/josevalim/status/1390944763139006464 – Jose Valim was on the Changelog podcast talking about Nx, Axon, Livebook and Machine Learning with Elixir
https://thinkingelixir.com/podcast-episodes/034-jose-valim-reveals-project-nx/ – Our previous discussion with Jose when he revealed Nx publicly
https://github.com/elixir-nx/livebook/pull/260 – Livebook got collaborative editing with user-specific cursors (similar to Google Docs)
https://alchemyconf.com – AlchemyConf is a virtual conference happening on May 28th organized by Subvisual
https://www.elixirconf.eu/ – ElixirConfEU hosting a "hybrid" conference event. Sept 9-10th in Warsaw and also on-line
https://en.wikipedia.org/wiki/Proof_of_stake – Feedback on crypto currency environmental concerns. Check out Proof-of-Stake as a more environmentally friendly approach than Proof-of-Work.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://slab.com/blog/association-defaults-in-ecto/
https://slab.com/
https://www.notion.so/product
https://www.atlassian.com/software/confluence
https://en.wikipedia.org/wiki/Single_Table_Inheritance
https://hexdocs.pm/ecto/Ecto.Repo.html#c:prepare_query/3
https://hexdocs.pm/ecto/Ecto.Repo.html#c:exists?/2
https://the.slab.com/public/topics/careers-at-slab-4vhprcwg – Slab is hiring!
Guest Information
https://twitter.com/sheharyarn – on Twitter
https://github.com/sheharyarn – on Github
https://shyr.io/ – Blog
hello@sheharyar.me
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward