
105 episodes

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
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! -
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 -
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! -
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! -
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! -
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
Customer Reviews
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. 😁
Excited for more!
Excited to hear more from this podcast!