Elixir Mix is a weekly show focused on the Elixir programming community. Our panel discusses topics around functional programming, the Elixir ecosystem, and building real world apps with Elixir based tools and frameworks.

Event-Driven Elixir with Thomas Kunnumpurath - EMx 166

March 09, 2022 1:00:17 73.26 MB Downloads: 0

In this episode the panel talks to Thomas Kunnumpurath about how to build event-driven systems in Elixir and what tradeoffs different approaches have. The panel probes Thomas - who is a relative newcomer to Elixir but well versed in building event-based systems - on his experience with various event brokers and compares how using an event broker differs from using the BEAMs built-in distribution mechanisms. Additionally the panel provides some insight into the BEAM’s history and for which context the BEAM’s distribution mechanisms were optimized. At the end Thomas asks the panel for some suggestions on how he can continue his BEAM journey with more advanced learning material. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Event Driven Elixir (Blogpost) (https://tkthetechie.io/event-driven-elixir/) Programming Elixir 1.6 (Book) (https://pragprog.com/titles/elixir16/programming-elixir-1-6/) Solace (https://solace.com/) RabbitMQ (https://www.rabbitmq.com/) Kafka Apache (https://kafka.apache.org/) HiveMQ (https://www.hivemq.com/) Eclipse Mosquitto (https://mosquitto.org/) OpenTelemetry (https://opentelemetry.io/) Elixir in Action (Book) (https://www.manning.com/books/elixir-in-action) The Little Elixir & OTP Guidebook (Book) (https://www.manning.com/books/the-little-elixir-and-otp-guidebook) Concurrent Data Processing in Elixir (Book) (https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/) Picks Adi- Horizon Forbidden West (Game) (https://www.playstation.com/en-us/games/horizon-forbidden-west/) Adi- Elixir Recruiter: Brian Samela (https://www.linkedin.com/in/brian-samela-38237013) Adi- Build Your Own Web Framework in Elixir (Book) (https://www.amazon.com/Build-Your-Framework-Elixir-hands/dp/1801812543) Allen: Testing Elixir (Book) (https://pragprog.com/titles/lmelixir/testing-elixir/) Sascha- DDD Europe - June 2022 (Conference) (https://2022.dddeurope.com/) Thomas- Horizon Forbidden West (Game) (https://www.playstation.com/en-us/games/horizon-forbidden-west/) Special Guest: Thomas Kunnumpurath.

Learning Erlang with Adolfo Neto - EMx 165

March 02, 2022 55:30 67.53 MB Downloads: 0

In this episode the panel talks with Adolfo Neto who went out to learn Erlang during last year’s “Advent of Code”. He talks about his experience with the format, compares it against using a platform such as exercism.org - where mentors can give feedback - and how this shaped his perception of the onboarding experience of Erlang. The panel also discusses Adolfo’s involvement in the Erlang Ecosystem Foundation’s education working group and what they think Erlang - and Elixir - could do better to attract newcomers and make onboarding easier. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Advent of Code (https://adventofcode.com/) Erlang Ecosystem Foundation (https://erlef.org/) José Valim on Twitch (Advent of Code Streams) (https://www.twitch.tv/josevalim) Exercism (https://exercism.org/) GitHub - livebook-dev/livebook: Interactive and collaborative code notebooks for Elixir - made with Phoenix LiveView (https://github.com/livebook-dev/livebook) Programming Erlang (Book) (https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/) Learn You Some Erlang (Book) (https://learnyousomeerlang.com/) GitHub - gfngfn/Sesterl: An ML-like statically-typed Erlang (https://github.com/gfngfn/Sesterl) Nova Framework (Erlang) (http://www.novaframework.org/) Zotonic Framework (Erlang) (http://zotonic.com/) Telegram: Elixir World (Group) (https://t.me/elixir_world) Slack: Erlang Ecosystem Foundation (https://erlef.org/slack-invite/erlanger) Hello Erlang (Podcast) (https://helloerlang.github.io/) Elixir Em Foco (Portuguese Podcast) (https://www.elixiremfoco.com/) Elixir, Erlang and the BEAM with Adolfo Neto (YouTube) (https://www.youtube.com/c/ElixirErlangandtheBEAMwithAdolfoNeto) Picks Adolfo- Erlang Battleground (Blog) (https://medium.com/erlang-battleground) Allen- Zotonic Framework (Erlang) (http://zotonic.com/) Sascha- Devtalk (Forum) (https://devtalk.com/) Sascha- Exercism (https://exercism.org/) Special Guest: Adolfo Neto.

Reusable Ecto Code with Mika Kalathil - EMx 164

February 23, 2022 50:06 61.05 MB Downloads: 0

In this episode the panel talks with Mika Kalathil about how to write Ecto code which makes it straight-forward to reuse and compose. In addition they discuss the advantages of having a streamlined and consistent error handling strategy and how all of that flows together in big, monolithic applications. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Creating Reusable Ecto Code in Elixir (https://learn-elixir.dev/blogs/creating-reusable-ecto-code) GitHub - MikaAK/ecto_shorts: Shortcuts for ecto (https://github.com/mikaak/ecto_shorts) GitHub - MikaAK/elixirerrormessage (https://github.com/MikaAK/elixir_error_message) blitz.gg (https://blitz.gg/) learn-elixir.dev (https://learn-elixir.dev/) Elixir Slack: Mika Kalathil (https://elixir-slackin.herokuapp.com/) Picks Allen- Elgato Stream Deck (https://www.elgato.com/en/stream-deck-xl) Mika- GitHub - MikaAK/absinthe_generator (https://github.com/MikaAK/absinthe_generator) Sascha- Dyson Sphere Program (Game) (https://store.steampowered.com/app/1366540/Dyson_Sphere_Program/) Sascha- Dare to Lead (https://brenebrown.com/hubs/dare-to-lead/) Special Guest: Mika Kalathil.

Code Quality Tools In Elixir - EMx 163

February 16, 2022 1:00:51 73.94 MB Downloads: 8

Today, the gang discusses the best code-quality tools that you NEED in your Elixir tool-belt, plus what to look out for in the Elixir world this year. It's gonna be a good one! Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links GitHub - rrrene/credo (https://github.com/rrrene/credo) GitHub - christopheradams/elixirstyleguide (https://github.com/christopheradams/elixir_style_guide) Twitter: @josevalim - using mix format on .heex files (https://twitter.com/josevalim/status/1488146619287678986) GitHub - elixir-wallaby/wallaby (https://github.com/elixir-wallaby/wallaby) GitHub - jeremyjh/dialyxir (https://github.com/jeremyjh/dialyxir) GitHub - nccgroup/sobelow (https://github.com/nccgroup/sobelow) GitHub - dnlserrano/exavier (https://github.com/dnlserrano/exavier) GitHub - devonestes/muzak (https://github.com/devonestes/muzak) GitHub - tmbb/darwin (https://github.com/tmbb/darwin) GitHub - whatyouhide/stream_data (https://github.com/whatyouhide/stream_data) Picks Adi- QuickCheck (Haskell) (https://riverside.fm/studio/elixir-mix#:~:text=https%3A//hackage.haskell.org/package/QuickCheck) Adi- GitHub - thebugcatcher/excoveralls_utils (https://github.com/thebugcatcher/excoveralls_utils) Allen- Smart lighting | Philips Hue (https://www.philips-hue.com/en-us) Sascha- Storm Front: The Dresden Files (https://amzn.to/3rSrvQi)

To Umbrella or not to Umbrella - EMx 162

February 09, 2022 45:23 55.39 MB Downloads: 4

In this episode the panel is picking up an often discussed topic in the Elixir community: umbrella projects and possible alternatives. They go over what an umbrella project actually is and their experiences with them. Based on this they go over the trade-offs you better know about, restrictions which might come back to bite you and how possible alternatives - like a monolithic app, “poncho” projects, or separate services - fare up against umbrella projects. In the end they also reflect on what has been said and give their opinions on how they’d built a complex greenfield project today. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Umbrella projects (Elixir’s official website) (https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html) Poncho Projects (Blog post) (https://embedded-elixir.com/post/2017-05-19-poncho-projects/) Dave Thomas: Keynote (Video) (https://www.youtube.com/watch?v=6U7cLUygMeI) DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together (Blog post) (https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/) Picks Adi- Microservices.io (https://microservices.io/) Sascha- Domain-Driven Design Distilled (Book) (https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420)

Full-text Search Powered by Elasticlunr with Rasheed Atanda - EMx 161

February 02, 2022 45:17 55.26 MB Downloads: 0

In this episode Adi, Allen, and Sascha talk with Rasheed Atanda about his library Elasticlunr which brings the power of full-text search to the BEAM without any external dependencies. They discuss where the library is standing right now, how indexing works in detail, and the benefits and drawbacks of having an external dependencies - such as Elasticsearch - compared to running it inside the same BEAM instance as your application. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Introduction to Elasticlunr (https://atandarash.me/blog/introduction-to-elasticlunr) GitHub - heywhy/ex_elasticlunr: Elasticlunr is a small, full-text search library for use in the Elixir environment. It indexes JSON documents and provides a friendly search interface to retrieve documents. (https://github.com/heywhy/ex_elasticlunr) GitHub Discussions for Elasticlunr (https://github.com/heywhy/ex_elasticlunr/discussions) Picks Adi- Weekly mentorship program for underrepresented groups in tech. Reach out to Adi via twitter or gmail if interested. Twitter: @lebugcatcher Gmail: aditya7iyengar@gmail.com Allen- Blockchain in Action (https://www.manning.com/books/blockchain-in-action) Sascha- GitHub - junegunn/fzf: A command-line fuzzy finder (https://github.com/junegunn/fzf) Sascha- GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to 'find' (https://github.com/sharkdp/fd) Special Guest: Atanda Rasheed.

OTP in Depth - EMx 160

January 26, 2022 44:26 54.25 MB Downloads: 0

In this episode Allen and Sascha talk about OTP and what people usually mean, when they say that it’s more of an intermediate topic. They discuss how work gets fairly scheduled on the BEAM, the start and shutdown behavior of BEAM applications, what supervision trees actually are, and why you probably shouldn’t start a process unsupervised. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links The Soul of Erlang and Elixir • Saša Jurić • GOTO 2019 (Talk) (https://www.youtube.com/watch?v=JvBT4XBdoUE) DynamicSupervisor (Elixir Docs) (https://hexdocs.pm/elixir/DynamicSupervisor.html) PartitionSupervisor (GitHub Pull Request) (https://github.com/elixir-lang/elixir/pull/11468) Handling of Exit Signals (Erlang Docs) (https://www.erlang.org/doc/reference_manual/processes.html#receiving_exit_signals) SASL - Error Logging (Erlang Docs) (https://www.erlang.org/docs/20/system_principles/error_logging.html) GenServer (Elixir Docs) (https://hexdocs.pm/elixir/GenServer.html)

When NOT To Use Elixir - EMx 159

January 19, 2022 1:00:28 73.48 MB Downloads: 0

In this episode, Allen, Sascha, and Adi discuss the type of apps where Elixir is a no-go, the weak spots you NEED to know to avoid headaches, and what alternatives the panelists recommend for very complex workflows. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Adi- Real World Haskell (https://amzn.to/3Ipgtr7) Adi- Learn You a Haskell for Great Good! (https://amzn.to/33ONNJ7) Allen- Testing LiveView (https://www.testingliveview.com/) Sascha- Blades in the Dark (https://www.evilhat.com/home/blades-in-the-dark/) Sascha- Band of Blades (https://www.evilhat.com/home/band-of-blades/)

Getting Elixir Right with Alex Burlacu - EMx 158

January 12, 2022 1:01:24 74.6 MB Downloads: 0

Excited about Elixir but not sure how to get the most out of it? We’ve got you covered. In this episode, the Elixir Mix roundtable sits down with Alex Burlacu, a software developer whose specialities include Elixir, machine learning, and blowing his own mind. They talk about this ONE Elixir feature that surprised Alex, the do’s and don’ts of pattern matching and guards, and why Elixir is making Java shake in its boots. “It was really nice seeing how my students were reacting to what’s possible with Elixir. One of my students’ implementations was 5x simpler than Java!” - Alex Burlacu In This Episode How Alex is using and teaching this MIND-BLOWING feature of Elixir Alex and the roundtable discuss the non-negotiable Do’s and Don’ts of pattern matching and guards Why Elixir is starting to make Java run for its money (and why students love it) The KEY difference between destructing and pattern matching (knowing this will save you time and headaches) Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Elixir pattern matching magic (https://dev.to/alexburlacu/elixir-pattern-matching-magic-2i9j) Predicate Dispatch (Wikipedia) (https://en.wikipedia.org/wiki/Predicate_dispatch) hexdocs - Kernel.destructure/2 (https://hexdocs.pm/elixir/1.12/Kernel.html#destructure/2) hexdocs - Kernel.defguard/1 (https://hexdocs.pm/elixir/1.12/Kernel.html#defguard/1) Picks Adi- O-Gah-Pah Coffee (https://shop.ogahpahcoffee.com/) Alex- The Three Body Problem (Book) (https://headofzeus.com/books/9781800246683) Alex- The Dark Forest (Book) (https://headofzeus.com/books/9781784971588) Alex- Death’s End (Book) (https://headofzeus.com/books/9781784971625) Allen- Rust for Rustaceans (Book) (https://nostarch.com/rust-rustaceans) Sascha- Immune (Book) (https://www.amazon.com/Immune-Kurzgesagt-gorgeously-illustrated-immune-ebook/dp/B08YR8FNCP) Sascha- Kurzgesagt - YouTube (https://www.youtube.com/user/Kurzgesagt) Sascha- Gravity Falls: Lost Legends (Book - Comic) (https://books.disney.com/book/gravity-falls-lost-legends/) Sascha- Gravity Falls (Series) (https://www.imdb.com/title/tt1865718/) Special Guest: Alex Burlacu.

Twitch Streaming with Elixir and Phoenix ft. Erik Guzmán - EMx 157

January 05, 2022 52:06 63.44 MB Downloads: 0

Want to see Elixir/Phoenix out in the wild? In this episode, Allen sits down with Erik Guzmán, a developer whose proficiency in Elixir/Phoenix enabled him to created instant closed captions for both Twitch and Zoom audiences. The two discuss why Elixir is so seamless in its scaling capabilities, how Elixir’s ability to reveal errors sooner saved Erik’s behind once or twice, and the biggest lessons Erik learned from burn out. “Because of how scalable and efficient things are, every client on Twitch is able to connect directly to my servers and get captions. I’ve been able to make a richer user experience.” - Erik In This Episode Why Erik moved from Ruby to Elixir and why it’s seamless for scaling How Erik’s live streaming programming for Twitch and Zoom is changing the game for speech-to-text What Erik learned from building code manually in Elixir/Phoenix, revealing something not-so-great about Ruby on Rails How Elixir reveals errors before they become life-threatening, saving Erik from a world of hurt What getting laid off and burnt out taught Erik about streaming, programming, and sharing Sponsors Top End Devs (https://topenddevs.com/) Picks Allen’s: Cloudflare Workers: https://workers.cloudflare.com/ Erik’s Ted Lasso show on AppleTV Connect with Erik: Twitch 1 https://twitter.com/talk2megooseman Erik Guzman - DEV Community Special Guest: Erik Guzmán.

A personal Brain with Nerves and LiveBook with Dimitris Zorbas

December 23, 2021 39:09 47.91 MB Downloads: 0

In this episode we talk with Dimitris Zorbas and how he built Brain using Nerves and LiveBook to teach a RaspberryPi to display quotes and highlights from his Kindle. We also talk about how the exciting developments in the Elixir ecosystem intertwine to create experiences bigger than the part of their sums and what part LiveBook will probably play in the future of these developments. Panel Allen Wyma Sasha Wolf Guest Dimitris Zorbas

3 Fundamental Pillars You Need to Succeed as an Entrepreneur - BONUS

December 16, 2021 1:05:07 78.15 MB Downloads: 0

Get Lifetime Access to Mani's Entrepreneurship Pack and Book Club. Use coupon code "GREAT" Mani has summarized hundreds of business books that outline how to build, grow, and operate a business and he shares his expertise with Chuck and the listeners in this special episode. Chuck and Mani discuss what it takes to be a successful entrepreneur. They talk about their businesses on a regular basis and Chuck's been getting a lot of requests for entrepreneurship help. He and Mani talk about the 3 primary things that add momentum to your business and help you keep the momentum up when setbacks come your way. Get Lifetime Access to Mani's Entrepreneurship Pack and Book Club. Use coupon code "GREAT"Special Guest: Mani Vaya.

Deploying Elixir with Miguel Cobá - EMx 155

December 15, 2021 54:02 65.76 MB Downloads: 0

In this episode we talk with Miguel Cobá about his book and article series “Deploying Elixir” which includes various ways to deploy your Elixir applications. We discuss the history of deploying Elixir apps, common pitfalls, and the pros and cons of going with a solution like Kubernetes compared to a “bare” server approach. Panel Allen WymaSascha Wolf Guest Miguel Cobá Sponsors Top End DevsCoaching | Top End Devs Links Deploying Elixir - Miguel Cobá (Articles)Deploying Elixir - Miguel Cobá (Book)KubernetesGitHub - bitwalker/libcluster: Automatic cluster formation/healing for Elixir applicationsasdf (version manager)Deploying Elixir - Miguel Cobá 1Miguel CobáTwitter: Miguel Cobá ( @MiguelCoba_ ) Picks Allen- Code Like a Pro in RustMiguel- Programming Phoenix LiveViewSascha- Search Inside Yourself Special Guest: Miguel Cobá.

Runtime Type Checking with Marten (Wiebe-Marten) Wijnja - EMx 154

December 08, 2021 49:52 60.77 MB Downloads: 0

In this episode we talk with Marten (Wiebe-Marten) Wijnja about his library TypeCheck which brings runtime type checking to your Elixir project and more. We also talk about the virtues of types in general, which value dialyzer brings, and how to use your type specs to run spec tests, which is a feature of TypeCheck. Panel Allen WymaSascha Wolf Guest Marten (Wiebe-Marten) Wijnja Sponsors Top End DevsCoaching | Top End Devs Links GitHub - Qqwy/elixir-type_checkIntroducing TypeCheck — TypeCheck v0.10.4ElixirForum - TypeCheck - Fast and flexible runtime type-checking for your Elixir projectsComparing TypeCheck and Norm — TypeCheck v0.10.4GitHub - elixir-toniq/normRacket (Language)Clojure (Language)Floating point issuesGleam (Language)GitHub - whatyouhide/stream_dataElixirForum: Wiebe-Marten Wijnja (Qqwy)ResiliaWiebe-Marten WijnjaGitHub: Qqwy / Marten ( Qqwy )Twitter: Wiebe Marten ( @WiebeMarten ) Picks Allen- pgAdmin - PostgreSQL ToolsMarten- 100 Years of Erlang | Quinn Wilton | Code BEAM America 2021 - YouTubeSascha- Kubernetes in ActionSascha- Knockout City™ - EA Official Site Special Guest: Marten (Wiebe-Marten) Wijnja.

Mastering LiveView ft. Sophie DeBenedetto - EMx 153

December 01, 2021 52:25 63.83 MB Downloads: 0

Sophie DeBenedetto rejoins the mix to discuss the latest developments in LiveView and how to use it to best effect in your Phoenix applications. She also discusses co-authoring the book "Programming Phoenix LiveView" with Bruce Tate and how the future of the project will drive the future of the book. Panel Adi IyengarAllen WymaCharles Max WoodSascha Wolf Guest Sophie DeBenedetto Sponsors Top End DevsCoaching | Top End Devs Links LiveView Integration Tests in Elixir | AppSignal BlogElixirConf 2021 - Chris McCord - The Future of Full-stack - YouTubeGitHub - grych/drab: Remote controlled frontend framework for Phoenix.GitHub - chrismccord/render_sync: Real-time Rails PartialsProgramming Phoenix LiveView: Interactive Elixir Web Programming Without Writing Any JavaScript by Bruce A. Tate and Sophie DeBenedettoBeam RadioTwitter: Sophie DeBenedetto ( @sm_debenedetto ) Picks Adi- GitHub - elixir-lang/elixir: Elixir is a dynamic, functional language designed for building scalable and maintainable applicationsAllen- Rust With FlutterCharles- Scythe – Stonemaier GamesSascha- Tabletop SimulatorSophie- Programming Phoenix LiveViewSophie- Timeline Special Guest: Sophie DeBenedetto.