Join our weekly discussion of the popular functional language built on top of the Erlang virtual machine. Each week, we discuss the world of Elxiir, Phoenix, OTP, and then BEAM.
Exploring Svelte: Power, Simplicity, and Reactivity with Live View in Elixir - EMx 241
Wout De Puysseleir is a freelance software developer. They engage in a detailed exploration of the intricate parallels between Svelte and Live View, examining fundamental concepts and practical applications. From the development of the innovative Live Svelte framework to the challenges and rewards of Elixir adoption, they delve into the technical and professional aspects of the industry. Join them as they dissect the complexities of server-side rendering, client-side reactivity, and the influential role of Live View in the evolution of Elixir development.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinkslive_svelteSocialsGitHub: Wout De PuysseleirLinkedIn: Wout De PuysseleirAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/21/2024 • 35 minutes, 33 seconds
Real-Time Product Maintenance: Elixir and Phoenix at Supabase - EMx 240
Filipe Cabaço is a software engineer. Allen Wyma and Adi Iyengar host a compelling discussion with Filipe Cabaço from Supabase, diving into the technical intricacies of their real-time product built with Elixir and Phoenix channels. The episode features in-depth insights into load testing, scalability, and the impact of Postgres changes, offering valuable lessons for developers and tech enthusiasts. Join them as they explore the importance of thorough testing, the benefits of Elixir in problem-solving, and the tools utilized for load testing, providing a comprehensive look at real-time project developmentSponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksrealtimeSocialsLinkedIn: Filipe CabaçoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/14/2024 • 1 hour, 1 minute, 51 seconds
Unlocking Elixir Opportunities - EMx 239
Hayden Evans is the founder of Beam It and an Erlang/Elixir recruitment specialist. They delve into the world of Elixir and niche programming languages. They explore the passion and challenges surrounding the adoption and recruitment of Elixir talent, particularly within startups and production environments. The discussion revolves around the tight-knit Elixir community, the importance of networking, and practical tips for job applications and interviews within this specialized market. Join them as they uncover the unique dynamics and opportunities within the Elixir and Beam ecosystems.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksBeamrec.comSocialsLinkedIn: Hayden EvansTwitter: @BeamItRecAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/31/2024 • 58 minutes, 48 seconds
Credo Evolutions with René Föhring - EMx 238
René Föhring is the Head of Product at 5Minds, an open-source maintainer, and a conference speaker. They delve into a dynamic discussion centered around the intricacies of using Credo, a powerful static analysis tool for the Elixir programming language. Join them as they explore the balance between implementing rules and making informed decisions to suit a team's unique needs. The conversation also touches on configuring checks, the efficiency of Credo checks, recent updates and changes, the impact of community expectations on Credo's evolution, the value of metrics like cyclomatic complexity, and the significance of documentation in a project.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksCredoSocialsLinkedIn: René FöhringGitHub: René FöhringrrrenePicksAdi - SpawnFestRené - SourcererAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/24/2024 • 37 minutes, 6 seconds
Exploring the Evolution of Kaffy - EMx 237
Abdullah Esmail is an Elixir developer and the creator of Kaffy. They delve into the world of database management tools and the importance of consistency in running currency rate update jobs. They also explore the nuances of two different admin interfaces and the exciting updates and challenges faced by the developers behind these projects. Join them as they discuss upcoming features and the timeline for the next version of Kaffy, along with interesting insights into the development, usability, and future directions of the Kaffy admin interface. From database challenges to future feature requests, this episode promises an insightful and engaging look into the world of software development.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsGitHub: aesmailTwitter: @aaesmailLinkskaffyAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/17/2024 • 32 minutes, 20 seconds
Streamlining Development with Ash Framework - EMx 236
Zach Daniel is the author of the Ash Framework. They dive into the world of software development, with a focus on the Ash framework. They explore the intricacies and benefits of this revolutionary tool. They discuss the ease of using resources, the new extensions and packages available, and the upcoming release of Ash 3.0. With in-depth conversations about authorization, conditional access, and the philosophy behind Ash, this episode offers valuable insights into the future of application development. Tune in as the team navigates the complexities, challenges, and potential of this extensive project, and learn how Ash is reshaping the developer experience.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksAsh FrameworkSocialsZach Danielzachdaniel.devPicksAdi - Avatar: Frontiers of PandoraAllen - SuperbroZach - Children of TimeAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/10/2024 • 45 minutes, 12 seconds
Caching Complexity: The Evolution of Nebulex in Elixir Applications - EMx 235
Carlos Andres Bolaños is the Chief Architect at SafeBoda. Allen and Carlos delve into the complexities of caching in Elixir applications. They cover topics such as caching algorithms, eviction policies, and the evolution of a caching library, offering insights into the importance of caching for optimization and the challenges involved in refining caching functionality based on feedback and project traction. Join them as they explore the intricacies of caching in the world of Elixir development.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksNebulexSocialsGitHub: Carlos Andres Bolaños R.A.LinkedIn: Carlos Andrés Bolaños Realpe APicksAllen - Valley of ZekeAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/3/2024 • 59 minutes, 46 seconds
Marketing Success and Technical Challenges - EMx 234
Derek Kraan is an Elixir specialist. They delve into crucial aspects of software development and marketing. They engage in a thorough exploration of topics such as marketing strategies, software package development, and the challenges of product maintenance and launch. They take a deep dive into the complexities of subscription models, pricing strategies, and the sustainability of open-source libraries. The episode also features in-depth conversations about the development of Horde and Swarm packages, shedding light on the intricate details of their features and functionalities.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Derek KraanGitHub: Derek KraanPicksAdi - ElixirConf EUAdi - HordeDerek - How to Sharpen a Knife on a WhetstoneAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/27/2023 • 50 minutes, 43 seconds
Evolving Elixir with Saša Jurić - EMx 233
Saša Jurić is an Elixir mentor. They engage in insightful discussions on the practical applications of Credo for style enforcement, managing website traffic bursts with Elixir, and simplifying system architecture. Our esteemed guests share valuable insights on testing with Elixir, the expected release of "Elixir in Action," and the importance of defining boundaries in Elixir projects. Tune in to gain valuable knowledge and stay updated on the latest developments in technology and development.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksElixir in ActionSocialsLinkedin: Saša JurićPicksAdi - Code BEAM AmericaAllen - RoboCop: Rogue City on SteamSaša - Postmodern Jukebox – Todays Hits YesterdayAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
Daniel Kulesza is a software engineer. They delve into the intricate world of Elixir development and the challenges faced by companies in hiring talent for niche skills like Elixir and maintaining specialized projects such as Alexa. They explore the difficulties of managing remote teams and hiring consultants from different time zones and engage in a deep dive into programming languages, tools, and technologies, including the latest advancements in memory control for parallel processing in Elixir. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinkstheScore.com: Sports News | NFL NHL MLB NBA & moreSocialsLinkedIn: Daniel KuleszaPicksAdi - The Elder Scrolls V: Skyrim Special EditionDaniel - ESPN BET on the App StoreDaniel - FINAL FANTASY XVI | SQUARE ENIX.Daniel - Demon's SoulsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/6/2023 • 51 minutes, 57 seconds
How To Recession Proof Your Job - BONUS
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" DealCoupon Code: "THRIVE" for a GIANT discountAre you looking at all the layoffs and uncertainty going on and wondering if your company is the next to cut back? Or, maybe you're a freelancer or entrepreneur who is trying to figure out how to deliver more value to gain or retain customers?Mani Vaya joins Charles Max Wood to discuss the one thing that both of them use to more than double their productivity on a daily basis.Mani has read 1,000's of productivity books over the last several years and has formulated a methodology for getting more done, but found that he lacked the discipline to follow through on his plans.The he found the one thing that kept him on track and made him so productive that he is now getting all of his work done and was able to live the life he wants.Chuck also weighs in on how Mani's technique has worked for him and allows him to spend more time with his wife and kids, run a podcast network, and a nearly full time contract.Join the episode to learn how Chuck and Mani get into a regular flow state with their work and consistently deliver at work.Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/21/2023 • 1 hour, 12 minutes, 24 seconds
Engaging with the Elixir Community - EMx 230
Adi and Allen join this week's panelist episode. They dive into the vibrant Elixir community and explore the importance of open communication and feedback. From the struggles of casual conversation to the excitement of discussing technology, they uncover some interesting stories.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - SpawnFest 2023Allen - Yubico | YubiKey Strong Two Factor AuthenticationAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/11/2023 • 39 minutes, 57 seconds
Caching, Telemetry, and Beyond: Navigating Software Solutions for Efficient Development - EMx 229
Allen, Adi and Sascha join this week's panelist episode. They talk about the importance of a historical record, logging, and error handling, time operations in Elixir, and code linting with Credo. Moreover, they dive into helpful app development tools, caching with etech plug, telemetry, and open telemetry solutions.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - ueberauth/ueberauthAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/27/2023 • 54 minutes, 27 seconds
Observability in the Beam: An In-Depth Exploration of Tools and Solutions - EMx 228
Adi, Allen, and Sascha join this week's panelist episode. They dive deep into the world of observability, tracing, and monitoring. They talk about the advantages of using open telemetry directly and how it can be translated into different formats. They also explore the benefits of using tools for understanding and improving code performance during development. Additionally, they take a look at different levels of observability, from Phoenix Live View and Live Dashboard to telemetry and tracing operations in large pipelines. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialAdi - Trace_pattern function in ErlangAllen - GigCityElixir 2023 - Amos KingSascha - EverWorld on SteamAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/13/2023 • 48 minutes, 13 seconds
Building Applications with Flexibility and Scalability in Mind - EMx 227
Adi, Allena, and Sascha join this week's panelist episode. They dive into the world of engineering approaches for startups and delve into the ongoing debate of whether software engineering is really engineering. They discuss a unique structure for building a big elixir application, where separate bound contexts are responsible for their own supervision trees. They share their insights on the benefits and challenges of this approach, exploring the balance between pragmatism and forward-thinking. From discussing microservices to exploring new programming languages and patterns, there is plenty of valuable information for developers of all levels. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - Revel - Go Web FrameworkAdi - Rise of the RoninAdi - Ghost of TsushimaAllen - Elixir MergeAllen - Ferrous SystemsSascha - Are We Really Engineers?Sascha - VINLAND SAGAAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/6/2023 • 50 minutes, 4 seconds
Choosing Elixir as your Language - EMx 226
Bruce Tate is the founder of grox.io. He begins by introducing himself and talking about the services his company provides. They also discuss choosing Elixir as your first language for beginners, its pros and cons, and each of the panel's perspectives regarding it. Moreover, they dive into all things Elixir and many more!SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksgrox.ioSeven Languages in Seven WeeksThe book is on sale this week at the pragprog.com - Code: CODING2023 (There are other books on sale as well.)SocialsLinkedIn: Bruce TatePicksAdi - Seven More Languages in Seven WeeksAdi - SpawnFest 2023Allen - Teenage Mutant Ninja Turtles: The Cowabunga CollectionBruce - Home | Currently The BoatAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/16/2023 • 1 hour, 1 minute, 54 seconds
Being an Elixir Engineer with Andrea Leopardi - EMx 225
Andrea Leopardi is a Software engineer, author, speaker, and member of the Elixir core team. He begins by sharing his experiences as an Elixir core team member, software engineer and how the Elixir core team manages their projects. Moreover, he talks about his soon-to-be-released book, what it is about, and the motivation for his book. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialLinkedIn: Andrea Leopardiandrealeopardi.com PicksAdi - Vacuum CleanersAllen - Elgato Stream Deck Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/9/2023 • 50 minutes, 14 seconds
The Elixir System with Josh Adams - EMx 224
Josh Adams is a Software Engineer at GridPoint. He joins the show to talk about his experience in Elixir. He begins by explaining the reason why prefers the Elixir language compared to the other frameworks. He also shares his journey of transitioning from Ruby to Elixir. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksGridPointSocialsLinkedIn: Josh AdamsPicksAdi - Existential PhysicsAdi - Groxio Learning: Career Fuel for ProgrammersAllen - Surely You're Joking, Mr. Feynman! Josh - On the Genealogy of MoralityJosh - Build Your Own Web Framework in ElixirAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/26/2023 • 49 minutes, 13 seconds
Things Lately as a Developer - EMx 223
Adi, Allen, and Sascha join this week's panelist episode to discuss their most recent work update and exciting projects. They also dive into some of the issues they experienced while working on some of their projects and how they handled them. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - HelixSascha - Watch Black Mirror | Netflix Official SiteAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/13/2023 • 49 minutes, 52 seconds
Building Your Web Framework in Elixir with Adi Iyengar - EMx 222
Adi Iyengar is an Engineering Leader, Startup Advisor, Author, and Elixir Mix Podcast Host. He joins Allen to talk about his book, "Build Your Own Web Framework in Elixir". He begins by talking about the process of publishing a book, how he wrote his book and gives some tips to aspiring authors. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksBuild Your Own Web Framework in ElixirSocialsLinkedIn: Adi IyengarTwitter: aditya7iyengarAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/6/2023 • 42 minutes, 43 seconds
Run Specific Test Cases using ExUnit with Kevin Mathew - EMx 221
Kevin Mathew is a Junior Backend Developer at Qiibee. He joins the show to talk about his article, "Run specific test cases with ExUnit". He begins sharing how he became an author in ElixirSchool. He also shares the reason why he came up with his article. Additionally, he dives into explaining running specific tests and the panel also shares their own experience & perspective on the different tests. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksRun specific test cases with ExUnitSocialsLinkedIn: Kevin MathewGitHub: kevinam99Twitter: @neverloquaciousPicksAdi - Helix EditorAdi - Build Your Own Web Framework in ElixirAllen - Starship Troopers: ExterminationAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/28/2023 • 1 hour, 26 seconds
Deploying Apps with MRSK - EMx 220
Richard Taylor is the CTO at Dizzie. He joins the show to talk about his article, " Multi-Cloud Deployment for Elixir & Phoenix with MRSK". He begins by sharing how he got into it and what made him interested in Elixir. He explains deploying apps using the MRSK and its difference from AWS.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksMulti-Cloud Deployment for Elixir & Phoenix with MRSKZerotierslackhq/nebulaGlobally distributed Elixir over TailscaleSocialsLinkedIn: Richard TaylorTwitter: @moomermanPicksAllen - Aliens: Colonial Marines Collection on SteamRichard - LUNARK on SteamRichard - MimestreamRichard - Homebrew/homebrew-autoupdateAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/7/2023 • 49 minutes, 57 seconds
Sports Betting in Elixir with Nikola Petrušić - EMx 218
Nikola Petrušić is a Software Engineer at theScore. He joins the show to talk about Sports Betting. He begins by sharing his experiences in the industry and how he landed his job. He dives into the concept of sports betting in the Elixir ecosystem. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinks Wardley MappingEventStorming What is Last Responsible Moment? | Simplicable Nine Whys commandedSocialsGetting in Touch - Email: nikola.petrusic221@gmail.com LinkedIn: Nikola PetrušićPicks Adi - Days Gone Adi - Jobs (get in touch with him) Allen - Full Throttle Nikola - Elixir in ActionNikola - God of War RagnarökSascha - Eat Trash, Be Free!Sascha - Sifu Sascha - Learning Domain-Driven Design Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/17/2023 • 52 minutes, 31 seconds
Building Distributed Systems at Scale - EMx 219
Brent Anderson is a Software engineer at Knock. He builds high-scale messaging systems in Elixir. He joins the show to talk about his article, "Using our One and Done Library to power idempotent API requests". He begins by explaining the idea of creating a library and the importance of idempotency. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinks https://knock.app/blog/using-one-and-done-to-power-idempotencyhttps://en.wikipedia.org/wiki/Thundering_herd_problemhttps://hex.pm/packages/socket_dranohttps://blog.heroku.com/erlang-in-angerhttp://www.erlang-in-anger.com/ Getting in Touch @bja@social.brentjanderson.com brant@knock.app Picks Adi - Job Allen - PreyBrent - Dendron Brent - RPG in a BoxBrent - e-bikeSascha - Bullet Journaling Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/10/2023 • 55 minutes, 24 seconds
What Have You Used Elixir For Recently? - EMx 217
Adi, Allen, and Sascha join this week's panelist episode to talk about their Elixir projects, recent discoveries, and challenges they have encountered.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - UNCHARTED: The Lost LegacyAllen - Alan Wake's American NightmareSascha - A Short Hike on SteamSascha - Mario Kart Tour | NintendoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/5/2023 • 53 minutes, 32 seconds
Getting to Know Bruce A. Tate - BONUS
Bruce A. Tate is a Founder at Groxio, Elixir Expert, and a Technical Author. He joins the show alongside Charles Max Wood to talk about his book, "Seven Languages in Seven Weeks". He also delves into some of the preparations and anticipations that come with reading the book. LinksSeven Languages in Seven Weeksgrox.io SocialsLinkedIn: Bruce TateTwitter: redrapidsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/28/2023 • 31 minutes, 37 seconds
Career Growth Opportunities- EMx 216
Charles Max Wood returns to Elixir Mix to discuss career growth opportunities. They dive into coaching and mentoring developers who feel like they're not moving forward in their careers or profession. They offer some advice on how to alter the course of your career and how to build your skills. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAdi - Detox Your EgoAdi - Stick HeroAllen - Call of Duty®: Black Ops Cold WarCharles - Ark Nova | Board GameCharles - Dice Forge | Board GameCharles - Seven Languages in Seven WeeksAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/26/2023 • 1 hour, 54 seconds
Jason Weimann - Learn Video Game Development with Chuck - BONUS
Jason Weimann is a Developer and Instructor. He returns to the show with Chuck to talk about video game creation. He shares his experiences as a developer and dives into his courses wherein he gives beginners and aspiring developers a walk-through of the world of creating games. LinksGame development courses & tutorialsProgrammer Course – game.coursesSocialsTwitter: @jweimannAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/21/2023 • 50 minutes, 12 seconds
What's Haystack with Philip Brown? - EMx 215
Philip Brown is an Elixir software engineer, and entrepreneur with over 15 years of experience building and scaling internet software applications and services. He joins the show to talk about "haystack". It is a simple, extendable full-text search engine written in Elixir. He begins by sharing his motivation to create his project and his purpose for building it. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksAdding a Table of Contents to Nimble Publisher | CultttGitHub - elixir-haystack/haystack: Simple, extendable full-text search engine written in ElixirBuilding a full-text search engine in Elixir | CultttPriseSocialsPhilip BrownTwitter: @philipbrownPicksAllen - Arctis Nova Pro wireless for the best gaming experienceAdi - Tchia on SteamPhilip - Multi-Cloud Deployment for Elixir & Phoenix with MRSKAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/12/2023 • 48 minutes, 3 seconds
How Do You Stop Hating Your Job? - BONUS
Are you dissatisfied with your job? Sam Feeney helps organizations improve employee engagement, increase retention, and reinvent hiring while helping individuals (re)discover career satisfaction in their current roles. He joins the show alongside Chuck Wood to tackle altering the way you perceive your job and talk about Career satisfaction.On YouTubeHow Do You Stop Hating Your Job? - BONUSSocialsLinkedIn: Sam FeeneyAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/12/2023 • 44 minutes, 43 seconds
Debugging in Elixir with Marcos Ramos - EMx 214
Marcos Ramos is a Senior Software Engineer. He joins the show with Allen to talk about, Debugging and Tracing in Erlang | AppSignal Blog. He explains the process of debugging and the tools that he is using. He shares his methods and tips for tracing and debugging.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksDebugging and Tracing in Erlang | AppSignal Blog SocialsMarcos RamosTwitter: @rmsmrcsPicksAllen - Lens | The Kubernetes IDEMarcos - Neil Gaiman BooksMarcos - Erlang in Anger: Stuff Goes BadAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/5/2023 • 50 minutes, 14 seconds
Learning about Owl with Artur Plysyuk - EMx 213
Artur Plysyuk is a Software Engineer at proSapient. He joins the show alongside Allen to talk about, "Owl: A toolkit for writing command-line user interfaces". He begins by introducing "Owl" and what motivated him to write the library. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksOwl - A toolkit for writing command-line user interfaces - Libraries - Elixir Programming Language ForumGitHub: fuelen/owlSocialsGitHub: fuelenLinkedIn: Artur Plysyuk Twitter: @fuelenPicksAdi - The Forgotten City on SteamAllen - Aliens: Fireteam Elite on SteamArtur - elixir-ecto/ectoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/29/2023 • 37 minutes, 10 seconds
Design Pattern in Elixir with Sergey Chechaev - EMx 212
Sergey Chechaev is the СТО/Co-Founder at PushSMS. He joins the show alongside Allen to discuss "Design Pattern Parameter". He talks about his experiences as a Software Developer and some of the languages he used. Moreover, he discusses design patterns from his point of view, how it is applied, and their primary purpose.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksDesign pattern parameterLinkedIn Sergey ChechaevSergey ChechaevPicksAllen - Alan Wake 2 — Alan WakeSergey - Night RunnersAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/22/2023 • 36 minutes, 3 seconds
Genetic Algorithms With José Diogo Viana - EMx 211
José Diogo Viana is a Full Stack Engineer. He joins the show to talk about, Genetic Algorithms to optimize an Asset Portfolio and his company, "Finiam". He begins by discussing his company, what clients they cater and the services they provide. Being a Fintech company, he also tackles their projects in Finiam and what frameworks they usually use. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksGenetic Algorithms to optimize an Asset PortfolioFiniam BlogzediogovianaGitHub: zediogovianaLinkedIn: José Diogo VianaTwitter: @zediogovianaReach out to Adi for work opportunities + Founding Engineer roles: aditya7iyengar@gmail.com PicksAdi - Temu Adi - RoborockAdi - Build Your Own FrameworkAllen - World War Z: AftermathDiogo - The Last of UsDiogo - Code BulletDiogo - Range Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/15/2023 • 49 minutes, 1 second
Handling and Updating Web Application Dependencies - EMx 210
Allen and Sascha join this week's panelist episode to talk about updating web application dependencies. They dive into the things you should consider in web application updates. Moreover, they share their professional experience and how they deal with errors and bugs after updating software.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAllen - Sleeping Dogs on SteamSascha - goldilocks DocumentationSascha - SifuAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/8/2023 • 46 minutes, 13 seconds
The Use Of Stenography In Elixir With Paul Fioravanti - EMx 209
Paul Fioravanti is Principal Consultant at Alembic. He joins the show alongside Sascha to talk about his YouTube video, "Build a real-time Twitter clone with steno using LiveView and Phoenix 1.6" He starts off by sharing how he was introduced to the concept of "Stenography" and how it lead to creating his youtube video. He explains using steno in programming and what difference it makes. Additionally, he advises beginners on how to get started with steno. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksBuild a real-time Twitter clone with steno using LiveView and Phoenix 1.6 - YouTubePlover - Open Steno ProjectPaul FioravantiPaul Fioravanti - YouTubeLinkedIn: Paul FioravantiGitHub: paulfioravantiTwitter: @paulfioravantiPicksPaul - we are mario - SUPER NINTENDO WORLD™Paul - Gc - Doom 3 - DoomworldPaul - ParkrunSascha - SifuAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/2/2023 • 59 minutes, 42 seconds
How To Secure Your Elixir Application With Michael Lubas - EMx 208
In this episode, Allen, Adi, and Sascha are joined by Michael Lubas, the founder of paraxial.io, as they delve into the world of bot defense. Michael highlights the importance of bot defense, especially for small companies who are often deliberately targeted. The group examines the issues with "man-in-the-middle" solutions like Cloudflare and how this can be avoided by having bot defenses built into the application itself - the approach paraxial.io is taking. He explains how paraxial's bot detection and defense work on a high level, how it tries to reduce the runtime overhead to a minimum, and what other security topics are relevant for the day-to-day Elixir developer.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksElixir and Phoenix Application Security PlatformGitHub - michalmuskala/plug_attack: A plug building toolkit for blocking and throttling abusive requestsGitHub - nccgroup/sobelow: Security-focused static analysis for the Phoenix FrameworkGitHub - mirego/mix_auditmix hex.audit - Hex v2.0.6GitHub - dimitarvp/trie: A basic Elixir implementation of the Trie data structurePhoenix Application SecuritySecuring Elixir/Phoenix Applications: 5 Tips to Get Startedpersistent_termGet in touch with Michael Lubas michael@paraxial.ioLinkedIn: Paraxial.ioLinkedIn: Michael LubasTwitter: @paraxialioParaxial.ioPicksAdi - Hogwarts LegacyAdi - Captain Sonar GameAllen - Alfred Hitchcock - Vertigo on SteamMichael - 3Blue1Brown (YouTube Channel)Michael - Deus Ex™ GOTY EditionSascha - Disco ElysiumSascha - GitHub - ExHammer/hammer: An Elixir rate-limiter with pluggable backendsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/22/2023 • 58 minutes, 58 seconds
Creating League of Legends Probuild with Baptiste Chaleil - EMx 207
Baptiste Chaleil is a software developer specializing in the development of web applications. He joins the show alongside Allen to talk about his blog post, "Probuild Ex Part One". He begins by sharing his journey of how he started his career and why he enjoys his career in Esports. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksProbuild Ex Part OneTwitter: @mrdotBGitHub: mrdotbmrdotbPicksAllen - Wolfenstein: The New Order Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/16/2023 • 47 minutes, 12 seconds
Putting Elixir Applications Into Production In 2023 - EMx 206
Adi, Allen, and Sascha join this week's panelist episode to tackle different deployment applications in Elixir. Allen leads the show as he talks about the application "Fly.io". He describes how he used the software, how it works, and its benefit to users. On the other hand, Adi explains why he prefers to use Heroku. He explains its process and why it is also user-friendly. Lastly, they highlight the tools they think developers should utilize in 2023.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksFly.ioHeroku: Cloud Application PlatformAppSignalLogDNA is now MezmoGrafana OnCallSentryPicksAdi - Hogwarts LegacyAdi - VampyrAdi - * Great candidates! Head of Customer/Client Success Candidate: Delaney Widen: With 10+ years of startup experience, I'm a self-starter and creative problem solver. Effective and entertaining communication is of the utmost importance to me professionally and personally. I love being the voice of the customer and the team, providing their feedback as a liaison to guide and develop strategies, ultimately making more seamless experiences. Head of Operations: Olivia Del Bacro: Olivia is a multifaceted operations expert with a history of building and scaling out processes for fast-growth businesses. She is passionate about people and process while being a champion of change. With 10+ years of experience in the start-up world, she has demonstrated success in BizOps, Marketing Operations, Sales Enablement, and Project Management roles.Allen - Bright Memory: InfiniteSascha - Stick Fight: The GameAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/8/2023 • 43 minutes, 35 seconds
Remote Development With Ben von Polheim - EMx 205
Ben von Polheim is a Freelance Front-end Developer. He also built two Elixir libraries: live_motion and ex_cva. He joins Allen and Sascha to talk about his article, "Remote Development in Elixir with Gitpod". He explains how he came up with the idea for the project and the process of setting it up. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksRemote Development in Elixir with Gitpod 🍊 — benvp— benvp live_motionex_cvaTwitter: @benvp_benvp.coPicksAllen - DOOMBen -Metaprogramming ElixirBen - TUNIC on SteamSascha - Gleam.io - Grow Your AudienceSascha - Dome Keeper on SteamSascha - Mario Strikers™Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/1/2023 • 48 minutes, 19 seconds
Building An Empire With Francesco Cesarini - EMx 204
Francesco Cesarini is the Founder & Technical Director at Erlang Solutions. It is a global corporation with a focus on soft real-time systems with high availability and scalability demands. He joins the show to share his inspiring story of how he was able to establish and run his own company. He begins by discussing how he came to be successful over the years and his road to getting there. SponsorsChuck's Resume TemplateDeveloper Book Club starting with Clean Architecture by Robert C. MartinBecome a Top 1% Dev with a Top End Devs MembershipLinksErlang SolutionsLinkedIn: Francesco CesariniTwitter: @FrancescoCPicksAdi - The $100 StartupAdi - Microservice Architecture: Aligning Principles, Practices, and CultureAdi - Pre-purchase Forspoken on SteamAllen - Designing for Scalability with Erlang/OTPFrancesco - Remote: Office Not RequiredFrancesco - Who Moved My CheeseFrancesco - The Art of Thinking ClearlyAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/25/2023 • 1 hour, 18 seconds
Code Security in Elixir With Filipe Cabaco - EMx 203
Filipe Cabaco is an Elixir Software Developer who currently works at Supabase. He joins the show with Allen and Sascha to discuss his article, "Elixir Code Security: Prioritize Security in Your CI With 4 Tools". He begins by outlining how he came up with the idea for his article and how that came about. Additionally, he discusses some of the tools that may be used to safeguard your code. SponsorsAppSignalDeveloper Book Club starting with Clean Architecture by Robert C. MartinBecome a Top 1% Dev with a Top End Devs MembershipLinksElixir Code Security: Prioritize Security in Your CI With 4 ToolsFilipe Cabaco BlogcredosobelowLinkedIn: Filipe CabaçoTwitter: @filipecabacoPicksAllen - Metal Gear Solid Legacy on SteamAllen - EmuDeckFilipe - Peter UllrichFilipe - Concurrent Data Processing in ElixirFilipe - Andrea Leopardi | YouTubeSascha - ADHD 2.0Sascha - EXAPUNKS on SteamAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/18/2023 • 49 minutes, 47 seconds
Templated GitHub Pages With EEX And External Data Sources - EMx 202
Josep Lluis Giralt D’Lacoste is a software engineer passionate about technology in general. He is the Tech Lead at Eebz. He joins the show with Allen and Adi to talk about his GitHub repository about the summary of his Strava stats. Strava is an American website that tracks physical activity and integrates social network features. SponsorsAppSignalDeveloper Book Club starting with Clean Architecture by Robert C. MartinBecome a Top 1% Dev with a Top End Devs MembershipLinksThe strava summaryThe strava sync elixir scriptGuest github profile, which includes bits of the strava summaryThe strava summary erlang rewriteElixirConf EUgilacost - Personal SiteLinkedIn: Josep Lluis Giralt D'LacosteGitHub: gilacostPicksAdi - Send Adi a message if you're looking for a jobAllen - L.A. Noire - Rockstar GamesAllen - Team Bondi - WikipediaJosep - BlasphemousJosep - Traveling: Greece and its islands: a must-visit for nomadsJosep - Programming Phoenix Live View from Sophie de DeBenedettoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/11/2023 • 35 minutes, 58 seconds
Embedded Software in Elixir With Amos King - EMx 201
Amos King is the CEO of Binary Noggin. He is also one of the hosts of the show Elixir Outlaws. He joins Adi and Allen to talk about his article, “Building Embedded Systems in the Modern Era”. Embedded systems is a microprocessor-based computer hardware and software system that is intended to carry out a specific function, either on their own or as a component of a larger system. He goes into detail on how and why he came up with the topic for his article. About this EpisodeAll about "Embedded System" Process of how "Nerves" work"Nerves" vital role in the Embedded SystemsSponsorsAppSignalDeveloper Book Club starting with Clean Architecture by Robert C. MartinBecome a Top 1% Dev with a Top End Devs MembershipLinksBuilding Embedded Systems in the Modern EraBinary NogginNerves ProjectAmos KingLinkedIn: Amos KingTwitter: @AdkronPicksAdi - Assassin's Creed Valhalla for Xbox Series X - UbisoftAllen - Steam Deck™Amos - Crafting InterpretersAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/4/2023 • 53 minutes, 28 seconds
Deploying Phoenix Applications With Herman Verschooten - EMx 200
Herman verschooten is an Elixir and Elm enthusiast and was once a Ruby Developer. He is also the developer of the GratWiFi hotspot system. He joins Elixir Mix on the show’s 200th episode together with Adi and Allen to talk about his article, " How I deploy my Phoenix apps". He also discusses how he manages and runs all of his applications. Moreover, Herman tackles the reason behind using systemd to run the apps.SponsorsAppSignalDeveloper Book Club starting with Clean Architecture by Robert C. MartinBecome a Top 1% Dev with a Top End Devs MembershipLinksHow I deploy my Phoenix appsHerman verschooten Twitter: @HermvJrGitHub: Hermanverschootenherman_verschooten on Elixir slackHermanverschooten on Elixir forumPicksAdi - DribbbleAllen - KuberneticHerman - Good Omens Herman - SiteEncrypt Herman - Antwerp Brew CompanyAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/28/2022 • 45 minutes, 17 seconds
Full-Text Search And Name Search With Postgres - EMx 199
Peter Ullrich is Senior Elixir Engineer at Remote. He is also an experienced Elixir Developer, certified Blockchain Engineer, and Entrepreneur. He joins Allen and Adi to talk about his blog articles, THE COMPLETE GUIDE TO FULL-TEXT SEARCH WITH POSTGRES AND ECTO, and EFFICIENT NAME SEARCH WITH POSTGRES AND ECTO. He starts off the show by explaining what inspired him to write these articles.
About this Episode
Replacing "ElasticSearch" with "Full-Text search"
Benefits of using Full-Text Search in Postgres
Understanding Indexes in Postgres
Sponsors
AppSignal
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Links
THE COMPLETE GUIDE TO FULL-TEXT SEARCH WITH POSTGRES AND ECTO
EFFICIENT NAME SEARCH WITH POSTGRES AND ECTO
SQL for Devs
PETER ULLRICH
LinkedIn: Peter Ullrich
Twitter: @PJUllrich
Picks
Allen - Actual E2E Testing with Cypress, Vue and Elixir/Phoenix, using Ecto sandbox
Peter - Watch Inside Men | Netflix
Peter - Smashing Security
Peter - Building Table Views with Phoenix LiveView
Sascha - Inscryption on Steam
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/22/2022 • 51 minutes, 11 seconds
Tracking Errors and Performance Using AppSignal With Thijs Cadier - BONUS
AppSignal is a real-time APM provider for Ruby, Rails, Elixir & Phoenix. In addition to host monitoring and an intuitive custom analytics platform, it provides insights into errors and performance problems. Thijs Cadier is the Cofounder and CTO of AppSignal. He starts off by sharing how their company was founded and what inspired them to develop AppSignal. He joins Chuck in the show to talk about AppSignal’s useful and new features. Moreover, he explains the details of how it functions and how users can benefit from subscribing to it. Links
AppSignal
Twitter: @AppSignal
Twitter: @thijsc
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/16/2022 • 27 minutes, 52 seconds
Creating Powerful Applications Using Ash Framework With Zach Daniel- EMx 198
Zach Daniel is the Principal Platform Engineer at Alembic. He joins Allen on the show to talk about his project, “Ash Framework” and how to integrate the framework into your Elixir application. Ash Framework is a declarative, resource-oriented application development framework for Elixir. About This Episode
Learning more about Ash Framework
Different usage of Ash Framework in your system
Misconceptions around Ash Framework
Different Ash Framework Extensions
Sponsors
AppSignal
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Links
Ash Framework - Elixir Forum
Ash Framework
ElixirConf 2020 - Zach Daniel - Introduction to the Ash Framework
GitHub: Ash Framework
Twitter: @AshFramework
Zach Daniel - YouTube
Become a sponsor to Zach Daniel
Twitter: @ZachSDaniel1
GitHub: zachdaniel
Picks
Allen - Amazon Web Services in Action
Zach - Watch The Good Place | Netflix
Zach - Return of the Obra Dinn
Zach - Tactics Ogre: Reborn | SQUARE ENIX
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/14/2022 • 1 hour, 2 minutes, 38 seconds
Should You Use Process Dictionary In Your Elixir Program? - EMx 197
Join the Elixir Mix Panel as Adi opens the episode by discussing his thoughts on how some companies employ an unconventional procedure to manage their system. Additionally, they share their insights and opinions on using the "process dictionary" and whether it’s beneficial or it’s not necessary.
About this Episode
All about Elixir Agents
All about GenServer
Difference between Elixir Agent and GenServer
Sponsors
AppSignal
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Picks
Adi - God of War Ragnarök - PS5 and PS4 Games - PlayStation
Adi - All Pokémon Video Games - Pokemon.com
Allen - Very Good Ventures - YouTube
Sascha - ex_union
Sascha - Returnal (video game) - Wikipedia
Sascha - The Goal
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/7/2022 • 54 minutes, 26 seconds
2022 Frameworks - EMx 196
Adi and Allen join the show as they talk about different frameworks you can use for your Application. They also share their thoughts and experiences with the frameworks that they have used and are currently using. About this Episode
Advantages and Disadvantages of Bulma and its feature
Advantages and Disadvantages of Tailwind and its Features
Ins and outs of Alpinejs
Sponsors
AppSignal
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Picks
Adi - (Anti-pick) Watch The Lord of the Rings: The Rings of Power - Season 1
Adi - House of the Dragon | Official Website for the HBO Series
Allen - Petal Stack
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/30/2022 • 38 minutes, 59 seconds
How To Recession Proof Your Job - BONUS
Get the Black Friday/Cyber Monday "Focus Blocks Bundle" Deal Coupon Code: "THRIVE" for a GIANT discount Are you looking at all the layoffs and uncertainty going on and wondering if your company is the next to cut back? Or, maybe you're a freelancer or entrepreneur who is trying to figure out how to deliver more value to gain or retain customers? Mani Vaya joins Charles Max Wood to discuss the one thing that both of them use to more than double their productivity on a daily basis. Mani has read 1,000's of productivity books over the last several years and has formulated a methodology for getting more done, but found that he lacked the discipline to follow through on his plans. The he found the one thing that kept him on track and made him so productive that he is now getting all of his work done and was able to live the life he wants. Chuck also weighs in on how Mani's technique has worked for him and allows him to spend more time with his wife and kids, run a podcast network, and a nearly full time contract. Join the episode to learn how Chuck and Mani get into a regular flow state with their work and consistently deliver at work.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/24/2022 • 1 hour, 12 minutes, 24 seconds
Understanding Observability in Elixir with Dave Lucia - EMx 195
Dave Lucia is a CTO at a media company called Bitfo, which builds high-quality educational content in the cryptocurrency space. He has been an Elixir Developer for about 6 years. He is the author of “Elixir Observability: OpenTelemetry, Lightstep, Honeycomb”. He joins the show to talk about how they were able to build their system and other websites like DeFi Rate and ethereumprice.About this Episode
Observability
OpenTelemetry
OpenTracing
Analyzing and Making Data useful
Tools used for tracing and metrics
Sponsors
Chuck's Resume Template
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Links
Elixir Observability: OpenTelemetry, Lightstep, Honeycomb
Bitfo
DeFi Rate
ethereumprice
Dave Lucia's Blog
GitHub: davydog187
Twitter: @davydog187
Picks
Allen - Distributed Services with Go
Dave - Software Unscripted
Dave - bitfo/timescale
Dave - bitfo/ectorange
Sascha - ex_union
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/23/2022 • 55 minutes, 18 seconds
A Thing or Two About Union Types - EMx 194
The panel dives into how different Union Types apply to Elixir. They share their thoughts and experiences on the topic as well as techniques when writing codes. Sascha also gives a brief background about his current project called ExUnion.Topics Discussed
Difference between Product Type and Sum Type
How are Typespecs used in Elixir
All about ExUnion and how is it relevant
Sponsors
Chuck's Resume Template
Developer Book Club starting with Clean Architecture by Robert C. Martin
Become a Top 1% Dev with a Top End Devs Membership
Links
Witchcraft
GitHub: ex_union
Picks
Adi - SpawnFest 2022
Allen - OrbitKey
Sascha - gitmoji | An emoji guide for your commit messages
Sascha - Domain Modeling Made Functional
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/16/2022 • 47 minutes, 36 seconds
The Release of OpenTelemtery in Erlang/Elixir With Tristan Sloughter - EMx 193
Tristan Sloughter has been an Erlang Developer for over 19 years. In this episode, Tristan joins the show as he talks about their project called “OpenTelemetry release of Erlang/Elixir.” With the use of this protocol, in your application, developers can collect, process, and export data. He also shares his journey toward shifting his focus from OpenCensus to OpenTelemetry and gives a background about it.Sponsors
Top End Devs
Coaching | Top End Devs
Links
OpenTelemetry Erlang/Elixir, Javascript, and Ruby v1.0
GitHub: tsloughter
Twitter: @t_sloughter
Picks
Sascha- Watch INVINCIBLE – SEASON 1 | Prime Video - Amazon.com
Tristan - OvermindDL1/gradualixir
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/3/2022 • 40 minutes, 43 seconds
CI/CD Pipelines - ELIXIR 192
The Elixir Mix panel they discuss how they run their CI/CD pipelines, how they set them up, how they run, and what they do to make them a valuable part of the development process. They also discuss caching, how deep it needs to go, and how they approach getting the best/most information out of the system they're running.
Links:
Dialyzer
Docker
Datadog
Episode on CI/CD
Picks:Sasha
Effective DevOps
IdealCast with Gene Kim
AllenEmber Mug
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/26/2022 • 1 hour, 2 minutes, 27 seconds
How to Implement a Disk Cache Plugin for Elixir's Req HTTP Client with Thibaut Barrère - EMX 191
Today we talk with Thibaut Barrère, an independent consultant, working with development, data pipelines, and extract, transform, load (ETL) work. He comes to us with a lot of experience in Elixir, Ruby, Ansible, and Javascript. We discuss his article "How to implement a disk cache plugin for Elixir's Req HTTP client?"
In this episode…
Req
Mix
Implementation of the cache
Tesla
Finch
Automated testing
Mox
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Technical ramblings on Elixir, Ruby, Dev/Ops & code in general.
How to implement a disk cache plugin for Elixir's Req HTTP client?
Mix - Mix v1.14.0
bliki: AntiPattern
Metaprogramming + DSL Design in Elixir | Adi Iyengar | Code BEAM V EU 21
Mat Trudel: `mix new beats` -- Recreating The "Amen Break" with Elixir
GitHub: hbar
Twitter: @thibaut_barrere
Picks
Adi- Kingdom Come: Deliverance
Adi - Anyone looking for part-time Elixir contracting roles - contact me
Allen- Shop Products | Nanoleaf " USA " Consumer IoT & LED Smart Lighting Products
Thibaut- GoranGrooves Library
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/5/2022 • 1 hour, 10 minutes, 21 seconds
PostgreSQL Queries with Michael Fich - EMx 190
Michael Fich joins the show today to share how he implemented the PostgreSQL schema to enhance the Elixir workflows at his organization, the Score, based in Toronto Canada. Sascha and Allen also provide additional insights and deep dive into their experience with PostgreSQL models.
In this episode…
Moving from Ruby to Elixir
theScore bet app and queries
Utilizing the Ecto schema
Key performance indicators and indexes
Increasing the scale at the Score
Pub/sub and Postgres
Sponsors
Top End Devs
Coaching | Top End Devs
Links
PostgreSQL Queries on JSONB Fields with Ecto
LinkedIn: Michael Fich
Twitter: @michael_fich
Picks
Allen- ElixirConf 2022 - Chris McCord - Phoenix + LiveView Updates
Michael- Toronto Sports News - Scores, Schedules, Expert Analysis - Blue Jays, Argonauts, Toronto FC, Raptors, Maple Leafs, and more... - The Athletic
Sascha- GENKI Waveform Earphones
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/28/2022 • 1 hour, 6 minutes, 11 seconds
Livebook Desktop with Wojtek Mach - EMx 189
Today we talk with Wojtek Mach from Dashbit, about the Livebook Desktop app, a tool for writing interactive and collaborative code notebooks. Dashbit primarily works with clients, helping companies adopt and run Elixir. We talk about the history of how Livebook came to be, and the challenges of developing for desktop apps. We also get a sneak peak into what is coming soon.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Livebook.dev
GitHub: livebook-dev/livebook
GitHub: livebook/mix.exs
wxErlang Reference Manual
Twitter: @wojtekmach
Twitter:@dashbit
Picks
Allen- Flying High with Flutter on Apple Podcasts
Allen- Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps
Wojtek- ElixirConf US 2022
Wojtek- Daemon
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/21/2022 • 55 minutes, 19 seconds
Optimizing the Elixir CI Pipeline with Szymon Soppa - EMx 188
With day-to-day development, it is vital to ensure our workflows are optimized and that developer time is utilized efficiently. Today on the show, Szymon Soppa shares about what we should do with our Elixir CIs to ensure this optimization and developer efficiencies are maximized for production.
In this episode…
Continuous integration (CI) and automation
Customizing the formatter
Configurations in the formatter
Functionalities within a library
Other tools
Steps for implementation
Communicating with your team on CI processes
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Mastering Elixir CI pipeline | Curiosum
Twitter: @SzymonSoppa
LinkedIn: Szymon Soppa
Picks
Allen- Terraform in Action
Adi - Good candidates for Elixir engineers: Neal Techni, John Hitz
Syzmon- Elixir meetup at 2022-09-14 | Curiosum
Szymon- Elixir and Phoenix Software House | Curiosum
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/14/2022 • 48 minutes, 56 seconds
Type-safe OTP in Gleam with Louis Pilfold - EMx 187
Today we talk with Louis Pilfold, an ex-elixir/Lang developer. Since 2018, Louis has been working on Gleam, and hesitantly admits to being its author. This statically typed language that runs on Erlang virtual machine and draws its inspiration from several other languages. With Gleam gaining a lot of traction, it’s definitely worth a look into this up and coming gem.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Build Your Own Elixir - Louis Pilfold
GitHub: lpil
Twitter: @louispilfold
Picks
Adi- SpawnFest 2022
Adi- StreamData: Property-based testing and data generation
Adi- Specification by Example: How Successful Teams Deliver the Right Software
Adi- Prime Gaming
Allen- Building Table Views with Phoenix LiveView (PragProg)
Louis- Firefly Cloud Platform
Louis- The Forgotten City on Steam
Sascha- The Boys - Season 1
Sascha- CABO (Second Edition)
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/7/2022 • 1 hour, 28 seconds
What it means to be a Senior - EMx 186
In this episode of the Mix the panelists talk about Seniority. They lay out their own personal journeys towards getting a senior title and how they define seniority for themselves - especially how it goes beyond the ability to write code well.
Among other things they discuss:
how to become fluent in reading and writing code
how side projects are useful but not required to become a great developer
how senior developers tend to approach problem solving and how to get better at that
how interpersonal skills play at least an equal role as technical knowledge
how specific tech know-how becomes less and less important the further developers climb the ladder - at least the managerial ladder
how organizational structures cannot be ignored when building solutions
They close with some picks which they deem valuable for anybody who'd like to dig deeper into some of these ideas.
Connect with Adi aditya7iyengar@gmail.com
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Are We Really Engineers? * Hillel Wayne
Seven Languages in Seven Weeks
Conway's law - Wikipedia
Team Topologies
The Little Elixir & OTP Guidebook
Picks
Adi- The Little Elixir & OTP Guidebook
Adi- Seven Languages in Seven Weeks
Adi- God of War Ragnarök - PS5 Games | PlayStation
Sascha- Specification by Example
Sascha- Exercism
Sascha- You Know Nothing ... or do you? - Sascha Wolf
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/24/2022 • 54 minutes, 2 seconds
Domain-Driven Design And Elixir - EMx 185
In today’s all-panelist episode, we take a shot at demystify domain-driven design. We discuss several books and some concepts that stand out in those texts. How easy or hard do Elixir and Phoenix make it to apply DDD principles? We give our experience with taking these concepts and putting them into practice, and give some tips and resources for getting started.
Some of the topics covered:
Tactical vs. strategic domain-driven design
Event Storming
Bounded Contexts
Accidental vs Intentional complexity
Connect with Adi aditya7iyengar@gmail.com
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-Driven Design Distilled
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#
EventStorming
DDD, Hexagonal, Onion, Clean, CQRS, ... How I put it all together
Picks
Adi- GitHub - sasa1977/boundary
Adi- Mix: Using Xref to Enforce better Design
Adi- Macro - Elixir v1.13.4
Adi- digraph
Adi - Three people looking for jobs - reach out to me to connect with them (sr. Elixir engineer, two Jr. Elixir engineers, and others too)
Adi- Assassin's Creed Valhalla for Xbox One, PS4, PC & More | Ubisoft (US)
Sascha- Virtual Domain-Driven Design
Sascha- KanDDDinsky - The art of business software
Sascha- Citizen Sleeper on Steam
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/17/2022 • 53 minutes, 45 seconds
Getting Hired as an Elixir programmer with Adi Iyengar - EMx 184
Today Adi, one of our hosts and the hiring manager at Elixir, talks about the intricacies of applying for a job, and what companies to search out. We talk about the expectations for the applicant, and how to prepare. We also talk about what you can look for the employer to provide before spending too much of your time in the interview process. Walking through various interview processes, we learn what things can help you land the job you want.
Companies that are hiring Elixir positions (google or reach out to Adi):
Pepsi Co (E-commerce): Senior Elixir Engineer
DockYard: Senior Elixir Engineer
Recorded Future: Elixir Engineer
Cars.com: Elixir Engineer
Corvus Insurance: Elixir Engineer
Hawku: Elixir Engineer
If you need help looking for Elixir jobs, reach out to Adi for help: aditya7iyengar@gmail.com
Sponsors
Top End Devs
Coaching | Top End Devs
Picks
Adi - Darts
Adi- Stray - PS4 & PS5 Games | PlayStation
Adi - Hiring Companies (see the show notes)
Allen- HERO10 Black
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/10/2022 • 42 minutes, 32 seconds
How Quiqup Left Elixir and Then Came Back - EMx 183
In this episode the panel talks to Danny Hawkins - CTO at Quiqup - and his team's journey at Quiqup with Elixir. Danny explains how some of the first things Quiqup built were using Elixir and how they then left Elixir behind in favor of TypeScript, only to come back to Elixir.The panel considers how these choices rarely are purely driven by technological qualities but instead have to factor in cultural- and knowledge-aspects of a team, and how a top-down dictated technology decision - even if there are good reasons for it - can be harmful to a team's morale.Get in touch with Danny via email! Click here.Sponsors
Top End Devs
Coaching | Top End Devs
Links
Quiqup
Choice of Technology at Quiqup
EventStoreDB - the event database for today's fast moving, event-driven systems
GitHub - commanded/commanded: Use Commanded to build Elixir CQRS/ES applications
Elixir for Programmers
GitHub - quiqupltd/libelection: Library to perform leader election in a cluster of containerized Elixir nodes
Connect Livebook to Elixir in Kubernetes
Twitter: @dannyhawkins
Picks
Danny- Onward - The ultimate VR Mil-Sim tactical shooter
Danny- Treadmill for Standing Desk (Danny has a Sparnod)
Danny- Accelerate: The Science of Lean Software and DevOps
Sascha- KanDDDinsky - The art of business software
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/27/2022 • 59 minutes, 13 seconds
Combining GraphQL and LiveView with Abul Asar Sayyad - EMX 182
Today we talk with Abul Asar Sayyad, a software engineer from Mumbai, India. Working for ID Plans, a commercial property management solution. We discuss his blog article about combining GraphQL with LiveView for rendering on the front end. We also dive into GraphQL libraries, working with LiveView, and testing.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Abul Asar's Blog
LinkedIn: AbulAsar Sayyad
Fetching data from external Graphql API service in Phoenix LiveView
Hashnode - Blogging community for developers, and people in tech
GitHub - uesteibar/neuron: A GraphQL client for Elixir
GitHub - annkissam/common_graphql_client: Elixir GraphQL Client with HTTP and WebSocket Support
GitHub - sasa1977/con_cache: ets based key/value cache with row level isolated writes and ttl support
Creating Note taking app using LiveView and GenServer - Part 1
Picks
Abul - Project management tool in LiveView
Abul - Blog about canvas realtime drawing coming soon
Abul - Thor Love and Thunder
Adi- GitHub - annkissam/common_graphql_client: Elixir GraphQL Client with HTTP and WebSocket Support
Adi - donkeycr.app
Allen - How to Cache in LiveView
Sascha - The Sprawl
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/20/2022 • 44 minutes, 27 seconds
Building APIs - EMX 181
In this episode Adi and Sascha dig deeper into what it means to consume and build APIs in Elixir and how a RESTful approach compares to choosing GraphQL as your weapon of choice. Along the way they discuss common pitfalls when building APIs (spoiler: one is caching), how to test all of this, and what their personal preferences and experiences are in creating APIs in Elixir.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Finch - Finch v0.12.0
HTTPoison - HTTPoison v1.8.1
GitHub - elixir-plug/plug_cowboy: Plug adapter for the Cowboy web server
Instant GraphQL APIs on your data | Built-in Authz & Caching
JWT.IO
DDD, Hexagonal, Onion, Clean, CQRS, ... How I put it all together
Protocol Buffers | Google Developers
GitHub - parroty/exvcr: HTTP request/response recording library for elixir, inspired by VCR.
Boston Elixir June 2021 - Adi Iyengar - Levels of testing API calls
How I deal with behaviours and boilerplate - Sascha Wolf
A guide to fuzz testing
Picks
Adi- Reach out if you're hiring Elixir devs! (aditya7iyengar@gmail.com)
Adi- Buy a punching bag for both workout/releasing frustration
Adi- Testing Elixir
Sascha- Deep Rock Galactic
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/13/2022 • 1 hour, 2 minutes, 16 seconds
Effective Software Documentation with Everett Griffiths - EMx 180
Bad documentation wastes time, costs real money, and makes developers unproductive. Documentation might be bad because it is flat-out wrong (typos, references to an older version, etc.), but more often documentation is bad when it fails to tell us what we need to know. Don’t let all your hard work go to waste because you failed to communicate what your software is or how to use it. Today on the show, Everett Griffiths shares his insights on how to approach documentation simply and effectively.
In this episode…
What got you into documentation?
Examples, examples, examples
Having an effective feedback loop
Key word arguments
Coding is easy, but documentation is hard
Using mermaid charts
Open sourcing your software
Clean code and clean infrastructure
Simplifying coding environments
Sponsors
Top End Devs
Coaching | Top End Devs
Links
WTFM: Writing Effective Software Documentation
Inspecting Ecto Schemas with Elixir | by Everett Griffiths | Medium 1
Enhancing Elixir Documentation with Mermaid Charts | by Everett Griffiths | Medium 1
Coding is Easy; Communication is Hard | by Everett Griffiths | Medium 1
LinkedIn: Everett Griffiths
Twitter: @fireproofsocks
Picks
Adi- Grafana OnCall
Allen- MJML - The Responsive Email Framework
Everett- Paasaa - Paasaa v0.6.0
Everett- The Guns of August: The Pulitzer Prize-Winning Classic About the Outbreak of World War I
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/6/2022 • 1 hour, 1 minute, 13 seconds
All Things Concurrency - EMx 179
In this week’s all-panelist episode, Sascha and Allen tackle the topic of concurrency on The Beam. They discuss parallelism, some things to do and some not to do, and some of the questions and issues that arise.
Sponsors
Top End Devs
Coaching | Top End Devs
LinksStuff Goes Bad Erlang in AngerPicks
Allen- Handling Overload
Sascha- Kinetic Games
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/29/2022 • 43 minutes, 13 seconds
Animating Error Tags in Phoenix LiveView - EMx 178
David van Leeuwen joins the show to share his perspective about error handling with Phoenix’ LiveView form and keeping implementations that are used to render an input as simple as possible. He also discusses his career progressions with Elixir and other various languages, plus why and how he built his latest project, Mave.io.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
mave - plug-and-play video embeds
Animating error tags in Phoenix LiveView
David van Leeuwen
Twitter: @davidvanleeuwen
Twitter: @mavedotio
Picks
Allen - Bose Sunglasses
David - Sonic Pi
David- Bambu Lab X1 Series | 16 Colors | High Speed CoreXY | 300°C Hotend | Ultra-Smooth
David- Robert Space Industries
David - Addy Osmani on Twitter
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/22/2022 • 1 hour, 5 minutes, 4 seconds
Challenges of Scaling and Choosing the Right Tool with Simon Zelazny - EMx 177
In this episode Simon Zelazny joins the mix to talk about his experience in scaling an Elixir and Phython based service to meet a once-in-a-blue-moon demand scenario. The panel and him discuss the challenges in finding the relevant bottlenecks in non-trivial software systems - and BEAM applications in particular - and what options there are to fix those.They also discuss pragmatism in the context of software development, and how we as software developers are not paid to write pretty code but to solve business problems, which might also mean to choose NOT to build on top of the BEAM, if circumstances demand it.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
whatnot
whatnot - careers
Keeping Up with the Fans: Scaling for Big Events at Whatnot, with Elixir and Phoenix
Erlang Solutions - Scalable Distributed Technology
"How NOT to Measure Latency" by Gil Tene
Picks
Allen- K9s - Manage Your Kubernetes Clusters In Style
Allen- Kubernetic - The Kubernetes Desktop Client
Sascha- The Book You Wish Your Parents Had Read
Simon - Joe Armstrong’s PHD Thesis - Making reliable distributed systems in the presence of software errors (PDF)
Simon- Joe's Blog - a non-linear personal web notebook
Simon- ACM Turing award lectures | ACM Other Books
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/15/2022 • 1 hour, 8 minutes, 33 seconds
Macros and Busting Boilerplate with Robert Ellen - EMx 176
In this episode the panel talks to Robert Ellen and his experience with using macros in Elixir to get rid of some repetitive boilerplate code. They discuss common pitfalls when first diving into macros and resources which help to avoid these mistakes.Robert shares some of the finer details of the challenges they encountered when trying to build these macros and the panel gives their own personal verdict on the age old elixir question: to macro or not to macro.Finally the group briefly touches on some event sourcing topics - as the system Robert refers to was an event-sourced one.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Macro Madness: when busting boilerplate backfires - Robert Ellen (Talk)
GitHub - commanded/commanded: Use Commanded to build Elixir CQRS/ES applications
Join Alembic (Career)
talks | robertellen.dev
Alembic Engineering Blog — Alembic
Linkedin: Robert Ellen
Twitter: @robertellen
Picks
Adi- Contact regarding the job and job seeker: aditya7iyengar@gmail.com
Adi- Metaprogramming + DSL Design in Elixir - Adi Iyengar (Talk)
Adi- The pillars of Metaprogramming in Elixir - Adi Iyengar (Talk)
Adi- Elixir source code to checkout regarding macros - elixir_quote.erl (GitHub)
Adi- Elixir source code to checkout regarding macros - elixir_bootstrap.erl (GitHub)
Adi- Vegan cheese
Allen- GoPro - Weekender Backpack
Robert- Nix & NixOS
Robert- Jeff Geerling (YouTube Channel)
Robert- Elixir Sydney (Meetup)
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/8/2022 • 1 hour, 7 minutes, 12 seconds
Managing Business Rules in Elixir Applications - EMx 175
Today we have special guest Qiu Hua join us. Currently located in Canada, he is a back-end software developer for e-commerce company Zubale, which focusses on retail applications for countries in Central and South America. We discuss his presentation titled Managing Business Rules In Elixir Applications, and his work to extract business rules out of code and easily enable changes to those rules. We also discuss the his Formular server and its upcoming features.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Managing business rules in Elixir applications - Qiu Hua - YouTube
formular 0.3.1
The MaxCoders Guide To Finding Your Dream Developer Job
GitHub: Qiu Hua ( qhwa )
Twitter: @qhwa
Twitter: @allenwyma
Picks
Allen- Daytripper – Adventure Backpack | GoPro
Qui- Out of Control (Kelly book) - Wikipedia
Qui- Thinking in Systems - Chelsea Green Publishing
Qui- Systems Bible
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/1/2022 • 44 minutes, 9 seconds
Career Progressions: From Paratrooper to Software Engineer with Teo Diaz - EMx 174
Teo Diaz spent the first half of his career as a paratrooper and security agent for the Spanish army, until he made a career pivot to become a software engineer. Teo shares his story from the bootcamp beginnings to JavaScript and Elixir, and then landing his first job in the industry. Teo also shares how he uses Elixir on a daily basis as an engineer within Cabify, the international ridesharing company based in Madrid, Spain.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
From paratrooper to programmer
Cabify
Picks
Adi- Tray.io
Adi- Code Sync
Allen- Alpine.js
Teo- Phoenix LiveView Free Course
Teo- Tailwind CSS
Special Guest: Teo Diaz .Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/25/2022 • 1 hour, 6 minutes, 50 seconds
Promises of the Elixir & BEAM - EMx 173
In this all-panelist episode we discuss the promises of the BEAM, and how these hold up in reality. Is the BEAM truly resilient? Allen, Sascha and Adi discuss their experiences using the BEAM, how it compares to other options, and discuss why Elixir isn’t a more prominent technology.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Tailwind CSS - Rapidly build modern websites without ever leaving your HTML
Tailwind UI
Picks
Adi- Masamune-kun no Revenge
Allen- Tailwind UI
Sascha- Metaprogramming Elixir
Sascha- studiominiboss
Sascha- Psycho-Pass
Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/18/2022 • 54 minutes, 12 seconds
Publishing Static Github Pages Using Github Actions - EMx 172
Nato Boram joins the show to share how to publish static GitHub pages of your documentation using GitHub actions. Allen and Nathan also discuss Elixir compared to other languages, functional ways of programming, and the “let it crash” philosophy. Finally, they end the show with ideas on how Elixir can become a better language.
In this episode…
Nato’s journey from Flutter to Elixir
Pros and cons of Elixir and Phoenix
How to publish static GitHub pages using GitHub actions
Elixir compared to other languages
Elixir syntax variations and inconsistencies
Functional way of programming with Elixir
Pattern matching
Let it crash philosophy
Go formatting
Ideals and changes to make Elixir better
Sponsors
Top End Devs
Coaching | Top End Devs
Links
How to publish ExDocs on GitHub Pages
Picks
Allen- Row Level Security (RLS): Basics and Examples
Nathan- Phoenix Live View Formatter
Special Guest: Nato Boram.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/11/2022 • 1 hour, 31 seconds
Benchee and Elixir 2.0 with Tobi Pfeiffer - EMx 171
Tobi Pfeiffer, creator of Benchee, joins the show to share his perspective on benchmarking and Elixir integrations. The hosts start by bantering with Tobi about the Elixir community, deeming it less inviting compared to other language communities. Tobi then shares his career progression, how he landed in the Elixir ecosystem, and why he created Benchee. Finally, the panel debates the future for Elixir and share their wish list features for Elixir 2.0.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Benchee 1.1.0 released + why did it take so long – Journeys of a not so young anymore Software Engineer
The silence between – Journeys of a not so young anymore Software Engineer
My Talks
GitHub: PragTob - Overview
Picks
Adi- Joy of Elixir
Adi- Learn with me Elixir
Allen- Pomodoro Technique
Sascha- Team Topologies
Sascha- First Class Trouble
Tobi- Godot Engine
Tobi- The Healthy Programmer
Tobi- Code Bean Lite Conference
Tobi- Mistborn: The Final Empire
Tobi- Foreigner on Steam
Special Guest: Tobias Pfeiffer.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/4/2022 • 1 hour, 21 minutes, 50 seconds
Supabase with Chase Granberry - EMx 170
In this Episode we talk with Chase Granberry of Supabase discussing the role of Elixir and other languages at the company. Upcoming developments and potential directions that the company may take.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Demo Site
GitHub: Supabase / realtime-js
stressgrid.com
Logflare
Supabase
Picks
Allen - Phoenix LiveView on The Pragmatic Studio
Chase - Stressgrid Blog
Chase - ElixirConf 2021 Mark Ericksen - Globally Distributed Elixir Apps on Fly.io
Special Guest: Chase Granberry.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/27/2022 • 48 minutes, 35 seconds
Building Project Severus with Eric Sullivan - EMx 169
Eric Sullivan joins the mix to discuss Project Severus. He started out with greeting carts and it grew into a way of sharing and keeping up on contact information. He dives into how it works and then into the technical details of how he build it.
This is an interesting discussion about the architecture and design of the system.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Severus
Severus - Initial MVP Demo
Using Ecto.Multi and Phoenix.PubSub to update Phoenix Liveview
Picks
Adi- Creative Projects for Rust Programmers
Allen- Phoenix LiveView Free Course | The Pragmatic Studio
Allen- Nature Calls Calendar 2022
Eric- Belgian Malinois
Eric- Horizon Forbidden West - Wikipedia
Sascha- Stand with Ukraine Bundle
Sascha- Bundle for Ukraine by Necrosoft Games and 736 others - itch.io
Special Guest: Eric Sullivan.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/20/2022 • 1 hour, 3 minutes, 34 seconds
Untangling Cloud Infrastructure with Cory o’Daniel - EMx 168
In this episode the panel chats with Cory o’Daniel which is one of the founders of massdriver.cloud where they try to give teams the tools to deploy production-ready, best-practice, and secure cloud infrastructure.
The panel talks about the the various options for running software in the cloud - from SAAS providers, like Heroku, to full-fledged cloud providers like AWS - and the tradeoffs these options introduce for the average developer. They go over Cory’s history and how he experienced the pains of some of these trade-offs himself which prompted him to create Massdriver. They also explore which parts of Massdriver are powered by Elixir, and which not.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
massdriver.cloud
localstack.cloud - Simulate cloud components locally for testing
Kubernetes
What is a Kubernetes operator? (Article)
Kubernetes - Custom Resources (Documentation)
Kubernetes in Action (Book)
crossplane - Kubernetes add-on to provision cloud infrastructure through Kubernetes
GitHub - absinthe-graphql/absinthe: The GraphQL toolkit for Elixir
kitchen.ci - Test your “infrastructure as code” configuration
Picks
Allen- Basecamp (Product)
Cory- Naps! Take naps!
Cory- June.so (Product)
Sascha- Overcooked 2 (Game)
Sascha- Kubernetes in Action (Book)
Special Guest: Cory O’Daniel.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/6/2022 • 1 hour, 11 minutes, 22 seconds
Phoenix LiveView for Frontend Developers with Koen van Gilst - EMx 167
In this episode Koen van Gilst joins the mix to share his experience learning Elixir and LiveView as a mainly frontend developer. The panel then discusses the evolution of LiveView since it’s announcement and how it’s incorporating ideas from the frontend world to simplify building complex UIs, such as components. The episode closes with the panel’s perspective on how we specialize as software developers and that we can learn a lot from other by moving closer together.
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Phoenix LiveView Docs
Phoenix Docs on Views
GitHub - elixir-wallaby/wallaby
GitHub - teamcapybara/capybara
Picks
Adi- Elden Ring (Game)
Adi- Karthik Ganesh - Looking for an internship in Healthcare or Blockchain technology.
Adi- Neel Vinoth - Looking for an Elixir mid-senior position. Has a lot of Software Engineering experience and has been attending after work mentoring sessions with Bruce Tate, Sophie Debenedetto, myself (and other Elixir mentors) every week.
Adi- A few others with Elixir knowledge/experience who aren’t open about their job search. Reach out to Adi via email to get their info.
Allen- Rust Brain Teasers (Book)
Sascha- Game Maker’s Toolkit (YouTube Channel)
Koen- Advent of Code (from José Valim on Twitch)
Special Guest: Koen van Gilst.Sponsored By:
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/16/2022 • 53 minutes, 53 seconds
Event-Driven Elixir with Thomas Kunnumpurath - EMx 166
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
Coaching | Top End Devs
Links
Event Driven Elixir (Blogpost)
Programming Elixir 1.6 (Book)
Solace
RabbitMQ
Kafka Apache
HiveMQ
Eclipse Mosquitto
OpenTelemetry
Elixir in Action (Book)
The Little Elixir & OTP Guidebook (Book)
Concurrent Data Processing in Elixir (Book)
Picks
Adi- Horizon Forbidden West (Game)
Adi- Elixir Recruiter: Brian Samela
Adi- Build Your Own Web Framework in Elixir (Book)
Allen: Testing Elixir (Book)
Sascha- DDD Europe - June 2022 (Conference)
Thomas- Horizon Forbidden West (Game)
Special Guest: Thomas Kunnumpurath.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/9/2022 • 1 hour, 17 seconds
Learning Erlang with Adolfo Neto - EMx 165
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
Coaching | Top End Devs
Links
Advent of Code
Erlang Ecosystem Foundation
José Valim on Twitch (Advent of Code Streams)
Exercism
GitHub - livebook-dev/livebook: Interactive and collaborative code notebooks for Elixir - made with Phoenix LiveView
Programming Erlang (Book)
Learn You Some Erlang (Book)
GitHub - gfngfn/Sesterl: An ML-like statically-typed Erlang
Nova Framework (Erlang)
Zotonic Framework (Erlang)
Telegram: Elixir World (Group)
Slack: Erlang Ecosystem Foundation
Hello Erlang (Podcast)
Elixir Em Foco (Portuguese Podcast)
Elixir, Erlang and the BEAM with Adolfo Neto (YouTube)
Picks
Adolfo- Erlang Battleground (Blog)
Allen- Zotonic Framework (Erlang)
Sascha- Devtalk (Forum)
Sascha- Exercism
Special Guest: Adolfo Neto.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/2/2022 • 55 minutes, 30 seconds
Reusable Ecto Code with Mika Kalathil - EMx 164
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
Coaching | Top End Devs
Links
Creating Reusable Ecto Code in Elixir
GitHub - MikaAK/ecto_shorts: Shortcuts for ecto
GitHub - MikaAK/elixir_error_message
blitz.gg
learn-elixir.dev
Elixir Slack: Mika Kalathil
Picks
Allen- Elgato Stream Deck
Mika- GitHub - MikaAK/absinthe_generator
Sascha- Dyson Sphere Program (Game)
Sascha- Dare to Lead
Special Guest: Mika Kalathil.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/23/2022 • 42 minutes, 32 seconds
Code Quality Tools In Elixir - EMx 163
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
Coaching | Top End Devs
Links
GitHub - rrrene/credo
GitHub - christopheradams/elixir_style_guide
Twitter: @josevalim - using mix format on .heex files
GitHub - elixir-wallaby/wallaby
GitHub - jeremyjh/dialyxir
GitHub - nccgroup/sobelow
GitHub - dnlserrano/exavier
GitHub - devonestes/muzak
GitHub - tmbb/darwin
GitHub - whatyouhide/stream_data
Picks
Adi- QuickCheck (Haskell)
Adi- GitHub - thebugcatcher/excoveralls_utils
Allen- Smart lighting | Philips Hue
Sascha- Storm Front: The Dresden Files
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/16/2022 • 1 hour, 51 seconds
To Umbrella or not to Umbrella - EMx 162
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
Coaching | Top End Devs
Links
Umbrella projects (Elixir’s official website)
Poncho Projects (Blog post)
Dave Thomas: Keynote (Video)
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together (Blog post)
Picks
Adi- Microservices.io
Sascha- Domain-Driven Design Distilled (Book)
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/9/2022 • 45 minutes, 23 seconds
Full-text Search Powered by Elasticlunr with Rasheed Atanda - EMx 161
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
Coaching | Top End Devs
Links
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.
GitHub Discussions for Elasticlunr
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
Sascha- GitHub - junegunn/fzf: A command-line fuzzy finder
Sascha- GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to 'find'
Special Guest: Atanda Rasheed.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/2/2022 • 45 minutes, 17 seconds
OTP in Depth - EMx 160
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
Coaching | Top End Devs
Links
The Soul of Erlang and Elixir • Saša Jurić • GOTO 2019 (Talk)
DynamicSupervisor (Elixir Docs)
PartitionSupervisor (GitHub Pull Request)
Handling of Exit Signals (Erlang Docs)
SASL - Error Logging (Erlang Docs)
GenServer (Elixir Docs)
Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/26/2022 • 44 minutes, 26 seconds
When NOT To Use Elixir - EMx 159
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
Coaching | Top End Devs
Picks
Adi- Real World Haskell
Adi- Learn You a Haskell for Great Good!
Allen- Testing LiveView
Sascha- Blades in the Dark
Sascha- Band of Blades
Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/19/2022 • 1 hour, 28 seconds
Getting Elixir Right with Alex Burlacu - EMx 158
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
Coaching | Top End Devs
Links
Elixir pattern matching magic
Predicate Dispatch (Wikipedia)
hexdocs - Kernel.destructure/2
hexdocs - Kernel.defguard/1
Picks
Adi- O-Gah-Pah Coffee
Alex- The Three Body Problem (Book)
Alex- The Dark Forest (Book)
Alex- Death’s End (Book)
Allen- Rust for Rustaceans (Book)
Sascha- Immune (Book)
Sascha- Kurzgesagt - YouTube
Sascha- Gravity Falls: Lost Legends (Book - Comic)
Sascha- Gravity Falls (Series)
Special Guest: Alex Burlacu.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/12/2022 • 1 hour, 1 minute, 24 seconds
Twitch Streaming with Elixir and Phoenix ft. Erik Guzmán - EMx 157
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
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 CommunitySpecial Guest: Erik Guzmán.Sponsored By:
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/5/2022 • 52 minutes, 6 seconds
A personal Brain with Nerves and LiveBook with Dimitris Zorbas
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
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/23/2021 • 39 minutes, 9 seconds
3 Fundamental Pillars You Need to Succeed as an Entrepreneur - BONUS
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/16/2021 • 1 hour, 5 minutes, 7 seconds
Deploying Elixir with Miguel Cobá - EMx 155
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 Wyma
Sascha Wolf
Guest
Miguel Cobá
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Deploying Elixir - Miguel Cobá (Articles)
Deploying Elixir - Miguel Cobá (Book)
Kubernetes
GitHub - bitwalker/libcluster: Automatic cluster formation/healing for Elixir applications
asdf (version manager)
Deploying Elixir - Miguel Cobá 1
Miguel Cobá
Twitter: Miguel Cobá ( @MiguelCoba_ )
Picks
Allen- Code Like a Pro in Rust
Miguel- Programming Phoenix LiveView
Sascha- Search Inside Yourself
Special Guest: Miguel Cobá.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/15/2021 • 54 minutes, 2 seconds
Runtime Type Checking with Marten (Wiebe-Marten) Wijnja - EMx 154
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 Wyma
Sascha Wolf
Guest
Marten (Wiebe-Marten) Wijnja
Sponsors
Top End Devs
Coaching | Top End Devs
Links
GitHub - Qqwy/elixir-type_check
Introducing TypeCheck — TypeCheck v0.10.4
ElixirForum - TypeCheck - Fast and flexible runtime type-checking for your Elixir projects
Comparing TypeCheck and Norm — TypeCheck v0.10.4
GitHub - elixir-toniq/norm
Racket (Language)
Clojure (Language)
Floating point issues
Gleam (Language)
GitHub - whatyouhide/stream_data
ElixirForum: Wiebe-Marten Wijnja (Qqwy)
Resilia
Wiebe-Marten Wijnja
GitHub: Qqwy / Marten ( Qqwy )
Twitter: Wiebe Marten ( @WiebeMarten )
Picks
Allen- pgAdmin - PostgreSQL Tools
Marten- 100 Years of Erlang | Quinn Wilton | Code BEAM America 2021 - YouTube
Sascha- Kubernetes in Action
Sascha- Knockout City™ - EA Official Site
Special Guest: Marten (Wiebe-Marten) Wijnja.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/8/2021 • 49 minutes, 52 seconds
Mastering LiveView ft. Sophie DeBenedetto - EMx 153
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 Iyengar
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
Sophie DeBenedetto
Sponsors
Top End Devs
Coaching | Top End Devs
Links
LiveView Integration Tests in Elixir | AppSignal Blog
ElixirConf 2021 - Chris McCord - The Future of Full-stack - YouTube
GitHub - grych/drab: Remote controlled frontend framework for Phoenix.
GitHub - chrismccord/render_sync: Real-time Rails Partials
Programming Phoenix LiveView: Interactive Elixir Web Programming Without Writing Any JavaScript by Bruce A. Tate and Sophie DeBenedetto
Beam Radio
Twitter: Sophie DeBenedetto ( @sm_debenedetto )
Picks
Adi- GitHub - elixir-lang/elixir: Elixir is a dynamic, functional language designed for building scalable and maintainable applications
Allen- Rust With Flutter
Charles- Scythe – Stonemaier Games
Sascha- Tabletop Simulator
Sophie- Programming Phoenix LiveView
Sophie- Timeline
Special Guest: Sophie DeBenedetto.Sponsored By:
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/1/2021 • 52 minutes, 25 seconds
BONUS: How to do LARGE Volumes of HIGH Quality Work - While Spending Fewer Hours Working
<!-- wp:heading -->
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.
He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.
He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.
The trick? Deep Work!
Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.
Other developers call it "Flow" or "the Zone."
Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/25/2021 • 47 minutes, 22 seconds
Publishing Content with PardallMarkdown ft. Alfred Reinold Baudisch - EMx 152
Alfred Reinold Baudisch joins the mix to discuss his publishing engine written in Elixir called PardallMarkdown.
It's a static site generator solution that builds content from Markdown and can build different types of content targets.
Panel
Adi Iyengar
Eric Bolikowski
Sascha Wolf
Guest
Alfred Reinold Baudisch
Sponsors
Top End Devs
Coaching | Top End Devs
Links
Pardall by Alfred R. Baudisch
GitHub - alfredbaudisch/pardall_markdown
Docusaurus
Alfred Reinold Baudisch
Alfred Reinold Baudisch - Medium
Alfred Baudisch - YouTube
GitHub: Alfred Reinold Baudisch ( alfredbaudisch )
Twitter: Alfred Reinold Baudisch( @AlfredBaudisch )
Picks
Adi- PaperCall.io
Alfred: The Sandbox Game - User-Generated Crypto & Blockchain Games
Alfred: The Sandbox price today, SAND to USD live, marketcap and chart | CoinMarketCap
Eric- The Pragmatic Engineer Newsletter
Sascha- Learn Wardley Mapping
Special Guest: Alfred Reinold Baudisch.Sponsored By:
Top End Devs: Learn to Become a Top 5% Developer.
Join our community of ambitious and engaged programmers to learn how.
Coaching | Top End Devs: Do you want to level up your career? or go freelance? or start a podcast or youtube channel?
Let Charles Max Wood Help You Achieve Your Dreams
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/24/2021 • 44 minutes, 58 seconds
The Elixir Job Market and Getting Hired - EMx 151
Adi recently found a new job and Chuck has been going through the interview process. So, the panel hop on the show to discuss the current job market, what they've experienced as job candidates and provide ideas and feedback for both hiring companies and job candidates.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
Picks
Adi- Software Developer | theScore
Adi- Simplebet - Software Engineer
Adi- Brian Samela (Elixir Tech Recruiter) | LinkedIn
Adi- Howard Rosenzweig (Elixir Tech Recruiter) | LinkedIn
Adi- Adi Iyengar | LinkedIn
Allen- Galaxy Z Fold3 5G 512GB (Unlocked) in Black | Price & Deals | Samsung US
Charles- Top End Devs
Charles- Viscounts of the West Kingdom
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/3/2021 • 53 minutes, 49 seconds
Tracking BTC with GenServer and LiveView ft. Arkadiusz Plichta - Emx 150
Arkadiusz Plichta joins the adventure to discuss how he built a system that tracks BitCoin value using GenServers.
He explains the architecture of his application and the story behind why he built this particular application. Then the panel dives in to help explain how you can use GenServers for ongoing services like this one.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
Arkadiusz Plichta
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
Links
Twitter: Arkadiusz Plichta ( @el_pikel )
Using LiveView and GenServers to track BTC price
Testing GenServers with Erlang Trace
Testing Elixir: Effective and Robust Testing for Elixir and its Ecosystem
Picks
Adi- Code BEAM America 2021
Adi- To work with Adi, reach out to him at: aditya7iyengar@gmail.com
Allen- Stuff You Should Know (Podcast)
Arkadiusz- LOOK MUM NO COMPUTER (YouTube Channel)
Charles- Top End Devs
Charles- Top End Devs / Author
Charles- The 360 Degree Leader: Developing Your Influence from Anywhere in the Organization
Sascha- CGPGrey- YouTube
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Arkadiusz Plichta.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/27/2021 • 35 minutes, 8 seconds
Artificial Intelligence with Elixir using tangram.dev ft. David Yamnitsky - EMx 149
David Yamnitsky joins the mix to discuss tangram.dev and how to use it to add Machine Learning features to your Elixir applications.
He also goes into how it is built and how it provides you with a basic level of AI that integrates nicely with Elixir.
Panel
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
David Yamnitsky
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
Links
tangram.dev
GitHub: tangramdotdev/tangram
Tangram for Elixir
Adventures in Machine Learning
Jupyter Notebooks
GitHub | livebook-dev/livebook
GitHub | elixir-nx/nx
GitHub | elixir-nx/axon
GitHub: David Yamnitsky ( nitsky )
LinkedIn: David Yamnitsky
Twitter: David Yamnitsky ( @davidyamnitsky )
Picks
Allen- GitHub Actions
Charles- TopEndDevs Coaching
Charles- Viscounts of The West Kingdom (Boardgame)
Charles- Lost Ruins of Arnak (Boardgame)
Charles- X: Multiply Your God-Given Potential (Book)
Sascha- Play Unsafe (Book)
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: David Yamnitsky.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/20/2021 • 39 minutes, 13 seconds
Event Sourcing and CQRS ft. Ben Moss - EMx 148
Ben Moss joins the Mix to discuss Event Sourcing and CQRS in Elixir. Event sourcing is the practice of logging data across logged series of events and then reconstructing data from the events. CQRS is focused on keeping read and write operations from conflicting.
Panel
Adi Iyengar
Allen Wyma
Sascha Wolf
Guest
Ben Moss
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
GitHub | commanded/commanded
Event Store
Tackling software complexity with the CELP stack
Event sourcing in practice - Using Elixir to build event-driven applications
Bitfield
Twitter: Benjamin Moss ( @benjamintmoss )
Picks
Adi- AngelList - Engineering Lead
Adi- theScore - Software Developer
Adi- Community - Senior Software Engineer, Backend
Allen- Book - Flutter in Action
Ben- Toronto Elixir
Ben- Event Modeling
Sascha- OpenTelemetry
Sascha- OpenTracing
Sascha- Headspace
Sascha- 7Mind
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Sascha:
Sascha Wolf
Special Guest: Benjamin Moss.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Podcast Bootcamp: Launch an Amazing Sounding Podcast in just 4 WEEKS! Work with a 13 year podcasting veteran to get your podcast started off on the right foot!
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/13/2021 • 54 minutes, 41 seconds
Elixir ConfigCat SDK and mix test.in - EMx 147
Randy Coulman joins the Mix this week to discuss ConfigCat's SDK for Elixir. Since ConfigCat doesn't have an Elixir SDK, they built one internally in their application. Randy discusses how that worked out and how you could do that if your services don't offer Elixir SDK's.
Panel
Allen Wyma
Sascha Wolf
Guest
Randy Coulman
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
Elixir SDK for ConfigCat
InfluxDB Cloud
ConfigCat
entr CLI tool
gitmoji
VSCode Extension - Elixir Test
Randy Coulman
GitHub: Randy Coulman ( randycoulman )
LinkedIn: Randy Coulman
Twitter: Randy Coulman ( @randycoulman )
Picks
Allen- Warp Terminal
Randy- Growing a Language
Randy- Essential Craftsman - How To Be More Productive
Randy- CrackingTheCryptic - YouTube
Randy- The Miracle Sudoku
Sascha- Effective DevOps
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Sascha:
Sascha Wolf
Special Guest: Randy Coulman.Sponsored By:
Podcast Bootcamp: Launch an Amazing Sounding Podcast in just 4 WEEKS! Work with a 13 year podcasting veteran to get your podcast started off on the right foot!
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/6/2021 • 41 minutes, 47 seconds
Onboarding and Transitioning into Elixir - EMx 146
The Elixir Mix panel takes the helm to talk about helping onboard and transition new developers onto an Elixir team. They discuss helping developers who may not have an Elixir background. They also advise Chuck on how to make a career transition since he's considering a jump into an Elixir job from his current role as a Rails developer.
Panel
Allen Wyma
Charles Max Wood
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
Designing for Scalability with Erlang/OTP
Designing for Scalability with Erlang/OTP - O'Reilly
Picks
Allen- Tokio
Charles- PodcastBootcamp.io
Charles- Top End Devs
Charles- Masters of Doom
Charles- The Road Back to You
Sascha- Exercism
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/29/2021 • 51 minutes, 58 seconds
How Far Can You Push a GenServer ft. Brian Underwood - EMx 145
Brian Underwood joins the mix to discuss his recent project where he created a game that would push more and more load onto a genserver to see at what point the performance and usability begins to degrade. The discussion includes an exploration of what this means as your application grows.
Panel
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
Brian Underwood
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
How Far Can I Push a GenServer?
Avoiding Microservice Megadisasters - Jimmy Bogard
GitHub | bencheeorg/benchee
erlang - npm
Port
Stuff Goes Bad: Erlang in Anger
Brian Underwood
Twitter: Brian Underwood ( @cheerfulstoic )
Picks
Allen- Keith Elder - Building A Highly Scalable Service that Survived A Super Bowl | Code BEAM SF 19
Brian- Elixir in Public Transit 3 case studies from Boston's MBTA | Erlang Solutions webinar
Brian- ink
Charles- Ready Player Two
Charles- Masters of Doom
Charles- PodcastBootcamp.io
Sascha- Obsidian
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Brian Underwood .Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/22/2021 • 34 minutes, 17 seconds
Pluralsight, Courses, and Elixir the Big Picture ft. AJ Foster - EMx 144
AJ Foster is a developer at Pluralsight. He talks about the course he made for Pluralsight about Elixir and then talks about how Elixir was brought into Pluralsight, both into their catalog of courses as well as into the tech stack for the company.
Panel
Allen Wyma
Eric Bolikowski
Sascha Wolf
Guest
AJ Foster
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
Elixir: The Big Picture
Keith Elder - Building A Highly Scalable Service that Survived A Super Bowl | Code BEAM SF 19
Elixir Diff
Erlang - heart
PRINCIPLES OF CHAOS ENGINEERING
GitHub: AJ Foster ( aj-foster )
Twitter: AJ Foster ( @Austin_J_Foster )
Picks
AJ- GitHub | aj-foster/absinthe-socket-transport
AJ- FIRST
Allen- Keith Elder - Building A Highly Scalable Service that Survived A Super Bowl | Code BEAM SF 19
Allen- Zero To Production In Rust
Eric- Hardcore Zen
Sascha- Erlang in Anger
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Eric:
LinkedIn: Eric Bolikowski
Contact Sascha:
Sascha Wolf
Special Guest: AJ Foster.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/15/2021 • 43 minutes, 51 seconds
Miss Elixir ft. Fernando Hamasaki – EMx 143
Fernando Hamasaki joins the mix to discuss Miss Elixir, where it came from, and what it is.
He specifically discusses the application it came from and how it gets used today.
Panel
Adi Iyengar
Allen Wyma
Guest
Fernando Hamasaki de Amorim
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
PodcastBootcamp.io
Links
Miss Elixir
Adopting Elixir at FindHotel
Add List.intersection/2
12 Retired Myths
What do you miss?
ecto_commons
FindHotel Careers
Prodis' blog | Fernando Hamasaki de Amorim
GitHub: Fernando Hamasaki de Amorim ( prodis )
Twitter: Fernando Hamasaki ( @Prodis )
Picks
Adi- Slab
Adi- Hank
Allen- NOCAI’S APOLOGY
Fernando- The Complete History and Strategy of The NBA
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Special Guest: Fernando Hamasaki de Amorim.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/1/2021 • 46 minutes, 4 seconds
Building PWA's in Elixir and Phoenix ft. Tej Pochiraju - EMx 142
Tej Pochiraju joins the mix to discuss Progressive Web Apps and how you can support them using Elixir and Phoenix.
Tej is also an IoT developer, so he discusses how you can tie this all to IoT as well.
Panel
Allen Wyma
Sascha Wolf
Guest
Tej Pochiraju
Sponsors
Dev Influencers Accelerator
Level Up | Devchat.tv
Links
Progressive Web Apps & Elixir Phoenix
GitHub: Tej Pochiraju ( tejpochiraju )
Twitter: Tej Pochiraju ( @tejpochiraju )
Picks
Allen- MJML
Allen- Foundation
Sascha- You Got This
Tej- Datasette
Tej- Braid: Synchronization for HTTP
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Sascha:
Sascha Wolf
Special Guest: Tej Pochiraju.Sponsored By:
Top End Devs Coaching: If you have questions about how to grow your skills or take your career to the next level, join us on our next weekly coaching call. It's completely free.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/25/2021 • 54 minutes, 33 seconds
Domo and Type Validations ft. Ivan Rublev – EMx 141
Ivan Rublev is the author of the open source library, Domo, which provides type validations for Elixir applications. He discusses the types of validations it does and the tradeoffs you get when you can validate the structure of your structs.
Panel
Charles Max Wood
Sascha Wolf
Guest
Ivan Rublev
Sponsors
Dev Influencers Accelerator
Links
GitHub | IvanRublev/Domo
domo | Hex
Twitter: Ivan Rublev ( @LevviBraun )
Picks
Charles- Rhythm of War
Charles- Devchat.tv/levelup
Ivan- Microservices in Action
Sascha- Domain Modeling Made Functional
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Ivan Rublev.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/18/2021 • 52 minutes, 6 seconds
How to Become a Top End Developer - EMx 140
Charles Max Wood takes the lead this week. He and Adi Iyengar discuss what Top End Devs are and what people should be doing to become Top End Devs.
They start out discussing the default trajectory of a developer's career and then talk about how to get boosts off that line and into higher levels of achievement and fulfillment.
Panel
Adi Iyengar
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Picks
Adi- Build Your Own Web Framework in Elixir
Adi- ADI IYENGAR - CODE BEAM AMERICA 2021
Adi- Boston Elixir
Charles- The MaxCoders Guide To Finding Your Dream Developer Job
Charles- Devchat.tv/levelup
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/11/2021 • 57 minutes, 58 seconds
Gleam and Typing ft. Louis Pilfold - EMx 139
Louis Pilfold is the creator of the Gleam programming language. He explains what Gleam is and tells us where it came from.
He then dives into why he wrote a statically typed language for the BEAM, the challenges involved, and its strengths for programming and tooling.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Eric Bolikowski
Sascha Wolf
Guest
Louis Pilfold
Sponsors
Dev Influencers Accelerator
Links
Gleam
News - Gleam
GitHub | gleam-lang/otp
Language Tour - The Gleam Book
GitHub | jamiebuilds/the-super-tiny-compiler
Compiling to Assembly from Scratch
120 RR Book Club: Understanding Computation with Tom Stuart | Devchat.tv
Gleam: Lean BEAM typing machine - Louis Pilfold | Code BEAM V 2020
Twitter: Gleam Language ( @gleamlang )
Twitter: Louis Pilfold ( @louispilfold )
Picks
Adi- Engineering a Compiler
Adi- Code BEAM America 2021
Adi- SpawnFest 2021
Allen- Flying High with Flutter - YouTube
Allen- Rust Integrated Dart
Charles- The Prosperous Coach
Charles- Kajabi
Charles- Groove Digital
Charles- Xero
Eric- reMarkable
Louis- The Little Typer
Louis- The Gleam Programming Language - Discord
Sascha- A Type of Programming
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Louis Pilfold.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/4/2021 • 1 hour, 5 minutes, 16 seconds
Elixir as a General Purpose Language - EMx 138
This week, the panel gets in and talks about Elixir is not just a specialty language for high concurrency applications with specific performance profiles.
They dive into how Elixir can be used in a variety of cases and how it is set up as a language that allows you to solve the breadth of issues that other popular languages solve without being specialized to them.
Panel
Adi Iyengar
Allen Wyma
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Links
Erlang Term Storage (ETS)
dets (stdlib) - (Erlang Documentation)
JVM struggles and the BEAM
Picks
Adi- How to split a router into multiple modules using Phoenix
Adi- ElixirConf EU 2021 volunteer application form
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/27/2021 • 38 minutes, 5 seconds
State Management in Elixir - EMx 137
Shortcode:
The panel talks about how to manage state in Elixir applications. Sometimes you can get away with internal structures like gen servers and ETS and other times you have to reach to external systems like redis, mongodb, or postgreSQL.
This episode will walk you through the ins and outs of managing state and what your options are and what the tradeoffs are between those options.
Panel
Allen Wyma
Eric Bolikowski
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Links
Mongo.Ecto
Erlang -- persistent_term
Erlang Term Storage (ETS)
Picks
Allen- Real-World Cryptography
Eric- Notion
Sascha- The Little Elixir & OTP Guidebook
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Eric:
GitHub: Eric Bolikowski ( ericbolikowski )
LinkedIn: Eric Bolikowski
Contact Sascha:
Sascha Wolf
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/21/2021 • 53 minutes, 24 seconds
Heartbeat and Gen Servers featuring Luca Peppe - EMx 136
Luca Peppe built a health check and heartbeat system for the systems at work in Elixir. While the implementation uses many basic features from Elixir and Phoenix, the way that it underscores the fundamentals of Elixir is helpful for both the experienced and the new Elixir developer.
Panel
Charles Max Wood
Sascha Wolf
Guest
Luca Peppe
Sponsors
Dev Influencers Accelerator
Links
How to easily create a healthcheck endpoint for your Phoenix app, the Elixir way
GitHub | ostinelli/syn
GitHub | ninenines/ranch
LinkedIn: Luca Peppe
Picks
Charles- Audible
Charles- The Ruthless Elimination of Hurry
Charles- Atlas Shrugged
Charles- Oathbringer
Luca- Craft GraphQL APIs in Elixir with Absinthe
Sascha- Drive: The Surprising Truth About What Motivates Us
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Luca Peppe .
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/14/2021 • 34 minutes, 57 seconds
Speeding up Elixir Regex replacement at Tubi with Yiming Chen - EMx 135
This week, we talk with Yiming Chen about how drilled into the root cause of some slow requests and how it turned out to be an issue with Elixir's own Regex module. We talk about how they monitor performance at Tubi, what they tried to solve the issue, and how they ssh'ed into production to run more detailed performance monitoring.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
Yiming Chen
Sponsors
Dev Influencers Accelerator
Links
How we discovered a 7-year old performance issue in Elixir
GitHub | proger/eflame
Erlang -- eprof
Erlang -- Profiling
GitHub | dsdshcym/promox
What I learned from implementing Combinators in 3 Elixir patterns
Twitter: Yiming Chen ( @dsdshcym )
Picks
Adi- Buy a car
Adi- GitHub | cuelang/cue
Allen- How using hyper in curl can help make the internet safer
Allen- 3D Mockups Fast | Rotato
Charles- Atlas Shrugged
Charles- Home Depot
Sascha- Brené Brown: The power of vulnerability
Sascha- The Power of Vulnerability
Yiming- GitHub | dsdshcym/objext
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Yiming Chen.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/7/2021 • 48 minutes, 46 seconds
Development Setups for Elixir - EMx 134
The panel discusses their development setups, their journeys getting them to where they are now, and the tools they use while they're developing software in Elixir and with Phoenix.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Links
Atom
Spacemacs
Neovim
IntelliJ IDEA
GitHub | KronicDeth/intellij-elixir
GitHub | hlissner/doom-emacs
entr(1)
GitHub | tmux-plugins/tmux-resurrect
GitHub | mkchoi212/fac
GitHub | emcrisostomo/fswatch
GitHub | thebugcatcher/heimdall
Earthly
Improving Testing & Continuous Integration in Phoenix
GitHub | junegunn/fzf
GitHub | alacritty/alacritty
GitHub | josefs/Gradualizer
Josef Svenningsson - A gradual type system - Code BEAM STO - YouTube
Picks
Adi- Careers at Corvus
Adi- GitHub | nccgroup/sobelow
Allen- Behind the birth of Dart
Allen- Rust Servers, Services, and Apps
Charles- Created Equal: Clarence Thomas in His Own Words
Charles- Napoleon Hill's Outwitting the Devil
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/30/2021 • 1 hour, 4 minutes, 58 seconds
Securely Managing Environment Variables using DotEnvy with Everett Griffiths - EMx 133
Everett Griffiths is the author of the DotEnvy library. He wrote the library to help manage environment variables across multiple applications and environments.
He and the Elixir Mix panel dive into how DotEnvy works and in the ins and outs of managing environment variables securely from one application to another and from one environment to another. Through development and deployment this is often an overlooked step in keeping things secure while also keeping them simple.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Sascha Wolf
Guest
Everett Griffiths
Sponsors
Dev Influencers Accelerator
Links
Giving What We Can Community
Centre for Effective Altruism
LinkedIn: Everett Griffiths
Picks
Adi- Huntress
Adi- GitHub | marp-team/marpit
Allen- Rust Web Development
Allen- Concurrent Data Processing in Elixir
Charles- DigitalOcean
Charles- TrainingPeaks
Everett- Ruby For Good
Everett- Elixir For Good
Sascha- Hands-on Rust
Sascha- GitHub | mozilla/sops
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Special Guest: Everett Griffiths.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/23/2021 • 50 minutes, 9 seconds
Milestones in Elixir's Evolution - EMx 132
The Elixir Mix Panel discussions the history of Elixir and the high points and big changes in the language and ecosystem. They go into the big changes that brought about growth in the ecosystem, ease of use in the language, better features, and much more.
Panel
Adi Iyengar
Allen Wyma
Charles Wood
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Links
ElixirConf 2021
Debugging With Tracing in Elixir
Call for Proposals for ElixirConf EU 2021
Picks
Adi- Simplebet - Software Engineer
Adi- Career Opportunities | Annkissam
Allen- Just-in-Time Mode - Tailwind CSS
Charles- Premium Podcast Feeds | Devchat.tv
Charles- Who Not How
Charles- The Miracle Morning
Charles- Psycho-Cybernetics
Charles- As a man Thinketh
Charles- Dev Influencers | Devchat.tv
Sascha- Bypass - bypass v2.1.0
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Contact Sascha:
Sascha Wolf
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/16/2021 • 41 minutes, 4 seconds
Deploying Elixir - EMx 131
Chuck and Allen dive into how and where to deploy Elixir and Phoenix applications. They talk through the mostly done for you solutions like Gigalixir and Heroku down to deploying by script to server or VPS hosting like DigitalOcean all the way to building containers and deploying to Kubernetes setups like AWS or DigitalOcean's cloud setup. There are a lot of great options and many of them depend on how much of the work you want to do and how much learning curve you want to take on. Allen and Chuck discuss the tradeoffs of each choice in those regards.
Panel
Allen Wyma
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Links
DigitalOcean
Sentry
Raygun | Click here to get started on your free 14-day trial
Gigalixir
Deploying Phoenix - YouTube
Heroku
Docker
GitHub | edeliver/edeliver
GitLab
Picks
Allen- Concurrent Data Processing in Elixir
Charles- Who Not How
Charles- Procrastinate on Purpose
Charles- Focus Blocks
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/9/2021 • 1 hour, 1 minute, 50 seconds
The 3 Essentials for Successful Job Outcomes - BONUS
Chuck dives into the 3 essentials for getting the next successful outcome you want in your career. Whether that's something simple like a raise or something more complex like going freelance, you can achieve it by working on 3 main areas.
First, building skills. The most obvious type of skills you'll need is technical skills. However, don't neglect your people skills and your organizational skills as well since you're often paid for how you work with people and enhance their work and how you put your work together in the most efficient ways.
Second, building relationships. Often other people will be able to help you find the opportunities or will be the ones to make the decisions that impact your ability to get the outcome you want. Having good relationships is key to having good outcomes.
Third, building recognition. Being known for being valuable in important ways allows you to leverage the skills you have to build better relationships and create opportunities to get what you need to get the outcomes you want by giving people what they want. A podcast is a great way to do all three. Chuck explains exactly how that works in this podcast and goes deeper as part of the Dev Influencers Accelerator.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/4/2021 • 35 minutes, 24 seconds
Client Side Drag and Drop with LiveView + Learning Elixir and Phoenix with Kelsey Leftwich - EMx 130
Kelsey Leftwich explains how Phoenix LiveView made it possible to build a simple drag and drop component without the need for a large front-end framework like React and clunky back-end API setup to make it work.
She then described her journey into learning Elixir and Phoenix coming from a React and front-end background.
Panel
Adi Iyengar
Allen Wyma
Charles Max Wood
Guest
Kelsey Leftwich
Sponsors
Dev Influencers Accelerator
Links
Surface UI
Client-Side Drag and Drop with Phoenix LiveView
Learn Elixir
Twitter: Kelsey Leftwich ( @kelseyleftwich )
Picks
Adi- LiveView Course
Adi- Joy of Elixir
Allen- Modern CSS with Tailwind
Charles- Workout buddies
Charles- Focus Blocks
Contact Adi:
Adi Iyengar – The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Contact Allen:
Plangora
Plangora Limited
Plangora – YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora – Web and Mobile Development
Plangora – Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter – YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Contact Charles:
Devchat.tv
DevChat.tv | Facebook
Twitter: DevChat.tv ( @devchattv )
Special Guest: Kelsey Leftwich .
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/2/2021 • 43 minutes, 58 seconds
How to Get Hired at a FANG Company - BONUS
Chuck explains what he taught Nathan last week when we asked how to get hired at a FANG (Facebook Apple/Amazon Netflix Google) company. Essentially, it boils down to how to build the skills and knowledge needed to pass the interview. How to build the relationships to get into the door and have the interviewer want you to succeed. And how to build the reputation that has the company wanting you regardless of the outcome.
This approach also works for speaking at conferences, selling courses, and other outcomes as well as it's the core of building a successful career as an influencer.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/28/2021 • 22 minutes, 25 seconds
Composing Queries for Ecto in Phoenix with Szymon Soppa - EMx 129
Szymon Soppa joins the mix to talk about composing queries for your Ecto models in Phoenix. He talks about how Ecto typically thinks about its queries and how you can build your own queries and dives deep with Adi on how you can arrange the queries to get the characteristics in both data and performance that you're looking for from your database.
Panel
Adi Iyengar
Guest
Szymon Soppa
Sponsors
Dev Influencers Accelerator
Links
How to compose and refactor Ecto queries with Queries Modules
Contact us | Curiosum
LinkedIn: Szymon Soppa
Picks
Adi- The Little Elixir & OTP Guidebook
Szymon- Elixir and Phoenix Software House | Curiosum
Contact Adi:
Adi Iyengar - The Bug Catcher
GitHub: Adi Iyengar ( thebugcatcher )
Twitter: Adi Iyengar ( @lebugcatcher )
Special Guest: Szymon Soppa.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/26/2021 • 25 minutes, 11 seconds
All Things Comprehensions with Kamil Lelonek - EMx 128
Kamil Lelonek joins the mix to explain what comprehensions are and how they are used in Elixir.
Allen and Kamil dive into the intricacies of this simple, yet powerful, feature that allows you to work with collections of data to get work done in your Elixir applications.
They also dive into some of the more common structures of comprehensions and some of the uses cases they're put to.
Panel
Allen Wyma
Guest
Kamil Lelonek
Sponsors
Dev Influencers Accelerator
Links
Best practices of comprehensions in Elixir
Kamil Lelonek - Software Engineer
Picks
Allen- GitLab
Allen- Plangora - YouTube
Kamil- Graph Database Platform
Kamil- The Tangled Web
Contact Allen:
Plangora
Plangora Limited
Plangora - YouTube
Plangora | Facebook
Tech_Plangora Limited_Elixir | Instagram
Twitter: Plangora ( @Plangora )
LinkedIn: Plangora - Web and Mobile Development
Plangora - Reddit
Flying High With Flutter
Flying High With Flutter
Flying High with Flutter - YouTube
Flying High with Flutter | Facebook
Flying High With Flutter | Instagram
Twitter: Flying High with Flutter ( @fhwflutter )
Teach Me Code
Teach Me Code
Teach Me Code | Facebook
TeachMeCode | Instagram
Special Guest: Kamil Lelonek.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/19/2021 • 52 minutes, 47 seconds
Mind your behaviors with Knigge - EMx 127
Sascha Wolf joins the mix to talk about how to test behaviors in your Phoenix apps by using tools like Mox and Knigge.
Panel
Adi Iyenger
Allen Wyma
Charles Max Wood
Eric Bolikowski
Guest
Sascha Wolf
Sponsors
Dev Influencers Accelerator
Links
Twitter: Sascha Wolf ( @wolf4earth )
Picks
Adi- Testing Elixir by Andrea Leopardi and Jeffrey Matthias
Adi- GitHub | gleam-lang/gleam
Allen- The Pragmatic Studio
Charles- Flying High with Flutter
Charles- Premium | Devchat.tv
Charles- Ruby Rogues | Devchat.tv
Charles- Back Market
Eric- Grokking Simplicity by Eric Normand
Sascha- Humans vs Computers
Special Guest: Sascha Wolf.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/12/2021 • 23 minutes, 9 seconds
Becoming the Go-To Person in Your Technology Area - BONUS
Chuck was on a strategic call with one of his potential coaching clients talking about cryptocurrencies and realized that this is one of the major reasons that people want to become influencers. Or, rather, that many people aspire to make a difference and/or make money and the best way to do that is to become the person people go to for what you do.
So, how do you become the first person people think of when they think of that thing you know how to do? Let Chuck tell you.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/7/2021 • 16 minutes, 32 seconds
Measuring and Marshaling Productivity with Mason McLead - EMx 126
Have you wondered how to measure how productive your team is? And, how do you increase team throughput? Mason McLead from Software.com joins the Mix to explain how they measure productivity for individuals and teams at Software.com and gives tip after tip on how teams can organize to allow for more flow state among their developers.
Panel
Allen Wyma
Charles Max Wood
Guest
Mason McLead
Sponsors
Dev Influencers Accelerator
Picks
Allen- The Practitioner's Guide to Graph Data
Allen- A6-N3 Standing Desk
Charles- Back Market
Charles- Dev Influencers | Devchat.tv
Mason- Notion
Special Guest: Mason McLead .
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/5/2021 • 1 hour, 1 minute, 45 seconds
Don't Let These Things Keep You From Podcasting - BONUS
Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/29/2021 • 15 minutes, 17 seconds
Don't Let These Things Keep You From Podcasting - BONUS
Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey.
Panel
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/28/2021 • 17 minutes, 38 seconds
BONUS: Relationships Matter Most
Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers and how he and others have grown from those relationships. He also explains that you get out of relationships what you put into them. Finally, he goes into how to begin to build relationships by building a system of influence you can use on behalf of the people you want relationships with.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/23/2021 • 19 minutes, 44 seconds
BONUS: Relationships Matter Most
Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers and how he and others have grown from those relationships. He also explains that you get out of relationships what you put into them. Finally, he goes into how to begin to build relationships by building a system of influence you can use on behalf of the people you want relationships with.
Panel
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/21/2021 • 21 minutes, 46 seconds
BONUS: How Opportunities Come Your Way When You're an Influencer
Charles Max Wood discusses several opportunities that came his way early in his podcasting career and other opportunities that have come to other people after only a couple of podcast episodes. He explains why that happens and how you can use this to create more influence as a developer.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/16/2021 • 20 minutes, 32 seconds
EMx 125: Testing Phoenix Controller Plugs with Adi Iyengar
Adi Iyengar walks Eric and Chuck through the process of testing your plugs in your Phoenix Controllers. He leads out by explaining how most people approach testing plugs and some of the inherent problems and inefficiencies with the approach and then explains the way that he approaches testing them and testing Phoenix apps in general.
Panel
Charles Max Wood
Eric Bolikowski
Guest
Adi Iyengar
Sponsors
Dev Influencers Accelerator
Links
Linkedin: Adi Iyengar
Adi Iyengar - The Bug Catcher
Picks
Adi- Elixir in Action by Saša Juric
Charles- Dev Influencers | Devchat.tv
Charles- The Courier (2020)
Eric- Learning Elixir, Phoenix and LiveView: A Primer for Experienced Programmers
Special Guest: Adi Iyengar.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/14/2021 • 31 minutes, 13 seconds
BONUS: What is Charles Max Wood's Biggest Payoff for Being a Dev Influencer?
Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wanted to learn. The reasons changed over the years, as Charles explains before he talks about the big payoff he gets now from doing the podcasts.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/9/2021 • 31 minutes, 26 seconds
BONUS: What is Charles Max Wood’s Biggest Payoff for Being a Dev Influencer?
Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wanted to learn. The reasons changed over the years, as Charles explains before he talks about the big payoff he gets now from doing the podcasts.
Panel
Charles Max Wood
Sponsors
Dev Influencers Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/7/2021 • 33 minutes, 47 seconds
BONUS: How Jason Weimann Became a Game Developer
Jason Weimann started out as an enthusiast of the Massively Multiplayer Online Role Playing Game, Everquest. After becoming a software developer and building a collaborative community playing the game, learn how he used his connections to get a job working for the company that made the game, even if it wasn't a job working as a game developer and how that led to a career working on one of the most popular online games of the time.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/2/2021 • 39 minutes, 3 seconds
BONUS: How Jason Weimann Became a Game Developer
Jason Weimann started out as an enthusiast of the Massively Multiplayer Online Role Playing Game, Everquest. After becoming a software developer and building a collaborative community playing the game, learn how he used his connections to get a job working for the company that made the game, even if it wasn't a job working as a game developer and how that led to a career working on one of the most popular online games of the time.
Panel
Charles Max Wood
Guest
Jason Weimann
Sponsors
Dev Heroes Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/31/2021 • 41 minutes, 14 seconds
BONUS: Continuing Your Learning Journey by Finding Mentors as an Influencer
Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/26/2021 • 30 minutes, 12 seconds
BONUS: Continuing Your Learning Journey by Finding Mentors as an Influencer
Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster.
Panel
Charles Max Wood
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/26/2021 • 30 minutes, 12 seconds
EMx 124: Learning Resources for Elixir
As we ramp back up on recording Elixir Mix, our new panel dives into the resources available for learning and keeping current in Elixir. Resources include books, courses, forums, email newsletters, and more.
Panel
Allen Wyma
Charles Max Wood
Eric Bolikowski
Sponsors
Dev Heroes Accelerator
Links
Programming Elixir ≥ 1.6: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas
Elixir in Action by Saša Juric
Learning Resources - The Elixir programming language
Binary pattern matching in Elixir with PNG parsing example by Zohaib Rauf
ElixirWeekly
ElixirConf 2020
ElixirConf EU
Code BEAM - Erlang & Elixir Ecosystem Virtual Conference
Elixir Programming Language Forum
Join Elixir on Slack
Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems by Francesco Cesarini
Elixir Wizards Podcast | SmartLogic
Podcast - Thinking Elixir
Elixir Outlaws
Beam Radio
Ottolenghi
Picks
Allen- YouTube Channel | Plangora
Allen- Flutter Folio
Charles- The 12 Week Year by Brian P. Moran
Charles- TraningPeaks | Hit Your Stride
Charles- ClickUp
Eric- Ottolenghi Flavor: A Cookbook by Yotam Ottolenghi
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/23/2021 • 23 minutes, 41 seconds
BONUS: How Senior Developers Can Enjoy Learning Like They Were Juniors
Remember the amazing adventure it was to learn a new thing every day as a Junior Developer? It's easy to feel a little stuck or lost as a Senior developer since there aren't roadmaps or people looking to mentor seniors. (Besides Charles Max Wood.) Chuck talks about how he felt that way at different points in his career and how podcasting and connecting with the programming communities helped him get past that.
Panel
Charles Max Wood
Sponsors
Dev Heroes Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/16/2021 • 39 minutes, 9 seconds
Emx 123: Curry in a Megaparsec - Unconvention Elixir Explorations with Julien Maisonneuve
Julien Maisonneuve—blogger extraordinaire—joins the Elixir Mix panel to discuss the ways he’s bent Elixir to his will and found the edges of how it works and what you can do with its syntax. He talks about currying and about taking Elixir syntax to extremes. He’s also worked on the Megaparsec Elixir parser and explains some of the oddities that come with working with Elixir’s AST(Abstract Syntax Tree.)
Panel
Allen Wyma
Charles Max Wood
Eric Bolikowski
Guest
Julien Maisonneuve
Sponsors
Dev Heroes Accelerator
Links
Cursed curried Elixir
Cursed Elixir
druid: Failing to parse Elixir with Megaparsec
GitHub | evuez
Twitter: Julien Maisonneuve ( @evuez )
Picks
Allen- Phoenix LiveView | The Pragmatic Studio
Allen- ElixirConf 2018 - Docker and OTP Friends or Foes - Daniel Azuma
Charles- Upper Deck Legendary: A Marvel Deck Building Game
Charles- Trello
Charles- Elixir Mix - Devchat.tv
Eric- Programming Elixir 1.6: Functional |> Concurrent |> Pragmatic |> Fun
Eric- Computer Science Distilled - Learn the Art of Solving Computational Problems
Julien- The Little Typer (The MIT Press)
Contact Charles
Twitter : Charles Max Wood ( @cmaxw )
Special Guest: Julien Maisonneuve.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/9/2021 • 47 minutes, 57 seconds
BONUS: How to get Freelance Clients to Come to You
Charles Max Wood explains how he landed his first 4 freelance clients that took him through a few years of freelancing with only 3 years of experience and a few hundred podcast listeners. Funnily enough, they actually came to him, not the other way around.
He explains how he made himself attractive to them and then turned it into a mutually profitable relationship once he had their attention.
Panel
Charles Max Wood
Sponsors
Dev Heroes Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/2/2021 • 34 minutes, 51 seconds
Emx 122: The Future of Elixir Mix
If you've been wondering what's up with Elixir Mix and how it's going to shape up for the future, stay tuned…
Panel
Charles Max Wood
Sponsors
Dev Heroes Accelerator
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/16/2021 • 27 minutes, 38 seconds
BONUS: Measuring Apps and Entrepreneurship with John-Daniel Trask
John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.Special Guest: John-Daniel Trask.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/5/2021 • 50 minutes, 11 seconds
BONUS: Measuring Apps and Entrepreneurship with John-Daniel Trask
John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.Special Guest: John-Daniel Trask.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/5/2021 • 50 minutes, 11 seconds
Emx 121: What is a Top 5% Developer?
This is a repeat episode of Ruby Rogues 485
The Rogues dive into who are top 5% developers, what they're doing and how to recognize them. They start out discussing how mid-level developers can move up and how developers can grow in more ways that technical skills.
Panel
Charles Wood
Dave Kimura
John Epperson
Sponsors
Next Level Mastermind
Raygun | Click here to get started on your free 14-day trial
Links
Devchat.tv | Dev Rev
Picks
Charles- The 360 Leader: Developing your Influence from Anywhere in the Organization by John C. Maxwell
Charles- The Hero with a Thousand Faces by Joseph Campbell
Charles- Building a StoryBrand: Clarify Your Message So Customers Will Listen by Donald Miller
Dave- Ruby on Rails Link
Dave- Track Lights
John- Never Split the Difference: Negotiating As If Your Life Depended On It by Chris Voss
John- How to write an effective developer resume: Advice from a hiring manager
John- Yoichi Single Malt Whisky
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/3/2021 • 1 hour, 11 minutes, 14 seconds
EMx 050: Elixir Origin Story with José Valim
José Valim, the creator of Elixir, shares his story with the panel starting with why he built Elixir. The panel wonders why José did not just use Erlang. José discusses what he wanted from Elixir and what problems he wanted to solve. The panel discusses concurrency, Metaprogramming, ad hoc polymorphism, and run times. José talks about what it was like as elixir grew in popularity and maintaining Elixir.
José shares his goals for Elixir for 2019 and discusses his role in different projects. The panel shares their love for the friendliness and openness of the Elixir community and asks José how it became that way. The history of the signature heart emojis is shared. José shares a little about his everyday life and the things he enjoys to do. The episode ends with an update on the Erlang Ecosystems Foundation.
Panel
Mark Ericksen
Michael Ries
Charles Max Wood
Josh Adams
Guest
José Valim
Sponsors
Raygun | Click here to get started on your free 14-day trial
Next Level Mastermind
Links
https://erlef.org/
https://pbs.twimg.com/media/Dwz1DqVWkAAT4tr.jpg
https://en.wikipedia.org/wiki/Ad_hoc_polymorphism
https://github.com/dynamo/dynamo
https://github.com/grych/drab
https://github.com/elixir-ecto/ecto
https://phoenixframework.org/
https://github.com/beam-telemetry/telemetry
https://hex.pm/packages/broadway
https://hexdocs.pm/broadway/0.2.0/Broadway.html
https://hexdocs.pm/gen_stage/0.14.1/GenStage.html
https://hexdocs.pm/flow/0.14.3/Flow.html
https://github.com/phoenixframework/phoenix_pubsub/pull/121#issuecomment-466673652
https://github.com/nashby/jose-vs-oss
http://pages.plataformatec.com.br/elixir-development-subscription
https://twitter.com/josevalim
https://github.com/josevalim
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark - https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted
Josh- RubyHack 2019 – Ruby3: What's Missing? by Yukihiro (Matz) Matsumoto
Josh- The Giant Chicken Brahma
Charles- https://www.theblaze.com/news/scientists-create-first-3d-printed-heart
Charles- https://podwrench.com
Charles- https://podcastmovement.com/
Michael- Functional Web Development with Elixir, OTP, and Phoenix
Michael- "Triste" ALBA ARMENGOU SANT ANDREU JAZZ BAND (JOAN CHAMORRO DIRECCIÓN)
José- Chris McCord Keynote: Phoenix LiveView – Interactive, Real TIme Apps – No need to write Javascript
José- Nintendo Switch
Special Guest: José Valim.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/12/2021 • 1 hour, 21 minutes, 59 seconds
BONUS: How to Crush Your Biggest Goals in 2021
Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE
(Coupon Code: GOALS for a massive discount)
Mani Vaya joins Charles Max Wood to walk him through the 6 pillars of success that lead to meeting your goals.
Mani has read thousands of books on success, setting and achieving goals, and personal growth and has distilled these 6 principles from the books and then figured out how to put them into practice.
He and Chuck walk through the principles and strategies that create success and allow you to set goals that will bring you the things you want during the next year or so.
Listen to this episode to learn how to crush your biggest goals in 2021.
Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE
(Coupon Code: GOALS for a massive discount)
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/1/2021 • 1 hour, 7 minutes, 13 seconds
EMx 120: Exploring GraphQL with Elixir
We talk with Meryl Dakin, an Elixir engineer at Frame.io, about why they rebuilt their legacy application in Elixir, why they brought in GraphQL and what it’s like to work with the Absinthe Elixir library for GraphQL. We wrap up the episode with a very special Tarot reading using the deck that Meryl gave Sophie last Christmas.
Panel
Sophie DeBenedetto
Alex Koutmos
Lars Wikman
Guest
Meryl Dakin
Sponsors
Raygun | Click here to get started on your free 14-day trial
Picks
Lars-SSH Kit
Alex- Elgato Wave: 3
Alex- Beam Telemetry GitHub org
Meryl- Series: Search Party
Sophie- Eddy Sofa
Special Guest: Meryl Dakin.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/29/2020 • 53 minutes, 8 seconds
EMx 119: Crawling The Web With Elixir with Adam Mokan
Adam Mokan joins the Mix to discuss crawling the web with Elixir. He starts out by explaining he rather unconventional path to Elixir. At ElixirConf he spoke about crawling the web. He admits that his talk was more about architecture of a highly parallelized app with a restrictive SLA. He talks about managing web crawls and not knowing what your clients will send in.
Panel
Alex Koutmos
Lars Wikman
Guest
Adam Mokan
Sponsors
Groxio.io | Career Rocket Fuel For Curious Coders`
Audible.com
Picks
Alex -Easy and Robust Rate Limiting in Elixir
Lars - Beam Bloggers Webring
Adam - Logflare
Special Guest: Adam Mokan.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/23/2020 • 47 minutes, 30 seconds
EMx 118: gRPC + Elixir, A Love Story with Catalina Astengo
We talk with Engineering Manager and Elixirist Catalina Astengo about using gRPC, Protobuf and Elixir to standardize communication between microservices, why and when to reach for gRPC and why Elixir lends itself so well to this pattern of communication.
Panel
Sophie DeBenedetto
Steven Nunez
Alex Koutmos
Lars Wikman
Guest
Catalina Astengo
Picks
Alex - AMD Ryzen™ 9 3950X
Alex - A brief introduction to BEAM
Lars - Webcam Settings App
Lars - Underjord
Steven - Packwerk
Steven - Bakeware
Sophie - https://github.blog/2020-10-29-building-github-introduction/
Sophie - Waterproof Blanket Cover
Catalina - Vegan Recipes
Special Guest: Catalina Astengo.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/8/2020 • 52 minutes, 20 seconds
EMx 117: Learning and Loving Elixir with Randall Thomas
We discuss how to learn and love Elixir and other functional languages, the importance of people and community in learning, the perfect autumnal cocktail and so much more with Randall Thomas—drinker, hacker and bon vivant!
Panel
Sophie DeBenedetto
Steven Nunez
Alex Koutmos
Bruce Tate
Special Guest
Randall Thomas
Sponsors
Groxio.io | Career Rocket Fuel For Curious Coders`
Audible.com
Links
Let Over Lambda—50 Years of Lisp
Haskell Programming from First Principles
WHAT I WISH I KNEW WHEN LEARNING HASKELL
Programming Elixir
Picks
Bruce - https://grox.io
Alex - Erlang in Anger
Alex - https://github.com/happi/theBeamBook
Steven - 49 inch ultra wide monitor
Randall - https://haskellbook.com/, https://keminglabs.com/finda
Special Guest: Randall Thomas.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/1/2020 • 50 minutes, 43 seconds
BONUS: How to do LARGE Volumes of HIGH Quality Work - While Spending Fewer Hours Working
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.
He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.
He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.
The trick? Deep Work!
Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.
Other developers call it "Flow" or "the Zone."
Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/27/2020 • 1 minute, 22 seconds
EMx 116: Where Should We Take Elixir with Saša Jurić
This guest barely needs an introduction and we roll quickly forward from his one-punch knockout book Elixir in Action and onward. Saša makes the panel consider what we could and maybe should be doing with Elixir in the future. We talk about his talks, his libraries and his overall vision for what the future could and possibly should hold. Rather than reading this, you should be listening because the erlangelist is talking and it serves us all to pay attention.
Links
KEYNOTE: Using the Beam to fight COVID-19 - Bryan Hunter
https://github.com/rabbitmq/ra
https://github.com/tantivy-search/tantivy
Picks
Bruce
Elixir in Action
Grox.io training course
Brian Troutwine interviews
Josh
KEYNOTE: Using the Beam to fight COVID-19 - Bryan Hunter
Return of the 90's Web
Lars
BLE and Elixir
GOTO 2019 • The Soul of Erlang and Elixir • Saša Jurić
Saša
https://github.com/sasa1977/boundary
Deconstructing the Monolith
Unit Testing Principles Practices and Patterns
Special Guest: Saša Jurić.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/24/2020 • 53 minutes, 31 seconds
EMx 115: LiveView for React Developers with Feather Knee
In this episode of Elixir Mix, Feather Knee joins us to discuss her recent ElixirConf2020 talk on LiveView components, what its like learning LiveView with a React background and where LiveView really shines as a framework. We also chat about fall foliage, pumpkin recipes and ghosts, since it’s that time of year.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Lars Wikman
Sophie DeBenedetto
Guest
Feather Knee
Picks
Alex Koutmos:
https://github.com/msaraiva/surface
Lars Wikman:
Nerves Keyboard development boards are now physical objects, in the Elixir Slack you can find them in #nerves-keyboard
Sophie DeBenedetto:
Elixir School blog post on SVG charts in LiveView with the Contex library
Netflix: The Haunting of Bly Manor
Roast a while pumpkin cuz why not
Feather Knee:
Spooked podcas
Pumpkin chutney
Fall foliage, in general, go outside
Follow us on Twitter: @elixir_mixSpecial Guest: Feather Knee.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/17/2020 • 46 minutes, 47 seconds
EMx 114: Just-in-time for OTP 24 with Lukas Larsson and John Högberg
In this episode of ElixirMix, we talk with Lukas Larsson and John Högberg about the JIT compiler that will be landing in OTP 24, the performance implications that come along with it and the inside scoop on the Erlang core team.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Mika Kalathil
Steven Nuñez
Lars Wikman
Guests
John Högberg
Lukas Larsson
Links
HiPE
The JIT Pull Request
AsmJit
Picks
Alex Koutmos:
https://github.com/features/actions
Josh Adams:
https://beam.apache.org/get-started/quickstart-py/
https://factorio.com/
https://github.com/tobspr/shapez.io
Mika Kalathil:
https://github.com/processone/stun
Steven Nuñez:
https://github.com/features/codespaces
Lars Wikman:
https://github.com/bitwalker
Lukas Larsson:
https://github.com/mozilla/rr
John Högberg:
https://github.com/mozilla/rr
www.amazon.com/Property-Based-Testing-PropEr-Erlang-Elixir
Follow us on Twitter: @elixir_mixSpecial Guests: John Högberg and Lukas Larsson.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/3/2020 • 46 minutes, 27 seconds
EMx 113: Lumen with Luke Imhoff
In this episode of Elixir Mix, we are joined by inimitable Luke Imhoff who takes us on a wild journey through his background from low-level, to high-level and straight back into compiler land as we work our way towards talking about Lumen. And what a conversation that is. WebAssembly, working group politics, sneaking binaries into the enterprise and so much more. The big take-away is that the Lumen project is a very cool effort to give us more options for running Erlang, Elixir and friends that are suitable for entirely different use-cases. Also, clearly, that the Lumen team is carrying the torch for all functional languages in the WASM Working Group. If you are curious about Lumen or WebAssembly this one is for you.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Lars Wikman
Sophie DeBenedetto
Guest
Luke Imhoff
Links
Asm.js
WebAssembly
Lumen
Asterius
https://github.com/tweag/asterius
Picks
Alex Koutmos:
Ecto 3.5 RC
https://hexdocs.pm/ecto/3.5.0-rc.1/Ecto.ParameterizedType.html
Sophie DeBenedetto:
https://www.hokaoneone.com/
ElixirConf 2020
Lars Wikman:
Krustlet – Especially the Software Sessions episode on it which also gave a good overview of WASM, WASI and what WebAssembly is
Luke Imhoff:
This Week In Virology
Follow us on Twitter: @elixir_mixSpecial Guest: Luke Imhoff.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/27/2020 • 57 minutes, 15 seconds
EMx 112: Phoenix Live Heron with Connor Rigby
Connor Rigby of Nerves fame joins our motley crew to talk about the new Blue Heron library that brings Bluetooth Low-Energy/BLE to Nerves. He goes deep, he goes wide. We learn a lot. And beyond that we cover the Spawnfest darling we know as Bakeware that creates single static binaries from Elixir projects and some Flutter. We almost fall into car talk but mostly steer clear. This is a wild one!
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Bruce Tate
Lars Wikman
Guest
Connor Rigby
Links
https://github.com/spawnfest/bakeware
https://github.com/okeuday/erlang_py
http://erlport.org/ is neat generally
https://github.com/billosys/ErlPort.jl
This gentleman is working on BLE stuff in flutter to build a companion app for the pinetime watch
Picks
Alex Koutmos:
Web Bluetooth API
SCCA Sports Car Club of America
Josh Adams:
https://github.com/reanimate/reanimate
Bruce:
Julia team interviews for Groxio
http://grox.io/language/julia/course
Connor Rigby:
https://github.com/smartrent/blue_heron
Follow us on Twitter: @elixir_mixSpecial Guest: Connor Rigby.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/20/2020 • 33 minutes, 45 seconds
EMx 111: Tales from ElixirConf2020
Podcast: Play in new window | Download
In this episode of Elixir Mix, our panel shares their thoughts on this year’s fully remote ElixirConf, from the Purple Carpet to the remote workshops to an excellent slate of great talks!
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Mika Kalathil
Bruce Tate
Steven Nuñez
Lars Wikman
Sophie DeBenedetto
Links
https://twitter.com/meryldakin
https://github.com/spawnfest/bakeware
https://getlumen.org/
Picks
Bruce Tate:
Julia on Groxio
Alex Koutmos:
ElixirConf
Josh Adams:
https://docs.bigbluebutton.org/2.2/architecture.html
Mika Kalathil:
https://github.com/drewkerrigan/riak-elixir-client
https://github.com/dashbitco/nimble_options
Sophie DeBenedetto:
EMx 085: Riak Core and Partisan with Mariano Guerra
https://classroom.github.com/
Alex’s Elixir Tweets on Twitter
Paul Rudd PSA
Lars Wikman:
https://underjord.io/professional-mentorship.html
Follow us on Twitter: @elixir_mix
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/13/2020 • 42 minutes, 37 seconds
EMx 110: Ruby to Erlang to Elixir with Phil Toland
In this episode of Elixir Mix, the hosts follow up with Phil Toland on his journey from small startup to PepsiCo Ecommerce and cover lots of important topics along the way. Such as Kubernetes, deleting mysterious S3 buckets, lots of assorted Machine Learning and lots of hype about Elixir in general. Steven fires shots at Go. Bruce wants to talk about Julia. Lars still only really cares about Lumen. And Alex wants that sweet, sweet secret ML sauce.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Bruce Tate
Steven Nuñez
Lars Wikman
Sophie DeBenedetto
Guest
Phil Toland
Picks
Bruce Tate:
The dangers of the single global process
groxio new look programmer_passport Julia is happening now
As a poll worker
Lars Wikman:
xxx
Lumen
Steven Nuñez:
Travel Anywhere Hammock
Phil Toland:
AirPods Pro
Special Guest: Phil Toland.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/6/2020 • 44 minutes, 28 seconds
EMx 109: Conference Season Is Very Online
In this episode of Elixir Mix the panelists talk about conferences as the conference season is hitting its virtual stride. And then it quickly devolves into LiveViews, dead views, UI libraries and of course, Elm. A thrilling ride of an episode according to all hosts and surely some listeners.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Lars Wikman
Picks
Alex Koutmos:
What’s new in LiveView – Chris McCord | ElixirConfEU Virtual
Follow us on Twitter: @elixir_mix
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/29/2020 • 49 minutes, 28 seconds
EMx 108: What Time Is It? Dealing with Date, Time and Timezones in Elixir with Lau Taarnskov
In this episode of Elixir Mix, we’re joined by Lau Tornskau, creator of the tzdata library and prolific Elixir open-source contributor, to talk about how to ensure “correctness” of time-related data in Elixir and how Elixir’s standard library has grown to include native support for handling time zones.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Mika Kalathil
Bruce Tate
Lars Wikman
Sophie DeBenedetto
Guest
Lau Taarnskov
Links
www.creativedeletion.com
http://twitter.com/laut
https://github.com/lau
Picks
Alex Koutmos:
Dynamically Configure Your Plugs at Run-time
An IoT Birdhouse with Elixir Nerves & Phoenix LiveView Components
Bruce Tate:
Why Things Fail, a series on failure with Brian Troutwine and Bruce Tate
The Problem with Time & Timezones – Computerphile
Sophie DeBenedetto:
You might not need the Calendar or Timex libraries
Lau Taarnskov:
We’re hiring – TheRealReal
Domain Modeling Made Functional by Scott Wlaschin
Follow us on Twitter: @elixir_mixSpecial Guest: Lau Taarnskov.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/22/2020 • 43 minutes, 47 seconds
EMx 107: I’m Bored with Elixir with Desmond Bowe
The podcasting competition comes to visit as we invite Desmond Bowe on the show. After some questions he flips the script and more or less interviews the panel. It is a dangerous time to be a host.
Sponsors
Audible.com
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Bruce Tate
Steven Nuñez
Lars Wikman
Guest
Desmond Bowe
Links
Using Maps in Typespecs
payitoff.io
Picks
Alex Koutmos:
From Elixir to Erlang – experience report – Michal Muskala | Code BEAM V 2020
echarts.apache.org/en/index.html
Lars Wikman:
A text about Blåvitt
Night Circus – Erin Morgenstern
Bruce Tate:
youtube.com/groxio
projects.fivethirtyeight.com/2020-election-forecast
grox.io/language/liveview/course
Desmond Bowe:
youtube.com/c/RickBeato
Transparent OLED Digital Signage
Follow Desmond on Twitter > @desmondmonster
Follow us on Twitter: @elixir_mixSpecial Guest: Desmond Bowe.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/15/2020 • 50 minutes, 24 seconds
EMx 106: Elixir Education with Adolfo Neto
In this episode of Elixir Mix, we chat with Adolfo Neto, a professor of computer science at UTFPR in Brazil, about what it’s like to teach Elixir, how we as educators can support the Elixir community to grow and thrive, and what the Erlang Ecosystem Foundation’s Education Working Group is up to.
Sponsors
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Josh Adams
Bruce Tate
Steven Nuñez
Lars Wikman
Sophie DeBenedetto
Guest
Adolfo Neto
Links
https://social.biologianaweb.com.br/@adolfont
https://t.me/elixirconferences
https://github.com/adolfont/elixir_cop/blob/master/telegram.md
Adolfo Neto: My three favorite resources for learning Elixir
https://t.me/elixirconferences
Picks
Steven Nuñez:
PDF Reader that does text to speech
Josh Adams:
GitHub Arctic Code Vault: Tech Tree
Bruce Tate:
grox.io/language/liveview/course
Keynote: Build Good Software: Of Politics and Methods – Brian L. Troutwine
Lars Wikman:
BEAM Bloggers Webring
Sophie DeBenedetto:
Range: Why Generalists Triumph in a Specialized World by David Epstein
Adolfo Neto:
Telegram Group for Alchemists
Education Working Group of the Erlang Ecosystem Foundation
Elixir Resources in Portuguese
Follow us on Twitter: @elixir_mixSpecial Guest: Adolfo Neto.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/8/2020 • 48 minutes, 56 seconds
EMx 105: Embracing Erlang with Todd Resudek
In this episode of Elixir Mix, we talk with Todd Resudeck about how digging into Erlang empowers you as an Elixir developer, what’s so fun about Nerves and what makes him such a charming and hilarious conference speaker.
Sponsors
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Josh Adams
Bruce Tate
Lars Wikman
Sophie DeBenedetto
Guest
Todd Resudek
Links
What Elixir is about – José Valim – Erlang User Conference 2015
GOTO 2019 • The Soul of Erlang and Elixir • Saša Jurić
Picks
Alex Koutmos:
https://akoutmos.com/post/actor-model-genserver-app-two/
https://plausible.io/
Bruce Tate:
https://grox.io/language/liveview/course
Programmer Passport: Phoenix LiveView – Bonus Video – phx.gen.auth
Todd Resudek:
ElixirConf 2016 – Selling Food With Elixir by Chris Bell
Follow us on Twitter: @elixir_mixSpecial Guest: Todd Resudek.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/1/2020 • 43 minutes, 41 seconds
EMx 104: Deploying Elixir with Mix, Terraform and Ansible with Jon Lunsford
In this episode of Elixir Mix, we talk with Jon Lunsford about Elixir’s many releases and deployment options, why/how to deploy Elixir with Terraform and we learn why Jon built an SMTP server in Elixir!
Sponsors
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Panel
Alex Koutmos
Steven Nuñez
Lars Wikman
Sophie DeBenedetto
Guest
Jon Lunsford
Picks
Sophie DeBenedetto:
ElixirConf 2020
Alex Koutmos:
The State of Elixir HTTP Clients
Portable ACs
Steven Nuñez:
Fans
TailWind UI
Jon Lunsford:
gen-smtp/gen_smtp
Syndicate App
Follow us on Twitter at @elixir_mixSpecial Guest: Jon Lunsford.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/25/2020 • 34 minutes, 14 seconds
EMx 103: IOT with Nerves with Justin Schneck
We talk with Justin Schneck, co-auth of Nerves, about how he got into embedded programming, why Elixir (and Nerves!) is the the best fit for designing resilient embedded systems and what’s next for the Nerves community.
Panelists
Alex Koutmos
Josh Adams
Mika Kalathil
Bruce Tate
Steven Nuñez
Lars Wikman
Sophie DeBenedetto
Guest
Justin Schneck
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Picks
Alex Koutmos:
tailwind UI
Josh Adams:
@MisterTechBlog
PineTime
Mika Kalathil:
GitHub nerves-web-kiosk/kiosk_system_rpi3
Steven Nuñez:
Drive In Movie Theatres
Justin Schneck:
Designin Elixir Systems with OTP
Follow on Twitter:
Elixir Mix - @elixir_mix
Special Guest: Justin Schneck.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/18/2020 • 59 minutes, 36 seconds
EMx 102: Nerves Powered Mechanical Keyboards with Chris Dosé
In this episode of Elixir Mix, Chris Dosé joins us to talk about some of the open source work that he has done at Peek. He also talks to us about his exciting Nerves projects Xebow and AFK.
Panelists
Steven Nunez
Lars Wikman
Sophie DeBenedetto
Guest
Chris Dosé
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Groxio.io | Career Rocket Fuel For Curious Coders
CacheFly
Links
iCalendar
GitHub Chris Dosé
GitHub ElixirSeattle/xebow
Picks
Steven Nunez:
The Art of Agile James Shore
US History YouTube
Lars Wikman:
Hurry Slowly
Peter van Roy - KEYTNOTE Why time is evil indistributed systems l Code BEAM STO 19
Chris Dosé:
ElixirConf 2018 - Picking Properties to Test in Property Based Testing - Michael Stalker
Sophie DeBenedetto:
Anybody have any easy baking recipes?
Follow on Twitter:
Elixir Mix - @elixir_mix
Special Guest: Chris Dosé.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/11/2020 • 54 minutes, 51 seconds
EMx 101: Finding the Silver Lining in Hard Times
Given the current state of the world, we've been put into a position where things have lost jobs or lost in other areas of life. The panel discusses how to make the most of things when hard things come your way.
Panelists
Soojin Ro
Alex Bush
Charles Max Wood
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
CacheFly
Links
Course Creator Pro
How To Write & Launch Your Book To $10,000 in 90 Days
The MaxCoders Guide To Finding Your Dream Developer Job
Authority
Corona Dev Jobs
Remote: Office Not Required
Hackernoon
Picks
Soojin Ro:
Apple Store Monument Valley 2
Google Play Monument Valley 2
Alex Bush:
Stellaris
Charles Max Wood:
RRU 104: How to Start a Side Hustle as a Programmer with Mani Vaya
https://devchat.tv/hustle use Promo Code: HUSTLE
Follow on Twitter:
Elixir Mix - @elixir_mix
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/4/2020 • 46 minutes, 34 seconds
EMx 100: Celebrating a Milestone
The Elixir Mix podcast celebrates its 100th episode, with the introduction of new panelists and the recognition of the indelible contribution made by Mark Eirkson, who recently said goodbye to us. We dive into what brought each panelist to the Elixir community and what continues to excite them about the Elixir ecosystem.
Panelists
Sophie DeBenedetto
Josh Adams
Bruce Tate
Lars Wikman
Steven Nunez
Alex Koutmos
Mika Kalathil
Charles Max Wood
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
CacheFly
Links
EMx 063: Designing Elixir Systems With OTP with Bruce Tate and James Gray
EMx 019: Brooklyn Zelenka: Elixir I assume Witchcraft, Exceptional, and so on?
EMx 027: ExVenture with Eric Oestrich
EMx 025: Rethinking App Env and more with Sasa Juric
EMx 084: Beyond LiveView with Sophie DeBenedetto
Underjord
GitHub keathley/norm
Picks
Sophie DeBenedetto:
Hostile Developer
Josh Adams:
Pine Phone
PineTime
GitHub lupyuen/pinetime-rust-mynewt
Bruce Tate:
The IT Crowd
Steven Nunez:
Flatiron School
Alex Koutmos:
Telemetry Project
Designing Elixir Systems With OTP
Mika Kalathil:
GitHub bettio/AtomVM
Charles Max Wood:
Podcast Playbook
Warbreaker
Follow on Twitter:
Elixir Mix - @elixir_mix
Josh Adams - @knewter
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/28/2020 • 2 minutes, 6 seconds
EMx 099: What Excites Us About the Elixir Ecosystem
In this episode of Elixir Mix, the panelists talk about a wide array of topics ranging from LiveView, type systems, and hot code upgrades. We also talk about some of the things that we want to experiment with in the coming months.
Panelists
Josh Adams
Bruce Tate
Lars Wikman
Mika Kalathil
Alex Koutmos
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
CacheFly
Links
GitHub knewter/extris
elm-pages
GitHub dillonkearns/elm-markdown
Picks
Bruce Tate:
Introduction to Phoenix LiveView LiveComponents
Integrating Phoenix LiveView with JavaScript and Alpine JS
Pony
Lars Wikman:
Cassie Evans
cassie.codes
Mika Kalathil:
GitHub aesmail/kaffy
Alex Koutmos:
Process pools with Elixir's Registry
Josh Adams:
https://simone.computer/#/webdesktops
Follow on Twitter:
Elixir Mix - @elixir_mix
Josh Adams - @knewter
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/21/2020 • 1 hour, 3 minutes, 2 seconds
EMx 098: Simplifying Elixir Configuration with Alex de Sousa
We talk with Alex de Sousa about how to improve the configuration of our Elixir applications. We learn about his path through configuration management and the interesting ways he found to solve this common problem. He shares his library Skogsrå and explains where this fits in our applications, the problems it helps solve and much more!
Panelists
Josh Adams
Mark Ericksen
Guest
Alex de Sousa
Sponsors
Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
CacheFly
Links
Refill Aqua
GitHub gmtprime/skogsra
Skogsra: Simplifying Your Elixir Configuration
GitHub Nebo15/confex
GitHub keathley/vapor
EMx 040: Elixir Outlaws and Adopting Elixir with Chris Keathley
Consul
Twitter Alex de Sousa: @thebroken_link
Email Alex at alex@thebroken.link
Picks
Josh Adams:
GitHub so-fancy/diff-so-fancy
Defold
Mark Ericksen:
The Remote Playbook
Cocoon
Alex de Sousa:
GitHub gmtprime/yggdrasil
Follow on Twitter:
Elixir Mix - @elixir_mix
Mark Ericksen - @brainlid
Josh Adams - @knewter
Special Guest: Alex de Sousa.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/14/2020 • 45 minutes, 31 seconds
EMx 097: Real-Time Phoenix, Tenant Data, and User Auth with Steve Bussey
We talk with Steve Bussey about his book Real-Time Phoenix, his library ecto_tenancy_enforcer, and we delve into user auth. We cover how TDD works for us, approaches to partitioning user data, recent auth developments in the community and much more!
Panelists
Josh Adams
Mark Ericksen
Guest
Steve Bussey
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links
SalesLoft
The Pragmatic Bookshelf
GitHub sb8244/ecto_tenancy-enforcer
citusdata
Citus Community
Pow
Dashbit
Keycloak
devise
Gibson Research Corporation
Elixir Forum
Picks
Josh Adams:
Bitwarden
Baby Chickens. 'Nuff said
Mark Ericksen:
FREE Pattern Matching Course
Seinfeld
Steve Bussey:
Zwift
Follow on Twitter: @yoooodaaaa
Follow on Twitter:
Elixir Mix - @elixir_mix
Mark Ericksen - @brainlid
Sophie DeBenedetto - @sm_debenedetto
Josh Adams - @knewter
Special Guest: Steve Bussey.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/30/2020 • 48 minutes, 36 seconds
EMx 096: Sharing Protobuf Schemas with Andrea Leopardi
In this episode of Elixir Mix, we talk with Andrea Leopardi about how they solved sharing Protobuf protocols across multiple projects for their RabbitMQ consumers. We also learn the benefits they found of using Elixir in a microservices architecture, the benefits of Broadway and much more!
Panelists
Josh Adams
Sophie DeBenedetto
Mark Ericksen
Guest
Andrea Leopardi
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links
community
Sharing Protobuf schemas across services
Microservice Architecture
Protocol Buffers
GitHub/protocolbuffers/protobuf
GitHub/bitwalker/exprotobuf
GitHub/tony612/protobuf-elixir
GitHub/Dependabot
Dependabot
Twitter Andrea Leopardi: @whatyouhide
GitHub Andrea Leopardi
https://andrealeopardi.com
Picks
Josh Adams:
Helm Charts
ConcourseCI
Sophie DeBenedetto:
Introducing Telemetry
Mark Ericksen:
JC Label Maker
Andrea Leopardi:
Exercising at home!
Follow on Twitter:
Elixir Mix - @elixir_mix
Mark Ericksen - @brainlid
Sophie DeBenedetto - @sm_debenedetto
Josh Adams - @knewter
Special Guest: Andrea Leopardi.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/16/2020 • 41 minutes, 26 seconds
EMx 095: Adopting Elixir at FindHotel with Fernando Hamasaki de Amorim
Mark talks with Fernando Hamasaki de Amorim about his experience adopting Elixir at findhotels.net. He shares his strategy of introducing Elixir through hack-a-thons, what kinds of projects work well to start with and tips around learning and building a team. We discuss umbrella projects, pattern matching for data transformation, and learning about managing configuration in Elixir applications and much more!
Panelists
Mark Ericksen
Guest
Fernando Hamasaki de Amorim
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links
Adopting Elixir at FindHotel
FindHotel
Dependencies and umbrella projects
Elixir in Action
GitHub Fernando Hamasaki de Amorim
FindHotel Blog
Twitter Fernando Hamasaki de Amorim : @Prodis
Picks
Mark Ericksen:
QiFi
Fernando Hamasaki de Amorim:
Lanve Halvorsen - Phoenix Is Not Your Application (ElixirConfEU 2016)
Follow on Twitter:
Elixir Mix - @elixir_mix
Mark Ericksen - @brainlid
Sophie DeBenedetto - @sm_debenedetto
Josh Adams - @knewter
Special Guest: Fernando Hamasaki de Amorim.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/2/2020 • 43 minutes, 24 seconds
EMx 094: Writing Custom Credo Check with Devon Estes
We catch up with Devon Estes to learn what he’s doing with Credo. Devon talks about creating custom Credo checks for the benefit of our teams and projects. We cover his project Nicene that defines additional Credo checks, learn tips like using git to only run checks on modified files and much more!
Panelists
Sophie DeBenedetto
Josh Adams
Mark Ericksen
Guest
Devon Estes
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links
EMx 030: Writing Great Unit Tests with Devon Estes
EMx 018: Devon Estes: “All In On Elixir”
GitHub sketch-hq/nicene
Writing custom Credo checks
Writing (and testing) a custom Credo check
Muzak - a Mutation Testing library for Elixir and Erlang
devonestes.com
GitHub Devon Estes
Twitter Devon Estes: @devoncestes
Picks
Sophie DeBenedetto:
The Future of Software is a Sociotechnical Problem
Josh Adams:
Dillon Kearns Twitch
Mark Ericksen:
MintBox Mini 2
Devon Estes:
Take it Easy!
Kingdom
Follow on Twitter:
Elixir Mix - @elixir_mix
Mark Ericksen - @brainlid
Sophie DeBenedetto - @sm_debenedetto
Josh Adams - @knewter
Special Guest: Devon Estes.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/27/2020 • 37 minutes, 6 seconds
EMx 093: Multi-Tenant DBs with Lars Wikman
JavaScript Remote Conf 2020
May 13th to 15th - register now!
We catch up with Lars Wikman to talk about what he’s learned along his journey with Elixir and multi-tenant databases. We cover what multi-tenant means, multiple ways to do it and where it may or may not make sense. We learn about dynamic repos, query prefixes, and how to deal with migrations, testing, and much more!
Panelists
Sophie DeBenedetto
Josh Adams
Mark Ericksen
Guest
Lars Wikman
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links
Ecto.Repo
Ecto & Multi-tenancy Part 1
Ecto & Multi-tenancy Part 2
Ecto & Multi-tenancy Part 3
put_dynamic_repo(arg1)
Multi tenancy with query prefixes
Twitter: Lars Wikman
Picks
Sophie DeBenedetto:
Elixir-Style Actors in Go
Lasagna Bolognese
Josh Adams:
dba
flux
Mark Ericksen:
Roll and Spin Gyroscopic Exerciser
Asciiflow
Lars Wikman:
Stripe CLI
GitHub/lumen
Special Guest: Lars Wikman.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/28/2020 • 48 minutes, 7 seconds
EMx 092: Elixir and Python interoperability with Alvise Susmel
JavaScript Remote Conf 2020
May 14th to 15th - register now!
In this episode of Elixir Mix, the panelists talk with Alvise Susmel about building Elixir systems that leverage Python image detection on video frames. We cover Ports vs NIFs, using platforms for their strengths, cool embedded hardware, displaying real time results in Phoenix or Scenic, and much more!
Panelists
Sophie DeBenedetto
Mark Ericksen
Guest
Alvise Susmel
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
Real-time Object Detection with Phoenix and Python
cvlib
GitHub opencv/opencv
Hexdocs Elixir/Port
Erlang 4 Ports
Yolo
Erlang 8 NIFs
Jetson Nano Developer Kit
GitHub boydm/scenic
Poeticcoding
Picks
Sophie DeBenedetto:
Black Hat Go
Love Is Blind
Mark Ericksen:
Hollywood.computer
Alvise Susmel:
Outside Elixir
Designing Data-Intensive Applications
Dark
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/14/2020 • 46 minutes, 31 seconds
EMx 091: Managing Change with Ecto with David Bernheisel
JavaScript Remote Conf 2020
May 14th to 15th - register now!
In this episode of Elixir Mix the panelists talk with David Bernheisel about the power in Ecto. Coming from ActiveRecord, Ecto and Changesets were a wonderful alternative! They cover David’s blog post where he shares some tips and tricks for working with Changesets. They also cover, Multi, how to compose Changesets, using “embedded” schemas, and much more!
Panelists
Josh Adams
Sophie DeBenedetto
Mark Ericksen
Guest
David Bernheisel
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
EMx 068: Contributing to the Elixir Community with David Bernheisel & Cory Schmitt
David Bernheisel Blog
GitHub neoclide/coc.nvim
InfoQ Are We There Yet?
Ecto.Changeset
Ecto.Multi
EMx 024: “Sagas” with Andrew Dryga from Hammer Corporation
Picks
Josh Adams:
Common Sense by Thomas Paine
Rook
Sophie DeBenedetto:
How to Compose Queries in Ecto
Elixir School
Birds of Prey
Mark Ericksen:
Planet Money Episode 967: Escheat Show
David Bernheisel:
Whimsical
Team Accounts DigialOcean
ElixirConf US 2018 - Breaking Down the User Monolith - Zach Porter
Special Guest: David Bernheisel.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/31/2020 • 44 minutes, 44 seconds
EMx 090: Data pipelines through Broadway with Alex Koutmos
In this episode of ElixirMix, we visit with Alex Koutmos about data processing pipelines in Elixir using Broadway. His multi-part blog posts go beyond “making it work” to monitoring and visualizing the flow. We discuss using RabbitMQ to process, Grafana to visualize, and much more!
Panelists
Josh Adams
Eric Oestrich
Sophie DeBenedetto
Mark Ericksen
Guest
Alex koutmos
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
Bridge Connector
RabbitMQ
GitHub dashbitco/broadway
GitHub elixir-lang/gen_stage
Broadway, RabbitMQ, and the Rise of Elixir Part 1
Broadway, RabbitMQ, and the Rise of Elixir Part 2
hexdocs Broadway/RabbitMQ
GitHub meltwater/gen_rmq
Sentry
Twitter Alex Koutmos
GitHub AlexKoutmos
Alex Koutmos Blog
Picks
Josh Adams:
IndieWeb
Keycloak
Eric Oestrich:
Raph Koster's Website
Mark Ericksen:
The Erlangelist
Star Trek Picard
Alex Koutmos:
Database Internals
Linux Academy
Special Guest: Alex Koutmos.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/17/2020 • 36 minutes, 48 seconds
EMx 089: Elixir Talks to Kubernetes with Bonny from Cory O’Daniel
In this episode of ElixirMix, we visit with Cory O’Daniel about Kubernetes Operators, what they can do, his library Bonny and how our Elixir applications can talk to Kubernetes too! Cory also shares some great tips for running Elixir in Kubernetes, his CodeBeam presentation, CoreOS, and much more!
Panelists
Josh Adams
Eric Oestrich
Mark Ericksen
Guest
Cory O'Daniel
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
GitHub coryodaniel/bonny
GitHub coryodaniel/k8s
The Big Elixir 2019 - Commandeering Kubernetes With Elixir - Cory O'Daniel
Kubernetes Components
KubeDB
GitHub coryodaniel/ballast
Review Apps
Custom Resources
Twitter Thread
Cluster Strategy Kubernetes
GitHub kudobuilder/kudo
Kudo
Getting Started with the Operator SDK
Core OS Operators
GitHub obmarg/kazan
Code Beam SF
Picks
Josh Adams:
The King of Limbs - From the Basement
Eric Oestrich:
AMD Threadripper 3970X
Mark Ericksen:
The Game Changers
Cory O'Daniel:
inlets
conftest
Special Guest: Cory O’Daniel.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/3/2020 • 39 minutes, 32 seconds
EMx 088: Adopting Elixir and RabbitMQ with Steven Nunez
In this episode of ElixirMix, we visit with Steven Nunez about how Flatiron School adopted Elixir and is using RabbitMQ. He shares how he decides to “rails new” or “mix phx.new” for a project. How adopting Elixir in a team goes better when the team “falls in love” with what it gives them. Steven shares how their RabbitMQ queues are setup, how the messages are designed, how to spread the patterns throughout the teams and projects, and much more!
Panelists
Mark Ericksen
Josh Adams
Sophie DeBenedetto
Eric Oestrich
Guest
Steven Nunez
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
Pluralsight
Github jondot/sneakers
RabbitMQ
Kafka Apache
Eventide
Protocol Buffers
RabbitMQ Tutorial One Elixir
Github bitwalker/exprotobuf
RabbitMQ Tutorial Six Elixir
Steven Nunez Twitter
Flatiron School Twitter
Picks
Josh Adams:
Website Generator
Statically Typed Site Generator
VVVV
Sophie DeBenedetto:
A Tour of Go
Eric Oestrich:
GitHub TerryCavanagh/VVVVVV
The Expanse
Mark Ericksen:
GitHub dashbitco/nimble_pool
Special Guest: Steven Nunez.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/18/2020 • 45 minutes, 47 seconds
EMx 087: Zip Generation with Packmatic with Evadne Wu
In this episode of Elixir Mix the panel interviews Evadne Wu about the Packmatic Library.
The show begins with recent announcements specifically the acquisition of Plataformatec.
Evadne works at Faria Education Group as Head of Exam Sytems developing apps using Elixir. Evadne works with a small team and he talks about the pros and cons of working in a small team.
Evadne then talks about what the Packmatic Library is, why it was created, and how it works. Finally, Evadne talks about writing, promoting and maintaining an open source library.
Panelists
Mark Ericksen
Eric Oestrich
Sophie DeBenedetto
Guest
Evadne Wu
Sponsors
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
https://elixirforum.com/t/plataformatec-acqui-hired-by-nubank/28072/7?u=brainlid
http://blog.plataformatec.com.br/2020/01/important-information-about-our-elixir-and-ruby-open-source-projects/
https://medium.com/building-nubank/tech-perspectives-behind-nubanks-first-acquisition-deal-what-this-business-move-means-and-how-it-d7d1233c72b8
Evadne's Twitter
Evadne's GitHub
Evadne's Website
https://github.com/evadne/packmatic
https://elixirforum.com/t/packmatic-on-the-fly-zip-generation/26464
https://en.wikipedia.org/wiki/Zip_(file_format)#ZIP64
https://hexdocs.pm/plug/Plug.Conn.html#send_chunked/2
https://github.com/evadne/packmatic#source-types
Picks
Eric Oestrich:
https://bulletjournal.com/
Sophie DeBenedetto:
https://grox.io/series/quad
Williams Sonoma Mug
Mark Ericksen:
https://weasyprint.org/
https://weasyprint.readthedocs.io/en/latest/index.html
Evadne Wu:
http://smallmemory.com/book.html
https://github.com/holsee/chroxy
Special Guest: Evadne Wu.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/4/2020 • 46 minutes, 9 seconds
EMx 086: Teaching Your Team Elixir with Mike Binns
In this episode of Elixir Mix the panel interviews Mike Binns. Mike is a Senior Software Engineer at DockYard, Inc. and he presented at ElixirConf 2019 about getting a whole team new to Elixir up to speed quickly with Cars.com.
Mike explains why Elixir was chosen as the technology to use and how much effort and planning goes into helping a team transition. Cars.com had already decided to move onto Elixir and brought on DockYard to train their engineers.
Mike advises recognizing the existing team's previous skill set and experience levels. Mike and fellow DockYard colleague captured what they learned in Project Ironman which automatically adds things like credo, dialyzer, coveralls, mix test watch, etc… to your project. They then talk about what mob programming is and how it helps to arm a new team. Finally, the panel asks Mike if he would do anything differently and tips for bringing new developers into a running project and team.
Panelists
Mark Ericksen
Josh Adams
Sophie DeBenedetto
Guest
Mike Binns
Sponsors
Adventures in Angular Podcast
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
ElixirConf 2019 - 0-60 in under 3: How Cars.com and DockYard Manufactured a Productive Elixir Team in Under 3 Months
https://basecamp.com/shapeup
https://github.com/rrrene/credo
https://github.com/jeremyjh/dialyxir
https://code.visualstudio.com/
https://github.com/elixir-lsp/vscode-elixir-ls
http://erlang.org/doc/man/ets.html
https://github.com/TheFirstAvenger/ets
https://github.com/TheFirstAvenger/ironman
Mike's Twitter
Mike's GitHub
Mike's Blog
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Josh Adams:
Zigler
Zig Programming Language
Sophie DeBenedetto:
https://badanimals.net/should-i-level-up-my-technical-skills-before-starting-a-freelance-business/
Mark Ericksen:
https://thinkingelixir.com/elixir-in-vs-code/
https://thinkingelixir.com/vs-code-broken-for-elixir/
Upgrading your graphics card - AMD Radeon RX 590
Mike Binns:
https://github.com/elbow-jason/annex
https://github.com/elbow-jason/open_cl_rust
Special Guest: Mike Binns.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/21/2020 • 42 minutes, 40 seconds
EMx 085: Riak Core and Partisan with Mariano Guerra
In this episode of Elixir Mix the panel interviews Mariano Guerra. Mariano wrote some wonderful tutorial blogs outlining how to use Riak Core in Elixir. He begins the episode by sharing a little about himself and his work. Mariano then defines Riak Core and tells the story of where it came from. He explains what he loves about Riak Core and dubs himself the unofficial cheerleader of Riak Core.
Mariano tells the panel about his blog articles and what listeners will find in them. He explains to the panel what inspired him to write them. Mariano then gives the panel examples of the problems solved by Riak Core and the best use cases for it. Partisan is the next subject the panel asks Mariano about. Mariano shares the story of where Partisan came from and explains when you want to use it.
Finally, Mariano tells the panel about his work for the Erlang Ecosystem Foundation. Right now he is working hard to unify the documentation for all the Beam languages. He shares his admiration for the Elixir documentation and explains that Erlang documentation needs a lot of work. The panel discusses how unifying the Beam will help the community and make their lives easier.
Panelists
Mark Ericksen
Josh Adams
Sophie DeBenedetto
Guest
Mariano Guerra
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
TLA+
Riak Products
Dynamo: Amazon’s Highly Available Key-value Store
https://github.com/basho/riak_core
Riak Core on Partisan on Elixir Tutorial: Introduction
http://partisan.cloud/
https://blog.erlang.org/OTP-22-Highlights/
Riak Core on Partisan on Elixir Tutorial: Setup
Riak Core on Partisan on Elixir Tutorial: Getting Started
Riak Core on Partisan on Elixir Tutorial: We can make a Key Value Store out of that
Riak Core on Partisan on Elixir Tutorial: Migrating Data with Handoff
Riak Core on Partisan on Elixir Tutorial: Resources
https://gitlab.com/marianoguerra/civiledb/
https://github.com/clojerl/clojerl
https://twitter.com/warianoguerra
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
Immutability - Computerphile
Simple Sabotage Field Manual
Mariano Guerra:
Property-Based Testing with PropEr, Erlang, and Elixir
Practical TLA+: Planning Driven Development
Josh Adams:
Rewriting GitHub Pages with Riak Core, Riak KV, and Webmachine: Jesse Newland
Sophie DeBenedetto:
How to Compose Queries in Ecto
Basque Burnt Cheesecake
Special Guest: Mariano Guerra.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/7/2020 • 48 minutes, 38 seconds
EMx 084: Beyond LiveView with Sophie DeBenedetto
In this episode of Elixir Mix the panel interviews Sophie DeBenedetto. Sophie spoke at both The Big Elixir and ElixirConf 2019 about LiveView. She also works at Flatiron School. Sophie starts by sharing a little about Flatiron School, what they offer and what she does for them. The panel shares their experience with the quality of graduates from Flatiron School. Sophie explains that Flatiron School is all about community and they teach their students to love learning.
Sophie discusses her talks and shares the experiences she had with LiveView that inspired her talks. She tells the panel what it was like preparing for the talks. She explains the problems she faced with her LiveView project and how she eventually fixed it.
In one talk Sophie talks about looking under the hood at LiveView. She tells the panel about this experience, this leads the panel to discuss the LiveView documentation. They consider the helpfulness of the phrase “it’s a process” in the documentation. Sophie explains how she prefers documentation to be more clear and more expansive. The panel considers the importance of expounding in the documentation as most Elixir users are new to the language. The panel discusses when the best time to learn OTP is for a developer new to Elixir.
The panel discusses Sophie’s blog post about her work in LiveView. They discuss some of their work in LiveView as well. The panel goes over some of the features they have tried in their projects and the ones they look forward to trying. Sophie ends the episode by comparing LiveView to her previous coding experiences, she describes it as a breath of fresh air.
Panelists
Mark Ericksen
Josh Adams
Michael Ries
Guest
Sophie DeBenedetto
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Links
The Big Elixir 2019 - Beyond Liveview: Real Time Features With Liveview - Sophie DeBenedetto
ElixirConf 2019 - Beyond LiveView: Building Real-Time... - Sophie DeBenedetto
The Big Elixir
https://flatironschool.com/
Erlang distribution over TLS
Erlang (and Elixir) distribution without epmd
https://hex.pm/packages/libcluster
Building a Table Sort UI with Live View's `live_link`
Functional Web Development with Elixir, OTP, and Phoenix
Building beautiful systems with Phoenix contexts... by Andrew Hao
https://twitter.com/sm_debenedetto
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
That Sugar Film
US Legal system and jury selection
Sophie DeBenedetto:
Mix And Hex The Power Couple Of The Elixir Community - Todd Resudek
Rebuilding Espec: Foundations In Metaprogramming, - Bruce Park
Josh Adams:
A Different Kind of Transparency
Michael Ries:
Which ports does distributed Erlang use?
List of animals by number of neurons
Special Guest: Sophie DeBenedetto.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/31/2019 • 50 minutes, 6 seconds
EMx 083: Are Monorepos Worth It?
In this episode of Elixir Mix the panel discusses monorepos. They start by defining monorepos and sharing examples of what this looks like. The panelists share the pros and cons of working in a monorepo. They discuss the different projects they worked on using a monorepo and what their experience was like.
Monorepos allow for rapid development. Any developer can pull it down and work on it. They work better for teams who are new with a new project and they are still trying to figure out where everything goes. In situations like these, quality is not a large concern but once quality is a priority monorepos make less sense.
On the other hand, monorepos make it easier for developers to forget that these applications are distinct. It also makes it easy for developers to ignore older versions of applications. The panel considers if monorepos are worth these downsides. The panel considers how monorepos work with Live View. They also discuss using an umbrella project similarly to monorepos.
Panelists
Mark Ericksen
Eric Oestrich
Josh Adams
Michael Ries
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Links
https://en.wikipedia.org/wiki/Monorepo
https://jenkins-x.io/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://thinkingelixir.com/vs-code-broken-for-elixir/
Real-Time In-Camera VFX for Next-Gen Filmmaking | Project Spotlight | Unreal Engine
Eric Oestrich:
grapevine
Josh Adams:
https://github.com/mijailr/askimet_ex
Michael Ries:
https://empex.co/la.html
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/24/2019 • 32 minutes, 27 seconds
EMx 082: Beam Extreme! with Miriam Pena
In this episode of Elixir Mix the panel interviews Miriam Pena, founder of the Erlang Ecosystem Foundation. Miriam shares a little about her background and how she got into Erlang and Elixir. Miriam gave a talk at Elixir Conf about the OTP 22 release and she shares some of the exciting new features in this release.
Persistent terms are the first feature Miriam shares with the panel. After explaining what it is Miriam shares examples of the best use cases for this tool. The panel discusses the benefits of this module and how it is faster than ets tables. Next, the discuss the benefits and use cases of counters.
The panel shares what they got out of her Elixir Conf talk. It helped them relieve that the Erlang ecosystem is still alive and contributing. The encourage Elixir users to keep an eye out on OTP releases and stay on top of the tools and features that the Erlang team works so hard to provide for them.
Miriam shares a little about the Erlang Ecosystem Foundation, its goals and how they got started. She explains how listeners can get involved and what their contributions would be doing.
Panelists
Mark Ericksen
Eric Oestrich
Josh Adams
Guest
Miriam Pena
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Links
ElixirConf 2019 -- Beam Extreme: Don't Do This At Home - Miriam Pena
http://erlang.org/doc/man/persistent_term.html
http://erlang.org/doc/man/counters.html
http://erlang.org/doc/man/atomics.html
https://erlef.org/
https://members.erlef.org/join-us
https://erlef.org/stipends/
https://erlef.org/news/eef/newsletter-4
https://twitter.com/miriampena
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
William Shakespeare's Star Wars Trilogy
Utah Elixir Meetup: 2019-11 Code Poll on Elixir in Docker
Eric Oestrich:
https://www.lonestarelixir.com/
https://codesync.global/conferences/code-beam-sf/
Miriam Pena:
http://blog.erlang.org/persistent_term/
Code Beam SF
Josh Adams:
Guitars
Special Guest: Miriam Pena.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/17/2019 • 36 minutes, 12 seconds
EMx 081: Discussing Deployment
In this episode of Elixir Mix the panel has a conversation about a few things they have been thinking about. First, they shout out to anyone who would love to chat about config change callbacks. Then they dive into deployment discussing the updates that have happened this year. They share their experiences with the changes and compare the Elixir release to Distillery.
There are many options for deployment and they discuss some of the ones they have used. They consider services and do it yourself options. The panel shares lessons learned through their deployment experiences and give pro-tips for beginners and those new to Elixir.
The next topic they discuss is hot code reload. Michael shares his fascination with this practice and explains what it is. The panel discusses the possibilities and use-cases for hot code reload. Hot code upgrade is also discussed.
Panelists
Mark Ericksen
Michael Ries
Eric Oestrich
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Links
grapevine
Deploying with Docker
https://hexdocs.pm/phoenix/heroku.html
https://www.heroku.com/
https://cloud.google.com/kubernetes-engine/
https://www.ansible.com/
https://gigalixir.com/
deploy.sh
Running migrations
release_tasks.ex
Configuration and releases
mix release
observer_cli
Erlang: The Movie
Using Erlang Distribution to test hardware
The Athens Affair
ElixirConf 2018 - Docker and OTP Friends or Foes - Daniel Azuma
Richard Carlsson - The art of the live upgrade - 10 yrs of evolving a live system | Code BEAM SF 19
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
Hot Rod
Install Elixir using asdf
Michael Ries:
https://twitter.com/fhunleth/status/1195524113617637376
scenic sensor
Eric Oestrich:
Elixir Wizards
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/10/2019 • 51 minutes, 35 seconds
EMx 080: The Big Elixir Favorites
In this episode of Elixir Mix the panel syncs up by discussing The Big Elixir Conference, their favorite talks and what they are working on. The first talk they discuss is Scott Southworth’s talk about medical messaging and the impressive work he does with the HL7 parser.
Next, they discuss Ben Church’s talk about business logic where he talks about leex and yecc. The panel discusses leex, yeccs and their own work with parsers. Cory O’Daniel’s talk on Kubereneters the panel found particularly funny and interesting. Elixir Mix’s very own Eric Oestrich was the keynote speaker at the talk, he summarizes his talk for the panel.The Live View talk given by Sophie DeBenedetto is discussed as well and the panel shares their biggest take away from the talk.
The panel discusses a little of what they have been working on. They ask Eric about his Ponchbrella project. He explains what it is and how it works. Using this hybrid of poncho and umbrella projects for grapevine made more sense to him. He invites everyone to take a look as grapevine is open source. The episode ends as the panel praises Elixir’s flexibility and other great qualities.
Panelists
Mark Ericksen
Josh Adams
Eric Oestrich
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
ElixirCasts | Get 10% off with the promo code "elixirmix"
CacheFly
Links
https://www.thebigelixir.com/
https://hexdocs.pm/elixir_hl7/HL7.Query.html
https://github.com/HCA-Healthcare/elixir-hl7
http://erlang.org/doc/man/leex.html
http://erlang.org/doc/man/yecc.html
https://github.com/ympons/expreso
RegEx match open tags except XHTML self-contained tags
https://github.com/elm/parser
Wilford Brimley On His Diabetes - Original Video
Wilford Brimley Diabeetus Remix
https://twitter.com/knewter/status/1192831261624164352
https://github.com/oestrich/grapevine/tree/master/apps
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://github.com/elixir-lang/elixir/releases/tag/v1.9.3
Josh Adams:
https://jenkins-x.io/
Eric Oestrich:
https://podcast.smartlogic.io/
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/3/2019 • 31 minutes, 36 seconds
EMx 079: Oban with Parker Selbert
In this episode of Elixir Mix the panel interviews Parker Selbert. Parker lives in Chicago and runs a consultancy with his wife. He joins the panel to discuss a library that he wrote, Oban. Parker starts by explaining what Oban is and why he wrote it. Oban is a way to run reliable background jobs by persisting them in the database.
Oban is akin to Sidekick, Parker explains, he wanted something similar to Sidekick for Elixir. He made a few improvements including moving it to Postgres from Redis. He shares the common problems found using Redis and how easy Postgres was to use for this library.
The panel asks Parker about his Oban Recipes. Parker explains why he wrote the recipes and what some of them contain. After releasing Oban he received many questions asking about how to use Oban. Parker took the most common questions and wrote 7 blog post outlining how to use Oban.
Parker shares his favorite features found in Oban and walks the panel through its architecture. The panel asks him about the maturity and usage of the library. Parker tells them that the usage has been steadily climbing. The episode ends with the panel discussing the Oban UI and how it works.
Panelists
Mark Ericksen
Josh Adams
Eric Oestrich
Guest
Parker Selbert
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
ElixirCasts | Get 10% off with the promo code "elixirmix"
CacheFly
Links
https://github.com/sorentwo/oban
https://oban.dev/
Oban Recipes Part 1: Unique Jobs
Oban Recipes Part 2: Recursive Jobs
Oban Recipes Part 3: Reliable Scheduling
Oban Recipes Part 4: Reporting Progress
Oban Recipes Part 5: Batch Jobs
Oban Recipes Part 6: Expected Failures
Oban Recipes Part 7: Splitting Queues
Oban — Reliable and Observable Job Processing
Oban UI: Private Beta
Github Starts Won’t Pay Your Rent
https://twitter.com/sorentwo?lang=en
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
https://github.com/sorentwo/kiq
https://www.postgresql.org/docs/current/sql-notify.html
https://www.postgresql.org/docs/current/sql-listen.html
https://www.postgresql.org/docs/9.5/sql-select.html
https://www.postgresql.org/docs/9.4/explicit-locking.html
https://github.com/sorentwo/oban/blob/master/lib/oban/pruner.ex
https://github.com/elixirs/faker
https://oban.dev/#sign-up
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://twitter.com/CodeWisdom/status/1189602991701184512
Josh Adams:
How to write a commit message
Eric Oestrich:
Godzilla: The Showa-Era Films, 1954–1975
Parker Selbert:
The Rust Programming Language
Copper Fox Distillery
Special Guest: Parker Selbert.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/26/2019 • 41 minutes, 59 seconds
The MaxCoders Guide To Finding Your Dream Developer Job
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/20/2019 • 14 minutes, 32 seconds
EMx 078: Phoenix Phrenzy with Nathan Long
In this episode of Elixir Mix the panel interviews Nathan Long about Pheonix Phrenzy. Nathan explains what Pheonix Phrenzy is and what the contest is all about. The panel explains how exciting it is for everyone to see what Live View can really do. With all the submissions open-sourced, the consider what a great resource the submissions are for those learning to use Live View.
Nathan explains his motivations behind Pheonix Phrenzy. He explains what they learned from this contest and what they may do in future contests. Nathan shares how wonderful it was to work with everyone at Dockyard on Pheonix Phrenzy. He explains how the competition worked, the role of the VIP judges and how the site was designed to make the contest as fair as possible.
The top three submissions are shared, the panel is impressed by how different each of the projects are. Nathan shares all the amazing things developers get when they use Live View. The panel considers when to use Live View. The episode finishes as Nathan shares what he would like to see in the future versions of Live View.
Panelists
Mark Ericksen
Josh Adams
Michael Ries
Guest
Nathan Long
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
ElixirCasts | Get 10% off with the promo code "elixirmix"
My Angular Story
CacheFly
Links
https://phoenixphrenzy.com/results
https://twitter.com/sleeplessgeek
http://nathanmlong.com/blog/
Ranking Programming Languages by GitHub Users
GOTO 2019 • The Soul of Erlang and Elixir • Saša Jurić
https://twitter.com/ScenicFramework/status/1189646397147992064
https://hexdocs.pm/scenic/Scenic.Components.html
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://alicevision.org/
https://github.com/alicevision/meshroom
Josh Adams:
Jesus is King by Kanye West
Michael Ries:
Scenic Components
Nathan Long:
https://apps.ankiweb.net/
https://www.owasp.org/index.php/SameSite
Special Guest: Nathan Long.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/19/2019 • 52 minutes, 45 seconds
EMx 077: Elixir at PepsiCo eCommerce with Jason Fertel
In this episode of Elixir Mix the panel interviews Jason Fertel who runs the marketing automation team at PepsiCo eCommerce. Jason shares the story of bringing Elixir to PepsiCo eCommerce and explains how it became their go-to for application development.
Jason explains what they do at PepsiCo eCommerce. They build software to optimize everything from supply chain to marketing and sales for big companies in eCommerce like Amazon.com and InstaCart. He explains the difference between what they do at PepsiCo eCommerce and other CPG’s.
The panel asks Jason about what Elixir has brought to the table at PepsiCo eCommerce. He explains why he chose Elixir when he started out as a one-man development team. Elixir is powerful, straight forward and easy to learn. It is efficient and has everything you need out of the box. Jason shares how using Elixir has also had a positive effect on hiring. The panel considers how using Elixir has benefitted hiring at their companies as well.
The episode ends with Jason outlining their stack and sharing the tools they are using. He also overviews some of the projects they are working on, including sales and marketing automation, end to end supply chain optimization and something exploratory with IoT. They try to foster a culture of exploration and innovation at PepsiCo eCommerce and Jason talks about a Nerves project they are working on to alert consumers when it is time to purchase more snacks.
Panelists
Mark Ericksen
Michael Ries
Guest
Jason Fertel
Sponsors
Sentry | use the code “devchat” for two months free on Sentry’s small plan
ElixirCasts | Get 10% off with the promo code "elixirmix"
CacheFly
________________________________________________________________________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1.
________________________________________________________________________________________________________________________
Links
https://www.scaledagileframework.com/
https://www.erlang-solutions.com/
https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html
https://github.com/absinthe-graphql/absinthe
https://druid.apache.org/
https://nerves-project.org/
https://beagleboard.org/bone
https://www.keycon.info/
https://twitter.com/Fertel
https://www.pepsicojobs.com/main/jobs?keywords=elixir&page=1
https://twitter.com/fertel
https://github.com/fertel
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://thinkingelixir.com/elixir-in-vs-code/
Michael Ries:
https://github.com/boydm/scenic
Spiff
Jason Fertel:
http://hilolife.com/
https://maivino.com/savethepinot
Special Guest: Jason Fertel.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/12/2019 • 44 minutes, 18 seconds
EMx 076: MUD Development and Grapevine
On this episode of Elixir Mix the panelists interview Eric Oestrich, one of the regular panelists for the show. Eric is a developer at SmartLogic where he works with Elixir and recently has been working with deployments. He has a project called Grapevine which is similar to steam but for text games.
Mark opens up the discussion by asking Eric to talk about his game ExVenture which is a MUD game. MUD stands for multi user dungeon and ExVenture is a multi user version of a text adventure game from 1978 called Dungeon. He shares more details of the game and how it’s played. Erit explains that Grapevine was spawned from ExVenture and Mark asks him to expound more on Grapevine.
ExVenture is open source and it is an application that is currently running in production. This provides opportunity for those not interested in making or playing a MUD to get involved and work on a project. Eric also goes into detail about the livestreaming he does and how to get involved. Since the project is open source, Eric is able to do development live, on screen and this allows the viewer to see the development process first hand and watch Eric work through challenges in the code.
The topic then shifts to some of the features that are in Grapevine. Eric details some of the OTP style concepts used, the types of servers used and how they’re used, and how telnet sessions are maintained for connecting. The Elixir Mix panelists also discuss how this application is deployed. The application is on DigitalOcean with 2 dedicated cores and he uses Docker to build the releases. Eric also explains how he uses scripting with his releases and how his deployments work. The panelists also discuss how Eric is using Docker for releases but not on the server and why he’s doing deployments the way he is. The last topic covered by the elixir experts is statistics. They cover the metrics section in Grapevine, how he uses Telemetry events, and other methods he uses to gather metrics
Panelists
Mark Ericksen
Josh Adams
Erik Oestrich
Sponsors
Sentry | Use code “devchat” for two months free on Sentry’s small plan.
ElixirCasts | Get 10% off with the promo code "elixirmix"
Links
SmartLogic
Phoenix
Erlang
MUD
Grapevine
ExVenture
Telemetry
SmartlogicTv Twitch
SmartlogicTv Youtube
Local Clusters with epmd by Erik Oestrich
EPMD man page
Hello, production
Grapevine Stats
Grapevine Metrics Github
Eric Oestrich Twitter
Eric Oestrich Grapevine
Eric Oestrich Github
Docker
DigitalOcean
Picks
Josh Adams
Radiohead Glastonbury Festival
Linux of 2000 article
Mark Ericksen
TheOatmeal Comic: Running
Eric Oestrich
Squabble
Playing the violin and cello
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/5/2019 • 36 minutes, 25 seconds
EMx 075: Live View Implementation With Jeff Kreeftmeijer
Jeff Kreeftmeijer works at Appsignal where they create a tool for application monitoring that works in Ruby and Elixir. He works specifically with integrations focusing in Elixir and also writes articles for their Elixir and Ruby newsletters. Jeff started as a Ruby programmer but had an interest in functional programming which lead him to gain an interest in Elixir. When he started at Appsignal they were already considering an Elixir integration and that made it a perfect fit.
Jeff then shares more details about his involvement in Appsignal’s two newsletters called Ruby magic and Elixir alchemy, both of which are aimed at more experienced programmers. He also details his experience with articles that he wrote on Live Share and how he came to write them. The panelists also introduce the Go game that is written about in these articles.
The next topic covered by the Elixir experts is the Go game Live View implementation mentioned in Jeff’s articles. The panelists draw comparisons of how something similar could have been implemented in React. Jeff highlights that he doesn’t have to write JavaScript and doesn’t have to worry about state either. However, in part 1 of Jeff’s current implementation he used a struct to track the state. In part 2 of the implementation, where he implements the code rule, he has another struct that tracks the game.
The panelists then discuss how Jeff maintains the game state. In the first version of the implementation he keeps it in the Live View process and when he implemented multiplayer he had to move the game state to a GenServer. He also shares some of the details of why using a GenServer is necessary for multiplayer. Jeff is then asked what his experience was like using a dynamic supervisor and he shares the technical ideas of how this helped him in the project.
Next the conversation moves to how the game is able to communicate moves between players to each other. The issue with connecting two sessions to the same Live View is that one player won’t be updated if the other makes a move. Jeff details how using a Pub/Sub helps to overcome this issue. The panelists also discuss ideas of how the game could be implemented in a multi server instance.
Jeff shares how his article series still has many more installments that can come out, specifically citing that they haven’t even covered assigning player connections with different player callers. This kind of functionality would handle the assignment of which players controlled which pieces. Jeff closes with highlighting the convenience that comes from using the libraries that they are using as they natively come with technologies they find helpful for building out an interactive, collaborative project.
Lastly, the panelists discuss what Jeff is currently doing to work more with these same technologies. Jeff shares that he has a side project where he tries to build a fish tank with artificial intelligence and how he uses Live View for this project.
Panelists
Mark Ericksen
Eric Oestrich
Josh Adams
Michael Ries
Guest
Jeff Kreeftmeijer
Sponsors
Sentry.io | Use code “devchat” for two months free.
ElixirCasts | Get 10% off with the promo code "elixirmix"
JavaScript Jabber
Links
Appsignal.com
Live View article
Computers and Go
Building the Go Game in Elixir: Time Travel and the Ko Rule
Multiplayer Go with Elixir’s Registry, PubSub and Dynamic Supervisors
Dynamic Supervisor
PubSub
Hayago Github
GenServer
Functional Web Development With Elixir, OTP, and Phoenix
Asciiquarium
Terminal Asciiquarium
The NeuroEvolution of Augmenting Topologies User Page
The NeuroEvolution of Augmenting Topologies
Jeff Kreeftmeijer Twitter
Jeff Kreeftmeijer.com
Picks
Josh Adams
Haskell Parser
Eric Oestrich
Dragon Quest 11
Wingspan
Michael Ries
Fireball Island
Observer CLI
Mark Ericksen
Acquired
Jeff Kreeftmeijer
Go (game)
Mansions of Madness
Alphago Documentary
Special Guest: Jeff Kreeftmeijer.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/29/2019 • 34 minutes, 23 seconds
EMx 074: Inky Displays With Lars Wikman and Emilio Nyaray
This episode of Elixir mix opens with Lars Wikman and Emilio Nyaray sharing how they came to be working together on a project called Inky. Inky is an E-Ink display that works with Nerves and Elixir. The project started when Lars wanted to use the Inky device from Nerves but didn’t want to install Python to do it. Emilio wanted to join because he found it fascinating to be able to control this device with Elixir. Lars and Emilio share some details of how this project came about and how it works.
The inky comes in multiple sizes with the smaller pHAT display being about the size of a business card and the Inky wHAT being closer to the size of a Raspberry Pi. Lars shares that one of the biggest gotchas with these displays is the refresh rate. Once the pixels are changed the device can be turned off and still remain the same because they are physically changing. The panelists highlight that very little troubleshooting time had to go in to the Nerves portion of the project. Lars describes how he began looking at using Nerves just after it was announced and how he decided to use it in this project. He also shares how he wants to take on a project to put together a cross stitch of a bigger display that can change each day. One way to do this is by putting multiple pHATs together but Lars would prefer to use a wHAT.
The conversation then moves to Emilio sharing his journey to the Inky project. He has been working with Erlang professionally for a year. Ever since he worked with a startup in 2012-2013 where they used Erlang, he has had a strong desire to work with functional programming. This desire eventually lead him to work with Elixir and Phoenix to write a timesheet application as a consultant. When he got in to working with Nerves he borrowed a touchscreen at work and was blown away by how it worked. Emilio also details an audio controller interface side project that he is currently working on. The panelists then talk about the elixir community, what they love about it, the friendliness of the small community, and some individuals that have had an impact on them.
The discussion then moves on to the profiling tools eprof, fprof, and cprof. These tools are built into the Erlang Ecosystem. Eprof is a time profiling tool. Fprof is a time profiling tool as well, but it uses trace to file for minimal performance impact. Cprof is a simple call count profiling tool. Emilio shares how he came to be familiar with these, how he used them, and the benefits he saw in his application from using these tools. These profiling tools are also available in Elixir. The panelists also discuss eflame which is a flame graph profiling tool that is very easy to use. Emilio and Lars detail how they used a low dependency approach to be able to fake a display on the desktop for Inky and develop on the desktop.
Panelists
Mark Ericksen
Josh Adams
Michael Ries
Guest
Lars Wikman
Emilio Nyaray
Sponsors
Sentry.io use code “devchat” for two months free on Sentry’s small plan
Adventures in .NET
Ruby Rogues
Links
Lars’ writing on Inky
Nerves
E-Ink
Inky pHAT
Inky wHAT
Raspberry Pie
Arduino
Elixir Forum E-Ink Display
Phoenix
Elixir Circuits
Mysensors.org
Connor Rigby Github
Instinct.vet
Opensoundcontrol.org
Joe Arms Controlling Sound With OSC
Codesync.global
Boyd Multerer Github
Erlang eprof documentation
Erlang fprof documentation
Erlang cprof documentation
Eflame Github
Lars Wikman: @lawik on twitter
Emilio Nyaray: @nyaray on twitter
Emilio Nyaray Github
Picks
Josh Adams
autofs
Kodi.tv
Michael Ries
Jehu Garcia youtube
Mark Ericksen
FizzBuzz Enterprise Edition
Logitech G29 Driving Force
Lars Wikman
Scenic Layout-O-Matic
Nerves Input Event Library
Special Guests: Emilio Nyaray and Lars Wikman.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/22/2019 • 52 minutes, 53 seconds
EMx 073: Application Monitoring Using Telemetry With Arkadiusz Gil
This episode of Elixir Mix features Arkadiusz Gil. Arkadiusz is a software engineer at Erlang Solutions. He is also a member of the observability working group of the Erlang Ecosystem Foundation. The purpose of this working group is to nurture different areas of the community to maintain libraries, improve tooling, and create documentation. He became a member of this group because of his work on Telemetry. The panelists discuss the background of Telemetry and Arkadiusz explains how it was originally written in Elixir and why they decided to switch over to Erlang. Arkadiusz explains how he became involved in Elixir and Erlang. When Mark asks why he prefers Elixir to Erlang he responds with explaining his affinity for the Elixir syntax and tooling that’s available.
The conversation then moves to how Telemetry came about. Telemetry started with the goal of creating a tool for monitoring Elixir applications but the creators had no idea what that application would be like. Arkadiusz then describes how he did an exercise with colleagues to identify the specific needs for such an application and how to implement it. The panelists discuss how Telemetry is integrated. They also discuss how to get started with Telemetry metrics and Arkadiusz shares some of the details of how the monitoring service works.
The next topic that the Elixir experts cover is how to monitor business data and activity. Arkadiusz explains the mechanism that can be used to attach to events in a custom way to retrieve the exact data that the user needs. He shares that Telemetry can really be used any time a user wants to expose a specific piece of data at runtime. Mark asks how this attaching works and this leads to a deeper technical discussion on how Telemetry attaches a mechanism to the application and returns that data, as well as how the listeners work when an event is fired and new data is sent to it.
The panelists then discuss how OpenCensus works with Telemetry. OpenCensus is a project created to culminate API’s that can be used in different languages to create metrics and other data. Arkadiusz shares a hypothetical example of how this works and how Telemetry works with it. The observability working group has helped contribute to OpenCensus. OpenCensus has a smooth integration and is built to run as smooth as possible. A user can use OpenCensus to build metrics based off of Telemetry events. The OpenCensus project is now called OpenTelemetry and it is a merger of OpenCensus and OpenTracing.
Finally the Elixir experts cover real world examples of users implementing Telemetry as well as how to get involved with the observability working group and Telemetry. For the observability working group it is best to reach out to them telling them what kind of tooling that would be great to work across the ecosystem and other help they need. One of their goals is to put together a set of best practices for monitoring services.
Panelists
Mark Ericksen
Eric Oestrich
Josh Adams
Guest
Arkadiusz Gil
Sponsors
Sentry.io
Adventures in DevOps
Adventures in Angular
Links
Erlang Solutions
Observability Working Group
Erlang Ecosystem Foundation
Erlang
Telemetry
Telemetry.Metrics
AWS CloudWatch Events
Programming Elixir
OpenCensus
OpenTelemetry
OpenTelemetry.io
OpenTracing
arkgil on GitHub
Exometer - Erlang Implementation Package
Prometheus.ex
Picks
Eric Oestrich
UCL parser in Elixir
Josh Adams
The Depths of Deep Space Nine - YouTube
Mark Ericksen
How to Create Desktop Application With Elixir
Terminal command “lscpu”
Arkadiusz
Alchemist’s Code
Philosophy of Software Design
The Anatomy of Next
Special Guest: Arkadiusz Gil.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/15/2019 • 40 minutes, 39 seconds
EMx 072: People-Centered Solutions with Travis Elnicky
In this week’s episode of Elixir Mix the panel interviews Travis Elnicky, software architect at Podium. Podium is Utah based company that has been using Elixir for three years. Travis explains Podium’s history and its experience adopting Elixir.
When Travis started at Podium they were a small startup with, he was their 16th employee. They were using Ruby on Rails and focusing on collecting reviews for local businesses. When they saw a need for a messenger application, they tried a few solutions choosing Elixir because of the familiarity they felt coming from a Rails background. After switching to Elixir, Podium grew rapidly. Now Podium has 700 employees, 130 of whom are engineers.
Travis discusses with the panel how things are run over at Podium. Their teams are aligned around products and features. This makes all their engineers' full-stack developers. Podiums teams run with a lot of autonomy, they also have teams that help with internal tooling to tie the products together.
The panel is curious about the recruitment process at Podium. Travis explains that their hiring is mostly based on referrals, which they found has been pretty reliable. The panel discusses the value of referrals incentives programs. By hiring referrals they save money placing ads and going to fairs. Referrals tend to be more aware of the job they are going into and already have a friend to help them transition jobs and frameworks.
Next, Travis walks through what it is like for a new hire at Podium. After onboarding, the new hire sits down with their team lead and codes, taking it all the way to production. The panel considers the advantages of new hires diving in, whether or not they know Elixir. It introduces them to the work they will be doing, gives them confidence by contributing to the team, and the one on one attention shows them the culture of unity at Podium.
Podium has a lot to offers its developers. It has a team whose focus is internal developer experience. Podium maintains a focus on learning and growing in Elixir. They offer training for those who are unfamiliar with Elixir. Once per week, they do a Nerd Lunch, the company buys them all lunch while Podium engineers teach their fellows about software.
Elixir 101 training also happens every week and is also taught by Podium engineers. Allowing Podium engineers to teach gives learners a chance to teach which in turn helps them learn. It also allows engineers to network outside their assigned teams. The panel considers how people-centered all the solutions are at Podium.
The panel wonders if Podium ever uses outside trainers or services. Travis shares the wonderful experience they have been having by using Plataformatec’s Elixir Development subscription. He says it has been incredible to be able to jump on a call, talk to them and get some feedback. Using the subscriptions allows their senior developers to level up, while the other classes and lunches helps the junior developers to level up.
Podium recently sponsored ElixirConf and send a big crowd to a few different conferences every year. Travis explains the value of the conference is not only in the education received by the engineers who get to go. At Podium, the engineers who go to the conferences then come back and present what they learned at the conference, sharing what they think Podium could apply to their stack. This makes the conferences valuable to the entire team.
The last topic the panel discusses in the episode is the CI at Podium. The panel explains that most of the feedback for a new developer should be coming from the CI. Travis explains how the CI is set up. When he started they were using Github and has moved to Gitlab. They use credo checks, unit tests, sobelow, and dialyzer.
The panel asks about Elixir formatter and how they check format in the CI. Travis explains what he likes about credo and gives tips for running it. The panel has Travis introduces sobelow and what it does for Podium. Dialyzer is considered by the panel, they explain the trade-off of using dialyzer while sharing times that it had saved their bacon.
Panelists
Mark Ericksen
Eric Oestrich
Michael Ries
Guest
Travis Elnicky
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
Sustain Our Software
Views on Vue
CacheFly
Links
Two Years of Elixir at Podium: Thoughts
https://www.podium.com/
http://pages.plataformatec.com.br/elixir-development-subscription
https://docs.gitlab.com/ee/ci/
https://github.com/rrrene/credo/
https://github.com/nccgroup/sobelow
https://hex.pm/packages/dialyxir
https://hexdocs.pm/mix/master/Mix.Tasks.Format.html
https://github.com/elixir-lang/elixir/blob/master/lib/elixir/lib/calendar.ex
https://github.com/jeremyjh/dialyxir#explanations
https://www.linkedin.com/in/travis-elnicky-4a3b2844/
https://twitter.com/_elnicky
https://twitter.com/podium_eng?lang=en
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://thinkingelixir.com/
Eric Oestrich:
Links Awakening
Michael Ries:
Hacktoberfest
https://nats.io/
Travis Elnicky:
Designing Elixir Systems with OTP
https://www.acquired.fm/
Special Guest: Travis Elnicky.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/8/2019 • 48 minutes
EMx 071: The Problem with Dialyzer with Chris Keathley
In this week’s episode of Elixir Mix the panel interviews Chris Keathley about Norm and his recent talk at ElixirConf. Chris is currently working at Bleacher Report, working mostly on backend systems. The panel starts by complimenting his presentation skills and asking him about his dislike for dialyzer.
Chris share the many problems he has with dialyzer. Dialyzer takes a lot of time and has crappy ergonomics. While it tells you a lot about an Erlang system that benefit doesn’t extend to Elixir systems. Neither doesn’t understand protocols. Mostly he feels that most type algebras don’t allow for growth, making changes and making the breaking changes. Explaining that type systems all have their costs and benefits, he feels that you don’t see the benefits of dialyzer until your system is up and running.
The panel wonders about Norm, a library written by Chris. Chris explains what it is and what its aims are. He wrote the library to solve some of the problems seen with dialyzer and other problems he was having at work. It is mostly for validating data. He wanted to be able to put checks in where ever he wanted and to make it very hard to break systems. Norm lets you describe data in your system, by taking an arbitrary predicate and making it into a spec. Chris explains how this works and how it will not make any changes until you tell it to. He shares some of the other features offered by Norm.
The sweet spot for using Norm is the next subject broached by the panel. Chirs explains that Norm fits well into the boundaries of systems, this is the most obvious place and the best place to start. The least intuitive way Chris has used Norm is to specify the options you need to pass to gen servers. He explains that it is not the most obvious use for Norm but it has been really helpful with the API.
Next, the panel asks about changesets and how that works with Norm. Chris explains that changesets are very specific while Norm allows more freedom. The biggest difference between the two is that Norm won’t do casting for you. They intentionally built Norm that way because of the way Bleacher Report uses string and atom keys.
In his talk, Chris explains the concept of design by contract. It means that for every function that you have you can specify preconditions and postconditions. Preconditions are things that have to be true prior to calling the function. Postconditions are things that have to be true after the functions been called. Right now Norm doesn’t provide preconditions and postconditions which provides a way to avoid some of the more expensive costs in production.
Chris uses Norm in all his opensource projects and in projects at work. He shares the benefits he has seen. He believes that most systems will see benefits from Norm if they have room to grow. In his experience, every time they run into something new and think they may need to expand or change Norm, they find that Norm already has everything they need. Chris asks listeners who want to help contribute to Norm to try it out and to give him feedback.
Panelists
Mark Ericksen
Eric Oestrich
Josh Adams
Guest
Chris Keathley
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
Adventures in Blockchain
React Round Up
CacheFly
Links
ElixirConf 2019 - Contracts for Building Reliable Systems - Chris Keathley
https://github.com/keathley/norm
EMx 040: Elixir Outlaws and Adopting Elixir with Chris Keathley
EMx 003: Chris Keathley
https://keathley.io
https://twitter.com/chriskeathley?lang=en
https://elixiroutlaws.com/
https://en.wikipedia.org/wiki/Design_by_contract
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
zFRAG
Eric Oestrich:
War Machine
Josh Adams:
"Unison: a new distributed programming language" by Paul Chiusano
https://github.com/unisonweb/unison
Chris Keathley:
Daniels' Running Formula
Special Guest: Chris Keathley.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/1/2019 • 47 minutes, 39 seconds
EMx 070: Home Automation Using Radio Frequencies with Jon Carstens
In this episode of Elixir Mix the panel interviews Jon Carstens about his work with Nerves. Michael Ries gives a little background on Jon, as they have worked together and Jon helps run the remote nerves meet up that Michael attends. Jon recently started working with Frank Hunleth at Smart Rent. Jon tells the panel what an adventure it is working at Smart Rent.
The panel asks Jon about the parts of the Nerves ecosystem he has been working in. He explains how he has been working with NervesHub to manage collections or groups of devices. He has also been working with ShoeHorn controlling app start order and erlang heart stop module. Making sure that they can remote reboot devices.
Jon talks more about what Smart Rent does. He explains that there are lots of brands and types of smart home devices, not all of which can connect to the internet. At Smart Rent, they connect various brands and devices using their own custom-built hub. Smart Rent has many benefits tenants and even more for property managers. Property managers can use Smart Rent to manage vacant properties, monitor for leaks, break-ins, fire, and dangerous temperatures. They can even set up open houses remotely, changing the temperature to comfortable levels, turning on and off lights, and unlocking and locking the doors for walkthroughs of the properties.
Justin Schneck gave a keynote at ElixirConf 2019 where he showed of an IEX console Nerves device. The panel asks Jon about his role in building the devices. Jon explains how he was tasked with the project. He explains how the console works using an IO. The hardest part, Jon explains, was getting the ASCII characters right. He spent hours working on it, he shares the libraries and tools he used to help him get it right.
The panel asks how the IEX server sessions work. Jon explains what would happen if you tried to SSH into an IEX session running through NervesHub on a device and other examples of how it all works. The panel discusses the benefits of debugging devices using the IEX console. Jon explains that it has been extremely beneficial in debugging remote devices.
While the IEX console is very useful, Jon warns that it is not very pretty. The IEX console was designed by backend developers and he points out some of the things that could use a little love. The panel asks about contributing to this project and invites listeners to contribute on the Nerves GitHub pages.
To finish, the panel asks Jon about his lightning talk. Jon launches into the story of his at-home Nerves projects. It all started when they replaced their old ceiling fan for one with a remote. The problem was that the frustrating design coupled with his remote thieving kids, the fan became an annoyance, to say the least.
Jon discovered that the remote-operated using a radio frequency. He learned all he could about radio frequencies and how they worked. He warns listeners not to broadcast radio frequencies to far from their homes because there will be legal ramifications. Using a raspberry pi and a jumper cable, Jon built a device that now controls all devices in his home that operate using radio frequencies. He shares the tools he used to record the frequencies from the remotes and the library he built of the frequencies. Jon shares his dream of running all remote-controlled devices either through his phone or his voice. His next project is infrared.
Panelists
Mark Ericksen
Eric Oestrich
Michael Ries
Guest
Jon Carstens
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
Adventures in DevOps
My Ruby Story
CacheFly
Links
https://www.realflight.com/index.php
http://www.wings3d.com/
https://www.flightgear.org/
https://github.com/nerves-project/shoehorn
http://erlang.org/doc/man/heart.html
https://www.nerves-hub.org/
https://smartrent.com/
https://beagleboard.org/black/
ElixirConf 2019 - Day 2 Morning Keynote - Justin Schneck
https://github.com/nerves-hub/nerves_hub_web
https://learnyousomeerlang.com/building-otp-applications
https://github.com/nerves-hub/nerves_hub/blob/master/lib/nerves_hub/console_channel.ex
https://www.npmjs.com/package/ansi-to-html
https://github.com/stephlow/ansi_to_html
https://twitter.com/JonCarstens/status/1169660675137912832
https://github.com/nerves-hub/nerves_hub_web
https://embedded-elixir.com/post/2019-08-29-nerves-at-434-mhz/
ElixirConf 2019 - Lighting Talk - Nerves @ 433 MHZ
Jon Carstens: Dadgineering with Elixir+Nerves
https://github.com/jjcarstens/replex
https://github.com/F5OEO/rpitx
https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr
https://github.com/jjcarstens
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
Ecto 3.2 released
PostgreSQL CTE information
Eric Oestrich:
https://github.com/oestrich/grapevine-ansi
https://www.realflight.com/index.php
Michael Ries:
http://www.wings3d.com/
Flite Test Sea Duck Electric Airplane Kit
Jon Carstens:
Off to Be the Wizard
Special Guest: Jon Carstens.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/24/2019 • 38 minutes, 8 seconds
EMx 069: Distributed Databases with Wiebe-Marten ("Marten") Wijnja
Episode Summary
In this week’s episode of Elixir Mix the panel follows up with Wiebe-Marten ("Marten") Wijnja about his talk at Elixir Conf EU, where he spoke about the distributed system his team was working on.
They start by discussing the eight fallacies of distributed computing that Marten talked about in talk. He lays out a couple of the fallacies and invites listeners to watch his talk for all eight. Marten explains that these fallacies most commonly happen to developers who are used to working with a single system. The panel discusses how to be mindful of these mistakes and how developers take for granted of how easy one system is to use.
Marten gives some tool recommendations to help with these fallacies. TLA+ is a small programming language that lets the developer describe their system and it will point out when something is wrong but it works purely on concepts. Erlang quick check implementation is also a tool that will help combat these problems. The last suggestion which was given by the panel is a library called comcast on github that will simulate poor network connections so the developer can see how the system runs on a poor connection.
Marten describes the byzantine problem. Two nodes or generals are trying to agree on something but communication keeps failing. The various outcomes are considered and Mark Ericksen gives an additional example of he and Josh Adams trying to connect to record a podcast, and how the miscommunication could change the outcome. This is a big problem that complicates using a distributed system.
The panel discussed CRDT’s and how they are a better way for nodes to sync up. Marten gives a very simple example of a CRDT as a counter. The panel discusses when to use CRDT’s and when not too. Marten explains what questions to ask before using CRDT’s.
Another way of solving the byzantine problem is by connecting the nodes. The panel discusses the tools they use to connect their nodes. Partisan is one tool, instead of connecting all nodes, each node connects to a specific number of nodes. That way if one node goes down the whole system doesn’t stop, while at the same time not, overwhelming the nodes. Libcluster, another tool, uses Kubernetes and has multiple strategies for connecting nodes so developers can choose the right one for their system.
The panel asks Marten about multicall and abcast. Marten explains that these tools help one node talk to all the other nodes in a cluster, and multicall will gather the results. Multicall also tells the developer which nodes failed to respond to the request. Mark shares an example of using these tools to effectively communicate between gen servers.
In Marten’s talk, he described four distributed databases. The panel asks Marten to talk about each one of them. The first one is mnesia. Marten talks about his first experience with Mnesia and how he thought it was amazing. He soon realized while it is still a great tool it also has its quirks.
He explains that each of these databases has its own quirks. Mnesia doesn't do conflict resolution, that along with a few other things the developer will need to build themselves. This can be a good and bad thing because developers can customize the database to their needs but it’s not ready out of the box. Mark explains the use cases mnesia is good for and even references the mnesia documentation.
Cassandra is the next database Marten describes. Cassandra is the database discord uses. Cassandra does not let developers control their own conflict resolution. It always uses the latest time-stamp and with nodes that can be confusing.
Couchdb is another database they discuss. Again, couchdb is also not made to deal with conflicts. It will either solve them randomly or the developer can opt into resolving it themselves. The panel discusses times when this is useful, such as when connectivity is intermittent.
Riak is the final database and the one Marten’s team chose for their distributed system project. Riak was written in Erlang and is a key-value store and uses CRDT’s. It uses a CRDT conflict resolution. Marten shares his experience using Riak. The panel considers Riak’s history and need for some love.
Marten gives an update on planga, the chat application they were building the distributed system for. Marten explains that during the talk they were in the middle of development. He shares the story of why they wanted a distributed system for this chat application. The client they were doing it for wanted to do video streaming but pulled out in the end. When the client no longer needed the video streaming solution they stopped building the distributed system. Marten is still hopeful they will go back and finish it.
To end the episode Marten shares his programming journey. He started programming at age nine. At age 12 he started doing professional web development. After a few years of that, he started doing some frontend work in JavaScript. Once that got old, bitcoin was getting big so he and some friends got into that. Finally, he got a job doing backend work with Ruby while at university. When he heard about Elixir he was so excited he learned the basics in one weekend and has loved it ever since.
Panelists
Mark Ericksen
Josh Adams
Guest
Wiebe-Marten ("Marten") Wijnja
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
Adventures in DevOps
My Ruby Story
CacheFly
Links
Wiebe Marten Wijnja - An adventure in distributed programming - ElixirConf EU 2019
https://elixirforum.com/
https://lamport.azurewebsites.net/tla/tla.html
http://www.quviq.com/products/erlang-quickcheck/
https://github.com/tylertreat/Comcast
https://en.wikipedia.org/wiki/Byzantine_fault#Byzantine_Generals'_Problem
https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
https://github.com/bitwalker/libcluster
http://partisan.cloud/
http://erlang.org/doc/man/mnesia.html
https://learnyousomeerlang.com/mnesia
How Discord Stores Billions of Messages
https://pouchdb.com/
https://planga.io/
https://riak.com/
https://github.com/basho/riak_core
https://riak.com/where-to-start-with-riak-core/
Using Erlang, Riak and the ORSWOT CRDT at bet365 (...) - Michael Owen - Erlang User Conference 2015
https://hex.pm/packages/effects
https://github.com/graninas/automatic-whitebox-testing-showcase
https://github.com/Qqwy/elixir-riak_ecto3
https://hex.pm/packages/sea
https://twitter.com/WiebeMarten
https://github.com/qqwy/
https://wmcode.nl
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
ElixirConf YouTube Channel
Josh Adams:
Automatic White-Box Testing with Free Monads
Wiebe-Marten ("Marten") Wijnja:
https://propertesting.com/
https://globalgamejam.org/
https://polyphasic.net/
Special Guest: Wiebe Marten.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/17/2019 • 1 hour, 14 minutes, 21 seconds
EMx 068: Contributing to the Elixir Community with David Bernheisel & Cory Schmitt
Episode Summary
In this week’s episode of Elixir Mix the panel is joined by David Bernheisel and Cory Schmitt, from Taxjar, to discuss the different ways developers can contribute to the community. The first way to contribute to the Elixir community is contributing to the Elixir core code. While David shares a little of his background, he shares his first experience contributing to the elixir code by submitting a pull request about asdf. The panel all thanking him for his contribution.
The next form of contributing the panel discusses is open-sourcing projects. Cory and David share their experience getting their date-time parser open-sourced. They express gratitude at the support they received from Taxjar at open-sourcing the project.
Before moving on to the next way to contribute the panel stops for a moment to ask Cory and David about their date-time parser. David and Cory explain why they decided to build a date-time parser after finding a problem in Timex and other time libraries. They talk about their first attempt at the parser and explains that it was a disaster.
The panel expresses their interest in nimble parsec and asks our guests to share their experience using this library. Cory and David explain that it was easy to use and a little slower than libraries found in other languages but still fast enough for production. They go into more detail of what it was like to code in nimble parsec and give tips for optimizing performance with the library.
The panel asks about future plans for the date-time parser. David and Cory explain what cereal time is and how it will soon be usable in the parser. The most interesting things they learned while building the parser are listed including some of the surprising results they got while testing the library. They also talk about the difficulty of time zone math and other problems with programming for time zones.
The panel moves on to the next way you can contribute to the Elixir community is through running and attending meetups. The panel shares the places and types of meetups they run. Trying to prepare future meetup hosts, the panel shares their experiences starting up or taking over meetups, explaining what they need to know. Such as, not everyone that attends a meetup is going to be as hyped up about the language as you. Also, meetups are about building relationships and connections just as much as it is learning and sharing.
Still talking about meetups, the panel gives tips to both the host and the members. To the hosts, they give ideas on how to run their meetups, such as project nights, lightning talks. They explain that a lot of the people coming to the meetups will be new to Elixir and warns not to dive too deep into the code and lose them. Instead, the panel recommends recruiting the developers new to Elixir that still have all their enthusiasm for the language to help you run the meetups. Another recommendation is to vary the depth and range of the topics, that way you can maintain the interest of your members. The panel talks about the financial part of running a meetup and advises hosts to find a good notification service and a sponsor.
Speaking to meetup members, the panel reminds them that just by attending meetups they are contributing to the Elixir community. By going they make connections, share ideas and grow as developers in that community. The advice they give to members is to find ways to get more involved, explaining that no meetup host is going to turn down a willing speaker or a helping hand. They also discuss encouraging a comfortable environment and helping other members feel welcome in the community.
The final form of contributing the panel discusses is attending and speaking at conferences. The panel shares their excitement for the upcoming Elixir Conf. They also discuss the value of smaller regional conferences that may be easier to attend. At regional conferences, it can be easier to connect with others since there is a smaller crowd. Also, a singletrack style conference may encourage you to attend talks you normally wouldn’t choose, allowing you to discover new and exciting technologies. The panel explains how the number of conferences has grown over the years giving more opportunities to both attend and speak. They encourage all developers to go to conferences often.
Panelists
Mark Ericksen
Michael Ries
Josh Adams
Guest
David Bernheisel
Cory Schmitt
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT
My Ruby Story
CacheFly
Links
Falsehoods programmers believe about time and time zones
https://elixirforum.com/
https://asdf-vm.com
https://github.com/asdf-vm/asdf-elixir/pull/64
https://hexdocs.pm/date_time_parser/DateTimeParser.html
https://github.com/plataformatec/nimble_parsec
https://github.com/plataformatec/nimble_csv
https://hexdocs.pm/date_time_parser/examples.html#content
How to save datetimes for future events
https://www.meetup.com/Triangle-Elixir/
https://github.com/elixir-lang/elixir/wiki/Conferences
https://www.gigcityelixir.com/
https://www.thebigelixir.com/
https://empex.co/
EMPEX LA 2019 - Five Easy Ways To Start With Nerves - Michael Ries
https://allthingsopen.org/
https://twitter.com/bernheisel
https://github.com/dbernheisel
https://bernheisel.com
https://www.taxjar.com
https://twitter.com/_GazD
https://github.com/cas27
https://schmitty.me/
Elixir / Phoenix YouTube Channel
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://hex.pm/packages/phoenix_live_view
http://npm.anvaka.com/#/view/2d/webpack
Michael Ries:
http://www.hpmorpodcast.com
Josh Adams:
https://package.elm-lang.org/packages/elm/time/latest/
David Bernheisel:
http://ocremix.org/
Cory Schmitt:
https://www.twitch.tv/josevalim
https://taxjar.workable.com/jobs/1103271
Special Guests: Cory Schmitt and David Bernheisel.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/10/2019 • 1 hour, 11 minutes, 46 seconds
EMx 067: What's New with Nerves with Frank Hunleth
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT
My Ruby Story
CacheFly
Panel
Mark Ericksen
Michael Ries
Josh Adams
Eric Oestrich
Joined by Special Guest: Frank Hunleth
Summary
Frank Hunleth, co-author of Nerves, shares where Nerves came from and how it got started. The panel discusses the Nerves 1.5 release and the improvements in it. Frank introduces Nerves Hub and Michael Ries gives a little marketing spin to it, explaining what you can do with Nerves Hub and why you would want to use it. The panel discusses the funding model for Nerves. Frank introduces Elixir Circuit, which helps you find libraries for your devices. He introduces Mountrap, a library that helps to switch between ports and NIFs. Frank introduces Grisp, what it is and how it compares to Nerves. Frank introduces Vintage Net and how it will help your devices stay online. Michael shares his experience with Nerves and gives some tips to make getting started with Nerves easy. The panel encourages programmers to get into embedded systems and explains how it will change the way they view coding.
Links
EMx 008: Nerves! with Frank Hunleth and Justin Schneck
Actor Model
Lisp Flavoured Erlang
Nerves 1.5.0 released!
https://www.nerves-hub.org/
https://opencollective.com/nerves-project
ElixirConf 2018 - Keynote - Justin Schneck
https://github.com/nerves-hub
https://github.com/nerves-hub/nerves_key
NervesKey
Lonestar ElixirConf 2019 - Building a Smart Sprinkler Controller with Nerves - Todd Resudek
https://elixir-circuits.github.io/
https://github.com/elixir-circuits/circuits_quickstart
https://github.com/fhunleth/muontrap
15 Ports and Port Drivers
GRiSP 2: DIVING DEEPER INTO EMBEDDED SYSTEMS
GRiSP 2
https://www.gigcityelixir.com/
https://hex.pm/packages/blinkchain
https://github.com/fhunleth/vintage_net
https://twitter.com/smartlogic/status/1161982882036015104
https://twitter.com/fhunleth?lang=en
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
Boundaries
Michael Ries:
ElixirConf 2015 - Embedded Elixir in Action by Garth Hitchens
ElixirConf 2017 - Building an Artificial Pancreas with Elixir and Nerves - Tim Mecklem
Jon Carstens: Dadgineering with Elixir+Nerves
2 Watt Solar Charger Kit
Josh Adams:
2017 National Electrical Code
Eric Oestrich:
Parsely
The Big Elixir
Frank Hunleth:
Power Control
https://hex.pm/packages/power_control
Programming Boot Sector Games
Special Guest: Frank Hunleth.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/3/2019 • 1 hour, 17 minutes, 33 seconds
EMx 066: Going with the Flow with John Mertens
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT
My Ruby Story
CacheFly
Panel
Mark Ericksen
Michael Ries
Joined by Special Guest: John Mertens
Summary
John Mertens, from change.org, joins the panel to discuss a recent talk he gave at ElixirConf EU. The panel starts off by discussing change.org’s adoption of Elixir and how John helped to bring that about. John discusses the value of Flow even though it is not part of the standard library. The panel discusses what the pieces of data look in John’s pipeline. After giving some context for his project, John gives details about his work in Flow and why they chose Flow for that project. The panel discusses tuning the numbers in Flow to make it faster.
John shares his experience using Broadway and shares his favorite features. The panel asks him to compare Flow and Broadway in terms of configuration and understanding what is going on. John shares factors to consider when deciding to use Flow or Broadway for a project. The panel discusses supervision trees, using graceful shutdown, and the difficulty of messing up a flow.
Links
John Mertens - Lessons From Our First Trillion Messages with Flow - ElixirConf EU 2019
https://pragprog.com/book/tvmelixir/adopting-elixir
GenStage and Flow - José Valim | ElixirLive 2016
https://elixir-lang.org/getting-started/debugging.html#observer
https://github.com/beam-telemetry/telemetry
https://github.com/change
https://en.wikipedia.org/wiki/Amdahl%27s_law
https://en.wikipedia.org/wiki/Embarrassingly_parallel
https://github.com/mertonium
https://twitter.com/mertonium?lang=en
https://www.mertonium.com
https://thoughtfulcoder.club
https://www.change.org
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
http://avidemux.sourceforge.net/
John Mertens:
Solid Ground
Money Heist
Michael Ries:
https://nerves-project.org/
Special Guest: John Mertens.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/27/2019 • 1 hour, 8 minutes, 4 seconds
EMx 065: The Life Cycle of Elixir
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
React Native Radio
iPhreaks
CacheFly
Panel
Mark Ericksen
Josh Adams
Michael Ries
Summary
Mark Ericksen introduces the topic of framework life cycles hoping to address the concerns of new Elixir developers from other frameworks. The panel explains the various phases in a frameworks life and hype cycles using other frameworks as reference. COBOL, an older language, is on the tail end of its life but still kicking and it probably won’t ever fade out completely. Ruby on Rails is considered mainstream or widely adopted. The panel considers where Elixir is in its cycle. They all agree that Elixir is in the late stages of “early adoption”. The panel explains what this means for Elixir developers and why Elixir will become a widely adopted framework. They site the stability that Erlang provides to Elixir despite its young age and the solutions that Elixir provides the developing community. Mark Ericksen invites new Elixir developers to not only be patient but to be proactive in sharing Elixir at work and to developers around them.
Links
https://www.linkedin.com/pulse/clojure-technology-adoption-curve-jon-pither/
http://erlang.org/doc/man/HiPE_app.html
http://user.it.uu.se/~kostis/
https://darklang.com/
https://en.wikipedia.org/wiki/Technology_adoption_life_cycle
https://en.wikipedia.org/wiki/Hype_cycle
https://ferd.ca/ten-years-of-erlang.html
https://twitter.com/garybernhardt/status/1157025347948302341?s=20
https://www.ponylang.io/blog/2017/05/an-early-history-of-pony/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
This Erlang Life
Josh Adams:
Pony
Michael Ries:
RailsConf 2016 - Surviving the Framework Hype Cycle by Brandon Hayes
Alex - The French Chef/Engineer
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/20/2019 • 54 minutes, 19 seconds
EMx 064: Refactoring Elixir with Hubert Lepicki
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guests: Hubert Łępicki
Summary
Hubert Łępicki joins the panel to discuss his blog post, “Refactoring Phoenix controllers”; he starts by sharing what made him decide to write this article. In the blog post, he outlines strategies and patterns to better organize your code. The first strategy discussed, which was not mentioned in the blog post is: Breaking down one controller into multiple controllers. Intrigued, the panel asks Hubert to explain exactly what he means by this. The second pattern is: extracting logic from a controller and using it in a plug instead. The panel discusses what the right code to put in a plug.
The third pattern Hubert explains is: using business logic and workflow modules. The panel asks Hubert about his dislike for phoenix context. Hubert and the panel give better alternatives to phoenix controller and explains how they use modules. Having a Ruby background, Hubert explains the difference of using context and modules in Elixir compared to Ruby. Hubert shares how he uses the fourth pattern: Ecto using embedded schema. The episode ends with a little about Hubert's company and what they do.
Links
https://www.amberbit.com/blog/2019/6/29/refactoring-phoenix-controllers/
https://pcpartpicker.com/list/t7LBNQ
https://www.techradar.com/sg/reviews/amd-ryzen-7-3700x
https://www.pcgamer.com/the-best-graphics-cards/
https://www.amberbit.com/blog/2019/6/29/refactoring-phoenix-controllers/
https://github.com/elixir-plug/plug
https://twitter.com/hubertlepicki/status/1156179338779385856
https://brainlid.org/elixir/2017/09/24/elixir-processes-and-state-abuse.html
https://github.com/absinthe-graphql/absinthe
https://graphql.org/
https://twitter.com/hubertlepicki
https://www.amberbit.com
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
The Pragmatic Programmer, 20th Anniversary Edition
https://twitter.com/D2BOWIE/status/1151134380439420933
Josh Adams:
The Emperor's Blades: Chronicle of the Unhewn Throne, Book I
https://postmarketos.org/
Hubert Łępicki:
Expeditionary Force Series
Special Guest: Hubert Lepicki.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/13/2019 • 1 hour, 1 minute, 47 seconds
EMx 063: Designing Elixir Systems With OTP with Bruce Tate and James Gray
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Panel
Mark Ericksen
Michael Ries
Eric Oestrich
Josh Adams
Charles Max Wood
Joined by Special Guests: Bruce Tate and James Gray
Summary
Bruce Tate and James Gray join the panel to discuss their new book, “Designing Elixir Systems With OTP”. Bruce and James share the story of how they decided to write this book together. The panel discusses the books target audience, Bruce and James explain that this is not for programmers who know nothing about Elixir. Resources and books for beginners to read are recommended. Bruce and James share many key points of the book and the main lesson they hope the reads come away with. The interesting mnemonic “Do Fun Things With Big Loud Wildebeests” is explained.
Bruce and James share what this book will do for your applications. They address common misunderstandings for people moving from object-oriented programming into functional programming. Bruce and James share what it was like working with each other to write this book. The episode ends with Bruce and James sharing the stories of how the came to the elixir community.
Links
Designing Elixir Systems With OTP: Write Highly Scalable, Self-healing Software with Layers
https://en.wikipedia.org/wiki/Second-system_effect
https://devchat.tv/elixir-mix/emx-052-production-pitfall-pontification/
https://elixircards.co.uk/
Elixir in Action
https://elixirschool.com/en/
Programming Phoenix 1.4
GOTO 2019 • The Soul of Erlang and Elixir • Saša Jurić
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
https://grox.io/
http://icanmakeitbetter.com/
https://twitter.com/redrapids
https://twitter.com/JEG2
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://github.com/lpil/mix-test.watch
Designing Elixir Systems with OTP | Erlang Solutions Webinar
Michael Ries:
Functional Web Development with Elixir, OTP, and Phoenix
https://www.destroyallsoftware.com/talks/boundaries
Eric Oestrich:
https://podcast.smartlogic.io/
Josh Adams:
https://urbit.org/primer/
https://ivan.bessarabov.com/blog/famous-programmers-work-time
Charles Max Wood:
https://elixirconf.com/2019
Suggest a topic.
Bruce Tate:
https://10xdevelopers.com/demo/hanoi
James Gray:
Designing Elixir Systems with OTP | Erlang Solutions Webinar
https://store.steampowered.com/app/294100/RimWorld/
https://www.lexaloffle.com/pico-8.php
https://github.com/alexch/rerun
Special Guests: Bruce Tate and James Edward Gray.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/6/2019 • 1 hour, 23 minutes, 21 seconds
EMx 062: Elixir v1.9 and Hex.pm with Wojtek Mach
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Panel
Mark Ericksen
Michael Ries
Eric Oestrich
Josh Adams
Joined by Special Guest: Wojtek Mach
Summary
Wojtek Mach shares his experiences at Plataformatec; what his team is like and what types of projects they work on. The panel asks Wojtek about the announcement for hex.pm and how it works. Wojtek shares his language background and how he got into Elixir. The panel discusses Wojtek’s experience moving from a distillery release to a mixed based release. My SQL library for Ecto is considered and the panel discusses Wojtek past libraries.
Links
https://github.com/elixir-ecto/myxql
https://github.com/plataformatec/broadway
https://github.com/hexpm/hexpm
https://github.com/hexpm/bob
https://repo.hex.pm/builds/elixir/builds.txt
https://github.com/asdf-vm/asdf
https://github.com/asdf-vm/asdf-elixir
https://bobs-list.kobrakai.de/
https://hexdocs.pm/ecto_sql/Ecto.Migrator.html#with_repo/3
https://hexdocs.pm/mix/Mix.Tasks.Release.html
https://github.com/xerions/mariaex
https://github.com/elixir-ecto/myxql
https://github.com/elixir-ecto/postgrex
https://github.com/elixir-ecto/myxql/blob/master/MARIAEX_COMPATIBILITY.md
José Valim - KEYNOTE: Announcing Broadway | Code BEAM SF 19
https://github.com/plataformatec/broadway/pull/91
https://github.com/elixir-ecto/myxql/blob/master/test/test_helper.exs#L218-L236
https://github.com/wojtekmach/oop
Lightning Talks - Wojtek Mach (ElixirConfEU 2016)
ElixirConf 2016 - Building Umbrella Project by Wojtek Mach
https://github.com/wojtekmach/acme_bank
https://github.com/hexpm/hexpm
https://github.com/hexpm/hexdocs
https://github.com/hexpm/hex/pull/698
https://github.com/hexpm/hex/pull/698
https://www.zdnet.com/article/backdoor-found-in-ruby-library-for-checking-for-strong-passwords/
https://twitter.com/wojtekmach
https://github.com/wojtekmach
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://thinkingelixir.com/
Michael Ries:
https://hex.pm/packages/veritaserum
Dmytro Lytovchenko - ErlangRT, a BEAM VM reimplementation in Rust | Code BEAM
Eric Oestrich:
https://www.restfest.org/
Josh Adams:
https://en.wikipedia.org/wiki/Capability-based_security
https://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671
http://www.erights.org/elib/capability/ode/ode-capabilities.html#simple-money
https://fuchsia.dev/fuchsia-src/glossary.md
Wojtek Mach:
GOTO 2019 • The Soul of Erlang and Elixir • Saša Jurić
https://pqrs.org/osx/karabiner/
Special Guest: Wojtek Mach.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/30/2019 • 1 hour, 4 minutes, 15 seconds
EMx 061: Mutation Testing in Elixir with Daniel Serrano
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Panel
Mark Ericksen
Eric Oestrich
Joined by Special Guest: Daniel Serrano
Summary
Daniel Serrano explains what mutation testing is and how it works. The panel discusses the purpose and benefits of mutation testing. Daniel shares how mutation testing can fit into your process. The panel considers Daniel’s exunit deep dive and how this helped building exavier, his library. Daniel shares how he came up with the name exavier.
The panel asks Daniel about his experience load testing broadway. Daniel explains what broadway is and the benefits seen load testing it. Daniel shares how he got into distributed tracing and how it differs from tracing. Daniel tells the panel about his experience learning elixir and joining the community.
Links
https://en.wikipedia.org/wiki/Mutation_testing
https://github.com/mbj/mutant
http://pitest.org/
https://github.com/dnlserrano/exavier
https://github.com/dnlserrano
https://dnlserrano.dev/2019/05/26/exunit-deep-dive.html
https://jmeter.apache.org/
https://twitter.com/brainlid
José Valim - Keynote: Announcing Brodway - ElixirConf EU 2019
https://github.com/plataformatec/broadway
https://aws.amazon.com/sqs/
https://opentracing.io/docs/overview/what-is-tracing/
https://github.com/spandex-project/spandex/
https://www.datadoghq.com/
https://aws.amazon.com/cloudwatch/
Daniel Serrano - From Noob to Contributing Noob - ElixirConf EU 2019
https://twitter.com/dnlserrano
https://dnlserrano.dev/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://www.destroyallsoftware.com/talks/wat
https://send.firefox.com
Eric Oestrich:
https://en.wikipedia.org/wiki/The_Eye_of_the_World
Daniel Serrano:
Dark
https://github.com/itchyny/lightline.vim
https://github.com/plataformatec/flow
Special Guest: Daniel Serrano.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/23/2019 • 54 minutes, 51 seconds
EMx 060: Property-Based Testing, Dialyzer, & Inaka with Brujo Benavides
Sponsors
Sentry– use the code “devchat” for two months free on Sentry’s small plan
CacheFly
Panel
Mark Ericksen
Eric Oestrich
Michael Ries
Joined by Special Guest: Brujo Benavides
Summary
Brujo Benavides shares what he is working on right now and how his team feels about working in both Elixir and Erlang. He shares what his team has gotten out of using Elixir and what he thinks his team will get out of Elixir in the future. The panel discusses property-based testing and Fred Hebert’s book on property-based testing. Brujo shares use cases that would benefit from property-based testing and those that would benefit from unit testing. The panel considers dialyzer and shares their experiences using it in their code. Brujo explains how he chooses which tools to use for a project. Inaka is discussed; Brujo explains what they are all about and how to join. Upcoming conferences that Inaka is organizing is outlined and details on how to buy tickets are given.
Links
EMx 031: Lessons from a Decade of Erlang with Brujo Benavides
https://elixir-lang.org/docs.html
EMx 047: Property Based Testing with PropEr and Fred Hebert
My Take on Property-Based Testing for Erlang & Elixir
https://github.com/proper-testing/proper
Help Dialyzer Help You!
http://erlang.org/doc/man/dialyzer.html
http://erlang.org/doc/man/dialyzer.html#gui-0
http://erlang.org/doc/apps/dialyzer/dialyzer_chapter.html#dialyzer_gui
Erlang Oddities - Brujo Benavides
https://github.com/inaka/elvis
https://hex.pm/packages/dialyxir
https://github.com/inaka
https://github.com/inaka/guidelines
https://spawnfest.github.io/
https://www.elixirconf.la/
https://twitter.com/elbrujohalcon
https://github.com/elbrujohalcon
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://www.destroyallsoftware.com/talks/wat
I am Mother
Eric Oestrich:
https://grapevine.haus/
https://github.com/oestrich/telnet-elixir
Michael Ries:
Foam board
https://devchat.tv/elixir-mix/
Brujo Benavides:
http://spawnedshelter.com/
http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15777
Special Guest: Brujo Benavides.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/16/2019 • 1 hour, 8 minutes, 7 seconds
EMx 059: Using Rust to Scale Elixir for 11 Million Concurrent Users with Matt Nowack
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
CacheFly
Panel
Mark Ericksen
Josh Adams
Michael Ries
Eric Oestrich
Joined by Special Guests: Matt Nowack
Summary
Matt Nowack, a developer at Discord, gives an intro to Discord and shares its origin story. The panel discusses the problems that Discord was having because of its 11 million concurrent users. Matt talks about when they knew there was a problem, how they used a runtime VM to find the problem, the tools they tried to fix the problem and how they landed on NIFs to fix the problem. The panel discusses the risks of using NIFs and how using Rust helps negate that risk. Matt discusses the reference counter in the rustler package and answers questions about using dirty schedulers. Discord developers publish many blogs and publish many open source projects; Matt shares the Discord philosophy on open sourcing and contributing to the Elixir community.
Links
https://github.com/discordapp/sorted_set_nif
https://github.com/rusterlium/rustler
Matthew Nowack - ZenMonitor: Scaling Distributed Monitoring at Discord | Code BEAM SF 19
https://en.wikipedia.org/wiki/Fates_Forever
http://erlang.org/doc/tutorial/nif.html
https://www.rust-lang.org/
https://blog.discordapp.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3
https://github.com/discordapp/sorted_set_nif
https://www.erlang-solutions.com/blog/a-guide-to-tracing-in-elixir.html
https://github.com/ferd/recon
https://discordapp.com/jobs
https://elixir-lang.org/blog/2019/06/24/elixir-v1-9-0-released/
https://github.com/ihumanable
https://twitter.com/ihumanable
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://www.nps.gov/grca/planyourvisit/havasupai.htm
https://waterfallsofthegrandcanyon.com/havasu-falls/havasupai-waterfalls/
Josh Adams:
https://sorbet.org/blog/2019/06/20/open-sourcing-sorbet
Michael Ries:
https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
https://www.youtube.com/user/flitetest
Eric Oestrich:
https://podcast.smartlogic.io/
Matt Nowack:
http://discord.gg/elixir
https://www.destroyallsoftware.com/talks/boundaries
https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(TV_series)
Special Guest: Matt Nowack.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/9/2019 • 54 minutes, 27 seconds
EMx 058: Mint library with Eric Meadows-Jönsson & Andrea Leopardi
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
CacheFly
Panel
Mark Ericksen
Josh Adams
Michael Ries
Joined by Special Guests: Eric Meadows-Jönsson & Andrea Leopardi
Summary
Eric Meadows-Jönsson and Andrea Leopardi, members of the Elixir core team discuss the upcoming Mint library. They tell the panel their experience working on the core team and on the Mint library. They explain what Mint is and why people should know about it. Mint doesn’t use processes; Eric and Andrea explain why and what that means for the library. The panel discusses the benefits of using Mint and the use cases it can be applied to. Eric and Andrea give an update on how Mint is coming and explains why mint is not part of Elixir core. The panel considers building an HTTP library; Eric and Andrea share their experience.
Links
http://erlang.org/doc/man/httpc.html
https://github.com/ericmj/castore
https://elixir-lang.org/blog/2019/02/25/mint-a-new-http-library-for-elixir/#safe-by-default-https
https://github.com/appcues/mojito
https://segment.com/blog/introducing-centrifuge/
https://github.com/hexpm/hex
https://github.com/ericmj/mint
https://hexdocs.pm/mint/api-reference.html
https://elixir-lang.org/blog/2019/02/25/mint-a-new-http-library-for-elixir/
https://twitter.com/inconvergent/status/1139070281971118085?s=19
https://twitter.com/emjii
https://twitter.com/whatyouhide
https://thewirecutter.com/reviews/best-sous-vide-gear/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://pragprog.com/book/phoenix14/programming-phoenix-1-4 - They added Chapter 14, “What’s Next?” In it we address LiveViewPubSub 2.0, adding “telemetry” information to Phoenix and other coming additions.
Josh Adams:
Meat
https://inconvergent.net/2019/depth-of-field/
Michael Ries:
Matthew Nowack - ZenMonitor: Scaling Distributed Monitoring at Discord | Code BEAM SF 19
My New Croissant Machine Is 3D-PRINTED !
Andrea Leopardi:
https://github.com/whatyouhide/after8
https://github.com/appcues/mojito
https://mizage.com/shush/
Eric Meadows-Jönsson:
https://inkdrop.app/
https://pragprog.com/book/wmecto/programming-ecto
Special Guests: Andrea Leopardi and Eric Meadows-Jönsson.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/2/2019 • 1 hour, 1 minute, 50 seconds
EMx 057: The Elixir Community with Adolfo Neto
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Josh Adams
Michael Ries
Eric Oestrich
Joined by Special Guest: Adolfo Neto
Summary
Adolfo Neto shares the background behind his Elixir Brazil 2019 talk. The panel discusses other talks of Elixir Brazil 2019, the organizing of the conference, and the diversity initiative. Adolfo shares his experience in the U.S., attending meetups for other programming languages, comparing them to Elixir. The panel considers the Elixir code formatter and gives protips for using it. The best way to teach Elixir and functional programming is considered; the panel shares experiences and resources for learning functional programming.
Links
A Comunidade de Elixir, Adolfo Neto, Elixir Brasil 2019
https://medium.com/@adolfont/elixir-brazil-2019-4de3fc06b18f
https://twitter.com/clojure_conj?lang=en
https://collaboration.csc.ncsu.edu/laurie/
https://www.tripinfo.com/maps/NC-ResearchTriangle.htm
https://www.meetup.com/elixircwb/
https://twitter.com/elixir_brasil
https://2019.elixirbrasil.com/
https://www.eventials.com/locaweb/events/elixir-brasil/
Introducing HDD: Hughes Driven Development - José Valim - Elixir Conf EU 2018
https://github.com/phoenixframework/firenest
https://github.com/phoenixframework/phoenix_pubsub
https://ieeexplore.ieee.org/document/8116569
https://en.wikipedia.org/wiki/ML_%28programming_language%29
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
https://elixirschool.com/en/
https://github.com/nashfp/nashfp.github.com/wiki/erlang-school
https://twitter.com/thompson_si
https://github.com/erlware/erlang-camp
https://www.pluralsight.com/courses/meet-elixir
https://codestool.coding-gnome.com/courses/elixir-for-programmers
https://github.com/lodash/lodash
https://github.com/immutable-js/immutable-js
https://hex.pm/packages/sorted_set_nif
https://hex.pm/packages/rustler
https://twitter.com/TheErlef/status/1136705985442189312
https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir
https://twitter.com/adolfont
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Mark Ericksen:
Wintergatan - Marble Machine
Josh Adams:
https://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory/
Michael Ries:
Using Rust to Scale Elixir for 11 Million Concurrent Users
Eric Oestrich:
Meetup Organizers
Adolfo Neto:
Aquarius
Kiss of the Spider Woman
City of God
Learn Functional Programming with Elixir: New Foundations for a New World (The Pragmatic Programmers) (English Edition)
Special Guest: Adolfo Neto.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/25/2019 • 1 hour, 4 seconds
EMx 056: Sobelow and Security with Griffin Byatt
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guest: Griffin Byatt
Summary
Griffin Byatt shares his background and what he is doing now as a security consultant for NCC Group. The panel discusses his security library, Sobelow, and their experiences using it. Griffin explains how it works, how it came into being and the goal of Sobelow. The panel wonders who contributes to Sobelow and Griffin invites anyone to contribute. Vulnerabilities that are commonly seen across all frameworks and those specific to Elixir are discussed. Elixir’s security features are considered and Griffin shares his experiences working to improve the ecosystem. Griffin gives advice and recommends resources to developers.
Links
Substitute Teacher - Key & Peele
https://www.nccgroup.trust/us/
https://brakemanscanner.org/
https://github.com/nccgroup/sobelow
https://github.com/nccgroup/sobelow/blob/master/lib/sobelow/traversal/file_module.ex
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing
ElixirConf 2017 - Plugging the Security Holes in Your Phoenix Application - Griffin Byatt
https://github.com/ueberauth/guardian
https://oauth.net/
https://github.com/riverrun/phauxth
https://github.com/riverrun/comeonin
https://www.owasp.org/
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws
https://griffinbyatt.com/
https://twitter.com/griffinbyatt
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Mark Ericksen:
https://stedolan.github.io/jq
https://github.com/elixir-lang/elixir/releases
Josh Adams:
https://librem.one/
https://puri.sm/products/librem-5/
Griffin Byatt:
https://www.freehaven.net/anonbib/
https://www.nccgroup.trust/us/our-research/assessing-unikernel-security/?research=Whitepapers
Special Guest: Griffin Byatt.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/18/2019 • 46 minutes, 57 seconds
EMx 055: Params Modules for Phoenix with Kuba Subczynski
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Michael Ries
Joined by Special Guest: Kuba Subczynski
Summary
Kuba Subczynski starts by introducing params modules and the story behind the pattern. The panel discusses their heuristics for deciding when to bring on a dependency and when to build something yourself. Kuba defines an embedded schema and walks through the login controller use case for the params modules. The panel discusses the highlights from the article and the benefits of using params modules. Kuba warns that this pattern isn’t for everything and discusses with the panel when to use params modules. Kuba discusses his team and what it was like adopting Phoenix and Elixir.
Links
https://www.sandimetz.com/
https://kubasub.proseful.com/params-modules-for-phoenix
https://github.com/vic/params
https://github.com/vic
https://medium.com/@alves.lcs/phoenix-strong-params-9db4bd9f56d8
https://www.sandimetz.com/
https://codeclimate.com/blog/7-ways-to-decompose-fat-activerecord-models/
https://www.thescore.com/
https://twitter.com/kubasub
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Mark Ericksen:
http://blog.erlang.org/OTP-22-Highlights/
Michael Ries:
https://ferd.ca/it-s-about-the-guarantees.html
Kuba Subcynski:
https://proseful.com/
Special Guest: Kuba Subczynski.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/11/2019 • 56 minutes, 53 seconds
EMx 054: Phoenix LiveView with Leandro Pereira
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Michael Ries
Josh Adams
Mark Ericksen
Joined by Special Guest: Leandro Pereira
Summary
Leandro Pereira starts by sharing what the Elixir community is like in Brazil. He explains what applications Phoenix LiveView works well for and those that it does not. The panel discusses why people are so excited for LiveView. JavaScript in LiveView is discussed, including where it is, what it does and Javascript fatigue in the community. Leandro shares where people can find demo projects. The panel discusses drab and why it didn’t catch on. The benefits of LiveView are discussed including, pain problems it will solve, avoiding the duplication of code, and the magic that happens in web end development. The panel shares projects they are working on or thinking of.
Links
https://lnasystems.com.br/
https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4
Swapping React for Phoenix LiveView
https://elixirforum.com/t/phoenix-liveview-is-now-live/20889/73
https://elixirforum.com/tags/liveview
https://elixirforum.com/t/liveview-demos-examples-and-sample-apps-thread/21073
https://hexdocs.pm/drab/Drab.Live.html
https://elixirforum.com/t/drab-and-liveview-community-oddities/16483
https://github.com/JakeBecker/vscode-elixir-ls/pulls
https://github.com/patrick-steele-idem/morphdom
https://twitter.com/lucianparvu/status/1109087821581742080
https://twitter.com/_zorbash/status/1112859727845904385
https://github.com/leandrocp
https://twitter.com/leandrocesquini
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Michael Ries:
https://dudewheresmydesk.live/
https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp
Josh Adams:
https://github.com/antoyo/relm
Home Warranties
Mark Ericksen:
Chris McCord Keynote: Phoenix LiveView - Interactive, Real TIme Apps - No need to write Javascript
https://elixirforum.com/
Leandro Pereira:
https://pragprog.com/book/jgotp/designing-elixir-systems-with-otp
Special Guest: Leandro Pereira.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/4/2019 • 1 hour, 1 minute, 59 seconds
EMx 053: Building beautiful systems with Phoenix Contexts and DDD with Andrew Hao
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guest: Andrew Hao
Summary
Andrew Hao joins the panel to discuss a recent talk he gave; he shares his background and his origin story with domain driven design. Andrew introduces an exercise that helped him called “Context Mapping”. The panel discusses how to context map and the benefits of doing this exercise with your team. Andrew explains what to model as methods and functions in context style mapping. Andrew explains aggregate roots. The panel discusses using these design tools in GraphQL and Phoenix Live View. Andrew warns against overusing these tools, leading to a discussion about how much is too much.
Links
ElixirDaze 2018 - Building beautiful systems with Phoenix contexts... by Andrew Hao
Domain-Driven Design: Tackling Complexity in the Heart of Software Domain-Driven Design: Tackling Complexity in the Heart of Software
https://www.g9labs.com
https://twitter.com/andrewhao
https://github.com/andrewhao
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
http://blog.plataformatec.com.br/2019/04/whats-new-in-elixir-apr-19/
Josh Adams:
https://github.com/telegramdesktop/tdesktop
Andrew Hao:
Domain-Driven Design Distilled
https://www.amazon.com/Manga-Guide-Linear-Algebra/dp/1593274130
Special Guest: Andrew Hao.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/28/2019 • 50 minutes, 20 seconds
EMx 052: Production Pitfall Pontification
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Michael Ries
Josh Adams
Summary
Michael Ries and Josh Adams share mistakes they have made and common pitfalls developers fall into during production. They start by discussing Heroku and Josh explains what pushed him away from Heroku. They discuss alternatives to Heroku and give tips on finding that “deployment sweet spot”. Moving on to configuration, they discuss the most common configuration error and their favorite configuration tools. Michael and Josh share the ways they use clustering. Using their own experiences they explain how they fell into these pitfalls warning new elixir developers, giving advice and sharing career hacks.
Links
https://nanobox.io/
https://gigalixir.com/
https://hex.pm/packages/conform
https://github.com/bitwalker/toml-elixir
https://github.com/keathley/vapor
https://github.com/coryodaniel/bonny
https://hex.pm/packages/libcluster
http://blog.plataformatec.com.br/2019/04/whats-new-in-elixir-apr-19/
https://jenkins.io/projects/jenkins-x/
https://hex.pm/packages/lbm_kv
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Michael Ries:
http://www.erlang-in-anger.com/
https://hex.pm/packages/recon
Manipulating the YouTube Algorithm
Josh Adam:
https://noagendaplayer.com/
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/21/2019 • 52 minutes, 47 seconds
EMx 051: Nerves and Farmbot with Connor Rigby
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Michael Ries
Charles Max Wood
Joined by Special Guest: Connor Rigby
Summary
Connor Rigby, a core member of the Nerves team, answers the panel's questions about Farmbot and his experience working with Nerves. The panel discusses the great things about nerves. Connor shares his favorite tools for productions and testing practices. The panel discusses NervesKeys and NervesHub. Connor tells the panel what it was like working with NASA. Known for experimenting with Nerves, Connor talks about some of his projects.
Links
https://farm.bot/
https://github.com/nerves-project
http://wiki.ros.org/sig/Embedded
https://elixirforum.com/t/sqlite-ecto2-new-maintainer/15611
https://github.com/elixir-sqlite/sqlite_ecto2
https://www.rosepoint.com/
https://github.com/RosePointNav
ElixirConf 2015 - Embedded Elixir in Action by Garth Hitchens
Mocks and explicit contracts
https://www.nerves-hub.org/
https://www.media.mit.edu/projects/personal-food-computer/overview/
https://smartrent.com/
https://github.com/boydm/scenic
https://opencv.org/
https://www.verypossible.com/
https://github.com/ConnorRigby/elixir-opencv
https://github.com/elixir-circuits/circuits_gpio
https://github.com/elixir-circuits/
https://www.grisp.org/
https://beagleboard.org/black
https://codesync.global/media/clixir-mixing-c-and-elixir-code/
https://twitter.com/pressy4pie
https://github.com/ConnorRigby
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Mark Ericksen:
https://twitter.com/FrancescoC/status/1119596234166218754
Charles Max Wood:
https://twitter.com/NervesMeetup
https://podwrench.com/
Michael Ries:
Cees de Groot - Clixir - mixing C and Elixir code | Code BEAM SF 19
Connor Rigby:
https://www.gbstudio.dev/
Special Guest: Connor Rigby.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/14/2019 • 1 hour, 1 minute, 49 seconds
EMx 050: Elixir Origin Story with José Valim
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Michael Ries
Charles Max Wood
Josh Adams
Joined by Special Guest: José Valim
Summary
José Valim, the creator of Elixir, shares his story with the panel starting with why he built Elixir. The panel wonders why José did not just use Erlang. José discusses what he wanted from Elixir and what problems he wanted to solve. The panel discusses concurrency, Metaprogramming, ad hoc polymorphism, and run times. José talks about what it was like as elixir grew in popularity and maintaining Elixir.
José shares his goals for Elixir for 2019 and discusses his role in different projects. The panel shares their love for the friendliness and openness of the Elixir community and asks José how it became that way. The history of the signature heart emojis is shared. José shares a little about his everyday life and the things he enjoys to do. The episode ends with an update on the Erlang Ecosystems Foundation.
Links
https://erlef.org/
https://pbs.twimg.com/media/Dwz1DqVWkAAT4tr.jpg
https://en.wikipedia.org/wiki/Ad_hoc_polymorphism
https://github.com/dynamo/dynamo
https://github.com/grych/drab
https://github.com/elixir-ecto/ecto
https://phoenixframework.org/
https://github.com/beam-telemetry/telemetry
https://hex.pm/packages/broadway
https://hexdocs.pm/broadway/0.2.0/Broadway.html
https://hexdocs.pm/gen_stage/0.14.1/GenStage.html
https://hexdocs.pm/flow/0.14.3/Flow.html
https://github.com/phoenixframework/phoenix_pubsub/pull/121#issuecomment-466673652
https://github.com/nashby/jose-vs-oss
http://pages.plataformatec.com.br/elixir-development-subscription
https://twitter.com/josevalim
https://github.com/josevalim
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen:
https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted
Josh Adams:
RubyHack 2019 - Ruby3: What's Missing? by Yukihiro (Matz) Matsumoto
The Giant Chicken Brahma
Charles Max Wood:
https://www.theblaze.com/news/scientists-create-first-3d-printed-heart
https://podwrench.com
https://podcastmovement.com/
Michael Ries:
Functional Web Development with Elixir, OTP, and Phoenix
"Triste" ALBA ARMENGOU SANT ANDREU JAZZ BAND (JOAN CHAMORRO DIRECCIÓN)
José Valim:
Chris McCord Keynote: Phoenix LiveView - Interactive, Real TIme Apps - No need to write Javascript
Nintendo Switch
Special Guest: José Valim.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/7/2019 • 1 hour, 21 minutes, 10 seconds
EMx 049: Standard Library Treasures
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Josh Adams
Michael Ries
Summary
Josh Adams and Michael Ries discuss some of their favorites found in standard libraries and other tools. Michael starts by defining Ets, Dets, and Mnesia. They share the best ways to use these tools and when to use them. They also share uses cases and stories from times they have used these tools. Josh shares his work with UI’s and Michael discusses his work with nerves. They end by discussing the right time for new developers to learn how to use the tools discussed.
Links
https://showoff.riesd.com/
https://hex.pm/packages/lbm_kv
https://gist.github.com/mmmries/54c2110bb93af61ebfa1aff36acec9ca
https://twitter.com/elixir_mix
https://twitter.com/elixir_mix
Picks
Michael Ries
https://blog.usejournal.com/elixir-scenic-snake-game-b8616b1d7ee0
Josh Adams
https://tylerscript.dev/ecto-filtering-tutorial/
https://www.youtube.com/watch?v=OR2Gc6_Le2U
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/30/2019 • 45 minutes, 55 seconds
EMx 048: Introducing Newest Panelist: Michael Ries
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Mark Ericksen
Joined by Special Guest: Michael Ries
Summary
Mark Ericksen interviews the newest member of the Elixir Mix panel, Michael Ries. Michael shares a bit of his background and how he got into Elixir. While sharing what he loves about Elixir, Michael gives advice to developers new to Elixir. Mark asks Michael about all his experimental projects. Michael discusses his play with TCP subscriptions, monitoring, nerves, and robotics. Michael talks about Hackaway, a cabin retreat for developers, how he runs it and how it all got started.
Links
https://github.com/mmmries/gnat
https://github.com/mmmries/roombex
https://pragprog.com/book/elixir16/programming-elixir-1-6
https://nats.io/
https://www.youtube.com/user/birdnandnerd
https://gist.github.com/mmmries/08fe44fdd47a6f8838936f41170f270a
https://hexdocs.pm/elixir/Process.html#monitor/1
https://github.com/elixir-ecto/postgrex
https://hexdocs.pm/elixir/Supervisor.html#module-strategies
https://twitter.com/NervesMeetup
https://github.com/mmmries/roombex
https://www.irobot.com/about-irobot/stem/create-2
https://github.com/chrismccord/phoenix_live_view_example
https://github.com/mmmries/gnat/pull/79
https://twitter.com/mmmries
https://twitter.com/brainlid
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen
https://github.com/phoenixframework/phoenix_live_view
https://github.com/elixir-lang/ex_doc
Michael Ries
https://hex.pm/packages/telemetry
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/23/2019 • 1 hour, 10 minutes, 23 seconds
EMx 047: Property Based Testing with PropEr and Fred Hebert
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Mark Ericksen
Joined by Special Guest: Fred Hebert
Summary
Fred Hebert shares his experience writing “Learn You Some Erlang for Great Good!: A Beginner's Guide” and “Stuff Goes Bad: Erlang in Anger”. He talks about why he wrote these books and explains the whimsical illustrations in “Learn you some Erlang”. Mark Ericksen asks Fred about his latest book “Property-Based Testing with PropEr, Erlang, and Elixir: Find Bugs Before Your Users Do”. Fred gives an overview of property-based testing, explaining what it is, why it is important and sharing tips for getting started in property-based testing. Mark and Fred discuss PropEr and Fred’s inclusion of Elixir in this book. The ecosystems of Erlang and Elixir are explored and Fred shares what he would like to see from the Elixir community as an Erlang developer. They end the episode by discussing Fred’s time at Heroku and Fred’s current interests.
Links
https://learnyousomeerlang.com/
https://github.com/ferd/recon
https://www.erlang-in-anger.com/
https://propertesting.com/
https://github.com/proper-testing/proper
https://propertesting.com/toc.html
https://erlef.org/
https://www.youtube.com/watch?v=OR2Gc6_Le2U
https://twitter.com/mononcqc
https://twitter.com/elixir_mix
https://www.facebook.com/Elixir-Mix
Picks
Fred Hebert
https://www.hillelwayne.com/post/metamorphic-testing/
Mark Ericksen
https://en.wikipedia.org/wiki/Dave_Brailsford
Special Guest: Fred Hebert.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/16/2019 • 58 minutes, 26 seconds
EMx 046: Don't Repeat Your Domain Knowledge with Yiming Chen—
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guest: Yiming Chen
Summary
Yiming Chen and the panel discusses his recent blog post about not repeating domain knowledge. Yiming Chen describes what he means by domain knowledge and how this differs from the well known “do not repeat yourself” rule. The panel discusses how this changes the code and this leads to a conversation about good testing practices. Live view is discussed and the panel asks Yiming Chen what he is looking forward to in elixir. Yiming Chen talks about what the elixir community is like in China and his experience switching from ruby to elixir.
Links
https://dsdshcym.github.io/blog/2018/10/26/dont-repeat-your-domain-knowledge/
https://en.wikipedia.org/wiki/Domain-driven_design
https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
https://pragprog.com/book/tpp/the-pragmatic-programmer
https://github.com/schrockwell/bodyguard
https://thoughtbot.com/blog
http://bikeshed.fm/186
https://github.com/plataformatec/mox
https://www.youtube.com/watch?v=5SbWapbXhKo
http://dsdshcym.github.io/
https://twitter.com/dsdshcym
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen
https://twitter.com/chris_mccord
https://www.youtube.com/watch?v=l3VgbSgo71E
Josh Adams
https://elixirforum.com/t/code-beam-sf-2019-talks/20984
https://2018.elm-conf.us/schedule/matthew-griffith/
Yiming Chen
https://contexts.co/
https://thoughtbot.com/blog/books-free
https://learning.oreilly.com/library/view/accelerate/9781457191435/
Special Guest: Yiming Chen.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/9/2019 • 53 minutes, 42 seconds
EMx 045: Where the Wild Things Are with Johnny Winn
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Charles Max Wood
Mark Ericksen
Josh Adams
Joined by Special Guests: Johnny Winn and Michael Ries
Summary
Johnny Winn share his story with the panel starting with how elixir fountain got started. The panel compares elixir to other languages and share what they appreciate about it. After Johnny talks about what he is working on and his love for experimenting with elixir, the panel reveals some of the dumb, fun experiments that they have done in the past. Johnny shares how he burned himself out and the panel picks Johnny’s brain on signs that a someone might be burning out. This leads the panel into a deeper discussion of Johnny’s story and how he overcame that hard time in his life. Johnny shares a lot of tips and advice about how to stay positive and live a happy productive life. The panel ends with a throw back to the elixir fountain by doing a “five behind the code” with Johnny.
Links
Exercises for Programmers: 57 Challenges to Develop Your Coding Skills by Brian P. Hogan
https://github.com/nurugger07/inflex
https://vimeo.com/108441214
https://github.com/nurugger07/calliope
https://erlangcentral.org/videos/viva-la-evolucion-replicating-life-with-otp-by-johnny-winn/
https://www.youtube.com/watch?v=wh68a1UKY5w
https://elixirforum.com/
https://twitter.com/elixirfountain
https://twitter.com/johnny_rugger
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Charles Max Wood
https://www.vrbo.com
https://www.hotwire.com/
Las Vegas, NV
Josh Adams
https://news.ycombinator.com/item?id=19414775
http://www.liquidity-lang.org/
Michael Ries
https://elixir-circuits.github.io/
https://embedded-elixir.com/
https://twitter.com/NervesMeetup
Johnny Winn
https://preloaded.com/work/science-museum-rugged-rovers/
Science Museum of London
https://www.cruiseamerica.com/
Special Guests: Johnny Winn and Michael Ries.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
4/2/2019 • 1 hour, 25 minutes, 28 seconds
EMx 044: Dangers of GenServers in Elixir with Mika Kalathil
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH – Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Charles Max Wood
Josh Adams
Mark Ericksen
Joined by Special Guest: Mika Kalathil
Summary
Mika Kalathil introduces genservers and how they are misused. The panel plays with an analogy that explains how people think genservers work versus how genservers actually work. Mika Kalathil shares some ways to avoid the common mistakes with genservers. Tasks are introduced and explained by Mika Kalathil; the panel adds their input on the usefulness and the importance of tasks. Mika Kalathil shares his background and his transition to elixir from javascript. The panel asks Mika Kalathil questions about the libraries he uses, the types of projects that he works on and what improvements he would like to see in elixir. The episode ends with a discussion about the wonderful elixir community.
Links
https://lure.is/blog/elixir/dangers-of-genserv
https://lure.is/blog/elixir/dangers-of-genservers
https://elixir-slackin.herokuapp.com/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen
https://www.youtube.com/watch?v=Cpv1fxCV3sI&feature=youtu.be
https://brainlid.org/elixir/2019/03/06/pattern-match-format-text.html
Josh Adams
https://twitter.com/TaylorPearsonMe
Charles Max Wood
https://podfestexpo.com/
https://podcastmovement.com/
Find a positive place
charlesmaxwood.com
Mika Kalathil
exercism.io
https://github.com/discordapp
Special Guest: Mika Kalathil.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/26/2019 • 42 minutes, 54 seconds
EMx 043: Using GenServers and Tasks Together to Create Fault-Tolerant Apps with Jack Marchant
Sponsors
Sentry use the code “devchat” for 2 months free on Sentry small plan
Triplebyte offers a $1000 signing bonus
.TECH - Go.tech/Elixir and use the coupon code “ELIXIR.TECH” and get a 1 year .TECH Domain at $9.99 and 5 Year Domain at $49.99. Hurry!
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guest: Jack Marchant
Summary
Mark Ericksen and Josh Adams ask Jack Marchant, a software engineer from Australia, about a few of his blog articles. Jack Marchant compares supervision trees to react component trees using his background in both the frontend and the backend. The panel exchanges views on what these observations might look like and how they can help elixir developers. Mark Ericksen turns the discussion to Jack Marchant's articles on genservers, and the lessons he learned in working with genservers. Jack Marchant explains that there are so many different uses for a genserver. The panel considers when it is useful to use a genserver and when it is better not to. Jack Marchant shares a way to better manage work using a task and genservers for asynchronous work.
The panel reviews a few things that they appreciate about elixir and how productive it makes developers. Jack Marchant shares his experience working in an elixir based company, in hiring, training, and productivity. The panel discusses the experience of switching to elixir and asks Jack Marchant about his experience coming from PHP. Jack Marchant shares and discusses with the panel some highlights from the lonestar elixir conference and updates the panel on phoenix live view.
Links
https://reactjs.org/
http://absinthe-graphql.org/
https://reactjs.org/docs/error-boundaries.html
https://www.jackmarchant.com/articles/you-might-not-need-a-genserver
https://www.jackmarchant.com/articles/using-a-genserver-to-handle-asynchronous-concurrent-tasks
https://www.jackmarchant.com/articles/lonestar-elixir-conf-2019-highlights
https://medium.com/@Bettio/atomvm-how-to-run-elixir-code-on-a-3-microcontroller
https://twitter.com/jackmarchant10
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Josh Adams
https://github.com/spencertipping/writing-self-modifying-perl
Mark Ericksen
Deep Work by Cal Newport
Jack Marchant
https://www.jackmarchant.com
Special Guest: Jack Marchant.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/19/2019 • 54 minutes, 1 second
EMx 042: Updates on ExVenture with Eric Oestrich
Sponsors
Sentry use the code “devchat” for $100 credit
Triplebyte
CacheFly
Panel
Josh Adams
Mark Ericksen
Guest: Eric Oestrich
Episode Summary
In this episode of Elixir Mix, Mark Ericksen and Josh Adams chat with guest, Eric Oestrich, a developer at SmartLogic and creator of ExVenture and Grapevine, two open source Elixir applications centered around text based games.
Eric gives updates on ExVenture and Grapevine. Mark and Josh both have referenced ExVenture before, for using different ideas. They mention Prometheus and Grafana, two monitoring platforms that work well with Elixir applications. Eric also describes how Grapevine and ExVenture interact to help gamers get profiled with their achievements.
Eric shares his experiences getting ExVenture set up with a continuous integration (CI) server. Panelists agree having side projects help developers try out new technology without deadline pressure.
Eric does live development every Monday at 12:00 pm EST on smartlogictv. Eric and Mark both share their experiences with live coding. Josh mentions an article he liked on live coding: “Lessons from my first year of live coding on Twitch” by Suz Hinton.
Eric talks about what he has been working on outside of ExVenture and Grapevine. They briefly compare ease of shelling out in Python, Elixir and Ruby. SmartLogic now has a podcast called “Smart Software with SmartLogic” and Mark was a guest on one of the episodes “Elixir in Production”.
Links
http://erlang.org/doc/man/sys.html#get_state-1
http://oestrich.org/
http://blog.oestrich.org/
https://twitter.com/ericoestrich
https://www.smartlogic.com/
https://exventure.org/
https://grapevine.haus/
https://blog.oestrich.org/2019/01/exventure-updates
https://prometheus.io/
https://grafana.com/
https://travis-ci.org/
https://semaphoreci.com/
https://jenkins.io/
https://twitter.com/alicegoldfuss/status/1098604563664420865
https://circleci.com/
https://about.gitlab.com/
https://github.com/Trevoke/dwarlixir
https://www.twitch.tv/smartlogictv
Lessons from my first year of live coding on Twitch by Suz Hinton
https://obsproject.com/
https://github.com/alco/porcelain
http://bert-rpc.org/
https://github.com/mojombo/bertrpc
https://podcast.smartlogic.io/
https://github.com/oestrich/ex_venture/
https://www.clustertruck.com/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Josh Adams:
https://github.com/beerriot/goma
Mark Ericksen:
http://blog.plataformatec.com.br/2019/02/announcing-broadway/
Eric Oestrich:
http://www.restfest.org/
Special Guest: Eric Oestrich.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/12/2019 • 42 minutes, 13 seconds
EMx 041: What Really Makes Erlang and Elixir Fault Tolerant and Scalable with Francesco Cesarini
Sponsors
Sentry use the code “devchat” for $100 credit
Triplebyte
CacheFly
Panel
Josh Adams
Mark Ericksen
Charles Max Wood
Guest: Francesco Cesarini
Episode Summary
In this episode of Elixir, Charles Wood, Josh Adams and Mark Ericksen chat with guest, Francesco Cesarini, Founder and Technical Director at Erlang Solutions about how to build reliable and scalable systems within the Elixir and Erlang world.
Erlang Solutions provides consultancy to customers who are not familiar with Elixir and offers training when necessary. With their WOMBATOAM tool that can handle very large-scale systems like WhatsApp with its fault tolerant capability.
Francesco talks about how he likes Elixir which is an up and coming language that focuses on UI/UX usability and compares Erlang and Elixir languages. Francesco mentions he is impressed with the emphasis Elixir community places on user-friendliness.
The guest discusses pros and cons of handling shared memory and concurrency. Supervisors and OTP help handle errors by creating escalation strategies.
Going beyond the software, Francesco then shares some of his favorite real life experiences of power outages and switch failures he faced while building fault tolerant systems.
Links
https://www.erlang-solutions.com/
https://www.erlang-solutions.com/products/wombatoam.html
https://github.com/erlang/otp
https://github.com/francescoc
https://twitter.com/FrancescoC
Picks
Josh Adams:
https://en.wikipedia.org/wiki/Cybernetics
The Origins of Opera and the Future of Programming by Jessica Kerr
Mark Ericksen:
Mark’s Blog: https://brainlid.org/elixir/2018/01/17/people-are-processes.html
Charles Max Wood:
https://www.vrbo.com/
Canon EOS M6
Francesco Cesarini:
Property Based Testing by Fred Herbert
https://news.ycombinator.com/item?id=19105908
Special Guest: Francesco Cesarini.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
3/5/2019 • 1 hour, 8 minutes, 20 seconds
EMx 040: Elixir Outlaws and Adopting Elixir with Chris Keathley
Sponsors
Sentry use the code “devchat” for $100 credit
Triplebyte
CacheFly
Panel
Josh Adams
Mark Ericksen
Charles Max Wood
Joined by special guest: Chris Keathley
Episode Summary
In this episode of Elixir Mix, Chris Keathley introduces himself briefly and starts with talking about his work at Bleacher Report - a company specializing in sports culture - with respect to handling web traffic during major sports events and the implications of moving from Rails to Elixir as a backend system. He briefly touches on scaling issues, performance and the services they are running on their website.
He then describes his Elixir journey until now and certain new areas he is working with, such as property based testing and distributed systems. He talks about maintaining the Wallaby library which is developed by him, mentions existing and upcoming exciting things in Elixir, and explains a few features of the Distillery and Vapor libraries. He also gives advice to people that are starting to work with Elixir on what must be learnt and more, and discusses certain projects and topics he wants to pursue and build knowledge in, in the near future.
Links
Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App
Lance Halvorsen
Bleacher Report
Wallaby
Distillery
Vapor
Elixir Outlaws
Lonestar ElixirConf – Chris Keathley
ElixirConf EU
Benefits of Elixir: How Elixir helped Bleacher Report handle 8x more traffic
Picks
Josh Adams:
Axe - tool
GraphQL – Zero to Awesome
Mark Ericksen:
Bash command “cd -” to go back to the last working directory
Charles Max Wood:
Zapier
Canon EOS M6 Camera
Rode Microphone
Chris Keathley:
Moka Express Coffee Maker
Picross S2
Stamping on Event-Stream
Special Guest: Chris Keathley.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/27/2019 • 1 hour, 10 minutes, 25 seconds
EMx 039: Types in Erlang / Elixir with Zachary Kessin
Sponsors
Sentry use the code "devchat" for $100 credit
Episode Summary
In this episode, the panelists, Josh Adams, Mark Erickson and guest Zachary Kessin, author of the book "Building Web Applications with Erlang", discuss types in Erlang and Elixir. Expert inputs with examples of implemented projects that use the Erlang and Elixir data types, were discussed.
Here are the highlights of the discussion:
Different data types in Erlang and Elixir such as structs, tuples.
Differences in the Erlang/Elixir data types to other languages.
Using data types to generate error messages
Decoding and validating input data into functions.
Getting type information from a running application.
Coding patterns and rules engine in Erlang/Elixir.
Dialyzer testing tool that validates code and catches any bugs.
Changes in Erlang and Elixir code over the years
Elixir ecosystem and the Beam Community
Links
Dialyzer
PropEr
Sheriff
Dialyxir
Typed_Struct
Beam_Types
GB_Trees
Programming Languages on the BEAM
A reactive game stack: Using Erlang, Lua and Voltdb
Robert Virding
Zachary Kessin
BEAM Channel - Erlang & Elixir
https://github.com/ejpcmac/typed_struct
Picks
Josh Adams
Elixir Components: A 12 minute introduction
aws-lambda-elixir-runtime
Mark Ericksen
BalenaEtcher
Zach Kessin
Elixir Release Ecourse
Shalva Band
Special Guest: Zachary Kessin.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/19/2019 • 47 minutes, 54 seconds
EMx 038: Slax and SAX Parsers with Ben Schmeckpeper
Sponsors
Sentry use the code "devchat" for $100 credit
Panel
Charles Max Wood
Josh Adams
Mark Ericksen
Joined by special guest Ben Schmeckpeper
Episode Summary
Charles would expressed how in this episode they had a good time learning about “SAX parsers and about some of the issues with migrating and sharing space between systems.” They discussed the benefits of using SAX (Simple API for XML). One of these benefits is that of being event based. Elixir and Ruby are also discussed, with a greater focus on Elixir. One benefits of using Elixir is that of pattern matching. Lots is also shared on “containers” and the pros and cons of these.
Links
Ben Schmeckpeper Twitter
Ben Schmeckpeper blog
https://photos.app.goo.gl/17v3dnxGoYsgkTvn6
https://photos.app.goo.gl/zH17oda67NKPr1rL9
xmerl XML parser
Erlsom - Erlang library to parse XML documents
BERT - Binary ERlang Term
BERT and BERT-RPC 1.0 Specification
Saxy - an XML SAX parser and encoder in Elixir
Genstage
Slax
SAX - Wikipedia
Picks
Josh:
Who gives an F*** about rails in 2019
Mark:
Mental model for understanding Elixir GenServers
Charles:
Episode 400 of Ruby Rogues
Villinous Disney Game
Ben:
The Soul of a New Machine
Reflections on Trusting Trust
The Rise of Worse is Better
Flameshot
Special Guest: Ben Schmeckpeper.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/12/2019 • 47 minutes, 22 seconds
EMx 037: The Elixir Language Service with Mitchell Hanberg
Sponsors
Sentry use the code "devchat" for $100 credit
TripleByte offers $1000 signing bonus
Cachefly
Panel:
Mark Ericksen
Josh Adams
Special Guest: Mitchell Hanberg
Notes:
This episode welcomes guest Mitchell Hanberg, software developer for SEP in Carmel, IN. Currently, he is working with Rails at his job and writes Elixir at home. Mitchell wrote a blog post about how to use Elixir LS with Vim. He is working on integrating ALE and Elixir LS for Vim. The panelists discuss some problems they are having with Elixir LS crashing. The panelists conclude by discussing their favorite features of the Elixir/ALE integration and their favorite features of VIM.
Terms:
Erlang
VS CODE Github
Vim
ALE (asynchronos linting engine)
Visual Studio Code
Vim LSP
NeoVim
OniVim
intelliJ
ASDF
Emacs
Picks:
Mark
https://rg3.github.io/youtube-dl/
Josh
https://urbit.org/primer/
https://xi-editor.io/xi-editor/
Mitchell Hanberg
http://calnewport.com/books/deep-work/
https://www.amazon.com/All-new-Kindle-Paperwhite-Waterproof-Storage/
Special Guest: Mitchell Hanberg.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
2/5/2019 • 38 minutes, 3 seconds
EMx 036: Gremlex and Graph Databases with Kevin Moore & Barak Karavani
Sponsors
Sentry use the code "devchat" for $100 credit
TripleByte
Panel
Mark Ericksen
Josh Adams
Joined by Special Guests: Kevin Moore and Barak Karavani
Summary
Kevin Moore and Barak Karavani start by introducing Gremlex; they also define graph databases and explain what graph databases are used for. The panel asks Kevin and Barak about their work with chatbots and why they chose to use a graph database for this project. Amazon Neptune is introduced, Kevin and Barak explain why they chose to use Neptune and its role in them using Gremlin.
The panel discusses open sourcing. Kevin and Barak share what it was like to open source Gremlex and the benefits they have seen in their company because of it. They discuss licensing and give advice for developers who would like to convince their company to open source. The features of Gremlex are discussed and Kevin and Barak share sources for getting started with Gremlex, including recommendations for running Gremlex and test support recommendations. The episode ends as Kevin and Barak explain why they chose elixir and how they teach elixir.
Links
Gremlex Home Page
Gremlex Github Repo
Gremlex Medium Post
https://aws.amazon.com/neptune/
https://gremlex.carlabs.ai/
https://www.carlabs.ai/
https://neo4j.com/
https://dgraph.io/
https://orientdb.com/
https://medium.com/carlabs/introducing-gremlex-6f685adf73bd
http://tinkerpop.apache.org/
https://pragprog.com/book/elixir/programming-elixir
http://plataformatec.com.br/
https://www.manning.com/books/the-little-elixir-and-otp-guidebook
https://github.com/rrrene/credo
http://erlang.org/doc/man/dialyzer.html
https://github.com/nccgroup/sobelow
https://github.com/hmemcpy/milewski-ctfp-pdf
https://github.com/kevmojay
https://github.com/barakyo
https://twitter.com/kevmojay
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen
https://www.makemkv.com/
Josh Adams
https://github.com/infinitered/torch
https://blog.ispirata.com/get-started-with-elm-0-19-and-phoenix-1-4-291beebb350b
Kevin Moore
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
Nudge: Improving Decisions About Health, Wealth, and Happiness
Barak Karavani
http://haskellbook.com/
Special Guests: Barak Karavani and Kevin Moore.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/30/2019 • 52 minutes, 22 seconds
EMx 035: Adopting Elixir with Tiago Duarte
Sponsors
Sentry use the code "devchat" for $100 credit
TripleByte
Special Guest: Tiago Duarte.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/24/2019 • 59 minutes, 8 seconds
EMx 034: My First Nerves Project with Anders Smedegaard Pedersen
Sponsors
Sentry use the code "devchat" for 2 months free on Sentry small plan
TripleByte offers a $1000 signing bonus
CacheFly
Panel
Mark Ericksen
Josh Adams
Joined by Special Guest: Anders Smedegaard Pedersen
Summary
Anders Smedegaard Pedersen shares how he got into Elixir and his experience joining the elixir community. He shares with the panel his initial frustration with the community and his confusion on the “correct” way to do things. He tells the panel of his experience at elixir conf meeting Claudio Ortolina, the advice he got, and how this led him to his first nerves project. Mark Ericksen and Josh Adams give advice to new elixir developers. The three of them compare umbrella structure and poncho structure.
Links
http://erlang.org/doc/apps/jinterface/jinterface_users_guide.html
https://elixirforum.com/t/do-you-really-need-a-database/4567/15
https://smedegaard.io/my-first-nerves-project-pt-2/
ElixirConf 2018- My first Nerves Project Bioreactor - David Schainker
https://farm.bot/
https://hexdocs.pm/nerves/user-interfaces.html
https://embedded-elixir.com/post/2017-05-19-poncho-projects/
https://smedegaard.io/anders-smedegaard-pedersen/
https://www.facebook.com/Elixir-Mix
https://twitter.com/elixir_mix
Picks
Mark Ericksen
Set a larger goal (like 30-day goal) and do something every day to move you toward that goal. Even if only 10 minutes. Keep your momentum.
Josh Adams
https://levelup.gitconnected.com/a-recap-of-frontend-development-in-2018-715724c9441d
https://elm-lang.org/
Anders Smedegaard Pedersen
Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (and World Peace)
Property-Based Testing with PropEr, Erlang, and Elixir
Special Guest: Anders Smedegaard Pedersen.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
1/15/2019 • 58 minutes, 11 seconds
EMx 033: Databases and Elixir with Kamil Lelonek
Panel:
Mark Ericksen
Charles Max Wood
Special Guest: Kamil Lelonek
In this episode of Elixir Mix, the panel talks with Kamil Lelonek who is a full-stack developer and programmer. Chuck, Mark, and Kamil talk about Elixir, Postgrex, databases, and so much more! Check it out!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:48 – Chuck: Hello! Our panel today is Mark and myself. Friendly reminder to listeners: check out my show the DevRev. Our guest today is Kamil Lelonek!
1:23 – Guest.
1:43 – Chuck: Today, we are talking about databases.
1:55 – Guest.
3:10 – Mark: We have your blog that you wrote in our show notes. Talk about your experience with exploring these features?
3:39 – Chuck.
3:46 – Mark: I didn’t know those features are in Postgrex. Can you talk about your experience and your journey?
4:10 – Guest.
6:17 – Mark: I am curious, what problem were you trying to solve?
6:31 – Guest.
8:12 – Mark: I like you saying: rather than modifying the application code itself, you created a separate application. I think Elixir is a good fit for that – what’s your experience with this?
8:40 – Guest: I agree with this, but let’s think about it in the other way.
9:48 – Mark: Yeah I can see that. It’s good to be aware of the upsides and downsides. It’s an interesting idea.
10:40 – Guest.
11:38 – Chuck: My experience is mostly in Rails. The other way I have solved this problem is “pulling” but this way is more elegant. Before we have talked with Chris McCord about LiveVue. Is there a way to hook this handler up to LiveVue to stream the changes all the way up to the frontend of web application with Phoenix?
12:20 – Guest.
12:55 – Mark talks about Elixir and GenServer.
13:29 – Guest.
13:49 – Mark: Please go and read Kamil’s blog post because it’s simple and it’s written well!
Mark: I think Elixir is a great usage for GenServers.
14:28 – Guest.
14:35 – Chuck: You setup a store procedure, which I don’t see a lot of people doing within the communities. How necessary is that store procedure that you’ve created there?
15:00 – Guest.
16:16 – Chuck: What if you want to do targeted notifications?
16:28 – Guest.
17:33 – Mark: I am curious if you have experimented with the practical limitations of this? Like at one point does it start to break down?
18:00 – Guest.
20:00 – Chuck: I will be honest I am kind of lazy. Outside of the general use I don’t go looking for these, but when I hear about them I say: wow!
20:09 – Guest.
20:57 – Chuck.
21:15 – Guest talks about solutions that he’s found.
22:08 – FreshBooks!
23:17 – Mark: What other kind of databases have you had experience with for comparison reasons?
23:40 – Guest.
24:56 – Mark: You talked about defaults and I want to come back to this topic.
25:08 – Mark asks Chuck a question.
25:12 – Chuck: I don’t know.
25:23 – Mark talks about the databases that his work utilizes.
26:45 – Mark and Chuck go back-and-forth.
27:49 – Guest mentions a solution to the before-mentioned problem that Mark gave.
28:47 – Mark: It can get messy. I don’t repose this as a permanent solution, but it allows you do a staged-migration.
29:15 – Chuck: Do you run into problems with Postgrex? Most technologies if you don’t run into problems you aren’t pushing it enough (at least that’s my experience).
29:29 – Guest answers the question.
30:26 – Mark talks about active, active, active.
31:14 – Guest.
33:25 – Mark: In Elixir, we talk about the things that are in the box and one thing that comes up is “mnesia.” Can you talk about this please?
33:47 – Guest talks about mnesia.
35:17 – Mark talks about mnesia some more.
Mark: It is an available option (mnesia), but I don’t know if it’s something that people want when they are looking for something more traditional.
37:04 – Guest.
37:30 – Mark: Yeah something people should be aware of. If you are encountering problems it’s good to know the different tools that are out there and available.
38:42 – Mark: One question: What are some of your favorite features of Postgrex?
38:57 – Guest.
41:08 – Mark talks about Postgrex’s features.
42:14 – Guest.
43:10 – Mark: I had a case where Elixir and Erlang and you can convert term to binary and binary to term. I took some data structure and converted it to a binary and using Ecto and tell it: serialize this and when it loads back out it is a native Elixir type. It’s not always the right solution, but in my cases it actually worked.
43:59 – Guest talks about a library that he wrote back-in-the-day.
44:40 – Chuck: Anything else? Nope? Okay – Picks!
44:52 – Ad: Lootcrate.com
END – CacheFly!
Links:
Ruby
Elixir
Elixir: GenServer
GenServers
Elm
JavaScript
Visual Studio Code
React
“How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?" By Kamil Lelonek
Guest’s Medium Blog
Postgrex.Notifications
Redis.io
Event Store
PostgreSQL
MongoDB
Erlang: mnesia
GitHub: cachex
GitHub: meh / amnesia
PostGIS
When to use Ecto, when to use Mnesia
PostgreSQL
Ecto.Type
GitHub: Exnumerator
YouTube: Entreprogrammers
Kamil’s Twitter
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
CacheFly
Picks:
Mark
Being professionally proactive!
Chuck
Get A Coder Job eBook
Challenge: Pomodoro Technique
Kamil
Book: Thinking, Fast and Slow by Daniel Kahneman
My Blog
My Site
Special Guest: Kamil Lelonek.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/25/2018 • 51 minutes, 4 seconds
EMx 032: Using Ecto with Edgar Pino
Panel:
Mark Ericksen
Josh Adams
Special Guest: Edgar Pino
In this episode of Elixir Mix, the panel talks with Edgar Pino who talks with the panel about the latest version of Ecto! They discuss Ecto’s new features and how easy of a transition it was to go from the previous to the newest version. Edgar Pino is a software engineer who currently resides in Utah! Check out today’s episode!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
1:04 – Mark: Hello! Please give us your background?
1:16 – Guest: I have been in Elixir for the past year or two and I have been living in Utah.
1:48 – Mark: I love the nature and state parks. Winter is coming, so I hope you are ready!
1:58 – Guest: Winter...hopefully it will be great!
2:20 – Panelists and guest go back-and-forth.
2:30 – Mark: Let’s talk about your blog posts about Ecto. What are your new announcements?
2:52 – Guest: Our new version was released a few weeks ago.
3:32 – Panel.
3:38 – The guest talks about the old and new versions of Ecto.
4:03 – Panel: What is new and how is this going to affect me (the new version)?
4:11 – Panel: The transition was pretty painless for me. The only change was the breaking-up of the adapter ad also the timestamp bit. That was it.
4:34 – Panel: Yeah that micro-timestamp surprised me for a second, but it wasn’t that bad after all.
4:52 – Guest: Yeah it was painless for me, too.
5:19 – Panel: Edgar can you talk about the change and what they did with the timestamps?
5:32 – The guest answers the question.
5:54 – Panel: Elm opted to use the micro-millisecond, too. Time zones aren’t a thing.
6:24 – Mark.
7:08 – Panel: My tests are the only reason why I care about the millisecond.
7:21 – Mark: With the upgrade don’t do what I did.
Mark talks about how he updated and the issues he had.
8:47 – Guest: Pattern matching?
8:53 – Mark: Yep that sort of stuff. I didn’t need to do it and it was a learning experience. Edgar, please give us an introduction to the blog posts? Why did you want to document it?
9:18 – Guest: I always used Ecto with Phoenix but started learning Ecto by itself. I jotted down notes that I thought was interesting. That’s how it started.
10:17 – Mark: See links in the show notes. Using a gen to use the repo – this is one thing that I didn’t know was an option.
10:46 – Guest.
11:01 – Mark asks a question.
11:10 – Guest: Not really PHP applications but listening to web messages and hot topics but you are doing the database and serving data...
11:40 – Guest talks about Ecto and the different versions and features.
12:09 – Mark chimes-in.
12:23 – Panel: Yep – it’s under the hood and it’s for business logic and doesn’t have a web piece. Stop writing tings for the web – it’s a fad.
12:50 – Mark: It’s an umbrella and saw this through the Phoenix generators.
13:54 – Guest talks about web applications.
14:06 – Mark: Let’s talk about schema and databases?
14:23 – Panelist chimes-in.
14:51 – Panelists and guest talk about schemas, apps, and more. Check it out here.
16:13 – Guest: You will get the data and pass it in as a structure and...
16:23 – Mark: Here is a map of what I’d like you to do on my behalf. It goes to a chain set and I will turn it into a string and this is why it’s failed.
17:25 – Panel.
17:31 – Mark: It’s not hard and it’s pretty easy. Let’s talk about blog posts.
18:10 – Panel.
18:22 – Mark: I use Absinthe in the library in Elixir to support GraphQL.
18:50 – Panel.
19:06 – Guest: The total number of results and only once did I need a more complicated thing.
19:34 – Mark: I haven’t had a need for those.
20:01 – Panelists and guests talk about the hypothetical situations where and how they would use certain features for said situations.
20:23 – Guest: You don’t have to understand right out-of-the-box.
20:40 – Panel: Have you used stored functions as meta-columns in an Ecto schema?
20:48 – Panelist explains.
21:24 – Guest: I have used them in the past and now I don’t. For me it was hard to debug – maybe it’s just me.
21:43 – Panel: I was introduced to them through a colleague of mine.
21:53 – Mark chimes-in and talks about him being a DOT NET developer.
22:18 – Panelist chime-in, too!
22:50 – Mark.
23:16 – Panel: It was an awful time and not a good idea. 70 pages! Debugging it was hard.
23:35 – Mark: That experience was apart of that burn that I had before. I wanted to stay far away from it as far as I could.
24:00 – Panel: When I was doing it in DOT NET we didn’t have migrations.
24:12 – Panelist continues.
24:32 – Guest: I wonder if...
24:37 – Panel: It’s just a sequel – it’s not just an Ecto specific feature.
24:48 – Guest.
24:53 – FreshBooks!
26:01 – Mark: Edgar you were interested also in HOW Ecto was built. What experience did you have?
26:21 – Guest answers the question.
28:22 – Panel: No you typed REPO there.
28:30 – Guest: Whenever you save or make an update it’s a method. Unlike Ecto you have to all it something else.
28:47 – Panel: Hey let me get those article posted and someone did it in Loop and that is a lot of queries.
29:03 – Guest: Yeah that’s a good point.
29:45 – Mark: Something I’ve noticed is that they talk about performance improvements and better memory usage. Go read about it- it’s great. They talk about HOW Ecto is working and what is behind the scenes.
31:15 – Mark: Another feature that I have seen is UPSERTS.
31:50 – Guest talks about UPSERTS, too.
32:34 – Mark: Say I have a system that has 3 servers and it’s rolling updates (it will take down one and put up the new code, etc. and it will cycle) one thing they added was a lock on the migration table. I don’t know if you’ve had this – once it hits production data it is slow.
Mark continues.
33:20 – Panel: I think it was just luck of the draw.
33:30 – Mark continues.
33:57 – The guest talks about his experience with the above-mentioned scenario.
34:20 – Mark: I like that you both have had goo experiences with your upgrades. I want people to be excited and know that there are great features out there.
34:49 – Guest: Yes, I have found that the blog post is helpful. It’s good to get adapted to the new changes.
35:17 – Panel: Yeah I normally don’t have teasers up to the actual upgrade.
35:28 – Panel: The community is nice and people made a good effort to communicate and help people. They did a GOOD job of helping people to feel comfortable within the transition from one version to the next!
41:37 – Ad: Lootcrate.com
END – CacheFly!
Links:
Ruby
Elixir
Elixir: GenServer
GenServers
Elm
JavaScript
Visual Studio Code
React
Edgar Pino
A sneak peek at Ecto 3
Ecto
Active Record Pattern
Repository
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
CacheFly
Picks:
Mark
Plex
Josh
This Erlang Life
Guest
Ecto Documentation!
Edgar Pino – My blog!
Special Guest: Edgar Pino.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/18/2018 • 46 minutes, 22 seconds
EMx 031: Lessons from a Decade of Erlang with Brujo Benavides
Panel:
Charles Max Wood
Mark Ericksen
Special Guest: Brujo Benavides
In this episode of Elixir Mix, the panel talks with Brujo Benavides (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through GitHub, Twitter, and About Me. Check it out!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about Erlang in the past.
1:47 – Mark: Can you give us your introduction, please?
1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me Erlang. After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO.
6:16 – Chuck: You have been doing Erlang for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you?
6:40 – Guest answers Chuck’s question.
9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir?
9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever.
9:59 – Chuck: What has changed in the last 10 years?
10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already.
11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like?
13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on.
15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang?
15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about Amber is that...
17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it.
18:17 – Guest: Everybody understands everybody’s code.
18:48 – Guest mentions Elvis. See links below.
19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like...
19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened...
20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that.
21:19 – Chuck: Will these 2 technologies grow together?
21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems.
22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned?
23:23 – Guest: The most important is how we start building stuff over common abstractions.
26:07 – FreshBooks!
27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that.
27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no.
29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all?
29:53 – Guest: I am not sure.
32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that!
33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest!
33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given.
34:38 – Chuck.
34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year.
37:47 – Chuck and guest go back-and-forth.
37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!!
39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely?
39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house.
40:18 – Mark: What can people do or see or read about the winners? And after-the-fact?
40:32 – Guest: Yes when judges are judging we make the depositories public!!
42:05 – Chuck: My Sunday’s are usually pretty full.
42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun!
42:43 – Mark: Yes that shows how passionate they are about the community and the language.
42:56 – Chuck: Mind-blown!
43:10 – Chuck: You organize some conferences right?
43:17 – Guest: Yes.
44:25 – Chuck: Anything else?
44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it?
45:10 – Guest answers the question.
51:53 – Chuck: How can people find you?
52:00 – Guest: GitHub! Twitter! About Me! (See links below.)
52:19 – Chuck: Picks!
52:20 – Ad: Lootcrate.com
END – CacheFly!
Links:
Ruby
Elixir
Elixir: GenServer
GenServers
Elm
JavaScript
Visual Studio Code
React
Erlang Solutions
Inaka
Inaka
Credo_Server
Erlang Solutions
Elvis
114 RR Elixir Show
048 RR Show
10 Lessons from Decade with Erlang
YouTube Video in Spanish
Erlang: Common_Test
ExUnit
Smalltalk
SpawnFest 2018
SpawnFest
Zoom
Brujo’s Twitter
Brujo’s Website
Credo
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
CacheFly
Picks:
Mark
Zoom Meeting
Charles
Mastodon
Brujo
Katana Test
Special Guest: Brujo Benavides.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/11/2018 • 57 minutes, 8 seconds
EMx 030: Writing Great Unit Tests with Devon Estes
Panel:
Josh Adams
Charles Max Wood
Mark Ericksen
Special Guest: Devon Estes
In this episode of Elixir Mix, the panel talks with Devon Estes who is a software developer who uses Elixir. He currently resides in Berlin, Germany and has been working there for the past four years. The panelists and the guest talk about Elixir, testing, and much more! Check it out!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:49 – Chuck: I am starting a new show called The DevRev. Check it out here! Our special guest today is Devon Estes. Episode 18 is a past episode you’ve been on – check it out here!
1:26 – Devon: I am American but live in Berlin, Germany for about 4 years now. I was a freelancer, but now I am at a “real” job now where I am a software developer using Elixir.
1:50 – Chuck: Cool!
2:05 – Guest: Something to always talk about testing – it’s evergreen!
2:15 – Chuck: What are the benefits you get from testing and what is your approach?
2:24 – The guest answers the question.
3:53 – Panelist chimes in.
4:18 – Panel: I like playing around and I know when something is terrible. I have to poke around to figure out if I like it or not. I am an exploratory developer. I write a test and it looks great at first but the implementation is terrible or something.
5:54 – Mark comments on developers and how they interact with their code.
7:15 – Mark: How do you approach that? I heard you talking about tests, spikes and other things.
7:22 – Guest: If it is something that is small I will write the test first. If it’s larger I will usually do 2-3 spikes to figure out what is going on.
The guest continues with this topic.
8:54 – Panel: I found that over the years I couldn’t do that.
9:21 – Guest: With the topic of testing in Elixir I have these “rules” but I break them all the time. Sometimes you get better, cleaner tests out of it if you were to break the rule(s.). Tests are only there for 90% of the time, in my own opinion. Sometimes you have to play around to see what’s going on.
10:36 – Panel: I agree a lot, especially with integrations.
10:49 – Guest.
12:18 – Panel: You have these guidelines or rules and you know when to break those rules. You talked about these specific rules and I thought it was interesting. I was reading through these and I have the same rules but you codified them with examples. Can you walk us through your guidelines?
13:00 – Guest: To be super clear I am talking about unit tests. When I think of testing there is this testing pyramid.
13:52 – Panel.
14:57 – Guest: Like I said, these rules are meant to be broken, if appropriate.
16:39 – Guest continues with unit testing and other types of testing. He talks about easier to more difficult kinds of tests.
17:42 – Guest (continues): Sometimes the tests are accurately true, and sometimes not. It can be easy to get into those traps. Hopefully they will tell you what is expected.
18:25 – Panel: In Ruby, there is a test that would modify your code and remove stuff? Was it Mutant? Mutant testing.
19:03 – Guest answers the question.
19:38 – Guest: I don’t know if Elixir has anything like that, yet, but it would be pretty cool. It would be a good idea for someone to take on!
20:00 – Chuck: I have had conversations with a colleague – they both pushed back and talked more about Cypress.io and integrated tests.
21:04 – Chuck: I think it’s interesting to see the different approaches!
21:14 – Guest: We are lucky to have great tooling in Elixir!!
The guest mentions Wallaby.js!
24:39 – The guest talks about unit levels. Check it out here!
26:35 – Panel.
26:48 – Chuck: How does it affect my workflow? I like end-to-end tests. The efficiency, if it’s repeating stuff – I don’t care – as long as it’s fast enough. If it ruins my workflow then it’s a problem.
27:22 – Panel.
28:12 – The topic “test coverage” is mentioned by Chuck.
28:25 – Panel.
29:02 – FreshBooks!
30:10 – Guest talks about Wallaby.js.
32:24 – Panel: We’ve had you on before, and the idea is that you are all into Elixir and its path. (EMx 018 – Episode with Devon Estes)
32:57 – Guest: I think testing in Elixir is simpler.
34:04 – Panel.
34:07 – Guest: You have commands and you have queries.
The guest gives a hypothetical example! The guest also mentions GenServers, too.
35:42 – Guest: There are two ways that you can interact with the process: command & queries.
37:00 – Guest talks about different libraries such as: MoX.
37:41 – Panel: Any tips on testing the servers; just any GenServer?
38:25 – Panelist shares his approach with this.
39:54 – Guest: I don’t test name servers b/c they are by definition global state.
The guest goes into great detail about testing – check it out!
46:29 – Panel.
47:01 – Guest: I kind of hate the term dependency interjection in the functional context.
47:17 – Panel: I think it’s helpful, because...
47:28 – Guest.
47:49 – Panelists go back-and-forth!
48:20 – Panel: Sending a message to the testing process – this was something that was stated by Devon earlier. I find this really helpful.
49:00 – Chuck: Picks!
49:05 – Ad: Lootcrate.com
END – CacheFly!
Links:
Ruby
Elixir
GenServers
Elm
JavaScript
Visual Studio Code
React
Wallaby
Cypress.io
Mutation Testing – GitHub
MoX
MRS 003 – Episode with Devon Estes
RR 295 – Episode with Devon Estes
RR 330 – Episode with Devon Estes
EMx 018 – Episode with Devon Estes
Devon’s GitHub
Devon’s Twitter
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
CacheFly
Picks:
Mark
Get Alias
Blog - Mox
Josh
GitPitch.com
Slide Deck by Josh
Charles
Values
Extreme Ownership
Sit down with your team
Discord server for DevChat
Recommendation Page for Elixir
Devon
Dell Laptop XPS 13
Play Station Mini
Test - devonestes@gmail.com
Special Guest: Devon Estes.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
12/4/2018 • 42 minutes, 43 seconds
EMx 029: JWT Auth in Phoenix with Joken with Sophie DeBenedetto
Panel:
Mark Ericksen
Nathan (Nate) Hopkins
Charles Max Wood
Special Guest: Sophie DeBenedetto
In this episode of Elixir Mix, the panel talks with Sophie DeBenedetto who is a teacher at the Flatiron School, a software engineer, and creator of Break In. The panelists and Sophie talk about her blog, the Flatiron School, and her background. Check it out!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:50 – Chuck: Welcome! Our panel is Mark, Nate, and myself. Our special guest, today, is Sophie! Please introduce yourself!
1:32 – Guest: Hi! I am Sophie and I am an engineer who works at the Flatiron School. We are growing and fast and offer a lot of different courses. We are an international school working with Elixir and Phoenix.
2:10 – Chuck: You gave us multiple topics: Joken and Elixir Packages. Give us please some background there.
2:33 – Guest: I will talk about the problems we were trying to resolve with Joken.
The Guest goes into detail about this topic. Sophie mentions Rails, Joken, Guardian, Phoenix, and Erlang-Jose.
4:41 – Guest: We found this nice little library that we needed and that was Joken. Initially, we were trying to hit the nail with a racket and all we needed was a hammer.
6:48 – Guest: I am telling the whole Internet our problem we had, and how we resolved it. That’s why I am here today, because you all found my blog.
9:04 – Panel: There is a lot there! Some terms that you mentioned: JWT is referred to as a JOT – for those listeners who don’t know.
Panelist asks question.
9:43 – Guest answers the question.
10:52 – Panel: When I used Joken before I did use it with the HMAC algorithm. You are on the fringe of what is mainstream and you can come across those rough spots. You are doing this service of saying yes I found this problem and I will try to help you with this problem.
11:25 – Guest: It’s an interesting feeling to say we solved this problem and then realizing we were wrong about it. I’m glad that happened because it’s real. As a teacher I saw students being reluctant to blog b/c they didn’t want to be wrong, but that’s how you grow!
12:22 – Chuck: We talked about the JWT and the dots.
How is this different than Ruby gems and other things?
12:44 – Guest: I think anyone would have thoughts on this. There’s not a lot of resources, and look into the Ruby community. From the Flatiron School our focus has been Ruby, and we ask our students to contribute. We want to find an answer to any problem we are facing through Ruby and Rails. More or less you will find a solution from somebody through the Internet. Elixir is definitely different from this because it’s a newer framework.
14:26 – Panelist asks about the curriculum through the Flatiron School.
14:48 – Guest answers the question.
16:08 – Panel: We have had Kate Travers from Flatiron Schools on our podcast before. What has your path been?
16:30 – Guest: We graduated at the same time and I went to the educational-side, which I did for a year to about a year and a half. I thought I needed to get my hands dirty, though, to be a better teacher. I went to this company...and I recently rejoined the Flatiron School’s faculty.
17:40 – Panel: That’s great. I was with a company for 3 years, left for 2 years, and then I came back. It’s a testament to not burning bridges. There is value to leaving and going to get new and different experiences. You grow in the process, and that’s what happened for me. I like your path and thanks for sharing your story!
18:50 – Fresh Books!
20:00 – Chuck: Do you have any policies on how students (at Flatiron School) need to contribute?
20:06 – Guest: Not so much HOW but we encourage it.
The guest goes into detail and mentions Elixir School (see links below).
21:33 – Panel: That is a good suggestion if a newbie wants to contribute and they are afraid to contribute. You can get involved and your suggestion will be reviewed.
22:10 – Guest: Yes! There is a team member, Matt, and he contributed to the code base. He was new to the Elixir community, and showed his thought-process.
Contributing to open source is great because it helps the community, and opens a pathway for great feedback and conversation.
23:30 – Panel: I think that’s a healthy way to look at pole requests. I have worked with folks that don’t view it that way, though. They hold their code a little close to their chest and that’s it. I like the dialogue.
24:00 – Chuck: This stuff isn’t staying still b/c the Elixir community is constantly growing. I cannot recommend highly enough to learn something new. It can be just 20-30 minutes a day. If you aren’t doing that then you will fall behind.
24:57 – Panel: Question for Sophie. How did you get involved with Elixir School?
25:18 – Guest: I am definitely not an expert. It’s a group of people who thought that Elixir should be more accessible. I like it because it’s beginner-friendly. Find something to contribute to b/c there are tons of different levels to find what’s good for you.
27:09 – Panel: Has it be re-skinned/re-themed?
27:15 – Guest: Yeah, I think so. Along with the theme-related they have been putting high priority into different languages.
27:38 – Panelist comments about natural languages and translations.
27:52 – Chuck: Was this a project through the school or something else?
28:06 – Guest: It’s not through the school.
28:36 – Chuck: Any other projects through the school?
28:46 – Guest: Yes, the school has a lab and it’s neat to see it grow!
29:38 – Panel: Have you tried those other technologies before (and they didn’t work) or did you just anticipate it was a problem that you couldn’t solve without the Beam.
30:02 – Guest answers.
32:33 – Panel: That makes sense. You were reaching for Erlang when you were on the Ruby Stack.
32:49 – Guest refers to tooling and Rabbit.
33:00 – Chuck: You mentioned Rabbit – what does your typical stack look like? Are you running Phoenix? Or here is a job so here is Elixir? What is your process like?
33:23 – Guest: A Ruby on Rails app it has all the ups-and-downs and it’s kind of old.
As we are growing and partnering with new companies/schools we are updating and seeing a need to grow even more.
34:49 – Panel.
34:54 – Guest: The video that Chris McCord put out!
35:03 – Chuck: Check the show notes’ links!
35:15 – Chuck: Picks!
35:23 – Ad: Lootcrate.com
END – CacheFly!
Links:
Ruby
Elixir
Elm
Atom.io
Flutter.io
JavaScript
Visual Studio Code
React
Guardian
Joken
Erlang-Jose
Flatiron School
Flatiron School's Blog
Flatiron Labs
Elixir School
Elixir School
EMx 020 Episode
Utah Elixir Meetup
Blog: How We Built the Learn IDE in Browser
Break_In
The Great Code Adventure
Rabbit
Sophie’s Website
Sophie’s Twitter
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
CacheFly
Picks:
Mark
Utah Elixir Meetup
Nate
Racquetball
Getting out and doing something
Charles
repurpose.io
Sling TV
Fox Sports
Sophie
Elixir School
Learn IDE
Blog
Special Guest: Sophie DeBenedetto.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/27/2018 • 43 minutes, 38 seconds
EMx 028: Elixir, Node, and Bitcoin with Pete Corey
Panel:
Mark Ericksen
Josh Adams
Special Guest: Pete Corey
In this episode of Elixir Mix, the panel talks with Pete Corey who is a software developer who resides in Denver, CO (USA). He uses Node, React, and Elixir and currently is working on two big projects. Listen to today’s episode to hear the panelists and Pete talk about Elixir, Node, Bitcoin, and Gen_TCP. Check it out!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:50 – Mark: Welcome! Our panel is Josh Adams and our guest is Pete Corey! Pete, can you tell people about yourself?
1:12 – Guest: I am a software developer and I run a web development consultancy company. I use Node and React, and I use Elixir in my free time, and I blog about that and various projects.
1:38 – Mark: How did you get into Elixir?
1:40 – Guest: Node has its limitations. I found myself not understanding concurrency at all. I saw Elixir and I came around to it when it was around its 1.0 era. I have been hooked ever since.
2:43 – Josh asks a question.
3:00 – Guest.
3:42 – Josh: Yeah it felt like I was putting a s
4:03 – Mark: Letting the mantra of letting it fail or let it crash. How do I recover? You are mentioning about your Node situation that you have these complex situations and how do I get back to a good running state. That’s what I like about Elixir. I’m more concerned: how do I get back to a good running state. It’s a mental shift and I really appreciate it. Instead of worrying about this half, I am focusing more on how do I use it to make it run smoothly?
5:20 – Guest: I totally agree. Learning Elixir has really flipped my mind about developing. I know failure happens – figure it how it fails and then anticipating HOW they might fail to make things easier. In terms of bigger projects...
The guest talks about the BIG project he is working on now! Listen here!
7:40 – Panel: That sounds cool! Are you building this by yourself or with other people?
7:54 – Guest: It’s a solo project and I want to keep it that way. I was into Bitcoin before and I bought Mastering Bitcoin. Started working through that – how to go through private keys and things like that.
8:40 – Panel: I think that it’s great that you are SHARING through the process. I think that’s awesome and you are showing what you are learning and the pitfalls and the gains.
9:11 – Guest: It’s been a learning process with pattern matching.
10:20 – Panel.
10:30 – Guest talks about bytes.
10:59 – Panel: One of the first things I did in Elixir was...
11:27 – Guest: ...moving bytes around and moving integers and things like that. Elixir is much nicer!
11:40 – Panel: Can you talk about Gen TCP, please?
11:55 – Guest: A goal of my project tis to dig into the underlining Erlang properties. I think it’s a shame that people don’t explore this.
The guest talks about what Gen TCP is!
13:38 – Panel: I like using Gen TCP.
13:54 – Guest: Every problem that I had boiled down to my lack of knowledge.
14:29 – Panel: What do you mean: it worked out better?
14:35 – Guest: My Gen TCP connection would pass to the...the issue is that Gen TCP is a streaming protocol. It might contain multiple packets or 1½ packets, etc. Every time I received some data I would impend it to a buffer and I would look for head eliminators. After that would be the packet length and I would split that number of bytes from the original buffer. That’s hard to explain, but...
The guest talks about a solution!!
16:21 – Panel: I think there are a few great points there. One, Erlang has a lot of rich history. What are available through Erlang already? Join the Elixir Slack Channel!
17:34 – Panel: Sounds like you are using property testing? I think that’s cool – I want to spend more time digging into this! What is it?
18:00 – Guest: It is pretty cool and new to me.
The guest talks about unit testing and then property testing.
20:20 – Panel: What kind of experience have you had?
20:40 – Fresh Books!
21:48 – Guest: The one place where I am using property testing is...
23:41 – Panel: That’s awesome. I want to get into it more.
23:50 – Guest: Once I get going it falls together pretty easily. It’s hard to come up with the properties that I want to test.
24:11 – Guest: It’s far more eye opening than unit testing. When you have to think about these fundamental properties you see in a different light.
24:33 – Panel: I am dropping in a link to your blog articles that you tagged. Is there anything else you want to say about your project?
24:55 – Guest: It’s an ongoing project. I haven’t actually implemented the meat of the project, yet. Please stay tuned!
25:25 – Panel: Is it your website: petecorey.com?
25:35 – Guest: Yes www.petecorey/blog.com and my newsletter!
25:47 – Panel.
25:55 – Guest asks a question.
26:05 – Panel.
26:12 – Panel: What else to talk about?
26:40 – Guest: There is another project to talk about and it’s about guitar chords and things like that; if you want?
26:57 – Panel: Yeah, generating music with Elixir is simple. I know you did the distance between chords thing? What else is super cool about it?
27:27 – Guest: It programmatically generates these guitar chords. The coolest piece is the algorithm all of guitar fingers for a guitar chord and fret this fret, etc. Then I can take the chord with a specific fingering and measure the distance.
28:30 – Panel: Have you seen Google Wave Net? It’s fairly recent.
28:39 – Guest: Is it related to Google Labs?
28:47 – Panel: I doubt it.
29:18 – Guest: Very cool, but I don’t have the AI chops.
29:26 – Panel.
29:29 – Guest: Yeah it works my brain a bit.
29:40 – Guest: Yeah I play too much guitar. I had enough money to buy my own guitar and amp.
29:54 – Panel: Talk about the chord charts. I was looking for the word: tablature!
END – Ad: Lootcrate.com
Links:
Ruby
Elixir
Elm
Atom.io
Flutter.io
JavaScript
Visual Studio Code
React
Bitcoin
Gen_TCP
Stream Data
Bitcoin
YECC
LEEX
Music
Rustler
ElixirWeekly
Jsonnet
Ksonnet
Pete Corey’s Blog
Pete Corey’s Twitter
Secure Meteor
Grafonnet-lib
Prometheus-operator
The Sparrow
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
Cache Fly
Picks:
Josh
JSonnet
KSonnet
Grafonnet
Prometheus Operator
Mark
HSTR
Pete
The Sarrow
Special Guest: Pete Corey.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/20/2018 • 45 minutes, 30 seconds
EMx 027: ExVenture with Eric Oestrich
Panel:
Mark Ericksen
Josh Adams
Nate Hopkins
Charles Max Wood
Special Guest: Eric Oestrich
In this episode of Elixir Mix, the panel talks with Eric Oestrich who is a web developer who resides in Indianapolis, Indiana. He and the panel talk about ExVenture, Gossip, Cowboy, Raisin, Grapevine, and much more! Listen to today’s episode to hear all about it! Finally, check out Eric’s ElixirConf talk and his blog, too!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:51 – Charles introduces the panel.
1:14 – Nate talks about his background.
1:27 – Chuck: My first programming job I worked with Nate. Nate also works now with Eric Berry. We have a special guest and that is Eric Oestrich. Tell us who you are, please!
1:55 – Eric: I work for Smart Logic, LLC. We are a consultancy who has moved to Elixir for the last 2 years.
2:14 – Chuck: Tell us what ExVenture is?
2:46 – Eric: Late 80’s to mid-90’s it’s like a MUD tech space game.
Eric goes into detail of what ExVenture is.
3:28 – Panel: Familiar with MUDS.
3:36 – Panel: Audience can’t tell that Eric isn’t an old guy. Eric – you aren’t an old gentleman – how did you get into it?!
4:02 – Eric: The concept has fascinated me. It’s pure game mechanics. In school I wrote things in Python and try to make it threaded. Never got it going. After that I wanted to do a MUD but not good enough in C and couldn’t get it working in Ruby neither. But one faithful day (a year ago) I got an echo and chat server and now we have a MUD.
5:02 – Panel: Why should you be interested? I will tell you why. ExVenture is an open source...
I encourage everyone to dig into and play with it! It is a game (so that makes it more fun) but you are dealing with game mechanics. I am also curious where you wanted this to go? What made you say: I want to create this and make it open source?
6:37 – Eric: I like it and work has mostly played for it. It’s MIT because of that. Early in the project (between client work) it was a common thread and that’s why it’s open source.
7:27 – Panel: I ran into you at the conference and you were showing me...
Talk about getting metrics out of your system, please?
8:20 – Eric answers the question.
9:09 – Panel: When people are trying to get metrics out of their system – what EVEN makes a good metric?
9:21- Eric: I am trying to figure that out myself, actually. I want to know how long it takes for someone to login? Is that someone trying to hack into my system? If you speak at a global channel or something else...
Eric goes into more detail. Eric also mentions Prometheus.
10:31 – Panel: You mentioned: What would you want to see on a dashboard?
11:01 – Eric answers the question and mentions Prometheus EX.
12:19 – Panel: As you starting building this you were pulling libraries out of it and making them separate libraries. Are you pretty proud of GOSSIP?
12:37 – Eric: Yes! Gossip is based on web sockets and it’s a cowboy socket.
Eric talks about Gossip.
13:10 – Panel: What other clients are you trying to support?
13:15 – Eric: There is a JavaScript client and Node-based game called...
There is a bundle system for that. There is also a Python option.
The one thing we haven’t done yet is a C client. That is important b/c most of the games that you could connect to are 25-30 years old.
14:26 – Panel asks a question.
14:34 – Eric: That is the C client we are waiting for.
14:43 – Panel: You talked at the conference (see the show notes) you talked about things you learned along the way. Can you talk about your process? What kind of bottlenecks and how did you resolve those issues?
15:10 – Eric answers the question.
16:44 – Panel: Did you run out of processes?
16:47 – Eric: The VM shut-off – it was just done. That was the first go-around.
19:27 – Eric: After the ElixirConf, I wanted to see how far I could push it.
Eric continues.
19:51 – Panel: I want to identify some of these principles you just talked about. First, the major block was the gen server is a single process.
20:21 – Panel.
20:24 – Panel: I think that is a common mistake when people come to Elixir in the beginning stages. How did you solve it?
20:50 – Panelist answers the above question.
21:30 – Panel: That’s one of the big things. It’s an architectural issue. Second, you mentioned really LARGE messages. You were sending around really large messages.
22:20 – Eric: For every 100 players was a gigabyte of ram – it was a lot. And that was mostly b/c every copy...when a new character enters the room then that message gets sent out then it gets copied again, and...
23:08 – Panel.
23:24 – Panel: The third one you mentioned was around data base blocking or...?
Can you talk about this one a little more, please?
23:33 – Eric answers the question.
24:02 – Panel.
24:30 – Eric: It was always saving...I tricked Echo into saving...There is a lot of things that could be better to save specifically faster.
24:52 – Panel: I think people would hit those 3 points eventually – there is a lot of value to that.
25:09 –Eric: Yes that was near the end of my ElixirConf talk and my blog.
25:23 – Panel.
25:33 – Eric: It came out in May and I figured out that I needed to learn how to cluster in Elixir. That’s what the ElixirConf was a bout from single node to multiple nodes.
Eric continues.
28:38 – Panel: When you have a cluster – and I join – when I transfer from one room to another room, I could be passed off to another server or node?
29:01 – Eric: Whatever you mean by “being passed off.” Whatever server you land on that’s the one you will be on. The magic is that...
30:08 – Advertisement: Fresh Books!
31:15 – Panel: I am going through the code base now and I am excited. It’s going to help me get better at Elixir.
31:32 – Eric: That’s the point of ExVenture.
31:48 – Panel: You host a server so people can see what it’s about – and that’s Mid Mud, right?
32:09 – Eric: Yep, the first hour of you playing. There is a town crier, you request, and then combat monsters. Also, it is plugged into Gossip and you can talk to them.
32:44 – Eric: Yep, there you go: player logged-in!
32:55 – Panel: Maybe not b/c it will turn into a new podcast soon.
33:07 – Panel: What if I want to use Gossip, what is involved there?
33:16 – Eric: Gossip.Haus/docs – Go there! Set it up and start sending and receiving events.
34:40 – Panel: When I was trying to understand the Prometheus metrics it helped. And then in downloading it (as a tip), for me, it was easy to use the DOCKER instructions.
35:32 – Eric: Yep, that was done by a community member.
35:40 – Panel: Are you looking for people to contribute?
35:50 – Eric: Yep, I have a public Trello board. There are 2 tags.
36:12 – Panel: Sounds like you have people involved?
36:22 – Eric: Bunch of people came on after the ElixirConf.
36:33 – Panel: If people download it (another tip) in the SEEDS file you will find out the admin username and password. I guess that’s something you can add. Login: ADMIN and Password: PASSWORD. What I thought was fun (playing with it) in the admin screen I got a sense that it’s generic enough that I could create a space game. Like playing with sectors of space. Does that make sense?
37:42 – Eric: I don’t want it to be tied JUST to fantasy b/c that’s what MUD is. Everything should be good for historical/ fantasy/ etc. any genre that you want to do!
38:13 – Panel: I could see a HackFest and the company could create one for their business. You could have a lot of fun with it.
38:38 – Panel.
38:44 – Panel: Hidden things on their websites.
38:50 – Eric: Search TEXT ADVENTURE in Google Search. See show notes below.
39:24 – Panel: There is a whole subculture that people are interested in and I didn’t know that these people existed. I think that is interesting.
39:45 – Eric: There are tons of games out there that are 20+ years old!
39:55 – Panel: What is your favorite old school MUD game?
40:02 – Eric lists his favorite old school games! One of them is Achaea!
40:51 – Panel: I like the status bars are really cool. If you haven’t played it you have a health bar. Also you have these expiring times and it’s very cool – modern MUD.
41:22 – Eric.
42:00 – Panel: You came from a Ruby background – what was your transition to Elixir like for you? How did you come to Elixir? What was that like for you?
42:15 – Eric: Yeah some of my friends were into Elixir from a functional standpoint about 2 years ago. They were reading about Phoenix and such. They wanted to see how it was going to go.
43:06 – Panel: Try by fire. Coming from Ruby to Elixir – what some advice would you give the same person?
43:37 – Eric: It was less of a culture shock b/c Phoenix was still kind of “Railsy.”
44:35 – Panel: When I was first learning ERLANG, and telling them that it was a standard library.
44:59 – Eric: It’s using Cowboys Ranch.
45:19 – Eric: There are a number of people out there that they want people to run to SSH b/c it’s more secure.
45:46 – Eric: I guess if we are on this topic about secure...
46:40 – Chuck.
46:51 – Panel: I think there is a lot of value, Eric, and the lessons you’ve learned and the path you’ve gone down. If you are new to Elixir going to ExVenture is a great way to start.
47:20 – Eric.
47:35 – Panel: Just run the format and we can do it that way. I encourage people to download it and see what it’s like as a user, and play with it as an admin. We have a Meetup coming up this Thursday. Eric is coming in virtually into our Meetup group.
48:29 – Eric: Gossip is open source. Grapevine and Raisin – check these out, too, b/c they are open source, too.
48:58 – Panel: Where can people contact you?
49:05 – Eric: Twitter! GitHub! Mudcoders.com.
49:39 – Picks!
49:44 – Ad: Lootcrate.com
Links:
Ruby
Elixir
Elm
Atom.io
Flutter.io
JavaScript
Visual Studio Code
React
Erlang
ExVenture
Ex_Venture
ExVenture’s Trello Board
Prometheus
Prometheus EX
Gossip
GitHub: Gossip
2018 – Conference Talk @ Elixir Conf with Eric Oestrich
Eric’s Blog
Libcluster
Raft – GitHub.io – The Raft Consensus Algorithm
pg2
MidMUD
Gossip/Haus/Docs
ExVenture: Docker Environment
Google: Text Adventure
Achaea
Cowboy
SSH
Grapevine
Raisin
ASDF Plugins
Eric’s GitHub
Eric’s Twitter
Brooklyn Nine-Nine
Elm Packages
MetaBase
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
Cache Fly
Picks:
Eric
MUD Coders
Elixir LS
Mark
ASDF Library
Josh
Brooklyn Nine-Nine
Elm UI
Nate
Mentoring and Paired Programming
Metabase
Charles
Monster Hunters International
Special Guest: Eric Oestrich.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/13/2018 • 55 minutes, 28 seconds
EMx 026: Higher Level Functions GenState Deployments with Bill Peregoy
Panel:
Mark Ericksen
Josh Adams
Charles Max Wood
Special Guest: Bill Peregoy
In this episode of Elixir Mix, the panel talks with Bill Peregoy who is a software engineer who uses Elixir and loves Graph QL. The panel talks with Bill about his Elixir background, in addition to past and current projects. Check out today’s episode to hear the panel talk about Elixir, Graph QL, code reviews, and much more!
Show Topics:
0:00 – Advertisement: Get A Coder Job!
1:07 – Chuck: Tell us who you are and why you are famous?
1:16 – Guest: Here it goes...I have a diverse background. I have a background in hardware and went into software and it got me into Ruby. From there I moved to the software world and in constant contact with a Ruby project. Then I found an Elixir book and thought it was really cool. About a year ago I started working with a consulting company that uses Elixir. They have a cool entrepreneur group. Then about 3 months ago I transferred to another project.
2:41 – Panel: The MBTA?
2:49 – Guest: You thought I was using old crust technology, but they are using new technologies.
3:06 – Panel: You have this hardware background have you looked at NERVES?
3:17 – Guest: I have an interest in it.
3:34 – Let’s talk about deploying Elixir apps. Getting into Elixir might be interesting to talk about? Let’s talk about how you got into Elixir, please.
3:55 – Guest: I had an easy slide into it.
The guest talks about how to structure code and how he learned about Elixir.
4:34 – Chuck: Where would have gotten into trouble if you didn’t have that?
4:39 – Guest: ...how do you organize code? It’s a bunch of modules with functions in them.
5:19 – Panel: You mentioned code reviews – and to me that’s how you learn something fast.
5:30 – Guest: I was lucky to have worked with a person who is really picky about code reviews. They were detailed and I learned a lot from him.
5:53 – Panel: I give code reviews, too. What makes a good code review from the receiving end?
6:12 – Guest answers the question.
Guest: Don’t write the code for me, but...here is a general direction.
6:37 – Panel: I give the person a wrong review so they have to learn it.
7:00 – Chuck: Would have it been easier if it was a smaller project?
7:10 – Guest: I think it helped that it was a larger project.
7:29 – Chuck: We have talked about deployment and other tools that you’ve used. What I am curious about – you were using AWS and ECS can you talk about that, please?
8:00 – Guest: It was a wild ride for me. We knew we’d have to get there eventually and went for it. We never had deployed an Elixir app before. I had little knowledge with AWS, so there were thousands of new things I was learning in one week. I learned a lot from this guy and he said let’s get the app running, then let’s take it to an RDS, then let’s make sure this and that work.
There is a lot going on there, but breaking it down you could figure it out when they came up.
It was a lifesaver having his work b/c it would have taken me weeks instead of a few days.
9:28 – Chuck: My wife and I watched The Martian a few days ago. The character said: you solve one problem at a time.
9:47 – Guest: Yes.
10:00 – Guest: The article, “Guide to Deploy a...”
10:20 – Guest: I understood the pieces very well.
10:30 – Panel: Setting up an umbrella project. Is that how you have yours set-up?
10:48 – Guest: Single Phoenix application for me.
11:15 – Panel: Sounds like you were learning a lot of different technologies – any big “AH HA” moments?
11:30 – Guest answers the question.
12:15 – Panel: I like how the Distillery 2.0 Guide and the docker file...
12:30 – Chuck: Walk us through your structure of your talk?
12:39 – Guest: Yes, higher order functions - that’s what I was talking about. Where in the Elixir world you want to pass around functions. I had this idea that I had one task that was very similar but you had to do it multiple times. To do that I defined one piece of code that...
It was a way to reuse a lot of code and...
13:51 – Panel: That is a pattern I enjoy using. Instead of using a mocking library I like a function that can direct it. The thing I enjoyed about it was that I could have a test data and a test interface in a production environment. I could create a customer...
15:06 – Guest.
15:44 – Guest: Gen state is pretty awesome. It’s not in Elixir Proper, yet.
16:55 – Chuck: I can see how that is helpful. You have to manage the pipeline on your own.
17:18 – Guest: You can upload a certain number of permits. That can be handled behind the scenes.
17:45 – Panel: Yeah the first state was manage the Q and then...
18:48 – Guest: That is what I am doing right now – one at a time right now. If I need more processing on this one node, I can...
19:20 – Panel: That’s when Elixir feels very powerful.
19:26 – Guest: That’s a talk I have a lot. Ruby is great, but when you dive into OPT in Elixir then it’s amazing.
19:54 – Chuck: We are starting to get there with Elixir. I don’t miss as much stuff with Ruby as I did before.
20:10 – Guest: What libraries I don’t need and I haven’t come across that just yet.
20:44 – Panel asks a question.
20:50 – Guest: I wasn’t directly involved. They are working with predictions for bust lines. And they grab data form many different sources. They are trying to combine all that data and it has been a good solution for them.
21:25 – Panel: Since you have a Ruby background and hardware – what is the Elixir system like for you?
21:41 – Guest: I haven’t come across too many problems. Elixir’s language tends to be smaller – which I like. I think people from JavaScript like having NEW things all of the time. Elixir is done and we are just adding small things here and there.
22:13 – Panel: Yeah, I agree. Elixir is a mature platform right now.
22:45 – Guest: Elixir is very mature – I agree.
23:10 – Panel: I think it being built with care is nice.
23:34 – Guest: I love diving into Elixir and source code. I know exactly what I need. In some Ruby libraries they are so heavily dependent on...
24:05 – Loot Crate!
25:13 – Chuck.
25:40 – Guest.
25:50 – Panel: Being explicit and concise at the same time I don’t feel so bad.
26:00- Chuck: ...I want to know that those are there. If it was – you have to go through all of this ceremony – that’s boilerplate that I feel doesn’t’ add a lot.
26:36 – Panel: Getting out a functional language...being able to see a module and it has every sort of path that I can run is nice.
27:00 – Guest.
27:37 – Panel: I did that a bit for my Rail code. People didn’t like that it wasn’t “normal.”
27:52 – Guest.
28:09 – Panel: Coming into this project where one of the developers likes using MACROS. It’s been a challenge b/c MACROS still let’s you create magic. We talked with Sasha and he queued me to this document and it’s the library guidelines. In the anti-patterns it says: avoid macros.
29:32 – Guest: ...but you should think twice before you dive into macros.
29:50 – Panel: I used macros once to enforce...
30:01 – Panel: What are your feelings on dialyzer – what do you think?
30:15 – Guest: I think it’s the way of the future - I love it.
30:58 – Panel: I am trying VS code and it does incremental dialyzer compilation.
31:27 – Guest: Of course the problem with dialyzer are the error messages. It can be frustrating.
31:40 – Panel.
31:43 – Guest: ...eventually I would figure it out. I went dialyzer front to back on my current project. A month into the project I wasn’t writing new specs, and then I realized I hadn’t done it in awhile, and of course I have a 500 error on the server. Turns out I was...
33:00 – Panel: Yes. I encourage people to...
33:07 – Guest: The way it captures things is that...
33:29 – Panel.
33:42 – Panel: We talked about that on the previous episode. It’s an RC right now, but it’s been helpful. There is a explained option. It will give me an example, I didn’t know how to fix it but...
34:14 – Guest: It can help you write simpler code.
34:47 – Panel.
34:52 – Guest: With an Elm background I think it helped me.
35:13 – Panel.
35:45 – Guest: My dream world would be...
35:55 – Panel: Josh, how does it do it?
36:03 – Panel: What is Elixir LS?
36:09 – Panel answers the question.
36:50 – Panel: I have used ATOM as an editor...how do you like visual studio code?
37:01 – Panel answers the question.
37:38 – Panel: I have used FLUTTER.
37:44 – Chuck: I like it.
38:20 – Chuck talks about Flutter and the advantages of it.
38:34 – Guest: What editors do you like, Bill?
38:36 – Guest answers the question.
38:54 – Panel.
39:00 – Guest says that it is something worth trying.
39:07 – Chuck: Try it you will like it – there is an ATOM plugin, too.
39:36 – Panel: I hate the name visual studio code.
39:43 – Panel.
40:02 – Panel: I know you have some feelings of Graph QL?
40:12 – Guest: It is love in every sense. One day in vacation...
41:14 – Panel: I like it, too.
42:01 – Guest: I haven’t much experience there. I played years ago with Graph QL and it looked encouraging and thought it was hard to build one of those things. To help debug as you are writing them is out of this world!
42:30 – Panel: I can look at the schema in Graph QL, here are the mutations I have available.
42:50 – Panel: The docs are right they can’t be wrong.
43:03 – Guest.
43:38 – Chuck: What are you working on now and what are you struggling with?
43:48 – Guest: None of them are super, super hard but today I am trying to learn how to send...
44:14 – Guest: There are a lot of new things for me like AWS, new technologies and a tight schedule. Trying to get new things done.
44:33 – Chuck: What do I learn next – that is a question that I hear a lot.
44:43 – Guest: Yeah, learning when I need them but the exception is Graph QL for me. Learn things as we go – nothing is too scary b/c there are proof of concepts out there.
45:32 – Chuck: People will ask this when they are trying to work on a project.
45:44 – Guest: I try to learn things on these side projects. I usually bail out before the really hard stuff.
46:00 – Chuck: Picks!
46:14 – Fresh Books!
Links:
Ruby
Elixir
Elm
Atom.io
Flutter.io
JavaScript
Visual Studio Code
React
Erlang
Guide to Deploy a...
YouTube Video – Bill Peregoy
GenStage
DockYard Article
Library Guidelines
Avoid Macros
VS CODE
Elixir LS
VS CODIUM
Graph QL
Absinthe
DIRENV
HEX DOCS
Bill’s GitHub
Sponsors:
Loot Crate
Get a Coder Job!
Fresh Books
Cache Fly
Picks:
Mark
Direnv
Josh
Flutter
Bill
Distillery Doc
Charles
Extreme Ownership
Special Guest: Bill Peregoy.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
11/6/2018 • 54 minutes, 14 seconds
EMx 025: Rethinking App Env and more with Saša Jurić
Panel:
Mark Ericksen
Josh Adams
Charles Max Wood
Special Guest: Sasa Juric
In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir.
Show Topics:
0:00 – Advertisement: Get A Coder Job!
0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please.
1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others.
1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though.
1:59 – Guest.
2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that?
2:51 – (Guest answers those questions. He discusses in detail about docker configurations.
Also, the guest talks about the various settings per the different environments.)
7:25 – Panel: That was a thorough summary.
7:29 – Guest: I can talk more.
7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production?
8:22 – (Guest answers the question.)
Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of...
If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix.
11:40 – Panel: You can do that in a single docker file?
11:47 – Guest.
11:51 – Panel: You just copy the files...
11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before.
12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials.
12:37 – Panel: People think I don’t want to use docker there is an option....
13:01 – Guest.
13:04 – Chuck: Different types of configuration?
13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and...
There is usually more than 1 configuration file.
17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not...
I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation.
18:45 – Panel: Class based configurations – I get angry.
19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement.
19:54 – Loot Crate!
20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values.
(Guest continues...)
23:36 – What is your direction that you are proposing?
23:40 – Guest: We are going to discuss other issues.
23:49 – Panel: As background, as apart of that whole configuration in those distillery docs...
24:41 – What is the next step in the discussion?
24:48 – Guest: Let’s take a step back.
(Guest talks about Distillery 2.0.)
27:09 – Guest continues...
29:50 – Panel: That makes sense and flexible.
29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with...
My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration?
30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there.
31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be?
31:32 – Panel: React to a configuration change, it’s very clear to...
31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t?
32:33 – Panel comments.
32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters.
34:41 – Chuck: You keep bringing up JSON is there a reason why?
34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it.
35:18 – Chuck: Asks a question.
35:30 – Guest: Getting a configuration...
36:35 – Panel.
36:39 – Guest: With Distillery 2.0...
36:47 – Chuck: What formats do you like if you don’t like JSON?
36:58 – Guest: I am not sure. I would like to run everything in Elixir directly.
37:47 – Panel: I have been using Kubernetes. I like that I can have comments.
38:00 – Panel.
38:10 – Panel.
38:17 – JSON is terrible but you can use it and everyone can, too.
38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils.
38:40 – Panel.
39:03 – Guest: The key is to clean up this configuration in the first place. My impression is...
39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files?
40:11 – Guest: It should be grouped by scope. Take Phoenix application...
41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded.
42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine.
42:17 – Panel.
42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not?
42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets?
42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme.
43:20 – Panel.
43:28 – Guest: Right.
43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem.
43:53 – Guest.
44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility.
45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too.
47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories?
47:54 – Guest: A lot of stories, actually!
49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there.
50:35 – Panel.
50:43 – Panel: If it is a library and passes it to a configuration - where does it put it?
50:53 – Panel: A library and not an application...
51:05 – Guest.
51:45 – Panel: Where do I put it?
52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER.
53:00 – Panel.
53:15 – Guest.
54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.)
55:38 – Chuck: Let’s do picks!
55:46 – Fresh Books!
Links:
Ruby
Elixir
JavaScript
React
Erlang
Kubernetes
JSON
Logger
Docker Config
Rethinking App Env
Distillery Documentation
Elixir in Action
Elixir in Action – Book – 2nd edition
Elixir – Library Guidelines
Elixir Forum
The 12-Factor App
Distillery’s Documentation
GitHub: Toml-Elixir
GitHub: Riak_Ensemble
GitHub: Elm – Beam
GitHub: CodeC-Beam
Library Guidelines – Elixir
Configuring Elixir Libraries
Handling Configurations
Etcher
Tweet Mashup
Sasa’s YouTube Video
Sasa’s Twitter
Sasa’s GitHub
Sasa’s Information at Elixir Conf
Sasa’s LinkedIn
Josh Adams’ Email: josh@smoothterminal.com
Sponsors:
Loot Crate
Fresh Books
Cache Fly
Get a Coder Job!
Picks:
Sasa
Run-time
Library Guidelines
Elixir in Action – Book – 2nd edition
The Erlangelist
Solid Ground
Chuck
Tweet Mashup
My JavaScript Story Channel
Shush App
Mark
Etcher.io
Josh
Elm Beam
Special Guest: Saša Jurić.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/30/2018 • 1 hour, 4 minutes, 48 seconds
EMx 024: “Sagas” with Andrew Dryga from Hammer Corporation
Panel:
Mark Ericksen
Eric Berry
Josh Adams
Nathan Hopkins
Special Guest: Andrew Dryga
In this episode of Elixir Mix, the panel talks with Andrew Dryga who is a software engineer (full-stack), entrepreneur, blockchain architect, and consultant. He currently works for Hammer and previous employers include Contractbook, Nebo #15, BEST Money Transfers among others. He studied at the National Technical University of Ukraine. Check out today’s episode where the panel and guest talk about Sagas and Sage.
Show Topics:
1:52 – Our guest today is Andrew Dryga. Why are you into Elixir?
2:04 – Andrew: I have worked in Elixir for a few years. I worked on one of the biggest opensource projects for a while now.
2:42 – Let’s talk about Sage!
2:49 – Andrew: I felt like I was doing the same thing over, and over again.
Andrew talks about how he was on a mission to solve a problem that he was having.
3:48 – Panelist: I have run into this problem before, and I am looking forward
We have distribution systems and anything that is external for us (Stripe), and one of the solutions was to create a multi. Let’s create a user, register theses different pieces, and then...
Then we realized that this request was taking too long. Our transaction is timing out. The other connection went to the other server. We had database records removed from the other side. People aren’t aware that they have these distribution problems. I think Stripe is a good example of that. I started with my multi...
5:24 – Andrew: I am trying to be very programmatic.
I don’t want to do that, so write now the project is multi. It’s doable if you know what you are doing. If you are dealing with just one it’s simple. But if you can monitor them (Sage Read Me)...
56:16 – Let’s talk about Sagas!
6:19 – Andrew talks about what Sagas are.
8:20 – You are right it is a new mental model. That’s why I love the Sage library because it is simple. It gives structure to that mental model. The idea that I will take step one and create a user, step two another entry, step three now an external entry. It can fail for any reason. Then these compensating functions are saying: what is the undo for this? It could be just delete this specific entry. But do I have that right?
9:53 – Andrew gives his comments on those comments.
10:26 – Andrew continues his ideas.
11:09 – When you start with a new team, you don’t bring Sage right off the back? What is your strategy to figure out that pain?
11:32 – Andrew: I don’t have a plan – how do I feel about THAT coder. After about 2 services and 1 call it’s time to use Sage or it will be too complex. Integration is the case. So if you try to integrate substitution then...
12:29 – Question to Andrew.
12:35 – Andrew: Figure it out by judgment and it varies by situation. I enjoy working with them but I’m not like them. I use my best judgment.
12:59 – You talked at Code Beam and talked about Sagas and Sage. I think that’s a good resource to defend you case. To talk about the sequence of events, something goes wrong, and then rollback the changes. What feedback have you received?
13:46 – Andrew: Yes, good feedback. There some people will say that there are problems, but I know there are companies that are actively using it. People say that it simplifies their projects. I think the presentation slides can definitely help.
14:39 – Yes, check out the show notes links.
14:45 – Are you a consultant or are you fulltime?
14:53 – Andrew: I used to be fulltime and do large projects for companies.
Andrew talks about those projects in detail.
Andrew: Those projects we used Elixir (see above).
I do a lot of opensource, too. Last time I check it was...
16:04 – That’s a good number.
16:08 – Andrew: I am trying to participate in conversations, but if I had more times I would work more in Sage and opensource; to have a persistent nature behind Sage. I think it can be done a much better way.
16:55 – How do you envision doing that? Configuring it to a repo or something else?
17:07 – Andrew: I want to solve the problem of...
17:56 – That’s cool.
18:03 – Andrew: Yeah, everything I find a new application built in.
18:17 – Andrew and panelist go back-and-forth.
18:32 – Andrew continues talking about Sage and models.
18:43 – Proxy channel – I think I want to do a Mud. Anyway...
18:59 – Question.
19:11 – There is a WX library that is built into Erlang which was talked about at the conference. That one looked interesting. How they built the debugger and the widgets. It looked that there was more there than I thought.
19:47 – Great to have out of the box.
19:56 – Andrew comments.
Andrew: I saw the talk from Canada and...
20:08 – It’s early to work with. Someone tweeted about it and now I’m rambling.
20:08 – Andrew: Someone made the keyboard while on the plane.
21:04 – I hope we are going that route eventually.
21:12 – Panel and Andrew go back-and-forth.
21:39 – What other applications have you found that Saga would work for?
21:50 – Stripe.
21:56 – Panelist: When I make an authorization request, capture the funds. Even when I am dealing with one of their services there are multi-interactions.
22:03 – Andrew comments.
23:32 – I have an app that I would prefer using Saga because of the...
23:44 – Loot Crate! Check out their deal!
24:37 – Andrew talks about the core team, Elixir and Sage.
26:03 – Panelist: To solve a problem with SAGA let’s talk about the pros and cons. I had an umbrella application and one of the applications was supposed to be the interface to that service. It could be like a payment service and other payment gateways. I am going to make my request to this app, and it’s going to track the app. The main thing continues and talks to the bank and/or Stripe. Depending on the problems but you still have THAT problem because maybe the account wasn’t set up properly. Now we’ve talked to the bank, medium intervention, and let’s run this. I like SAGE and SAGAS because I don’t’ have to go to that level to break out the proxies. I just need to talk with the sales force or something. I need a reliable system when it can recover when something goes wrong. It might be over engineered but I don’t know.
28:17 – Andrew comments about that particular example (see above).
29:03 – With Sagas you can loose them...
29:09 – I haven’t played with Rabbit, yet. The one that is built into AWS? There’s Simple Q and there is something else. Rabbit is built with Erlang. What’s that like for you?
29:40 – Andrew: It’s pretty painful.
Andrew mentions MPP.
30:37 – Interesting; I haven’t gotten that far, yet.
30:45 – My first Elixir application had...behind it. That was the worst part. I feel those pains.
31:00 – Andrew: That’s the case.
31:51 – The other service I was thinking of was...
31:56 – Question for Andrew.
31:59 – Andrew answers.
32:39 – That is the problem we are having at work because of older code. How can we resend them out? That probably will be a good fit for us.
33:18 – Andrew.
34:31 – Andrew: Once you’ve found the bug...
35:16 – When you are coming to a new language, it could be React or...the first few things will be pretty awful. What has this path been like for you, Nathan?
35:40 – Nathan: Yeah I am very early days. Yesterday, I had a set of code that I was creating to try just to function and it was really ugly. But I was okay with that because I was just trying to solve the issue.
36:05 – You have to be okay with that. The idea that: You are trying to just make it work. When you come to Elixir and being fresh and thinking I don’t even know what to do.
36:32 – I have a buddy with that now saying: How do I even start with this?!
36:40 – Andrew: It takes time to break your head and a different way to rethink the code.
Once I have the basic concepts then it makes me feel super efficient.
37:24 – I am curious what languages have you had experience with?
37:38 – Andrew: I started commercial projects in my teenage years. I built websites for them.
I have some JavaScript knowledge and that was good going to Elixir.
39:04 – I favor that side, too. It’s not hard to build solutions with the things that are in the box (Erlang). I don’t like to bring in all of these libraries that people are creating. It’s great but, at the same time, I have been burned by Rails and JavaScript where you bring in all of these different libraries, and it becomes really nasty. I could have solved it more natively.
39:55 – Andrew: In Elixir you can...
40:28 – Oh, that’s all I needed – those 2 lines.
40:40 – Andrew.
40:46 – That’s an interesting dynamic.
41:09 – Andrew comments talks about Elixir and Hex.
41:23 – Andrew: I think it’s a good thing. I think there needs to be work in Hex because it’s underdeveloped. To name a few...
43:08 – Part of the keynote this year that it won’t be merged, or they aren’t promising to merge it.
43:29 – Andrew.
44:08 – I haven’t used 3, yet.
44:10 – Andrew.
44:55 – They are talking about the Read Me. I didn’t know there was an Ecto Mnesia?
45:20 – Andrew: Yeah I helped build it and the plan was...
45:50 – Yeah I can see the issue there, do I maintain it or...?
46:02 – Andrew comments and talks about the community and different codes.
46:36 – Andrew, anything else that you want to talk about?
46:48 – There are tons of notes in our chat, which the listeners can’t see.
46:58 – Advertisement – Fresh Books’ Advertisement! 30-Day Trial!
Links:
Ruby
Elixir
JavaScript
React
Erlang – Disk Log
Erlang WX
Railway Oriented Programming
Nebo 15
GitHub – Scenic
Kafka
Rabbit MQ
AWS
AWS – Kinesis
GitHub – Firenest
XHTTP
GitHub – Ecto
GitHub – Ecto Mnesia
Saga and Medium
Introducing Sage
Andrew Dryga’s Website
Andrew Dryga’s Medium
Andrew Dryga’s GitHub
Andrew Dryga’s LinkedIn
Andrew Dryga’s Twitter
Andrew Dryga’s FB
Andrew’s YouTube Channel
Andrew’s Sagas of Elixir Video
Sponsors:
Loot Crate
Fresh Books
Cache Fly
Picks:
Mark
Mark of the Ninja
Josh
A Sneak Peek at Ecto 3.0: Breaking Changes
Nate
Pragmatic Studio
Eric
Looking of Elixir Developers
Metabase.com
Polymail
Andrew
Tide of History
Special Guest: Andrew Dryga.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/23/2018 • 54 minutes, 8 seconds
EMx 023: “Bubblescript – Beyond the DSL” with Arjan Scherpenisse
Panel:
Mark Ericksen
Eric Berry
Special Guest: Arjan Scherpenisse
In this episode of Elixir Mix, the panel talks with Arjan Scherpenisse who is the technical co-founder at BotSquad. Arjan lives in the Amsterdam area of the Netherlands. Also, he is currently working with Miracle Things. Check out today’s episode where the panel and Arjan talk about his article and his latest projects.
Show Topics:
0:50 – Hello!
1:23 – Is that right – got to drink Heineken in Amsterdam?
1:30 – Arjan: It’s the Bud Light version here in Amsterdam.
1:47 – Panelist: I feel pretty stupid now.
1:58 – Eric: I actually just visited Amsterdam to visit a good friend. The canals were gorgeous!
2:25 – Arjan: I actually worked 7 years in the city center and I cycled to work over the tiny bridges. Now I live outside of Amsterdam.
2:47 – Panelist: You have this article on Bubblescript, which is a creation of yours. Can you tell what it is?
3:08 – Arjan: I have been a software developer for 8 years. I have been using Elixir more in the past 2 years. So at some point an agency asked if I could build something for their museum. I thought let’s do it, because that’s a nice project! I got to work with three historical figures, which has their own stories.
4:45 – Is it spoken?
4:51 – Arjan: Just text. It was really meant for a young audience. The creators wrote stories about these figures. Get the younger generation engaged. I thought, well, how could I build something like this? I don’t want to hardcode it because I am the one maintaining it and I don’t want to be a SMS person. I thought, I wanted them to maintain it, but CMS is limited. Then I thought, I will give them a Jason file – each instruction on one line. Those file formats are for...
Then I thought why couldn’t I use Elixir...?
I just wrote something that looped out and spit-out all of these messages through messenger with a timer. Then I made it very simple through UI. Then it would tell you that line the error is. Then in the background you are checking to see if your syntax is correct or broken. Then there is a run button on the side. That’s how it started. It was a lot of work for one project. I found the idea really fascinating, and then last year I showed them this to my friend. He, too, was in Elixir and loved the idea and so we started a company.
8:47 – Panelist: That’s where BotSquad came from? One of the questions I had been: Is it done through macros?
9:01 – Arjan: Yes, but there is...
I don’t compile it to an Elixir code; I use it as a functional thing. “Hey! Give me the next message...” If that makes sense?
9:59 – Panelist: I see that you have an example through the article. If something is invalid then you can see that it’s on “line 2.” Never used string to coder – I think that’s a great application to that.
10:26 – Arjan: Yep! String to coder.
11:09 – Your path to Elixir went through Erlang first right (2009)?
11:22 – Arjan: Maybe earlier? I was working through an agency back then, and they were building a platform for projects. One of the co-founders left and he started to work (for a year) and worked on this language called Erlang. That was back in 2008/2009. He later went onto create...
He was working on that and he convinced me to use Erlang. I like Erlang because it’s a logical language.
13:06 – What was the path to Elixir? Why would you use Erlang?
13:21 – Arjan: Good question. I haven’t left Erlang totally, yet. It was due to the community. I wasn’t interested the first few years into Elixir, because all of the concepts are the same just different skin. For me, the community was completely different! I think it’s the truth. There is no Erlang Meetup in Amsterdam! For me it was the difference in the communities.
15:22 – We are glad you are here!
15:28 – Arjan: We are trying to make it Open Source. People ask me this all the time. For us we still have to find the right form for it, and it will be a lot of work to maintain it and support it.
16:10 – Panelist: Your chat app – let’s talk about that. It’s a very staple process. You don’t want to keep repeating the story for the characters. Along the lines of...
I am wondering how well they are being a solution for...
GenServers are mentioned.
17:15 – Arjan: That’s exactly how it works. You could do it differently if you wanted to. The interpreter itself is purely functional – you put a message in and you get a message out. What I wrote around that...
19:20 – Panelist: What process registry are you using for that?
19:24 – Arjan answers the question.
20:18 – Panelist comments.
20:53 – Arjan: It is a nice piece of software. And while most of the things are done now it’s making sure that everything is ready for everybody. If you use Swarm then...
21:57 – Panelist: I think it’s fun that you have this GenServer intentionally built in delays?
22:18 – Arjan: Yes, exactly.
22:46 – Yeah it has to feel real – that’s fun.
22:53 – Arjan: Yes. It can actually help with a...
23:12 – Advertisement – Loot Crate – check out the code!
24:09 – DeState Struct – I love that pattern – Plus 1 to that and let listeners know. It’s a great way to test how a...
24:48 – It’s a great way to test because you don’t have to wait for anything!
Arjan continues this conversation.
26:03 – Arjan: It’s fun to test one bot with another bot.
26:14 – Panelist: The bots don’t have to go through the messaging protocol.
26:33 – Arjan: Yep!
26:42 – Anything you want to talk about Bubblescript or BotSquad before another topic?
26:55 – Arjan: It’s not Elixir it looks like Elixir – but check it out!
Trial account at BotSquad.com!
27:17 – You are also talking with Code Elixir in London and you are doing a boot camp series. You are running an actual boot camp – I would love to hear what you are doing there!
27:42 – Arjan: the form is 2 days – it’s meant for programmers who are already well knowledgeable. We have done it 2 years in a row. I teach it with a partner who is from Amsterdam. Two years ago we got together and there were always questions on whether a boot camp was available. So we thought we needed to put something together. There are about 20 students in each boot camp.
29:34 – What are some of the challenges? Where these people are coming from pure functional stuff?
29:51 – Arjan comments.
We start teaching them at the beginning of the boot camp: recursion and better matching. Better matching, in other languages, isn’t there. Recursion can be hard to grasp. Those are the building blocks. Going from there: how can you expand...
31:39 – Panelist: I saw from your video how you showed the elevator experience?
31:56 – Arjan: I didn’t know that was HIS analogy.
32:10 – Panelist talks about the creator of Erlang.
33:01 – Arjan: Yes the elevator example is for...
Arjan continues talking about the elevator example and how students need to implement to be successful with tests and more.
34:48 – Arjan: It’s good to see how people reason with state and to see your thought process.
35:49 – Arjan: The second morning we actually give them the solution.
Second day is getting practical – how can you build something and deploy something with Elixir.
36:32 – Panelist: I think it’s great that you are introducing Elixir to more people. I would like to see more people doing that. I love teaching people and Elixir concepts and other things. I had a Ruby background. It was a head-trip to get that difference – and once you do then you feel powerful: Oh I get it! I get these beneficial properties...
All of these problems I had before don’t exist over here.
When I get to see the
37:48 – Arjan: Yes at those Meetups and those boot camps – you see those light bulb moments. Yes, that’s why I do the teaching because it’s very rewarding.
38:43 – Panelist: Anything else?
38:50 – Arjan: Yes, my company BotSquad is working on a one-day conference – check it out here!
39:46 – Picks!
39:50 – Fresh Books’ Advertisement! 30-Day Trial!
Links:
Ruby
Elixir
JavaScript
Vue
React
GenServers
Meetup
Jekyll
StaticGen
BotSquad
BotSquad: Bubblescript – Beyond the DSL
Miracle Things
Arjan through Code Sync
Arjan’s LinkedIn
Arjan’s Twitter
Arjan’s GitHub
Arjan’s Video: Bootcamp Stories
Code Beam Lite Amsterdam 2018
Sponsors:
Get a Coder Job
Loot Crate
Fresh Books
Cache Fly
Picks:
Eric
Jackal
Mark
To Be List
Arjan
Experimenting
Elixir Parser
Special Guest: Arjan Scherpenisse.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/16/2018 • 47 minutes, 41 seconds
EMx 022: “Adopting Elixir at Flatiron School and Pattern Matching” with Kate Travers
Panel:
Charles Max Wood
Mark Ericksen
Josh Adams
Special Guest: Kate Travers
In this episode of Elixir Mix, the panel talks to Kate Travers who was a student/apprentice with the Flatiron School and now is on staff as a software engineer. The panel and Kate talk about adopting Elixir at the Flatiron School and Pattern Matching. Watch Kate’s talks about the topic; links to these talks can be found below.
Show Topics:
1:08– Hi from Kate Travers.
1:16 – Chuck: Background?
2:20 – Kate gives her background.
2:30 – Chuck: We had another Flatiron alum from an extra show.
2:44 – Kate: Yeah – she’s great!
2:48 – Chuck: Flatiron mostly focused on Ruby and JavaScript. Has that changed or?
3:02 – Kate: For the students we are teaching the Rails focus on the backend and React on the frontend. Times might be changing. What else is out there for functional curriculum? Our lead engineer is super motivated introducing some Elixir. Our engineering team might be the first to go in that arena. It would be absolutely fantastic to
4:02 – Chuck: Awesome! I would like to see the boot camps take on Elixir.
4:15 – Kate: Yeah, there are many benefits of doing that.
4:57 – Chuck: You see some Reactive, some...
It is interesting to see how it comes together and
5:16 – Kate: Yeah we see this as a support – delivery of curriculum. When you start out you are writing in a functional style. You are essentially writing TLI scripts – functional manner. Now in the curriculum we are training people to think, and to get away from that script-way, and think in terms of objects.
6:11 – Panelist: I think that is interesting.
Some of the difficulty of teaching Elixir is to UNLEARN some of their past education. Start teaching people FUNCTIONAL, might help.
7:04 – Chuck: I have been starting a new project...
What is going on here? Oh yeah I have to think about it.
7:20 – Kate: Yes. We have spun up – we have one core Elixir project. We have been on that for a year. We have spun up some smaller projects. On these projects this is the first time these people have used Elixir. It is interesting to see the difficulties that they are seeing for the first time.
8:09 – Chuck: I want to talk to adoption for a bit. So as your school has made this transition, where are you seeing the (first of all) where is it easy to get buy in. How did Elixir get into Flatiron?
9:06 – Kate: It is not apart of the school’s curriculum. How we started using Elixir was because our technical lead he is super loud / elegant voice for this language. Elixir might solve some of the problems that we were facing. When we adopt new tech it’s because we have thought about it heavily. We don’t adopt new technologies “just because”. The perfect opportunity came up, so this lead into why and how Flatiron started using Elixir.
Kate goes into more detail.
15:24 – Chuck: Learn.io – check out outside of the school?
15:35 – Kate: Yep! There is even some interview prep; also, intro to Ruby, intro to JavaScript, and someday intro to Elixir?
16:06 – Chuck: As you brining people into this how do you transfer them to Ruby to Elixir? Do you throw them into the deep end?
16:26 – Kate: Sure! If someone is interested we will. It is something our team tries to prioritize.
Kate goes into more detail.
18:43 – Kate: We didn’t expect for these book clubs to keep going. We will do a little workshop as part of book club.
19:18 – Panelist: Question to Kate.
19:25 – Kate: Yes, so everyone has a NEW lead each week. Folks of ALL different experience levels. What is different about our team is that we have tons of people who LOVE to blog. If you check-it out as they are learning Elixir they are writing posts.
20:21 – Question.
20:29 – Kate answers the question.
20:49 – Chuck.
20:55 – Kate: Steven suggested a new way to cement the things you are learning.
21:28 – Chuck: Yeah – Flatiron labs. Now that I have been playing with Elixir with pattern matching. At first it’s scary stuff.
21:49 – Kate: It is a head-trip.
22:00 – Chuck: ...wait...wait...
22:10 – Kate: Multiple binding?
22:16 – Panelist: My first introduction to outer matching was seeing a...
22:39 – Kate: Great first introduction. Not the textbook example, you will get to see the real-world situation. Yeah that is a really, really good example.
23:05 – Panelist: Pattern matching for me became a superpower! It was my first real love of the language; before concurrency, and others. Pattern matching helped with a lot of the pains that I wouldn’t have to encounter. You are poking this big object to figure it out. Then it’s easier because if the shape matches, then it matches. Mental flip – and I get it! It felt like a superpower. I liked your talk, Kate, about pattern matching.
24:41 – Kate: Yeah, totally. Pattern matching.
Like learning a musical instrument like a guitar. When you start learning something like this you have these high ambitions. You are learning to be a rock star and you want to be David Bowie. But when you start you couldn’t be further away from that goal. At the beginning you are learning chords and it’s so easy to think: “I am terrible, I suck...” you quit and never keep going. To prevent this you need a hook to keep you going. You just need to learn that really sick rift. Oh yeah, NOW I can start seeing my rock star abilities; same thing for Elixir. Pattern matching was my really sick rift.
27:38 – Panelist chimes-in.
You have that excitement about the new language. But they get frustrated because they are a beginner. I do think that you nailed it there. If people can latch onto something fairly quickly, then it gives them a reason to keep coming back to learn more and more.
28:25 – Kate continues this conversation.
28:48 – Panelist.
28:54 – Advertisement – Code Badges!
29:32 – Chuck: Most important / interesting thing you’ve learned about pattern matching?
29:48 – Kate: It was the different things you can do with...
30:23 – Kate: The concept is that Elixir provides...
31:42 – Chuck: I didn’t know that you could do that!
31:56 – Kate: The benefit only comes from legibility.
32:13 – Panelist: Guard clauses and pattern matching. I think it would be a mess if I weren’t use Elixir.
32:31 – Kate: Yes, definitely.
33:10 – Panelist: Yes, my first project with Elixir...
34:47 – People should go and see your talk and it’s in the links.
35:00 – Kate: Thanks!
Kate talks about dodging bullets and code.
36:04 – Chuck: have you seen other languages using/trying to use Pattern matching?
36:10 – Kate: Yeah, there are talks about Ruby and JavaScript for introducing proper pattern matching in BOTH languages. Ruby is interesting. I don’t know how much traction we have on these, but people seem really into program matching.
36:36 – Panelist: Yeah, I think people come to Elixir and see pattern matching and they get excited.
36:55 – Kate: Yeah, I would be interested to see if the proposals go through or not. There is a conference on my WATCH LIST and I want to see more about it.
37:26 – Panelist: It started off as a prologue that’s what you need.
37:37 – Kate: If it wasn’t designed that way in the beginning it will be a problem. If it’s not apart of the system in the beginning then it could be a problem.
38:14 – Chuck: Yeah, the flipside is...
38:34 – Panelists: I don’t know.
38:44 – Panelist: One of my concerns is object oriented programming. I imagine (nightmare) pattern matching in Ruby and all match onto this object – after it’s there – it’s inside my function – runs another thread – comes back to me – that object is modified and now it’s there, and not be completely invalid. It’s not RUBY anymore.
39:36 – Panelist: Pattern matching could bring them over and bring them over the gap. I am worried that if this is more widespread then we will hit a much worse.
40:06 – Kate and Panel: Yep!
40:12 – Chuck: Anything else about pattern matching and/or adopting Elixir?
40:18 – Kate: I don’t want to rush into this too quickly, but if we are on the topic of bringing people to Elixir. It came up at this conference. Ruby Rails coming over – RR refugees. The question that they post: People are hyped about Elixir about Phoenix. What is going to be the thing that brings people over?
41:15 – Panelist answers Kate’s question.
41:29 – You can’t do live Vue in other languages. If you are really experienced...
42:08 – Chuck: You have to learn 2 technologies. You can adopt a frontend and backend technology and you can get SOME of that. I know a lot of people are invested in the frontend technology or the backend. I think that is how you are going to convert.
42:43: Panelist chimes-in.
Panelist’s friend asks: Is it an appropriate tool?
43:30 – Kate: Our team is super excited about it. Our team has mostly been working on the backend. We need to deliver on the frontend with updates. What if we had it – out of the box with Phoenix? Yeah people are over the moon.
44:06 – Chuck talks about what he is using.
What if I didn’t have to do any of that garbage?
44:23 – Panelist: It is a NICE experience when you have to do it.
44:38 – Chuck: If you need a killer feature for React or Vue – why can’t you build a frontend...
45:00 – Panelist adds in his comments/thoughts.
45:30 – Chuck: Anything else?
45:38 – Picks!
Links:
Flatiron School
Our Courses – Flatiron School
How We Built the Learn IDE in Browser – Medium
Flatiron Labs
Elixir – Flatiron Labs
Elixir – Guards
Kate Travers
Kate Travers’ “Pattern Matching in Elixir” (3/14/18)
Kate Travers’ Dev.to
Kate Travers’ Twitter
Kate Travers’ Talk on YouTube: “Pattern Matching: The Gateway to Loving Elixir – Code Elixir LDN 2018”
Kate Travers’ Code Sync
Ruby
Elixir
JavaScript
Vue
React
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Mark Ericksen
Value
Teach something to someone else. It helps you grow.
Book - Leadership and Self Deception
Josh Adams
Ethdenver
Charles
SCALE
Brunch
Kate
breakinto.tech
Kusama: Infinity
Special Guest: Kate Travers.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/9/2018 • 51 minutes, 22 seconds
EMx 021: “Dialyzer Pretty Printing” with Andrew Summers
Panel:
Charles Max Wood
Mark Eriksen
Eric Berry
Special Guest: Andrew Summers
In this episode of Elixir Mix, the panel talks to Andrew Summers who lives in Chicago, currently. Working on Elixir development, and here to talk about how he wrote the dialyzer pretty printer. He is a software engineer for Albert.io, makes cool stuff every day, loves punk music, and Philadelphia sports. The panel talks about the Dialyzer pretty printing, Elixir, code writing, and more!
Show Topics:
1:07 – Why are you famous?
1:11 – Andrew: Answers the question.
1:34 – Chuck: Nice. Is the dialyzer printer complete pretty printing or is it more than that?
1:45 – Andrew talks. He mentions the background information on this specific printer, which was written a decade ago.
4:13 – Panel: One thing that is helpful is that it is a static code analysis. In the Elixir we are writing these spec statements. For nothing else than this type is coming out. Then this looks at the code, and your spec says you are returning this, but I can tell that you are also returning X, Y, or Z. So it is helping us see what we are declaring a code to do, and that’s really what the code is doing.
5:28 – Guest: Yes, exactly. To continue that topic here is what else it’s saying...
6:08 – Panel: Our panelist is not here, but he has had to fix code before with that problem. With Dialect Dialyzer – how do we say this library is out-of-date? The code is out-of-date. How do I get my stuff to pass – to clean up my site?
6:54 – Guest: Containing that warning.
Guest goes into further detail how to problem-solve this issue.
8:02 – Panel: So you are saying that I can funnel.
8:20 – Panel & Guest go back-and-forth talking about this topic.
9:49 – Panel: I am still diving into the system. Haven’t really used the printer, yet.
Panelist asks Guest a question.
10:04 – Guest: At the forefront there are some configurations to help with that.
11:16 – Panel: Why would someone not want to use this? What are the cons?
11:23 – Guest: It would have to do more with CI than anything (one con).
13:06 – Panel: Lots of people are coming to Elixir New. Great. What is the selling point? Why should someone invest his or her time in this project?
13:33 – Guest: I find looking for a type spec is one more piece of information that could help the reader that would tell them what the code should be doing. Any information from the original author to be passed down is great. Having the machine to check that, whenever you push code, it’s an imperfect check (as we were saying). If it can tell you that you did something wrong, then why not? It gives you that extra red flag. There are huge benefits to that. Same reason we write unit tests.
15:20 – Panel: You are learning Elixir right, Chuck?
Panelist talks about tech specs, code writing, and learning projects.
16:25 – Panel: Here is a tip to learning. One thing that I did I came to an existing project and writing a sub-system ( as series of modules) Writing the tech specs. As they are interacting with each other, then writing Dial Elixir, and grab the output to the file path to where my code is. Within my own code find where I am inconsistent. Andrew – you could get pages of output, right? Any tips for users?
17:37 – Guest: Isolate portions of your code base.
19:27 – Chuck: I do like the idea of the umbrella. Phoenix app out into an umbrella. A sub apps and they are more centered, smaller sized. Then, yeah. Start with Dialyzer on just that project. Isolate it, and this app in the umbrella. The output is much smaller, and good success with that. Now, one of the new features you added was the language / the code that it reports is an ERLANG term. That is not familiar to most Elixir developers. Especially if you are new to it. If you are turning this into a friendly Elixir thing, then you had to learn other programs. How did you get into this path?
21:00 – Andrew: Whenever there was complicated “something” at work – I was the person to go to.
As I started to do it more and more I saw patterns in the output. Things were kind of predictable, and how to format things. It synchronizes weird. What would I do to write this task? Researched. There are 2 tools = LEEX and YECC. If you have 2 files in your source directory...
22:56 – Advertisement – Digital Ocean
23:39 – Panel: It’s cool.
23:58 – Guest: It brought me back to some courses from school. I thought that was funny. They are pretty contained tools.
24:36 – Panel: Part of your motivation was from Jose.
24:49 – Guest: Yes, definitely.
25:39 – Did you have any questions for Jose?
26:35 – Panel: You added the feature of...
CREDO is pretty well-known.
27:28 – Guest: Sure, I guess I did skip some of that.
Andrew talked about different libraries, ERLANG modules, and so on.
28:38 – Panel: What else are you doing?
28:45 – Getting error messages fixed for version 1.0. Trying to close-up the residual things.
30:18 – Guest keeps talking about support and other bugs.
Andrew: If you see something, say something.
31:00 - Panel: There are languages that run on the beam. Something to create something more standard so different languages can depend on. Is there anything like that? To help you with your tooling?
31:40 – Andrew: Good question! Some of the things that happen at the Dialyzer level, stuff just gets dropped.
33:47 – Guest: How this works all together...
35:15 – Chuck: How to contribute to Dialyxir?
35:30 – Guest: Around error messages – is the best place to look. If you have a good editor hand, good place for that. If you are further into the compiler land – might want to play with that.
36:29 – Guest: ERLEX
36:43 – Chuck: What did you learn about building these libraries?
36:55 – Guest: I learned a lot about the construction of Elixir.
Guest dives into this more.
38:25 – Chuck: The principle that you cannot bind...
38:51 – Guest: ...this area of my code-base... it would be nice to turn off those features. When I really do need it – I need it, but not so if I don’t need it.
39:39 – Panel: I want to point someone to a resource: TypeSpecs.
39:54 – Guest: I used that so much! Wonderful resource, I learned so much stuff! I stole all the output from that. I didn’t know that language had that?!
40:20 – Panel chimes in about this resource some more.
41:02 – Guest: We really do have a simple language. There are some weird things, but not a lot of constructs under the hood. Only a few data structures. It could have been more complicated. I was worried about that – but that never happened, because...
41:41 – Panel: Thanks for adding that. Very true.
42:51 – Guest talks about other things that are very simple, too.
44:35 – Panel: Are you doing fulltime with Elixir for programming?
44:35 – Guest: Yes, we are using other Elixir and JS App. In another life I used...
They all can teach you something. Sometimes the journey of going there and realizing WHY you don’t want to be there is sometimes worth the journey!
45:20 – Panel asks guest a question.
45:25 – Guest answers question.
Andrew: We have enjoyed our time in Elixir. It’s nice.
46:27 – Panel: Anything else?
46:33 – Panel: Where can people find you online?
46:40 – Guest: Elixir Slack, Twitter, GitHub.
47:01 – Picks!
47:05 – Advertisement – Code Badges
Links:
Andrew Summers’ Twitter
Credo
Erlang
Dialyxir
LEEX
YECC
Credo
ERLEX
TypeSpecs
Curated Dev News for Busy Developers
EX_JSON_SCHEMA
React – Jsonschema – form
Announcing Distillery 2.0
Distillery’s documentation!
MKDocs
EX_Json_Schema
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Eric
Chrome Extension for News
Mark
Announcing Distillery 2.0
MKdocs
https://hexdocs.pm/distillery/home.html.
Charles
Launch by Jeff Walker
Downcast
Andrew
Ex json Schema
React json schema from
Special Guest: Andrew Summers.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
10/2/2018 • 53 minutes, 42 seconds
EMx 020: Phoenix and LiveView with Chris McCord
Panel:
Charles Max Wood
Mark Ericksen
Josh Adams
Eric Berry
Special Guest: Chris McCord
In this episode of Elixir Mix, the panel talks to Chris who created Phoenix and is an author, also. Chris McCord is a monumental developer within the community, and it’s exciting to see how LiveView is a great add-on to Phoenix, which is his baby. Finally, the panel talks about topics, such as Phoenix, LiveView, Elm, and Fire Nest.
Show Topics:
1:21 – What are you famous for?
1:49 – Chuck: You created Phoenix. There is a new feature, LiveView, can you share with us what that is?
2:08 – Chris: Sure. What got me started with creating Phoenix is similar to how I got into LiveView.
3:13 – Panelist chimes in with his comments.
Panel: Questions we are asking: How to give the audience a high-quality experience without a huge overhead. When I watch this video on LiveView, I was freaking out. Are you glad you did it?
5:01 – Chris: The response is really exciting and it really resonated with a lot of people. Often, I thought, working on past projects thoughts along these lines: “this was a huge waste of the day.” And I’m glad this was a good response.
6:08 – Panel: Explain what you can do right now.
6:18 – Chris dives into this topic.
Chris: We wanted to offer a rich experience. A lot of things we can target out of the box, with rich UI.
8:20 – Panel: You announced this in your keynote in Washington D.C. The day before you hinted at it. And I thought: Is this even a good idea? Is this a misguided effort? If you have this first impression go, first, and see the video. You explain well your history and what you wanted with web development. Watch this video to maybe not be skeptical.
9:47 – Panel comments.
9:50 – Chuck: I haven’t seen the video, yet. I am used to doing this with JavaScript. How do you do without JavaScript? Frontend?
10:14 – There are pixies and sparkles, and Chris is bringing these sparkles!
10:31 – Chris: It’s nice because we are piggybacking off the channel level. There is no JavaScript that you have to write today.
11:16 – Panel: Question to Chris.
11:31 – Chris answers the question.
13:13 – Panel: Who else is doing this right now?
13:15 – Chris answers question.
14:51 – Panel: The original dream. Phoenix was just a stepping step to LiveView.
15:08 – Chris: Those who are casting judgment – please watch the video. For years I have had this idea that I want to stay in the server-land...
15:55 – Panel: It’s funny that your path unfolded the way that it did.
16:28 – Chris: It blows me away.
16:38 – Panel: I bet when you wake up your pants just attach themselves to your legs!
16:57 – Chris: I work remotely, so...
17:08 – Chuck: That got weird.
17:18 – Panel: You’ve got a lot going on. When can we expect to see this? I’m sure you get that asked a lot. Phoenix 1.4 has to come first, and you are working on your book. While that’s going on you have a project called Fire Nest. Sounds like you have a couple things you’re doing right now? How do you prioritize?
18:08 – Chris answers these questions.
Chris: I do work full-time on Phoenix. Phoenix 1.0 is on my own time. This is at my own discretion. Whatever helps the community is good for them and for me. That’s how I do it without completing losing it. The book has been over a year delayed. It’s always a battle it’s a love/hate relationship. It’s hard when you when you want to work on exciting things like LiveView. The future, the things we want to build for. Some weeks it’s more writing, and some weeks its coding.
20:01 – Panel talks about Chris’ team.
20:25 – Panel: I got to ask you, I am more of a Ruby developer, and this thing that you’ve developed is making me lean towards Elixir. What’s your least favorite thing about Phoenix?
20:56 – Chris: Never have been asked this before.
21:06 – Chris: The thing that bothers me the most is maybe configuration? Lots of folks we did a lot of the configurations. I guess that has been a recent thing that’s come up. Even though, personally, I don’t have a lot of issues with it.
22:38 – Advertisement – Digital Ocean
23:13 – It’s hard to point out ugly features of your own baby.
23:26 – Panel: You’ve talked about your rel. with DockYard, Inc.
What’s that responsibility like?
23:44 – Chris: I am a cheerleader for the company. I do work in a consulting role. This is good because I am solving real-world problems. I’d loose touch with that if I didn’t consult. The other time I try to help the team if needed. It’s a good mix for me. Writing Elixir code and not just framework code.
25:02 – Panel: Umbrella project. Your rel. with your clients – when you would suggest an umbrella project or not?
25:26 – Chris: It depends. It’s not so much code structure it’s mostly from an operational standpoint and not from a code structure standpoint.
26:51 – Chuck: Give us a short history of Phoenix. How does LiveView tie into your vision with Phoenix?
27:13 – Chris gives us his thoughts.
Chris: In 2013 – I fell in love with Ruby. That’s to show that it wasn’t on my radar to do anything else professionally. Never thought I would develop something like Phoenix. My wife noticed that I came home unhappy when I worked with Ruby at some point. She noticed a difference.
Chris continues to share the Genesis of Phoenix.
It’s been a crazy ride.
32:32 – Chuck: So it was mostly about the scaling. I’ve played socket IO, do some harm, then come back. Action cables are a little less of a pain.
Chuck continues his thoughts and asks a question.
33:10 – Chris answers Chuck’s question.
35:00 – Chuck.
35:14 – Chris.
It’s interesting because you could have used a LiveView layer in the mid-2000s and nothing in town would have been able to compete.
35:56 – Panel: One great thing about Rails is the integration. There is a path to it. Is there anything like that for the docket to build that for Phoenix? There is webpacker for Rails but is there going to be that for Phoenix.
36:35 – Chris: No is the simple answer. It just works the way you would expect.
37:46 – Chuck: The other one is partial JS. IT’s interesting because I go back and forth, too. I like the approach with JavaScript. I play with everything. I’ve been playing with an app recently and figured out how to do it in Brunch, because that’s what’s there. Why solve it the Elixir way? As a backend developer I may not want to mess with it.
38:51 – Panel: Another question about LiveView. From the video, from what I understand, is that the data that’s pulled from reads and rights?
39:26 – Chris: I hope this doesn’t sounds like a cop out answer. My answer is that you will handle any system you are building it in Elixir. If you want to have durable state you would use existing tools that you have already.
40:17 – Panel: The facilities you built around the LiveView, is it valuable for someone to...
40:42 – Chris answers the question.
41:22 – Panel: Another question on how LiveView works. Is that dependent on there being a JavaScript connection?
41:49 – Chris: Answer to that is if you are...
42:50 – Chuck.
42:53 – Chris.
43:29 – Panel: How is Fire Nest coming along?
43:38 – Chris: I won’t say it’s steady progress, but it’s coming along. We are working on it.
44:53 – Panel: That was exactly what I wanted to hear.
45:00 – Advertisement.
45: 42 – Panel: The new developments are happening outside of the community of Phoenix, right?
46:07 – Chris: People think Phoenix is “heavy,” but it really isn’t. It’s really I want 80% and the teams and communities can build on top of that. Not in core. Not everyone needs X feature. No reason to shove it in core. It’s not about having it being “lighter.” I am developing resisting the urge to do it because someone says so.
47:40 – Panel: Phoenix for me feels like it’s baked. There really isn’t anything that is lacking. It’s extensible. It’s done. That’s exciting. These add-ons like LiveView are a great plugin.
48:23 – Chuck: How do people keep in touch with what you are doing and your projects?
48:51 – Panel: Anyone on the team working with Elm?
49:00 – Chris answers this question. Elm has been on my radar, but haven’t gotten into it, yet. Not in the foreseeable future either.
50:20 – Chuck: Picks!
Links:
Chris McCord’s Website
Chris McCord’s Twitter
Chris McCord’s GitHub
Chris McCord’s YouTube
Chris McCord’s LinkedIn
Chris McCord’s Medium
Chris McCord’s DockYard Posts
Chris McCord’s Video
Chris McCord’s Keynote Talk
Elm
GitHub – Morphdom
GitHub – Drab
Fire Nest
Article on LiveView
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Charles
Geeking-out about the space stuff.
Self-fastening pants – Velcro
Book: Soft Cover IO
Docking station
Mark
The Talk
Fire Nest Project
Josh
Website: SmoothTerminal.com
Eric
Earthrise – Apollo 8 – 1968 picture
Earthrise Wikipedia
Podcast – American Life
Chris
Phoenix 1.4 Book
Phoenix Programming Book
Special Guest: Chris McCord.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/25/2018 • 56 minutes, 33 seconds
EMx 019: Brooklyn Zelenka: Elixir I assume Witchcraft, Exceptional, and so on?
Panel:
Charles Max Wood
Mark Ericksen
Josh Adams
Eric Berry
Special Guest: Brooklyn Zelenka
In this episode of Elixir Mix, the panel talks to Brooklyn Zelenka who lives in Vancouver, Canada. Listen to the panel and the guest talk about various topics, such as: different Elixir libraries, Quark, Witchcraft, Exceptional, ConsenSys, Meetup, among others.
Show Topics:
1:33 – Let’s talk about Exceptional for that library?
1:40 – Brooklyn: Sure, it helps with flow.
3:33 – You are making Exceptional more accessible?
3:35 – Brooklyn: Yes, more conceptual.
3:49 – Panelist: What’s the adaptation like?
4:09 – Brooklyn: People seem to like it.
4:33 – Panelist: What were you doing before that?
4:42 – Brooklyn: First language was JavaScript. There is a huge Ruby community. Tons of Ruby refugees looking for help.
5:27 – There seems to be a large migration from Ruby to Elixir. Have you played with Ruby at all?
5:40 – Brooklyn: Yes, I have used Ruby for a couple of years. There is such an interest in Elixir from the Ruby community. They are such different languages. The aesthetic is similar, and the way the languages are set-up is completely different.
6:41 – Panelist: So not having three or four different alien methods? I have been developing Elixr for a while now, but Ruby doesn’t solve modern-day problems. The fact that you have been working with Elixir since 2014 is amazing.
7:24 – Brooklyn: The first library I wrote was Quark. Then that led into Witchcraft.
10:49 – Panelist adds in his comments.
11:06 – Brooklyn: There are a lot of different things I would love to see in the libraries. At what point do we say that this is the default style in Elixir? My keynote was exactly about this at a conference this year. Elixir hits a nice spot in the program place. It’s very accessible. I’ve brought into these concepts because of Elixir.
12:37 – Let’s talk Exceptions. Will it become apart of core?
13:14 – Brooklyn: I wouldn’t mind that it would become apart of core.
15:10 – Any other questions around Exceptional or Exception or other libraries?
15:25 – Panelist: Let’s change topics.
15:30 – Brooklyn has her own company now.
15:52 – Panelist: Good job on Roberts Overload!
16:00 – Panelist: Where does block chain and Elixir meet?
16:08 – Brooklyn answers this question.
17:16 – Brooklyn: Not all block chains are...
19:02 – Brooklyn: Another good fit would be...
19:33 – Panelist: My company is apart of ConsenSys. I hear a lot about the block chain and others. How can Elixir help the block chain? (20:15) You mentioned earlier that Elixir could solve a lot of the issues that bock chain is having. Can you elaborate on this?
20:21 – Brooklyn answers this question – here – check it out!
21:21 – Brooklyn: By bringing in these concepts...
22:16 – Brooklyn makes a huge podcast announcement!! Breaking News!
22:37 – What does that mean – messages on a...
24:06 – Advertisement – Digital Ocean!
24:43 – The mail messages contents does that sit on the ledger or...
25:01 – Brooklyn talks about this topic in detail.
26:00 – Brooklyn: There is a distribution of control. I am going to have to run a program to check when a message comes in – I would like that to be hooked up to my UI, ideally.
26:35 – Panelist: You are a fascinating person!
26:45 – Chuck: You also do Elixir training for people?
26:56 – Yes! We help companies and go to conferences. This is for zero experience with Elixir. Over the course of a couple of days to give people confidence production in Elixir. It won’t give you all of the knowledge, but it helps. This also gives people access to me, and my business partner, to use us for questions and so on.
28:56 – You live in Vancouver. What is the Elixir community – through Meetup – what is the temperature like there for Elixir or Ruby, etc.? What are the trends looking like?
29:31 – Brooklyn: Yes, check us out at Meetup.
35:18 – Panelist: I think that is interesting on your opinions on GO with your background.
35:35 – Brooklyn continues her ideas on this topic. It’s not to say that GO is the worse language ever, but from what I have seen that it’s a nice experience in Elixir that things work. All the libraries integrate nicely. There is a style and flavor that is friendly. You get the friendliness with all of this power. You can scale up very nicely from a single node.
37:47 – Where can Elixir “should” go and could go?
38:21 – Brooklyn answers this question and others.
39:21 – Dialyxir / Elixir.
41:27 – Dialyxir overall is pretty nice and it gets the job done with what Elixir needs it to do. Type system.
42:09 – The pre-existing eco-system isn’t built for it. You don’t know if it’s safe to run? There is no way to know about this. The overhead for the programmer tends to be really high. Why don’t we add things like – adding property checks – to ensure that you know how this thing will behave when it run. Using some other techniques – not just in tests – but integrate it into the core workflow. This is really important
44:22 – Advertisement!
45:03 – Panelist chimes in.
45:21 – Brooklyn: Have you seen Alpaca? I am sure it’s 1.0 now. It runs on the beam.
46:15 – Panelist adds comments.
46:25 – Brooklyn: This is why I brought up RChain earlier in the conversation.
47:01 – Block Chain.
48:17 – Panelist talks.
48:53 – Brooklyn: At the application level – one of my projects is having a language that will run...
51:17 – Chuck: I am still learning Elixir. So this is way beyond from where I am at. Let’s do some picks!
Links:
Coder Job eBook by Charles Max Wood
Elixir
Rails
GO
Quark
Witchcraft
Type Class
Algae
Exceptional
Phoenix Exceptional
Robot Overload
Raft Consensus Algorithm
Ethereum Status Codes
Dialyxir
Expede Type Class
Alpaca
Kaizen
Matt Diep House
ConsenSys / Ethql
Metabase
TerraGenesis
TerraGenesis – Space Colony
Wabi-Sabi
RChain
Brooklyn’s Medium
Brooklyn’s Meetup in Vancouver
Brooklyn’s GitHub
Brooklyn’s LinkedIn
Brooklyn – Lambda Conference 2018
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Charles
Make some incremental step forward – adding onto Mark’s pick - Kaizen.
TerraGenesis
TerraGenesis – Space Colony
Honest feedback! What can I change?
Phoenix
Mark
Workspace Environment: Kaizen – Change for the Better = Improvement.
Josh
Article – Value-Oriented Programming
Eric
Library – ConsenSys / Ethql
Metabase
Brooklyn
Wabi-Sabi – seeing the beauty in things that imperfect.
Special Guest: Brooklyn Zelenka.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/18/2018 • 15 minutes, 13 seconds
EMx 018: Devon Estes: “All In On Elixir”
Panel:
Charles Max Wood
Mark Ericksen
Josh Adams
Eric Berry
Special Guest: Devon Estes
In this episode of Elixir Mix, the panel talks to Devon Estes. He is an American programmer located in Berlin, Germany. Devon is coaching on Elixir, and his background is on Ruby Rails. Check-out today’s episode to hear how passionate Devon is about the Elixir program, and what he loves about it.
Show Topics:
3:58 – Devon finds that the process of writing helps him find “bugs”. He tries to write once a month on various topics, such as what he has learned, and his freelancing work.
4:50 – One of the panelists says that he also writes, too, and how it helps him process what is going on. He treats it like a research paper, because he wants it to sound coherent.
5:43 – Devon used to work in PR and Marketing. What he learned from those fields is that: visibility creates opportunity.
7:19 – When you choose the technology, it’s about how easy previous resources to help support that if it’s the right tech. Finding Elixir developers is hard to find. Elixir ahs been that way for a while, but actually it is becoming the new and improved Ruby. You get the 10X productivity, but you aren’t held up by some factors. Have you ever had finding work in Elixir?
8:22 – Devon: Not in the last year-and-a-half. Being a freelancer, stay visible, because you are constantly looking for different projects, and so on. There are other countries out there where Elixir is more prominent than compared to the United States. Companies in San Francisco are having a hard time finding Elixir developers to work with them.
10:31 – How was your transition from Ruby to Elixir and your writing projects? How did you go down that path?
11:07 – Devon: The more I wrote in Elixir the more he liked the program. Ruby inspired Elixir, for sure. He likes how it’s comprehensive to him, and how productive he is with Elixir. For Devon, it fits well with how he writes code; and because he’s happy, his clients are happy, too. Elixir’s language fits well with his way of thinking and there are other benefits for Devon by working with Elixir. Devon likes feeling productive and it fulfills his needs. Finally, he also really enjoys the Elixir community!
16:51 – What do you not like about Elixir?
16:55 – Devon: He found his first thing he doesn’t love about Elixir, and he found it today, of all things! Listen to this timestamp to see what Devon shares.
20:47 – Question asked for Devon: How are other languages doing that, and what can we do to make that happen?
20:53 – Check-out Devon’s answer!
24:11 – Digital Ocean’s Mid-Roll Advertisement
24:48 – Devon continues his answer from 20:53. Programmers talk and, when more people are having certain experiences, the word is going to get out. The flexibility of the language is going to be great in the long run. Great sales pitch.
26:47 – Josh, you have a lot of experience of the years, pushing the eco-system, have you seen a pick-up from that or has it grown, how have you seen your involvement in these projects helped with the awareness...
27:19 – Josh: I don’t know how much of an influence I have, but it has doubled almost every year. Of course, this won’t happen every year, and at some time it will plateau. Elixir is rapidly growing now, though.
28:09 – Question to Devon: Let’s talk about your project, Fast Elixir.
28:16 – Devon talks about how he got involved with Fast Elixir and how it developed.
31:19 – Let’s talk about Benchy.
31:28 – Devon: We are very proud of it. Devon continues in detail about the before-mentioned question.
36:30 – Question to Devon – Let’s talk about reductions, so people can understand it better.
36:41 – Think of a reduction that it’s one thing the virtual thing does. It has a counter, and it does a certain number of things before it needs to take a break. That’s the most basic unit. One reduction is one instruction and it counts that. That’s how it manages its internal scheduler.
38:20 – Chuck: When you adopted Ruby did you feel the same way about it like you do about Elixir. Chuck says, “I totally get it...” It’s more a learning opportunity for Chuck. Have you found the next best thing? Or...
39:06 – Devon was an opera singer for a while, and studied at the Manhattan School of Music. Check out his full bio in LinkedIn, and other social media profiles. As Devon became an advanced programmer he started to develop his programming skills. He tried JavaScript, but the language didn’t appeal to him. The more he experienced in different programs, he found that the bigger picture for him boiled down to the community aspect for him. He could have fallen in-love with Clojure, but he’s not quite sure. Finally, it basically was the Elixir’s language and the community that he likes.
45:05 – It’s neat to see the progression that you went through.
45:25 – Let’s do picks!
45:30 – Code Badges' Advertisement!
46:11 – Picks!
Links:
Coder Job eBook by Charles Max Wood
Elixir
Code Badger with Charles Max Wood on Kickstarter!
Devon Estes’ GitHub
Devon Estes’ Twitter
Devon Estes’ Website
Devon Estes’ LinkedIn
Devon Estes’ Refactoring Elixir – Lessons Learned from a Year on Exercism.lo
Fast Elixir
Ruby Rails
Clojure
Devon Estes’ Blog
GitHub’s Elixir-Lang
Exercism – Code Practice
Elixir Sips: Learn Elixir With A Pro
Devon Estes’ Heroku App
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Charles
Lootcrate (once a month)
Audible, Audio Book – “The ONE Thing” by Gary Keller
Helps you focus on one thing to help you reach your goals.
Mark
Movie: (YouTube) Erlang: The Movie
Retro Gaming – Original Nintendo
Josh
Follow-up on Mark’s pick (see above) – Posters / Harry Potter-Themed
Tortoise
Eric
Legos!
Funko POP Animation Bob’s
Devon
Toggl – Time-tracking Tool / It’s free!
“Understanding Computation” by Tom Stuart
Movie: Handmaiden
Special Guest: Devon Estes.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/11/2018 • 54 minutes, 45 seconds
EMx 017: Daniel Spofford: "Thoughtful Logging in Elixir: A Phoenix Story"
Panel:
Charles Max Wood
Mark Ericksen
Josh Adams
Eric Berry
Special Guest: Daniel Spofford
In this episode of Elixir Mix, the panel talks to Daniel Spofford who is a Senior Software Engineer through Very where he uses Elixir constantly. Daniel and the panel discuss the benefits of working from home, and they talk about different programs, such as Heroku. Check out today’s episode to get more information about Daniel, Very’s team, Elixir, Phoenix, and many other topics!
Show Topics:
1:45 – Depending on the needs of Daniel’s client and/or project it depends on what program he uses.
2:34 – Daniel works from home and lives in North Dakota.
3:35 – There are benefits to working at home. It seems that if you have a healthy living environment, and a supportive family, it can work out very well and could be quite effective. People are naturally more social and when you reach out to someone it seems to be more intentional rather than small social talking in the office.
6:45 – One drawback from working at home, you have to make a point to go out and be social.
8:12 – Log Post. This was interesting to the panel for two different reasons: 1.) Narrative Process and 2.) Logging a lot of people take for granted. When they need information, and cannot find it, then they could get frustrated.
13:25 – Question to consider: “How will these logs be used?”
16:05 – There are different levels of experience among many different people.
16:17 – Daniel goes through the different types of logs, and when and where you would use a certain log.
18:36 – Question for Daniel: “Can you get stuff out of order from your log?”
19:19 – There is a feature written into Phoenix that is quite helpful. Check-out their different plugins.
22:09 – When various processes are trying to log, they call that the log line.
23:35 – Digital Ocean’s Mid-Roll Advertisement
24:17 – One issue that the panelist has had in the past, is that they have that tagging mechanism – is there a way to do that in Phoenix?
24:39 – There is metadata.
26:01 – We are talking about tagging and getting specific information there. Is there a way to override in one function how that logging happens?
26:40 – That question makes me thing of – Let it Crash – mentality that people have with Elixir. This is common. You want to let it crash until you care. If you let it crash too far you loose information as you go up. Rather than pattern matching, and hoping that it works, maybe you do you have a case where “x, y, z...,” etc.
30:19 – Daniel’s new log post submitted in June. What are the three things that we should be paying attention to?
30:31 – Daniel talks about what the company, Very, does to accomplish different projects and such. Very is always on the lookout to resolve issues right away, because not every situation works for every client/situation. Three things to Elixir: State in Memory, Scalability, and Hot Code Reloading. These are the buzzwords to Elixir.
35:37 – One of the panelists does like Docker now.
36:56 – If you are building a web app, it does not makes sense to do hot code reloading.
40:11 – Daniel has been playing with additional features, too, such as ECS.
41:08 – Other programs are mentioned by Chuck.
43:19 – Chuck asks Erick and Mark: “What infrastructure do you guys use for your Elixir stuff?”
43:27 – Heroku platform. It’s the baby step; and once we hit puberty, we will get out of Heroku in order to use Phoenix and Elixir.
45:31 – It is very acceptable to be using Heroku. Most panelists agree – do not be ashamed to use Heroku if that’s what you need.
48:10 – A deal from a non-sponsor? Check it out.
50:09 – Code Badger with Charles Max Wood on Kickstarter!
52:22 – There are benefits of using Heroku, but there are some disadvantages.
53:27 – One panelist mentions that it is nice to just copy and paste.
53:34 – Anyone heard of Stacker? It’s worth checking it out!
55:16 – Comments and questions about Stacker.
58:05 – Let’s go to picks!
Links:
Coder Job eBook by Charles Max Wood
Elixir
Docker
Heroku
Daniel Spofford’s Website
Daniel Spofford’s GitHub
Daniel Spofford’s LinkedIn
Daniel Spofford’s Twitter
Very Possible’s Team
Code Badger with Charles Max Wood on Kickstarter!
Stacker
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Cache Fly
Picks:
Charles
Notion.so – Between a Wiki and a Google Docs
Mark
Meta Base
Stacker’s Documentation
Josh
Better Call Saul
Breaking Bad
Smooth Terminal – Developer News!
Erick
Smooth Terminal – go signup to their newsletter!
Version 3 – Meta Base - a must use in your developer career!
App Signal – an online monitoring tool
Daniel
A dolly to help with your move!
Uplift desk
Special Guest: Daniel Spofford.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
9/4/2018 • 11 minutes, 44 seconds
EMx 016: Hubert Lepicki: "When to use Elixir language?"
Panel:
Charles Max Wood
Mark Erikson
Josh Adams
Eric Berry
Special Guests: Hubert Lepicki
In this episode of Elixir Mix, the panel talks to Hubert Lepicki about his blog post "When to use Elixir language?". Hubert works at AmberBit where they traditionally created Ruby on Rails apps for their customers, and more recently, they switched to using Elixir to build custom apps for their customers. They talk about why they decided to switch to Elixir, his thoughts on Ruby now, and the difference between Elixir and Ruby. They also touch on what his Ruby code looks like now, compare Elixir with Node, and more!
In particular, we dive pretty deep on:
Huber intro
Works at AmberBit
Ruby on Rails to Elixir
Why did you switch to Elixir?
How did you stumble upon Elixir?
Problems with scaling Ruby
Looked at Clojure and other functional stacks before Elixir
Used it as a means to optimize performance in the beginning
What are your thought on Ruby now?
Making things easier with Elixir and Erlang
How was the learning curve as you started to get into Elixir?
Learning curve was harder than expected
“Elixir is nothing like Ruby”
Elixir syntax is borrowed from Ruby
Functional languages
Going through a mental shift
Does your Ruby look funky now?
What does Elixir offer that Node doesn’t?
Issues with Node
What is it that Elixir is good at that makes you want to use it?
Elixir provides great balance
And much, much more!
Links:
"When to use Elixir language?"
AmberBit
Ruby on Rails
Elixir
Ruby
Clojure
Erlang
Node
@hubertlepicki
Hubert’s GitHub
AmberBit’s Blog
hubert.lepicki@amberbit.com
Sponsors:
Get a Coder Job
Digital Ocean
Code Badges
Picks:
Charles
Iron Druid Chronicles
iPad Lock through guided access mode
Mark
Ongoing learning and continuing personal development
Josh
graphqelm
Hubert
Succession
Special Guest: Hubert Lepicki.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/28/2018 • 54 minutes, 25 seconds
EMx 015: Elixir with David Magalhães
Panel:
Charles Max Wood
Mark Erikson
Eric Berry
Special Guests: David Magalhães
In this episode of Elixir Mix, the panel talks to David Magalhães about his experience with Elixir. David is a Java and PHP developer and learning Elixir was very easy and straightforward for him to pick up. They talk about how his Java background has affected how he learned Elixir, the first thing he noticed when he moved over to Elixir, and his article Phoenix with image upload to S3 in an API: Implementation and testing. They also touch on testing in Java, the Fakes3 gem, and more!
In particular, we dive pretty deep on:
David’s history
What brought him to Elixir
Elixir is very straightforward
Pattern matching
Erlang
Java background
What has your experience been like coming from Java to Elixir?
First thing he noticed when moving
Had to change the way he did software
Worked with Prolog in University
Idea of accessors
Working as an Elixir professional
Phoenix with image upload to S3 in an API: Implementation and testing – blog post
Using S3
His approach for how people should start with S3
Focus for his article
Being able to create tests in Java
Testing features
Integration tests
TDD
Arc Library
Fakes3 gem
How do you handle the Fakes3 gem locally?
And much, much more!
Links:
Elixir
Erlang
Phoenix with image upload to S3 in an API: Implementation and testing
Arc
Fakes3
puppeteer-pdf
cybersource-sdk
David’s GitHub
@speeddragon
David’s Medium
Sponsors:
Digital Ocean
Picks:
Charles
Breath of the Wild
The Iron Druid Chronicles by Kevin Hearne
Framework Summit
Get a Coder Job eBook
Get a Coder Job Video Course
Mark
ex_doc
Eric
docsify
David
The Mechanism
Biographies
Special Guest: David Magalhães.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/21/2018 • 50 minutes, 18 seconds
EMx 014: Choosing Elixir with Bobby Juncosa
Panel:
Charles Max Wood
Mark Erikson
Eric Berry
Special Guests: Bobby Juncosa
In this episode of Elixir Mix, the panel talks to Bobby Juncosa about his article “Choosing Elixir.” Bobby is the CTO and co-founder of Edgewise, which is a new construction marketplace where builders can sell directly to buyers without the need of agents. They talk about how he got into using Nuxt.js, Elixir, and GraphQL, why Nuxt resonated so much with him, and how everything connects in his app. They also touch on dealing with web sockets, and the benefits to using them, where someone can go to figure out what he is doing, and more!
In particular, we dive pretty deep on:
Bobby intro
CTO and co-founder of Edgewise
Technology can do the job of agents
Homie.com
Using Elixir for a GraphQL API
Using Nuxt.js on the front-end
Why did you decide to use Nuxt on top of GraphQL?
How did you get the conclusion of using Elixir, GraphQL, and Nuxt?
Built originally in Drupal and PHP
Symfony and Laravel
Needed something more scalable
Vue on the front-end and PHP on the back-end
Resonated with GraphQL
Moving to docker containers
The decision to move to Nuxt
Nuxt can stay on top of the boilerplate things for you
Promise of performance and productivity
Node
The promise of universal JavaScript
Phoenix and Absinthe
How does everything connect?
Nuxt has a server component
Do you deal with web sockets?
Sockets and GraphQL
Where can someone go to learn how to do all this?
And much, much more!
Links:
“Choosing Elixir”
Edgewise
Homie.com
Elixir
GraphQL
Nuxt.js
Drupal
Vue
Symfony
Laravel
Node
JavaScript
Phoenix
Absinthe
@bjunc
Bobby’s GitHub
Bobby’s Medium
Sponsors:
Digital Ocean
Picks:
Charles
Get a Coder Job Course
Podcast Movement
Chuck@DevChat.tv
South Pacific
Mark
Being able to meet with people in real life
Bobby
Audible
Basic Economics by Thomas Sowell
Special Guest: Bobby Juncosa.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/14/2018 • 58 minutes, 18 seconds
EMx 013: Elixir Panel with Steve Bussey
Panel:
Mark Erikson
Eric Berry
Josh Adams
Special Guests: Steve Bussey
In this episode of Elixir Mix, the panel talks to Steve Bussey about Elixir Panel. Steve is a software architect at SalesLoft, which is a company that does sales enablement software to help teams grow and become sales organizations. They talk about how his company was introduced to Elixir, why Rubyists are leaving for Elixir, and sharing sessions. They also touch on how developers have reacted to new changes within the company, the biggest hurdles people face when getting into Elixir, and more!
In particular, we dive pretty deep on:
Steve intro
Software architect at SalesLoft
Started off with Ruby and now work heavily with Elixir
What size is the engineer team at SalesLoft?
How did Elixir get introduced to your company?
Having a single advocate for a language promoting it in the company
The idea of being a “champion”
Shaping how other learn and consume
What do you think the reason is for Ruby developers leaving for Elixir?
Promises that Elixir provides
Erlang
A different paradigm
JavaScript and React
Sharing sessions
Serving your users properly
Their Rails application
Microservices
How have the developers reacted to these changes coming in?
Slow process
Professional development initiative
Everyone that’s put in the time haven’t’ said anything bad about Elixir
What was the biggest hurdle for people getting into Elixir?
The importance of asking questions
The XY problem
And much, much more!
Links:
SalesLoft
Ruby
Elixir
Erlang
JavaScript
React
Rails
Mockery
stephenbussey.com
Steve’s GitHub
@YOOOODAAAA
Sponsors:
Digital Ocean
Picks:
Mark
Seafile
Josh
alchemist.el
Steve
Architecture the Lost Years by Robert Martin
Special Guest: Steve Bussey.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/7/2018 • 52 minutes, 33 seconds
EMx 012: Why Elixir matters with Osayame David Gaius-Obaseki
Panel:
Charles Max Wood
Eric Berry
Josh Adams
Special Guests: Osayame David Gaius-Obaseki
In this episode of Elixir Mix, the panel talks to Osayame David Gaius-Obaseki. Osa is a software engineer at a company called MailChimp, is originally from Nigeria, and has been writing Elixir for a couple years now. They talk about his talk, Why Elixir Matters, how he came about writing this talk, and lambda calculus. They also touch on how Elixir compares to other functional programming languages, the idea of the genealogy of a language, and more!
In particular, we dive pretty deep on:
Osa intro
Software engineer at MailChimp
Elixir
His talk – Why Elixir Matters
His talk goes into the history of functional programming
The heritage that Elixir has
Clojure
Curious about how Elixir came to exist
Functional languages become popular for a year and then decline
Lambda calculus
His approach to functional programming
At some level, you don’t have to understand lambda calculus
The basis of lambda calculus
Jim Weirich Y-Not talk
How do we get to the high level stud we are doing with Elixir?
Lisp, Steam, and Erlang
Making ideas practical for use
Approachable languages
In your research, did you get a sense of organic growth?
Genealogies of languages
ML languages - Reason
Resiliency of programs applied to the front-end
And much, much more!
Links:
MailChimp
Elixir
His talk – Why Elixir Matters
Clojure
Jim Weirich Y-Not talk
Erlang
Reason
@osagaius
Osa’s Medium
Osa’s GitHub
Sponsors:
Digital Ocean
Picks:
Charles
Golf
Chuck@devchat.tv - For podcast planning program
Podcast Movement
Anti-Pick – Amazon Prime Day
Josh
Building the Google Photos Web UI
Eric
Golf Clash app
Osa
Rich Hickey and Brian Beckman - Inside Clojure
Special Guest: Osayame David Gaius-Obaseki.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
8/1/2018 • 49 minutes, 26 seconds
EMx 011: Process and OTP pitfalls with Claudio Ortolina
Panel:
Charles Max Wood
Eric Berry
Josh Adams
Mark Erikson
Special Guests: Claudio Ortolina
In this episode of Elixir Mix, the panel talks to Claudio Ortolina about Process and OTP pitfalls. Claudio works for Erlang Solutions where he is a developer consultant, working with customers on long projects, and he has been working full-time with Elixir for the past 3 years. They talk about OTP, the importance of reading the sources when working with Elixir, and if beginners should dive right away into OTP. They also touch on Process, how Elixir allows your code to be more available, and more!
In particular, we dive pretty deep on:
Claudio intro
Works at Erlang Solutions
Ruby Rogues Episode 208
Is there one thing that stands out to you as the easiest thing to fix?
People pick up this language quickly
Repetition
Excited about OTP
Pattern matching
People come from Ruby background to Elixir
How do you address people who won’t put the effort in to learn OTP
Rare to find greenfield projects now
Building blocks
Reading the sources
Do you recommend beginner dive into OTP or should they postpone getting into it?
It’s okay to postpone
The missing link
Is the domain model inherently concurrent?
Concurrency is not always an obvious tool
Elixir Process
Thinking about what needs to work no matter how your infrastructure is affected by problems
Elixir gives you a lot of tools to make your code more available
Elixir syntax
And much, much more!
Links:
Erlang Solutions
Elixir
Ruby Rogues Episode 208
Ruby
Elixir Process
@cloud8421
Claudio’s GitHub
Sponsors:
Digital Ocean
Picks:
Charles
Home Depot Tool Rental
Podcast Movement
Framework Summit
Josh
Evan Czaplicki talk at Elm Europe
Brian Hicks talk at Elm Europe
Elm Europe Talks
Mark
Absinthe Library
Claudio
Code Elixir London
YouTube Channel to help animals
Special Guest: Claudio Ortolina.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/24/2018 • 1 hour, 7 minutes, 32 seconds
EMx 010: Docker with Julian Fahrer
Panel:
Charles Max Wood
Eric Berry
Mark Erikson
Special Guests: Julian Fahrer
In this episode of Elixir Mix, the panel talks to Julian Fahrer about Docker. Docker is a container platform, which you can imagine as a set of tools, services, and practices that help you to develop, ship, and run your applications using software container technology. They talk about the applicability for developers for using Docker, the two different ways people use Docker, and how he usually uses Docker. They also touch on the main idea behind containers, the basics of Docker, and more!
In particular, we dive pretty deep on:
What is Docker?
Containers are very lightweight
Containers VS virtual machines
How are people using Docker with Erlang and/or Elixir?
What’s the applicability for using Docker?
Ability to set up complex systems
Docker works out of the box with Windows, Mac, and Linux
2 different ways people use Docker
How do you usually use Docker?
Working with Discourse
Discourse uses Docker exclusively
CodeFund
Are you saying that the projects are headed more towards open source using Docker?
Using Docker to have a front and backend separated experience
Phoenix
Main idea behind containers
Running things in isolation
John Papa Demonstration
The value of deploying a release if you’re doing a Docker container
The basics of Docker
learndocker.online
And much, much more!
Links:
Docker
Erlang
Elixir
Discourse
CodeFund
Phoenix
John Papa Demonstration
learndocker.online
Prometheus
Twelve Factor App
codetales.io
@jufahr
Julian GitHub
Sponsors:
Digital Ocean
Picks:
Charles
Take time to code for fun
Get away
devchat.tv/elixir-docker
Eric
Cross Stitching
Mark
Dockerfile – his Gist
Julian
CNCF Landscape
IndieHackers.com
The UltraMind Solution by Mark Hyman
Special Guest: Julian Fahrer.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/17/2018 • 1 hour, 1 minute, 22 seconds
EMx 009: Jarno Lindqvist - GDPR
Panel:
Charles Max Wood
Special Guests: Jarno Lindqvist
In this episode of Elixir Mix, the panel talks to Jarno Lindqvist about GDPR. Jarno is works for SAS institutes in the Finland office working mostly on data management, technical architecture, and GDPR regulation. They talk about what GDPR is, what developers need to understand about it, and the type of data that must comply with GDPR regulations. They also touch on data security and protection, the right to be forgotten, and more!
In particular, we dive pretty deep on:
Jarno intro
Developers are concerned about GDPR
Developers don’t have to completely understand it
Data governance and data management
Are there things that as software developers we need to understand?
GDPR basic education
Everyone behaving under the same laws
What kind of data are we talking about with GDPR?
Personal data definition
Broad definition of what kind of data falls under “personal data”
Regulations came into effect in May 2018 officially
What are we talking about with “protecting data”?
Data security
Taking precautions about how you keep your data
Keeping track of who you’ve displayed your data to
The purpose behind collecting your data
The right to be forgotten
Do US companies have to only comply with this when it comes to EU data?
What about EU citizens living abroad?
Does GDPR apply to both electronic and physical files?
What measures have you seen companies take to comply with GDPR?
GAP analyses
And much, much more!
Links:
GDPR
SAS
@datasquire
Jarno’s blog at SAS
Sponsors:
Digital Ocean
Picks:
Charles
World Cup
Sand Hollow State Park
I Can Only Imagine
Jarno
Search GDPR on YouTube
SAS research on GDPR compliance
Special Guest: Jarno Lindqvist.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
7/10/2018 • 37 minutes, 28 seconds
EMx 008: Nerves! with Frank Hunleth and Justin Schneck
Panel:
Eric Berry
Mark Erikson
Josh Adams
Special Guests: Frank Hunleth and Justin Schneck
In this episode of Elixir Mix, the panel talks to Frank Hunleth and Justin Schneck about Nerves! Frank is a software developer who, in his day job, focuses on C and C++ and now works for Smartrent using Nerves. Justin is currently working for Le Tote where he applies Nerves to the production there. They talk about what Nerves is, the two worlds you work within Nerves, the disadvantages to using Nerves, and more!
In particular, we dive pretty deep on:
Frank and Justin intro
Looking into ideas on how to use Nerves in their own homes
What is Nerves?
Collection of tools and frameworks that help you build embedded devices
Bridge from Elixir world to the physical world
Access to the rest of the Elixir ecosystem
FarmBot
Nerves in farming
Testament to the Nerves documentation
Understanding where Erlang came from
Can use a small size firmware
Raspberry pi
Two worlds to work in within Nerves
Goal is to keep you in the Elixir world
Where does Elixir fit in within the world of device programming?
Are people starting to be drawn to Nerves?
Nerves fits in with devices that are smarter
Targeting the embedded Linux space
Negatives to Nerves
Python
And much, much more!
Links:
Smartrent
Nerves
Le Tote
Elixir
FarmBot
Nerves documentation
Erlang
Raspberry pi
Linux
Elixir Slack
Frank’s GitHub
@fhunleth
Justin’s GitHub
@mobileoverlord
Sponsors:
Digital Ocean
Picks:
Eric
Walking
OverDrive app for ios
Mark
Dell XPS 13 Laptop
Josh
Should we adopt Dave’s way of building applications as a series of components? – Elixir Forum thread
Frank
Elixir Native UI
Cees De Groot
Justin
Gardening
Wherever You Go, There You Are by Jon Kabat-Zinn
Special Guests: Frank Hunleth and Justin Schneck.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/18/2018 • 46 minutes, 47 seconds
EMx 007: Deployments, Distillery, and Open Source with Paul Schoenfelde
Panel:
Charles Max Wood
Eric Berry
Mark Erikson
Josh Adams
Special Guests: Paul Schoenfelde
In this episode of Elixir Mix, the panel talks to Paul Schoenfelde about deployments, distillery, and open source. Paul is an architectural engineer at Dockyard and was previously a .net developer for about 10 years. Since coming to Elixir, he has been dedicating most of his open source time and free time to the language and projects associated with it. They talk about how he got to where he is today, Distillery, core release tooling, configuration, and much more!
In particular, we dive pretty deep on:
Paul intro
Hot upgrades
Interested in the idea of upgrading a whole system
Timex
Elixir Deployment Tools Update- Blog post by Paul
Where are we at on the deployment story for Dockyard?
Works primarily on Distillery
Run-time configuration
Making Mix.Config work with releases
Trying to figure out the right way to deal with configurations
How do we get to the end state we want to be at?
Mix.Config support in Distillery
Elixir Mix
Pluggable providers
Libraries need to expose something
The need to sort through the options as a core team
Core tooling built into Elixir coming soon
Watchers
Configuration may change, but the application and library used have to be built in a particular way
Application callback module
Config Change
And much, much more!
Links:
Dockyard
Elixir
Erlang
Timex
Elixir Deployment Tools Update
Distillery
Vapor
Nanobox.io
Mix.Config
Elixir Mix
@gotbones
Paul’s GitHub
Bitwalker.org
Sponsors:
Digital Ocean
Picks:
Charles
DevChat.tv/blog
CharlesMaxWood.com
Getting outside
Eric
Fishing
Mario Odyssey on Nintendo Switch
Mark
Spending time away from the computer
Josh
Turkeys
elchemy
Paul
Vapor
Raft
Getting away from the keyboard
Woodworking
ElixirConf EU
Code Beam STO
Special Guest: Paul Schoenfelde.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/12/2018 • 1 hour, 21 minutes, 45 seconds
EMx 006: Elixir and Property-based testing with Vitaly Tatarintsev
Panel:
Charles Max Wood
Mark Erikson
Josh Adams
Special Guests: Vitaly Tatarintsev
In this episode of Elixir Mix, the panel talks to Vitaly Tatarintsev about Elixir and property-based testing. Vitaly is a back-end developer and who is currently still working predominantly with Ruby while he continues learns Elixir. He is fairly new to Elixir and likes to write articles about learning Elixir on his blog What did I Learn. They talk about what property-based testing is, where a person can get started with learning property-based testing, TDD with property-based testing, and much more!
In particular, we dive pretty deep on:
Vitaly intro
Blog - What did I Learn
What is property-based testing?
Run data to find etch cases that don’t work
Are there tools for property-based testing?
Not a lot of tools for this in Elixir
Stream data library
Quick Check
Used in addition to unit tests
Where do you get started with property-based testing?
Start with stream data library
PropErTesting.com
Property-based Testing is a Mindset - ElixirConf EU Talk
How does property-based testing fit into the work flow?
TDD with property-based testing
Trying to implement Java applications
Where has property-based testing helped you?
John Hughes YouTube Video
Allows you to catch errors that you couldn’t predict to occur
Helps you find cases you don’t think of
What do you do when your property-based testing finds an error?
And much, much more!
Links:
Ruby
Elixir
What did I Learn
Stream data
Quick Check
PropErTesting.com
Property-based Testing is a Mindset
John Hughes YouTube Video
Vitaly’s GitHub
@ck3g
Sponsors:
Digital Ocean
Picks:
Charles
Crucial Accountability by Kerry Patterson
Mark
Elixir in Action by Saša Jurić
Josh
John Hughes: Certifying your car with Erlang
PropErTesting.com
Movers
Vitaly
Find time to review your day and work toward your goals
Special Guest: Vitaly Tatarintsev.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
6/5/2018 • 32 minutes, 5 seconds
EMx 005: Asynchronicity in Elixir - Best Effort vs. Guaranteed Execution with Sam Davies
Panel:
Charles Max Wood
Mark Erikson
Josh Adams
Eric Berry
Special Guests: Sam Davies
In this episode of Elixir Mix, the panel talks to Sam Davies about asynchronicity in Elixir. Sam has been programming for about six years and got into Elixir about a year ago. Before working with Elixir, he was a Ruby programmer and he currently works for a company called Nested and introduced them to Elixir there. They talk about asynchronous programming, different Elixir libraries, and his creation Rihanna.
In particular, we dive pretty deep on:
Sam intro
ProGolfMe Startup
Contributor to Rails and Elixir core
Worked in Ruby before Elixir
Loved the Ruby community
Why Elixir?
Asynchronous programming
Understanding the BEAM
Erlang
Idea of supervisors
What you do when a job fails
Is the company going to lose money if we implement this?
Exq library
Resque and Sidekiq
Issues with Exq
Codefund
Rihanna
Rihanna inspired by Que
Delayed Job
And much, much more!
Links:
Elixir
Nested
ProGolfMe
Rails
Ruby
Why Elixir?
Erlang
Exq
Resque
Sidekiq
Codefund
Rihanna
Que
Delayed Job
SamuelDavies.net
Sam’s GitHub
@samphilipd
Picks:
Charles
Mattermost
Documenting processes for the podcasts
Spend time with the people you care about
JavaScript Jabber, Adventures in Angular, React Round Up, and Views on Vue
Mark
gproc
Eric
CodePilot
Working from home
Josh
Talk: Efficient data loading in Elixir using the deferrable pattern
Event Sourcing made Simple by Philippe Creux
Sam
Node.js and Elixir presentation
Talk: Elixir Umbrella
Special Guest: Sam Davies.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/29/2018 • 58 minutes, 39 seconds
EMx 004: Blockchain in Elixir with Kamil Lelonek
Panel:
Mark Erikson
Eric Berry
Justin Bean
Special Guests: Kamil Lelonek
In this episode of Elixir Mix, the panel talks to Kamil Lelonek about Blockchain in Elixir. Kamil is a software engineer from Poland who does full stack development with Elixir and JavaScript. He is also an educated dietician and is interested in topics such as biohacking, Bitcoin, and Blockchain. They talk about how he got into Elixir, how he decided to start implementing Blockchain in Elixir, and Bitcoin.
In particular, we dive pretty deep on:
Kamil intro
Elixir and JavaScript
How did you come to Elixir?
Between Clojure and Elixir originally
Some experience with functional programming
Experience with Java, Ruby, and Scala
Wanted to use a functional language
Full-time Elixir developer now
How hard was it to transition to Elixir?
Syntax of Elixir is similar to Ruby
How long did it take you to go from an operational mindset to a functional mindset?
Coding in a non-idiomatic way
How did you get into Bitcoin and Blockchain with Elixir?
Start everything from scratch
Document journey through blog posts
Haven’t had any problems so far with implementation
Why Elixir is a good technology to implement Blockchain with
Started off simple
Leverage OTP in future
Leveraging wit pattern matching and binary matching
Blog posts to come
Mastering Bitcoin
Bitstring parsing
And much, much more!
Links:
Elixir
JavaScript
Clojure
Bitcoin
Blockchain
Ruby
Scala
Blockchain blog posts
Mastering Bitcoin
Kamil’s Blog
kamil.lelonek.me
Kamil’s GitHub
@KamilLelonek
Picks:
Mark
Solve for Happy by Mo Gawdat
Eric
Six-Sided Fidget Spinner
Justin
Keyboard io
Kamil
Nonviolent Communication by Dr. Marshall B. Rosenberg
Special Guest: Kamil Lelonek.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/22/2018 • 45 minutes, 7 seconds
EMx 003: Chris Keathley
Panel:
Eric Berry
Josh Adams
Justin Bean
Special Guests: Chris Keathley
In this episode of Elixir Mix, the panel talks to Chris Keathley. Chris has been in the Elixir community for a number of years and has been trying to contribute more to the community recently. He created libraries such as Wallaby and has been working on distributed systems tooling more recently. They talk about his various projects that he is working on, such as Raft, Toniq, and Maestro, and much more!
In particular, we dive pretty deep on:
Chris intro
Elixir
Wallaby
What are you doing with distributed systems now?
Raft and Raft for Elixir
People like to attack problems with consistent solutions
Global process registries
What are AP Semantics?
What are CP Semantics?
Available systems
Eventual consistency
Clustering inside of VPN
Encapsulating state
Warehouse kiosks
The world fights against state machines
Alternatives based on rules or events
What projects are you working on now?
CAP Theorum
Toniq GitHub
ecto_hlclock
Event sourcing
Stems around message ordering
Maestro
The Little Elixir & OTP Guidebook by Benjamin Tan Wei Hao
And much, much more!
Links:
Wallaby
Elixir
Raft
Raft for Elixir
CAP Theorem
Toniq
ecto_hlclock
Maestro
Elixir Outlaws
The Little Elixir & OTP Guidebook by Benjamin Tan Wei Hao
Beam Community
Chris’s GitHub
Keathley.io
@ChrisKeathley
Picks:
Eric
Bob’s Burgers
Metabase
Justin
Phantom Thread
Dialyzer
Josh
Elm Game Jam
Chris
Wild Wild Country
Hammocks
Start a garden
Special Guest: Chris Keathley.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/16/2018 • 57 minutes, 48 seconds
EMx 002: ElixirScript with Bryan Joseph
Panel:
Charles Max Wood
Josh Adams
Justin Bean
Special Guests: Bryan Joseph
In this episode of Elixir Mix, the panel discusses ElixirScript with Bryan Joseph. Bryan works for Revelry Labs, has been a programmer for about 10 years, and has worked with Elixir since about 2013. They talk about what ElixirScript is, why you would want to use it, and why he came about wanting to create it. They also touch on different open source libraries that he has created and the importance of usability.
In particular, we dive pretty deep on:
Bryan intro
Elixir
What is ElixirScript?
Use it through a transpiler
What are the biggest challenges facing ElixirScript?
Usability
Where would you use ElixirScript?
Use it on web applications or on node
How easy is it to use this on top of a front-end library?
Hex packages
What’s the build process like?
There is a compile step
Mix compile
Include output folder in whatever app you are doing
Creates ES modules
What’s the most ambitious ElixirScript project going on right now?
To-do application
Was there a pain point at all?
How far did you get with processes?
Processes library
Do have plans to move this over to WebAssembly?
ElixirScript React Library
Vue
Webpack
And much, much more!
Links:
Revelry Labs
Elixir
ElixirScript
Processes Library
WebAssembly
ElixirScript React Library
Vue
Webpack
@bryanjos
Brian’s GitHub
Drab
Picks:
Charles
Star Realms
Justin
Benchy
God of War
Josh
Capabilities 101
erights.org
Bryan
nimble parsec
Adopting Elixir by Ben Marx
The Big Elixir
Revelry Labs
Special Guest: Bryan Joseph.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
5/8/2018 • 34 minutes, 31 seconds
EMx 001: Welcome to Elixir Mix
EMx 001: Welcome to Elixir Mix
Panel:
Charles Max Wood
Josh Adams
Justin Bean
Mark Erikson
Special Guests: None
In this episode of Elixir Mix, the panel discusses Elixir and themselves. They talk about how the show got started, what each of the panelists are wanting to get out of the show, and how each of them got into Elixir themselves. They stress the fact that they want this show to make a difference in the Elixir community, give Elixir a bigger audience, and allow people to see what big and amazing things are happening with the language.
In particular, we dive pretty deep on:
Panelist introductions
DailyDrip and Elixir Sips
CodeFund.io
Elixir Lunch and Utah Elixir
Dave Thomas Elixir Course
How the show got started
This show will serve a community that he somewhat knows
Wanting to make a difference in the Elixir community
What are you wanting to see from the show?
Getting more people using Elixir
Learning from the best
Want people to enjoy Elixir as much as they do
How did you get into the Elixir community from the Ruby community?
How did you find out about Elixir?
Actor model
What do you recommend for new people to Elixir?
Learning the data types and recursion patterns
Resources
Elixir Resources
ElixirSchool.com
ElixirStatus.com
Elixir Docs
#myelixirstatus on Twitter
Phoenix
And much, much more!
Links:
DailyDrip
Elixir Sips
CodeFund.io
Elixir Lunch
Utah Elixir
Dave Thomas Elixir Course
Elixir
Ruby
Elixir Resources
ElixirSchool.com
ElixirStatus.com
Elixir Docs
Phoenix
Brainlid.org
@Brainlid
@knewter
Justin’s GitHub
Nerves
Picks:
Charles
Ordro Camera
Tri-Pod
Facebook Marketplace
Justin
A Phoenix Field Guide For Djangonauts by Rodrigo Landerdahl
Waverider
Josh
The Eponymous Laws of Tech
Wallaby
Mark
ElixirStatus.com
#ElixirStatus
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy