

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 5, 2022 • 1h 8min
106: Coding Music Live in SonicPi with Sam Aaron
The SonicPi project has been letting people live code musical performances for years. Sam Aaron joins us to talk about the project and how Elixir is playing an increased role. The project uses multiple languages and frameworks, in fact, Joe Armstrong created the Erlang portion for handling the concurrent IO needs. We talk about where the project is, what's new in the upcoming release, and more about the future of Elixir with the project. LiveView as a UI for jamming with your friends in a distributed musical performance tool? Cool! We also talk about SonicPi being used in the education space and introducing kids to coding and much more!
Show Notes online - http://podcast.thinkingelixir.com/106
Elixir Community News
https://github.blog/2022-06-27-github-advisory-database-now-supports-erlang-and-elixir-packages/ – GitHub launched support for Hex in tracking and reporting security advisories for projects
https://survey.stackoverflow.co/2022/ – StackOverflow released their Developer Survey results
Elixir is no.2 most loved language
Phoenix is no.1 most loved web framework
https://twitter.com/josevalim/status/1540252711626706944 – José Valim's thoughts on the results
https://elixirpatterns.dev – Elixir Patterns book is a project by Alex Koutmos and Hugo Baraúna
https://twitter.com/akoutmos/status/1541078170383835136 – Alex created Kino PR for rendering supervision tree in Livebook
https://hex.pm/packages/nerves_system_mangopi_mq_pro – Frank Hunleth announced that Nerves now has support for the RISC-V MangoPi
https://twitter.com/fhunleth/status/1541116329553428480 – Frank's announcement
https://mangopi.cc/ – MangoPi site
https://lpil.uk/blog/deploying-gleam-on-fly-io/ – Louis Pilfold use new v0.22 Gleam deployment feature for deploying to Fly.io
https://twitter.com/cigrainger/status/1539538577344045057 – Explorer v0.2.0 was released
https://podcast.thinkingelixir.com/104 – Recently interview with Chris Grainger in episode 104 about Explorer.
https://github.com/erlang/rebar3/releases/tag/3.19.0 – Rebar 3.19.0
http://pesquisecomelixir.com.br – José Valim announced a new initiative called "Research with Elixir"
https://twitter.com/josevalim/status/1541775306767450114 – Announcement post from José that includes more information
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://sonic-pi.net/
https://github.com/sonic-pi-net/sonic-pi
https://github.com/samaaron
https://twitter.com/josevalim/status/1519377962063249409
https://twitter.com/matschaffer/status/1520914785625280512
https://supercollider.github.io/
https://en.wikipedia.org/wiki/Kintsugi – Fixing broken pottery with gold
https://www.patreon.com/samaaron
Guest Information
https://twitter.com/samaaron – Sam Aaron on Twitter
https://twitter.com/Sonic_Pi – Sonic Pi on Twitter
https://github.com/samaaron – on Github
https://www.instagram.com/samaaron/ – Instagram
https://www.linkedin.com/in/samaaron/ – LinkedIn
https://www.patreon.com/samaaron – Patreon
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!

Jun 28, 2022 • 55min
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!

Jun 21, 2022 • 49min
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 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!

Jun 14, 2022 • 54min
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!

Jun 7, 2022 • 42min
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!

May 31, 2022 • 1h 2min
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!

May 24, 2022 • 1h 32min
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://twitter.com/josevalim – on Twitter
https://github.com/josevalim – on Github
https://dashbit.co/ – Dashbit website and blog
https://erlef.org/news/ – The Erlang Ecosystem Foundation news
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!Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

