
Elixir Wizards
Elixir Wizards is an interview-style podcast for anyone interested in functional programming and the Elixir Programming Language. Hosted by SmartLogic engineers and Elixirists Owen Bickford, Dan Ivovich, and Sundi Myint, this show features in-depth discussions with some of the brightest minds in the industry, discussing training and documentation in Phoenix LiveView, the evolution of programming languages, Erlang VM, and more.
In the current season, we're branching out from Elixir to compare notes with thought leaders and software engineers from programming languages like JavaScript, Ruby on Rails, Go, Scala, Java, and more. Each episode will take a deep dive into a topic from Machine Learning and AI, to ECS and game development, to education and community.
Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)
Latest episodes

Nov 23, 2023 • 31min
Machine Learning in Elixir vs. Python, SQL, and Matlab with Katelynn Burns & Alexis Carpenter
In this episode of Elixir Wizards, Katelynn Burns, software engineer at LaunchScout, and Alexis Carpenter, senior data scientist at cars.com, join Host Dan Ivovich to discuss machine learning with Elixir, Python, SQL, and MATLAB. They compare notes on available tools, preprocessing, working with pre-trained models, and training models for specific jobs.
The discussion inspires collaboration and learning across communities while revealing the foundational aspects of ML, such as understanding data and asking the right questions to solve problems effectively.
Topics discussed:
Using pre-trained models in Bumblebee for Elixir projects
Training models using Python and SQL
The importance of data preprocessing before building models
Popular tools used for machine learning in different languages
Getting started with ML by picking a personal project topic of interest
Resources for ML aspirants, such as online courses, tutorials, and books
The potential for Elixir to train more customized models in the future
Similarities between ML approaches in different languages
Collaboration opportunities across programming communities
Choosing the right ML approach for the problem you're trying to solve
Productionalizing models like fine-tuned LLM's
The need for hands-on practice for learning ML skills
Continued maturation of tools like Bumblebee in Elixir
Katelynn's upcoming CodeBeam talk on advanced motion tracking
Links mentioned in this episode
https://launchscout.com/
https://www.cars.com/
Genetic Algorithms in Elixir by Sean Moriarity
Machine Learning in Elixir by Sean Moriarity
https://github.com/elixir-nx/bumblebee
https://github.com/huggingface
https://www.docker.com/products/docker-hub/
Programming with MATLAB
https://elixirforum.com/
https://pypi.org/project/pyspark/
Machine Learning Course from Stanford School of Engineering
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron
Data Science for Business by Foster Provost & Tom Fawcett
https://medium.com/@carscomtech
https://github.com/k-burns
Code Beam America March, 2024Special Guests: Alexis Carpenter and Katelynn Burns.

