
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

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.

May 11, 2023 • 44min
José Valim on the Future of the Elixir Ecosystem
Today on Elixir Wizards, José Valim, creator of the Elixir programming language, joins hosts Sundi Myint and Owen Bickford to discuss the future of Elixir, upcoming features, changes to the language and ecosystem, and the potential for a type system.
José discusses how Elixir’s extensibility allows the ecosystem to grow with new tools and libraries, all while requiring few languages to the core language.
Key Takeaways:
The origin of the famous rainbow heart combo
José’s hands-off approach to planning the ecosystem which allows community contribution without reliance on the core team
The success and growth of the Elixir community
Lessons learned in the first ten years of the language
The evolution of Elixir's documentation and the role of Livebook in creating more interactive and engaging learning experiences
The potential for Elixir Nx to make numerical computation, machine learning, and data science more accessible to Elixir developers
Potential implementation of a gradual type system and the importance of backwards compatibility
The role of the Elixir community in shaping the language's development and ecosystem, including the importance of open-source contributions
Whether we’ll see Elixir 2.0 in the next decade
Links mentioned in this episode:
Josė Valim Keynote ElixirConf EU Bringing Elixir to Life
Dashbit - https://dashbit.co/
Elixir programming language: https://elixir-lang.org/
ElixirConf: https://elixirconf.com/
ElixirForum: https://elixirforum.com/
Elixir's Logger library: https://hexdocs.pm/logger/Logger.html
José's Twitter: https://twitter.com/josevalim
ElixirLS (Elixir Language Server) https://github.com/elixir-lsp/elixir-ls
Mermaid Charts in Livebook - https://news.livebook.dev/date/2022/1
IEx - https://hexdocs.pm/iex/1.14/IEx.html
Numerical Elixir - Nx: https://hexdocs.pm/nx/getting-started.html
Nerves: https://hexdocs.pm/nerves/getting-started.html
Membrane: https://hexdocs.pm/membrane/getting-started.html
Dialyxir: https://hexdocs.pm/dialyxir/readme.html
LiveBook: https://hexdocs.pm/livebook/getting-started.html
Bumblebee: https://github.com/elixir-nx/bumblebeeSpecial Guest: José Valim.

May 4, 2023 • 46min
Saša Jurić on The Future of Training & Education in Elixir
Today on Elixir Wizards, Sundi Myint and Owen Bickford are joined by Saša Jurić, distinguished developer, mentor, and author of Elixir in Action. They discuss the future of training and education in Elixir, challenges faced by new Elixir developers, Phoenix generators, peer mentorship, the emergence of types, and when it’s time to close the umbrella.
Key Takeaways:
The functional programming paradigm, the actor model, and concurrency
Adapting to the Elixir syntax and tooling
The role of community, mentorship, and continuous learning in Elixir education
The pros and cons of Phoenix generators for Elixir development
Customizing templates in the Phoenix priv directory to better suit individual needs
The importance of understanding and adapting generated code for maintainability and proper abstractions
Importance of having a clear separation between core and interface
Adapting to different opinions and preferences within a development team
Refactoring and restructuring code to improve quality and reduce complexity
Static typing for better documentation and the limitations of dynamic code
Umbrella apps vs. mix configuration and how to avoid complexity
Links Mentioned in this Episode:
Enter to win a copy of Elixir in Action: https://smr.tl/2023bookgiveaway
Elixir in Action by Saša Jurić https://www.manning.com/books/elixir-in-action
35% discount code for book on manning.com: podexwizards20
Saša’s Website/Blog TheErlangelist.com
Towards Maintainable Elixir - Saša Jurić's Medium Blog Article Series
Boundary: Managing cross-module dependencies in Elixir projects
Site Encrypt: Integrated Certification via Let's Encrypt for Elixir-powered sites
Authentication Generator in Phoenix: https://hexdocs.pm/phoenix/mix_phx_gen_auth.html
Ecto query generator for Elixir https://hexdocs.pm/ecto/Ecto.html
GraphQL: Query language for APIs https://graphql.org/
Dialyxir: https://hexdocs.pm/dialyxir/readme.html
Nx (Numerical Elixir) GitHub Repository: https://github.com/elixir-nx/nx
ElixirLS (Elixir Language Server) GitHub Repository: https://github.com/elixir-lsp/elixir-lsSpecial Guest: Saša Jurić.