May 17, 2022 • 44min
99: Slipstream and Tree-Sitter with Michael Davis
Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well!
Show Notes online - http://podcast.thinkingelixir.com/99
Elixir Community News
https://twitter.com/remote_ruby/status/1522546728922226691 – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.
https://share.transistor.fm/s/7dc8e2e3 – Remote Ruby podcast
https://github.com/kipcole9/image – New image-processing library called Image that leverages libvips though NIF bindings.
https://github.com/libvips/libvips
https://github.com/lucasvegi/Elixir-Code-Smells – Elixir Code Smells project
https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd – Elixir Code Smells Livebook notebook
https://litestream.io/ – Litestream project for SQLite replication
https://fly.io/blog/all-in-on-sqlite-litestream/ – Ben Johnson joined Fly.io and will continue work on Litestream
David's wife had a baby girl! Congrats! Now has 2 kids.
Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/NFIBrokerage/slipstream – Slipstream Phoenix channels websocket client library
https://github.com/NFIBrokerage/mint_web_socket – Separate library that uses Mint and supports websockets.
https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md
https://github.com/Azolo/websockex – Pure Elixir websockets implemented as a special OTP process
https://github.com/ninenines/gun – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix
https://github.com/jeremyong/websocket_client – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25.
https://hex.pm/packages/phoenix_channel_client – Retired library by Justin Schneck
https://hex.pm/packages/phoenix_client – by Justin Schneck “Elixir Phoenix Client for Channels”
https://github.com/J0/phoenix_gen_socket_client – Another Phoenix Channel client
https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456 – ElixirForum post on Slipstream
https://github.com/nerves-hub/nerves_hub_link – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates)
https://twitter.com/whatyouhide/status/1521381183229210624 – mint_web_socket was just moved under the elixir-mint organization
https://twitter.com/josevalim/status/1521390714025758720 – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community
https://helix-editor.com/
https://clojure.org/
https://github.com/NFIBrokerage
https://www.eventstore.com/eventstoredb
https://github.com/elixir-mint/mint
https://github.com/elixir-lang/gen_stage
https://grpc.io/
https://github.com/tree-sitter/tree-sitter
https://github.com/elixir-lang/tree-sitter-elixir
https://elixir-lang.org/tree-sitter-elixir/
https://github.com/jonatanklosko – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library
https://github.com/gleam-lang/tree-sitter-gleam/
https://github.com/ninenines/gun
https://github.com/Azolo/websockex
https://hex.pm/packages/phoenix_client
https://github.com/nerves-hub/nerves_hub_link
https://en.wikipedia.org/wiki/HTTP/2
https://github.com/NFIBrokerage/spear
Guest Information
https://github.com/the-mikedavis – on Github
https://github.com/NFIBrokerage – Work Github organization
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!

May 10, 2022 • 47min
98: Elixir in the iOS App Store with Dominic Letz
Dominic Letz did something I thought was impossible. He got an Elixir application packaged up, approved, and available through the Apple App Store on iOS devices. The application runs Elixir on the device, creates a web view, and hosts Phoenix LiveView pages. They went further and created a bridge to integrate with more of the platform specific features of the device. Is Android your preferred platform? They have it running there as well and in the Google Play Store. We talk about how it works, challenges overcome, and where it is now. They also created several Github projects that show how to do this yourself to create a cross-platform desktop application and apps for Apple and Android mobile devices. Very cool! They want your help to make it even better.
Show Notes online - http://podcast.thinkingelixir.com/98
Elixir Community News
https://twitter.com/whatyouhide/status/1521381183229210624 – Mint now has an official WebSocket client
https://github.com/elixir-mint/mint_web_socket
https://github.com/NFIBrokerage
https://github.com/NFIBrokerage/slipstream
https://twitter.com/josevalim/status/1519377962063249409 – José Valim announced Dashbit is sponsoring part-time development of sonic_pi for the next 6 months
https://sonic-pi.net/ – Sonic Pi website
https://github.com/sonic-pi-net/sonic-pi – Sonic Pi project
https://github.blog/2022-04-29-bringing-code-navigation-to-communities/ – Github gave Elixir another shout-out in a recent blog post “Bringing code navigation to communities”.
https://twitter.com/josevalim/status/1519630932583632897 – The Nx project reaches two major milestones at the same time.
https://github.com/elixir-nx/nx
https://hex.pm/packages/exla – EXLA package now on Hex.pm
https://hex.pm/packages/torchx – Torchx package now on Hex.pm
https://twitter.com/robertoaloi/status/1520395745064542209 – WhatsApp's Erlang implementation of the Raft consensus algorithm is now open source
https://github.com/WhatsApp/waraft – WARaft is a Raft library in Erlang by WhatsApp. It provides an Erlang implementation to obtain consensus among replicated state machines.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://apps.apple.com/us/app/diode-drive/id1605222443 – Diode Drive iOS app
https://play.google.com/store/apps/details?id=io.diode.drive – Google Play listing
https://github.com/elixir-desktop/desktop
https://github.com/elixir-desktop/ios-example-app – iOS example app
https://github.com/elixir-desktop/android-example-app – Android example app
https://github.com/elixir-desktop/runtimes – Prepared runtimes for android and iOS devices.
https://github.com/elixir-desktop/bridge – Used by “desktop” - does native integrations
https://podcast.thinkingelixir.com/69 – Previous interview - episode 69
https://diode.io/diode%20drive/self-custody-for-data-22032/ – Why you should care about Self-Custody for data now
https://github.com/couchbaselabs/iErl14
https://podcast.thinkingelixir.com/81 – Elixir in a Burrito with Quinn and Digit
https://www.wxwidgets.org/
Guest Information
https://twitter.com/DominicLetz – on Twitter
https://github.com/dominicletz/ – on Github
https://diode.io/ – Diode.io website
https://github.com/diodechain – Diode Github organization
Elixir Slack's desktop channel
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!

