105 episodes

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!

Thinking Elixir Podcast ThinkingElixir.com

    • Education
    • 5.0 • 21 Ratings

The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.
Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more.
Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process.
Subscribe to join us on this journey!

    105: Plausible Analytics, Elixir, and Privacy with Uku Taht

    105: Plausible Analytics, Elixir, and Privacy with Uku Taht

    We learn about Plausible Analytics, a privacy respecting alternative to Google Analytics that is cloud or self-hostable, OpenSource and written in Elixir! Uku Taht shares how he founded the company, the mission he is on, and what he prioritizes. The company practices a “transparent by default” approach. This means they share a lot about what’s going on, this includes how they recently reached $1m ARR, some of their growing pains, and dealing with the weight of being “the one who has to fix things.” We end with a candid discussion about wellness in our profession and how when we are too close to the problems, we become blind to our own successes. A great, transparent conversation with Uku!


    Show Notes online - http://podcast.thinkingelixir.com/105


    Elixir Community News



    https://2022.elixirconf.com/ – ElixirConf 2022 - Aug 30 - Sep 2 in Denver, CO. Call for proposals due July 2nd
    https://2022.elixirconf.com/registration – Early bird tickets are on sale
    https://twitter.com/CodeBEAMio/status/1537502784790085634 – CodeBEAM America (November) is accepting training ideas for their upcoming conference.
    https://hexdocs.pm/req/changelog.html#v0-3-0 – Req v0.3 released with a new API
    https://hexdocs.pm/req/changelog.html#plugins – List of available Req plugins - req_easyhtml, req_s3, req_hex, req_github_oauth
    https://twitter.com/sean_moriarity/status/1537405584710029313 – Sean Moriarity shared a major milestone! The public release of Axon and AxonONNX.
    https://podcast.thinkingelixir.com/102 – Recent interview with Sean Moriarity about this work.
    https://twitter.com/elixirweekly/status/1538082201212006400 – IntelliJ IDE gets updated Elixir plugin, v13.1.0
    https://twitter.com/whatyouhide/status/1538908870743101440 – NimbleLZ4, for performing LZ4 lossless compression, released with the help of Rustler Precompiled


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://github.com/plausible/analytics
    https://twitter.com/PlausibleHQ/status/1532265765042376704
    https://plausible.io/about
    http://elixirkoans.io/
    https://www.youtube.com/watch?v=6U7cLUygMeI
    https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal
    https://clickhouse.com/
    https://en.wikipedia.org/wiki/Online_analytical_processing
    https://github.com/plausible/clickhouse_ecto
    https://plausible.io/blog/you-probably-dont-need-a-single-page-app
    https://twitter.com/PlausibleHQ/status/1532265765042376704 – Announced they reached a revenue milestone


    Guest Information



    https://twitter.com/ukutaht – Uku on Twitter
    https://twitter.com/PlausibleHQ – Plausible HQ on Twitter
    https://fosstodon.org/@plausible – Mastodon
    https://github.com/ukutaht/ – Uku on Github
    https://github.com/plausible – Plausible on Github
    https://plausible.io/blog – Plausible Blog


    Find us online



    Message the show - @ThinkingElixir
    Email the show - show@thinkingelixir.com
    Mark Ericksen - @brainlid
    David Bernheisel - @bernheisel
    Cade Ward - @cadebward
    Sponsored By:
    Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

    • 55 min
    104: Exploring Our Data with Chris Grainger

    104: Exploring Our Data with Chris Grainger

    Chris Grainger explains Explorer, Nx's recent addition. It's a “Data Frame” library which sounds far more nebulous than it is. It lets us explore and manipulate two-dimensional data like we already do with DB tables, spreadsheets, CSV files, etc. Only this works in memory, is faster, and has predefined functions that make it very powerful. Explorer fills an important slot in the overall pie for data science and ML in Elixir. However, Explorer is also one of the tools that “regular” Elixir devs can take advantage of today!


    Show Notes online - http://podcast.thinkingelixir.com/104


    Elixir Community News



    https://twitter.com/josevalim/status/1535008937640181760 – At ElixirConf EU, José Valim announced there is an ongoing PhD scholarship for researching and developing a type system for Elixir that is powered by set-theoretic types.
    https://www.irif.fr/~gc/ – Giuseppe Castagna's Home Page. Senior Research Scientist
    https://arxiv.org/abs/2111.03354 – Programming with union, intersection, and negation types
    https://twitter.com/fhunleth/status/1534826558774464512
    https://podcast.thinkingelixir.com/72 – Typecheck interview
    https://github.com/ergo-services/ergo – We learned of a Golang library called “ergo” that is an “actor based Framework for creating microservices using technologies and design patterns of Erlang/OTP in Golang”
    https://twitter.com/erlangforums/status/1534822378722713601 – Patch Package OTP 25.0.1 Released
    https://erlangforums.com/t/patch-package-otp-25-0-1-released/1526 – Minor bug fixes. Zlib updated
    https://flowbite.com/docs/getting-started/introduction/ – More free alternative to TailwindUI
    https://github.com/tailwindlabs/tailwindcss/releases/tag/v3.1.2 – tailwindcss CLI v3.1.2 released which includes postcss-import into the CLI bundle
    https://twitter.com/adamwathan/status/1535989815778463746 – Adam Wathan, the Tailwind CSS guy, had a fun quote that we liked.
    “Open source is “right to repair” for software — nothing more, nothing less. Maintain that attitude and any frustration or entitlement you feel will be replaced with gratitude. Better for maintainers, and better for you.”


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://github.com/elixir-nx/explorer
    https://hexdocs.pm/explorer/Explorer.html
    https://hexdocs.pm/explorer/Explorer.DataFrame.html
    https://hexdocs.pm/explorer/Explorer.Series.html
    https://twitter.com/cigrainger/status/1518896955921154048 – Tweet about using Rustler and Rustler Precompiled
    https://hexdocs.pm/explorer/exploring_explorer.html – Includes a “Ten Minutes to Explorer” Livebook guide in the docs to walk you through setup to getting started with a good overview.
    https://www.cigrainger.com/posts/introducing-explorer/
    https://databricks.com/glossary/what-are-dataframes
    https://pandas.pydata.org/docs/user_guide/dsintro.html
    https://dataframes.juliadata.org/stable/
    https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html
    https://github.com/dashbitco/table
    https://huggingface.co/
    https://www.amplified.ai/ – Chris' company
    https://pandas.pydata.org/
    https://en.wikipedia.org/wiki/Extract%2C_transform%2C_load
    https://github.com/tyrchen/ex_polars – Library that got him started with Rust, Rustler and working with polars
    https://hexdocs.pm/rustler_precompiled/RustlerPrecompiled.html
    https://github.com/philss/rustler_precompiled
    https://huggingface.co/docs/transformers/main_classes/tokenizer
    https://github.com/elixir-nx/tokenizers
    https://docs.rs/crate/polars/0.22.0
    https://github.com/pola-rs/polars
    https://parquet.apache.org/
    https://avro.apache.org/
    https://arrow.apache.org/overview/
    https://vega.github.io/vega-lite/
    https://www.rdocumentation.org/packages/dplyr/


    Guest Information



    https://twitter.com/cigrainger – on Twitter
    https://github.com/cigrainger/ – on Github
    https://cigrainger.com – Blog


    Find us online



    Message th

    • 48 min
    103: Vaxine.io and CRDT DBs with James Arthur

    103: Vaxine.io and CRDT DBs with James Arthur

    James Arthur shares his project Vaxine.io, an Elixir layer built on top of a CRDT based distributed Erlang database called Antidote DB. We cover what CRDTs are and introduce how they work. We learn more about Antidote DB, the CURE protocol and especially the Vaxine.io project that adds Ecto types and makes it more approachable to Elixir applications. As applications become more global, the need for strongly consistent distributed writes becomes much more important.


    Show Notes online - http://podcast.thinkingelixir.com/103


    Elixir Community News



    https://www.elixirconf.eu/talks/typecheck-effortless-runtime-type-checking/ – Marten shared an update on the TypeCheck project from ElixirConf.EU (June 9-10)
    https://podcast.thinkingelixir.com/72 – Episode with Martin about TypeCheck
    https://twitter.com/elixirphoenix/status/1532707770415325185
    https://twitter.com/wojtekmach/status/1532662628077785088 – Screenshot showing the single-file LiveView page
    https://github.com/wojtekmach/mix_install_examples/blob/main/phoenix_live_view.exs
    [Mix Install Examples - Phoenix LiveView app in ~70 LOC](Mix Install Examples - Phoenix LiveView app in ~70 LOC)
    https://twitter.com/polvalente/status/1532439823964946432 – New Nx library called nx-signal was shared by the author, Paulo Valente
    https://github.com/polvalente/nx-signal
    https://twitter.com/josevalim/status/1533136904736198656 – José's cryptic tweet about Torchvision, ONNX, and a LiveView app
    https://pytorch.org/vision/stable/index.html – Torchvision docs
    https://onnx.ai/ – ONNX a format for transporting trained machine learning models
    https://github.com/thehaigo/live_onnx – LiveOnnx project that combines the previous things with Axon and LiveView
    https://github.com/oestrich/aino – Aino released 0.5
    https://twitter.com/ericoestrich/status/1533995968793919488 – Eric explained v0.5 Aino changes
    https://twitter.com/josevalim/status/1533907809942880261 – José Valim tweeted a new graphic, teasing something new in Nx land.
    https://twitter.com/josevalim/status/1534120503182602240 – José mentioned that there are 3 major announcements this month starting at ElixirConfEU. Stay tuned!


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://vaxine.io – Vaxine.io website
    https://antidotedb.eu – Antidote DB website
    https://crdt.tech – CRDT information website
    https://vaxine.io/tech/how-it-works
    https://github.com/vaxine-io
    https://github.com/AntidoteDB/antidote – Erlang project by a different group "A planet scale, highly available, transactional database built on CRDT technology"
    https://www.antidotedb.eu/
    https://github.com/vaxine-io/vaxine
    https://github.com/vaxine-io/vax – Data access library and Ecto integration
    https://github.com/vaxine-io/examples – Example and demo apps
    https://www.foundationdb.org/
    https://riak.com/index.html
    https://www.cockroachlabs.com/
    https://en.wikipedia.org/wiki/CockroachDB
    https://supabase.com/
    https://lunar.vc/


    Guest Information



    https://twitter.com/VaxineIO – Vaxine.io on Twitter
    https://github.com/vaxine-io/ – Vaxine Github Organization
    https://vaxine.io – Vaxine.io website
    https://vaxine.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
    Sponsored By:
    Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

    • 54 min
    102: Machine Learning in Elixir with Sean Moriarity

    102: Machine Learning in Elixir with Sean Moriarity

    Sean Moriarity, the author of Genetic Algorithms in Elixir, lays out Machine Learning in the Elixir space. We talk about where it is today and where it's going in the future. Sean talks more about his book, how that led to working with José Valim which then led to the creation of Nx. He fills us in on recent ML events with Google and Facebook and shows us how Elixir fits into the bigger picture. It's a fast developing area and Sean helps us follow the important points even if we aren't doing ML ourselves… because our teams may still need it.


    Show Notes online - http://podcast.thinkingelixir.com/102


    Elixir Community News



    https://github.com/phoenixframework/phoenix_live_view/blob/v0.17.10/CHANGELOG.md – Phoenix LiveView gets a minor release v0.17.10 with formatting improvements
    https://www.rakeroutes.com/2022/05/18/let-s-write-an-elixir-livebook-smart-cell – Creating custom Livebook Smart Cells
    https://twitter.com/evadne/status/1527651328188723209 – Etso was updated to work with the latest Ecto
    https://github.com/evadne/etso – Etso library


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ – Genetic Algorithms in Elixir
    https://github.com/elixir-nx/nx – Numerical Elixir (Nx)
    https://github.com/elixir-nx/axon – Nx-powered Neural Networks for Elixir.
    https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ – Book - Genetic Algorithms in Elixir
    https://scala-lang.org/
    https://www.quora.com/
    https://pragprog.com/titles/elixir16/programming-elixir-1-6/
    https://pragprog.com/titles/phoenix14/programming-phoenix-1-4/
    https://www.linkedin.com/in/briancardarella/
    https://dockyard.com/
    https://dockyard.com/blog/authors/sean-moriarity – Sean's blog posts on Dockyard blog
    https://numpy.org/
    https://llvm.org/
    https://en.wikipedia.org/wiki/Softmax_function
    https://en.wikipedia.org/wiki/Natural_language_processing
    https://xkcd.com/1897/ – XKCD comic
    https://www.image-net.org/
    https://www.deeplearningbook.org/
    https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html
    https://erlef.org/wg/machine-learning – Erlang Eco-system foundation machine working group


    Guest Information



    https://twitter.com/sean_moriarity – on Twitter
    https://github.com/seanmor5/ – on Github
    https://seanmoriarity.com – Blog


    Find us online



    Message the show - @ThinkingElixir
    Email the show - show@thinkingelixir.com
    Mark Ericksen - @brainlid
    David Bernheisel - @bernheisel
    Cade Ward - @cadebward
    Sponsored By:
    Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

    • 42 min
    101: Replicating SQLite using Litestream with Ben Johnson

    101: Replicating SQLite using Litestream with Ben Johnson

    Ben Johnson explains his project Litestream.io, an OpenSource tool that replicates SQLite databases to remote servers and to backup locations like S3 for durability. We talk about how moving data out to the user creates true edge applications. We discuss what types of problems this helps solve, the architectures that become possible, and how a globally distributed Phoenix application could use this. He shares how Fly.io acquired the project and brought him on full-time to continue his work on it. Fascinating discussion that challenges many of the assumptions about how we've been building “web” systems for years.


    Show Notes online - http://podcast.thinkingelixir.com/101


    Elixir Community News



    https://www.erlang.org/blog/my-otp-25-highlights/ – OTP 25 was officially released
    https://www.erlang.org/eeps/eep-0049 – EEP document discussing the “maybe” expression
    https://www.erlang.org/doc/reference_manual/expressions.html#maybe – Official docs for “maybe” feature
    https://www.erlang.org/blog/faster-rand/ – A new fast Pseudo Random Generator
    https://jobs.ericsson.com/job/Stockholm-Open-SourceErlang-Developer-Stoc/746811902/ – Ericsson, the company behind Erlang, is hiring for an OpenSource developer to join the Erlang team.
    https://www.bbc.com/news/business-61562651 – Klarna layoffs
    https://hexdocs.pm/elixir/main/PartitionSupervisor.html – PartitionManager feature coming in Elixir v1.14 has docs online so you can learn about it early.
    https://twitter.com/DNAutics/status/1528434291872505856 – Isaac Yonemoto made the JavaScript engine in Zig accessible through Zigler and therefore Elixir
    https://podcast.thinkingelixir.com/98 – Follow-up from episode 98 with Dominic Letz about writing an Elixir application that runs on mobile devices and can be installed from the iOS AppStore.
    https://ionicframework.com/
    https://twitter.com/ElixirConf/status/1526654041626923008 – ElixirConf 2022 in Colorado - CFP is open
    https://2022.elixirconf.com/speaker-cfp – Where to submit your talk proposal
    https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10
    https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://litestream.io/
    https://fly.io/blog/all-in-on-sqlite-litestream/
    https://github.com/benbjohnson/litestream – Project on Github
    https://sqlite.org/index.html
    https://sqlite.org/whentouse.html – SQLite guide on "when to use" it
    https://github.com/elixir-sqlite/ecto_sqlite3
    https://github.com/boltdb/bolt
    https://en.wikipedia.org/wiki/Write-ahead_logging
    https://raft.github.io/
    https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
    https://litestream.io/tips/ – Page covers tips
    https://www.kernel.org/doc/html/latest/filesystems/fuse.html – Understanding what a FUSE filesystem is


    Guest Information



    https://twitter.com/benbjohnson – on Twitter
    https://github.com/benbjohnson/ – on Github
    https://github.com/benbjohnson/litestream – Project on Github


    Find us online



    Message the show - @ThinkingElixir
    Email the show - show@thinkingelixir.com
    Mark Ericksen - @brainlid
    David Bernheisel - @bernheisel
    Cade Ward - @cadebward
    Sponsored By:
    Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

    • 1 hr 2 min
    100: 10 Years of Elixir with José Valim

    100: 10 Years of Elixir with José Valim

    Our 100th episode is spent with José Valim celebrating 10 years of Elixir. We close out our 5-part series talking about the recent 1.13 release, the upcoming 1.14 release and looking into the future and v2.0. We learn that many features were created with Nx in mind but are still broadly helpful to Elixir developers. José gives a 1-minute explanation of how ex_unit works, explains what usually makes it into a point release, and how adding stepped ranges meant changes to many Enum functions and so much more! In addition to Elixir, we talk about his journey with Dashbit and we end up learning how the song "The Final Countdown" by Europe might actually be teaching functional programming and recursion?? A super packed episode!


    Show Notes online - http://podcast.thinkingelixir.com/100


    Elixir Community News



    https://news.livebook.dev/v0.6-automate-and-learn-with-smart-cells-mxJJe – Livebook v0.6 released with new "Smart Cells"
    https://twitter.com/josevalim/status/1524761086880276482 – Livebook Twitter thread
    https://www.youtube.com/watch?v=4hVIxyHxwK8 – Livebook announcement and demonstration video
    https://youtu.be/4hVIxyHxwK8?t=409 – Time signature for talking about making custom Smart Cells
    https://github.com/livebook-dev/nerves_livebook – Nerves Livebook v0.6 was also released
    https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/ – Stack Overflow - 2022 Developer Survey is open until June 1st.
    https://meta.stackoverflow.com/questions/417991/take-the-2022-developer-survey – More information about the survey
    https://twitter.com/DNAutics/status/1526358294016794624 – Zig adds the ability to execute Javascript from Zig
    https://github.com/wojtekmach/req – Wojtek Mach is working on Req and is adding some pretty cool features
    https://github.com/wojtekmach/req_easyhtml
    https://github.com/wojtekmach/req_hex
    https://twitter.com/wojtekmach/status/1525226000283467776 – Wojtek teasing a new Req feature
    https://twitter.com/wojtekmach/status/1525972732680232960 – Wojtek teasing another new Req feature
    https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7 – Empex MTN presentation videos are up!
    https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10
    https://elixirconf.com/events – ElixirConf US in Colorado on August 30 - Sep 2


    Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com


    Discussion Resources



    https://podcast.thinkingelixir.com/82 – Reviewing Elixir with José Valim - Part 1
    https://podcast.thinkingelixir.com/87 – Reviewing Elixir with José Valim - Part 2
    https://podcast.thinkingelixir.com/91 – Reviewing Elixir with José Valim - Part 3
    https://podcast.thinkingelixir.com/96 – Reviewing Elixir with José Valim - Part 4
    https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md – v1.13
    https://podcast.thinkingelixir.com/60 – 60 - Compile Faster with Marc-André Lafortune
    mix xref trace FILE
    https://podcast.thinkingelixir.com/54 – AST Parsing using Sourceror with Lucas San Román
    New power operator "**"
    mix test supports --profile-require=time
    https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md – v1.14
    Dashbit as a company and growth over time.
    Elixir v2.0?
    https://podcast.thinkingelixir.com/54 – AST Parsing using Sourceror with Lucas San Román
    https://talonvoice.com/
    https://www.erlang.org/eeps/eep-0054.html
    https://www.elixirconf.eu/ – ElixirConf EU - hybrid conference 9-10 June 2022
    https://livebook.dev/
    https://github.com/elixir-nx/explorer
    https://github.com/elixir-nx/scholar
    https://github.com/elixir-nx/axon/
    https://podcast.thinkingelixir.com/95 – Rustler Precompiled with Philip Sampaio
    https://github.com/lukaszsamson
    https://github.com/elixir-lsp/elixir-ls
    https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0
    https://www.youtube.com/watch?v=9jK-NcRmVcw – Europe - The Final Countdown


    Guest Information



    https://twit

    • 1 hr 31 min

Customer Reviews

5.0 out of 5
21 Ratings

21 Ratings

thehamberdler ,

Thinking About Thinking Elixir

This may be the best podcast about Elixir. The episodes are released at a regular cadence, the audio and conversion quality is great, and the topics don’t feel repetitive. The weekly news summaries are super handy.

And, the intro music can’t be beat. 😁

Cadicles ,

Excited for more!

Excited to hear more from this podcast!

Top Podcasts In Education

Dr. Jordan B. Peterson
TED and PRX
The Atlantic
iHeartPodcasts
Daily Stoic | Wondery
TED

You Might Also Like

SmartLogic LLC
Adi Iyengar, Allen Wyma, Sascha Wolf
Elixir Outlaws
Brooklin Myers
Changelog Media
Changelog Media