We talk with Dave Lucia about Simplebet’s use of RabbitMQ and Commanded for solving unique real-time problems. We learn how Simplebet uses Elixir when creating real-time sports betting markets. We also learn what CQRS systems are, how the Commanded library supports that in Elixir, and how Commanded pairs well with RabbitMQ. Dave talks about moving away from Kafka to RabbitMQ and how that made sense for their use cases. Also valuable, Dave shares where they have found the “dragons” in their design. A helpful discussion that helps identify when CQRS systems might be a tool to use when solving our own problems. Also, Simplebet is betting on SurfaceUI for front-end design in a big and interesting way as well!
We talk with mother/daughter team Miki and Kate Rezentes about their experiences learning and working with Elixir and as women in the tech industry. Miki presented “Greasing the Wheel of Adoption” at ElixirConf. Her focus was on the people aspect of adoption and we had a great time going deeper on that topic here. Kate, who is just starting her career as a developer, talks about ways we can share tech with the young people around us. We get their ideas and suggestions for ways to support women in tech, young people learning tech, and more!
We talk with Paul Copplestone, founder and CEO of Supabase. Supabase leverages the power of Elixir, Postgres, and more to create an OpenSource Firebase alternative that brings these powers to the Jamstack community. We cover TechCrunch’s coverage of their funding and how Paul considers Supabase as “the easiest way to use Postgres”. They offer a row-level security feature and we dig in to understand that. We go deeper on how an OpenSource company got VC funding and how their business model works. Paul shares how Elixir, Phoenix and PubSub solve some hard problems that other ecosystems just don’t handle and how Supabase helps those other communities get some of those benefits using the tools they already selected. Some interesting features are that you can self-host if you want, swap out different components, and the permissive licenses. It really seems to embody the OSS ethos. Great to learn about another company using Elixir to create a lot of business value!
We talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type checking for Elixir applications. The syntax builds on your existing spec types so it still works for dialyzer but adds additional compile time created checks. It also works for generating property based test data. This feature comes out in a new ability called “spectest”. Like doctests, you can have automated checks that verify the function adheres to the spec! We also cover how TypeCheck allows writing type declarations for other libraries like Ecto and Plug. There are some interesting ways for people to contribute! A very interesting library!
We catch up with German Velasco then talk about how he learned of the 7-GUI Tasks online challenge and how he wanted to see how LiveView could approach it. We talk about his ElixirConf presentation and how the idea of modeling state impacted his solutions to these problems. We go over what these common UI patterns are and how LiveView is able to approach them differently. We talk about Chris McCord’s idea of “Live Apps” and how LiveView really is different from what other languages and communities can do. We discuss using LiveView to implement UI patterns that it wasn’t designed for and how that process has gotten better over time and much more!
After a big news section, we talk with Alfred Reinold Baudisch about his project PardallMarkdown. It’s a reactive Elixir server that reads markdown files, compiles them to HTML, stores them in an ETS table, and serves them up. It’s a different take on serving markdown files for a blog. It can also be used as a wiki and supports deeply nested hierarchies. An interesting feature is it can be used as a library inside your own Phoenix application to provide blog posts or other “static” content.
We talk with Dominic Letz about running Elixir on an Android phone installed in an APK which hosts a LiveView application accessed through a WebView! All while also pursuing a Web 3.0 architecture of being decentralized! Wow! There’s a lot going on here! Oh, and the tech is OpenSource!
We talk with Niklas Begley about his Doctave service and the problems it’s solving. From there we cover why they use Rust for a key piece of the service and how Elixir fits in. We cover tools like Rustler for integrating Elixir and Rust smoothly. We talk about business drivers, Nik’s experience building a SaaS product using Elixir and more!
Show Notes online – https://thinkingelixir.com/podcast-episodes/068-rust-and-elixir-with-nik-begley
We talk about ways we can all contribute to building a healthy Elixir community. The Elixir community is a welcoming, encouraging and helpful place and we want to help keep it that way! We talk about common problems facing maintainers, tips for engaging productively, the value of expressing appreciation, and much more!
Show Notes online – https://thinkingelixir.com/podcast-episodes/067-building-a-healthy-community
We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way.