May 3, 2022 • 49min
97: Avro and Elixir with Dave Lucia
Dave Lucia released version 2.0 of AvroEx, an Elixir library for working with Avro protocols and schemas. To understand Avro, we need an overview of the whole Kafka-centric flow! He gives us a taste of the Enterprise soup of JVM tools used for populating data lakes, all for the business benefit of data analysis and machine learning. We may work on Elixir systems that are tasked with hooking into this other Enterprise-y world and getting an overview of the pieces and awareness of the tools available can really help out! Dave also shares his goal of creating a new Markdown parser for Elixir and updates us on the next chapter of his professional journey.
Show Notes online - http://podcast.thinkingelixir.com/97
Elixir Community News
https://twitter.com/wojtekmach/status/1516533938977705990 – Wojtek Mach shared some additional reasons for using NIFs to work with Rust or Zig that aren't performance related.
https://twitter.com/atyborska93/status/1516773412848422919 – Angelika Tyborska shared that the Elixir track on Exercism.io got two new fun practice exercises
http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper – Exercism.io Elixir puzzle - Killer Sudoku Helper
https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe – Exercism.io Elixir puzzle - State of Tic Tac Toe
https://gleam.run/news/v0.21-introducing-the-gleam-language-server/ – Gleam now has a language server
https://twitter.com/cigrainger/status/1518896955921154048 – Nx Explorer project reaches a new milestone and was released to Hex.
https://hexdocs.pm/explorer/exploring_explorer.html – Includes a “Ten Minutes to Explorer” Livebook guide
https://twitter.com/MozillaHubs/status/1516469058849312768 – Mozilla hiring for a Senior Elixir Engineer to help work on their Hubs Team to help build open social spaces for the web.
https://hubs.mozilla.com/
https://github.com/mozilla/hubs
https://github.com/mozilla/reticulum
https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla – Elixir blog post from a year ago about the Mozilla Hubs Elixir project.
https://github.com/elixir-makeup/makeup_diff – Parker Selbert created makeup_diff for displaying diff markup in ExDocs
https://www.erlang.org/blog/type-based-optimizations-in-the-jit/ – Blog post on the Erlang blog looked interesting. About OTP 25 type optimizations for the JIT compiler.
https://codesync.global/conferences/code-beam-sto-2022/#schedule – CodeBeam in Stockholm Sweden speaker lineup and schedule are out.
https://www.empex.co/mtn – Empex MTN in Salt Lake City on May 6
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://davelucia.com/blog/avro-2.0
https://github.com/beam-community/avro_ex
https://avro.apache.org/
https://kafka.apache.org/
https://podcast.thinkingelixir.com/75 – Previous discussion
https://www.bloomberg.com/professional/solution/bloomberg-terminal/
https://theoutline.com/
https://elm-lang.org/
https://developers.google.com/protocol-buffers/
https://thrift.apache.org/
https://github.com/klarna/erlavro
https://databricks.com/
https://spark.apache.org/
https://en.wikipedia.org/wiki/Extract,_transform,_load
https://databricks.com/glossary/what-is-parquet
https://www.snowflake.com/workloads/data-lake/
https://github.com/beam-community
https://github.com/doomspork
https://github.com/surface-ui/surface
https://github.com/pragdave/earmark
https://github.com/pragdave
https://github.com/davydog187/marx
https://www.youtube.com/watch?v=dmBdFh5N1g4 – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How
https://twitter.com/davydog187/status/1512393866653011968 – Announced leaving SimpleBet and co-founding something new.
https://twitter.com/davydog187/status/1512393877575110668 – Co-Founding Bitfo as the CTO.
https://www.bitfo.com/
https://ethereumprice.org/
https://www.bitcoinprice.com/
https://defirate.com/
Guest Information
https://twitter.com/davydog187 – on Twitter
https://github.com/davydog187/ – on Github
https://davelucia.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!