Thinking Elixir Podcast - podcast cover

Thinking Elixir Podcast

ThinkingElixir.compodcast.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!
Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

117: PhxLiveStorybook

A UI Storybook for Phoenix LiveView components? Christian Blavier joins to share what his team created and made OpenSource. The project was even mentioned during Chris McCord's keynote as possibly becoming part of the Phoenix project. We learn what a UI Storybook is, how it works in a project, and how it helps teams and individuals maintain consistent styles throughout a project. Show Notes online - http://podcast.thinkingelixir.com/117 Elixir Community News https://www.youtube.com/playlist?list...

Sep 20, 202247 min

116: Remote Development and Elixir

In episode 110, we talked about, and rejected, the argument for the “End of Localhost Development”. Carter Bryden joins us to share a perspective from the other side, one in favor of remote development. We learn about the benefits to contractors, PR reviews, giving demos, and how containerizing our development environment even improves local development. We learn about the tools, services, and techniques that make it possible. An interesting look into a different way of developing our favorite l...

Sep 13, 20221 hr 6 min

115: ElixirConf 2022 Recap

ElixirConf US 2022 just finished! We cover the big announcements, talk highlights, and other relevant tech news. We discuss what some of these big announcements and projects represent and what they might mean for the Elixir community going forward. We talk about the Elixir 1.14 release, Livebook advances, Phoenix 1.7, machine learning progress, and the surprise announcement of Phoenix LiveView Native! Show Notes online - http://podcast.thinkingelixir.com/115 Elixir Community News https://elixir-...

Sep 06, 202239 min

114: Countdown to Conf

We cover the news and look forward to ElixirConf US which is about to start! We talk about breaking changes that somehow manage to not break things, why Cade is excited by time series databases, and the announcements and conference activities we're looking forward to. Show Notes online - http://podcast.thinkingelixir.com/114 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md – LiveView v0.18.0 nearing release https://twitter.com/josevalim/status/...

Aug 30, 202221 min

113: Livebook Desktop

Livebook Desktop is a recent project that makes it much easier for people to start using Elixir and Livebook. Wojtek Mach joins us to explain what Livebook Desktop is and how it works. We learn who the project is for and the problems it helps solve. We ask if this approach makes sense for other projects and how to get started. Wojtek also shares some cool things in the works that make it possible to load our own Phoenix project into a Livebook! Show Notes online - http://podcast.thinkingelixir.c...

Aug 23, 202254 min

112: Putting LiveView in a Chrome Extension

Google Chrome extension that displays a LiveView and integrates with a web page like Gmail? Steve Bussey shares how he did just that! We learn how it worked, why he did it, the benefits he sees, and how this differs from the conventional approach. He explains the small JS shim used, recommends a library to help when integrating with Gmail and he explains how the user experience is great, particularly when rolling out new versions! Steve goes further to talk about Chrome's new v3 extension API an...

Aug 16, 202255 min

111: Deploying a PR for Review

Ever wanted to deploy a PR to a temporary server for show-and-tell, QA testing, or to get feedback on it? Jason Axelson joins us to share how he did that on Render.com. We explore how it can be done on other platforms like Fly.io as well. We talk about how this ability benefits teams and companies. We dig into how setting up a seeded DB for the code isolates data changes but also makes it easier for people to test the code with multiple data scenarios. Turns out doing this may be easier than I t...

Aug 09, 202241 min

110: The End of Localhost Development?

Some people excitedly talk about the “end of localhost development” when developer machines move to the cloud. Presumably this is better because our environments, infrastructure and projects are so complex that they need this additional layer of abstraction just to keep teams productive. Is this our inevitable future? Or is this trying to solve the wrong problem? We talk about what we think this movement is about and how it relates to us. Elixir projects can potentially be much simpler with fewe...

Aug 02, 202251 min

109: Digital Signal Processing with NxSignal

A new library in the Nx ecosystem under active development is called NxSignal by Paulo Valente. We talk with Paulo to learn what a DSP (Digital Signal Processor) is, how it works, and we touch on the kinds of problems it can solve. We learn about his involvement in Nx, where the library is going, and some unusual ways he's applied it. He also shares how he's using Nx Explorer in production to clean up and process financial data returned in a JSON API and much more! Show Notes online - http://pod...

Jul 26, 202235 min

108: Stack Overflow Survey Results 2022

We were surprised to see how well Elixir and Phoenix performed in the Stack Overflow survey results for 2022! Elixir came in as the #2 most loved language and Phoenix as the #1 most loved framework! And this was their first year appearing as official choices in the survey! We discuss what it means, what we can learn from it, how it compares to other languages and frameworks and what it may indicate for the future. We also discuss ideas to help support and grow the community. Show Notes online - ...

Jul 19, 202240 min

107: Catching Up with Alex Koutmos