Nov 16, 2023 • 47min
Embedded Systems in Elixir vs. C, C++, and Java with Connor Rigby & Taylor Barto
This week on Elixir Wizards, Connor Rigby, Software Engineer at SmartRent, and Taylor Barto, Lead Embedded Software Engineer at Eaton, join Sundi Myint to compare notes on embedded systems development with Elixir, C, C++, and Java. They discuss using Elixir and the Nerves framework for firmware projects versus more traditional choices like C. The guests ask one another questions and gain valuable insights into challenges, tooling, resources, and more across different embedded ecosystems.
In this episode, the guests expand their perspectives and demystify the concept of embedded systems for engineers outside the field. This cross-language exchange of ideas and experiences inspires continued learning and collaboration between embedded software engineers using different programming languages.
Topics Discussed:
Defining "true embedded": using an operating system vs. bare metal programming
Benefits and drawbacks of Elixir, C, C++, and Java for firmware
Many embedded systems today use Java as the programming language via Java Native Interface (JNI) to interface with C/C++ code
How Elixir expands the toolbox available for firmware projects
Testing, tooling, workflows, and debugging across languages
Elixir/Nerves features like hot code reloading and testing vs. Java alternatives
Learning curves for new languages and frameworks
Industry trends around established vs emerging tools
Applying functional programming principles like immutability in new domains
Scaling firmware updates across large connected networks
Continued maturation of Nerves may bring Elixir into consideration for roles where Java is commonly used today
Hardening systems for reliability in safety-critical uses
Debugging differences between web development and embedded
Hiring considerations for niche languages
Additional skills needed for embedded engineers, such as technical writing, reading schematics, and writing test instructions
Resources and recommendations for getting started with embedded systems
Links Mentioned:
Nerves: https://github.com/nerves-project/nerves
https://nerves-project.org/
AtomVM: https://github.com/atomvm/AtomVM
GRiSP: https://github.com/grisp
RISC-V: https://github.com/ultraembedded/riscv
https://smartrent.com/
https://www.eaton.com/us/en-us.html
Zig Programming Language: https://github.com/ziglang
Docker: https://github.com/docker
Build a Weather Station with Elixir and Nerves by Alexander Koutmos, Bruce A. Tate, Frank Hunleth
Build a Binary Clock with Elixir and Nerves by Frank Hunleth and Bruce A. Tate
http://esp32.net/
https://www.nordicsemi.com/Special Guests: Connor Rigby and Taylor Barto.

Nov 9, 2023 • 41min
ECS / Game Development with Elixir vs. Python, JavaScript, React with Dorian Iacobescu & Daniel Luu
In Episode 4, the Elixir Wizards are joined by Dorian Iacobescu, author of the ECSpanse ECS library for Elixir, and Daniel Luu, founder and CEO of the game development studio AKREW. The guests compare notes on backend game development using ECS, the Entity Component System approach.
Akrew is currently building the multiplayer game Galactic Getaway using the Photon Unity networking framework, which employs ECS. They discuss challenges like collections of component types and persistence beyond runtime, building games for various platforms like MacOS, and handling inventory storage in a backend database.
Game development is complex and has many technical hurdles, but open communication across different programming communities and game development approaches can foster collaboration, innovation, and continued learning.
Topics Discussed in this Episode
Dorian explains the ECSpanse ECS library and component-based architecture
Dorian took inspiration for ECSpanse from the Rust library Bevy ECS and its component-based API
The guests discuss popular game development platforms and languages, including C#, JavaScript, and Godot
Owen and Daniel translate ECS concepts to familiar database and backend terminology for devs without game-specific experience
ECSpanse uses many tools from the Elixir Erlang toolbox, including GenServers, ETS tables, tasks, queries, and Phoenix LiveView
ECS challenges representing inventory collections that broke typical ECS singleton patterns
AKREW is developing Galactic Getaway using the Photon Unity framework
Relationships between parent and child entities in ECSpanse
Persistence, serialization, and replay features to save game state
Optimizing assets and code for performance on various devices
Links Mentioned
https://en.wikipedia.org/wiki/Entity_component_system
https://iacobson.medium.com/elixir-for-fun-ecspanse-2852a7993ecd
https://hexdocs.pm/ecspanse/Ecspanse.html
https://bevyengine.org/learn/book/getting-started/ecs/
https://www.photonengine.com/quantum
Add Galactic Getaway to your Steam Wishlist: https://store.steampowered.com/app/2012390/Galactic_Getaway/
https://godotengine.org/
https://unity.com/
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
https://www.tiktok.com/@galacticgetaway
https://docs.rs/bevy_ecs/latest/bevy_ecs/ Special Guests: Daniel Luu and Dorian Iacobescu.

