The Thinking Elixir Podcast
Welcome to the Thinking Elixir Podcast! The show has weekly episodes where we talk about the Elixir programming language and community around it.
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 me on this journey!
Learning or Teaching Elixir
We talk with Marlus Saraiva about three big projects he is a part of. All of which are around improving the developer experience in Elixir! We start with Broadway, a library that makes working with GenStage even easier. We learn about his project Surface that brings a more react-like component model to LiveView. We then talk about his work on ElixirSense and ElixirLS which are used by editors to give code completion and documentation help. He covers where he thinks web development went wrong and what he thinks Elixir can do to improve it. We also cover where things may go with Surface and ElixirLS in the future, and much more!
We talk with Chris McCord about the Phoenix LiveView 0.15.0 release which includes uploads! Chris explains the background on the release and his video showing it off. He shares his go-to stack when starting a new Phoenix project (HINT it includes TailwindCSS). We talk about current gaps in the tooling and where things might go from here in both the short and long term. A great visit with lots of insights!
We talk with Louis Pilfold about how he created Gleam, a static typed language that runs on the BEAM. Louis explains some of the challenges with bringing static types to the BEAM and shares ideas on what can possibly be done about it. We learn how Gleam got started, how it works, and how Elixir and Erlang can interop with it. We cover the recently released Gleam OTP work, talk about Type Driven Development and much more!
We talk with Patryk Bąk about running migrations in production. For production systems where downtime or service interruptions are a problem, we sometimes need to take special care when migrating data structures or the data itself. Patryk shares some valuable tips and techniques along with examples of when to use them. We chime in with war stories, our own tips, and mistakes we’ve made. A great resource when migrating data in your own systems. Check it out!
We talk with Patrick Thompson about the PETAL stack. The combination of Phoenix, Elixir, Tailwind CSS, Alpine.js and LiveView! Patrick and David help me understand why people are excited about Tailwind CSS and how it works nicely with Alpine.js. Add LiveView to it and it makes a convincing case! Learn about this powerful and productive stack. Patrick shares his insight and a ton of great resources. Check it out!
We reached outside the Elixir community to talk with Caleb Porzio. Caleb is the creator of PHP Laravel LiveWire, a framework inspired by LiveView. He created Alpine.js to help solve problems common to both LiveWire and LiveView. He also shares how he made his OpenSource work sustainable, and successfully shifted to being full-time supported for his community work. Lots of great insight and discussion!
We cover the news then talk with Milada Majáková about combining Elixir and art. Milada came new to Elixir from Architecture and Graphic Design. We reject the idea that people are either logical or artistic but not both. She shares her journey, what it was like learning Elixir as a first programming language, creating generative art using Elixir and LiveView, and much more!
We cover the news then talk with German Velasco about his free book “Test-Driven Development with Phoenix”. He shares his experiences of learning TDD at ThoughtBot, his writing process, tips and more. On TDD, we talk about the benefits we see, the process of “Red Green Refactor”, tools and even when we don’t do it. Some great insights!
We cover the news then talk with Lukas Larsson and John Högberg to learn about the new BeamAsm project that brings a JIT compiler to Erlang OTP and Elixir. This is a very exciting development for all Beam languages and they break down for us what it is, how it works, how it impacts us as Elixir developers, when to expect it, and they share insights into developing OTP. An episode you don’t want to miss!
We cover the news then talk with Quinn Wilton about Gleam, a static typed language on the BEAM and why Elixir devs should care about it. We learn about her Chip8 emulator that renders game ROMs to LiveView, what dynamic security analysis of web applications can look like today, static typing, library recommendations and much more!
We cover the news then talk with Hugo Baraúna, the guy behind Elixir Radar, to get the inside scoop. Would you like to increase the chances of your blog post being featured by Elixir Radar? Hugo shares how! We also discuss his observations of Elixir adoption in companies, better understanding our own community, sustainability in OpenSource, his efforts to fund his time on Elixir Radar, and much more!
Huge batch of new then we talk with Ricardo Garcia Vega about how he paired a Phoenix application with no database Repo to an Airtable backend to quickly solve a problem but without compromising on speed or reliability. Includes great discussion of ETS tables, GenServers for syncing a caching, LiveView for live updates, links to great resources, a github repo for doing it yourself and much more!
We talk with Jesse Herrick about creating a video chat app using WebRTC and Phoenix LiveView. We cover the WebRTC protocol, how Phoenix helps, JS hooks, pushing events from the server and much more!
We catch up with Connor Rigby and learn about his recent Flutter work for Nerves. We take this opportunity to get his perspective on when to choose NIFs or Ports for native integrations, how to make NIFs more portable, get a recommendation for multimedia processing and much more!
Learning about some new features coming in Ecto 3.5 from Mike Binns. Mike explains Ecto.Enum, what a ParameterizedType is, the new “redact” option on fields and much more!
News and discussion about why the talk of “Frontend vs Backend” is wrong, Single Page Apps, seeing the business value of LiveView, and much more!
Decomposing models based on lifecycle with Maciej Kaszubowski. He shares tips on finding the lines, how DDD can help, ideas for modular designs, simple ways to start a PubSub architecture, avoiding “donkey code” and much more!
We discuss career development as programmers, how COVID may change things, our dev setups including editors, resources, asdf, docker, and much more!
Show Notes online – https://thinkingelixir.com/podcast-episodes/008-careers-and-dev-environments/
We talk with Miguel Palhas about lessons learned while working with background jobs in production systems. He shares some tips he’s learned through experience. We share other mistakes made and what we learn from them.…
FontAwesome, the internet’s most popular icon toolkit, uses Elixir behind the scenes. We talk with Rob Madole to learn how they got there and Rob shares insights to what goes on behind-the-scenes. We cover how…