5 snips
Apr 27, 2023 • 48min
Mat Trudel on the Future of Phoenix and Web Transports
In this episode of Elixir Wizards, Owen and Dan talk to Mat Trudel, Phoenix contributor and creator of the Bandit Web Server, about the future of Phoenix, web transports, and HTTP/3. Mat explains the challenges and benefits of implementing HTTP/3 support in Phoenix.
Mat provides in-depth insights into the evolution of web protocols and encourages developers to continue pushing the boundaries of web development and to contribute to the growth of the open-source community.
Main topics discussed in this episode:
The evolution of web protocols and how HTTP/3 is changing the landscape
The challenges and benefits of implementing HTTP/3 support in Phoenix
How a home AC project revealed a gap in web server testing tools and inspired Bandit
how web transports like Cowboy and Ranch are used to build scalable web servers
WebSock for multiplexing data over a single WebSocket connection
Mat’s philosophy on naming projects and his passion for malapropisms
The Bandit project and how it can help developers better understand web protocols
Autobahn, a testing suite for WebSocket protocol specification conformance
The importance of community involvement in open-source projects
Encouragement for more people to use Bandit and report bugs
Links Mentioned:
SmartLogic is Hiring: https://smartlogic.io/about/jobs
PagerDuty: https://www.pagerduty.com
Phoenix Framework: https://www.phoenixframework.org/
Cowboy: https://ninenines.eu/docs/en/cowboy/2.9/guide/introduction/
Ranch: https://github.com/ninenines/ranch
Bandit - https://hexdocs.pm/bandit/Bandit.html
Autobahn: https://github.com/crossbario/autobahn-testsuite
HTTP Cats: https://http.cat/
Mat Trudel at Empex 2022 A Funny Thing Happened On The Way To The Phoenix
Thousand Island - https://hexdocs.pm/thousand_island/ThousandIsland.htmlSpecial Guest: Mat Trudel.

Apr 20, 2023 • 43min
Mike Waud and Tony Winn on the Future of Elixir on the Grid
Elixir Wizards Owen Bickford and Dan Ivovich are joined by Mike Waud, Senior Software Engineer at SparkMeter, and Tony Winn, Lead Software Architect at Generac, to discuss the future of the BEAM in the electric grid, how their companies use Elixir, and the challenges they face in implementing cutting-edge technologies in an environment with a mix of old and new systems.
Both guests have backgrounds in various programming languages before turning to Elixir for its functional programming capabilities, concurrency, and reliability. Elixir's portability allows it to be used in various environments, from cloud-based systems to more conservative organizations that prefer running software off the cloud.
Key topics discussed in this episode:
• Technology sophistication varies across different regions and industries
• BEAM's reliability, concurrency, and scaling in electric grid systems
• Using Elixir for caching, telemetry, and managing traffic spikes
• Elixir fits well for devices due to its fault tolerance and supervision trees
• Observability with telemetry hooks for understanding system performance
• Traffic patterns in the grid space are often dictated by weather and human activity, requiring efficient handling
• The balance between using Elixir/BEAM and other tools depending on use case
• Using Elixir tools like Broadway to work with event queues and Nebulex for distributed caching
• The future of the electric grid and its evolution over the next 10 years, including a shift towards more distributed energy generation
• Global lessons about grid management, solar penetration, regulations, and energy storage
• Prioritizing data in IoT systems and processing data at the edge of the network
• Gratitude for open-source contributors in the Elixir community
Links in this episode:
SparkMeter: https://www.sparkmeter.io/
Generac: https://www.generac.com/
SmartLogic - https://smartlogic.io/jobs
Gary Bernhardt's talk on functional core and imperative shell: https://www.destroyallsoftware.com/talks/boundaries
Joe Armstrong's Erlang book: https://pragprog.com/titles/jaerlang/programming-erlang/
The Nerves podcast and documentation: https://nerves-project.org/Special Guests: Mike Waud and Tony Winn.