Nov 2, 2023 • 42min
Learning a Language: Elixir vs. JavaScript with Yohana Tesfazgi & Wes Bos
This week, the Elixir Wizards are joined by Yohana Tesfazgi and Wes Bos to compare notes on the experience of learning Elixir vs. JavaScript as your first programming language. Yohana recently completed an Elixir apprenticeship, and Wes Bos is a renowned JavaScript educator with popular courses for beginner software developers.
They discuss a variety of media and resources and how people with different learning styles benefit from video courses, articles, or more hands-on projects. They also discuss the current atmosphere for those looking to transition into an engineering career and how to stick out among the crowd when new to the scene.
Topics Discussed in this Episode
Pros and cons of learning Elixir as your first programming language
Materials and resources for beginners to JavaScript and Elixir
Projects and methods for learning Elixir with no prior knowledge
Recommendations for sharpening and showcasing skills
How to become a standout candidate for potential employers
Soft skills like communication translate well from other careers to programming work
Learning subsequent languages becomes more intuitive once you learn your first
How to decide which library to use for a project
How to build an online presence and why it’s important
Open-source contributions are a way to learn from the community
Ship early and often, just deploying a default Phoenix app teaches deployment skills
Attend local meetups and conferences for mentoring and potential job opportunities
Links Mentioned
https://syntax.fm/
https://fly.io/
https://elixirschool.com/en
Syntax.fm: Supper Club × How To Get Your First Dev Job With Stuart Bloxham
Quinnwilton.com
https://github.com/pallets/flask
https://wesbos.com/courses
https://beginnerjavascript.com/
Free course: https://javascript30.com/
https://pragmaticstudio.com/
https://elixircasts.io/
https://grox.io/
LiveView Mastery YouTube Channel
Contact Yohana: yytesfazgi@gmail.com

Oct 26, 2023 • 50min
HTTP Requests in Elixir vs. JavaScript with Yordis Prieto & Stephen Chudleigh
In today’s episode, Sundi and Owen are joined by Yordis Prieto and Stephen Chudleigh to compare notes on HTTP requests in Elixir vs. Ruby, JavaScript, Go, and Rust. They cover common pain points when working with APIs, best practices, and lessons that can be learned from other programming languages.
Yordis maintains Elixir's popular Tesla HTTP client library and shares insights from building APIs and maintaining open-source projects. Stephen has experience with Rails and JavaScript, and now works primarily in Elixir. They offer perspectives on testing HTTP requests and working with different libraries.
While Elixir has matured, there is room for improvement - especially around richer struct parsing from HTTP responses. The discussion highlights ongoing efforts to improve the developer experience for HTTP clients in Elixir and other ecosystems.
Topics Discussed in this Episode
HTTP is a protocol - but each language has different implementation methods
Tesla represents requests as middleware that can be modified before sending
Testing HTTP requests can be a challenge due to dependence on outside systems
GraphQL, OpenAPI, and JSON API provide clear request/response formats
Elixir could improve richer parsing from HTTP into structs
Focus on contribution ergonomics lowers barriers for new participants
Maintainers emphasize making contributions easy via templates and clear documentation
APIs drive adoption of standards for client/server contracts
They discuss GraphQL, JSON API, OpenAPI schemas, and other standards that provide clear request/response formats
TypeScript brings types to APIs and helps to validate responses
Yordis notes that Go and Rust make requests simple via tags for mapping JSON to structs
Language collaboration shares strengths from different ecosystems and inspires new libraries and tools for improving the programming experience
Links Mentioned
Elixir-Tesla Library: https://github.com/elixir-tesla/tesla
Yordis on Github: https://github.com/yordis
Yordis on Twitter: https://twitter.com/alchemist_ubi
Yordis on LinkedIn: https://www.linkedin.com/in/yordisprieto/
Yordis on YouTube: https://www.youtube.com/@alchemistubi
Stephen on Twitter: https://twitter.com/stepchud
Stephen's projects on consciousness: https://harmonicdevelopment.us
Owen suggests: Http.cat
HTTParty: https://github.com/jnunemaker/httparty
Guardian Library: https://github.com/ueberauth/guardian
Axios: https://axios-http.com/
Straw Hat Fetcher: https://github.com/straw-hat-team/nodejs-monorepo/tree/master/packages/%40straw-hat/fetcher
Elixir Tesla Wiki: https://github.com/elixir-tesla/tesla/wiki
HTTPoison: https://github.com/edgurgel/httpoison
Tesla Testing: https://hexdocs.pm/tesla/readme.html#testing
Tesla Mock: https://hexdocs.pm/tesla/Tesla.Mock.html
Finch: https://hex.pm/packages/finch
Mojito: https://github.com/appcues/mojito
Erlang Libraries and Frameworks Working Group: https://github.com/erlef/libs-and-frameworks/ and https://erlef.org/wg/libs-and-frameworksSpecial Guests: Stephen Chudleigh and Yordis Prieto.