We caught up with Alex Koutmos, a co-host on an Elixir podcast, book author, and OpenSource library creator. We talk about some of his well known libraries like PromEx, but then go into some of his potentially lesser known ones like Doctor, Replug, Unplug, and MJML EEx. I'm happy to learn more about MJML EEx, an email formatting library for improved cross-mail client readers! We talk about the Nerves Weather Station book, and his new book project Elixir Patterns that makes heavy use of Livebook....

Jul 12, 202257 min

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 distri...

Jul 05, 20221 hr 8 min

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 thing...

Jun 28, 202255 min

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 c...

Jun 21, 202249 min

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://pod...

Jun 14, 202254 min

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 ...

Jun 07, 202242 min

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...

May 31, 20221 hr 2 min

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...

May 24, 20221 hr 32 min

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 ...

May 17, 202244 min

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, ...

May 10, 202247 min

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 availa...

May 03, 202249 min

96: Reviewing Elixir with José Valim - Part 4

José Valim returns for part 4 in our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love! In Part 4, we talk through the Elixir releases of 1.10, 1.11, and 1.12. We go deeper on the philosophy of “explicit vs implicit” and how that informs many design decisions about the language. We learn about how Elixir and Erlang loggers were unified, how matching on map keys in guards enabled receives block enhancements, how common date sorting bugs were solved w...

Apr 26, 20221 hr 18 min

95: Rustler Precompiled with Philip Sampaio

The recent announcement of Rustler Precompiled prompted a lot of interest and questions. We talk with Philip Sampaio to understand what he created and what problem it helps solve. The project helps lower the bar for using Rust libraries for NIFs in Elixir making it possible to see more libraries using Rustler in the future. He explains what prompted the work initially and how projects can benefit from it. We discuss what it means for internal company projects and especially for libraries. He exp...

Apr 19, 202239 min

94: Benchee and OpenSource with Tobias Pfeiffer

We talk with Tobias Pfeiffer about his popular performance benchmarking tool Benchee. We learn about why he created it, what's special about it, and the big features in the latest release. It was 2 years between this release and the previous one. Tobi talks openly about the technical challenges that compounded with personal challenges, feelings of obligation, anxiety, and the drive for perfection. As developers, many of us struggle with these same issues and it helps just hearing that we're not ...

Apr 12, 20221 hr

93: Preventing Service Abuse with Michael Lubas

We talk with Michael Lubas about steps we can take to protect our Phoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, and credential stuffing. We learn how Michael started paraxial.io which aims to specifically serve the Elixir community and more! Show Notes online - http://podcast.thinkingelixir.com/93 Elixir Community News https://erlef.org/blog/eef/election-2022-results – Erlang Ecosystem Foundation board election voting results http...

Apr 05, 202253 min

92: Temple with Mitchell Hanberg

We talk with Mitchell Hanberg and learn about why he created the alternate Phoenix templating language called “Temple”. He explains how Temple works, some of its unique benefits and where he's going with it in the future. Mitchell also took over maintenance of the testing project Wallaby from Chris Keathley. We revisit what Wallaby is and the special place it can have when building automated full system tests for our projects. Show Notes online - http://podcast.thinkingelixir.com/92 Elixir Commu...

Mar 29, 202248 min

91: Reviewing Elixir with José Valim - Part 3

José Valim returns to continue with part 3 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 3, we talk through the Elixir releases of 1.7, 1.8, and 1.9. We talk about the unification efforts between Elixir and Erlang. These came through changes to error stacktraces, how documentation is stored, a unified logger, and more. We learn how features like Mix.target made a big difference for the Nerves project. We also hear the call for co...

Mar 22, 202259 min

90: Elixir Cards with Tetiana Dushenkivska

We talk with Tetiana Dushenkivska, the creator of Elixir Cards, a series of Elixir flashcards with multiple ways to use them. We talk about why she created the cards, how they helped her, and how others have used them. We talk about learning models and the importance of repetition for memorizing things. Tetiana shares how LiveView is used in the creation of the cards and more! David shares how he used the cards for fun drills at meetups and Tetiana fondly recalls a tournament held at a previous ...

Mar 15, 202242 min

89: Reducing the Friction in Your Flow

We talk about how designing applications with lower friction points is a valuable goal. LiveView plays a powerful role in that mission. Mark pitches why he thinks it's time to take another look at LiveView if you haven't lately. We talk over some of the business benefits, efficiencies gained and we address some common reasons given for "why it can't work." We also cover some remaining areas of improvement for LiveView. Then we talk about how moving your servers closer to users removes additional...

Mar 08, 202249 min

88: Phoenix Debug Toolbar and LiveView Forms with Michael Crumm

We talk with Michael Crumm, the primary author of the Phoenix Live Dashboard, about a new project of his. He is working on a development toolbar that is rendered on your pages and helps profile performance, expose route info, show crash info and more. It’s called PhoenixProfiler and it ties into Telemetry events for data. While still early, it can be a great tool for teams. We also talk about another goal of his, to improve working with forms in LiveView! Show Notes online - http://podcast.think...

Mar 01, 202253 min
For the best experience, listen in Metacast app for iOS or Android