We talk with Allan MacGregor about implementing the Circuit Breaker pattern in Elixir and compare that to just using a job library. We get into a fun discussion about design patterns in Elixir and designing for failure. Allan is creating a project called Site Guardian using the PETAL stack and shares his experiences with it and much more!
We talk with Oleg Tarasenko and Tze Yiing about crawling the web using Elixir. Oleg created the crawly project to help solve this problem and Tze Yiing joined him as a contributor and maintainer. We cover how Elixir is well suited to orchestrate crawling, how to deal with login pages, understanding the legal concerns, building a codeless scraper and much more!
We talk with Devon Estes, the creator of a new Elixir mutation testing library called Muzak. Devon joins us to explain what mutation testing is and how it can help development teams in organizations move faster and with greater confidence. We cover when a project can benefit from it, the challenges of offering a PRO version of a library, where Muzak is going in the future, and more!
We talk with Parker Selbert, the creator of the job processing library Oban. He shares the benefits of using Postgres as the data store over more common choices like Redis. Oban also offers a paid “pro” level and Parker explains how a paid feature set is provided for the OpenSource library. He helps us understand the differences between pro and free as well. We talk about how the BEAM’s concurrency and processes enable powerful features in a job processing library that you won’t easily find in alternatives. He also shares a glimpse of what’s coming in the future for the library and more!
We talk with Jason Axelson. He created the DepViz tool that can help improve your Elixir compile-time experience. Jason explains how to use the tool to identify where compile time dependencies may be causing issues in your project and provides tips on what to do about it. We also cover recent improvements in Elixir 1.11 and coming improvements in 1.12 and what those will mean for you! Jason is also a member of the Elixir-LSP github organization and explains the history of the Elixir-LS project and how it has grown and developed. Jason shares some tips with how to fix Elixir-LS issues when it stops working for you. He also shares some glimpses of where things may go in the future, and more!
We talk with Zach Daniel, the creator of the Ash Framework, a declarative, resource-oriented application framework for Elixir that lets you build out JSON or GraphQL APIs in minutes. In this episode he explains the history, guiding doctrine of Declarative Design how it can give developers a huge boost without boxing them into a corner!
Show Notes online – https://thinkingelixir.com/podcast-episodes/027-ash-framework-with-zach-daniel
We talk with Jonathan Allen, an instructor at a Utah college, who taught Elixir to his Distributed Computing students. He tells how he got Elixir into the classroom, what the students loved, what was hard, and how we in the professional community can influence Elixir in education!
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!