Oct 19, 2023 • 32min
Season 11 Kickoff: The Hosts Discuss Branching Out from Elixir to Compare Notes
Hosts Dan Ivovich, Owen Bickford, and Sundi Myint kick off the 11th season of the Elixir Wizards podcast. This season’s theme is “Branching Out from Elixir,” which expands the conversation to compare notes with experts from other communities; they discuss their experiences with other languages like JavaScript, PHP, Python, Ruby, C#, Go, and Dart before and after learning Elixir.
This season's conversations will illuminate how problems are solved in different languages vs. Elixir; upcoming episode topics teased include education, data processing, deployment strategies, and garbage collection; the hosts express excitement for conversations analyzing similarities and differences between communities.
Topics Discussed in this Episode
Season 11 branches out from Elixir to compare notes with other programming communities
Sundi, Owen, and Dan introduce the season theme and their interest in exploring these conversations
The hosts compare their experiences with PHP, JavaScript, Python, Ruby, C#, Go, Dart and Elixir
The Wizards compare and contrast differences in their personal experience building similar things with different languages
Dan dreams in Ruby and uses it for quick prototypes
Comparing problem-solving approaches across languages will reframe perspectives
Upcoming episodes explore data processing workflows, machine learning, and game development
Pop Quiz: Who's that Pokémon... or language, or framework?
Links Mentioned
https://smartlogic.io/
https://codepen.io/
https://i.redd.it/0lg7979qtr511.jpg

Jun 8, 2023 • 49min
José Valim, Guillaume Duboc, and Giuseppe Castagna on the Future of Types in Elixir
It’s the Season 10 finale of the Elixir Wizards podcast! José Valim, Guillaume Duboc, and Giuseppe Castagna join Wizards Owen Bickford and Dan Ivovich to dive into the prospect of types in the Elixir programming language! They break down their research on set-theoretical typing and highlight their goal of creating a type system that supports as many Elixir idioms as possible while balancing simplicity and pragmatism.
José, Guillaume, and Giuseppe talk about what initially sparked this project, the challenges in bringing types to Elixir, and the benefits that the Elixir community can expect from this exciting work. Guillaume's formalization and Giuseppe's "cutting-edge research" balance José's pragmatism and "Guardian of Orthodoxy" role. Decades of theory meet the needs of a living language, with open challenges like multi-process typing ahead. They come together with a shared joy of problem-solving that will accelerate Elixir's continued growth.
Key Topics Discussed in this Episode:
Adding type safety to Elixir through set theoretical typing
How the team chose a type system that supports as many Elixir idioms as possible
Balancing simplicity and pragmatism in type system design
Addressing challenges like typing maps, pattern matching, and guards
The tradeoffs between Dialyzer and making types part of the core language
Advantages of typing for catching bugs, documentation, and tooling
The differences between typing in the Gleam programming language vs. Elixir
The possibility of type inference in a set-theoretic type system
The history and development of set-theoretic types over 20 years
Gradual typing techniques for integrating typed and untyped code
How José and Giuseppe initially connected through research papers
Using types as a form of "mechanized documentation"
The risks and tradeoffs of choosing syntax
Cheers to another decade of Elixir!
A big thanks to this season’s guests and all the listeners!
Links and Resources Mentioned in this Episode:
Bringing Types to Elixir | Guillaume Duboc & Giuseppe Castagna | ElixirConf EU 2023
Keynote: Celebrating the 10 Years of Elixir | José Valim | ElixirConf EU 2022
OCaml industrial-strength functional programming https://ocaml.org/
ℂDuce: a language for transformation of XML documents http://www.cduce.org/
Ballerina coding language https://ballerina.io/
Luau coding language https://luau-lang.org/
Gleam type language https://gleam.run/
"The Design Principles of the Elixir Type System" by G. Castagna, G. Duboc, and J. Valim
"A Gradual Type System for Elixir" by M. Cassola, A. Talagorria, A. Pardo, and M. Viera
"Programming with union, intersection, and negation types", by Giuseppe Castagna
"Covariance and Contravariance: a fresh look at an old issue (a primer in advanced type systems for learning functional programmers)" by Giuseppe Castagna
"A reckless introduction to Hindley-Milner type inference"Special Guests: Giuseppe Castagna, Guillaume Duboc, and José Valim.