Apr 13, 2023 • 51min
Sophie DeBenedetto on the Future of Elixir and LiveView
In today's episode, Sophie DeBenedetto emphasizes the importance of the Elixir community's commitment to education, documentation, and tools like liveBook, fostering an environment where people with varying skill levels can learn and contribute. The discussion highlights LiveView's capabilities and the role it plays in the future of Elixir, encouraging members to share knowledge and excitement for these tools through various channels.
Sophie invites listeners to attend and submit their talks for the upcoming Empex conference, which aims to showcase the best in Elixir and LiveView technologies. Additionally, the group shares light-hearted moments, reminding everyone to contribute to all types of documentation and promoting an inclusive atmosphere.
Key topics discussed in this episode:
• Updates on the latest release of the Programming Phoenix LiveView book
• The importance of community connection in Elixir conferences
• The future of documentation in the Elixir ecosystem
• The Elixir community's commitment to education and documentation
• LiveBook as a valuable tool for learning and experimenting
• Encouraging contributions across experience levels and skill sets
• Importance of sharing knowledge through liveBooks, blog posts, and conference talks
• Core Components in Phoenix LiveView, and modal implementation
• Creating a custom component library for internal use
• Reflecting on a Phoenix LiveView Project Experience
• Ease of using Tailwind CSS and its benefits in web development
• Advantages of LiveView in reducing complexity and speeding up project development
• LiveView's potential to handle large datasets using Streams
• The role of Elixir developers in the rapidly evolving AI landscape
Links in this episode:
Sophie DeBenedetto – https://www.linkedin.com/in/sophiedebenedetto
Programming Phoenix LiveView Book – https://pragprog.com/titles/liveview/programming-phoenix-liveview
Empex NYC - https://www.empex.co/new-york
SmartLogic - https://smartlogic.io/jobs
Phoenix LiveView documentation: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html
Live sessions and hooks: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.Router.html#live_session/1
LiveView: https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html
Tailwind CSS: https://tailwindcss.com/
Reuse Markup With Function Components and Slots
LiveView Card Components With Bootstrap
Building a Chat App With LiveView Streams Special Guest: Sophie DeBenedetto.

Apr 6, 2023 • 41min
Michael Lubas on the Future of Elixir Security
In today's episode of Elixir Wizards, Michael Lubas, founder of Paraxial.io, joins hosts Owen Bickford and Bilal Hankins to discuss security in the Elixir and Phoenix ecosystem. Lubas shares his insights on the most common security risks developers face, recent threats, and how Elixir developers can prepare for the future.
Common security risks, including SQL injection and cross-site scripting, and how to mitigate these threats
The importance of rate limiting and bot detection to prevent spam SMS messages
Continuous security testing to maintain a secure application and avoid breaches
Tools and resources available in the Elixir and Phoenix ecosystem to enhance security
The Guardian library for authentication and authorization
Take a drink every time someone says "bot"
The difference between "bots" and AI language models
The potential for evolving authentication, such as Passkeys over WebSocket
How Elixir compares to other languages due to its immutability and the ability to trace user input
Potion Shop, a vulnerable Phoenix application designed to test security
Talking Tom, Sneaker Bots, and teenage hackers!
The importance of security awareness and early planning in application development
The impact of open-source software on application security
How to address vulnerabilities in third-party libraries
Conducting security audits and implementing security measures
Links in this episode:
Michael Lubas
Email - michael@paraxial.io
LinkedIn - https://www.linkedin.com/in/michaellubas/
Paraxial.io - https://paraxial.io/
Blog/Mailing List - https://paraxial.io/blog/index
Potion Shop - https://paraxial.io/blog/potion-shop
Elixir/Phoenix Security Live Coding: Preventing SQL Injection in Ecto
Twitter - https://twitter.com/paraxialio
LinkedIn - https://www.linkedin.com/company/paraxial-io/
GenServer Social - https://genserver.social/paraxial
YouTube - https://www.youtube.com/@paraxial5874
Griffin Byatt on Sobelow: ElixirConf 2017 - Plugging the Security Holes in Your Phoenix Application
Erlang Ecosystem Foundation: Security Working Group - https://erlef.org/wg/security
Article by Bram - Client-Side Enforcement of LiveView SecuritySpecial Guest: Michael Lubas.