Jun 1, 2023 • 58min
Chris McCord and Jason Stiebs on the Future of Phoenix
Phoenix core team members Chris McCord and Jason Stiebs join Elixir Wizards Sundi Myint and Owen Bickford the growth of Phoenix and LiveView, the latest updates, and what they're excited to see in the future. They express excitement for the possibilities of machine learning, AI, and distributed systems and how these emerging technologies will enhance the user experience of Elixir and LiveView applications in the next decade.
Key Topics Discussed in this Episode:
How community contributions and feedback help improve Phoenix LiveView
The addition of function components, declarative assigns, HEEx, and streams
Why Ecto changesets should be used as "fire and forget" data structures
Excitement about machine learning and AI with libraries like NX
The possibility of distributed systems and actors in the future
Verifying and solving issues in the Phoenix and LiveView issue trackers
Why marketing plays a part in the adoption and mindshare of Phoenix
How streams provide a primitive for arbitrarily large dynamic lists
Elixir VM's ability to scale to millions of connections
A creative use of form inputs for associations with dynamic children
Links Mentioned in this Episode:
Fly Site https://fly.io/
Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 2023
Keynote: I Was Wrong About LiveView by Jason Stiebs | ElixirConf 2022
Phoenix Site https://www.phoenixframework.org/
Phoenix Github https://github.com/phoenixframework
Two-Story, 10-Room Purple Martin House
Blog: The Road to 2 Million Websocket Connections in Phoenix
Raxx Elixir Webserver Interface https://hexdocs.pm/raxx/0.4.1/readme.html
Livebook Site https://livebook.dev/
Sundi’s 6’x 6’ Phoenix painting
Surface on Hex https://hex.pm/packages/surface
Axon Deep Learning Framework https://hexdocs.pm/axon/Axon.html
Nx Numerical Elixir https://hexdocs.pm/nx/intro-to-nx.html
Phoenix PubSub https://hexdocs.pm/phoenix_pubsub/Phoenix.PubSub.html
Jason Stiebs on Twitter https://twitter.com/peregrine
Jason Stiebs on Mastodon https://merveilles.town/@peregrineSpecial Guests: Chris McCord and Jason Stiebs.

May 25, 2023 • 47min
Sean Moriarity on the Future of Machine Learning with Elixir
Sean Moriarity, author of Genetic Algorithms in Elixir and creator of the Axon Library, joins Elixir Wizards Sundi Myint and Bilal Hankins to discuss Elixir’s role in the future of machine learning and AI. He explains the difference between artificial intelligence, chat models, machine learning, deep learning systems, and neural networks.
Large language models have great potential for code generation, education tools, streamlining workflow, and more. Deployment, development experience, and real-time processing make Elixir an ideal programming language for creating and improving machine learning tools.
Key Topics Discussed in this Episode:
The difference between machine learning and artificial intelligence
How Axon builds on top of the Nx library for deep learning in Elixir
Why logic cannot fully define characteristics that identify golden retrievers
How Google Translate uses machine learning with a unified language model
The difficulties in translating concepts with no direct counterpart between languages
Data cleaning and labeling challenges
How Sean's interest in sports betting led to exploring machine learning
Why Sean's NBA betting model recommended betting $0 to maximize profit
Getting started with machine learning and Elixir projects
Attention mechanisms in neural networks
Bias and exceptions in machine translation models
How hummus preference was used to determine Sundi's Hogwarts house
Sean's work on a LiveView interface for ChatGPT
Why Elixir's deployment story, development experience, and real-time processing are good fits for machine learning applications
Links Mentioned:
Genetic Algorithms in Elixir by Sean Moriarity: https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/
Axon Deep Learning in Elixir: https://seanmoriarity.com/2021/04/08/axon-deep-learning-in-elixir/
Nx Axon: https://github.com/elixir-nx/axon
Sean’s Twitter: https://twitter.com/sean_moriarity
Weston the Golden’s IG: https://www.instagram.com/westonthegolden_/
Sean’s Github: https://github.com/seanmor5
Bumblebee: https://github.com/elixir-nx/bumblebee
Sal Khan’s TedTalk about AI in Education: https://www.ted.com/talks/sal_khan_how_ai_could_save_not_destroy_education/c
Publicly Available Datasets/Intro to Machine Learning: https://www.kaggle.com/
Use code WIZARD for $100 off your ticket to Empex NYC in Brooklyn, NY on June 9, 2023 https://ti.to/empex-ny/empex-nyc-2023Special Guest: Sean Moriarity.

May 18, 2023 • 51min
Hugo Baraúna & Lucas San Roman on the Future of the Elixir Community
In this episode of the Elixir Wizards podcast, hosts Sundi Myint and Owen Bickford are joined by Hugo Baraúna, founder at Elixir Radar, and Lucas San Roman, senior software engineer at Felt. We dive into the future of the Elixir community, how we stay connected, and the remarkable culture that has developed over the past decade.
Key highlights in this episode:
The Elixir community's warm and inviting atmosphere
Commitment to long-term stability and innovation in the Elixir community
How projects like Nerves, Phoenix LiveView, and Livebook expand Elixir's capabilities
Global connections and support among Elixirists via Slack and Discord
The Elixir Radar newsletter provides up-to-date Elixir news and community developments
Getting “nerd sniped” by the community
Hugo Baraúna's motivation behind Elixir Radar and its impact on the tech industry
Networking opportunities and relationship-building within the community
Lucas San Roman's commitment to giving back with the Sourcerer Library
Plans for more advanced collaboration in Livebook with the new Teams feature
The potential introduction of a type system in Elixir
Links mentioned in this episode:
Elixir Radar: https://elixir-radar.com/
Felt: https://felt.com/
Ruby Weekly: https://rubyweekly.com/
The Elixir Discord Server: https://discord.com/invite/elixir
Code Fragment: https://hexdocs.pm/elixir/Code.Fragment.html
The Sourcerer Library: https://github.com/doorgan/sourceror
Livebook: https://livebook.dev/
Lucas’ Blog: https://dorgan.ar/
Hugo’s Twitter: https://twitter.com/hugobarauna
Elixir Radar on Twitter: https://twitter.com/elixir_radar
Livebook on Twitter: https://twitter.com/livebookdev
Lucas’ Twitter https://twitter.com/dorgan_
Guillaume Duboc Bringing Types to Elixir at ElixirConf EU 2023
Lucas on GitHub: https://github.com/doorgan
Rooster Fighter on Easter Island
Rooster Fighter at Iguazu Falls in Argentina
Use code WIZARD for $100 off your ticket to Empex NYC in Brooklyn, NY on June 9, 2023Special Guests: Hugo Baraúna and Lucas San Roman.
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.