Elixir Wizards is an interview-format podcast, focused on engineers who use the Elixir programming language. Initially launched in early 2019, each season focuses on a specific topic or topics, with each interview focusing on the guest's experience and opinions on the topic. Elixir Wizards is hosted by Alex Housand, Sundi Myint, and Eric Oestrich of SmartLogic, a dev shop that’s been building custom software since 2005 and running Elixir applications in production since 2015. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)
Joining us in conversation today is Nathan Willson all the way from Tokyo, Japan. Listeners will learn about the polyglot landscape he works in from Japan, why he believes knowing a language, and mastering it, are two different things, and what his first foray into coding looked like. We touch on the necessary evil of MIDI plugins, and Nathan introduces listeners to GEMS, how you can use it, and what he has done to make it accessible across the globe. We talk latency issues, curbing the potential for abuse, and choosing to make an app open source, before delving into Nathan’s other projects outside of GEMS, including the Elixir app, Biddy, that he built with five friends, When to Chat, and much more. Thanks for tuning in to hear from today’s inspiring guest. Key Points From This Episode: An introduction to today’s guest, Nathan Willson, his Canadian-Japanese history, his obsession with Elixir, and his musical experimental app, GEMS. The polyglot environment in which he works which is Japanese and English. Why knowing a language and mastering a language are such different things. His first foray into coding via Reaper’s plugins. Why he considers MIDI to be a necessary evil. What GEMS, or Globally Editable Matrix Sequencer, is, and how it works. How Phoenix or Elixir can facilitate the use of GEMS anywhere in the world, at the same time. How he has approached the problem of the potential for abuse. Relative and absolute latency and how that impacts user experience between countries. Nathan’s other projects outside of GEMS, including the Elixir app, Biddy, and TreeLib. The app, When to Chat, that Nathan has built. Where he picked up his design skills with a background in back-end engineering. Why he prefers BandCamp to Spotify as a music listener. How his knowledge of Elixir has helped him to code Ruby better. An invitation from Nathan to reach out with what you are working on. Links Mentioned in Today’s Episode: Tone.js — https://tonejs.github.io/ BandCamp — https://bandcamp.com/ Nathan Wilson — https://nathanwillson.com/ Nathan Willson on Twitter — https://twitter.com/nathanwillson Nathan Willson on Instagram — https://www.instagram.com/nahtanw/ GEMS — https://gems.nathanwillson.com/ What is Max? | Cycling ‘74 — https://cycling74.com/products/max When to Chat —https://whentochat.co/ SmartLogic — https://smartlogic.io/ Special Guest: Nathan Willson.
This week we are joined by Sanne Kalkman, former teacher turned software engineer. Currently, Sanne works at CodeSandbox, where she's one of two Elixir developers responsible for the backend. When she's not coding, you'll probably find her either 25 browser tabs deep into a new CS topic, learning yet another new hobby, or behind her sewing machine, all of which we dive into in today’s episode! Tuning in, you’ll discover which languages Sanne is proficient in and why she doesn’t consider herself a polyglot; gain some insight into CodeSandbox Projects, a more collaborative rewrite of CodeSandbox from the ground up; and get a sneak peek into Sanne’s upcoming keynote address at Code BEAM Europe in May 2022, which tackles how to help juniors succeed in your organization. We also touch on garbage collection in Elixir, cute avatars, the intersection of code and sewing, and much, much more, so make sure not to miss this fun and insightful conversation with coder and crafter, Sanne Kalkman! Key Points From This Episode: What it’s like living in the Netherlands, Sanne’s favorite TV show, and more. An introduction to Sanne, how she found herself in tech, and her role at CodeSandbox. The first language she entered the professional coding space with: Elixir, of course! How she thinks about JavaScript now that she is proficient in another language like Elixir. Learn more about CodeSandbox Projects and how it fosters live collaboration. How the CodeSandbox app is broken down into Elixir, TypeScript, and Rust. Why Sanne views CodeSandbox as a polyglot environment, but she isn’t a polyglot herself. Find out why she prefers to stick with Elixir in her personal capacity. Code BEAM Europe 2022 and some highlights from Sanne’s upcoming keynote address. Top tips for helping juniors succeed at your organization; model asking questions. The TLDR summary of garbage collection in Elixir from Sanne’s 2020 Code BEAM Talk. Cute avatars over headshots, Sanne’s crafty hobbies, side projects, and more! Some of the cool work taking place at the intersection of code and sewing. Opportunities at CodeSandbox to dive into different codebases and learn different things. Final plugs, mentions, and where to connect with Sanne! Links Mentioned in Today’s Episode: Sanne Kalkman on LinkedIn — https://www.linkedin.com/in/sannekalkman/ Sanne Kalkman on GitHub — https://github.com/sannek/sketch Sanne Kalkman on Twitter — https://twitter.com/sannekalkman CodeSandbox — https://codesandbox.io/ Our Flag Means Death — https://www.hbomax.com/series/urn:hbo:series:GYf3LzwJV98JifQEAAAAO Walibi Amusement Park — https://www.walibi.com/ Code BEAM Europe 2022 — https://codesync.global/conferences/code-beam-sto-2022/ Sanne Kalkman: ’Who Takes Out Your Trash’ (Code BEAM V 2020) — https://youtu.be/OSdaXNQ0xhQ Covatar — https://covatar.com/ FreeSewing — https://freesewing.org/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://smartlogic.io/jobs Special Guest: Sanne Kalkman.
This double guest episode features Cassidy Williams, Head of Developer Experience and Education and Tobi Pfeiffer, Staff Engineer from Remote. This fast growing Elixir company provides HR support to clients who are hiring internationally. In this fascinating fast-paced conversation Cassidy and Tobi discuss how Remote works, the explosive growth it has seen and what Cassidy and Tobi have most enjoyed in their time there. Also, we learn more about Cassidy's content creation projects, why Tobi's handle is PragTob, and the strangest laws they have come across when working internationally. We also learn about Cassidy's love of mechanical keyboards and about Tobi's adorable pet rabbits. We wrap up the episode with some great book recommendations and what's upcoming at Remote. Key Points From This Episode: Welcome to Cassidy Williams (Head of Developer Experience and Education) and Tobi Pfeiffer (Staff Engineer) at Remote. Why Cassidy recommends the app Centered for achieving flow state. How different types of music affect everyone’s concentration while coding. Getting to know Tobi: Rails Girls community member, wearer of green and keyboard player. Who Cassidy is: a dweeb who likes memes and how she found the world of coding. What Remote is and how it works. How Tobi came up with the handle PragTob! The explosive growth Remote has seen, and how they stay on top of it. What's coming on the open-source front of Remote. The challenges Remote faces when employing people from different countries. The strangest laws Tobi and Cassidy have come across internationally. Why Cassidy enjoyed the well-practiced onboarding aspects of Remote, and the company values Tobi most appreciates. Tobi’s secret role in the formation of Remote! The people Tobi and Cassidy see moving into Elixir and which skills benefit them the most. Why Tobi's GitHub picture has a rabbit and his favorite game. Cassidy’s passion for mechanical keyboards! Book club recommendations: the books you should be looking out for, and why! Links Mentioned in Today’s Episode: Cassidy Williams on LinkedIn — https://www.linkedin.com/in/cassidoo/ Cassidy Williams on TikTok — https://www.tiktok.com/@cassidoo Cassidy Williams’ Newsletter — https://cassidoo.co/newsletter/ Tobi Pfeiffer on LinkedIn — https://www.linkedin.com/in/tobiaspfeiffer Tobi Pfeiffer on GitHub — https://github.com/pragtob Remote — https://remote.com/ Remote GitHub — https://github.com/remoteoss Centered — https://www.centered.app/ Benchee — https://elixirschool.com/en/lessons/misc/benchee SimpleCov — https://github.com/simplecov-ruby Rails Girls Berlin — http://railsgirls.com/berlin The Agile Samurai: How Agile Masters Deliver Great Software — https://www.amazon.com/Agile-Samurai-Software-Pragmatic-Programmers Netlify — https://www.netlify.com/ Devs for Ukraine — https://www.devsforukraine.io/ Jose Valim — https://www.linkedin.com/in/josevalim Marcelo Lebre — https://www.linkedin.com/in/marcelolebre RubyConf — https://rubyconf.org/ Rust — https://rust.facepunch.com/ Go — https://go.dev/ Node.js — https://nodejs.org/en/ React — https://reactjs.org/ Astro — https://astro.build/ Supabase — https://supabase.com/ Thea 2: The Shattering — https://store.steampowered.com/app/606230/Thea2TheShattering Mechanical Keyboard — https://en.wikipedia.org/wiki/ModelM_keyboard QMK Firmware — https://docs.qmk.fm/#/ Brandon Sanderson — https://www.brandonsanderson.com/ Dark Matter — https://www.amazon.com/Dark-Matter-Novel-Blake-Crouch SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://smartlogic.io/about/jobs Special Guests: Cassidy Williams and Tobi Pfeiffer.
Today’s guest is Devon Estes, who leads the third-party integration team at Remote, a company that uses technology to make it easier for other companies to hire remote employees (not contractors, actual employees) from over 100 countries across the world. Prior to working at Remote (which he loves, as you'll hear today), Devon was a freelancer and avid public speaker, and some of his talks from many years ago are still relevant today. In this conversation, Devon explains why functional programming is easier to use than any other programming type, and how the only thing holding you back from becoming a master is your desire to learn! Key Points From This Episode: Guest host Dan Ivovich explains what prompted him to come up with the theme for this season; Elixir in a Polyglot Environment. A brief rundown of Devon’s daily life. Content that Devon covers in the talks that he gives these days. Devon explains what his role at Remote (where he has worked since November 2021) involves. A challenge that Devon has noticed other people facing when learning Elixir. An overview of what Remote does, and the specific area that Devon’s team focuses on. Functional programming versus object-oriented programming. Devon shares an example of the power of Elixir. The importance of libraries in making Elixir a viable language for data scientists. Devon’s thoughts on mutation testing. Why Devon doesn’t do a lot of open-source work anymore. How Remote has grown over the past year and a half. One of the things that Devon loves about working at Remote. Links Mentioned in Today’s Episode: Devon Estes on Twitter — https://twitter.com/devoncestes Devon Estes — https://devonestes.com/ Refactoring Elixir — https://www.youtube.com/watch?v=tJJMrtJEK1A Going Multi-Node with ExUnit— https://www.youtube.com/watch?v=elC_8PhWRTg Designing Elixir Systems with OTP — https://www.goodreads.com/book/show/45159167-designing-elixir-systems-with-otp ElixirConf EU — https://www.elixirconf.eu/ Remote — http://remote.com/ SmartLogic — https://smartlogic.io/ Jobs at SmartLogic — https://smartlogic.io/jobs Special Guest: Devon Estes.
Welcome to the new season of Elixir Wizards: Elixir in a Polyglot Environment. To get things going on this exciting and intriguing subject we are very happy to welcome Miguel Cobá! Miguel currently works at Shore, and he gives us some great insight into the part that Elixir plays at the company (alongside other languages), and how this suits his particulars skillset and vision. In this season, we want to consider important questions about reaching beyond the confines of the Elixir community, and how we can all learn from each other. Miguel is such a perfect guest to open this conversation, as he is fascinated by the way Elixir can fit into a network of knowledge and its deployment into other areas. In today's chat, we also get into the early days of Miguel's interest in programming, and how it took starting a job for him to really start learning. So, to hear all this and more, and to get a taste of a great season to come, be sure to tune in! Key Points From This Episode: Miguel's perspective on the importance of using Elixir alongside other languages. The languages that Miguel has worked in, and currently uses. A look at the path that Miguel took into programming and the first language he used! Turning an interest into a career; Miguel's biggest periods of learning. Background and motivations for Miguel's book, 100 Elixir Tips. The book that Miguel wrote that aims to help developers to write their own books! Constant learning and the passion that Miguel has for sharing this process with others through writing. Miguel shares some surprising parts of deployment in other languages. The combinations of languages that Miguel prefers. An explanation of Elixir's strength for background or asynchronous tasks. Why Miguel values the attitude above different language skills in a programmer. Unpacking how Elixir fits into the polyglot environment at Shore. How Miguel feels about community building and the usefulness of Twitter. Miguel compares his favorite parts of Elixir and the things he feels it is missing. Where to find and connect with Miguel online! Links Mentioned in Today’s Episode: 100 Elixir Tips — https://store.miguelcoba.com/l/100elixirtips Deploying Elixir — https://blog.miguelcoba.com/deploying-elixir-ebook Miguel Cobá on Twitter https://twitter.com/MiguelCoba_ Elm — https://elm-lang.org/ Miguel Cobá Blog https://blog.miguelcoba.com/ Gumroad — https://gumroad.com/ Hashnotes — https://www.hashnotes.app/ Shore — https://www.shore.com/en/ SmartLogic — https://smartlogic.io/ Jobs at SmartLogic – https://smartlogic.io/jobs Special Guest: Miguel Cobá.
Welcome to the Season 7 finale! Today, we are joined by Todd Resudek, Staff Engineer at Jackpocket, to reflect on the past season and speak about the impact of Elixir, as well as a variety of other topics almost entirely unrelated to programming! Todd is a reformed graphic designer that got his start in web development 15 years ago. He has made a career in front-end development, PHP, Rails, and Elixir. He is also a member of the Hex core team and, in his spare time, he tinkers with hardware projects. In today’s episode of Elixir Wizards, you’ll learn more about the 2022 EMPEX Elixir Mountain event that Todd is co-organizing, the formula for anticipating how many people will turn up at your event, and what trains have to do with the history of timezones. We also touch on Todd’s hopes for the future of Elixir, how Elixir has impacted him, both personally and professionally, and why he recommends learning Elixir as a backup language, plus so much more! Tune in today for a fun discussion with Todd Resudek! Key Points From This Episode: The hilarious and sometimes tragic mispronunciation of our names. Learn more about the 2022 EMPEX Elixir Mountain event that Todd is co-organizing. Todd shares a bit about his background and his allegiance to Wisconsin football. We discuss the formula for how many people to expect at your meetup (or wedding). Some interesting history on timezones and how they relate to trains. Dune memes, roller skating, a qualifier for couple skates, and more. Todd shares his favorite Elixir Wizards episode from Season 7: Brooklyn Zelenka. How Todd learned Elixir when he first started working at Weedmaps. Why he suggests learning Elixir as a ‘backup language’ rather than a primary one. His biggest hope for the future of Elixir: an even more diverse, welcoming community. How a functional programming language like Elixir has impacted the way Todd works. The personal impact the Elixir community has had for Todd by enabling new connections. Find out why Alex’s dog, Bean, loved the test kitchen at their previous workplace. Eric and Alex share how the impact of Elixir has changed for them throughout this season. What all our children, human and animal, had for breakfast. Links Mentioned in Today’s Episode: Todd Resudek on LinkedIn — https://www.linkedin.com/in/toddresudek/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Todd Resudek on GitHub — https://github.com/supersimple Todd Resudek — https://supersimple.org/ Jackpocket — https://jackpocket.com/ EMPEX Conference — https://www.empex.co/ EMPEX MTN 2022 — https://www.empex.co/mtn Alex’s Favorite Dune Meme — https://i.kym-cdn.com/photos/images/facebook/002/234/162/d96 ‘Brooklyn Zelenka and The Exciting World of Edge Computing’ — https://smartlogic.io/podcast/elixir-wizards/s7e9-zelenka/ Toucan — https://www.toucan.events Elixir Wizards |> Conference — https://smartlogic.io/about/community/elixir-wizards-conference/ SmartLogic — https://smartlogic.io/ Audience Survey -- https://smr.tl/survey Special Guest: Todd Resudek.
This week we welcome Arthi Radhakrishnan back to the show to discuss how Elixir and her career more broadly have shaped her perspectives on learning. Arthi first got into programming as a child growing up in the Bay Area, constantly exposed to tech and tech culture. She remembers building websites using GeoCities in high school and learning about data structures and OOP in Java while in college before transitioning to Elixir during her current position as a backend engineer at Community. We hear about what made her learning so enjoyable, the biggest paradigm shifts she needed to make, and she talks about the value of mentorship, pair programming, and working at a company that encourages learning on the job. In today’s show, we also explore a realization that Arthi has come to at the end of her first decade as a software engineer: that effective learning requires a big dose of self-compassion. So, for all this and more, be sure to tune in today! Key Points From This Episode: Introducing Arthi and the work she does as a backend engineer for Community. What it was like growing up in the Bay Area and how Arthi got into programming. Going from building websites with GeoCities in high school to building a compiler in college. The big role that Java and OOP played in Arthi’s experience of programming fundamentals. Arthi’s experience of learning Elixir and having to shift away from an OOP paradigm. Where Arthi is in her journey of learning Elixir and why she enjoys it so much. How compelling it is to learn on the job and the value of companies that allow for this. The impact that company culture has on job experiences and career trajectories. Summer internships Arthi did in college and how they shaped her career goals. Finding time to do personal learning and why Advent of Code is so helpful. Why setting low expectations for yourself is a helpful paradigm for learning. Exercising self-compassion while learning and how Arthi’s learning approach has evolved. Why Arthi is so grateful that she has gotten to learn Elixir at Community specifically. What good mentorship looks like to Arthi and why she loves pair programming. How learning Elixir and the past 10 years have shaped Arthi’s sense of her needs. Arthi’s thoughts on how Elixir will evolve in the next 10 years. Links Mentioned in Today’s Episode: Arthi Radhakrishnan — https://www.linkedin.com/in/arthiradhakrishnan/ Community — https://www.community.com/ Advent of Code — https://adventofcode.com/ SmartLogic — https://smartlogic.io/ Audience Survey -- https://smr.tl/survey Special Guest: Arthi Radhakrishnan.
Today we welcome software engineer Meryl Dakin to the show, who is currently employed by Knock. Meryl is here to help us continue our exploration of this season's theme of the impact of Elixir, and we get to hear about all how it has impacted her professional and personal life! Our guest talks about her journey through the world of development and the different positions she has held before her current role. We also get into her recent stint as the emcee of ElixirConf alongside our other friend Sophie DeBenedetto! We talk about learning through teaching, encouraging more questions, and why Elixir has had such a positive impact on Meryl's approach to code more generally. Big takeaways from today's conversation include the way that learning a new language can alter one's career in multiple and unexpected ways, why the Elixir community can feel so safe and supportive, and who might get the most benefit from being exposed to Elixir at the right time. So, to hear it all from Meryl and our usual cast of characters, be sure to listen in! Key Points From This Episode: A quick update on Meryl and what she has been busy with lately. Meryl's experiences emceeing the recent ElixirConf! Unpacking what Knock does and who the company serves. How Elixir has been used at Knock and the great experience Meryl has had building with it. Meryl's learning curve with Elixir and the biggest developments in the space from her perspective. The most common advice that Meryl would offer to junior engineers! Why teaching is often the best route to further learning; Meryl's reflections on her presentations. The importance of asking questions and speaking up when you do not understand. How Elixir shifted Meryl's way of thinking about programming: cleaner code and encapsulation. The different kinds of developers that might benefit from being introduced to Elixir. Thoughts on making Elixir more visible to the right people in the larger community. The personal impacts that Elixir has had on Meryl's life: meeting great people and finding an engaging and supportive community. When to consider using Knock and the initial offer for new clients. Where to go to find out more about Knock and whether it might be right for you! Meryl shares her biggest hopes and dreams for the future of the Elixir community. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Meryl Dakin on Twitter — https://twitter.com/meryldakin ElixirConf — https://www.elixirconf.com/ Netflix Christmas Universe — https://collider.com/netflix-christmas-universe-how-movies-connect-explained/ Flatiron School — https://flatironschool.com/ Frame.io — https://www.frame.io/ Knock — https://knock.app/ Knock on Twitter — https://twitter.com/knockdotcom Knock Changelog — https://knock.app/changelog Sophie DeBenedetto — https://www.amazon.com/Books-Sophie-DeBenedetto/s?rh=n%3A283155%2Cp_27%3ASophie+DeBenedetto The Flutter Apprentice Book — https://www.raywenderlich.com/books/flutter-apprentice/v1.0.ea2 EMPEX — https://www.empex.co/mtn Programming Phoenix LiveView — https://pragprog.com/titles/liveview/programming-phoenix-liveview/ Twilio — https://www.twilio.com/ Audience Survey -- https://smr.tl/survey Special Guest: Meryl Dakin.
We are very excited to welcome Brooklyn Zelenka back to the podcast to talk about her work at Fission and the ever-expanding frontier of edge computing! Brooklyn is a co-founder and CTO at Fission and she gives us some insight into the focus of the company's applied research. We hear from our guest about the projects she has been most excited about recently and she even talks about her newfound passion for fermentation! She does a great job of explaining why edge computing is potentially so revolutionary and some of the hurdles that are yet to be overcome on the way to reaching this potential. We discuss security and trust, tech equity, broad adoption, and much more before getting into some more Elixir-focused questions. Our guest shares how Elixir and functional programming have inspired her in different ways, as well as her perspective on some of the weaknesses of Elixir. At the end of our chat, Brooklyn gives some great resource recommendations for anyone wanting to learn more about edge computing, so make sure to stay tuned for that! Key Points From This Episode: What Brooklyn has been keeping busy with recently. A little about Fission and what their research focuses on. Tech and societal trends through the pandemic and Brooklyn's new interest in fermentation. Brooklyn unpacks the main mission of edge computing and some of the biggest challenges. Decisions around what is localized and what is stored remotely in edge computing. Addressing the issue of trust and safeguarding against data breaches. The influence of functional programming in Brooklyn's work on edge applications. Some information on Brooklyn's talk at ElixirConf this year titled 'The Jump to Hyperspace.' Our guest explains the concept of antientropy and its associated techniques. Thoughts on the problem of tech equity and how this might be tackled. Gaining popular trust for new technologies and their inevitable faults. Brooklyn's feelings about Haskell, and the inspiration she takes from it into her work with Elixir. The impact that Elixir has on Brooklyn's work in a broader sense. The route that Brooklyn took into the functional programming world. Brooklyn weighs in on the questions of Elixir's downsides. Resources recommendations for anyone looking to get more acquainted with work in edge computing. Where to find and connect with Brooklyn online! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Brooklyn Zelenka — https://twitter.com/expede?lang=en Fission — https://fission.codes/ Brooklyn Zelenka at ElixirConf 2021— https://www.youtube.com/watch?v=ogOEEKWxevo Designing Data-Intensive Applications — https://www.bookmall.co.za/products/designing-data-intensive-applications?gclid=Cj0KCQiA2ZCOBhDiARIsAMRfv9ITE1sFKIIcSwK6EGR04aW2RrFZphwrvDQxZekyhuPbEyuqKt6Td8QaApPqEALw_wcB Brooklyn's Tepache Fermentation Recipe — https://ipfs.io/ipfs/bafybeiawn23o6prk4kdhv4cpbfylzr5g2fr22umhvbshf4rlksfrgjzpga/p/Tepache.pdf Witchcraft Suite of Libraries in Haskell/Elixir — https://hexdocs.pm/witchcraft/readme.html Proto School — https://proto.school/ Fission Discord — https://discord.gg/zAQBDEq Fission Discourse — https://talk.fission.codes/ Fission on Luma — https://lu.ma/community/com-XuESjPQQHjh43pc FissionCodes Twitter — https://twitter.com/FISSIONcodes Witchcraft Suite — https://github.com/witchcrafters Special Guest: Brooklyn Zelenka.
We are always excited to have conversations about the growth of the Elixir community, and today we go truly global, welcoming Sigu Magwa to the podcast, who hails from Kenya! Sigu is currently traveling in the US and he fills us in on some of the highs and lows of his trip and why he is so excited to get home to his friends and family. From there, we get into some interesting information about Elixir Kenya and the growth of the meetup over the last couple of years. Sigu shares some insight into IoT in his country and what the general tech space is like right now over there, before opening up about his journey into programming and how he found his way into working with Elixir. We also get to talk about his company, Podii, and their first few years working with clients. Apart from all the tech talk, Sigu is kind enough to shed some light on Kenya's matatu buses, and what makes them so unique, a subject that was particularly captivating to our panel! Listeners can also expect to hear about the recent ElixirConf Africa, Sigu's thoughts on hiring young talent, and what he hopes to see in the next decade within the community. So to catch it all, be sure to listen in with us on Elixir Wizards! Key Points From This Episode: Sigu's trip to the US and the sights he has been seeing in different cities. Some information from Sigu about the Elixir Kenya meetup and the community there. Sigu's experiences with IoT technology in Kenya and its adoption. The elevator pitch for Sigu's company, Podii, and its roots in training. Podii's current operation and company size and some of the projects they have worked on thus far. The coding language trends in Kenya; Sigu weighs in on what he has noticed. Sigu's history in the programming space and how he made his way into the world of tech. How 'matatu' buses operate in Kenya; TVs, celebrity portraits, strobe lights, and high speeds! The ElixirConf Africa that was hosted this year and Sigu's experience of being involved. Sigu's hopes for the Elixir community for the next ten years! Approaches for identifying talented young Elixir developers. How and where to connect with Sigu online and final remarks from our guest. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Sigu Magwa on LinkedIn — https://www.linkedin.com/in/sigu/?originalSubdomain=ke Sigu Magwa on Twitter — https://twitter.com/s_igu Podii — https://podiihq.com/ Nerves — https://www.nerves-project.org/platform.html ElixirConf Africa — https://elixirconf.africa/ QuadBlockQuiz — http://quadblockquiz.org:4000/ Matatu Bus — https://www.theguardian.com/world/gallery/2018/apr/27/a-minibus-ride-like-no-other-nairobis-matatu-culture-in-pictures Hire Junior Engineers — https://smartlogic.io/blog/hire-junior-engineers/ Teach Yourself Computer Science — https://teachyourselfcs.com/ Structure and Interpretation of Computer Programs — https://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871 Elixir Wizards Discord — https://discord.com/invite/JGcqSaYf2a Special Guest: Sigu Magwa.
Brooklin Myers is on a quest to change the perception that Elixir is difficult to get into and we are so grateful to have him as a guest on the show today. Aside from being a passionate programmer, Brooklin spends a lot of his time trying to encourage new members in the Elixir community through his Twitter account and podcast called Elixir Newbies. In this episode, we talk to Brooklin about his relationship with Elixir and its broader community, why he loves the space so much and, and why he wants to help it grow. We cover his journey into programming and how he got involved with Elixir specifically. He talks about the features of the language that he loves most and how learning Surface has allowed him to use Elixir in the same way he used to use React. Our conversation also ventures onto the subject of Dungeons and Dragons, another passion of Brooklin’s, and he tells us how learning programming is the closest he has come to fulfilling his dream of being a wizard! Key Points From This Episode: Region-specific spelling and our peeves about words we easily misspell. Brooklin’s background in React and how Surface has helped him use Elixir in a similar way. Structure and testing: Why Brooklin loves Elixir and how it compares to JavaScript. How Brooklin got into programming and left his job selling computers. What led Brooklin to discover Elixir and how he realized its true potential. The aspect of problem-solving and continuous growth Brooklin loves about programming. Brooklin’s desire to help others learn and why he started the Elixir Newbie podcast. How to get over perfectionism: the value of remembering it is okay to fail. Sundi and Brooklin’s approach to taking notes and turning them into posts or tweets. How Brooklin handles his writing, podcasting, and other work by time-blocking. Brooklin’s love of Dungeons and Dragons and the improvisation of being the DM. Why Brooklin loves fantasy and how programming is the closest thing to real-world magic. The impacts of Elixir on Brooklin and how supportive the community has been to him. Whether Brooklin feels that learning Elixir has changed the way he codes. Aspects of Elixir that can improve regarding ease of access to the community. Final shoutouts from Brooklin and where to connect with him online. Links Mentioned in Today’s Episode: Brooklin Myers on Twitter — https://twitter.com/brooklinjmyers Elixir Newbie — https://www.elixirnewbie.com/ Elixir Newbie Podcast — https://podtail.com/en/podcast/elixir-newbie/ Lost Mines of Phandelver – https://www.dicebreaker.com/games/dungeons-and-dragons-5e/deal/lost-mines-of-phandelver-adventure-free Kealy Doyle — https://www.linkedin.com/in/kealy-doyle/ Jono Stiansen — https://twitter.com/JonoCodes Matthew Baker — https://www.linkedin.com/in/mcbii/ Anton’s Pasta Bar — https://antonspastabar.com/ Keith Eats Everything — https://www.youtube.com/playlist?list=PL9qQXSjI-WOppp4B9x5bgsBS3993KAX2e Surface — https://hexdocs.pm/surface/Surface.html SmartLogic — https://smartlogic.io/ Special Guest: Brooklin Myers.
It is important to us that the Elixir community keeps thriving, and one of the best ways to ensure this is by lowering the barrier to entry as much as possible. Livebook is helping to achieve this aim, and today we are lucky enough to be joined by its developer, Jonatan Kłosko. Jonatan is a young prodigy because while he is still at college, he is working closely with José Valim at Dashbit, and he can solve a Rubik’s cube in under five seconds! After hearing about his college thesis on evolutionary algorithms using Numerical Elixir, we jump into the story of how he met José and started building Livebook. He explains that Livebook is a web application for writing interactive and collaborative code notebooks for Elixir and we hear about the many features he is building into it. From there, Jonatan describes what he loves about Elixir, and we discuss how learning functional programming changes the way we code. Tuning in, you’ll also hear about a bunch of features that make Elixir so great, how its downsides are mostly solved by its extensibility, and some of Jonatan’s other hobbies that help him keep balance in his life. Be sure to sip on some Elixir with us today! Key Points From This Episode: Jonatan speaks about “speedcubing”: his hobby of quickly solving Rubik’s cubes. How Jonatan got into programming and where he is at in his CS degree. Discussing Jonatan’s Bachelor’s thesis project on evolutionary algorithms in Elixir. How evolutionary algorithms are a style of solving optimization problems biologically. Building the project using the Erlang distribution and the Numerical Elixir library. How Jonatan started working on the Livebook project with Dashbit. Thoughts on how Jonatan broke into the Elixir community and how others can do the same. Livebook: a code notebook application with collaborative and sequential evaluation features. The IEx session abilities of Livebook and how impressed Sundi was when she discovered them. The different use cases for Livebook and the direction Jonatan wants to take the app in. Jonatan’s process of learning Elixir at college and the application he built for a project. The pair programming features of Livebook and how to use them. How well-positioned Jonatan is to learn Elixir and what he loves about the language. The functional programming style and how it affects how people write code after learning it. Downsides of Elixir around immutability and typing and Jonatan’s feelings toward this. How Elixir is making an impact on the programming community through being user-friendly. Jonatan talks about his other hobbies and how he finds balance in his life. Hopes for the future of Elixir, resources for learning, and how to get involved in the community. How amazing the pipe operator is and the huge advantage it gives Elixir over JavaScript. Final plugs from Jonatan and how best to reach out to him online. Links Mentioned in Today’s Episode: Jonatan Kłosko — https://jonatanklosko.com/ Jonatan Kłosko on GitHub — https://github.com/jonatanklosko Speedcubing — https://www.rubiks.com/en-us/speed-cubing Erlang Ecosystem Foundation Slack — https://erlef.org/slack-invite/erlef Numerical Elixir — https://github.com/elixir-nx LiveView — https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html Phoenix LiveView — https://github.com/phoenixframework/phoenixliveview Dashbit — https://dashbit.co/ Haskell — https://www.haskell.org/ React — https://reactjs.org/ Elixir — https://elixir-lang.org/ José Valim — https://twitter.com/josevalim Livebook — https://dashbit.co/blog/announcing-livebook SmartLogic — https://smartlogic.io/ Special Guest: Jonatan Kłosko.
Today on the show we are grateful to get the chance to speak with Yiming Chen from Tubi, where we hear all about how he likes to use Elixir and the contributions he has made to the community. We begin as always with Yiming's journey into programming and how he got into Elixir through his early interest in Ruby. From there, we talk about the magic of Protocols, hearing about an awesome project Yiming built using them and how this lead him to build a testing framework called Promox. In this section, we also get into how Protocols enable polymorphic logic, why they are useful for defining shared interfaces explicitly, and the differences between Promox and Mox. Our conversation today covers some general advantages of writing code in Elixir, and we explore how it has influenced Yiming’s style of programming, its efficiency thanks to concurrency, and its usefulness for building maintainable applications. Wrapping up, we hear Yiming’s thoughts about the nascent Elixir community in China and all the future possibilities for this magical language. Key Points From This Episode: How Yiming got into programming by building websites using WYSIWYG tools as a child. Yiming’s experiences using Ruby and how that led him to learn Elixir. People Yiming knows that are using Elixir for personal projects and some highlights of these. Yiming’s project where he used Protocols to transfer files from one cloud provider to another. How Yiming’s Protocol project led him to create a testing framework called Promox. Protocols versus behaviors and how Promox differs from Mox. A basic description of how Protocols enable polymorphic logic in Elixir. Why Protocols are so useful for defining shared interfaces explicitly. The thing that makes Protocols in Elixir specifically attractive. Sundi’s talk on Mox and her thoughts on the pros and cons of using it. How Yiming got into using Mox through Ruby and his thoughts on it. The advantages of using Elixir over Ruby relating to concurrency and testing. Networking and software developer jobs after remote work. How Yiming’s ElixirConf talk went and the positive feedback he received. Yiming’s feelings about Test Driven Development and how closely he follows it. Learning Lisp in college and Yiming’s earlier experiences with functional programming. How small the Elixir scene in China is and thoughts about how it should grow. The benefits of Elixir for building maintainable applications and more. How Elixir has changed the way the Yiming programs. A model for building websites in Elixir with HTTP requests as functions. Final plugs from Yiming about the need for developers at Tubi! Links Mentioned in Today’s Episode: Yiming Chen on Twitter — https://twitter.com/dsdshcym?lang=en tubi.tv — https://tubitv.com/ Quinn Wilton — https://twitter.com/wilton_quinn Promox — https://giters.com/dsdshcym/promox Sundi Myint: Stunt Doubles | Testing with Mox, Elixir Conf 2021 — https://youtu.be/qMScnpGhu4E Yiming Chen - Promox: Roles, Protocols, and Mocks — https://youtu.be/Df81LbdRd0A ‘Mocks and explicit contracts’ — https://dashbit.co/blog/mocks-and-explicit-contracts Programming Phoenix — https://www.amazon.com/Programming-Phoenix-Productive-Reliable-Fast/dp/1680501453 Why Elixir Matters A Genealogy of Functional Programming - OsaGaius — https://youtu.be/X2u0bBqhRKE SmartLogic — https://smartlogic.io/ Special Guest: Yiming Chen.
Today we are joined by programmer, professor, educator, and podcaster, Adolfo Neto! We have a fascinating conversation that continues our exploration of the theme of the impact of Elixir, hearing from Adolfo about his early attraction to computers and computer science, the decision to study the subject, and how this led to a life in education and academia. We also talk about growing up in Brazil and how geography influenced his career trajectory, before getting into some of the main outlets that Adolfo uses to share information on functional programming. He also comments on what he loves about Elixir, why learning it can improve any programmer's skills, and much more. One of Adolfo's main goals with his podcasts and YouTube channel is the diversification of the computer science field, and to bring the subject to a wider audience that may not always consider it an option to pursue. Towards the end of our chat, our guest shares some thoughts on useful resources to check out, and his desire to help the Elixir community to continue to grow! Key Points From This Episode: Opening remarks and rants from Adolfo regarding Livebook! Adolfo's route into teaching and how he became a university professor. Information on Adolfo's Ph.D. program which he completed at the University of São Paulo. The initial impetus to study computer science; what drew Adolfo to the field. Adolfo's YouTube channels and the subjects he covers for his audience. The course that Adolfo offers on Elixir to students all over the world! How Adolfo found and learned about functional programming. Adolfo's thoughts on the benefits of different functional programming languages. The main goals that Adolfo has for his functional programming classes. Adolfo's own forays into podcasting, and what drew him to the medium! Experiences in the South; Adolfo's early days studying the US. Recommended resources for learning Elixir; the books and sites that Adolfo uses. Adolfo's hopes for Elixir to keep growing and why he prefers functional programming. How to connect with Adolfo online and make use of some of his amazing content! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Adolfo Neto on Twitter — https://twitter.com/adolfont Adolfo Neto on YouTube — https://www.youtube.com/c/AdolfoNeto Livebook — https://livebook.dev/#install Fly.io — https://fly.io/ BASIC — https://en.wikipedia.org/wiki/BASIC ML (programming language) — https://en.wikipedia.org/wiki/ML(programminglanguage) Emílias on Twitter — https://twitter.com/emilias_utfpr Elixir em Foco on Twitter — https://twitter.com/elixiremfoco Seven Languages in Seven Weeks — https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X Clojure — https://clojure.org/ Laurie Williams — https://collaboration.csc.ncsu.edu/laurie/ Saša Jurić — https://www.theerlangelist.com/ Brujo Benavides on LinkedIn — https://www.linkedin.com/in/elbrujohalcon?originalSubdomain=es Elixir School — https://elixirschool.com/en/ Exercism Elixir Track — https://exercism.org/tracks/elixir Exercism Erlang Track — https://exercism.org/tracks/erlang Special Guest: Adolfo Neto.
As we continue this season of the podcast, focusing on the impact of Elixir, we are joined by Florian Kraft, all the way from Berlin, Germany! Florian works as a software engineer at Contentful, and has a number of exciting open-source projects that he is currently involved with. In our fun conversation with Florian, we get to hear about the events that led up to him becoming interested in computers and working with software, and why he maintains a light-hearted attitude when talking about his expertise. We also get to hear from our guest about his thoughts on a few other languages, and why learning new languages is a great way to constantly improve your work in the languages you already know! Florian talks about what drew him to Elixir and the community and also shares some of his reflections from this year's virtual Elixir Wizards conference. Towards the end of our chat, Florian tells us about his work with AdoptOSS and Mimicry, which you can currently find on GitHub, both of which we are quite excited about! So to hear it all from Florian and our usual suspects, be sure to listen in! Key Points From This Episode: Florian's interesting route into the world of software engineering. How Florian views his experiences and skills as a software engineer. Florian's thoughts on Haskell and some of the best resources for learning about it. The languages that Florian uses in his work at Contentful. Experiences entering into the Elixir community and the colleague who introduced him to the language! Life in Germany and Berlin; thoughts on the seasons, and the general culture. Florian's experiences at this year's Elixir Wizards conference; warming to virtual events. Staying active in the Elixir community and Florian's honest confessions about the time he puts in. Features that Florian misses and wishes for when working in Elixir. Immutability and pattern matching: Florian's favorite parts of Elixir! Some of the open-source Elixir projects that Florian is currently working on. The video games that Florian has most enjoyed recently and some of his all-time favorites! Where to find and connect with Florian and his exciting projects! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Florian Kraft — github.com/FlorianK Contentful — https://www.contentful.com/ Exercism — https://exercism.org/ Adoptoposs — https://adoptoposs.org Adoptoposs Github — https://github.com/adoptoposs/adoptoposs Mimicry — https://github.com/mimicry-tech/mimicry Learn You a Haskell for Great Good — https://www.amazon.com/Learn-You-Haskell-Great-Good/dp/1593272839 Haskell — https://www.haskell.org/ Prolog — https://www.cpp.edu/~jrfisher/www/prologtutorial/ptframer.html Learn You Some Erlang for Great Good — https://www.amazon.com/Learn-Some-Erlang-Great-Good/dp/1593274351 Elixir in Action, Second Edition — https://www.manning.com/books/elixir-in-action-second-edition Gleam — https://gleam.run/ Autobutler — https://autobutler.co.uk Squid Game — https://www.rottentomatoes.com/tv/squidgame Oktoberfest — https://www.imdb.com/title/tt10244612/ Toucan — https://www.toucan.events/ The Binding of Isaac — https://store.steampowered.com/app/113200/TheBindingofIsaac/ Zelda — https://www.zelda.com/ Doom — https://bethesda.net/en/game/doom Defragmenting C Drive — http://hultbergs.org/defrag/ Special Guest: Florian Kraft.
Today’s guest is Angel Jose, a Software Engineer Manager at Cars.com with a passion for product and the customer experience. Angel played a key role in completely re-platforming Cars.com via Elixir, Phoenix, and other open source tooling, and his former adventures in the blockchain space include working with ETH, EOS, and general distributed tooling. In today’s episode, we discuss Cars.com's decision to migrate to an entirely Elixir-based system, rebuilding the data model from scratch, redesigning all of the user interfaces, and what that meant for the team that Angel was tasked with leading, as well as how the Elixir system functions at such incredible scale, with Cars.com receiving more than a million visitors daily! We touch on Angel’s approach to onboarding new engineers, how Elixir impacts this process, and the broader impact Elixir has on the community as a whole, as well as what he hopes to see from the community in the future, so make sure not to miss this awesome conversation about adopting Elixir with Angel Jose! Key Points From This Episode: Hot takes, rants, and obsessions: Angel’s best and worst taco experiences. Why Angel won’t be at ElixirConf 2021 and the story of how he began programming in Elixir. The process of finding a job in software engineering after completing an online bootcamp. Angel’s experience of navigating the freedom that comes with being an engineer. Find out how Angel got involved in re-platforming Cars.com, one of the original dot coms. Get a glimpse into the make up of the engineering team at Cars.com. How the pandemic impacted not only Angel’s deadlines but the car industry as a whole. The ETL pipeline of different data points that makes up Cars.com and Auto.com. Angel shares his opinion of LiveView and what he has learned about using it at scale. Advice for those adopting new technology: make sure there are enough resources out there. Where Angel believes his team would be without Elixir and what they are looking forward to. Some of the tangible benefits Cars.com has seen from flipping the switch to Elixir. How Angel approaches onboarding new engineers by providing them with resources and integrating learning into their day-to-day. The importance of celebrating small wins and fostering feelings of accomplishment. Angel on how Elixir impacts onboarding and new engineers; more simplicity, less magic. How Elixir has impacted the programming community and what Angel hopes to see in future. Taco happy hour, conference food, making the most of each meal, remote work, and more! What Angel has learned from working remotely, particularly from a social perspective. Angel shares his dream car after working at Cars.com and moving to Colorado. Links Mentioned in Today’s Episode: Angel Jose on LinkedIn — https://www.linkedin.com/in/ajose01/ Angel Jose on Twitter — https://twitter.com/ajose01 Cars.com — https://www.cars.com/ Cars.com Careers — https://www.cars.com/careers/ Elixir Conf — https://2021.elixirconf.com/ Elixir Slack — https://elixir-slackin.herokuapp.com/ General Assembly — https://generalassemb.ly/ SmartLogic — https://smartlogic.io/ Special Guest: Angel Jose.
As we kick off our new, seventh season of the Elixir Wizards podcast, we wanted to introduce our theme of the impact of Elixir by having a simple chat between our panel and foregoing our usual guest format. As fans of podcasts ourselves, we always like to get to know some of the personalities behind the voices, so we decided to take this opportunity to do just that, with Alex, Sundi, and Eric! So to hear a little about what to expect in the coming weeks of the show, what the teams have been up to recently, both professionally and beyond, and to just enjoy a quick hangout with some friendly voices, make sure you tune into this launchisode! Key Points From This Episode: What our team has been up to recently: new projects, the apprentice program, and more. Reflections on this iteration of the apprentice program and differences from 2018. The recent ElixirConf and how our panel was involved in the event. Inside information that is shared at conferences and learning about the world! Avoiding the pressure to always do more while engaging in the community. Noting the impact that Elixir has had on each of us, and how we write code respectively. Proactive learning and career growth; looking forward to the new season exploring these subjects! Staying focused on what's important, getting rest, and pursuing passions. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Aino — https://github.com/oestrich/aino Aino Read Me — https://ainoweb.dev/readme.html King Tooth — https://www.instagram.com/kingtoothpug/ SmartLogic Apprenticeship Program — https://smartlogic.io/about/community/apprentice/ SmartLogic Welcomes Two New Developer Apprentices to the Team! — https://smartlogic.io/blog/2021apprentices/ Elixir Conf — https://2021.elixirconf.com/ Culttt — https://www.culttt.com/ Shrek — https://www.rottentomatoes.com/m/shrek Kangaroo Jack — https://www.rottentomatoes.com/m/kangaroojack Korn — https://www.kornofficial.com/ Flutter — https://flutter.dev/docs/resources/books Lonestar Elixir — https://lonestarelixir.com/
We have reached the final episode of our season, and as we wrap up our exploration of BEAM magic, we are joined by Amos King, whose tweet was the inspiration behind this season's focus! We've had such a great time this season and hope that our listeners have enjoyed it as much as we have, and gained something in the process. Our conversation with Amos jumps around from exploring his experiences during the last year and a half, to the journey he has been on with his company, Binary Noggin, life as a CEO, and much more! We delve into some thoughts from our guest about the relationship between magic and understanding and also talk a little about this year's upcoming ElixirConf, where Amos will be speaking. Amos also shares how learning a new language can help the coding you do in languages you already know, and tells an interesting story about how he turned a long commute into a superpower! So stay tuned for Season 7, coming to you soon, and thank you for sticking with us this long! Key Points From This Episode: Looking forward to this year's ElixirConf and the hope that it will proceed. Amos' return to the office after three months of working from home. A little about Binary Noggin and the different size clients they work with. The inspiration behind the company name and the transition from side work to a full-time gig. Amos' experiences as a CEO during the pandemic and the surprising growth at Binary Noggin. How Amos inspired the BEAM Magic theme for this season and his thoughts on understanding. Amos' experiences of speaking at conferences and the possibility of presenting about magic. Some details on Amos' talk this year at ElixirConf. How Amos was introduced to Elixir through Erlang and the things that made him love it! The impact that learning new languages can have on your work in general. How an extremely long commute early in Amos' career served him in unexpected ways. Links Mentioned in Today’s Episode: SmartLogic Jobs — https://smartlogic.io/about/jobs Amos King on Twitter — https://twitter.com/adkron Binary Noggin — https://binarynoggin.com/ Binary Noggin Careers — https://binarynoggin.com/about-us/#careers Binary Noggin Email — contact@binarynoggin.com DirtyInformation — http://dirtyinformation.com/ Elixir Outlaws — https://elixiroutlaws.com/ Wallaby — https://github.com/elixir-wallaby/wallaby Testing Elixir — https://www.goodreads.com/book/show/54156353-testing-elixir Special Guest: Amos King.
This episode serves as a round-up of some of the special mini-features we have recorded throughout Season 6, where we'll hear from Tyler Clemens, Elom Amouzou, Elise Navarro, and Jeremy Neal about their work and experiences with Elixir. Our first segment is with Tyler, who is a software developer at Jackpocket, where he explains what he is currently busy with and how the company is offering access to the lottery in more safe and convenient ways. We then move on to Elom, who talks about transitioning from a life in public education, and what prompted him to learn functional programming. Elise, who works at Zingeroo, takes us through her relatively new career, why she is so excited about Elixir, and the interesting work that is being done at her company to educate the public about the stock market. Lastly, Jeremy talks to us about the socially conscious agenda at Clover Food Lab, his personal interests in cooking and baking, and how he came to work with Elixir. All of our guests share helpful resources for learning, and reflections on their time working within Elixir - make sure to join us to catch all this good stuff! Key Points From This Episode: Tyler's path into software engineering and the first language he learned. What Jackpocket offers its customers and how Elixir is used within the company. Tyler's thoughts on the perks and challenges associated with engineering with Elixir. The most helpful resources that Tyler uses when in need: Elixir Slack, books, and Elixir School! Onboarding and training in Elixir and the biggest challenges presented in this area. Tyler's passion for photography and imagining an alternative career path in this direction. Elom's first programming language and the subsequent transition into Elixir. How Elom moved into working in programming from his roots in education. Elom's perspective on the positives associated with adopting Elixir early on. Resource recommendations from Elom for early-stage developers. Considering the pros and cons of the small intimate Elixir community and its future. Elom's ideal alternative career path and favorite book! Elise's beginnings in programming and her move from a career in digital media. Comparing Elixir with other languages; Elise weighs in with her experiences. What Zingeroo does and how they use Elixir to make the stock market more accessible through the app. The benefits of using Elixir for a real-time app like Zingeroo. The resources that have been most valuable to Elise since joining the community. Elise's alternative career path, and her passion for teaching Pilates. Jeremy's educational and professional path into software engineering and working with Elixir. How Jeremy has been using LiveView in his work to get a functional UI up and running. What Clover Food Lab does and how Elixir is used at the company and online store. Jeremy's thoughts on a different career and why he would love to be a baker! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Tyler Clemens — https://www.linkedin.com/in/tylerclemens Jackpocket — https://jackpocket.com/ Elixir in Action — https://www.goodreads.com/book/show/38732242-elixir-in-action Elixir School — https://elixirschool.com/ Turing School — https://turing.edu/ Pragmatic Bookshelf — https://pragprog.com/ Code Flow Thinking Elixir — https://thinkingelixir.com/available-courses/code-flow/ Frantz Fanon — https://www.britannica.com/biography/Frantz-Fanon Peau Noire, Masques Blancs — https://www.amazon.com/Peau-Noire-Masques-Blancs-French/dp/2020006014 Elise Navarro — https://www.linkedin.com/in/elise-navarro Zingeroo — https://zingeroo.com/ Jeremy Neal — https://www.linkedin.com/in/jeremy-neal-59ba8b82 Clover Food Lab — https://www.cloverfoodlab.com/ Special Guests: Elise Navarro, Jeremy Neal, and Tyler Clemens.
Joining us on the show today is Quinn Wilton, and we have a wonderful conversation with our guest about her journey with Elixir, unusual path into programming, and her wide appreciation for different languages! We start off looking at the time Quinn spent at Waterloo University and what separates the Canadian ethos around computer science. From there, we turn to Quinn's early work in programming, the first proper job that she stepped into, and the immediate affinity she felt for working in Elixir. We also talk a bit about the interesting research that Quinn has been conducting privately, tracking and plotting the path of Erlang over the decades, while also reflecting on the skill of academic reading. We spend some necessary time hearing from Quinn about the BEAM and what BEAM magic means to her, before hearing about her website, love of Twitter, other languages that currently have her excited, and the avenues she is most lit up about exploring in the future! Listen in to hear it all, as we continue this journey! Key Points From This Episode: Quinn's reflections on her education in Canada, and differences to the American approach to computer science. Reasons that Quinn wanted to pursue a career in programming The first jobs that Quinn landed as a programmer; creating a Roblox game and tracking malware. How Quinn was introduced to Elixir and the immediate love she felt for the language. The recent work that Quinn has been busy with researching and tracing the history of Erlang. Experiences of reading academic papers and what sets it apart from other formats. The inspiration behind Quinn's website and her affinity for Twitter's format. Quinn's favorite characteristics of the BEAM: the debugging possibilities. The project that Quinn worked on using Gleam on the BEAM and her enjoyment of its simplicity. Some possible areas, outlined by Joe Armstrong, that Quinn is excited to explore in the near future. Quinn's huge appreciation for different programming languages and her fascination with Strand. Encouragement from Quinn to dive into reading intimidating research papers. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/jobs Quinn Wilton — https://quinnwilton.com/ Quinn Wilton on Twitter — https://twitter.com/wiltonquinn Quinn Wilton on GitHub — https://github.com/QuinnWilton University of Waterloo — https://uwaterloo.ca/ Roblox — https://www.roblox.com/ Lookout — https://www.lookout.com/ Clint Gibler — https://clintgibler.com/ Gleam — https://gleam.run/ Joe Armstrong — https://www.theguardian.com/education/2019/may/08/joe-armstrong-obituary 'Getting Erlang to talk to the outside world' — https://www.researchgate.net/publication/2549678GettingErlangtotalktotheoutsideworld Universal Binary Format — https://github.com/ubf/ubf CLU — https://en.wikipedia.org/wiki/CLU(programminglanguage) Strand — https://en.wikipedia.org/wiki/Strand(programming_language) Special Guest: Quinn Wilton.
While NIFs provide a great way to interface with native code in the BEAM machine, the process can also be rather error-prone. Thankfully, since Isaac Yonemoto built Zigler, things have become a lot simpler, and he joins us today to talk about how. Isaac is an Elixir developer with a background in biotech and we kick off the discussion by hearing about his journey into programming and some of the ways that he has combined it with science. From there we hear more about the different languages Isaac has worked in and why he fell in love with Elixir, where he talks about its encouragement of test-driven development and how this has made him a better programmer. We dive right into the contributions Isaac is making to the Elixir community next, and he starts off by talking about Zigler. He explains how Zigler provides a bridge between Zig and Elixir that makes it far easier to build NIFs. We hear a bunch of the other cool possibilities that Zigler offers to Elixir as well, including its ability to make debugging easier by appending the Zig stack trace to the Elixir one. After hearing Isaac’s opinion of magic in Elixir, we close today's show off with a few of the other projects he is working on, contributions that are bound to make the world of Elixir even more exciting! Key Points From This Episode: Isaac’s early exposure to programming and how he got started in tech. The education Isaac had in the sciences and his experience in the biotech sphere. Difficulties with installing Ruby and how this led to Isaac learning Elixir. Support for asynchronous testing and the reasons why Isaac finds joy in Elixir. The emphasis on test-driven development in Elixir and how this has made Isaac a better programmer. Isaac’s experiences with Zig and the similarities between it and Elixir. How NIFs allow C code in Elixir and what it is like debugging them. Isaac’s Zigler project and how it provides integration between Elixir and Zig making it easy to build NIFs. Cross-compiling C using Zig and why Isaac built a disassembler. Aspects of the BEAM that make it harder to write NIFs in Elixir than in Julia. Isaac’s opinion of magic in programming and how it should always be comprehensible. Final plugs from Isaac: where to find Zigler, and some upcoming projects. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Isaac Yonemoto on Twitter — https://twitter.com/DNAutics Isaac Yonemoto on GitHub — https://github.com/ityonemo Isaac Yonemoto on YouTube — https://www.youtube.com/channel/UCarZZW7eavljSdGRQx9kkSA Selectrix — https://github.com/ityonemo/selectrix Mavis — https://github.com/ityonemo/mavis Chiaroscuro - https://github.com/ityonemo/chiaroscuro Zigler - https://hexdocs.pm/zigler/Zig.html Zigler on GitHub — https://github.com/ityonemo/zigler Julia — https://julialang.org/ Testing Elixir with Jeffrey Matthias and Andrea Leopardi — https://smartlogic.io/podcast/elixir-wizards/s6e6-matthias-leopardi/ Special Guest: Isaac Yonemoto.
Today we are so excited to share a conversation with Maxim Fedorov, who is the Core Infrastructure Lead at communications giant, WhatsApp! In our chat, Maxim offers such interesting insight and wisdom from a long career in the space, focusing on Erlang and why he views it as such a powerful language for the work at WhatsApp. We also get some backstory from Maxim, looking at his first experiences with computers, his educational background, and some of the work he did leading up to his current position. Our guest does a great job of sharing his thoughts on what he sees as a lack of magic within the Erlang language, why he prefers this, and how the company has managed to scale in such a major way over the past years. We also deal with some more general questions, weighing functional languages against object-oriented ones, useful resource recommendations, and a whole lot more! We finish off this episode with a mini-interview with David Hardwick, who is the current Vice President of Engineering at STORD, so make sure to stay tuned until the end for that! Key Points From This Episode: The beginnings of Maxim's interest in computer science and software development. How Maxim transitioned into the network security field. Maxim's experience with timezones and how this is approached for an app like WhatsApp. Thoughts on why WhatsApp is so popular outside of the United States. How Erlang is used at WhatsApp to power messaging. Probable reasons that Erlang was selected as the language for WhatsApp. Outages and downtime; what constitutes a serious issue for WhatsApp user experience. The massive growth that WhatsApp has seen and how their approach to scaling has evolved. Characteristics of Erlang that make it so well suited to WhatsApp's needs; simplicity and reliability. Maxim's perspective on the issues around programmer education and their results. Functional languages versus object-oriented programming; Maxim's thoughts on strengths and weaknesses. Why Maxim views Erlang as not containing or performing anything magical. Maxim's recommendations for resources when getting started in Erlang! Looking back at Maxim's experiences of tertiary education and the thesis he produced. The scaling of the WhatsApp server; the project that Maxim is most proud of! Maxim's love for motorcycles and bicycles and how these grew out of initial conveniences. Today's mini-feature interview with David Hardwick, VP of Engineering at STORD. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Maxim Fedorov: https://au.linkedin.com/in/maxim-fedorov-14a570b Electronika MK-61 — https://en.wikipedia.org/wiki/ElektronikaMK-52 Brian Acton — https://www.forbes.com/profile/brian-acton/ Learn You Some Erlang — https://learnyousomeerlang.com/ Adopting Erlang — https://github.com/adoptingerlang Joe Armstrong Thesis — https://erlang.org/download/armstrongthesis2003.pdf The BEAM Book— https://github.com/happi/theBeamBook ejabberd — https://www.ejabberd.im/ Will Cathcart Tweet — https://twitter.com/wcathcart/status/1385253969522413568 Clarke's three laws — https://en.wikipedia.org/wiki/Clarke%27sthree_laws Lukas Larson — https://twitter.com/garazdawi Erlang OTP — https://github.com/erlang/otp/blob/master/lib/kernel/src/pg.erl David Hardwick — https://www.linkedin.com/in/davidhardwick STORD — https://www.stord.com/ BetterCloud — http://www.bettercloud.com/ Special Guest: Maxim Fedorov.
Some of you may recognize Chelsea Troy from her popular blog of the same name or as a keynote speaker for the March 2021 Code BEAM conference. Chelsea is an instructor in the Master's Program in Computer Science at the University of Chicago and currently works as a staff software engineer at Mozilla, where she specializes in machine learning and backend systems. In our conversation with Chelsea, we discuss some of the unique aspects of coding as a career. Chelsea outlines how programming can be more accessible than other careers because it doesn't have the same financial burden when it comes to education. She also emphasizes the importance of allowing a more diverse range of people access to the field and unpacks the type of person the internet was originally built for, explaining how it had favored privileged affluent individuals from the Bay Area. We hear from Chelsea about how she became a programmer out of a desire for job security rather than passion and why she believes it’s so important to have a broader representation of different narratives when it comes to careers in programming and coding. Later Chelsea shares the story of how she became an educator and why she is so passionate about teaching. For all this and much more, join us today! Key Points From This Episode: Introducing today’s guest Chelsea Troy Why Chelsea believes it’s important to privilege multiple narratives of why people choose to pursue programming as a career. There is less of a financial burden with becoming a programmer than other higher-paying professions. The benefits of a diverse group of people having access to programming as a career. What first prompted Chelsea to start her blog and how her goals for it have changed over time. Why Chelsea struggles to give advice on how to market a blog. How being able to draw parallels between different coding languages has strengthened Chelsea’s teaching and writing pursuits. Why Chelsea is so enthusiastic about teaching. How teaching allows Chelsea to have a more meaningful impact in the field of tech. How Chelsea prioritizes which jobs and clients to pursue as a consultant. How having two parents who taught for living influenced Chelsea’s passion for teaching. Chelsea shares how she earned her position at Chicago University, despite expecting not to. The challenges and benefits of teaching remotely. The pros and cons of functional languages versus object-oriented languages. How students tend to react to learning functional languages versus object-oriented languages. Mini-feature segment: hear from Rosemary about how she became a software engineer. How Rosemary built websites as a side hustle while studying English. Rosemary shares how she transitioned from working with Java and Blu-ray discs to doing back-end web development and writing in Elixir. How RentPath, the company Rosemary is currently working for, is transitioning from Ruby to Elixir. An outline of RentPath and what they do. Rosemary’s many hobbies and pursuits, including wildlife photography. Links Mentioned in Today’s Episode: Chelsea Troy on Twitter — https://twitter.com/HeyChelseaTroy Chelsea Troy on LinkedIn — https://www.linkedin.com/in/chelseatroy/ Chelsea Troy Blog — https://chelseatroy.com/ Upcoming Code BEAM Conferences — https://codesync.global/ Chelsea Troy on Youtube — https://www.youtube.com/channel/UCIwpdjmSUJmqJ8HwvIGNqig Ruby — https://www.ruby-lang.org/en/ Mozilla — mozilla.org/en-US/ Pocket — https://getpocket.com/ Rosemary Ledesma — https://www.linkedin.com/in/rosemary-ledesma-b6198717/ RentPath — https://www.rentpath.com/ RedFin — https://www.redfin.com/ Special Guest: Chelsea Troy.
While we can think of many reasons why we love Elixir, the community could always benefit from a more lively conversation around testing. It was with this in mind that Jeffrey Matthias and Andrea Leopardi decided to write Testing Elixir, and today they join us on the show to share some of the insights to be found in their new book. Our guests start by sketching out the main reasons why they decided to write a book of this nature before speaking to the process of writing it collaboratively from their respective homes in Italy and the US. Andrea and Jeffrey speak about the challenges of finding a middle ground between their unique styles to come up with a unified testing method. The conversation then takes a deep dive into the weeds of testing in Elixir and we hear our guests' perspectives on the most appropriate situations to use async true, Mox, Ecto Sandbox, and other techniques. We wrap up our interview with a question about what Andrea and Jeffrey would most like people to take away from their book where they express the hope that it can act as a springboard for further conversation about best practices for testing in Elixir and more. As always, we close the show off with our mini-interview, this time talking to Tracey Onim from Podii. Key Points From This Episode: Why Jeffrey and Andrea wrote their book and how they pitched it to the publisher. How the feedback Andrea and Jeffrey got while writing the book shaped its content. What writing the book was like considering its authors live in different countries. How our guests came up with a unified testing method when each had their own style. Stories about testing mistakes and the funny situations they led to. Discussing the HBO integration test email and how it was responded to and dealt with. The issue of developers not using async true enough and how to get better at it. When to use async true, Ecto Sandbox, and Mox. Why our guests use Mox, when the best times to use it are, and how it shapes your thinking. Exploring the relationship between test driven development and using the program. What can go wrong if you rely purely on tests to test out your code. The main takeaways our guests hope can be found in their book. Final plugs from Jeffrey and Andrea and where to find them online. A quick interview where we learn more about Tracey Onim from Podii. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Jeffrey Matthias on Twitter — https://twitter.com/idlehands Andrea Leopardi — https://andrealeopardi.com/ Andrea Leopardi on Twitter — https://twitter.com/whatyouhide Andrea Leopardi on GitHub — https://github.com/whatyouhide/corsica Testing Elixir — http://testingelixir.com/ Testing Elixir — https://pragprog.com/titles/lmelixir/testing-elixir/ Testing Elixir — https://www.target.com/p/testing-elixir-by-andrea-leopardi-jeffrey-matthias-paperback/-/A-83072057#lnk=sametab Testing Elixir on Twitter — https://twitter.com/testingelixir Publish with The Pragmatic Bookshelf — https://pragprog.com/become-an-author/ Ecto.Adapters.SQL.Sandbox — https://hexdocs.pm/ecto_sql/Ecto.Adapters.SQL.Sandbox.html Mox — https://hexdocs.pm/mox/Mox.html Command Line Options — https://hexdocs.pm/mix/1.12/Mix.Tasks.Test.html#module-command-line-options Mocks and Explicit Contracts — http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/ bypass — https://github.com/PSPDFKit-labs/bypass Test-Driven Development with Phoenix — https://www.tddphoenix.com/ Tracey Onim — https://www.linkedin.com/in/tracey-onim-420b3316a?originalSubdomain=ke Podii — https://www.apollo.io/companies/Podii/5c1df0e8f651257261ddc16a?chart=count Special Guests: Andrea Leopardi and Jeffrey Matthias.
Joining us for this episode of Elixir Wizards is the vastly experienced and well-traveled Francesco Cesarini! Francesco is the founder of Erlang Solutions and we are so lucky to have him here on the show to talk about his personal and professional journey, and take this great season of shows on the magic of the BEAM even further. Francesco takes us through his early interactions with computers and coding and the events that led to his decision to study computer science, before diving into his move to Sweden, and subsequently the UK, and how this all resulted in the founding of his company. Our guest touches on some helpful lessons he learned around marketing and branding, particularly related to the name of the company and we also discuss how the company grew in stages over the years. From there, the conversation turns to Francesco's work on conferences, and his commitment to this important feature of the community. We talk about the benefits of virtual conferences, what to look forward to, and the team that Francesco works with when organizing. To finish off this segment, our guest gives a few recommended resources and comments on Erlang syntax too! For today's mini-feature we welcome Jeffery Utter who works as a Senior Software Developer at Bleacher Report, so make sure to tune in to catch it all! Key Points From This Episode: Francesco's route into coding from an early age and first forays into studying computer science. The first job that Francesco had out of college: an exciting internship at Ericsson. How Francesco founded Erlang Solutions after leaving Sweden and moving to London. The big growth steps that happened over the years as Erlang Solutions developed. Francesco's evolving mindset during this growth period and his attitude towards scaling the company. The current size of the company and the offices that are spread all over the world! Virtual conferences, more connectivity, and the benefits of getting involved in the community. The planning process for conferences and the size of the team that put them together. The growth curve for Erlang Solutions over the years and the main drivers in the process. Examples from the explanatory videos that Francesco produced to help people understand Erlang. Francesco's feelings about Erlang syntax and the misconceptions about its difficulty. Recommendations of helpful resources to aid the learning curve. Getting involved with Erlang Solutions and connecting with Francesco and his team! Jeffery Utter from Bleacher Report joins us to briefly talk about his journey with Elixir. The time that Jeffery spent working at Communication Service for the Deaf prior to Bleacher Report. Some updates on the growth and evolution of Bleacher Report and what they offer users. How Elixir is used at Bleacher Report and its succession of Ruby at the company. Jeffery's alternate career paths and qualifications in music and education! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Conference — http://smr.tl/conf-podcast Francesco Cesarini on Twitter — https://twitter.com/FrancescoC Joe Armstrong — https://codersatwork.com/joe-armstrong.html Erlang Solutions — https://www.erlang-solutions.com/ Erlang Programming Language - Computerphile — https://www.youtube.com/watch?v=SOqQVoVai6s Chalmers University of Technology — https://www.chalmers.se/en/Pages/default.aspx Erlang & Elixir Developers | Careers at Erlang Solutions — https://www.erlang-solutions.com/careers/ Code BEAM V SF 2021 — https://codesync.global/conferences/code-beam-sf-2021/. RabbitMQ Summit— https://rabbitmqsummit.com/ Languages, and about languages, on the BEAM — https://github.com/llaisdy/beam_languages Lambda Days 2021 — https://www.lambdadays.org/lambdadays2021 Code Mesh — https://codesync.global/conferences/code-mesh-ldn Erlang Master Classes University of Kent — https://www.cs.kent.ac.uk/ErlangMasterClasses/ Professor Simon Thompson — https://www.kent.ac.uk/computing/people/3164/thompson-simon Designing for Scalability with Erlang/OTP — https://www.oreilly.com/library/view/designing-for-scalability/9781449361556/ Erlang Programming — https://www.oreilly.com/library/view/erlang-programming/9780596803940/ Jeffery Utter — https://www.linkedin.com/in/jeffutter Bleacher Report — https://bleacherreport.com/ Communication Service for the Deaf — https://www.csd.org/ Gallaudet University — https://www.gallaudet.edu/
Today we have some extra BEAM magic for all of you! Joining us on the show is Chris Miller, who currently works as an Associate Software Engineer at Corvus Insurance. We get into a great conversation with Chris about his history with programming, his long-held interest in mathematics, and how he is trying to bring these two worlds closer together through his work. Chris weighs in with some very important expert perspectives on a range of subjects, from monads and monoids to Vim and Emacs, before we get into the different avenues of Chris' work. Along with an old college friend, Chris runs the informative YouTube Channel, Coding Cave, helps other coders through mentorship and tutoring, and is also multilingual, speaking Mandarin, Spanish, German, and English! We get some illumination on interesting and important concepts such as Turing completeness, programming language theory, and more, all delivered with an accessibility that belies the high level of the material. So for all this, plus our bonus mini-segment with Semsee employee, Sidney Leatherwood, at the end, be sure to listen in today! Key Points From This Episode: The story behind Chris' Twitter handle and his admiration for Leonhard Euler! How Chris is bringing his love of math into his programming work. A crash course on monads and monoids! Chris' teaching and tutoring work and his aim of bringing fun examples into learning. The YouTube channel that Chris runs with an old friend, called Coding Cave. Chris' take on the Vim versus Emacs debate. How Chris learned to program from his father, and his return to it during college. Unpacking programming language theory and the idea of Turing completeness. Chris clears up the difference between computer science and mathematics. Reasons that Chris enjoys working in Elixir compared with other languages. Chris' goals for his YouTube channel and his hopes to spread advanced education. Magic and languages; a programming language theory perspective. Chris' day job as a software engineer at Corvus Insurance using Elixir and Elm. The array of languages that Chris can speak; Mandarin, German, and Spanish. The process of language acquisition and Chris' methods for learning. Why Chris believes starting with the function is the best way to learn a new programming language. The aspects of Elixir and the BEAM that have Chris the most excited at the moment! This week's mini-feature with Sidney Leatherwood and his use of Elixir in production. The comparative rating service that Semsee offers their customers. Hiring in Elixir currently; perks, challenges, and resources in the space. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Miller on Twitter — https://twitter.com/blackeuler Elixir Wizard Conference — http://smr.tl/conf-podcast Leonhard Euler — https://en.wikipedia.org/wiki/LeonhardEuler Curry–Howard Correspondence — https://en.wikipedia.org/wiki/Curry%E2%80%93Howardcorrespondence Haskell — https://www.haskell.org/ Brooklyn Zelenka — https://medium.com/@expede Coding Cave — https://www.youtube.com/channel/UCwIO8jv71cbOyEwJdrYovg Conversations with the Creator: José Valim — https://www.youtube.com/watch?v=BXpoKKkqAX4 Functor — https://en.wikipedia.org/wiki/Functor Spacemacs: Emacs advanced Kit focused on Evil — https://www.spacemacs.org/ hlissner/doom-emacs — https://github.com/hlissner/doom-emacs Turing Completeness — https://en.wikipedia.org/wiki/Turingcompleteness Cal Newport — https://www.calnewport.com/ Boolean Algebra — https://en.wikipedia.org/wiki/Booleanalgebra Clojure — https://clojure.org/ Corvus Insurance — https://www.corvusinsurance.com/ APL — https://en.wikipedia.org/wiki/APL(programming_language) Gleam - https://gleam.run/ Sidney Leatherwood on LinkedIn — https://www.linkedin.com/in/leather-s Semsee — https://semsee.com/ Special Guest: Chris Miller.
While there is magic to be found in many frameworks, having too much going on under the hood without you being able to control it is not for everybody. Today we invite Parker and Shannon Selbert to speak about their dynamic partnership and the ‘controlled magic’ of their tool Oban. Together Parker and Shannon founded Soren, where they help clients with established web apps stabilize, scale, and ‘add schmancy features’. Their tool Oban is a persistent background job processor written in Elixir whose differentiating feature revolves around keeping jobs after they're processed. We dive right in with Parker and Shannon hearing about how they got into programming before they talk about Oban and what sets it apart. Next up we get into how our guests navigate their personal relationship and professional partnership and they weigh in on homeschooling kids, writing new features, and the necessary life skills for handling Oban user support. Moving onto the topic of the BEAM, we explore the unique type of magic it offers and how this plays into some of the cooler features of Oban such as being able to cancel jobs. Our guests talk about some of the kinks they still need to work out of their tool and we wrap up our conversation on the pro version of Oban and how successful it has been. As always we close today’s show off with our mini-interview, this time with Joe Peck from Spreedly! Key Points From This Episode: The illicit stories behind how Parker and Shannon got into tech. Understanding Oban, a persistent background job processor written in Elixir. How Oban is different from other job processors like Sidekiq. The great partnership our guests have and the story behind Soren. How Parker and Shannon differentiate their personal and professional life. The approach Parker and Shannon take to handling Oban user support. Perspectives on the magic of homeschooling, relationships, and Oban! Different kinds of magic provided by different frameworks and why Elixir magic is the best. How Parker and Shannon got interested in Erlang, BEAM, and Elixir. The best part about maintaining an open-source project. The story behind getting a global concurrency lock on handling batches. Added features that come with upgrading to the pro version of Oban. Canceling a job on Oban and the role the BEAM plays in allowing this. Writing documentation for Oban and our guest’s plans to make video tutorials. The shift in digital learning more towards video tutorials. Perspectives on whether we have arrived at a golden age in computing yet. Challenges around implementing seamless horizontal scaling in Oban. Making a living and working on Oban; advantages of setting up a pro version. Our mini-interview with Joe Peck where we explore his journey with Elixir. Links Mentioned in Today’s Episode: Elixir Wizards |> Conference — https://smr.tl/conf-podcast SmartLogic — https://smartlogic.io/ Soren on Twitter — https://twitter.com/sorentwo?lang=en Soren — https://sorentwo.com/ Parker Selbert on GitHub — https://github.com/sorentwo Shannon Selbert on GitHub — https://github.com/sorenone Oban — https://github.com/sorentwo/oban Sidekiq — https://sidekiq.org/ Lawnmower Man — https://www.imdb.com/title/tt0104692/ Soren Kierkegaard — https://www.britannica.com/biography/Soren-Kierkegaard Ender's Game — https://www.amazon.com/Enders-Ender-Quintet-Orson-Scott/dp/0812550706 Joe Peck — https://peckyeah.com/ Spreedly — https://www.spreedly.com/ Special Guests: Parker Selbert and Shannon Selbert.
Today we are joined by the Vice President of Engineering at Corvus Insurance, Erik Person! Erik continues our journey into the magic of the BEAM, our season-long theme for the Elixir Wizards Podcast, and we get to hear all about Erik's path in programming, his relationship with Elixir, and his utilization of the BEAM. Growing up in a family involved in computer science, and an early affinity for technology made the choice of what to study at college a straightforward one for Erik. He tells us about his life during and after those school years, touching on his first job and the important milestones leading up to his current position at Corvus. We talk about his early feelings for Elixir and why it appealed to him almost immediately before discussing different languages on the BEAM and his love of types! Our guest also shares some of the bigger challenges he has encountered working in Elixir and touches on the issue of scaling effectively. In this episode, we also air a mini-feature with SmartLogic's very own Stephanie Vizzi, talking about her work at the company, relationship with Elixir, and more! So for all this, plus a lot in between, be sure to tune in! Key Points From This Episode: Erik's family ties to computer science and his path leading into programming. The first job that Erik landed in programming and his current role at Corvus Insurance. The BEAM at Corvus and the general architecture of the company's technology. Erik's first encounters and learnings with Elixir and the questions it answered for him immediately. The learning curve for languages on The BEAM; Erik's own journey to understanding. Erik's preference for types and his wish for their inclusion on Elixir! Lisp on The BEAM; Erik unpacks his perspectives and the blog post he wrote on the subject. Getting to grips with abstract forms and how these terms operate in Erlang and Elixir. The challenges that Erik experienced parsing and manipulating the code in Elixir. Erik weighs in on BEAM magic; appreciating the magic that is possible with Elixir and Elm. Perspectives on scaling on Elm and Elixir as an application grows rapidly. How Erik and his team typically use contexts and service-oriented architecture. Challenges with compile times during the process of scaling of the application. Excitement about the progressive steps in the data science component of Corvus. How Erik applied his skills to his passion for playing blackjack by creating a card-counting application. The remote meeting hardware device that Erik built as a pandemic side-project! This week's community mini-feature! Looking at how Stephanie Vizzi got into and uses Elixir. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Erik Person on LinkedIn — https://www.linkedin.com/in/erik-person-a9368bb VirtualBox — https://www.virtualbox.org/ Tunnelblick — https://tunnelblick.net/ Corvus Insurance — https://www.corvusinsurance.com/ Corvus Job Openings — https://boards.greenhouse.io/corvusinsurance/ Clojure — https://clojure.org/ Saša Jurić — https://github.com/sasa1977 LFE — https://lfe.io/ Elm — https://elm-lang.org/ Robert Virding — https://codesync.global/speaker/robert-virding/ The Erlang Rationale — https://elixirforum.com/t/the-erlang-rationale-by-robert-virding-pdf/35313 Paul Graham — http://www.paulgraham.com/ Hackers and Painters — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Myers Briggs — https://www.myersbriggs.org/my-mbti-personality-type/mbti-basics/ Chris McCord — http://chrismccord.com/ Mix Xref — https://hexdocs.pm/mix/Mix.Tasks.Xref.html Gleam — https://gleam.run/ Leex — http://erlang.org/doc/man/leex.html GNU Bison - The Yacc-compatible Parser Generator — https://www.gnu.org/software/bison/manual/ YACC — https://www.geeksforgeeks.org/introduction-to-yacc/ Stephanie Vizzi on LinkedIn — https://www.linkedin.com/in/stephanie-vizzi-b1158996 Special Guests: Erik Person and Stephanie Vizzi.
Welcome to a brand-spanking-new season of Elixir Wizards! This time around we will be focussing on the magic of the BEAM, so get ready for an exciting journey into new territories filled with mystery and power! To kick things off in this inaugural episode we are joined by a true legend in the space of Erlang, Elixir, and the BEAM. Robert Virding is one of the three founding members of Erlang, and his unrivaled intimacy with the language and its related subjects is truly inspiring and informative. We feel like we could fill many more episodes just hearing Robert unpack the history he has been involved in, but we do manage to cover a lot in this show, touching on Robert's career arcs, the other founders of Erlang, the connection to Ericsson and the bridge to Elixir, as well as much more. Robert also shares some insight into the BEAM and the idea of a virtual machine, broaching these sometimes misunderstood concepts with simplicity and clarity. We talk about magic, hurdles, best practices, and the future of community, with Robert sharing his experiences working on Erlog, LFE, and much more. Make sure to join us for this episode and stay tuned for the rest of another great season! Key Points From This Episode: Robert's description of the Erlang Rationale document and why it was important to create it. Background information on the founding three members of Erlang and how they came together. Training and early career as a computer scientist; Robert's background before Ericsson. The roots of the Erlang name, and how Robert first came across and connected with it. The simplest definition of the BEAM, Bogdan’s Erlang Abstract Machine! Unpacking the application of a virtual machine and the connection between Erlang and BEAM. Information on Core Erlang and how it works within the compiler. LFE or Lisp-Flavored Erlang and the decisions that were made to keep it straightforward. Hurdles to learning Erlang and Robert's thoughts on getting over these. Weighing the usefulness of 'magic' and the caution with which Robert approaches it. Best practices for Erlang and Elixir according to Robert; the biggest shifts necessary for success. Robert's first feelings about the arrival of Elixir and the questions it raised for him. The motivation behind Robert's work on Erlog! Reflections on the Erlang movies that Ericsson produced and their evolution over time! The future of Erlang, its community, and the need for continued and increased collaboration. Why Robert wants to put more parentheses back in the mix! Links Mentioned in Today’s Episode: SmartLogic - https://smartlogic.io/ Robert Virding - https://codesync.global/speaker/robert-virding/ Robert Viriding on Twitter - https://twitter.com/rvirding?lang=en The Erlang Rationale - https://elixirforum.com/t/the-erlang-rationale-by-robert-virding-pdf/35313 Prolog - https://www.swi-prolog.org/ Ericsson - https://www.ericsson.com/ Joe Armstrong - https://www.theguardian.com/education/2019/may/08/joe-armstrong-obituary Mike Williams - https://codesync.global/speaker/mike-williams/ Fortran - https://fortran-lang.org/ Pascal - http://www.pascal-programming.info/index.php VAX - https://www.computerhope.com/jargon/v/vax.htm Franz Lisp - https://franz.com/products/allegro-common-lisp/acl_prolog.lhtml Agner Krarup Erlang - https://mathshistory.st-andrews.ac.uk/Biographies/Erlang/ Bogumil Hausman - https://peoplepill.com/people/bogumil-hausman LFE - https://lfe.io/ Erlang The Abstract Format - https://erlang.org/doc/apps/erts/absform.html Core Erlang - https://blog.erlang.org/core-erlang-by-example/ Erlog - https://github.com/rvirding/erlog Lua in Erlang - https://github.com/rvirding/luerl Erlang: The Movie - https://elixirforum.com/t/erlang-the-movie/440 Monty Python - http://www.montypython.com/ Erlang Ecosystem Foundation - https://erlef.org/ A first look at the JIT - https://blog.erlang.org/a-first-look-at-the-jit/ Lisp Cycles - https://xkcd.com/297/ Creative Assembly - https://www.creative-assembly.com/home Total War - https://www.totalwar.com/ World of Warcraft - https://worldofwarcraft.com/en-us/ Special Guest: Robert Virding.
Season 5 ends with a bang as we welcome back Sean Lewis, Anna Neyzber, and René Föhring onto the show to share their journey on getting their companies and teams to adopt Elixir. We open our conversation with each guest sharing their first experiences with Elixir. After chatting about the changes that they’ve seen in the Elixir ecosystem, we explore Elixir’s benefits and how they’ve persuaded companies to make the Elixir leap. From zero downtime deployment to arguing for Elixir’s ability to solve immediate problems, we touch on the most convincing reasons for stakeholders to adopt Elixir. Following this, we unpack common Elixir criticisms before looking at the importance of hiring developers for their aptitude as well as for their skill set. Later, we discuss what we most appreciate about Elixir, with each guest sharing a story from producing an Elixir app. We round off an insightful episode by talking about Elixir accessibility and the top ways to train entry-level programmers. Join us as we wrap up this season for a last deep-dive on adopting Elixir. Key Points From This Episode: We introduce today’s panel, featuring Sean Lewis, Anna Neyzberg, and René Föhring. Hear how each guest discovered Elixir and what they’ve seen change in the ecosystem. Exploring our guests' first Elixir projects. The intersections between Elixir and cryptocurrency. How to persuade company stakeholders to adopt Elixir. Why choosing a language for scalability often isn’t as important as its immediate benefits. Unpacking common criticisms of Elixir adoption. How a culture of learning can push your company in the right direction. Anecdotes on getting companies to adopt Elixir. We touch on the benefits of using Elixir. Each guest reflects on their experiences producing and maintaining Elixir apps. How our guests are currently using Elixir. Using Credo to train new Elixir developers. Advice on making Elixir accessible to entry-level coders. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Discord — https://smr.tl/wizards-discord Elixir Wizards Email — podcast@smartlogic.io Elixir Wizards Conference — https://smartlogic.io/about/community/elixir-wizards-conference/ Anna Neyzberg on LinkedIn — https://www.linkedin.com/in/anna-neyzberg-93545316/ Anna Neyzberg on Twitter — https://twitter.com/ANeyzb Sean Lewis on LinkedIn— https://www.linkedin.com/in/sean-lewis-40375077/ René Föhring on Twitter — https://twitter.com/rrrene René Föhring — https://rrrene.org/ ElixirBridge — http://elixirbridge.org/ Carbon Five — https://www.carbonfive.com/ Genesis Block — https://genesisblock.com/ Genesis Block Jobs — https://genesisblock.com/jobs Credo on GitHub — https://github.com/rrrene/credo/ ElixirConf 2018 — https://elixirconf.com/2018 Ethereumex — https://hex.pm/packages/ethereumex Mana — https://github.com/mana-ethereum/mana Robinhood — https://robinhood.com/us/en/ Slack — https://slack.com/ PagerDuty — https://www.pagerduty.com/ Alexandra Episode — https://smartlogic.io/podcast/elixir-wizards/s5e10-chakeres/ Turing — https://turing.io/ Weedmaps — https://weedmaps.com/ Nav Inc. — https://www.nav.com/ ElixirStatus — https://elixirstatus.com/ Divvy — https://getdivvy.com/ Matt Mills — https://github.com/photomattmills Factorio — https://factorio.com/ Dyson Sphere Program — https://store.steampowered.com/app/1366540/DysonSphereProgram/ Special Guests: Anna Neyzberg, René Föhring, and Sean Lewis.
The fields of data science and machine learning are moving ever faster. Jenn Gamble has her finger on the pulse and has become an industry expert with a wealth of experience to her name. As today’s guest, she dives into these rich and often complex topics, and she helps us boil them down into palatable nuggets of knowledge. We start off by asking Jenn about her current role at Very, and she tells us about the nature of her team and the things they’re able to achieve. She touches on what the language markups look like for a data science team, before moving onto her experiences in machine learning and data science. Delving deeper, Jenn tells us why it is not a necessity to have a master’s in data science, and why you can be well enough equipped in other senses to become proficient in the area. Later on, she reveals the differences between Elixir models and data science models. Following these detailed explanations, she furnishes listener’s minds with informative comments on relating the foundations of machine learning to IoT, using priori knowledge to add nuance to your machine learning, and how she envisions the future of data science. Join us today and be sure to get all this, and much more! Key Points From This Episode: Introducing today’s guest, Jenn Gamble. Jenn tells us about Very, an IoT engineering firm. Hear about the data science team at Very. We learn more on what the language markup looks like for a data science team. Jenn’s experience in learning machine learning and data science. Hear her five-year plan while doing her masters. We ask if it’s necessary to have a master’s degree to be well-equipped in data science. The difference between an Elixir model and a data science model. Jenn elaborates on weights and intuitive algorithms. Dealing with N-dimensional matrices. Relating the foundations of machine learning to IoT. Ways to start building up an intuition around what the most fundamental abstractions are. Using priori knowledge to add nuance to your machine learning. How Jenn envisions the future of data science. Hear about tensors and vectors. Jenn tells us about her keynote experience at ElixirConf 2020. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Discord — https://smr.tl/wizards-discord Elixir Wizards Email — podcast@smartlogic.io Jenn Gamble on Twitter – https://twitter.com/jennpgamble Jenn Gamble on LinkedIn – https://www.linkedin.com/in/jenn-gamble/ ElixirConf 2020 - Keynote - Jenn Gamble – https://www.youtube.com/watch?v=btIvtN9wsI&abchannel=ElixirConf IoT – https://www.verypossible.com/careers Very – https://jobs.lever.co/verypossible MathWorks – https://www.mathworks.com/products/matlab.html Cassie Kozykrov – https://kozyrkov.medium.com/ Linear regression – http://www.stat.yale.edu/Courses/1997-98/101/linreg.htm Pythagorean theorem – https://www.mathplanet.com/education/pre-algebra/right-triangles-and-algebra/the-pythagorean-theorem Quadratic equation – https://www.mathsisfun.com/algebra/quadratic-equation.html A priori and a posteriori – https://iep.utm.edu/apriori/ Tensor – https://mathworld.wolfram.com/Tensor.html Vector (mathematics and physics) – https://mathinsight.org/vector_introduction Coursera – https://www.coursera.org/learn/ai-for-everyone Special Guest: Jenn Gamble.
Many organizations take an incremental approach when adopting Elixir, preferring to pick up its nuances by using it to work on non-essential projects. But not Change.org. Today we speak with Change.org Director of Engineering John Mertens about how his company adopted Elixir to create a business-critical app that handles over a billion emails per month. From building webpages on GeoCities to working as an IT intern at an Iowan prison, we open our conversation by exploring John’s coding background. After chatting about his first Elixir project, we dive into Change.org’s process in adopting Elixir. As John shares his insights into successfully integrating Elixir into your tech stack, he highlights the benefits provided by the language. Later, John discusses the advantages of event-driven architecture and how this structure makes it easier for teams to access and analyze data, while also making it easier to add product features. We wrap up this episode with John highlighting his user-centered approach to coding. Join us to hear John’s lessons on making the leap and adopting Elixir in large organizations. Key Points From This Episode: John shares details about his role at Change.org. The story behind John and Change’s Elixir adoption. Hear about John’s coding journey. How John made an Elixir app based on spotting San Francisco tram carriages. Insights into the massive project that Change built using Elixir. Why Elixir is taking over Change’s back-end tech stack. Using Elixir to build reliable event-based architecture. Exploring event-driven architecture from the perspective of Change’s system. John makes a compelling case for event-driven architecture. How Change hires for Elixir roles. Change’s process in training their staff to code in Elixir. John talks about his user-centred approach to design. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Discord — https://smr.tl/wizards-discord Elixir Wizards Email — podcast@smartlogic.io John Mertens — https://www.mertonium.com/about John Mertens on Twitter — https://twitter.com/mertonium John Mertens on GitHub — https://github.com/mertonium Change.org — https://www.change.org/ Change.org Careers — https://careers.change.org/ José Valim — https://twitter.com/josevalim GenStage and Flow - José Valim (Lambda Days 2017) — https://www.youtube.com/watch?v=XPlXNUXmcgE Dashbit — https://dashbit.co/ Hacker News — https://thehackernews.com/ Paul Graham — https://twitter.com/paulg/ Nim — https://nim-lang.org/ Pony — https://www.ponylang.io/ Grax.io — https://www.grax.com/ Logo — https://el.media.mit.edu/logo-foundation/whatislogo/logo_programming.html Nerves — https://www.nerves-project.org/ Flow — https://hexdocs.pm/flow/Flow.html ElixirConf EU — https://www.elixirconf.eu/ Martin Fowler — https://martinfowler.com/ ‘The Log: What every software engineer should know about real-time data's unifying abstraction’ — https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying Salesforce Marketing Cloud — https://www.salesforce.com/eu/products/marketing-cloud/overview/ ‘Delivering social change with Elixir at Change.org’ — https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/ Code for America — https://www.codeforamerica.org/ Special Guest: John Mertens.
As users increasingly demand interactivity from their web experiences, Phoenix LiveView is becoming the dominant way of writing interactive Elixir applications without a loss to reliability. Today we welcome back an old friend of the show and GitHub engineer Sophie DeBenedetto to talk about her upcoming book, Programming Phoenix LiveView. We open our conversation with Sophie by hearing about her work at GitHub, as well as what we can expect from the Code BEAM V conference. As she doesn’t always get to use Elixir at her job, Sophie then discusses how coders can sharpen their Elixir skills when not at work. After exploring how companies can begin adopting Elixir through event-driven design, we dive into Sophie’s book. She unpacks the value of LiveView when building efficient web applications before touching on how her book can best help people to learn LiveView. We ask Sophie how intertwined the future of Elixir is to the success of LiveView and how this might impact Phoenix. Her answers highlight LiveView’s role in pushing Elixir adoption while also making Elixir easier to learn. We wrap up our discussion by chatting about the challenges of technical writing and Sophie’s experience working with the wonderful Pragmatic Programmers publishing house. Tune in to hear more insights into programming LiveView; if you believe the hype, it’s “one of the most important new frameworks of our generation.” Key Points From This Episode: We catch up with guest Sophie DeBenedetto and hear about the Code BEAM V conference. Sophie shares her feelings on coding in Go. How Sophie engages with Elixir when it’s not a key part of her day job. What Flatiron School did to work towards Elixir adoption. Exploring the concept of event-driven design. Insights into the eventing system used at GitHub. Sophie talks about her experience as an engineering manager. Why Sophie transitioned from being a manager to being an individual contributor. How work-from-home has impacted meeting expectations. Hear the elevator pitch for Sophie’s upcoming book. Thoughts on how beginner-friendly Elixir is as a language. Whether Phoenix LiveView is the future of Elixir. How the attention placed on LiveView limits access to Phoenix resources and tutorials. We ask Sophie if LiveView will make it easier or more difficult to learn Elixir. Advice on writing technical books and the writing support offered by Pragmatic Programmers. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Discord — https://smr.tl/wizards-discord Elixir Wizards Email — podcast@smartlogic.io Sophie DeBenedetto — http://sophiedebenedetto.nyc/ Sophie DeBenedetto on LinkedIn — https://www.linkedin.com/in/sophiedebenedetto/ Sophie DeBenedetto on Twitter — https://twitter.com/smdebenedetto Programming Phoenix LiveView — https://www.pragprog.com/titles/liveview/programming-phoenix-liveview/ Beam Radio — https://www.beamrad.io/ Code BEAM V — https://codesync.global/conferences/code-beam-sto/ Bruce Tate — https://twitter.com/redrapids José Valim — https://twitter.com/josevalim Nx — https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-available Alex Koutmos — https://twitter.com/akoutmos EMPEX — https://empex.co/nyc.html Flatiron School — https://flatironschool.com/ ‘What is the difference between Event Driven and Event Sourcing?’ — https://softwareengineering.stackexchange.com/questions/385375/what-is-the-difference-between-event-driven-and-event-sourcing Chris Keithley — https://twitter.com/chriskeathley GitHub — https://github.com/ Steven Nuñez — https://twitter.com/StevenNunez ‘Shipping Greenfield Elixir in a Legacy World’ — https://codesync.global/conferences/code-beam-v-america-2021/training/#145shipping-greenfield-elixir-in-a-legacy-world Ruby on Rails Tutorial: Learn Web Development with Rails — https://www.amazon.com/Ruby-Rails-Tutorial-Addison-Wesley-Professional-ebook/dp/B01N779HKK Toran Billups — https://twitter.com/toranb The Pragmatic Programmers — https://pragprog.com/ Chris McCord — https://twitter.com/chris_mccord/ Dave Thomas — https://twitter.com/pragdave/ Andy Hunt — https://twitter.com/PragmaticAndy/ Zenni — https://www.zennioptical.com/ Warby Parker — https://www.warbyparker.com/ Special Guest: Sophie DeBenedetto.
With the prevalence of at-home learning, teachers have to compete for student attention against numerous screen-based activities. Today we speak with engineering lead Shaun Robinson and Elixir developer Toran Billups about how Legends of Learning helps educators make their classrooms fun, engaging, and productive through their curriculum-based games. After chatting about Legends’ mission to empower teachers, we talk with Toran about how he landed a job there. He then shares his insights into securing Elixir jobs, touching on the importance of networking and building a portfolio of Elixir projects. We discuss why Elixir became Legends’ language of choice before exploring their process in adopting Elixir. Reflecting on their early server structure, Shaun explains their process of refactoring from their old code base into an Elixir monolith. Responding to a previous episode, where frustrations were shared about coding in LiveView, Toran talks about its advantages, despite its issues as a new technology. Later, Shaun and Toran dive into what you can do to help your company adopt Elixir. We wrap up another incredible conversation by asking our guests about their favorite Legend of Learning games. Tune in to hear more about Legend of Learning’s Elixir journey and how they’re using it to create dynamic learning environments. Key Points From This Episode: Exploring the mission and work of the Legends of Learning startup. Shaun and Toran share details about their backgrounds. Why building a van home is so similar to building software. Hear about Toran’s podcast on the human side of programming. Shaun talks about the time when he sold his Twitter and GitHub handle. What Toran did to land his first Elixir job. Why Legends of Learning decided to adopt Elixir. Insights into Legends of Learning’s early server architecture. Toran unpacks Legend’s hiring process. Why Shaun’s engineering team consists of remote workers. Toran shares the virtues of coding in LiveView. What Shaun did to refactor their old code base into an Elixir monolith. The process that Legends underwent when adopting Elixir. Advice on finding an Elixir role and adopting Elixir in your company. Hear about Shaun and Toran’s favorite Legend of Learning games. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Email — podcast@smartlogic.io Shaun Robinson on LinkedIn — https://www.linkedin.com/in/shaun1010/ Toran Billups on Twitter — https://twitter.com/toranb Toran Billups on LinkedIn — https://www.linkedin.com/in/toranb/ Legends of Learning — https://www.legendsoflearning.com/ Vadim Polikov — https://www.linkedin.com/in/vadim-polikov/ Developing Fatigue Podcast — https://developingfatigue.fm/ Kris Van Houghton — https://twitter.com/krivaten Dave Gardner — https://www.linkedin.com/in/davegardner01/ Legends of Learning Careers — https://www.legendsoflearning.com/interested-game-developer/ Legends of Learning API Docs — https://docs.legendsoflearning.com/ Lonestar Elixir — https://lonestarelixir.com/ Elixir Match —https://elixirmatch.com/ Elixir Match on GitHub — https://github.com/toranb/elixir-match Chris McCord — http://chrismccord.com/ Grox.io — https://grox.io/ Bruce Tate — https://www.linkedin.com/in/bruce-tate-a836b/ Postgraphile on GitHub — https://github.com/graphile/postgraphile Martin Fowler — https://martinfowler.com/ The Strangler Application — https://martinfowler.com/bliki/StranglerFigApplication.html Timescale — https://www.timescale.com/ ‘TimescaleDB 2.0 is now Generally Available’ — https://blog.timescale.com/blog/timescaledb-2-0-is-now-generally-available/ Sun, Moon & Stars: Patterns of Apparent Motion on Legends of Learning — https://www.legendsoflearning.com/learning-objectives/the-sun-moon-and-stars-patterns-of-apparent-motion/ Magic the Gathering — https://magic.wizards.com/en Legends of Learning Awakening — https://www.legendsoflearning.com/blog/homework-and-test-prep-math-and-science-game/ Hour of Code — https://hourofcode.com/ Owl Pro — https://owllabs.com/products/meeting-owl-pro Correction: In an earlier version of this episode, the host mis-spoke and mis-named the guests' company name in the outro; that error has been corrected as of 2021-02-25 3:52PM ET. Special Guests: Shaun Robinson and Toran Billups.
ClusterTruck, a master of vertical integration, is rewriting the method of end-to-end food delivery and ghost kitchens. Today we speak with ClusterTruck Product VP Brian Howenstein to find out more about his journey in programming, ClusterTruck as an end-to-end food service, and how Elixir became mission-critical to the success of the business. We kick things off by hearing more on Brian’s childhood and how he became interested in programming. We then hear about his internship at Apple where he was part of the Core OS networking team. Brian touches on brushing shoulders with Steve Jobs, Jony Ivy, and Tim Cook, and shares how these personalities changed his view of the tech industry. Later in the show, we turn our attention to current times. Brian expands on his role at ClusterTruck and shares details on how Elixir has played a vital role in the company’s success. We hear his take on vertical integration, why they’d never consider third-party delivery companies, and much more. We then briefly digress to Brian’s hobby: the Scottish Games, before returning to ClusterTruck to find out what his favorite menu items are and what the future holds for food delivery and ghost kitchens. Be sure to stay tuned to enjoy our mini-feature where we speak with Michelle Morry, a software engineer at FuturePet. For all things Elixir, be sure to join us today! Bonus: If you’re in Indianapolis, IN, Columbus, OH, or Kansas City, MO, download the ClusterTruck app and use code “ELIXIRWIZARDS” at checkout for a one-time 25% discount on your ClusterTruck order. Good for a single use for both new and returning customers. Key Points From This Episode: A call to all talented engineering managers to join our team! Introducing today’s guest, Brian Howenstein. Brian tells us about his company, ClusterTruck. Hear about Brian’s background in technology and programming. What inspired Brian to do programming professionally. Brian tells us about his internship at Apple. Hear one of Brian’s fondest anecdotes about Jony Ive. Brian shares notes on his path to Elixir. Why Elixir has had such an impact on ClusterTruck’s success. ClusterTruck’s origin story. Brian talks about ClusterTruck’s vertical integration model. How Brian got the people around him to buy into Elixir and the hurdles that came with it. Brian talks about his journey to become a ClusterTruck VP. Brian tells us about his hobby and we digress to World’s Strongest Man controversy. How COVID has affected Brian’s business. Nerves projects at ClusterTruck and how it’s being used. What the future looks like for ClusterTruck. Brian’s advice for people who are trying to get their company to code in Elixir. How ClusterTruck is using LiveView. Brian’s favorite and least favorite menu items. Stay tuned for our quick mini-feature. Links Mentioned in Today’s Episode: ClusterTruck — https://www.clustertruck.com/ ClusterTruck Hiring — https://www.notion.so/clustertruck/Engineering-Openings-at-ClusterTruck-ef2372d2c2ab43b3b82f56a097c86eeb Cabermetrics — https://www.cabermetrics.com/ Brain Howenstein on LinkedIn — https://www.linkedin.com/in/brianhowenstein/ Brain Howenstein on Twitter — https://twitter.com/hwrd Indianapolis Scottish Games Festival — https://indyscotgamesandfest.com/ Purdue University — https://www.purdue.edu/ SimCity — https://www.ea.com/en-gb/games/simcity Apple — https://www.apple.com/ Jony Ive — https://www.britannica.com/biography/Jonathan-Ive Tim Cook — https://twitter.com/timcook Steve Jobs — https://www.biography.com/business-figure/steve-jobs Uber Eats — https://www.ubereats.com/za ExactTarget — https://www.linkedin.com/company/exacttarget/ Salesforce — https://www.salesforce.com/ DoorDash — https://www.doordash.com/en-US GrubHub — https://www.grubhub.com/ The World’s Strongest Man — http://theworldsstrongestman.com/ Raspberry Pi — https://www.raspberrypi.org/ Indy Elixir - Using Elixir at ClusterTruck: Milliseconds Matter When Your Users are Hangry — https://www.youtube.com/watch?v=9LMzYTK6dsE&abchannel=IndyElixir Indy Elixir - /hungry until food arrives: How ClusterTruck uses Elixir to make ordering for a Team Simple — https://www.youtube.com/watch?v=ZY2XeIENMRw&abchannel=IndyElixir ClusterTruck: Liberate Your Appetite — https://www.youtube.com/watch?v=xNC3vrrxNWM&abchannel=ClusterTruck Sean in the City: ClusterTruck Indy — https://www.youtube.com/watch?v=-nusA13LYJI&abchannel=B105.7Indy ClusterTruck + Slack — https://www.youtube.com/watch?v=C6t8aZQPB68&abchannel=ClusterTruck Special Guest: Brian Howenstein.
Building a successful development company requires having a leader with technical know-how and excellent management skills. Today we speak with SmartLogic President and Founder Yair Flicker about his company’s origin story, evolution, and their Elixir adoption process. Early in the episode, we talk about Yair’s first jobs before diving into how he founded SmartLogic. An important transition point, we then chat about how he moved from writing code to running a business. Reflecting on his tech background, Yair opens up about how he learned to code before he shares insights into the languages that his company programs in, how they discovered Elixir, and how they integrated it into their practice. In a discussion that’s sure to resonate with startup managers, Yair unpacks what he does to grow as a manager, along with best practices for companies looking to adopt Elixir. We ask Yair about the benefits of coding in Elixir, how SmartLogic has retained its top employees, why he prioritizes employee happiness, and the role that company values play in strengthening SmartLogic. After hearing about Yair’s vision for the future, we jump into our mini-segment where we interview Jake Johnson, the Director of Software Engineering at TaxJar. For more on building strong companies and advice on adopting Elixir, be sure to tune in and benefit from our conversations with Yair and Jake. Key Points From This Episode: SmartLogic Founder Yair Flicker talks about his first job. Yair shares details about SmartLogic’s humble origins. Early challenges SmarLogic faced and Yair’s move from coding to running a business. We ask Yair about how he learned to code. SmartLogic’s coding evolution and how they discovered Elixir. The Maker vs. Manager distinction; what Yair did to grow as a manager. Exploring the benefits of adopting Elixir. Yair’s advice for companies wanting to adopt Elixir. Why Elixir allows for more scalability than many other languages. How SmartLogic has been able to retain some of its top employees. The link between having happy employees and happy clients. How Yair lives his company’s values. Yair shares his recipe for creating productive meetings. Hear about Yair’s vision for SmartLogic’s future. For our mini-feature segment, we chat with Jake Johnson from TaxJar. Why TaxJar adopted Elixir and details on Jake’s background. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Email — podcast@smartlogic.io Yair Flicker on LinkedIn — https://www.linkedin.com/in/yflicker/ Yair Flicker on Twitter — https://twitter.com/yflicker Jake Johnson on LinkedIn — https://www.linkedin.com/in/jakej/ TaxJar — https://www.taxjar.com/ Music and Arts — https://www.musicarts.com/ Johns Hopkins University — https://www.jhu.edu/ Hackers — https://www.imdb.com/title/tt0113243/ National Conference of Synagogue Youth — https://ncsy.org/ Stanley Black & Decker — https://www.stanleyblackanddecker.com/ Reddit — https://reddit.com/ Discord — https://discord.com/ Instagram — https://www.instagram.com Amazon Web Services — https://aws.amazon.com/ Sales Tax for Developers — https://salestax.dev Backstreet Boys — https://linktr.ee/backstreetboys Special Guest: Yair Flicker.
Despite its welcoming character, the Elixir community struggles with diversity; as the 2020 ElixirConf community survey shows, only 2% of Elixirists are women. Today we speak with Blinker software engineer Alexandra Chakeres about her experience of the community, as well as what we can do to make it more inclusive. We open by exploring Alexandra’s background and coding career. After expressing her enthusiasm for the Turing School, we talk about Alexandra’s learn-by-doing approach to picking up Elixir. She shares how she landed her first Elixir job before we chat about her current role at Blinker. We discuss why the small size of the community means that Alexandra doesn’t recommend Elixir to coding beginners. We then dive into the topic of Elixir diversity, touching on factors that limit inclusivity, including how few Elixir positions are available for juniors. Alexandra unpacks solutions, like how organizations can shift their hiring pipeline and the need to approach diversity organizations with openings. Later, listeners will enjoy our mini-feature segment where we interview Instinct Science engineer Bill Peregoy about how their team uses Elixir. Tune in for more on what we can do to create a more diverse community. Key Points From This Episode: Hear how co-host Sundi Myint first met Alexandra. Alexandra shares details about her coding background. Why Alexandra feels so passionately about Turing Boot Camp. Details about Alexandra’s first Elixir job. What Alexandra’s current team builds in Elixir and her experience using umbrella apps. Comparing Ruby with Elixir and insights into what Elixir is missing. Why Alexandra doesn’t recommend that junior engineers first learn Elixir. How restricted Elixir hirings lead to a lack of diversity in the community. Exploring ways to make the Elixir community more diverse. What Alexandra most enjoys about coding in Elixir. Alexandra’s top advice for minorities in the Elixir community. Why it’s up to all of us to create a more inclusive community. We talk to Bill Peregoy about how the team at Instinct Science uses Elixir. Bill’s challenges and benefits to writing in Elixir. How Bill would help new hires learn Elixir. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Email — podcast@smartlogic.io Alexandra Chakeres on LinkedIn — https://www.linkedin.com/in/alexandrachakeres/ Alexandra Chakeres on GitHub — https://github.com/chakeresa Blinker — https://www.blinker.com/ ElixirConf — https://elixirconf.com Brian Cardarella — https://twitter.com/bcardarella Turing School — https://turing.io/ Angelfire — https://www.angelfire.lycos.com/ Melvin Cedeno — https://twitter.com/thecraftedgem Weedmaps — https://weedmaps.com/ Denver Erlang and Elixir Meetup — https://www.meetup.com/Denver-Erlang-Elixir/ DC |> Elixir Meetup — https://www.meetup.com/DC-Elixir/ DispatchHealth — https://www.dispatchhealth.com/ Autotrader — https://www.autotrader.com/ José Valim - https://github.com/josevalim Diversified Tech — https://www.diversifytech.co/ Women Who Code D.C — https://www.womenwhocode.com/dc Bruce Tate — https://twitter.com/redrapids Bill Peregoy on LinkedIn — https://www.linkedin.com/in/billperegoy/ Instinct Science — https://www.instinct.vet/ AppSense — https://www.ivanti.com/company/history/appsense Special Guest: Alexandra Chakeres.
In this episode we continue our conversation about adopting Elixir, this time with Matt Nowack and Jake Heinz from Discord, hearing them get into the features of Elixir that make it a great fit for building a real-time chat infrastructure system! We also invite Arthi Radhakrishnan from community.com for our mini-interview in the last chunk of the episode. Our chat begins with Jake and Matt telling Elixir developers exactly why they should not use Mnesia. They subsequently dive into their journeys in programming and the process of learning Elixir after joining Discord. They share a few aha-moments as well as challenging projects that asked them to get their heads around some of the more powerful features of Elixir, highlighting a way they used immutability for a project that asked them to efficiently calculate deltas for large member list updates. From there we get into the culture around onboarding new devs at Discord, the company’s popular open-source Elixir contributions, and some brags about the high performance of features of Discord built in Elixir. Wrapping up with Jake and Matt, we hear their suggestions for teams and devs hoping to adopt Elixir, where they strongly advise on learning OTP as well as Elixir’s standard library. After that, it’s time for our chat with Arthi, where we hear about her programming journey, how Elixir is being put to use at Community.com, how the company supports new devs learning Elixir, and more! Key Points From This Episode: Our guests’ thoughts on why Elixir developers shouldn’t use the database driver Mnesia. How Jake and Matt got into programming and learned Elixir after joining Discord. The history of the use of Elixir at Discord and some of the projects Jake helped build since. The nuts and bolts of OTP; Jake’s experiences learning it along with Elixir at Discord. Different projects Matt worked on after joining Discord and how they helped him learn Elixir. Aha moments of learning Elixir; features of the language that acted as force multipliers in the development of different Discord projects. Processes at Discord for helping new developers learn Elixir. Open-source contributions from Discord to the Elixir community and the culture around this at Discord. Issues around logging and memory allocation in Elixir and what our guests think could change. The sheer power Elixir brought to the Discord project allowing rapid scale with a small team. Jake weighs in on the strengths of Python, Rust and Elixir, as well as BEAM processes versus Goroutines. Discord as a native Electron app and whether we will see it written in Rust. Advice regarding adopting Elixir about the power of OTP and the standard library. Introducing Arthi Radhakrishnan for our mini-interview at the end of the show. Previous languages Arthi worked in and how she learned Elixir after joining community.com. The fan chat service offered at community.com and some famous users. Features of the community.com architecture built in Elixir. The size of the team, the culture of hiring Elixir devs, and Arthi’s onboarding process at Community.com.
Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Matt Nowack on GitHub — https://github.com/ihumanable Mat Nowack on Twitter — https://twitter.com/ihumanable?lang=en Jake Heinz on GitHub — https://github.com/jhgg Apply for a Position at Discord — https://discord.com/jobs Stanislav Vishnevskiy on LinkedIn — https://www.linkedin.com/in/svishnevskiy/ ZenMonitor — https://github.com/discord/zenmonitor SortedSet Nif — https://github.com/discord/sortedsetnif The BEAM Book — https://github.com/happi/theBeamBook Semaphore — https://github.com/discord/semaphore ExHashRing — https://github.com/discord/exhashring ertsalloc Documentation — https://erlang.org/doc/man/erts_alloc.html Arthi Radhakrishnan on LinkedIn — https://www.linkedin.com/in/arthiradhakrishnan/ Community.com (https://www.community.com/) Andrea Leopardi on LinkedIn — https://www.linkedin.com/in/anleopardi/?originalSubdomain=it Special Guests: Jake Heinz and Matt Nowack.
Welcome back to the Elixir Wizards podcast! In this episode, we will be continuing our conversation on the theme of adopting elixir, and our great guest for today is Jason Axelson! Jason is a back-end developer for a mixed reality studio called Animal Repair Shop and has also made some significant contributions to the Elixir Language Server project. We kick off our conversation with Jason hearing about his programming journey and then dive into the event chat service app he helped build using Elixir while he was working at Hobnob. From there, we talk about some of his aha moments while learning Elixir and some of his favorite features about the language which he is putting to use building out the back end for Animal Repair Shop. Next, we turn our attention to Elixir Language Server and Jason weighs in on the IDE type features it offers, why he got started as a collaborator on the project, and some of their challenges in the field of shared governance. Wrapping up for today, Jason makes a few suggestions for how devs who love Elixir can convince their teams to adopt it as a more mainstream option. Tune in for a great chat on the topic of adopting Elixir! Key Points From This Episode: An introduction to Jason Axelson and the story of how he got into programming. Some of the books our hosts and guests read as kids and how they relate to programming. How Jason got into Elixir while working on a chat service for events app at Hobnob. Jason’s current project using Elixir to build the back end for Animal Repair Shop. What caused Hobnob to switch to Elixir for their chat app and Jason’s aha moments learning it. The TLDR version of the project that birthed ‘Road to 2 Million WebSocket Connections’. What Jason loves about Elixir — pattern matching, immutability, explicitness. Why Jason and his team at Animal Repair Shop are building their back end in Elixir. The features provided by the Elixir Language Server for giving IDEs Elixir type support. Jason’s involvement with GitHub/ElixirLSP; why he got involved, the project’s architecture, etc. Some of the most challenging aspects of working on ElixirLS for Jason. Jason’s talk on ElixirLS at ElixirConf – its content, doing it virtually, and more. New features in the pipeline for ElixirLS; formatting speed improvements and more. The role that good tooling plays in being able to learn a language more easily. What needs to happen for Elixir to become a more mainstream back end option. Advice from Jason regarding ways to convince your firm to adopt Elixir. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Jason Axelson on LinkedIn — https://www.linkedin.com/in/jasonaxelson Jason Axelson on GitHub — https://github.com/axelson Jason Axelson on Twitter — https://twitter.com/bostonvaulter?lang=en Privcheck by Jason Axelson — https://github.com/axelson/privcheck Jason Axelson ElixirConf ElixirLS Talk — https://2020.elixirconf.com/speakers/126/talk A Definitive Guide to JavaScript — https://www.oreilly.com/library/view/javascript-the-definitive/9781491952016/ Hobnob — https://hobnob.app/ Elixir for Programmers by Dave Thomas — https://codestool.coding-gnome.com/courses/elixir-for-programmers Animal Repair Shop — https://www.animalrepairshop.com/about/ ‘Road to 2 Million WebSocket Connections’ — https://phoenixframework.org/blog/the-road-to-2-million-websocket-connections Elixir Getting Started Guide — https://elixir-lang.org/getting-started/introduction.html GitHub/ElixirLP — https://github.com/elixir-lsp/elixir-ls Adopting Elixir — https://pragprog.com/titles/tvmelixir/adopting-elixir/ Elixir Slack — https://elixir-slackin.herokuapp.com/ elixir-lsp/elixir-ls: Issue #274 — https://github.com/elixir-lsp/elixir-ls/issues/274 elixir-lsp/elixir-ls: Issue #381 — https://github.com/elixir-lsp/elixir-ls/issues/381 Special Guest: Jason Axelson.
Anyone who has written software for the travel industry can tell you that it is in desperate need of innovation — shockingly many of their cobwebbed systems were built in the 70s. Today we speak with Duffel CEO Steve Domin, who is building tech that can finally align travel with the expectations of modern consumers. We open by exploring Steve’s journey into coding before diving into how Duffel is innovating travel. After touching on how the pandemic has impacted Duffel’s roll-out, Steve shares horror stories about the outdated tech and API systems that airlines use. We discuss Duffel’s service offerings and why Elixir is uniquely suited to solve the problems that Steve’s company is addressing. Steve then talks about the types of engineers that Duffel hires, his client base, and where his company is heading. Near the end of the episode, we ask Steve for his advice on selling your company on Elixir and we chat about the status of the London Elixir Meetup. Tune in for more insights on how Steve is using Elixir to make travel an effortless experience. Key Points From This Episode: Introducing Duffel CEO Steve Domin. Steve shares details about his coding journey and career highlights. Insights into the old school ecosystem of Flash, Flex, and ActionScript. Exploring how Duffel is innovating the travel industry. Why Duffel accelerated their roll-out due to the pandemic. Steve unpacks the outdated tech and API systems that airlines use. Why Duffel decided to use Elixir to tackle their problems. The benefits of using Elixir when dealing with airline data. Steve gives listeners an overview of Duffel’s pipeline. Insights into the types of engineers that Duffel hires. Who Duffel’s clients are and how they’re onboarded. Steve reflects on some airline API horror stories. Hear about Duffel’s roadmap — the future is bright. What Elixir has uniquely enabled Duffel to do. Steve’s advice on selling Elixir to stakeholders in your company. The status of the London Elixir Meetup. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Steve Domin — https://stevedomin.com/about Steve Domin on LinkedIn — https://www.linkedin.com/in/stevedomin/ Steve Domin on Twitter — https://twitter.com/stevedomin Duffel — https://duffel.com/ Duffel Careers — https://duffel.com/careers José Valim — https://twitter.com/josevalim Flex — https://www.adobe.com/products/flex.html Passenger Service System — https://en.wikipedia.org/wiki/Passengerservicesystem Global Distribution System — https://en.wikipedia.org/wiki/Globaldistributionsystem Sabre — https://www.sabre.com/ Amadeus — https://amadeus.com/en ‘Why does NDC matter to my travel business?’ — https://duffel.com/blog/why-does-ndc-matter-to-my-travel-business IATA — https://www.iata.org/ Next.js — https://nextjs.org/ GoCardless — https://gocardless.com/ Twilio — https://www.twilio.com/ Stripe — https://stripe.com/ Thomas Bates — https://www.linkedin.com/in/thomas-bates-3908a74b/ Elixir London Meetup — https://www.meetup.com/Elixir-London/ Baris Balic — https://twitter.com/barisbalic Special Guest: Steve Domin.
To beat out their competitors, startups need to code quickly, simply, and in a language that attracts top engineers. Enter Elixir. Today we speak with Shawn Vo, Axle Payments Co-Founder and CTO, about his journey with Elixir and how it has given his company a competitive advantage. We open our conversation by exploring how Shawn got into coding while automating his work as an investment banker. After touching on why he sees programming as a superpower for adding value, he shares his growth hacks for learning a language — these range from reading old books to attending coding meetups. We then dive into Axle Payments’ business model, with Shawn highlighting the business opportunity of creating tech for industries that “people don’t think about.” A key theme in this episode, Shawn talks about how building in Elixir has helped Axle Payments hire the best engineers. We also discuss how Elixir allows them to quickly and efficiently write code that doesn’t break. Near the end of the episode, we explore Shawn’s browser extension projects and why he has a readme file to help guide people who want to work with him. Be sure to tune in to hear more insight from Shawn on the benefits of using Elixir in the startup space. Key Points From This Episode: Introducing Axle Payments CTO Shawn Vo. From investment banking to coding, hear how Shawn got into our industry. Why coding and creating content are top ways of creating value. Reading books and getting into the fundamentals; tips on how Shawn learns a language. Shawn shares details about his professional career. How Shawn grew his skills by attending coding meetups. Hear about Axle Payments’ model providing a factoring service. How Shawn discovered and fell in love with Elixir. Why Elixir has given Axle Payments their competitive advantage. Shawn reflects on his first Elixir project. The benefits of using event sourcing to build your app. Why Shawn created a readme to guide people who want to work with him. Shawn summarizes why Elixir is the perfect language for his company. Links Mentioned in Today’s Episode: Shawn Vo on LinkedIn — https://www.linkedin.com/in/shawnvo/ Shawn Vo on Twitter — https://twitter.com/shawnvo Shawn Vo on GitHub — https://github.com/voshawn Shawn Vo Email — shawn@axlepayments.com Axle Payments — https://www.axlepayments.com/ The Technical Cofounder Newsletter — https://technicalcofounder.substack.com/ Meryl Dakin — https://twitter.com/meryldakin WALL-E — https://www.imdb.com/title/tt0910970/ Barclays Investment Bank — https://www.investmentbank.barclays.com/ The Climate Corporation — https://www.climate.com/ The Monsanto Company — https://www.cropscience.bayer.com/ Federal Deposit Insurance Corporation — https://www.fdic.gov/ Deep Learning NYC — https://www.meetup.com/Deep-Learning-NYC/ Baltimore AI Meetup — https://www.meetup.com/Baltimore-AI/ Fast.ai — https://www.fast.ai/ Megabus — https://www.megabus.com/ Greyhound — https://www.greyhound.com/ Techstars — https://www.techstars.com/ Peter Thiel — https://www.forbes.com/profile/peter-thiel/ WeWork — https://www.wework.com/ Paul Graham — http://www.paulgraham.com/ Y Combinator — https://www.ycombinator.com/ ‘The Python Paradox’ — http://www.paulgraham.com/pypar.html Heroku — https://www.heroku.com/ Sessionizer — https://sessionize-me.herokuapp.com/ Hamilton — https://hamiltonmusical.com/new-york/home/ Slack — https://slack.com/ Phoenix — https://hexdocs.pm/phoenix/overview.html Commanded — https://hexdocs.pm/commanded/Commanded.html The Social Dilemma — https://www.imdb.com/title/tt11464826/ Special Guest: Shawn Vo.
Today we sit down with Erlanger Viktória Fördős, who talks with us about Erlang and how it is used at Cisco. We open the show by finding out about Viki’s background in coding and her unorthodox entry into the field. After hearing about her experiences in her school choir and her transition into the informatics faculty, Viki talks to us about her first experiences in coding and the thrills she found in it. She then expands on the topic, revealing how she approached people to build their websites using her newfound skills in HTML and PHP. A flash-forward later, and Viki shares details about her role as an NSO Core Engineer for Cisco. After hearing how NSO serves as a network operating system, device automation platform, and orchestration engine, Viki explains why NSO is so special. She touches on fast map-based service and some of the ways she and her team implement network-wide transactions using — you guessed it — Erlang. Viki then explains Erlang, how you should approach it if you’re a newbie, and what to expect from its biggest challenges. She elaborates on tail-recursive functions and high-level vulnerabilities concerned with SSL crypto libraries, system integrity, and atom tables. Toward the end of the show, we ask Viki to tell us about her Code BEAM presentation and about her thoughts on why academia and industry should collaborate on a more regular basis. Join us today and be treated to an enriching conversation about Erlang, as well as our secret mini-feature segment! Key Points From This Episode: Introducing today’s guest, Viki Fördős from Cisco. A snapshot of Viki’s unorthodox background in coding. Viki shares details about early experiences learning Basic. Hear about Viki’s first programming job out of college. Viki’s position as a core engineer for the NSO team at Cisco. Find out what the NSO team at Cisco does. Insights into the patented algorithm, “fast map.” How Viki started to use Erlang on a day-to-day basis. Ways you can start thinking in Erlang from an Elixir background. The kinds of issues Viki runs into when spawning too many processes. What Erlang has to offer that other languages cannot. Viki’s biggest challenges when she first started learning Erlang. The elevator pitch Viki uses when she encourages friends and colleagues to use Erlang. Distribution protocols and what they mean to Erlang newbies. Hear about the high-level vulnerabilities you ought to pay attention to when coding in Erlang. Introducing Christian Koch, today’s mini-feature segment guest. How Chris first got into Elixir. How Elixir is being used by platform engineers at Cars.com. Why Elixir was chosen as the end-game language to be used at Cars.com The process behind onboarding coders onto Chris’s Elixir team. Viki’s best advice to those wanting to give a Code BEAM talk. Hear about refactoring and how it works. What Viki means by, “research being consumed by industry.” Links Mentioned in Today’s Episode: Viktória Fördős - https://github.com/viktoriafordos Cisco — https://www.cisco.com/ EW20 — https://github.com/viktoriafordos/ew20 Prototype implementation of the security analysis introduced in V. Fördős: Secure Design and Verification of Erlang Systems paper Christian Koch — https://www.linkedin.com/in/ckochx/ Cars.com — https://www.cars.com/ BASIC — https://en.wikipedia.org/wiki/BASIC Cisco NSO — https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html Think in Erlang! - Viktória Fördős — https://www.youtube.com/watch?v=bYkOsQU2ywM Erlang general server — https://erlang.org/doc/man/genserver.html Erland Reference Manual — https://erlang.org/doc/referencemanual/distributed.html 4 Using TLS — https://erlang.org/doc/apps/ssl/ssldistribution.html Erland System Limits — http://erlang.org/doc/efficiencyguide/advanced.html#system-limits Hexdocs — https://hexdocs.pm/elixir/String.html#toexistingatom/1 RefactorErl — https://plc.inf.elte.hu/erlang/ Pipedream on GitHub — https://github.com/PipedreamHQ/pipedream/blob/master/components/github/readme.md Special Guest: Viktória Fördős.
Today’s guest is Simon Glenn-Gregg, News Engineer at The Washington Post. He joins us to talk about using Elixir to build a prototype for a platform the news house recently implemented to visualize the results of the November 2020 elections in real-time. While the job title of ‘News Engineer’ makes it seem like Simon invents news, this is not the case. He is focused on software related to publishing at The Washington Post, and in particular, has been working on building their election visualization platform for the past two years. Before the final iteration of the platform was built, the software engineering team at The Washington Post were given a period to test different technologies as an experiment to find the best fit, and Simon decided to try his hand at Elixir and Phoenix. He talks about what led him to this choice, and his experiences building out his prototype which he demonstrated on a dataset generated by the North Carolina 3rd Congressional District house race in September. Simon tells us about how the pitch went, what the team at The Washington Post was especially impressed by, and what led to the choice to use Node in the end. Simon talks about the culture of openness to new technologies at The Washington Post as well as some of the limitations to their adoption. We also hear about how the final version of the visualization platform held up during the elections proper, and Simon’s plans to include Elixir in future stacks due to its amazing abilities as far as concurrency and memory. Tune in today! Key Points From This Episode: What kinds of projects Simon works on at The Washington Post as a ‘news engineer’. The live updating election visualizer that Simon was working on at The Washington Post. What went into building the infrastructure for this platform and how Elixir was chosen as a candidate. A blog post about Elixir’s memory management; abilities Elixir has regarding concurrency. The first steps Simon took toward learning Elixir and Phoenix by building simple projects. Simon’s process of integrating his Elixir app into the current stack and people at The Washington Post. Testing the app on the 3rd Congressional District house race in North Carolina, and pitching to the team. Why it is hard to implement projects in new languages at The Washington Post. How the voting process went after the pitch and which project won. What the audience at the pitch loved about Elixir, and what the stumbling blocks were. The nature of working at a deadline-driven place like The Washington Post when it comes to adopting new technologies. Sources The Washington Post used to get their election data. What technologies and methods the team used to handle the size of data some election moments generated. Which parts about the election visualizer that ended up being built using Node would have been easier to do in Elixir. The other side of the coin – what made writing the app in Python and JavaScript easier. What future projects Elixir might be better suited to at The Washington Post. Simon’s background, education, and how he learned programming in previous jobs Why Simon stuck programming out and decided it was the right path for him. The need for software engineers at The Washington Post and why they are recruiting so often. A deep dive into the tech stack at The Washington Post and how they render their pages and maps. How Simon feels having reached the end of a successful project that millions of people engaged with. Future projects at The Washington Post and Simon’s hopes to incorporate more Elixir. A funny story about having to manually update the votes from rural New Hampshire into the app. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Simon Glenn-Gregg on LinkedIn — https://www.linkedin.com/in/simongle/ Simon Glenn-Gregg — http://simonglenngregg.com/ The Washington Post — https://www.washingtonpost.com/ Jason Holt on Twitter — https://twitter.com/offpol ‘Elixir RAM and the Template of Doom’ — https://www.evanmiller.org/elixir-ram-and-the-template-of-doom.html Erik Reyna on LinkedIn — https://www.linkedin.com/in/erikreyna/ Jeremy Bowers on LinkedIn — https://www.linkedin.com/in/jeremyjbowers/ Associated Press — https://apnews.com/ Edison — https://www.edisonresearch.com/ Whole Whale — https://www.wholewhale.com/ The Century Foundation — https://tcf.org/ Arc Publishing — https://www.arcpublishing.com/ Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen — https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich Special Guest: Simon Glenn-Gregg.
The culture of your programming community directly impacts your professional success. As Thunderbolt Labs Founder Randall Thomas explains in this episode, a community that practices openness and which warmly welcomes its newer members leads to greater career happiness. We open our chat with Randall by exploring his start in coding and how he discovered Elixir. He shares some of the teething problems that he had moving from Ruby to Elixir before we touch on how learning other languages expands your ability to both appreciate and code in languages that you’re already fluent in. Following this, Randall explodes the myth of the genius polyglot programmer by sharing his take on why all coders are polyglots. As the Thunderbolt CEO, we ask Randall how his company adopted Elixir. He provides listeners with insights into how they introduced Elixir into their practice without affecting existing projects. After highlighting the efficiency of Elixir and how community affects the feel of a language, we compare the culture and challenges of Ruby, JavaScript, and Elixir. Near the end of the episode, Randall reflects on why experts make for poor teachers. For Randall, Elixir gives his company a competitive advantage. Tune in to hear Randall’s perspective on why community matters and for his top advice on teaching your team Elixir. Key Points From This Episode: Introducing Thunderbolt Labs Founder and CEO, Randall Thomas. Randall shares how he discovered coding and engineering. Hear how Randall first heard about Elixir and how he picked up the language. Exploring common challenges moving from Ruby to Elixir. How learning new languages can deepen your understanding of languages that you already know. Why there’s no such thing as the ‘genius polyglot programmer.’ Details on why Randall’s company began gravitating towards Elixir. How communities affect the ‘feel’ of a language. Why no one actually writes in JavaScript anymore. Randall gives his take on why Elixir is a god-send for certain programmers. Insights into how Randall integrated Elixir into his company. The challenge of learning Elixir versus the ease of learning JavaScript. How Randall sold his clients on Elixir and the benefits of having clients that trust you. Randall’s top tips on helping your developers learn Elixir. Why Elixir gives Randall’s a strategic advantage. The importance of having non-experts explain things to you. How your coding community can impact your happiness and career success. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Randall Thomas on LinkedIn — https://www.linkedin.com/in/randall-j-thomas/ Randall Thomas on Twitter — https://twitter.com/daksis Thunderbolt Labs — https://www.thunderboltlabs.com/ Episode with Miki Rezentes — https://smartlogic.io/podcast/elixir-wizards/s4e16-rezentes/ Gödel, Escher, Bach on Amazon — https://www.amazon.com/B6del-Escher-Bach-Eternal-Golden/dp/0465026567 Stephen Hawking — https://www.biography.com/scientist/stephen-hawking William James — https://plato.stanford.edu/entries/james/ Bertrand Russell — https://plato.stanford.edu/entries/russell/ Barcelona Ruby Conference — https://twitter.com/baruco José Valim — https://twitter.com/josevalim Programming Elixir on Amazon — https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/dp/1680502999 Dave Thomas — https://pragdave.me/ ElixirConf — https://2020.elixirconf.com/ ‘(UN)Learning Elixir’ — https://www.youtube.com/watch?v=o54EurlzK8o Bruce Tate — https://www.linkedin.com/in/bruce-tate-a836b/ Grox.io — https://grox.io/ Eric S. Raymond — http://www.catb.org/~esr/ Stack Overflow — https://stackoverflow.com/ Medium — https://medium.com/ Engine Yard — https://www.engineyard.com/ Douglas Crockford — https://www.crockford.com/about.html Yehuda Katz — https://www.linkedin.com/in/yehudakatz/ Blake Mizerany — https://www.linkedin.com/in/bmizerany/ The Pragmatic Studio — https://pragmaticstudio.com/ Stuff Goes Bad: Erlang in Anger on Amazon — https://www.erlang-in-anger.com/ Frederic Trottier-Hebert — https://www.linkedin.com/in/fredth/ Stu Holloway — https://www.linkedin.com/in/stu-holloway-linvio/ Paul Graham — http://www.paulgraham.com/ Hackers and Painters on Amazon — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Lonestar Elixir — https://lonestarelixir.com/ Turing.io — https://turing.io/ Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen on Twitter— https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich Special Guest: Randall Thomas.
Welcome back to Elixir Wizards, season five, episode one! The theme for this season is ‘Adopting Elixir’, and for today’s show the team at Elixir Outlaws play host! Chris Keathley, Amos King, and Anna Neyzberg give the Elixir Wizards a chance to talk about what they love about Elixir, how they learned it, and some of their experiences using it at SmartLogic! We kick off the conversation with some memories of college and the different degrees everybody did, how these experiences fit into programming and the different paths that Justus, Eric, and Sundi took into the world of Elixir. From there, we dive into some of the amazing features about Elixir, highlighting pattern matching, readability, and how easy it is to think about how to write solutions to problems using it. Our conversation moves onto the topic of serving clients with Elixir, and here we consider the risk of basing a consultancy on one technology, as well as how open clients are to their needs being met with this young but powerful language. We also talk about training staff and convincing teams to adopt Elixir, covering themes of barriers to entry, the job market, and using the Elixir community as a resource. For a fun conversation about Elixir where our hosts take the mic as guests, be sure to tune in today. Key Points From This Episode: Introducing this season’s topic and today’s plan where the hosts become guests. How Justus, Eric and Sundi got introduced to Elixir and their respective journeys using it. Everybody discusses their forays into programming and compares their different degrees. Hustles Justus did at college to get tuition cheaper for his friends and him. ‘Staking a consultancy on a tech’; how SmartLogic adopted Elixir initially. How the first few clients SmartLogic served with Elixir felt about the language being used. Sundi’s onboarding experience at CAVA and how she got introduced to Elixir. How Justus discovered the beauty of Elixir after he began to understand pattern matching. Sundi’s thoughts about hidden functionality in JavaScript code versus Elixir which reads better. Whether using Elixir to solve problems feels easy due to familiarity or its inherent characteristics. Conventions SmartLogic is implementing regarding using Elixir to build projects. The lack of introductory resources for learning Elixir and the team’s attempts at making some. The value of getting involved in your community for learning a new technology. Find out the value of investing in staff training for companies who want to switch to Elixir. A new wall between Dev and Ops in the form of Kubernetes. How to get your co-workers to learn Elixir if you are passionate about it. Growth at SmartLogic, new hires, and what they specialize in. The job landscape in 2020 and how this relates to having Elixir under your belt. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on Twitter — https://twitter.com/chriskeathley Amos King on Twitter — https://twitter.com/adkron Anna Neyzberg on Twitter — https://twitter.com/aneyzb Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen — https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich CAVA — https://cava.com/ Pavlok — https://pavlok.com/ Johnny Boursiquot — https://www.jboursiquot.com/ ElixirBridge — http://elixirbridge.org/ Matt Mills on GitHub — https://github.com/photomattmills Brooklyn Zelenca on Functional Programming — https://smartlogic.io/podcast/elixir-wizards/s3e9-zelenka/ Bleacher Report — https://bleacherreport.com/ LiveView by Bruce Tate — https://pragprog.com/titles/passlive/programmer-passport-liveview/ Special Guests: Amos King, Anna Neyzberg, and Chris Keathley.
To close off this season and conclude our deep dive into system and application architecture, today’s episode is a special panel discussion on a topic that has provoked a mix of answers that range from the controversial to the philosophical — “What does domain-driven design mean to you?” For the final word on this subject, we welcome back software developers Chris Keathley, Japa Swadia, Mark Windholtz, and Miki Rezentes. Our first hot take comes from Miki, who shares her thoughts about how domain-driven design developed because the tech industry undervalues communication. Following this, Mark and Japa discuss how domain-driven design gives developers a context for what they create while informing how you code using Elixir. We then touch on whether domain-driven design makes it easier or more difficult to change your code and how communication is valued within a business context. We explore key domain-driven design concepts, including the role of bounded contexts, and how this design ethos can help you appeal to stakeholders such as product managers. After Miki highlights the reasons why communication should be seen as a vital tech skill, each guest provides their final thoughts on domain-driven design. Tune in for this season’s insightful finale and find out which of today’s guests is the winner of “Whose Design Is It Anyway?” Key Points From This Episode: Introducing guests Chris Keathley, Japa Swadia, Mark Windholtz, and Miki Rezentes. Hear what domain-driven design means for each guest. Miki shares her hot take that domain-driven design is “nothing new under the sun.” Why the essence of domain-driven design is about listening. How domain-driven design can inform your Elixir architecture. Mapping your system and developing names for your bounded contexts. Domain-driven design trade-offs and how it can lead to a loss of productivity. The idea that domain-driven design has developed because the tech industry undervalues communication. Why communication should be valued — bad communication costs money. How tech companies are generally aligned with the goals of domain-driven design. Why Mark is so delighted to be working with Elixir and domain-driven design. The link between domain-driven design and developing better products. Exploring how bounded contexts allow teams to create solutions to unique problems. Seeing communication as a tech skill that should be learned early in your career. Our guests share their final thoughts on domain-driven design. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on Twitter — @ChrisKeathley/ Chris Keathley — https://keathley.io/ Japa Swadia on Twitter — https://twitter.com/japa2292 Japa Swadia on LinkedIn — https://www.linkedin.com/in/japaswadia/ Mark Windholtz on Twitter — https://twitter.com/windholtz Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Miki Rezentes on Twitter — https://twitter.com/mikirez Miki Rezentes on LinkedIn — https://www.linkedin.com/in/miki-rezentes-823ba02a/ Podium — https://www.podium.com/ Elixir Outlaws — https://elixiroutlaws.com/ Agile DNA — http://www.agiledna.com Frame.io — https://frame.io/ Bleacher Report — https://bleacherreport.com/ Domain-Driven Design: Tackling Complexity in the Heart of Software on Amazon— https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215 Domain Language — https://www.domainlanguage.com/ The Seven Laws of Learning: Why Great Leaders Are Also Great Teachers on Amazon — https://www.amazon.com/Seven-Laws-Learning-Leaders-Teachers/dp/1599559277 Patterns, Principles, and Practices of Domain-Driven Design on Amazon — https://www.amazon.com/Patterns-Principles-Practices-Domain-Driven-Design/dp/1118714709 ‘Ubiquitous Language’ — https://martinfowler.com/bliki/UbiquitousLanguage.html ‘Value Object’ — https://martinfowler.com/bliki/ValueObject.html Domain-Driven Design Europe — https://dddeurope.com/2021/ Domain-Driven Design Europe on YouTube — https://www.youtube.com/channel/UC3PGn-hQdbtRiqxZK9XBGqQ A Philosophy of Software Design on Amazon — https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201 Eric Evans Training Videos — https://elearn.domainlanguage.com/ Designing Elixir Systems with OTP — https://www.amazon.com/Designing-Elixir-Systems-OTP-Self-healing/dp/1680506617/ Whose Line Is It Anyway? — https://www.imdb.com/title/tt0163507/ Drew Carey — https://www.imdb.com/name/nm0004804/ Special Guests: Chris Keathley, Japa Swadia, and Miki Rezentes.
Even with the most programming experience in the world, coding still involves a lot of trial and error. People getting started in the industry should not become bogged down by failure. Because in the end, it’s a feature and not a bug. That’s one of Zillion developer Anna Sherman’s key messages this episode. We open our discussion with Anna by talking about living in Chattanooga, AKA, Gig City. She talks about why the tech scene there is exploding before diving into her journey into programming. Having created her own personal coding boot camp, she opens up about what she did to land her first software job within only two months of looking. After discussing her early working experiences, we explore her work at Zillion, along with her side projects. We then touch on what Anna does to expand her skillset and develop herself as a professional, using a style guide and ‘lunch and learns’ to update her team, and we hear the elevator pitch for Anna’s Code BEAM San Francisco talk. Anna shares her take on architecture and design, as well as the importance of domain-driven design in keeping your team aligned with what they’re building. Near the end of the episode, we talk about Anna’s pre-coding process, the virtues of being a ‘physlistcler,’ and why failure is an important part of coding. Tune in to hear more of Anna’s insights on change, failure, and living in Gig City. Key Points From This Episode: Fast internet and the great outdoors; hear why Chattanooga has become a tech hub. Anna shares her love of math and how she got into programming. Creating your own boot camp and becoming a self-taught coder. How Anna landed her first gig, just two months after learning code. Exploring Anna’s first job at Sovee, a machine translation company. What side projects Anna is working on and how they help her Magic: The Gathering games. How Anna expands her skill set and develops herself as a professional. Hear Anna’s elevator pitch for the talk she gave at Code BEAM San Francisco. What architecture, design, and domain-driven design mean to Anna. Using a style guide and ‘lunch and learns’ to help your team understand patterns. Details on how Anna’s style guide keeps her team informed. The virtues of being a ‘physlistcler;’ anchoring your workflow to a physical list. Why failure is a key part of coding and the idea that anyone can learn to code. We close the episode by chatting about Anna’s favorite board games. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Anna Sherman on LinkedIn — https://www.linkedin.com/in/anna-sherman-54289372/ Anna Sherman on Twitter — https://twitter.com/cavewoman90 Anna Sherman on Instagram — https://www.instagram.com/annasherman100816/ Anna Sherman Email — anna@myzillion.com Craig Lyons Email — craig@myzillion.com Zillion — https://www.myzillion.com/ Bruce Tate — https://twitter.com/redrapids Brett Wise — https://twitter.com/brettwise Gig City Elixir — https://www.gigcityelixir.com/ NervesConf — https://www.nervesconf.com/ Chili’s — https://www.chilis.com/ GodTube — https://www.godtube.com/ Magic: The Gathering — https://magic.wizards.com/en Scryfall — https://scryfall.com/ Code BEAM SF Talk — https://www.youtube.com/watch?v=XgOJQAK6iHI Evernote — https://evernote.com/ Nerves — https://www.nerves-project.org/ ‘Repository and Services Pattern in a Multilayered architecture’ — https://www.vodovnik.com/2015/08/26/repository-and-services-pattern-in-a-multilayered-architecture/ A Handful of Stars — https://boardgamegeek.com/boardgame/197320/handful-stars A Few Acres Of Snow — https://boardgamegeek.com/boardgame/79828/few-acres-snow Special Guest: Anna Sherman.
There is no difference between architecture and design. It's all engineering and creating a distinction between the two is a way for someone to get paid more and have a different title. That hot take comes from Devon Estes, today’s guest, who provides a novel way of seeing design and architecture. We open the episode by diving straight into the topic of design, with Devon exploring how good design might be less important than developing the right toolset. We then talk about how language servers can help you effortlessly define functions, meaning that in some cases, it doesn’t matter where you put your code — even if it’s all in one file. After touching on game-changing innovations in the world of design, such as GTP-3, Devon shares how our design options are limited by our editors. Considering the impact of human error on software, we discuss the value of convention and rulesets. As Elixir apps or apps that use Phoenix are open-ended, Devon talks about his middle-ground solution to help teams overcome this challenge. Near the end of the episode, Devon chats about why design and architecture, as elements of engineering, are different levels of abstraction and not separate entities. Following this, he highlights how domain-driven design can be used to avoid confusion and bugs by ensuring that people across departments all use the same language. Tune in to hear more of Devon’s unique and well-pondered insights. Key Points From This Episode: Devon’s take on design; “Where things go doesn’t matter if you have a language server.” Defining what a language server is and its incredible usefulness. How ‘go to definition’ functions could render much of design as unnecessary. Game-changing innovations that will change the world of design. Functional versus object-orientated languages and the challenge of finding files. Why Devon uses Vim and what makes it attractive to other programmers. How Elixir apps can be a challenge due to their open-ended nature. Creating primary and secondary contexts to give Phoenix more structure. The human factor; why people are often the cause of many coding issues. Hear how Devon has been structuring his Absinthe projects. Devon shares details about his Absinthe testing library, Assertions. Devon’s hot take that there is no difference between architecture and design. The importance of domain-driven design in avoiding confusion and bugs. Why engineers need to push to ensure the same language is used across departments. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Devon Estes — http://www.devonestes.com/ Devon Estes on GitHub — https://github.com/devonestes Devon Estes on Twitter — https://twitter.com/devoncestes Jake Becker on GitHub — https://github.com/JakeBecker GPT-3 — https://www.independent.co.uk/life-style/gadgets-and-tech/news/gpt3-ai-tool-designs-websites-medicine-a9627966 Elixir Is — https://github.com/elixir-lsp/elixir-ls Ale — https://github.com/dense-analysis/ale MOO — https://lisdude.com/moo/ Erlang code — https://erlang.org/doc/man/code.html ‘A Proposal for Some New Rules for Phoenix Contexts’ — http://www.devonestes.com/a-proposal-for-context-rules ‘A proposal for an Absinthe application structure’ — http://www.devonestes.com/a-proposal-for-absinthe-project-structure Elixir Radar — https://elixir-radar.com/ Assertions.Absinthe — https://hexdocs.pm/assertions/Assertions.Absinthe.html#document_for/4 ElixirConf EU — https://www.elixirconf.eu/ ‘Elixir testing from beginner to expert’ — https://www.elixirconf.eu/trainings/elixir-testing-from-beginner-to-expert/ Special Guest: Devon Estes.
Imagine being hired into a rocketship startup using Elixir as its primary language. And all this, straight out of college. Today, we speak with systems software engineer, Lizzie Paquette who works at Brex, the aforementioned rocketship. We start our conversation by talking about how Lizzie got into coding relatively late in her life, partly due to an ill-fated run-in with Java. She shares details about her role at Brex and how the company has evolved. With a love of compilers, Lizzie dives into what beginners can do to get into compiling before chatting about her top underrated Elixir resources. Following this topic, Lizzie discusses her experience liberally implementing macros at Brex — something that ended up being detrimental when onboarding new hires. After sharing how she develops herself as a professional and coder, Lizzie talks about her involvement in Code 2040, a career accelerator and mentorship program. Reflecting this season’s theme, we ask for Lizzie’s take on what architecture, design, and domain-driven design means to her. She then reveals her coding process and emphasizes the value of creating thorough design docs to avoid bugs. We explore Brex’s architecture, how it makes use of microliths, and applying ‘chaos engineering’ — a monkey-wrench approach to testing your system. We touch on umbrella apps and lessons that Lizzie’s learned from working with Brex’s architecture. After closing our discussion with Lizzie, we open with another edition Pattern Matching with Todd Resudek and special guest Sophie DeBenedetto from GitHub. Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her. Tune in to hear Sophie’s insights, along with more on microliths and macros from Lizzie Paquette. Key Points From This Episode: Lizzie shares how she got into coding and her start in the industry. Hear about Lizzie’s role at Brex, a rocketship startup and key member of the Elixir community. How novices should approach learning how to code compilers. Underrated Elixir resources that Lizzie makes the most out of. The double-edged sword; why macros are an incredible yet dangerous tool. How Lizzie develops herself as a professional and a coder. Boosting inclusivity in the software industry through programs like Code 2040. Lizzie’s take on what architecture, design, and domain-driven design mean. The value of design docs in catching bugs and laying out a clear process. Microliths, microservices, and the nitty-gritty of Brex’s architecture. Exploring ‘chaos engineering’; testing your system by purposefully creating problems. Lizzie’s pain points when either using or not using umbrella apps. What Lizzie would do if she could rewrite Brex’s architecture from scratch. Using Brex.result to streamline code and handle common return values. For this edition of Pattern Matching, Todd Resudek interviews Sophie DeBenedetto. Sophie’s journey from liberal arts to learning software at a code boot camp. Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Lizzie Paquette on LinkedIn — https://www.linkedin.com/in/lizzie-paquette/ Lizzie Paquette on GitHub — https://github.com/lizziepaquette Brex — https://www.brex.com/ Eric Meadows Jonssön — https://twitter.com/emjii Haskell — https://www.haskell.org/ Columbia University — https://www.columbia.edu/ Clash — https://clash-lang.org/ Framer — https://www.framer.com/ Elixir Protobuf on GitHub — https://github.com/brexhq/protobuf-elixir Tony612 on GitHub — https://github.com/tony612 Elixir Syntax Reference — https://hexdocs.pm/elixir/syntax-reference.html Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!) — https://www.amazon.com/Metaprogramming-Elixir-Write-Less-Code/dp/1680500414 Macros in Elixir: Responsible Code Generation — https://www.youtube.com/watch?v=55-X7rSw8M0 Code 2040 — http://www.code2040.org/ Erlpack — https://github.com/discord/erlpack Principles of Chaos Engineering — https://principlesofchaos.org/?lang=ENcontent REST Fest 2019 | Lorinda Brandon — https://vimeo.com/364373007 ‘Building a rewards platform from scratch’ — https://medium.com/brexeng/building-a-rewards-platform-from-scratch-ff4e22124658 Brex.result on GitHub— https://github.com/brexhq/result RabbitMQ — https://www.rabbitmq.com/ Netflix Chaos Monkey on GitHub — https://github.com/Netflix/chaosmonkey Mark Erickson — https://brainlid.org/ Johanna Larsson — https://blog.jola.dev/ Todd Resudek — https://twitter.com/sprsmpl Sophie DeBenedetto — http://sophiedebenedetto.nyc/ Elixir School — https://elixirschool.com/en/ GitHub — https://github.com/ Flatiron School — https://flatironschool.com/ Barnard College — https://barnard.edu/ Law and Order — https://www.imdb.com/title/tt0098844/ Spotify — https://www.spotify.com/ Celine Dion — https://www.celinedion.com/ Hill Street Blues — https://www.imdb.com/title/tt0081873/ Perry Mason — https://en.wikipedia.org/wiki/PerryMason Matlock — https://www.imdb.com/title/tt0090481/ Telemetry on GitHub — https://github.com/beam-telemetry/telemetry Phoenix LiveView on GitHub — https://github.com/phoenixframework/phoenixlive_view Special Guest: Lizzie Paquette.
Building a sophisticated AI that can evolve to fit our vast and diverse needs is a Herculean challenge. Today we speak with senior engineer Eric Steen about Automata, his experimental Elixir project that uses neuroevolution and cutting edge theory to create a multi-agent behavior tree — or really good AI in the common tongue. But before we tap into that rich topic, we talk with Eric about tech burnout, his background, and why Elixir is an excellent language for writing modern software. He then unpacks AI concepts like the need to develop backpropagation in your system, and the value of “neural diversity,” and Markov decision processes. After Eric gives his take on architecture versus design and the place of domain-driven design, we discuss Automata. A key breakthrough, Eric shares his enthusiasm for ‘novelty search,’ where machines learn from a variety of new behaviors and searches, as opposed to completing one task at a time. We touch on Automata’s progress, Eric’s long-term approach, and what his project might be used for. Near the end of our interview, we chat about CryptoWise, a collaborative analysis platform for cryptocurrency. Todd Resudek then opens with another edition of Pattern Matching, where he interviews Whatsapp engineer Michał Muskała. They talk about Michał’s career, the movies and music that he enjoys, and the projects that excite him. Tune in to hear more about both Michał and neuroevolution in AI. Key Points From This Episode: Experiencing tech burnout and challenges around algorithms rendering you redundant. Hear about Eric’s programming background and shifts in the industry. Backpropagation and using Elixir to build a neural evolutionary system. How Markov decision processes help systems choose between possible actions. Eric’s take on architecture versus design and the place of domain-driven design. Exploring Automata — Eric’s ambitious multi-agent behavior tree. The importance of neurodiversity when building AIs; they need to adapt to many needs. Novelty search; why learn through one task when you can learn through a variety of tasks at the same time? Automata’s practical applications and why Eric sees it as a long-term project. Eric shares a progress report on his work and using design processes like Sprint. What Eric would like people to use Automata for. A sense that Elixir is gaining in popularity within Silicon Valley. Eric gives an elevator-pitch for CryptoWise, a collaborative analysis platform for cryptocurrency. Todd Resudek interviews Michał Muskała on another edition of Pattern Matching. Michał shares his background and his move from Poland to London. Movies and music that Michał enjoys, and details on projects that excite him. Differences between Erlang and Elixir and why both communities would benefit from working together. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Eric Steen on LinkedIn — https://www.linkedin.com/in/ericsteen1/ Eric Steen — https://twitter.com/thesteener Webflow — https://webflow.com/ Automata GitHub — https://github.com/upstarter/automata Automata on Slack — https://join.slack.com/t/automata-project/sharedinvite/zt-e4fqrmo4-7ujuZwzXHNCGVrZb1aVmA CryptoWise — https://www.cryptowise.ai/ Hippo Insurance — https://www.hippo.com/ Carl Hewitt — https://en.wikipedia.org/wiki/CarlHewitt Stanford University — https://www.stanford.edu/ MIT — https://web.mit.edu/ Actor Model — https://en.wikipedia.org/wiki/Actormodel Marvin Minsky — http://web.media.mit.edu/~minsky/ Tensorflex on GitHub— https://github.com/anshuman23/tensorflex Matrex on GitHub — https://github.com/versilov/matrex Handbook of Neuroevolution Through Erlang — https://www.springer.com/gp/book/9781461444626 Markov Decision Process — https://en.wikipedia.org/wiki/Markovdecisionprocess Amazon Web Services — https://aws.amazon.com/ The Little Elixir & OTP Guidebook — https://www.amazon.com/Little-Elixir-OTP-Guidebook/dp/1633430111 Elon Musk — https://www.forbes.com/profile/elon-musk/ Welcome to the Era of Deep Neuroevolution — https://eng.uber.com/deep-neuroevolution/ Kenneth O. Stanley — https://www.cs.ucf.edu/~kstanley/ Why Greatness Cannot Be Planned: The Myth of the Objective — https://www.amazon.com/Why-Greatness-Cannot-Planned-Objective/dp/3319155237/ University of Florida — https://www.ufl.edu/ Uber Air — https://www.uber.com/us/es/elevate/ Jeff Bezos — https://www.forbes.com/profile/jeff-bezos/ Sprint — https://www.thesprintbook.com/ Adobe — https://www.adobe.com/ Horde — https://www.horde.org/development/ Libcluster on GitHub — https://github.com/dsteinberg/libcluster Swift for Tensorflow — https://www.tensorflow.org/swift Triplebyte Blog — https://triplebyte.com/blog EquiTrader — https://coinmarketcap.com/currencies/equitrader/ BloXroute Labs — https://bloxroute.com/ Holochain — https://holochain.org/ Michał Muskała on GitHub — https://github.com/michalmuskala Jason on GitHub — https://github.com/michalmuskala/jason Todd Resudek on LinkedIn — https://www.linkedin.com/in/toddresudek/ Whatsapp — https://www.whatsapp.com/ CERN — https://home.cern/ Ralph Kaminski — https://ralphkaminski.com/ Jayme Edwards — https://jaymeedwards.com/ Special Guest: Eric Steen.
According to an ancient myth, the world rests on the back of a turtle. And what does that turtle stand on? Another turtle. It turns out that it’s turtles all the way down. Miki Rezentes, today’s guest, believes that all software rests on the back of APIs. Similar to the myth, it’s APIs all the way down. We open our conversation by discussing how homeschooling her children did more to prepare Miki for a software career than anything else she’s encountered. Miki shares highlights from her talk, ‘APIs All the Way Down’. This set up this episode’s key theme, that the tech industry is too concerned with how its software interacts to focus on how the people in its organizations communicate — their ‘human APIs.’ Following this, we ask Miki how she learns people’s APIs and we talk about the benefits of observation and mirroring. Tracking her career, we touch on how Miki transitioned from a homemaker to a developer before diving into her recent work at the data science platform Mode. She provides unique insights into how she views architecture and design and why the concept of domain-driven design doesn’t go far enough. We chat about how you can see your team as customers to promote domain-driven design and then drill into what she does to create a ‘shared pool of knowledge’ with her team. As Miki explains, ‘people problems’ are more difficult than technical ones and developers often make mistakes by not first developing common understanding. Especially when this relates to expectations within a company. Near the end of the episode, we explore what leaders can do to maintain productivity when growing their teams. Tune in to hear what you can do to deepen your team’s pool of understanding and improve the quality of your communication. Note: this episode was recorded in late July when Miki was working at Mode; she is now a Senior Software Engineer at Frame.io (https://frame.io). Key Points From This Episode: Why homeschooling her kids better prepared Miki for software development than anything else. How people within an organization express themselves through individual APIs. Understanding that people come from different backgrounds which influence their API. The ‘shared pool of knowledge’ and figuring out how to communicate with people. Miki’s journey from homemaker to becoming a software engineer. How nobody really knows what they’re doing. Security as a trade-off, privacy, and the power of two-factor authentication. Hear about Miki’s work at the data science platform Mode. What Miki enjoys most about working in Elixir and what she uses it for. How Miki sees architecture and the differences between architecture and design. Domain-driven design and the differences between data models and software. Treating your team ‘Agilely’ and seeing them as your customers. Miki’s process of developing a shared pool of understanding before hammering out the end-to-end components. Why ‘people problems’ are much more difficult than development problems. How tech companies misdiagnose ‘people problems’ as bad design. Conway’s Law and how code production reflects an organization’s structure. The importance of setting expectations to maintain productivity as a team grows in size. The danger of the Peter principle; when people are promoted to their level of incompetency. Links Mentioned in Today’s Episode: Miki Rezentes LinkedIn —https://www.linkedin.com/in/miki-rezentes-823ba02a/ Miki Rezentes GitHub — https://github.com/mrezentes Miki Rezentes Twitter — https://twitter.com/mikirez Mode — https://mode.com/ SmartLogic — https://smartlogic.io/ Elixir Wizards Survey — smr.tl/podcastsurvey Manning Publications — https://www.manning.com/ ‘APIs All the Way Down’ — https://www.youtube.com/watch?v=hBpbEsAG4es Turtles all the way down — https://en.wikipedia.org/wiki/Turtlesallthewaydown Crucial Conversations — https://www.amazon.com/Crucial-Conversations-Talking-Stakes-Second/dp/1469266822 Thomas Edison State University — https://www.tesu.edu/academics/online-degrees Xkcd — https://xkcd.com/ Toshiba Global Commerce Systems — https://commerce.toshiba.com/ Kroger — https://www.kroger.com/ CA Technologies — https://www.ca.com/ Jira — https://www.atlassian.com/software/jira ICFP 2020 — https://icfp20.sigplan.org/ James Edward Gray II — https://github.com/JEG2 Helix Data Engine - Mode — https://mode.com/helix/ Practical Object-Oriented Design in Ruby — https://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330 Tanium — https://www.tanium.com/ Poodr — https://www.poodr.com/ Gödel, Escher, Bach — https://en.wikipedia.org/wiki/G%C3%B6del,Escher,Bach D'Aulaires' Book of Greek Myths — https://www.amazon.com/DAulaires-Greek-Myths-Ingri-dAulaire/dp/0440406943 The Mythical Man-Month — https://en.wikipedia.org/wiki/TheMythicalMan-Month Applying Conway's Law to improve your software development — https://www.thoughtworks.com/insights/blog/applying-conways-law-improve-your-software-development Peter Principle — https://en.wikipedia.org/wiki/Peter_principle Special Guest: Miki Rezentes.
With ElixirConf 2020 just around the corner, today’s episode is a sneak peek where we talk with six of this year’s speakers. Each speaker gives listeners an elevator pitch of their talk while throwing in extra details about who their talk is aimed at, what they learned through the process, and which talks they’re excited about attending. Our first guest is Quinn Wilton, a developer at Tinfoil Security, whose talk is titled ‘Type-Safe LiveView with Gleam’. Quinn explains how she’s created a symbiosis between Elixir and Gleam that helps her create more consistent code while offsetting the disadvantages of dynamic typing. We then chat with Dan Lindeman whose talk, ‘Short Circuit IoT Development Time with Nerves,’ is an overview of building custom hardware using Nerves and Elixir. After Dan’s plug on how you can start programming Nerves on your laptop, we welcome Jeffrey Utter to the show. His talk is a deep dive into ‘Debugging Live Systems on the Beam.’ Teasing out the topic, we discuss inefficiencies in the debugging process and how many developers adopt a ‘whack-a-mole’ approach to dealing with bugs. From debugging to UintSet, Luciano Ramalho, our next speaker, gives us a taste of his presentation, ‘UIntSet: enumerable, streamable, understandable.’ Luciano shares how the Go language inspired him to experiment with leveraging protocols and streams to build new idiomatic Elixir data structures from scratch. He also touches on the importance of being humble when learning new languages and gearing Elixir to a non-engineer user base. After Luciano, we’re joined by Melvin Cedeno, a fellow Elixir Wizard from the SmartLogic family. Melvin brings his teaching experience to bear on the topic of ‘Teaching Functional Programming with Elixir.’ This is a key talk in growing our community, especially when considering the point that being an Elixir genius doesn’t necessarily mean that you’re well-suited to teach it. Last but certainly not least, we speak with Japa Swadia from Podium about her talk, ‘Domain-Driven Design with Elixir’ — a subject that’s been a huge focus on the podcast. We chat about what domain-driven design means and why it’s an important foundational concept for beginners to learn. Tune in for this tip-of-the-iceberg preview. It’s just a glimpse into the varied and wonderfully informative talks you can expect at ElixirConf 2020. Key Points From This Episode: Introducing Quinn Wilton who is using Gleam to interact with Elixir. How being acquired by Synopsys has given Tinfoil Security access to greater resources. Balancing the advantages of Elixir with its drawbacks when it comes to dynamic analysis. What Gleam is and how it makes static typing more approachable. Teasing Quinn’s ElixirConf talk — ‘Talk Type-Safe LiveView with Gleam’ What Quinn has learned from the process of creating his presentation. Building a dissembler and the talk that Quinn is most looking forward to attending. Dan Lindeman’s work at Very making solar micro-grids. The benefits of Elixir and Nerves when building custom hardware. Who Dan’s talk is aimed at and why it’s appropriate for any experience level. Working with smart minds and laboring through hardware docs that often lie. How scary it can be to work with hardware and the value of having your talk appeal to entry-level Elixir users. Jeffrey Utter unpacks his talk — ‘Debugging Live Systems on the Beam.’ How most people play ‘whack-a-mole’ when dealing with live system bugs. Using match specs to hone in on your debugging process. Why most Elixir coders should learn about Jeffrey’s debugging system. Why is Recon Library is such an excellent tool and its potential uses in distributed systems. Hear which talks Jeffrey is looking forward to attending. How Go inspired Luciano Ramalho to explore applying different data structures to Elixir. What skill-level Luciano’s talk is aimed at and why. Developing a sense of how Elixir is idiomatic, despite being such a new language. Being humble when learning new languages and the importance of protocols in understanding idiomatic data structures. How Elixir is geared towards engineers which can create barriers of entry. Mark Cedeno gives an elevator pitch for his talk — ‘Teaching Functional Programming with Elixir.’ Why knowing Elixir very well doesn’t mean that you can teach it. The benefits of remote learning; it can make your teaching more organized and to-the-point. Hear about the talks that Mark is excited about attending. Japa gives us a crash-course on domain-driven design. Creating a solid foundation for your app by considering the contexts in which it’s used. Why beginners or those wanting to switch to domain-orientated coding should attend Japa’s talk. Using schema to point to the same table in different contexts. Which talks Japa is attending and how she got selected for ElixirConf 2020. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ ElixirConf 2020 — https://2020.elixirconf.com/ Quinn Wilton — https://github.com/QuinnWilton/gleam-chip8 Quinn Wilton Twitter — https://twitter.com/wiltonquinn ‘Type-Safe LiveView with Gleam’ — https://2020.elixirconf.com/speakers/128/talk Tinfoil Security — https://www.tinfoilsecurity.com/ Synopsys — https://www.synopsys.com/ Gleam — https://gleam.run/ Louis Pilfold GitHub — https://github.com/lpil Phoenix LiveView — https://github.com/phoenixframework/phoenixliveview CHIP-8 — https://en.wikipedia.org/wiki/CHIP-8 Stephen Bussey — https://github.com/sb8244 ‘The Joy of an Elixir Monolith’ — https://2020.elixirconf.com/speakers/121/talk Code BEAM / Code Sync — https://codesync.global/ Dan Lindeman — https://github.com/DanLindeman Dan Lindeman Twitter — https://twitter.com/lindemda ‘Short Circuit IoT Development Time with Nerves’ — https://2020.elixirconf.com/speakers/117/talk Nerves Platform — https://www.nerves-project.org/ Very — https://www.verypossible.com/ Justin Schneck — https://www.linkedin.com/in/justinschneck/ Daniel Stoppard — https://www.linkedin.com/in/daniel-spofford-2307a655/ Jenn Gamble — https://2020.elixirconf.com/speakers/115/bio Juliana Helena — https://2020.elixirconf.com/speakers/129/bio ‘How Elixir made me a better Java programmer’ — https://2020.elixirconf.com/speakers/129/talk Nerves Hub — https://www.nerves-hub.org/ Jeffrey Utter — https://github.com/jeffutter Bleacher Report — https://bleacherreport.com/ ‘Debugging Live Systems on the Beam’ — https://2020.elixirconf.com/speakers/114/talk Datadog — https://www.datadoghq.com/ Erlang Sys Trace 2 — https://erlang.org/doc/man/sys.html#trace-2 Recon Library — https://ferd.github.io/recon/ Erlang Debugger — http://erlang.org/doc/apps/debugger/debuggerchapter.html Catalina Astengo — https://github.com/castengo gRPC + Elixir Microservices = A Love Story? — https://2020.elixirconf.com/speakers/116/talk KC Elixir — https://www.kcelixir.com/ Luciano Ramalho — https://github.com/ramalho/ Luciano Ramalho Twitter — https://twitter.com/ramalhoorg ‘UintSet: enumerable, streamable, understandable’ — https://2020.elixirconf.com/speakers/125/talk ThoughtWorks — https://www.thoughtworks.com/ Go — https://golang.org/ The Go Programming Language — https://www.gopl.io/ Brian W. Kernighan — https://www.cs.princeton.edu/people/profile/bwk Fluent Python — https://www.oreilly.com/library/view/fluent-python/9781491946237/ Simon de Haan — https://github.com/smn ‘Using Elixir and WhatsApp to launch WHO’s global COVID-19 response’ — https://2020.elixirconf.com/speakers/124/talk Yutaka Kikuchi — https://github.com/kikuyuta ‘Applying Elixir for driving small hydropower plants with Nerves’ — https://2020.elixirconf.com/speakers/123/talk Processing — https://processing.org/ Melvin Cedeno — https://github.com/thecraftedgem ‘Teaching Functional Programming With Elixir’ — https://2020.elixirconf.com/speakers/99/talk Turing — https://turing.io/ Nicholas Henry — https://github.com/nicholasjhenry ‘The Upside Dimension of Elixir - An Introduction to Metaprogramming’ — https://2020.elixirconf.com/speakers/120/talk Brian Marick — https://github.com/marick/ ‘Tricks and tools for writing Elixir tests’ — https://2020.elixirconf.com/speakers/109/talk German Velasco — http://www.germanvelasco.com/ ‘Testing LiveView’ — https://2020.elixirconf.com/speakers/119/talk Lonestar Elixir — https://lonestarelixir.com/ Japa Swadia — https://github.com/japa-swadia Podium — https://www.podium.com ‘Domain-Driven Design with Elixir’ — https://2020.elixirconf.com/speakers/105/talk Design Patterns — https://en.wikipedia.org/wiki/Design_Patterns Justus Eapen Social Handle — @JustusEapen Eric Oestrich Social Handle — @EricOestrich Sundi Myint Social Handle — @SundiKhin Special Guests: Dan Lindeman, Japa Swadia, Jeffrey Utter, Luciano Ramalho, Melvin Cedeno, and Quinn Wilton.
Domain-driven design and extreme programming can help bridge the gap between development and business, and today we invite Mark Windholtz from Agile DNA to talk about how! Mark starts out by telling us about his early work in extreme programming before agile was a term and how he switched from Rails to Elixir after realizing its power for implementing domain-driven design. We take a deep dive with him into what these concepts mean, hearing him weigh in on how DDD can help architecture accommodate both development and business oriented complexities. For Mark, development and business teams must get a better understanding of each other’s jargon, and DDD is a way to accomplish this. The goal is to find a way of building a solid software core and to move away from features to systems thinking, whereby flexible software can make it more possible to do agile on the business side. We chat about some of the practices and principles that come into play when implementing DDD for Mark, and he details concepts like ubiquitous language, bounded contexts, and how to focus on the core domain by exploring models using tactical and strategic patterns. Along with this, Mark discusses users not being a domain concept, the challenges of getting new terms to stick in teams’ minds, and the task of refactoring code to reflect updated glossaries. Near the end of our conversation, Mark drills down on how DDD can optimize team efficiency. In closing, we get to know Chris Bell from ElixirTalk a little better in this week’s edition of Pattern Matching with Todd! Key Points From This Episode: Thoughts on SpaceEx and their approach to engineering: system versus feature optimization. Mark’s background in extreme programming, how he got started with AgileDNA, and the work they do there. A definition of extreme programming that adds engineering practices to Scrum. Elixir’s superior ability to do DDD compared to Rails and how Mark got started using it. A brief introduction to domain-driven design, an approach to simplifying complex software. How architecture needs to accommodate essential as well as accidental complexity. Elixir’s ability to accommodate the building of domain models with well-separated code chunks. Principles of ubiquitous language and bounded contexts that make up DDD for Mark. Ubiquitous language helps devs and businesspeople understand each other. Bounded contexts: ‘Within this space, this world means this thing.’ Shifting focus from trying to make not all software, but core software, good. What patterns are applied to use principles of ubiquitous language and bounded contexts. Finding and focusing on the core domain by exploring models and how to do this using tactical and strategic patterns. The consequences of users not being a domain concept which demands having a clearer language. Challenges of getting language and concepts to stick in business people’s minds. Refactoring code to reflect updated glossaries: Technical challenges teams doing DDD face. Switching paradigms from feature-based optimizations to building an amazing code core. Approaches to modeling: the value of exploring multiple models. How teams can become more efficient using DDD and extreme programming. Final plugs from Mark and how Agile DNA can help use Elixir to implement DDD. Pattern matching: Todd gets to know more about Chris Bell from ElixirTalk. How Chris got into programming, what he’d do if not be a programmer, and more! Why Chris loves history, dream pop, and what movie he’ll watch over and over. What project Chris is most excited about next: Building Settlers of Catan using LiveView. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Mark Windholtz on Twitter — https://twitter.com/windholtz Agile DNA — http://www.agiledna.com Chris Bell on Twitter — https://twitter.com/cjbell?lang=en ElixirTalk — http://elixirtalk.com/ Chris Keathley — https://keathley.io/ Elon Musk — https://www.forbes.com/profile/elon-musk/#5bbe73cc7999 The Everyday Astronaut — https://www.youtube.com/channel/UC6uKrUWqJ1R2HMTY3LIx5Q Rob Martin — https://www.linkedin.com/in/version2beta/ Perhap — https://github.com/Perhap/perhap Andrew Hao — https://github.com/andrewhao Fred Brooks — http://www.cs.unc.edu/~brooks/ The Mythical Man-Month — https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959 Zach Thomas — https://github.com/zdcthomas?language=elixir&tab=stars 1917 — https://www.imdb.com/title/tt8579674/ Real Estate — https://www.realestatetheband.com/ Galaxie 500 — https://pitchfork.com/artists/1673-galaxie-500/ Star Trek: First Contact — https://www.imdb.com/title/tt0117731/ Star Trek: The Wrath of Khan — https://www.imdb.com/title/tt0084726/ LiveView — https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html Lonestar Elixir — https://lonestarelixir.com/ Special Guest: Mark Windholtz.
Welcome to the second part of our special Elixir Wizards Dojo. A mashup made in partnership with ElixirConf Japan. In today’s episode, we talk to Nerves core team members Todd Resudek and Connor Rigby about all things Nerves. But first, Todd leads us into a delightful digression about his enjoyment of heavy metal music. From metal back to Nerves, Todd chats about how he uses Nerves to monitor his internet connection and to automatically restart his router when certain conditions are met. After talking about using Flutter and Dart to build GUIs, we ask Todd to share another of his Nerves projects; the future of sprinklers — the Drizzle 2000! We then explore Connor’s self-defined role in the Nerves team as the development head of networking libraries before discussing how easy it is to use Nerves if you are an Elixir user. Todd and Connor dive into their utopian visions for the future of Nerves and why no other IoT solutions can compete with the tooling that Nerves provides. We talk about FarmBot and the many features that its models have, including how they can pulverize weeds. This springboards the conversion into the increasing importance of IoT tech in the agriculture sector and how it’s likely to be the next billion-dollar industry. We round off the episode by giving our guests the space to plug themselves and they close with a request for listeners to Iron Maiden and Metallica’s first albums. A perfect compliment to the first installment of the Elixir Wizards Dojo, tune in to learn more about the Nerves Project. Key Points From This Episode: Introducing our guests and this episode’s connection to ElixirConf Japan. Connor and Todd lead a chat on the history and subgenres of heavy metal music. Todd talks about using Nerves to monitor his internet connection and restart his router. Building a user interface for Nerves’s projects using Flutter; Google’s UI toolkit. Best practices for developing apps with a specific focus on GUI apps. Hear about the Drizzle 2000! Todd’s sprinkler controller system that runs on Nerves. Todd and Connor’s respective roles as a part of the Nerves core team. The benefit of using Nerves; once it’s booted it’s a regular Elixir app. What a kiosk terminal is and how you would go about internationalizing one. Exploring the future of Nerves and hardware development. Comparing Nerves to other IoT solutions; in conclusion, nothing can compete. Different FarmBot system models that all use Nerves to grow food for you. Using Nerves to encode and record video or to create a live stream. Why integrating IoT into the agricultural sector will be the next billion-dollar industry. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 Connor Rigby GitHub — https://github.com/ConnorRigby Todd Resudek Twitter — https://twitter.com/sprsmpl Todd Resudek GitHub — https://github.com/supersimple Simplebet — https://simplebet.io/ Flutter — https://flutter.dev/ Binary Noggin — https://binarynoggin.com/ Nerves Project — https://www.nerves-project.org/ Nerves Project GitHub — https://github.com/nerves-project/nervespack#erlang-distribution Nerves Vintage Net GitHub — https://github.com/nerves-networking/vintagenet Nerves Web Kiosk GitHub — https://github.com/nerves-web-kiosk/kiosksystemrpi3 Rhapsody of Fire — https://www.rhapsodyoffire.com/ Ronnie James Dio — https://www.ronniejamesdio.com/ DragonForce — https://dragonforce.com/ Black Sabbath — https://www.blacksabbath.com/ Deep Purple — https://deeppurple.com/ Iron Maiden — https://ironmaiden.com Judas Priest — http://www.judaspriest.com/home/ Sam Dunn — https://www.imdb.com/name/nm0242757/ Ryan Holiday — https://ryanholiday.net/ Arjen Lucassen — https://www.arjenlucassen.com Metallica — https://www.metallica.com/ San Francisco Symphony — https://www.sfsymphony.org/ Fping — https://fping.org/ Dart — https://dart.dev/ React Native — https://reactnative.dev/ Scenic — https://kry10.com/ Phoenix Framework — https://www.phoenixframework.org/ Drizzler 2000 GitHub — https://github.com/supersimple/drizzle Ditch Witch — https://www.ditchwitch.com/ Jon Carstens — https://twitter.com/joncarstens?lang=en Le Tote — https://letote.com/ Electron — https://www.electronjs.org/ Matthew Ludwigs — https://www.linkedin.com/in/mattludwigs/ SmartRent — https://smartrent.com/ Sophie Debenedetto — http://sophiedebenedetto.nyc/ FarmBot — https://farm.bot/ Membrane Framework — https://www.membraneframework.org/ Greg Mefford — https://www.linkedin.com/in/ferggo/ Omni-eye GitHub — https://github.com/GregMefford/omni_eye Bowery Farming — https://boweryfarming.com/ John Deere — https://www.deere.com Show Notes - Japanese Elixir Wizards Dojo 第2部 Connor Rigby と Todd Resudek Episode S4E13b: 概要 Elixir Wizards Dojo スペシャル番組の第二部にようこそ。ElixirConf JPとのパートナーシップによるマッシュアップです。今日のエピソードでは、NervesコアチームのメンバーであるTodd Resudek と Connor Rigby とNervesの全てについて話します。でも最初に、Toddは私たちをヘビーメタル音楽の彼の楽しみについての楽しい余談に導きます。メタルからNervesに戻って、ToddはNervesをインターネット接続のモニタリングと、特定の条件が満たされた時にルーターの自動で再起動する方法について話します。FlutterとDartを使ってGUIを構築する方法について話したあと、Toddに彼の作ったもう一つのNervesプロジェクト、スプリンクラーの未来,Drizzle 2000!についてシェアしてもらいます。そしてConnorがNervesチームにおける自ら定義した役割である、ネットワーキングライブラリの開発について探求し、もしElixirユーザーである場合にNervesを使うことがいかに簡単かについて議論します。ToddとConnorはNervesの未来の理想郷についての話題と、Nervesが提供するツールに敵うIoTソリューションが他に存在しない理由について飛び込みます。ファームボットについて話をして、雑草をやっつける機能を含む、ファームボットのモデルが持つたくさんの機能について話します。これは、農業分野でのIoT技術の重要性の高まりへの転換と、どのように次の10億ドル規模の産業になる可能性が高まってくるかについてを示しています。エピソードの締めくくりは、ゲストに自分自身とつながる方法について紹介してもらいながら、アイアンメイデン(Iron Maiden)とメタリカ(Metallica)のファーストアルバムをリスナーに紹介します。Elixir Wizards Dojoの初回への謝辞から、Nervesプロジェクトの詳細を学んでください。 このエピソードのみどころ ゲストの紹介と、このエピソードとElixirConf JPとのコネクションについて Connor と Todd によるヘビーメタル音楽の歴史とサブジャンルへの案内 ToddのNervesを使ったインターネット接続のモニタリングとルーターの再起動の Fultter というGoogleのUIツールキットを使ったNervesプロジェクトのユーザインタフェース構築 GUIアプリに焦点を当てたときのアプリ開発のベストプラクティス Drizzle 2000について聴ける! Nervesで動くToddのスプリンクラーコントローラシステム ToddとConnorのNervesコアチームにおけるそれぞれの役割 Nervesを使う利点: 一度起動すると通常のElixirアプリになる キオスク端末とは何か,どのようにキオスク端末を国際化するか Nervesとハードウェア開発の将来の探求 Nervesと他のIoTソリューションの比較: 結論としては,Nervesに敵うものはない ファームボットシステムのモデルの違いについて: 全てにNervesが使われていて、食糧を育てる Nervesを使ってビデオをエンコードしたり録画したり,ライブストリーミングしたりする方法 IoTを農業分野に統合することが次の10億ドル産業になる理由 Special Guests: Connor Rigby and Todd Resudek.
Welcome to the first part of our extra special Elixir Wizards Dojo. A mashup made in partnership with ElixirConf Japan, in today’s episode, we pose questions asked by the Japanese Nerves community to Nerves core team members, Frank Hunleth and Justin Schneck. After introducing our guests, we talk about which companies make use of Nerve and explore its use cases by looking at FarmBot, an open source robotic farming tool. Justin and Frank take turns explaining the differences between soft and hard real-time — a springboard to show how Nerve excels within its ‘middle-ground of complexity’, production-orientated niche. From Halloween pranks to growing Sichuan chili peppers in the office, Justin and Frank share the projects that they’ve built using Nerves and emphasize its wide applicability. We discuss how Nerves has been both officially and unofficially ported to different devices, why people send Frank random pieces of hardware in the mail, and the differences between open-source and making your work publicly available. Justin and Frank commiserate over the challenge of working with Bluetooth and the beauty of the Nerves community in pushing innovation. We chat more about Nerves, including how you can extend the functionality of file systems, before Justin and Frank unpack their roadmap for Nerves’s future. Tune in to learn more about the Nerves Project, a system that can add a great deal of agility to any development cycle. Key Points From This Episode: Introducing our guests and this episode’s focus on the Japanese Elixir community. The double-edge of broadcasting your excitement about Elixir projects. Looking at FarmBot as a practical use-case to show off what Nerve can do. Differences between soft and hard real-time using FarmBot as an example. What Nerves excels at; acting as a gateway for other processors. Justin and Frank share the projects that they’ve built using Nerves. A brief digression where Justin shares his love of Chinese Sichuan cooking. What other markets are making use of Nerves in their product cycle. The unique ‘middle-ground’ of complexity that Nerves is best suited to address. Porting Nerves to different devices and what devices need to run Nerves. Open-source versus making work public and how Justin took some of his Bluetooth work public. The challenges of working with Bluetooth. Hear how a group in the community is making a Nerves keyboard. How you can extend the functionality of a file system on Nerves. Nerves’s features that make it such an excellent tool within a production environment. When deploying with Nerves Hub, learn how to configure Wi-Fi modules with different devices. Starting with a facelift, Frank and Justin share their roadmap for Nerves’s future. How companies Vary and SmartRent have contributed to the longevity of Nerves. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 Frank Hunleth — https://www.linkedin.com/in/fhunleth/ Justin Schneck — https://www.linkedin.com/in/justinschneck Susumu Yamazaki — https://twitter.com/zacky1972 Nerves Project — https://www.nerves-project.org/ Nerves Project Open Collective — https://opencollective.com/nerves-project Nerves Project GitHub — https://github.com/nerves-project/nervespack#erlang-distribution Nerves Kiosk System GitHub — https://github.com/nerves-web-kiosk/kiosksystemrpi3 FarmBot — https://farm.bot/ Rose Point — https://www.rosepoint.com/ The Food of Sichuan — https://www.amazon.com/Food-Sichuan-Fuchsia-Dunlop/dp/1324004835 Lance Halvorsen — https://www.linkedin.com/in/lance-halvorsen-07a102/ Atom VM GitHub — https://github.com/bettio/AtomVM Lichee Pi Zero — https://licheepizero.us/ Pavlok — https://pavlok.com/ Harald GitHub — https://github.com/verypossible-labs/harald Bluetooth with Nerves Notes GitHub — https://gist.github.com/fhunleth/fae46998609814ae4a8abd44f6f08188 Fwup GitHub — https://github.com/fhunleth/fwup ‘Building a keyboard with Elixir’ — https://medium.com/swlh/building-a-keyboard-with-elixir-fc7bd3f60ec3 Vintage Net Wizard GitHub — https://github.com/nerves-networking/vintagenet_wizard Grizzly GitHub — https://github.com/smartrent/grizzly SmartRent Careers — https://smartrent.com/careers/ Very Possible Careers — https://www.verypossible.com/careers Show Notes - Japanese Elixir Wizards Dojo 第一部 Frank Hunleth と Justin Shneck Episode S4E13a: 概要 Elixir Wizards Dojo スペシャル番組の第一部にようこそ。ElixirConf JPとのパートナーシップによるマッシュアップです。今日のエピソードでは、日本のNervesコミュニティからの質問をNervesコアチームのメンバーであるFrank Hunleth と Justin Schneck に尋ねます。ゲストの2人を紹介した後、Nervesを使用する会社のことや、ファームボット(オープンソースのロボティック農業ツール)に見る使用事例を探ります。JustinとFrankが交互にソフトリアルタイムとハードリアルタイムの違いを説明し、Nervesが「複雑さの中立的立場」、生産指向のニッチという点で優れていることを示します。ハロウィンのいたずらから、オフィスで育つ四川の唐辛子栽培まで、JustinとFrankはNervesを使用して構築したプロジェクトを紹介し、その幅広い応用性を強調します。Nervesが公式・非公式にさまざまなデバイスに移植された方法についてや、なぜみんながFrankにランダムなハードウェアを郵送するのか、オープンソースと単に作品を公開することの違いについて話し合います。JustinとFrankはBluetoothの機能開発の課題に同情し、イノベーションを推進する上でのNervesコミュニティの美点について語ります。さらにNervesについて話が進み、どのようにファイルシステムの機能性を拡張するのかや、JustinとFrankがNervesの将来のロードマップについて披露します。どのような開発サイクルにも「アジャイルに」できるシステムである、Nerves プロジェクトについてより詳しく知りたいという人は、是非聴いてください。 このエピソードのみどころ ゲストの紹介と、日本のElixirコミュニティに対するこのエピソードの焦点 Elixirプロジェクトについての興奮を広める上での「両刃」 ファームボットに見るNervesが実現できる実事例 ファームボットを例にした、ソフトリアルタイムとハードリアルタイムの違い Nervesの何が優れているのか: 他のプロセッサへのゲートウェイの役割 JustinとFrankが共有する、Nervesで今まで構築してきたプロジェクトの数々 Justinが愛する四川料理についての軽い脱線 Nervesを製品サイクルに応用する他のマーケットや事例 Nervesが扱うのに手ごろな複雑さの独特の「中間基盤」 Nervesの異なるデバイスへの移植とNervesを実行させるのにどんなデバイスが必要 オープンソースと作品を公開することの違いと、どのようにJustinがBluetoothでの仕事の一部を公開したか Bluetoothの開発作業のチャレンジ コミュニティのグループがどのようにNervesキーボードを作っているか どのようにNervesのファイルシステムの機能性を拡張するか 本番環境で優れたツールとなる上でのNervesの機能 Special Guests: Frank Hunleth and Justin Schneck.
In today’s episode, we chat about system architecture, Ruby, Elixir, and everything in between with Greg Mefford, the senior back-end engineer for the Bleacher Report. We open the conversation by asking Greg about his start in coding, leading to a story about how Greg was that bored kid pressuring a math teacher to teach him QBasic. He shares how he fell in love with Ruby before discovering Elixir and Nerves. Having faced some challenges when learning Nerves, Greg talks about how he began documenting his pain points and writing documents to help onboard newcomers. We discuss Greg’s work with Nerves, his project aspirations, and his recommended resources for anyone looking to get into Nerves or Elixir. After providing his hot take on the latest Code BEAM V conference, we ask Greg what system architecture means to him. From there we get super meta about the meaning of architecture and what it means to translate design into practice. We touch on the struggle of understanding domain-driven design and Greg’s approach to pre-code planning before delving into how the Bleacher Report is set up. As Greg goes into details, you’ll hear why their servers now run on Elixir and not Ruby. Near the end of the episode, we talk about Poncho versus Umbrella apps, and Greg shares his passion for multi-user dungeons (MUDs). Tune in to learn more about Greg and his role in the Elixir and Nerves landscape. Key Points From This Episode: Greg’s start in coding and his transition from electronics design into IT. Why Greg loves Ruby and how he discovered the magic of Elixir. Greg’s contribution to the Elixir and Nerves community by helping onboard newcomers. What Greg’s job as a senior engineer for Bleacher Report looks like. Greg recommends resources for beginners getting into Nerves and Elixir. Creating a kid’s game using Nerves and Greg’s Blinkchain library. Greg’s take on the Code BEAM V conference and hating on the Whova app. What architecture means to Greg. This one gets deep. How translating designs into software has changed over the years. Why Greg struggles with the idea of domain-driven design. The state of Extreme Programming practices and how they synergize together. How Greg views pre-code planning; something that’s become his specialty within his latest job. The many elements that contribute to how the Bleacher Report’s IT is set up. Ruby servers versus Elixir servers and why the Bleacher Report uses Elixir. Why the Poncho system was designed to fix Nerves issues not covered by Umbrella apps. Greg’s history creating multi-user dungeons (MUDs) and playing DragonRealm. Links Mentioned in Today’s Episode: Greg Mefford LinkedIn — https://www.linkedin.com/in/ferggo/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://apply.workable.com/smartlogic/ ElixirConf — https://elixirconf.com/2020 Blinkchain GitHub — https://github.com/GregMefford/blinkchain Justin Schneck GitHub — https://github.com/mobileoverlord Le Tote — https://www.letote.com/ James Smith — https://twitter.com/st23am Garth Hitchens, ElixirCof 2015 — https://www.youtube.com/watch?v=kpzQrFC55q4 Nerves Project — https://www.nerves-project.org/documentation Bleacher Report — https://bleacherreport.com/ Programming Elixir — https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/dp/1680502999 Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/1617295027 Chris Keathley — https://codesync.global/speaker/chris-keathley/ Code BEAM V Conference — https://codesync.global/conferences/code-beam-sto/ Whova App — https://whova.com/ Amos King — https://twitter.com/adkron?lang=en Christopher Keele — https://github.com/christhekeele Steve Bussey Episode — https://smartlogic.io/podcast/elixir-wizards/s4e3-bussey/ Mark Windholtz — https://github.com/mwindholtz Extreme Programming — http://www.extremeprogramming.org/ Adopting Elixir: From Concept to Production — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 Live Elixir Wizards - Betweenisode — https://www.youtube.com/watch?v=kEwxhGYEGts Twirp GitHub — https://github.com/twitchtv/twirp Frank Hunleth — https://github.com/fhunleth Elixir Supervisor Behavior — https://hexdocs.pm/elixir/Supervisor.html Elixir Poncho Projects — https://embedded-elixir.com/post/2017-05-19-poncho-projects/ Titans of Text — https://www.titansoftext.com/ Miriani — https://www.toastsoft.net/ DragonRealms — https://www.play.net/dr/ Justus Eapen Twitter — https://twitter.com/justuseapen Eric Oestrich — https://twitter.com/EricOestrich Special Guest: Greg Mefford.
Johanna Larsson is a community-minded software engineer whose project, Hex Diff, generates highlighted git diffs, right in your browser. In this episode, we talk to Johanna about how Hex Diff can benefit Elixir users, the differences between code architecture and code design, and the debatably under-appreciated role of Elixir umbrella apps. We start the conversation by chatting with Johanna about her recent move to London and her work for Duffel; a startup helping travel agencies book trips. After talking about how she got into software development, we dive into Hex Diff versus GitHub, with Joanna detailing how Hex Diff offers greater security for your code. We ask Johanna about the origins of the Hex Diff project and she explores its aims and her experiences working on the project. In line with this month’s theme, we discuss what architecture means to Joanna and the need for domain-driven design. We quiz Joanna on her approaches to problem-solving and she explains how her coding process emphasizes building an early prototype and constantly iterating on it. Despite hearing that umbrella apps are bad news, Joanna makes a case for their value while acknowledging how that they need greater tooling. We round off our conversation by asking Joanna how she tries to grow her skillset and what her favorite Elixir resource is. Following our discussion with Johanna, we open with another edition of Pattern Matching with Todd. This week, friend of the podcast Todd Resudek asks five questions of Elixir community member Bruce Williams. They talk about Bruce’s work as an Arabic cryptologic linguist for the US Airforce, his software career, and the therapeutic uses of playing Animal Crossing during a pandemic. Key Points From This Episode: We introduce Johanna Larsson and she shares how she is doing in London. How Johanna developed a love for software and how Elixir brought her to London. Details about Johanna’s job at Duffel; a startup that helps travel companies book trips. How Hex Diff is solving problems that arise when using code from GitHub. Johanna’s experience working on Hex Diff and the problems that they aim to solve. Hex Diff’s caching system and what Hex Diff does to counter malicious software uploads. The disconnect between system architecture and implementation. Johanna’s view on the differences between code design and code architecture. Why domain-driven design increases usefulness to the end-user. How Johanna approaches a problem and her steps when building code. Hear what key lesson Johanna learned from her latest big project. Johanna’s experience with umbrella apps and why they need tooling functions. How working in a strong team can motivate you and help grow your skill set. Why the Elixir Slack group is Johanna’s favorite tool. Why you should check out Hex Diff; it’s a great introduction to Elixir. This edition of Pattern Matching with Todd; Todd Resudek interviews Bruce Williams. Links Mentioned in Today’s Episode: Johanna Larsson — https://blog.jola.dev/ Johanna Larsson LinkedIn — https://www.linkedin.com/in/joladev/ Johanna Larsson Twitter — https://twitter.com/joladev SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 SharePoint — https://www.microsoft.com/en-us/microsoft-365/sharepoint/collaboration Duffel — https://duffel.com/ Stripe — https://stripe.com/ Hex Diff — https://diff.hex.pm/ Hex Diff GitHub — https://github.com/hexpm/diff Maciej Mensfeld — https://mensfeld.pl/ Diffend — https://my.diffend.io/ Wojtek Mach — https://twitter.com/wojtekmach Eric Meadows-Jönsson — https://twitter.com/emjii Todd Resudek — https://twitter.com/sprsmpl Announcing Hex Diff — https://hex.pm/blog/announcing-hex-diff Hex Core GitHub — https://github.com/hexpm/hexcore Hex Diff Phoenix — https://diff.hex.pm/diff/phoenix/1.5.2..1.5.3 The Design of Everyday Things — https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/0465050654 Brooklyn Zelenka LinkedIn— https://www.linkedin.com/in/brooklynzelenka/ Unified Modeling Language — https://en.wikipedia.org/wiki/UnifiedModeling_Language Elixir v. 1.10.4 Mix CMD — https://hexdocs.pm/mix/Mix.Tasks.Cmd.html Elixir v1.11 Forum Post — https://elixirforum.com/t/elixir-v1-11-will-be-released-in-october-2020/31535 Rustler GitHub — https://github.com/rusterlium/rustler Live View —https://blog.codepen.io/documentation/live-view/ Bruce Williams — https://www.linkedin.com/in/wbruce/ Absinthe — https://absinthe-graphql.org/ Untitled Goose Game — https://goose.game/ Stardew Valley — https://www.stardewvalley.net/ Myst — https://cyan.com/games/myst/ Blanco White — https://www.blancowhite.info/ Groundhog Day — https://www.imdb.com/title/tt0107048/ Animal Crossing — https://www.animal-crossing.com/ Special Guest: Johanna Larsson.
Handling date and time is a challenge in any language, but Lau Taarnskov is determined to solve that problem in Elixir. Lau is today’s guest on Elixir Wizards, and this episode is all about his contributions to Elixir. Lau has been involved with web development and e-commerce for decades. He started contributing to Elixir open source in 2014 and created the Calendar and tzdata libraries. Calendar is a datetime library for Elixir, that provides explicit types for datetimes, dates, and times, and full time zone support is provided via its sister package, tzdata. When it comes to the subject of date, time, and time zones, besides talking about it and writing software for it, Lau also writes about it on his blog, Creative Deletion. This episode explores how Lau got started in programming, and what led him to creating Calendar and tzdata. Lau shares the resources that he found helpful when he started using Elixir, and why he was drawn to Elixir in the first place. We hear Lau’s opinions on time zones and daylight savings and whether or not they’re necessary, and he shares some advice for anyone working with time in Elixir. Then it’s time for another edition of Pattern Matching with Todd, in which Todd Resudek asks Brooklyn Zekanka five questions to help us get to know her better. Brooklyn talks about everything from she has lived, what jobs she did before becoming a programmer, and her education in classical music, to her favorite bands, movies, and TV shows, as well as some of the projects she is working on. For all this, and more, don’t miss today’s episode! Key Points From This Episode: Lau explains what TLAs are and why they aren’t always helpful for explicit communication. Lau introduces himself and shares how he got into programming and computer science. The resources Lau found most useful when he started using Elixir, including books he read. What it means that Elixir’s source code is written in Elixir, and why that was helpful for Lau. Lu talks about Calendar, a datetime library that Lau created for Elixir, and Tzdata, a parser and library he created for the tz database, and why he created them. How Lau deconstructed the time zone problems and how his ideas have changed over time. Lau’s opinions on time zones and daylight savings and whether or not they’re necessary. Advice from Lau for anyone working with time in Elixir. Another edition of Pattern Matching with Todd – today’s guest is Brooklyn Zelenka. Where Brooklyn was born, where she has lived, and the jobs she did before programming. Brooklyn talks about her musical background and how it’s similar to programming. Brooklyn shares a pro tip about slides and reflects on her highlights as a speaker. What Brooklyn would be doing if she weren’t a programmer and the genre of music she likes. Brooklyn’s favorite TV shows and movies, including Amadeus and Mad Men. Brooklyn shares what she’s working on currently and the next project she’s excited about. Links Mentioned in Today’s Episode: Lau Taarnskov on Twitter – https://twitter.com/laut Creative Deletion Blog – http://www.creativedeletion.com/ Lau Taarnskov on GitHub – https://github.com/lau Calendar on GitHub – https://github.com/lau/calendar Tzdata on GitHub – https://github.com/lau/tzdata Elixir in Action – https://www.amazon.com/Elixir-Action Programming Elixir – https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/ Brooklyn Zelenka on LinkedIn – https://www.linkedin.com/in/brooklynzelenka/ Brooklyn Zelenka on Twitter – https://twitter.com/expede Brooklyn Zelenka on GitHub – https://github.com/expede FISSIONcodes Website – https://fission.codes/ SmartLogic — https://smartlogic.io/ Amadeus — https://www.rottentomatoes.com/m/amadeus Mad Men — https://www.rottentomatoes.com/tv/mad-men Special Guest: Lau Taarnskov.
For part 2 of our Council of Wizards panel discussion, we are joined by Chris Bell, Desmond Bowe, Emily Maxie, Dan Lindeman, and Alan Voss! Chris and Desmond run the ElixirTalk Podcast and we get in-depth on the intersection of the language and talking about it. They share the lessons they have learned in the podcasting space, making some pit stops to chat about aliens, Elixir beef, and marble flooring! We discuss the community during the pandemic and what the Elixir world might look like for the next year or two. Emily and Dan then step in to give us all the information about Very and their very functional remote work model. They talk us through the full departure that the company made from a physical hub and both share what they love and hate about working from home, before and during the COVID crisis. Dan and Emily talk about onboarding and team spirit in remote teams and the strategies that have best served Very in this regard. Lastly, we have a bonus section with Alan Voss, to discuss his game night competitions and more. He unpacks the games he has already hosted and some of the candidates for future events before we hear about his experiences in the pandemic, specifically as an extrovert and a father. For all of this make sure to join us on the show! Key Points From This Episode: The exciting possibility of starting beef in the Elixir community! Books and podcasts we have been reading and listening to. Marble flooring, glass blowing, aliens, conspiracy theories, and impersonations! Tips, tricks, and lessons for the podcast space from Chris and Desmond. Thoughts on the future of the Elixir community during and after the pandemic. The array of projects that keep Chris and Desmond busy; startups, meetups, conferences! Very's fully remote-work setup and the decision to move away from a physical office. Challenges and lessons in the work-from-home model; making do with less in-person interaction. Positive sides to a home workspace; making a mess and closing the door. Employee socialization and familiarization at a remote company. The applicability of Elixir across different projects and libraries. The infinite amount of puns that are available when talking about Very! Programming Connect Four and the future of bot competitions according to Alan. Strategy snobs and taking this to its logical conclusion with chess and Go. The effect that the pandemic has had on extroverts and the adjustments that Alan has made. The possibility of ElixirConf this year and the forms it could take. Work that has gone into Alan's game-night side project over the last months. The growth of Postmates and their current need for new employees! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Ecosystem Survey — https://elixirsurvey.typeform.com/to/yYmJv1 ElixirConf — https://elixirconf.com/2020 Github Repo for Transcript Corrections — https://github.com/smartlogic/smartlogic.io/tree/master/podcast/elixir-wizards/transcripts Chris Bell — https://cjbell.co/ Chris Bell on Twitter — https://twitter.com/cjbell Desmond Bowe on Twitter — https://twitter.com/desmondmonster ElixirTalk — http://elixirtalk.com/ Emily Maxie on Twitter — https://twitter.com/emilymaxie Dan Lindeman on Twitter— https://twitter.com/lindemda Very — http://verypossible.com/ Chris McCord — http://chrismccord.com/ Alan Voss — http://www.alanvoss.org/ Alan Voss on Twitter — https://twitter.com/alanvoss Lonestar Elixir— https://lonestarelixir.com/ MPex — https://mpex.com/ Payitoff — https://www.payitoff.io/ Meetup — https://www.meetup.com/ OpenAI — https://openai.com/ Risk — https://www.amazon.com/Hasbro-B7404-Risk-Game/dp/B01ALHAIWG Strange Loop — https://www.thestrangeloop.com/ Postmates — https://postmates.com/ Special Guests: Alan Voss, Chris Bell, Dan Lindeman, Desmond Bowe, and Emily Maxie.
The Elixir community continues to flourish and evolve in these uncertain times and in honor of this we have put together a live show with a number of special guests! In part one today, we are joined by Andrea Leopardi and René Föhring, who we are so happy to welcome back. We get the lowdown from each of them in turn, discussing personal preferences, tips and tricks, and recommendations for Elixir and beyond. Andrea gets into some of his pet peeves and comments on the trend of slow interfaces. We then look at future possibilities for Elixir including the outside chance of it being run on mobile and for crypto-mining! Andrea also updates us on the book he is currently working on so keep an eye out for that in the future! René then steps in to talk about his work on Credo, his hopes for it in the future, and some suggestions for listeners using it. We do some comparisons between Elixir and Ruby before René offers some thoughts on Electron and functional programming concepts. So for all this and a whole lot more, make sure to tune in today and stay tuned for part 2! Key Points From This Episode: A reintroduction to Andrea and his current work in the Elixir space. Andrea's tool recommendations and what he uses most at the moment. Updates, the short term future of the world of Elixir and Andrea's current focus. RSpec versus xUnit: Andrea's personal preferences. Andrea's limited experience of LiveView and early reactions. Feelings about computers and phones with slow interfaces! The very slim chances of seeing Elixir run on mobile. Cryptocurrency and Andrea's lack of experience and ambition in the space. Some exciting information about Andrea's upcoming book to keep an eye out for. René's current projects; Credo, Elixir weekly newsletter, and more! The future of Elixir — will it be the next Ruby? Elixir on a phone; René's thoughts on this possibility and its validity. Updates for Credo — all the exciting news since our last conversation with René. Improving work that you are proud of and René's own feelings about Credo. The objectives and vision for Credo and improving upon certain pain points. Writing and running in Electron and how to have fun while doing it! The application of functional programming concepts in René's work in Electron. René's suggestion for Credo — using the Credo master after it being reworked. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Ecosystem Survey — https://elixirsurvey.typeform.com/to/yYmJv1 ElixirConf — https://elixirconf.com/2020 Github Repo for Transcripts Corrections - https://github.com/smartlogic/smartlogic.io/tree/master/podcast/elixir-wizards/transcripts Andrea Leopardi — https://andrealeopardi.com/ Andrew Leopardi on Twitter — https://twitter.com/whatyouhide Rene Föhring — http://rrrene.org/ Rene Föhring on Twitter — https://twitter.com/rrrene Alfred — https://www.alfredapp.com/ Tesla — https://www.tesla.com/ TempleOS — https://templeos.org/ Elon Musk — https://www.forbes.com/profile/elon-musk/ Mint — https://www.mint.com/ Finch — https://finch.io/ Ruby — https://www.ruby-lang.org/en/ Electron — https://www.electronjs.org/ Special Guests: Andrea Leopardi and René Föhring.
Although it’s taken him four seasons to make an appearance, we are so glad to finally welcome Chris McCord, creator of the Phoenix framework, onto the show. While this season’s focus is on system and application architecture, today’s discussion deviates to focus on Phoenix. We get started by hearing more about Chris’s programming journey, all the way from TI-Basic to where he is now. After this, we dive into LiveView, the project Chris is currently focusing most of his energy on. We get into some of the incredible changes that have been made including live navigation, deep change tracking optimizations, and static asset tracking. Chris shares which of the changes he is most excited about, along with why he enjoys seeing LiveView being misused. We then look at some of the critiques of LiveView and Phoenix generally. Chris offers counter-arguments to the most common criticisms of the framework. He shares how the title of 'framework' can be a double-edged sword, as well as why he is hesitant to extract channels prematurely. We wrap the show up with a look into the future, hearing more about what’s on the horizon for Phoenix and where Chris hopes the Elixir community is headed. This conversation was well worth the four season-long wait, so be sure to tune in today! Key Points From This Episode: Why it took Chris four whole seasons to finally make an appearance on the show. Chris’s programming journey from T-Basic all the way to Java, HTML, and PHP. How a broken back landed Chris his first paid programming job. Learn more about Chris’s current project, LiveView, and some of the recent additions. Why the optimizations were the most interesting changes for Chris to make on LiveView. Some of the most interesting use cases Chris has seen of LiveView. How Chris plans to navigate laying LiveView out on a larger codebase. Chris’s take on stateful applications and why the platform is so important. The origins of the hilariously termed ‘dead view.’ Some of the most pertinent critiques of LiveView and Phoenix generally. Chris busts some of the invalid critiques of Phoenix. Why the community feedback on LiveWire has been so surprising to Chris. Phoenix 1.6 changes and when we can expect its release. Chris’s take on whether Elixir is likely to overthrow Rails in terms of popularity. The systemic blockers that create adoption friction of Elixir and Phoenix. Looking into the future — Chris’s goals for Phoenix and his hopes for the Elixir community. Links Mentioned in Today’s Episode: Chris McCord — http://chrismccord.com/ Chris McCord on Twitter — https://twitter.com/chrismccord DockYard — https://dockyard.com/ Dave’s Site — https://www.davesite.com/ Hacking with PHP — http://www.hackingwithphp.com/ Phoenix LiveView — https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html Phoenix Phrenzy — https://groundstation.gigalixirapp.com/ Dashbit: An Upcoming Authentication Solution for Phoenix — https://dashbit.co/blog/a-new-authentication-solution-for-phoenix Aaron Renner on GitHub — https://github.com/aaronrenner/phxgenauth Phoenix Issues on GitHub — https://github.com/phoenixframework/phoenix/issuesq=is%3Aopen+is%3Aissue+milestone%3Av2.0 Phoenix Fire Nest — https://github.com/phoenixframework/firenest Phoenix Pub/Sub — https://github.com/phoenixframework/phoenixpubsub ElixirConf 2020— https://2020.elixirconf.com/ ElixirConf 2020 Speaker Proposals — https://2020.elixirconf.com/#cfp TI-83 Calculator — https://www.amazon.com/Texas-Instruments-TI-83-Graphing-Calculator/dp/B00001N2QU Teach Yourself C in 21 Days — https://www.amazon.com/Teach-Yourself-21-Days-Sams/dp/0672310694 Rest Fest — https://www.restfest.org/ José Valim on Twitter — https://twitter.com/josevalim Jason Goldberger on LinkedIn — https://www.linkedin.com/in/jason-goldberger-84237392/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://smartlogic.workable.com/ Special Guest: Chris McCord.
Today’s guest is Amos King, Principal CEO at Binary Noggin, and host on the Elixir Outlaws and This Agile Life podcasts. This episode is centered around a casual conversation about everything from programming, the military, sarcasm, and puns to systems and application architecture, domain-driven design, and bitmasks. Amos shares with us how he got into programming, after wanting to be a doctor or an engineer first, and tells us how he met Famous Amos. We talk about spectrum analyzers, Elixir resources, and MUDs, as well as type-first design and Haskell. Amos gives us his takes on domain-driven design, API, booleans, and enums, and even roasts his co-host Chris Keithley a little. Don’t miss this episode for everything you’ve ever wanted to know about the legendary Amos King (and a whole lot more)! Key Points From This Episode: * Amos explains what Adkron means, which is his gaming and social media handle. * Where the name Elixir Outlaws for the podcast came from. * How Amos got into programming as a career, after wanting to be a surgeon and an engineer. * What Amos’s first opportunity as a programmer was, and how he met Wally Amos. * Amos explains what a spectrum analyzer is, based on his experience in the military. * Amos shares why Steve Bussey’s book, Real-Time Phoenix, is his favorite Elixir resource. * Eric and Amos talk about the MUD engine that they worked on together. * What systems and application architecture means to Amos and how it differs from design. * What type-first design (TFD) is and Amos’s opinion on it as a thought exercise. * Amos talks about Haskell programming and domain-driven design. * Relating domain-driven design to a car dealership to describe types and terminology. * Amos talks a bit about his company and what they do. * Justus, Eric, and Amos debate the term “architect” and what it actually means. * Amos shares his take on API architecture, booleans, enums, and bitmasks. * Amos gives his hot take on his co-host Chris Keithley. Links Mentioned in Today’s Episode: Amos King on Twitter — https://twitter.com/adkron Elixir Outlaws Podcast — https://elixiroutlaws.com/ Wally Amos — https://en.wikipedia.org/wiki/WallyAmos Windows 3.0 — https://en.wikipedia.org/wiki/Windows3.0 Real-Time Phoenix on Pragmatic Bookshelf — https://pragprog.com/book/sbsockets/real-time-phoenix Elixir School — https://elixirschool.com/en/ Elixir Inaction — https://twitter.com/gausby/status/986550202248187904 This Agile Life Podcast — https://www.thisagilelife.com/ Screen — https://screen.so/#/home Haskell Book — https://haskellbook.com/ Binary Noggin Website — https://binarynoggin.com/ Binary Noggin on Twitter — https://twitter.com/BinaryNoggin SmartLogic — https://smartlogic.io/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich — https://oestrich.org/ Kalevala — https://github.com/oestrich/kalevala Eric Oestrich on Twitter — https://twitter.com/ericoestrich Eric Oestrich on GitHub — https://github.com/oestrich Special Guest: Amos King.
Welcome to another episode of Elixir Wizards as we continue our journey into system and application architecture! Our featured guest today is Sundi Myint and she is here to share her journey with Elixir and her non-traditional path to programming. We hear about Sundi's interest in gaming, her role at Cava and a bit of the inspiration behind her amazing Instagram account! We discuss her first internship and how she found herself in the role quite suddenly before diving into the motivation behind her blog post on the history of emojis. Sundi did some serious research into this interesting subject and she shares some of the more technical aspects of the story with us on the show. We talk about architecture and both test and design-driven approaches. Sundi also explains her process and how mapping things out on a whiteboard has been her favored way to do things for some time. Andrea Leopardi then joins us for another edition of Pattern Matching with Todd! He answers Todd's questions about his home life, media favorites, future projects and more! Key Points From This Episode: Sundi's Instagram aesthetic and her love of food and photography. How Sundi got into programming and her first internship. Getting hired at Cava and an introduction to Elixir and the community. Video game programming and Sundi's thoughts on the possibility of pursuing this path. Sundi's first paid job out of college and the tech stack at the company. Thoughts on easily available learning resources and the power of Live View. Some background on Sundi's amazing blog post on the history of emojis. Understanding Unicode, how it works and its role in translation and interpretation. Sundi's perspectives on architecture and domain-driven design. Code design strategies, workflow and the idea and practice of test-driven code. Conversations with stakeholders and moving to the planning stage. How Sundi uses whiteboards to map out her work graphically and Elixir's part in this. Andrea's travels and some of the amazing locations he has visited for conferences. Home life and lifestyle in quarantine for Andrea in Italy. Alternative career paths and Andrea's other interests; balancing creativity and logic. Music, movies and television choices for Andrea. Exciting new projects on the horizon for Andrea; a book, HTTP and more! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Sundi Myint on Twitter — https://twitter.com/sundikhin Sundi Myint on Instagram — https://www.instagram.com/sundikhin Cava — https://cava.com/ Hackers & Painters — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Lonestar Elixir — https://lonestarelixir.com/ Bruce Tate — https://codesync.global/speaker/bruce-tate/ EA — https://www.ea.com Groxio Learning — https://grox.io/training/elixir/home Live View — https://support.google.com/maps/thread/11554255?hl=en Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5 — https://www.youtube.com/watch?v=MZvmYaFkNJI The History of Emojis Blog Post — https://engineering.upside.com/emojis-a-history-75d595bbe4a5?gi=6cd53698e5d Burgergate https://www.theverge.com/2017/10/30/16569346/burgergate-emoji-google-apple Joy of Coding — https://joyofcoding.org/ Test-driven development — https://en.wikipedia.org/wiki/Test-drivendevelopment Mox — https://hexdocs.pm/mox/Mox.html Venmo — https://venmo.com/ Mint — https://www.mint.com/ Avengers — https://www.marvel.com/movies/avengers-endgame DC Elixir — https://www.meetup.com/DC-Elixir/ Todd Resudek — https://medium.com/@toddresudek Andrea Leopardi — https://andrealeopardi.com/ Brooklyn Zelenka — https://medium.com/@expede The Lord of Rings — https://www.rottentomatoes.com/franchise/lordoftherings Wes Anderson — https://www.imdb.com/name/nm0027572/ Scott Pilgrim vs. The World — https://www.rottentomatoes.com/m/scottpilgrimsvstheworld Community — https://www.rottentomatoes.com/tv/community The Office — https://www.rottentomatoes.com/tv/theoffice Rick and Morty — https://www.rottentomatoes.com/tv/rickand_morty Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich Special Guests: Andrea Leopardi and Sundi Myint.
Dave Thomas is recognized internationally as an expert who develops high-quality software–accurate and highly flexible systems. He helped write the now-famous Agile Manifesto, and regularly gives inspiring and controversial speeches on new ways of producing software. He is the author of six books, including the best selling The Pragmatic Programmer: From Journeyman to Master and Programming Ruby: A Pragmatic Programmer's Guide. In this episode, we discuss everything from learning computer science in an academic setting, test-driven development, and state to architecture, libraries, and what Dave loves about what he does. Dave talks about his students, both those who are passionate and those who are just going through the motions, as well as his own experience of being a student. He explains to us what he means when he said he doesn’t write unit tests at an Elixir conference in Austin recently, we talk about his favorite and most rewarding books, and Dave gives us a really unique answer to our architecture question. We discuss domain-driven design, microservice architectures, and Elixir libraries, and Dave shares why is so passionate about what he does. Tune in to hear some of Dave’s strong opinions on programming! Key Points From This Episode: The Coding Gnome and how it bridges the gap between learned and practical experience. Dave talks about being a lecturer at SMU and why students aren’t prepared for the real world. Why Dave stopped teaching Elixir at SMU. Students who study computer science for passion versus those who study it to get a job. Dave talks about his experience of studying computer science at university. The inspiring and controversial keynote addresses Dave has given at conferences. What it means when Dave said he doesn’t write unit tests and the projects he’s working on. The culture around test-driven development and writing tests when Dave was at university. Dave tells a story about writing the incoming telex switch for the UK. Why the first edition of Programming Ruby was Dave’s favorite book to write. Why The Pragmatic Programmer is the book Dave is most proud of. Dave isn’t currently writing a new book, so he can concentrate on pseudo-course material. Dave explains the process of developing a narrative arc when writing a technical book. What the state of a system is and how it is distinct from data. Dave describes why he believes architecture is a misunderstood and borrowed metaphor. Dave’s opinions on buzzwords like domain-driven design and microservice architectures. The status on The Component Library, as mentioned by Dave in his EMPEX 2018 keynote. Getting involved with publishing Elixir libraries and what his process looks like. How Dave likes to receive product specification when dealing with clients. What Dave loves about the programming industry. Why Dave doesn’t write Elixir anymore and why he became frustrated with it. Where Dave is going from here to how best to express what he wants. Final advice from Dave, not to abandon Elixir if it makes you happy. Links Mentioned in Today’s Episode: Dave Thomas on Twitter – https://twitter.com/pragdave The Coding Gnome – https://pragdave.me/ The Coding Gnome Training — https://codestool.coding-gnome.com/ Agile Manifesto – https://agilemanifesto.org/ The Pragmatic Programmer – https://pragprog.com/book/tpp20/the-pragmatic-programmer-20th-anniversary-edition Programming Ruby – https://en.wikipedia.org/wiki/ProgrammingRuby Robert Kowalski on Wikipedia — https://en.wikipedia.org/wiki/RobertKowalski Dave Thomas on Wikipedia — https://en.wikipedia.org/wiki/DaveThomas(programmer) Space-state representation — https://en.wikipedia.org/wiki/State-spacerepresentation Christopher Alexander — https://en.wikipedia.org/wiki/ChristopherAlexander A Pattern Language — https://en.wikipedia.org/wiki/APatternLanguage Dave Thomas Keynote at Empex NYC 2018 — https://www.youtube.com/watch?v=6U7cLUygMeI SmartLogic — https://smartlogic.io/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich Special Guest: Dave Thomas.
Joining us on the show for this episode is Ben Marx, author of Adopting Elixir and Principal Control Plane Engineer at the recently launched SubSpace! We continue our Season 4 journey into system and application architecture with Ben and he unpacks what he can about the somewhat still under wraps work at the new company. Ben is all about plain-spoken and easy to understand conversations on these topics, preferring to avoid highfalutin and confusing terms with multiple interpretations. He really drills down on his understanding of the fundamentals of his work and we also get to hear about his previous position at Bleacher Report. He unpacks the lessons he took away from the company, and the changes he witnessed while there. Ben explains how Elixir fits into the work at SubSpace and what a perfect fit it is for their low-latency service. We also spend a bit of time talking about life as an introverted programmer, attending conferences and meeting people, and remote work and family life during the pandemic. For all this and then some, tune in today! Key Points From This Episode: * Ben's exciting new position at SubSpace, and how the company reduces latency. * The increasing need for more reliable internet speeds during the pandemic. * Use of Elixir for SubSpace and how well it fits the needs of the company. * The engineering team at SubSpace and some of the basic system architecture. * Meeting people, giving talks and life at conferences as an introvert. * The meaning of architecture to Ben; more dynamic than static. * Differentiating between architecture and design; the abstract and reality. * The idea of domain-driven design what the concept means to Ben. * Placement of the authentication and authorization systems. * Ben's time working at Bleacher Report and the development of the company during his time there. * Thoughts on Kafka and its baffling name! * Ben's new role at SubSpace and major areas of learning for him so far. * Adapting to a new role during the work from home era; life under quarantine. * Project management and helpful processes for remote work in a new world. * Ideas for another book from Ben, his belief in Elixir and getting in contact! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Ben Marx — https://bgmarx.com/ SubSpace — https://www.subspace.com/ Ben Marx on Twitter — https://twitter.com/bgmarx Adopting Elixir — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 Bleacher Report — https://bleacherreport.com/ Subspace article at the Wall Street Journal — https://www.wsj.com/articles/subspace-launches-publicly-offering-fast-internet-for-gaming-companies-11584961201 Subspace article at VentureBeat — https://venturebeat.com/2020/04/03/the-deanbeat-subspace-emerges-from-stealth-with-26-million-to-fix-internet-bottlenecks-for-games-and-entertainment/ Kafka — https://kafka.apache.org/coding-guide Franz Kafka — https://www.biography.com/writer/franz-kafka Max Brod — https://www.britannica.com/biography/Max-Brod Sophie DeBenedetto — http://sophiedebenedetto.nyc/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich — https://oestrich.org/ Eric Oestrich on Twitter — https://twitter.com/ericoestrich Eric Oestrich on GitHub — https://github.com/oestrich Special Guest: Ben Marx.
A special episode of Elixir Wizards highlighting Pattern Matching with Todd - a short format interview where our friend, Todd Resudek, asks different guests the same five questions. This week Todd spoke with Johanna Larsson. Johanna is active on the Elixir scene and is currently working as a Software Engineer at Duffel. Key Points From This Episode: * Living in Malmo, Sweden. * Johanna's love of languages. * The complexities of written Japanese. * How Johanna uses music to set the soundtrack to her work. * Todd missing the boat on a cinematic and cultural masterpiece. * Integrating and improving upon the hex diff project. Links Mentioned in Today’s Episode: Johanna Larsson on GitHub - https://github.com/joladev Johanna Larsson on Twitter - https://twitter.com/joladev Todd Resudek on Twitter — https://twitter.com/sprsmpl SmartLogic — https://smartlogic.io/ Special Guest: Johanna Larsson.
Real-time applications come with real challenges—persistent connections, multi-server deployment, and strict performance requirements are just a few. Our guest today is Steve Bussey, a software architect at SalesLoft and author of the new book, Real-Time Phoenix: Build Highly Scalable Systems with Channels. In this episode, Steve shares with us what he has written on real-time Elixir applications and how he has led development in the field. We discuss how Steve found Elixir, what system and application architecture means to him, and what he considers the differences between architecting and designing a system. Steve gives us his opinions on domain-driven design, umbrella apps, and Phoenix LiveView, and shares some of his personal processes when working on new real-time features, as well as what he believes are the toughest parts of developing and rolling out real-time applications. Finally, we talk about testing, security, and performance issues, and Steve sells us on his book. Tune in today! Key Points From This Episode: What Steve’s favorite pair of shoes is and how he got into sneakers. Where Steve is from and how long he has been doing programming. What system and application architecture means to Steve. The difference between architecting and designing a system. Steve’s opinions on domain-driven design. Eric’s opinion on umbrella apps and Steve’s response. Where Steve starts when he works on a new real-time feature. Steve’s personal and professional pre-code design processes. The toughest parts of developing and rolling out real-time applications. Testing real-time features and Steve’s thoughts on Phoenix LiveView. How Steve incorporates security into the architecture when designing applications. Multi-tenant applications and how Steve deals with performance issues. Deployment considerations when going into production with a real-time application. Steve sells us on his book and gives his final plugs and asks for the audience. Links Mentioned in Today’s Episode: Steve Bussey on Twitter – https://twitter.com/YOOOODAAAA Steven Bussey’s Website – https://stevenbussey.com/ Real-Time Phoenix on Pragmatic Bookshelf – https://pragprog.com/book/sbsockets/real-time-phoenix SmartLogic — https://smartlogic.io/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich — https://oestrich.org/ Eric Oestrich on Twitter — https://twitter.com/ericoestrich Eric Oestrich on GitHub — https://github.com/oestrich Special Guest: Steve Bussey.
Today’s guest is Mohd Maqbool Alam, a software developer and Elixir fan from Delhi. He enjoys learning about programming language theory, distributed systems, Cloud Native technologies, and open source. As he is working towards building an Elixir community in Delhi, we caught up with him to find out how he came to be part of the Elixir world, and what drew him to programming in the first place. We also discuss Maqbool’s favorite Elixir resources and how Elixir has changed the way he thinks about architecture applications, as well as his opinions on microservices, APIs, and static typing. We talk about the real-world consequences of programming, using Neil Ferguson’s pandemic simulation model as an example, and Maqbool shares his favorite RPC (when we actually meant to ask him his favorite RFC)! The episode concludes with Pattern Matching with Todd. In this edition, he discusses Kubernetes and Beam with Principal Software Architect Cory O’Daniel. Key Points From This Episode: Maqbool tells us a bit about himself and how he came to be part of the Elixir community. What enticed Maqbool to programming. Maqbool’s favorite resources from Elixir. How Elixir has changed the way Maqbool thinks about architecting applications. Maqbool’s ‘aha’ moment in distributed programming and how he got into pattern matching. Phoenix Live Dashboard and why Maqbool and the team are excited about it. How Maqbool approaches the design process when building an application from scratch. The tools and methods Maqbool uses when designing information architecture and APIs. Maqbool’s opinions on microservices, Kubernetes, and Amazon Lambda. Protocols and non-standard protocols. Neil Ferguson’s pandemic simulation model using undocumented C-code. How we should think about the real world consequences of high-stakes programming. Maqbool’s opinion on static typing. Macbool’s favorite RPC and RFC. Pattern Matching with Todd Resudek, discussing Kubernetes and Beam with Cory O’Daniel. Links Mentioned in Today’s Episode: Justus Eapen on LinkedIn — https://www.linkedin.com/in/justuseapen/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich — https://oestrich.org/ Eric Oestrich on Twitter — https://twitter.com/ericoestrich Eric Oestrich on GitHub — https://github.com/oestrich Mohd Maqbool Alam on Twitter – https://twitter.com/Maqboolism Elixir Forum – https://elixirforum.com/ Elixir in Action – https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/161729201X Phoenix Live Dashboard – https://github.com/phoenixframework/phoenixlivedashboard Absinthe – https://github.com/absinthe-graphql/absinthe Kubeless – https://kubeless.io/ Kubernetes — https://kubernetes.io/ Amazon Lambda – https://aws.amazon.com/lambda/ Groxio – https://grox.io/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Cory O’Daniel on Twitter – https://twitter.com/coryodaniel Ziggy O’Doodle on Instagram – https://www.instagram.com/ziggy.odoodle/ SmartLogic — https://smartlogic.io/ Special Guests: Cory O'Daniel and Mohd Maqbool Alam.
As our first trilogy comes to a close, and we embark on the next one, we’re doing what all great trilogies do: Upending everything that made the initial one great and starting afresh. We have taken on board some excellent listener feedback to keep this the highest quality Elixir related podcast. So, for this launchisode, rather than doing a trailer, we are diving in headfirst with a full episode on system and application architecture, this season’s theme, with Justus Eapen, Dan Ivovich, and Eric Oestrich. We kick off the show by getting to know Dan and Eric a bit better. This season, as per listener requests, we will spend more time on our guests' personal lives. We learn about Dan and Eric’s time at SmartLogic, their experience working with Elixir, and their approaches to learning it. From there, we move onto tackling clients’ projects. We discuss the importance of letting ideas flow free as well as how to break projects down into manageable sized segments to work on. Following this, we touch on flexible architecture. As the world changes, sometimes at a pace faster than we anticipate, it is more important than ever to design systems that we can iterate on. Then, we discuss the future of applications and architecture and the exciting possibilities in-store. The show rounds off with our new segment, Pattern Matching with Todd, where our friend Todd Resudek gets to know someone in the community a bit better. Today, he talks with Connor Rigby of Binary Noggin, finding out more about his programing journey, his favorite music and movies, and his WiFi meshing project. We're so excited for this season, and we hope you join us on the journey. Tune in today! Key Points From This Episode: Dan’s background and how he came to be Director of Development Operations. How Eric started at SmartLogic and what his journey at the company has been like. Learn what convinced Dan to go all-in on Elixir and make the move from Rails Some of the educational materials and tools Dan and Eric used to learn Elixir. Dan’s preferred style of design and why he enjoys TDD. Why we think that Cucumber falls short and chose to move away from it. Find out what we think domain-driven design is. How Dan and Eric approach deconstructing clients’ projects. Pre-coding: Why it’s best to do free-form planning, with no constraints. Insights into the broad-reaching term of ‘API’ and what we mean by it. SOAP and REST APIs: What they are and the differences between them. How Dan, Eric, and Justus’s thinking about designing and application architecture has evolved. Object-oriented programming versus functional: Our take on the age-old debate. Is this finally the year that we get to kill micro-services? The relationship between team size and micro-services and some other constraints. What the future has in store for applications and architecting. Pattern-matching with Todd: Five questions to get to know Connor Rigby a bit better. Links Mentioned in Today’s Episode: Justus Eapen on Twitter — https://twitter.com/justuseapen Dan Ivovich on Twitter — https://twitter.com/danivovich Eric Oestrich on Twitter — https://twitter.com/ericoestrich Kalevala on GitHub — https://github.com/oestrich/kalevala Valve — https://www.valvesoftware.com/en/ Ecto — https://hexdocs.pm/ecto/Ecto.html Phoenix Elixir books — https://pragprog.com/book/phoenix14/programming-phoenix-1-4 Ruby on Rails — https://rubyonrails.org/ Designing for Scalability with Erlang — http://shop.oreilly.com/product/0636920024149.do Mike Amundsen on O’Reily Media — https://www.oreilly.com/pub/au/1192 Designing Elixir Systems With OTP — https://www.amazon.com/Designing-Elixir-Systems-OTP-Self-healing/dp/1680506617 Cucumber — https://cucumber.io/ Visual Studio Code — https://code.visualstudio.com/ SOAP vs REST APIs — https://www.soapui.org/learn/api/soap-vs-rest-api/ RESTFest — https://www.restfest.org/ ExVenture — https://exventure.org/ Kubernetes — https://kubernetes.io/ Phoenix — https://phoenixframework.org/ Nerves Project — https://www.nerves-project.org/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Binary Noggin — https://binarynoggin.com/ Connor Rigby on GitHub — https://github.com/ConnorRigby The Big Lebowski — https://www.imdb.com/title/tt0118715/ Aesop Rock on Twitter — https://twitter.com/AesopRockWins All That Remains on Twitter — https://twitter.com/ATRhq Korn — https://www.kornofficial.com/ Eric Meadows-Jönsson on Twitter — https://twitter.com/emjii Donnie Darko — https://www.imdb.com/title/tt0246578/ Richard Kelly — https://www.imdb.com/name/nm0446819/ Frank Hunleth on Twitter — https://twitter.com/fhunleth SmartLogic — https://smartlogic.io/ Special Guests: Connor Rigby and Dan Ivovich.
Welcome back to part two of our betweenisode! Everybody is working remotely now including ourselves, so today we continue the catch ups we were having with a number of longstanding buddies and chat about life after social distancing! The show is a back-to-back of four different conversations, the first being with Amos King, Chris Keathley, and Anna Neyzberg from Elixir Outlaws. After that we talk to Paul Schoenfelder, before getting on the line with Sophie DeBenedetto and Meryl Dakin. Last but not least we catch up with Dave Thomas. Our four conversations cover the same broad themes, and we mostly share our thoughts about what is happening in the world right now, how we are coping with working remotely, and what particular projects have been keeping us busy. Our guests share varying perspectives about what it means that we are restructuring the way we do things. We talk about how even if you worked remotely before, things feel different now, and we also consider the extra burdens of being a remote software developer. Other topics include the line between complaints and constructive criticism, wild animals roaming the streets, and the general atmosphere in our different locations. From a tech point of view, we touch on IoT development, various GitHub projects to get involved with, why students aren’t learning how to program properly anymore, and a lot more. Get it all here and make sure you stay tuned for episode one of season four! Key Points From This Episode: Scaling up the NFL Draft website for remote screening. Home life and side projects in the quarantine: Mogde Podge, a baby, and game development. Shameless plugs from everybody: Binary Noggin, ElixirBridge, and Finch. Isolation, low supplies and trying to stay positive at present. Imagining roaming wild animals now that humans are in quarantine. Advice from Paul who works at home for surviving social distancing. What Paul is doing for Ockam to secure IoT devices. The danger of starting hack vulnerable tech companies. A plug from Paul to get involved with Lumen. Nature taking over; Meryl and Sophie’s experiences in Brooklyn and Westchester right now. Working from home versus working from home due to a global crisis. Domestic squabbles over bandwidth between Meryl and her software developer brother. Lessons learned to stay sane during quarantine: getting dressed. Extra tasks remote developers are having to do remotely; becoming project managers. The difference between complaints and legitimate critiques of work systems. Dave’s amazing remote communications setup 40 miles north of Dallas. The situation where Dave is with regard to coronavirus and freedom. How COBOL has not become too broad despite not using libraries. The history of programming languages that Dave teaches. That PDP-11 runs better emulated in Javascript than in its original hardware. A drawback of modern development: not understanding hardware. How Dave is digitizing his SMU courses due to teaching them online at present. All the effort Dave puts into grading his students’ exercises. Issues that coding is not taught rigorously enough; students can’t ‘program’. How well the human race is doing to mobilize en masse right now. Whether tech caused the crisis and humanity could manage this crisis 100 years ago. Links Mentioned in Today’s Episode: Eric Oestrich — https://oestrich.org/ Justus Eapen — https://www.linkedin.com/in/justuseapen/ Amos King — https://www.linkedin.com/in/amosking/ Chris Keathley — https://keathley.io/ Anna Neyzberg — https://www.linkedin.com/in/anna-neyzberg-93545316/ Elixir Outlaws — https://elixiroutlaws.com/ NFL Draft — https://www.nfl.com/draft/home Modge Podge — https://www.amazon.com/Mod-Podge-Waterbase-16-Ounce-CS11302/dp/B001IKES5O Star Trek — https://intl.startrek.com/ Sublime — https://www.sublimetext.com/ VSCode — https://code.visualstudio.com/ Binary Noggin — https://binarynoggin.com/ Connor Rigby — https://binarynoggin.com/author/connor/ ElixirBridge — http://elixirbridge.org/ Nico Piderman — https://github.com/sneako Quinn Wilton — https://github.com/QuinnWilton Jose Valim — https://github.com/josevalim Finch Library— https://github.com/keathley/finch Paul Schoenfelder — https://www.linkedin.com/in/gotbones/ Ockam — https://www.ockam.io/ Lumen — https://github.com/lumen/lumen Timex — https://github.com/bitwalker/timex Sophie DeBenedetto — https://www.linkedin.com/in/sophiedebenedetto/ Meryl Dakin — https://github.com/meryldakin Flatiron — https://flatironschool.com/ Sophie DeBenedetto’s GitHub Post — https://www.thegreatcodeadventure.com/my-long-distance-relationship-with-github/ Elixir School — https://elixirschool.com/en/ Meryl Dakin’s Watch if Your Dare Episode — https://www.stitcher.com/podcast/watch-if-you-dare/e/68798094?autoplay=true Luigi’s Mansion — https://www.nintendo.co.za/Games/Nintendo-Switch/Luigi-s-Mansion-3-1437312.html Dave Thomas — https://pragdave.me/ COBOL — https://www.tutorialspoint.com/cobol/index.htm PD-11 — https://history-computer.com/ModernComputer/Electronic/PDP-11.html SMU — https://www.smu.edu/lyle Elixir Wizards Podcast — https://podcast.smartlogic.io SmartLogic — https://smartlogic.io/ Special Guests: Amos King, Anna Neyzberg, Chris Keathley, Dave Thomas, Meryl Dakin, Paul Schoenfelder, and Sophie DeBenedetto.
The world has changed so much since the end of season 3, that we thought we’d put together a special Betweenisode to tide you over until Season 4 launches. In this episode, we talk to several friends and respected members of the Elixir community, about how they’re coping and tips they have for retaining some normalcy in your life if you’re suddenly having to work from home. Our first guest, Saša Jurić, of Very Big Things, and author of the unrivaled Elixir in Action, has had the privilege of working from home for several years. He shares the importance of having a routine, connecting with people, and why you should get out of your pajamas and into some real clothes when you work. He also shares what it’s been like in his home city of Zagreb, and how previous devastating events have in some way prepared him for what’s currently happening. Bruce and Maggie Tate of Groxio, an educational platform to learn languages, also join us. Maggie shares more on her culinary adventures, and the importance of having a definite start and finish time to your day. Bruce talks about some of the professional projects he’s working on, and why he believes it’s crucial to tackle difficult technical skills outside of developing. Other guests include James Edward Gray II, who shares more about the incredible way he and his daughter have been bonding, Jim Freeze, founder of ElixirConf, and his son Chris, who share some of the benefits of working from home, and show us how to see the silver lining during this difficult time, and Frank Hunleth, of Nerves Project, who talks about what he’s up to. There have certainly been more changes in the world than we could have anticipated, so it was wonderful to catch up and see how people in our community have been coping. Be sure to tune in today! Key Points From This Episode: Learn what’s happening in Saša’s home city, Zagreb, and what he’s doing to keep busy. Saša’s advice for coping during the pandemic and preventing information overload. The transition to remote work in Saša’s company and the impacts it’s had on workload. How Saša started working remotely and the main lessons he has learned from doing it. What Saša believes the future of virtual events and conferences will be. Find out how Bruce and Maggie are dealing with these strange times. Groxio’s mission in terms of learning and Bruce and Maggie’s tip for working from home. Current projects that Bruce and Maggie are working on both at Groxio and personally. What’s in the pipeline with Groxio’s Elixir material and Bruce and Maggie’s plugs. How James is holding up and his take on the COBOL debacle. Find out what motivated James to transition from Ruby to Elixir and what it’s been like. James’s experience working from home and tips for people who are new to it. Specific versus general solutions: The difference and how James thinks we can tackle this. Hear James’s ExVenture plug, which is Eric’s project. Jim’s and Chris’s experience of the lockdown and the silver linings that have come from it Find out Jim and Chris’s necessities for working from home and being productive. Jim’s plans for ElixirConf for this year and 2021, and Chris and Jim’s final plug. Frank’s tips for working from home and his product plugs. Links Mentioned in Today’s Episode: Saša Jurić on Twitter — https://twitter.com/sasajuric Saša Jurić on LinkedIn — https://hr.linkedin.com/in/sa%C5%A1a-juri%C4%87-21b23186 Erlangelist — https://www.theerlangelist.com/ Very Big Things — https://verybigthings.com/ Elixir in Action — https://www.manning.com/books/elixir-in-action-second-edition Bruce Tate — https://www.linkedin.com/in/bruce-tate-a836b Bruce Tate on Twitter — https://twitter.com/redrapids Maggie Tate on LinkedIn — https://www.linkedin.com/in/maggie-tate-230234171 Groxio — https://grox.io/ Programmer Passport — https://elixirforum.com/t/programmer-passport-grox-io-pragprog/28253 Lonestar Elixir — https://lonestarelixir.com/ James Edward Gray II — https://twitter.com/JEG2 COBOL — https://www.tutorialspoint.com/cobol/index.htm Gray Inc — http://graysoftinc.com/ Programming Erlang — https://pragprog.com/book/jaerlang2/programming-erlang Nathan Long — https://twitter.com/sleeplessgeek POV-Ray — http://www.povray.org/ Elixir Wizards S02 Eric on ExVenture — https://podcast.smartlogic.io/season-two-oestrich Jesse Link — http://www.jesselink.com/ Jim Freeze on Twitter— https://twitter.com/jimfreeze ElixirConf — https://elixirconf.com/2020 Chris Freeze on Twitter— https://twitter.com/chrisfreeze_ Tesla Car Lot — https://teslacarlot.com/ David Antaramian — https://www.linkedin.com/in/davidantaramian/ PepsiCo — https://www.pepsico.com/ Nerves Project — https://www.nerves-project.org/ Frank Hunleth on Twitter — https://twitter.com/fhunleth SmartLogic — https://smartlogic.io/ Special Guests: Bruce Tate, Chris Freeze, Dr. Jim Freeze, Frank Hunleth, James Gray, Maggie Tate, and Saša Jurić.
In this episode, we take a look into the current contexts and home lives many of us find ourselves in today, offering top tips for working remotely from home during these challenging times. The lockdowns have caused many of us to reflect. To reflect on our lives, our work, what we’re grateful for, and in this case, our epic last season of Elixir Wizards! Here, we take you through the highlights, the lowlights, our biggest lessons, our juiciest debates, and what you can expect for Season 4 – in sickness and in health. Stay safe, listen, and enjoy! Key Points from This Episode: The importance of demarcating your workspace, especially when the kids are home! Always put your pants on: Why sticking to your morning schedule helps productivity. Ways to eliminate the potential for distraction when working from home. How working from home is enabling programmers to see one another’s human side. Taking a break from conferences, cognition, and learning how to birth a baby Oestrich. Third dimensions and entering the tangential learning plane with Brooklyn Zelenka. The Surprise Toddcast: Why the improvised episode was a hit. What it was like interviewing entrepreneurial couple, Bruce & Maggie Tate. Remember the time the father and son roasted each other on the podcast mic? Why your podcast audience wants to know your guests on a more personal level. A recap of the numbers from Season 1-3 and the 40,000+ Elixir Wizards downloads. A sneak peek into the new Elixir Wizards theme for the upcoming Season 4. Lib versus Web and other essential tips for the lazy Phoenix users out there. Why we need a whole season on application architecture and one-letter module names. The debate sparked by the disagreement between Chris Keathley and Brooklyn Zelenka. Hackers, painters, Paul Graham, and the argument made in favor of dynamic typing. Find out more about Sophie and Meryl’s epic takeover of Elixir Wizards! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Eric Oestrich — https://twitter.com/ericoestrich?lang=en Justus Eapen — https://twitter.com/justuseapen Brooklyn Zelenka on Witchcraft — https://podcast.smartlogic.io/season-two-zelenka Brooklyn Zelenka — https://twitter.com/expede?lang=en Bruce and Maggie Tate from Groxio on Training — https://podcast.smartlogic.io/s3e8-groxio Saša Jurić — https://twitter.com/sasajuric Bonus Toddcast & Lonestar Preview — https://podcast.smartlogic.io/s3e14-bonus-toddcast-and-lonestar-preview The Lonestar Lunchisode — https://podcast.smartlogic.io/s3-lonestar-lunchisode-2020 Dave Thomas — https://www.davethomas.net/talks_index.html Bonus Episode: Outlaws and The Wizards — https://podcast.smartlogic.io/s3-bonus-outlaws-and-wizards Chris Keathley — https://twitter.com/ChrisKeathley Paul Graham — http://www.paulgraham.com/ Sean Lewis from Divvy on Performance, Hiring and Training — https://podcast.smartlogic.io/s3e12-divvy Devin C. Estes — https://twitter.com/devoncestes?lang=en Muzak — https://www.kickstarter.com/projects/devonestes/muzak-a-mutation-testing-library-for-elixir-and-erlang Special Guest: Todd Resudek.
Welcome to another extra special episode of Elixir Wizards! We have guest hosts today, Meryl Dakin of Frame.io and Sophie DeBenedetto of Github, and they welcome Steven Nunez, Staff Engineer at the Flatiron School, and Sean Callan, creator of Elixir School, to the show. Where some would see the fact that Elixir doesn’t have a ton of readily available answers out there as a restriction to mastering the language, our guests argue that this is the best educational environment. Writing about challenges and teaching others how you overcame them are some of the best ways to learn. We also discuss concurrency and other contrasts with prominent languages. Our guests weigh in on dealing with students and how far enthusiasm and openness can go in helping inspire other minds. Steven stresses the need for greater resources, especially at a beginner level, as this will lower the barrier to entry for new programmers and ultimately benefit the entire Elixir community. Key Points From This Episode: An introduction to Sean and Steven, their work and experience with Elixir. Work and professional horoscopes for the panel of today's podcast! The accidental path that led Sean to Elixir and the translations that affirmed his work. The use of writing and blogging in your own education; teaching is learning twice! Steven's early attraction to Elixir and the obsession and evangelism that followed. Concurrency visibility and differences between Elixir and other languages. Different tracks for learning; coming into Elixir as a beginner or as someone with experience. The evolution of thought around education and things that have changed at Elixir School. Learning that includes reasons why; you don't know what you don't know! Knowing your students and keeping them excited to maintain a passion for learning. Growing confidence and the benefits of great resources for the spread of increasing skills. Scratching your own itch; write the educational information that you cannot find yourself. Our guest's Elixir wish lists; more learning opportunities, widespread adoption and beginner-friendly content. Requests about Elixir from our guests, a few plugs and how to connect with them! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Sophie DeBenedetto — https://twitter.com/smdebenedetto Meryl Dakin — https://twitter.com/meryldakin Steven Nunez — https://twitter.com/stevennunez Sean Callan — https://twitter.com/doomspork System 76 — https://system76.com/ Flatiron — https://flatironschool.com/ Elixir School — https://elixirschool.com GitHub — https://github.com/ Erlang — https://www.erlang.org/ Phoenix — https://www.phoenixframework.org/ Kubernetes — https://kubernetes.io/ The Developer's Guide to Content Creation — https://www.developersguidetocontent.com/ Stephanie Morillo — https://www.stephaniemorillo.co/ Elixir and The Beam: How Concurrency Really Works https://www.thegreatcodeadventure.com/elixir-and-the-beam-how-concurrency-really-works/ Special Guests: Sean Callan and Steven Nunez.
Saša Jurić is a household name in the Elixir and Erlang space and we are so glad to finally welcome him on to the show today! Author of Elixir in Action, Saša is here to discuss training and his thoughts on getting a team up to speed with regards to testing and beyond. We hear from our guest about his discovery of Elixir, his uncharacteristic early adoption of the language, and why he chose it. From there, Saša talks a bit about his book, the opportunity that arose for him to write it after Manning approached him and how he views its place among other prominent pieces of literature on the subject. We discuss early steps in the process of learning Elixir for new programmers and old, and Saša weighs in on when it might be a good idea to put in the effort. We also get to hear about very big things, where Saša works and the central work and services of the agency. The last part of our conversation is spent on more technical aspects of Saša's work, his approach to coding in general and then approaches to testing and the training side of this. Join us today for this great conversation! Key Points From This Episode: Saša's discovery of Elixir and his first experiences of the language. A lucky opportunity to write a book that presented itself to Saša! The complementary nature of Elixir in Action; reading it in conjunction with other books. Ideas on how to introduce the concepts of Elixir to new programmers and the unfamiliar. The effort needed in order to understand and adopt the new paradigm of Elixir. Saša's work at very big things and the services that the agency offers. The most useful idioms that Saša uses and the modes of operation at that agency. Saša's use of Dialyzer for debugging despite its imperfections. The exploratory nature of good coding and finding solutions as you go. Helper libraries and comparing functions from Saša's own one! Training for unit, feature and integration testing; Saša's approach for his team. Differentiating between the different types of testing and the importance of naming. Clarifying Saša's philosophy on testing and his understanding of the term 'unit'. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Saša Jurić on Twitter — https://twitter.com/sasajuric The Erlangerist — https://www.theerlangelist.com/ Elixir in Action — https://www.manning.com/books/elixir-in-action-second-edition?query=sa%C5%A1a - use special code podexwizards20 for 40% off your purchase at Manning Publications! Michael Stevens — https://www.linkedin.com/in/michaelstephens2 Manning — https://www.manning.com/ Programming Elixir — https://pragprog.com/book/elixir16/programming-elixir-1-6 Learn Functional Programming with Elixir — https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir very big things — https://verybigthings.com/ Dialyzer — https://hexdocs.pm/dialyzex/Mix.Tasks.Dialyzer.html Hackers & Painters — http://shop.oreilly.com/product/9780596006624.do Paul Graham — http://www.paulgraham.com/ Justin Searls Blog - https://blog.testdouble.com/ Marie Kondo — https://konmari.com/ Special Guest: Saša Jurić.
Elixir Outlaws invited us to join them for a special crossover episode, recorded live at Lonestar Elixir 2020. Join us for a conversation around fun and learning in development, highlights from day one of the conference, remembering Joe Armstrong, and more. Guests / Hosts Justus Eapen @justuseapen (https://twitter.com/justuseapen) Anna Neyzberg @ANeyzb (https://twitter.com/ANeyzb) Amos King @adkron (https://twitter.com/Adkron) Bruce Tate @redrapids (https://twitter.com/redrapids) Susumu Yamazaki @zacky1972 (https://twitter.com/zacky1972) Melvin Cedeno @TheCraftedGem (https://twitter.com/TheCraftedGem) Tim Mecklem @tim_mecklem (https://twitter.com/tim_mecklem) Elixir Outlaws https://elixiroutlaws.com/ Lonestar Elixir https://lonestarelixir.com/ Special Guests: Amos King, Anna Neyzberg, Bruce Tate, Chris Keathley, Melvin Cedeno, Susumu Yamazaki, and Tim Mecklem.
Our guest today, Devon Estes, approached us about the possible opportunity for Elixir to optimize and build out the pandas data analysis and manipulation tool, sharing why he thinks it would be a valuable addition to the Elixir open source ecosystem. But Devon joins us to contribute to our ongoing discussion about performance and training in the Elixir world, sharing about his current work on the beta for Sketch Cloud, his previous Erlang consultancy role at one of the largest banks in Europe, and the massive responsibility he carried while working on the bottom line application. He continues to advise listeners on the considerations for optimizing Erlang performance and solving database-specific problems, and the memory constraints he comes up against in the Sketch Cloud application. Devon talks about Benchee, a benchmarking library created by his friend, and how the two of them have continued to develop this tool, including its performance testing capabilities and how they deconstructed the benchmarking steps to build out the library. He also talks more broadly about the importance of considering the data when distinguishing between facts and opinions in conversations about performance. Key Points From This Episode: What Devon believes would be a valuable addition to the Elixir open source ecosystem. Why optimizing and building out the pandas tool will be worth a company’s time and effort. Devon’s experience with pandas and Python, and recognizing the opportunity for Elixir. Working on the beta for Sketch’s Cloud that will allow real-time collaboration. Devon’s consultancy role at Klarna, one of the largest banks in Europe. The responsibility involved in working on the bottom-of-the-stack application at Klarna. Considerations for optimizing Erlang performance and why you should look at the tail. Solving the database performance problems – running queries and searches – at Klarna. The unique memory constraints of Sketch Cloud and the problem with receiving large files. More about Benchee, a benchmarking library, and all its performance testing capabilities. Deciding whether a function is responsible for other things when benchmarking. The time Devon spends on optimizing performance and the first two steps in the process. The profiling process of determining which function is slow and writing a benchmark for it. Distinguish between a fact and an opinion by considering the data (or lack thereof). Keeping in mind that truth is time-bound, and it also applies to benchmarking. Deconstructing the steps in the process of further developing Benchee. How Devon became a maintainer of the Elixir track for Exercism, and what the role involves. Links Mentioned in Today’s Episode: Devon Estes — http://www.devonestes.com Devon Estes on Twitter — https://twitter.com/devoncestes?lang=en Devon Estes on GitHub — https://github.com/devonestes pandas — https://pandas.pydata.org Python — https://www.python.org Sketch — https://www.sketch.com Klarna — https://www.klarna.com/international/ Erlang — https://www.erlang.org PostgreSQL — https://www.postgresql.org Ruby — https://www.ruby-lang.org/en/ Adopting Elixir — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 Exercism — https://exercism.io JavaScript — https://www.javascript.com Benchee — https://github.com/bencheeorg SmartLogic — https://smartlogic.io/ Elixir — https://elixir-lang.org Elixir Wizards Podcast — https://podcast.smartlogic.io Update: What's Inside a Reduction? http://www.devonestes.com/inside-a-reduction Special Guest: Devon Estes.
Welcome back to the show for this special edition Lunchisode, coming to you live from the Lonestar Elixir 2020 Conference! We have a revolving door of speakers at this informal roundtable and a few friends and associates stop by to introduce themselves, share their thoughts on the conference so far and subjects that they care about. We follow up on some of the ideas raised in the Lonestar preview episode as well as hear about new and interesting ways that Elixir is being used at a variety of companies, including SalesLoft, ActiveProspect, SmartRent and more! We also consider the place of Elixir education and go deeper on the topic of finding fun and meaning in our programming pursuits and beyond. Join us for this special edition and stay tuned for the next installment soon. Key Points From This Episode: Thoughts on the conference so far — the talks and venue. SalesLoft's Elixir adoption and how the decision was made by those in power. Bruce Williams' current work at GitHub and his project on Absinthe. Elixir usage in Mexico and the prominent organizations and companies that use it. Some information on the Observability Working Group and what they are currently busy with. Differences between tracing and logging; tracing is essentially distributed logging. What it means for the programmer when they bump up against a challenge! The amount of effort that should go into developing entry points for new Elixir developers. Education in the Elixir space and the success of the bootcamp model. Considering the ongoing utility of unit tests and changing up training strategies. The work done by SmartRent in real estate and how Elixir fits into their tech stack. Links Mentioned in Today’s Episode: Lonestar Elixir — https://lonestarelixir.com/ Bruce Tate — https://twitter.com/redrapids Steve Bussey — https://twitter.com/YOOOODAAAA Bruce Williams — https://twitter.com/wbruce Ricardo Echavarria — https://twitter.com/ricarus Brain Naegele — https://twitter.com/bsidebryan Frank Kumro — https://twitter.com/frigidcode Zach Thomas — https://twitter.com/ZachDCThom Dave Thomas — https://twitter.com/pragdave Jon Carstens — https://twitter.com/JonCarstens Todd Resudek — https://twitter.com/sprsmpl SmartLogic — https://smartlogic.io/ SalesLoft — https://salesloft.com/ Absinthe — https://github.com/absinthe-graphql/absinthe Sophie DeBenedetto — http://sophiedebenedetto.nyc/ RestFest — https://www.restfest.org/ Observability Working Group — https://erlef.org/wg/observability GigCity Elixir Conference — https://www.gigcityelixir.com/ ActiveProspect — https://activeprospect.com/ The Pragmatic Programmer — https://pragprog.com/book/tpp20/the-pragmatic-programmer-20th-anniversary-edition SmartRent — https://smartrent.com/ Blinker — https://www.blinker.com/ Special Guests: Brain Naegele, Bruce Tate, Bruce Williams, Dave Thomas, Frank Kumro, Jon Carstens, Ricardo Echavarria, Steve Bussey, Todd Resudek, and Zach Thomas.
This week we're delighted to share a special format bonus episode! We are joined by guest co-host Todd Resudek as well as a number of guests who each share a little bit about what they're working on and in many cases their upcoming presentations at Lonestar Elixir. Special episode guests: * Angel Jose, Senior Platform Engineer at Cars.com * Dave Lucia, VP of Engineering at SimpleBet * Greg Mefford, Senior Back-End Engineer at Bleacher Report * Melvin Cedeno, Elixir Developer at SplitGyms * Zach Thomas, API Developer at Blinker Most of our guests weigh in about their upcoming presentations at the event and we also get to chat about a few near and dear topics with our rotating cast. We hear about where they are working, their experiences with Elixir and their thoughts on education and company culture. It's an unusual episode but one we are so glad to have had the chance to make! We also find time to touch on our focus for the next season of the podcast, which is very exciting for all of us over here at the show. Remember to stay plugged in for more on Lonestar Elixir and attend if you can! Key Points From This Episode: Some thoughts on LiveView and its adoption by new developers. Angel's work at Cars and how they are using Elixir and LiveView to rewrite everything. Chatbots and the immediate benefits of using Elixir to rewrite them. The elevator pitch on SimpleBet and the tech stack, skillset and ecosystem of the company. Why Dave and his team have moved away from Rust! A quick tease of what to expect for Season 4 of the podcast: Architecture of Applications! How Bleacher Report is using Elixir to build the 'third space' for sports fans. Team building and expansion at Bleacher Report and the stages of scaling. A sneak preview of Greg's upcoming talk at Lonestar! How Greg got started with Nerves and why it has a special place in his heart. The theme of Melvin's talk at Lonestar; untraditional routes and emotions in tech. Considering the usefulness of boot camps, the value of ISAs and CS programs. Zach's background in Elixir and his current work at Blinker with the language. Experiences at Turing and in liberal arts during college. Zach's Lonestar talk elevator pitch: 'Getting the Frog out of the Well'. The allegory of the cave, 'what is water' and how this differs from Zach's idea. Why don't we like statically typed things as much as we should? Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Lonestar Elixir 2020 — https://lonestarelixir.com/ Todd Resudek — https://medium.com/@toddresudek Todd Resudek on Twitter — https://twitter.com/sprsmpl Angel Jose — https://github.com/ajose01 Dave Lucia — https://github.com/davydog187 Greg Mefford — https://github.com/GregMefford/blinkchain Melvin Cedeno — https://gist.github.com/normanrs/eeb5cc91cb10eeb7d3e43168396efb27 Zack Thomas — https://github.com/zeam-vm/pelemay Sophie DeBenedetto — http://sophiedebenedetto.nyc/ LiveView — https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html ElixirConf — https://elixirconf.com/events Cars — https://www.cars.com/ SimpleBet — https://www.simplebet.io/ Full Stack Developer Horse Drawing Meme — https://knowyourmeme.com/photos/1624070-unfinished-horse-drawing Conway's Law — https://www.thoughtworks.com/insights/blog/applying-conways-law-improve-your-software-development ElixirConf 2019 - Lighting Talk - Are There Benefits Of Crying In Tech — https://www.youtube.com/watch?v=oW5Plkroyxk TRON — https://www.rottentomatoes.com/m/tron Smart Mirror Blog Post — https://medium.com/@toddresudek/building-a-smart-mirror-with-phoenix-liveview-18193ee6438f Bleacher Report — https://bleacherreport.com/ Team Topologies — https://teamtopologies.com/ Nerves — https://nerves-project.org/ Turing — https://turing.io/ CIRR — https://cirr.org/ David Heinemeier Hansson — https://dhh.dk/ Blinker — https://www.blinker.com/ David Foster Wallace — http://www.davidfosterwallacebooks.com/ Gödel, Escher, Bach — https://www.goodreads.com/book/show/24113.GdelEscher_Bach Special Guests: Angel Jose, Dave Lucia, Greg Mefford, Melvin Cedeno, Todd Resudek, and Zach Thomas.
Today on the show, we’re joined by Mike Binns and Alex Garibay of DockYard. In this episode, Mike and Alex share their journeys of how they came to work at DockYard and give us a view into DockYard’s hiring and training processes, systems, and philosophies. Here they share what they enjoy most about working at DockYard and their emphasis on being supported in your continual growth as an employee and human being. Key Points from This Episode: Find out how Mike and Alex both got their jobs at DockYard in 2016. Working for a fully remote company: Mike and Alex share their experiences. The amount of languages used at DockYard and what the day-to-day looks like. React VS Ember: Find out DockYard’s opinion on the debate between the two. How to know whether you should be using JavaScript or Live View on your projects. The importance of inclusion and empowerment in the onboarding process at DockYard. How to support and train new employees in “soft” skills, such as communication. Personal strategies Mike and Alex use to help “soften the blow” of feedback and criticism. Discover what DockYard does to support the learning growth of their employees. Learn more about DockYard Friday and the exciting projects that have emerged from it. Helpful resources for learning Elixir and how to remain a curious learner as a developer. Find out the top skills that make a great engineering manager at DockYard today. Links Mentioned in Today’s Episode: Mike Binns on Twitter — https://twitter.com/1stAvenger Mike Binns on LinkedIn — https://www.linkedin.com/in/mikebinns Alex Garibay — https://alexgaribay.com/ Alex Garibay on Twitter — https://twitter.com/AlexGaribay Alex Garibay on LinkedIn — https://www.linkedin.com/in/alexandergaribay/ DockYard — https://DockYard.com/ SmartLogic — https://smartlogic.io/ RailsConf — https://railsconf.com/ Chris McCord — http://chrismccord.com/ Ember — https://emberjs.com/ Live View — https://support.google.com/maps/thread/11554255?hl=en Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/1617295027 Elixir Conf 2014 Keynote by Dave Thomas — https://www.youtube.com/watch?v=5hDVftaPQwY Sarah Drasner — https://sarahdrasnerdesign.com/ Lonestar Elixir — https://lonestarelixir.com/ Programming Phoenix — https://www.amazon.com/Programming-Phoenix-Productive-Reliable-Fast/dp/1680501453 Jason Goldberger — https://twitter.com/jsonlouis Special Guests: Alex Garibay and Mike Binns.
Today on Elixir Wizards we are delighted to be joined by Sean Lewis, a senior backend architect at Divvy. One of the many impressive facts about Sean is that he is entirely self-taught, from dabbling in Python and coding to eventually writing a bunch of Ruby tests and working his way up in the product development sphere. In his free time, he likes to play around with electronics and work on other tech-related projects such as developing custom smart home devices. In this episode, Sean discusses his recent Meetup talk on the implementation of Broadway and explains Divvy’s tech stack choices that include React, Elixir, and Python. He dives into the topic of hiring for Elixir, outlining the challenges and providing strategies and resources to equip new developers in the area of functional programming. For Sean, the most important aspect of onboarding is teaching newcomers to ask the right questions since this is the foundation of the problem-solving process. He shares about Divvy’s approach to recruitment, his role as mentor, how they go about retaining and continuously growing their developers, the importance of being teachable, and then Sean concludes by giving listeners practical advice for ensuring data fidelity. Key Points From This Episode: Sean’s self-taught journey and role as senior backend architect at Divvy. The smart home projects he has recently worked on, including a smart garage. An overview of Broadway and Sean’s Meetup talk regarding implementation. The straightforward tech stack at Divvy: React, Elixir, and Python. The difficulty of hiring for Elixir and finding fintech companies that use Elixir. Strategies and resources for training new engineers on Elixir and functional programming. Why fintech works well with functional programming in the context of authorization. Training state-minimization as a primary concern. Onboarding: a process of teaching developers to ask the right questions. Divvy’s approach to finding and recruiting new employees. Thoughts on why so many Utahn companies use Elixir and the city’s exponential growth. How Sean was recruited by Divvy, his progression to architect, and his role as a mentor. Critical practices for onboarding developers, including assimilating them into the culture. How Devvy continues to grow and retain its engineers. The importance of challenging yourself, constantly learning, and staying teachable. Implementing high-quality checkpoints and other advice for ensuring data fidelity. Links Mentioned in Today’s Episode: Sean Lewis on LinkedIn — https://www.linkedin.com/in/sean-lewis-40375077/ Sean Lewis on Twitter — https://twitter.com/fricsean?lang=en Sean Lewis on GitHub — https://github.com/SophisticaSean Divvy — https://getdivvy.com Ruby — https://www.ruby-lang.org/en/ Broadway — https://hexdocs.pm/broadway/amazon-sqs.html Utah Elixir Meetup — https://www.meetup.com/utah-elixir React — https://reactjs.org Elixir — https://elixir-lang.org Susumu Yamazaki on Twitter — https://twitter.com/zacky1972 Domain Modeling Made Functional — https://www.amazon.com/Domain-Modeling-Made-Functional-Domain-Driven-ebook/dp/B07B44BPFB Slack — https://slack.com/ MongoDB — https://www.mongodb.com PostgreSQL — https://www.postgresql.org Elixir Wizards Podcast — https://podcast.smartlogic.io SmartLogic — https://smartlogic.io/ Special Guest: Sean Lewis.
In line with our current working-with-Elixir theme, today we’re talking about performance with Paul Schoenfelder and Hans Elias Josephsen from DockYard. The two have been working on Lumen, and in this episode, they discuss how this project is incorporated with WebAssembly, a binary instruction format that ultimately allows Elixir to be run in the browser and preserve the semantics of the language. Paul and Hans talk about the specific aspects of Lumen they are working on; the data flow and process of writing Elixir; and the compiler, interpreter and run-time functions involved. Joining in this conversation, you will also hear how they approached starting developing Lumen as a brand new compiler, researching, the aspects Paul wanted to tackle first, and when users can expect Lumen to be released. We also talk about the performance concerns they encountered along the way, the many reasons why Rust was their programming language of choice, and their thoughts on generic associated types in Rust. Key Points From This Episode: • How Paul and Hans got introduced to Elixir and working for DockYard. • An overview of what Lumen is and how it relates to WebAssembly. • WebAssembly code to run Elixir in the browser and preserve the semantics of the language. • The different aspects of the Lumen project that Paul and Hans are involved in. • The data flow and process when writing Elixir and how the compiler function features. • Taking advantage of optimizations that can be performed on the code that is generated. • An explanation of the interpreter and run-time parts of the project. • How they approached the major task of starting with a brand new compiler. • The process of researching and why Paul wanted to get a frontend in place first. • The production readiness of Lumen and when they expect to release it. • Performance concerns they encountered during development. • The relevance of code size for the WebAssembly backend to be usable. • Why Rust was the best choice for building the compiler. • Using Elixir to generate a standard binary that can run on any machine. • A description of generic associated types in Rust and why they are controversial. Links Mentioned in Today’s Episode: Paul Schoenfelder on LinkedIn — https://www.linkedin.com/in/gotbones/ Paul Schoenfelder on Twitter — https://twitter.com/gotbones?lang=en Hans Elias Josephsen on Twitter — https://twitter.com/hansihe DockYard — https://dockyard.com Elixir — https://elixir-lang.org WebAssembly — https://webassembly.org Rust — https://www.rust-lang.org JavaScript — https://www.javascript.com C++ — http://www.cplusplus.com SmartLogic — https://smartlogic.io/ Special Guests: Hans Elias Josephsen and Paul Schoenfelder.
Today on the show we are joined by Sophie DeBenedetto from GitHub and Meryl Dakin from Frame.io to talk about the processes involved in training others and building Elixir projects. They share about studying and working together at the Flatiron School and what they do now in their respective new roles at Github and Frame.io. During their time at Flatiron, they worked on various projects, often collaborating with engineering teams from other companies and having to train these team members in Elixir. They talk about how they managed to develop new features while simultaneously onboarding new people and getting everyone on the same page. For them, the pair programming model had been most beneficial, and they discuss the habits and practices they implemented to encourage team members, optimize each learning experience, and share knowledge during training events. Sophie and Meryl also share the Elixir-specific challenges they encountered while developing applications for 2U, how Elixir’s failure-first programming capability guided them, how they prepare for training workshops, and the productivity hacks that keep them focused and energized. Key Points From This Episode: • How Sophie and Meryl know each other from working and studying at the Flatiron School. • Frame.io as a tool that facilitates the communication between video editors and clients. • Meryl’s new role as a full-stack developer working with Elixir and React. • The projects they worked on at Flatiron and partnering with various companies like 2U. • Their secret to developing new features while also introducing new team members to Elixir. • The benefits of pair programming and teaching a programming language to others. • Reserving time to celebrate wins and knowledge share during training events. • Key lessons they learned from their collaboration with the 2U team. • Elixir-specific challenges during the development of the applications project with 2U. • How Elixir’s failure-first programming capability ultimately helps developers. • Sophie and Meryl’s experience using LiveView at Flatiron and the problems encountered. • The work that went into preparing for training workshops. • Advice for teaching someone who is not technical to become a working developer. • Productivity hacks to stay focused and regain energy. Links Mentioned in Today’s Episode: Sophie DeBenedetto on LinkedIn — https://www.linkedin.com/in/sophiedebenedetto/ Sophie DeBenedetto on Twitter — https://twitter.com/sm_debenedetto Meryl Dakin in LinkedIn — https://www.linkedin.com/in/meryldakin/ Meryl Dakin on Twitter — https://twitter.com/meryldakin Eric Oestrich — https://oestrich.org Frame.io — https://frame.io GitHub — https://github.com Flatiron School — https://flatironschool.com Elixir — https://elixir-lang.org React — https://reactjs.org 2U — https://2u.com Kubernetes — https://kubernetes.io Ruby — https://www.ruby-lang.org/en/ Elixir School — https://elixirschool.com/en/ Drawing on the Right Side of the Brain — https://www.amazon.com/Drawing-Right-Side-Brain-Definitive/dp/1585429201 Etsy — https://www.etsy.com EMPEX NYC Conference — https://empex.co/nyc.html SmartLogic — https://smartlogic.io/ Special Guests: Meryl Dakin and Sophie DeBenedetto.
In today’s episode we have one of our favorite recurring guests, Brooklyn Zelenka, joining us once again! Brooklyn has been on the show in both the first and second seasons to speak about Elixir and functional programming. In those conversations, it came up that this topic is far from exhausted, and since Season 3's theme is working with Elixir, we thought it would be great to have Brooklyn on for a third time. Today, Brooklyn does not speak to Elixir specifically though, but on functional programming more broadly. Fission, her company which is working on developing next-generation hostless apps, actually uses Haskel, but Brooklyn has a ton of experience across the board. She gives us some great insights into what makes the functional versus OOP paradigm great and helps us to understand some of the inner workings of both worlds, talking about abstraction, application, data orientation, and more. Interestingly, Brooklyn does employ some imperative programming in her company through the use of Typescript, but uses a functional style to get around the context switch. We spend some time toward the end of the show digging deeper into macros, and Brooklyn helps to revise understandings of them as code which writes more code as well as clarifies the term 'homoiconic' as it relates to ASTs. Brooklyn covers a whole lot more today so hop on for a deep dive into functional programming with today's great guest. Key Points From This Episode: • Why Brooklyn uses FPE: it can be reused and reasoned about. • Two things that functions provide: abstraction and application. • Data orientation and hiding information: imperative vs functional paradigms. • Understanding imperative programming: it’s less structured and hard to reason about. • Challenges experienced imperative programmers face with functional programming. • Differences between Elixir, Erlang, Haskel, Elm, and Clojure. • Using Clojure: tradeoffs, distinctions, tooling, flexibility, and compatibility with Java. • The language Brooklyn could use if only one existed: Racket. • Bridging functional and imperative paradigms through disciplined use of style. • Segfaults in Haskell related to its compatibility with lib C. • How to use Musl instead of lib C by employing docker files. • Algebraic types and why static types aren’t hindrances in functional languages. • Preferences for tests or proofs and their role in finding types valuable. • Macros as compile-time functions that are difficult to debug. • A definition of a ‘homoiconic’: high-level syntax which represents the AST. • What makes C macros different from Lisp ones. • Architecture in Elixir and the need for a more user-friendly Haskell. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Brooklyn Zelenka on LinkedIn — https://www.linkedin.com/in/brooklynzelenka/ Fission — https://fission.codes/ Seven Languages in Seven Weeks — https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X Chris Keathley — https://keathley.io/ Hackers and Painters — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Paul Graham — http://www.paulgraham.com/ Special Guest: Brooklyn Zelenka.
Groxio is a great platform that allows programmers to learn new languages easily and broaden their horizons. Our guests today are the team behind Groxio, Bruce and Maggie Tate! In our discussion, we cover the basics and the not so basics of what they do, from how they got into the Elixir world and founded Groxio to the conferences they run and the books they have published. We also talk about the benefits of learning multiple languages and Bruce makes a strong argument for the influence that smaller coding languages have had on his Elixir skills. Maggie and Bruce open up about having a professional and personal partnership and how they manage their marriage and businesses side by side. To finish off we hear about all the exciting things to expect at the Lonestar Conference this year and how it is going to be even better than last year's! Key Points From This Episode: • Bruce and Maggie's background in Elixir and how they started Groxio. • What sets Groxio apart from similar technical education companies. • The inspiration that Bruce got from the Crystal and Pony languages. • How curiosity and dopamine are linked; following new and interesting pathways. • Maggie and Bruce's personal and professional partnership and how they manage it. • The Elixir books that still need to be written and under-appreciated published ones. • A guide to Bruce's books and which to read for particular applications. • Running a conference; the stressful and fun parts for Maggie and Bruce. • Aspirations for the conferences and what to expect at this year's events. • Exciting speakers that will be appearing at the Lone Star Conference. • The controversy around the new Lone Star bat logo! • A few special plugs from our guests for things they are passionate about. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Bruce and Maggie Tate — https://grox.io/about Bruce Tate on Twitter — https://twitter.com/redrapids Maggie Tate on Twitter — https://twitter.com/gardenertate Groxio — https://grox.io/ Gig City Elixir — https://www.gigcityelixir.com/ Lone Star Elixir — https://lonestarelixir.com/ Crystal — https://crystal-lang.org/ Pony — https://www.ponylang.io/ Joe Armstrong — https://joearms.github.io/ Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/161729201X Designing Elixir Systems — https://www.amazon.com/Designing-Elixir-Systems-OTP-Self-healing/dp/1680506617/ Andrea Leopardi — https://confengine.com/user/andrea-leopardi Special Guests: Bruce Tate and Maggie Tate.
On today's show, we are joined by Dan Ivovich from our team here at SmartLogic! Dan is the Director of Development Operations and has already been a guest and cohost a few times on the show. Today we are talking about hiring and training and his experience with these tasks at the company and especially concerning Elixir. We discuss the challenges Dan has faced in recruiting and the ways in which SmartLogic has lined up resumes and possible candidates through events and meetups. Dan explains some of the difficulties that are common for programmers transitioning into Elixir and how the company approaches the tasks of onboarding and ongoing support. We also get into Dan's favorite resources and tools for staying abreast of Elixir and his recommendations for practices to learn fast as a newcomer before he explains how he thinks about continual learning and expanding his own skillset. The conversation finishes with some thoughts and reflections on functional programming from our guest, so make sure to tune in for all of that and more! Key Points From This Episode: Dan's role at SmartLogic and how he leads the team. Recruiting new employees; collecting resumes and attending events. Challenges posed by recruiting good Elixir programmers and who to look for. Sticking points for people transitioning into Elixir from other languages. The stack at SmartLogic and the number of projects based in Elixir. Onboarding at the company; skills that are transferable to Elixir. Professional development and ongoing support for team members. Dan's favorite tools and resources for learning Elixir. Continual learning and Dan's strategies for growing his skillset. A simple definition of functional programming and Dan's early experiences with it. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Dan Ivovich — https://www.danivovich.com/ Dan Ivovich on Twitter — https://twitter.com/danivovich ElixirConf — https://elixirconf.com/events Java — https://www.java.com/ Ruby — https://www.ruby-lang.org/ Python — https://www.python.org/ Rails — https://rubyonrails.org/ Rust — https://www.rust-lang.org/ GO — https://golang.org/ Twitch — https://www.twitch.tv/ Bruce Tate — https://codesync.global/speaker/bruce-tate/ Scala — https://www.scala-lang.org/ Special Guest: Dan Ivovich.
We are happy to be joined in this episode by Eric Meadows Jönsson, creator of the hexpm package manager, and an amazing resource who works tirelessly to build the Elixir community. Eric presently works at Brex and was part of the core team at Forza previously. In keeping with our current topic of all things working with Elixir, Eric takes a deep dive into the work he is doing to optimize various interfaces at Brex. He gives us the rundown on the static compile-time checking project he is working on, talking about his aims to build in different warnings and what we can expect from the new release in that regard. You’ll also hear about Eric’s journey learning Elixir and how he had to change his OOP mindset when he got introduced to functional programming at university. He shares the story behind hexpm and Mint, his thoughts about the future of Hex, and some of the processes around accessing the private repositories on its website. We also hear more about Eric’s hiring procedure while working at Forza, how he teaches functional programming to students at ElixirConf, and some of the major performance bottlenecks he experiences using Hex. Tap into the incredible resource that is Eric and hear more about how you can link with him online to learn further in the future by tuning in! Key Points From This Episode: Jose Valim, the Ecto library, and Eric’s journey with Elixir since 2012 at a coding camp. Early-stage static compile-time checks that Eric is adding to the compiler at Brex. Whether the static compile-time checks Eric is adding constitute a type system or not. Static compile-time checks in the current system such as undefined function warnings. Features of the new static compile-time check release: refactored checks, etc. Currently, these checks happen at compile-time, or when Elixir compiles into the byte code. Whether these checks will move into BEAM: currently it’s in Elixir and at an early stage. The Erlang compiler already does type inference during compilation. Eric’s Erlang proficiency and why he had to brush up on it through using Elixir. What makes Eric helpful with Hex: his debugging skills and availability to answer questions. How Eric got started with Hex adding an intake for Git packages. The story behind Hex regarding ties to Elixir and Devinus from Pool Boy. Todd’s perspective on Eric as a smart and nice mentor who sleeps very little. Changes that Eric sees happening in Elixir. Hex will no longer support older Elixir versions so that it can enable better maintenance. Another change will be a refactoring of the resolution version algorithm. Security-related updates that Todd has been working on. Private versus public repositories on the hex.pm website. Hiring challenges at Forza and how Eric found the right team out of scarce people. Eric looks for people who love being programmers and have a passion for learning. Tactics Eric uses to train functional programming such as hosting ElixirConf workshops. Important fundamentals in functional programming: using data structures to model data, etc. Differences between functional and object-oriented programming: data vs classes. The role of types in Eric coming to understand functional programming better. Performance bottlenecks in Hex such as dependency resolution. How every package manager/resolver compromises, exemplified by NPM and Rebar3. Origins of Mint: wanting http2 support for Hex, and more. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Eric Meadows Jönsson on GitHub – https://github.com/ericmj Eric Meadows Jönsson on Hexpm — https://hex.pm/users/ericmj Brex — https://brex.com/ Todd Resudek on LinkedIn — https://www.linkedin.com/in/toddresudek Justus Eapen on LinkedIn — https://www.linkedin.com/in/justuseapen/ Eric Oestreich on LinkedIn — https://www.linkedin.com/in/eric-oestreich-8b55aab/ hexpm on GitHub — https://github.com/hexpm Google Summer of Code — https://summerofcode.withgoogle.com/ Jose Valim on GitHib — https://github.com/josevalim Pool Boy — https://github.com/devinus/poolboy Devin Alexander Torres — https://github.com/devinus Voitech — https://www.voitech.biz/ Hex — https://hex.pm/ hexpm specifications — https://github.com/hexpm/specifications Slack — https://slack.com IRC —https://hexchat.github.io/ Forza — https://www.forzafootball.com/women ElixirConf — https://elixirconf.com/events Chalmers University — https://www.chalmers.se/en/Pages/default.aspx Fastly — https://www.fastly.com/ NPM — https://www.npmjs.com/ Rebar 3 — https://github.com/erlang/rebar3 Mint — https://www.mint-lang.com/ Ruby Gems — https://rubygems.org/ Andrea Leopardi on GitHub — https://github.com/whatyouhide?tab=overview&org=ForzaElixir Special Guest: Todd Resudek.
Our guest on the show today is blogger, software cowboy, and podcast host Chris Keathley. Chris is a senior engineer at Bleacher Report, co-host of Elixir Outlaws, and writer of an assemblage of open-source software. He joins us today to speak about his new projects, his journey with functional programming, and what it is like to run Bleacher Report’s infrastructure on Elixir. Chris gives us the lowdown on Norm, a data validating interface he recently completed, weighing in on how it is different from Dialyzer and what it can offer as far as scalability. We hear more about how Chris got introduced to Elixir through Haskell, why he wishes he learned Clojure sooner, and why Ruby on Rails isn’t going anywhere soon. Chris also gets into the tradeoffs these languages make to correlate with Erlang. He argues that Elixir can only be more widely adopted if more people build cool things in it, and then lays out some of its power in supporting Bleacher Report’s user interface. We pick Chris’s brain about what his company is trying to optimize at the moment and hear about their preference for capacity over speed, and their techniques for failing gracefully during traffic spikes. Chris tells us how much he loves Elixir due to its use of ETS and other functionality which allows Bleacher Report to keep running even above capacity. Finally, we hear about some of the observability practices that Bleacher Report uses when deploying new systems and predicting future spikes. Plug in for a great conversation and hear why you should get building with Elixir now! Key Points From This Episode: Chris’s explanation of Norm, his new software that describes data moving through a system. Chris’s introduction to functional programming through learning Haskell, Clojure, and Elixir. What makes a great functional language: immutable data and first class functions. Things that make Clojure great, such as its thought out, holistic design. Characteristics of Cons lists versus RRB trees, and what makes the latter better. An acknowledgment of the necessity of the tradeoffs Elixir makes to interact with Erlang. A little bit about the language Chris wrote to do the admin of code challenges in. Why Ruby (on Rails) will not be replaced by Elixir due to commoditization that surrounds it. An argument that Elixir can only be more widely adopted if more people build with it. Why any language can build any program thus comparisons between them are arbitrary. Where Chris sets the bar as to when something is performant. Chris’s preference for high user capacity capability over speed of delivery at Bleacher Report. Optimization projects at Bleacher Report such as using few boxes and handling traffic spikes. Things Chris loves about Elixir such as its ability to deliver more from its boxes. Elixir’s use of ETS and how Chris coded a complex problem in half a day using it. How Chris detects spikes using time series, StatsD, and other observability tools. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on GitHub — https://github.com/keathley Chris Keathley Blog — https://keathley.io/ ElixirConf 2019, Contracts for Building Reliable Systems presented by Chris Keathley — https://www.youtube.com/watch?v=tpo3JUyVIjQ The Big Elixir 2019 - Keynote: Adoption - Brian Cardarella — https://www.youtube.com/watch?v=ghpIiQKRfQ4 Bleacher Report — https://bleacherreport.com/ Elixir Outlaws Podcast — https://elixiroutlaws.com/ Norm — https://github.com/keathley/norm Dialyzer — http://erlang.org/doc/man/dialyzer.html Haskell — https://www.haskell.org/ Clojure — https://clojure.org/ Erlang — https://www.erlang.org/ Chris Okasaki — https://github.com/chrisokasaki Discord — https://discordapp.com/company StatsD — https://www.datadoghq.com/blog/statsd/ Prometheus — https://prometheus.io/ Opentracing — https://opentracing.io/ Special Guest: Chris Keathley.
On today’s show, we welcome Justin Schneck and Frank Hunleth, luminaries from the Nerves team! We take a dive into the world of Nerves with them, covering themes of performance, problem-solving, transitioning to hardware, and breakthroughs in the field. We begin with a conversation on how Elixir handles performance issues on the range of devices they support and Frank gets into how the team solved an early boot time discrepancy between a PC and a Raspberry Pi board. Other big themes for today are ironing out the kinks in the system registry model and merging Erlang and into hard real-time. After squeezing some information out of the guys about their use of ugly code hacks we get into some visionary decisions as well as things the team wished they could have done differently at Elixir (see the release of the new networking stack). Finally, we end off with what Frank and Justin are excited about as far as developments in the Nerves community, so be sure to plug into this one! **Key Points From This Episode: What Justin did in Tokyo, from soaking in hot springs to debugging in Kanji. An explanation of The Erlang Ecosystem Foundation, an embedded systems working group. The use of the VintageNet library for setting up multi-hold nerve networks. How Elixir handles performance issues on the range of devices they support. A breakdown of troubleshooting processes as far as acceleration with FPGAs. Issues with dependencies that occur when starting a network node on a Nerves device. How Elixir is trying to evolve past the system registry model. Identifying the challenge of reconfiguring early boot time which Elixir is facing. How Elixir solved a load time discrepancy between a PC and the Raspberry Pi board. Which situations require hardware when Elixir is too slow, such as video encoding. Japanese research into GPU, FPGA and SIMD optimization involving wrapping code blocks. Merging Erlang which is soft real-time into hard real-time. Examples of ugly but fast code hacks in Elixir. Hacks and the pitfalls of system registry such as returning to a prompt when an app crashes. Things Elixir would have done differently in working with Nerves if could they rewind time. Why releasing a new networking stack means Elixir could have done things differently. Lessons Justin and Frank learned moving from OTP to functional programming at Elixir. Exciting new developments and releases in the Nerves community. Links Mentioned in Today’s Episode: Nerves Project — https://nerves-project.org/ SmartLogic — https://smartlogic.io/ ElixirConf US — https://elixirconf.com/events The Erlang Ecosystem Foundation — https://erlef.org/ GRiSP — https://www.grisp.org/ Vintage Net — https://github.com/nerves-networking/vintage_net Joe Armstrong — https://joearms.github.io/ Erlang — https://www.erlang.org/ Linux — https://www.linux.org/ Special Guest: Frank Hunleth.
Our theme this season is working with Elixir, and joining in the conversation today is Brad Traylor from Podium. Brad shares his expertise in hiring and training for Podium, a position he is passionate about since it gives him the opportunity to work on the people and tech side of things. We begin by hearing a bit of Brad’s background, when and how he was first introduced to Elixir and the standout qualities that attracted him to Podium. He discusses the hiring process, including what he looks for in an engineer, why they don’t recruit much but rather work with referrals, the step-by-step of onboarding new devs and the resources he recommends to anyone in the industry. Another great talk with a stand-up guy — be sure to tune in! Key Points From This Episode: When Brad was first exposed to Elixir and how he became the engineering manager. Searching for rocket ship startups and what specifically drew him to Podium. Having a desire to work with the people and the tech side of the industry. The growth trajectory of Podium from a management perspective. Hiring predominantly from referrals rather than recruiting developers. The biggest challenge with hiring Elixir devs, including the scarcity of good ones! Two things Brad looks for when hiring engineers: the drive to learn and a cultural fit. The benefit of hiring younger developers. Thoughts on training different languages and adding them to Podium’s tech stack. An overview of the typical onboarding process for a new engineer. Elixir 101 and other ways they keep training and refining the skills of developers. Resources that Brad has recently learned and those he always recommends to devs. **Links Mentioned in Today’s Episode: Brad Traylor on LinkedIn — https://www.linkedin.com/in/bradtraylor Brad Traylor on Twitter — https://twitter.com/btjordan23 Podium — https://www.podium.com SmartLogic — https://smartlogic.io/ Elixir — https://elixir-lang.org University of Michigan — https://umich.edu Java — https://www.java.com/en/ Python — https://www.python.org Rust — https://www.rust-lang.org Ruby — https://www.ruby-lang.org/en/ TypeScript — https://www.typescriptlang.org Pragmatic Institute — https://www.pragmaticinstitute.com/courses The Manager’s Path — https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth-ebook/dp/B06XP3GJ7F Camile Fournier — https://twitter.com/skamille Special Guest: Brad Traylor.
Today on Elixir Wizards we are joined by none other than José Valim, the inventor of Elixir! Coming from the Ruby on Rails world, José found his way to functional programming and we hear all about the evolution of his philosophy and thought process around the time of the creation of the language. He gives us some great insight into why functional programming is so appealing to him and the problems he wanted to solve by creating Elixir. We chat about other languages and his use of Erlang, Elixir's three biggest influences and some important characters in the story. José also shares a bit of personal, behind the scenes stuff about his schedule and how he tries to stay as productive as possible. We finish off the chat, talking about performance and the measures José has taken in this regard. For all this and more from a true Elixir wizard, be sure to tune in! Key Points From This Episode: José's thoughts on our recent podcast name-change! The first steps for José in the process of writing a language. Reason for José's decision to step out of the Ruby on Rails world. The 'aha' moment that José had when moving into functional programming. Some of the inspiration for Elixir from other languages. A few of the people that have mentored and inspired José in his career. The research and development phase for Elixir and José strategy for this. José's work habits, his typical day and the influence of his kids on his flow. Why José still considers himself an Elixir programmer despite his proximity. Elixir and machine learning; why the two are not more closely linked. Steps in the measurement process for José and Elixir. The time that José has spent on the performance side of the language. Sacrifices and substitution in optimizing Elixir's performance. Some of the things on the horizon that are exciting José. Links Mentioned in Today’s Episode: SmartLogic (https://www.smartlogic.com) José Valim (https://github.com/josevalim) Plataformatec (http://plataformatec) Harry Potter (https://www.wizardingworld.com/) Erlang (https://www.erlang.org/) Ruby (https://www.ruby-lang.org/en/) Clojure (https://clojure.org/) ElixirConf (https://elixirconf.com/events) Special Guest: José Valim.
Welcome to Elixir Wizards, today we are joined by Dr. Jim Freeze to talk about his passion for and history in Elixir and functional programming. Dr. Freeze is one of the organizers of one of our favorite things in the world, Elixir Conf! He shares his story of coming to functional programming and his early days with Elixir, what he sees as the most important aspects of the conference before diving into what is on offer for those that attend. We talk about how employers can get Elixir newcomers up to speed on the language and the most effective ways Dr. Freeze stays abreast of developments in the field. Our guest also recommends a few resources for those wanting an introduction to Elixir and makes a great argument for the usefulness of a functional approach to programming. For all this and a whole bunch more, join us today! Key Points From This Episode: How Dr. Freeze got started with Elixir and his programming background. A little bit about the early days of Elixir Conf and what the first events were like. The particulars of Dr. Freeze's doctorate and his title. Education, networking and how Elixir Conf fits into the developer hiring game. The training that is offered at the conference and the philosophy to serving attendees. Dr. Freeze's recommendations for employers bringing newbies up to speed with Elixir. How our guest continues his learning and stays focused on what is necessary. Useful resources and materials for Elixir, according to Dr. Freeze. Contemplating functional programming and its key components. Why to consider functional programming coming from an object-based background. The biggest hurdles in moving over to functional programming and Elixir. Following the data and how much the simplicity of this directive can help. Dr. Freeze's favorite thing in the functional world! Links Mentioned in Today’s Episode: SmartLogic (https://www.smartlogic.com) Dr. Jim Freeze on Twitter (https://twitter.com/jimfreeze) ElixirConf (https://elixirconf.com/events) Sophie DeBenedetto (http://sophiedebenedetto.nyc/) Elixir Radar (https://elixirnation.io/references/elixir-radar-weekly-newsletter-on-elixir) Phoenix In Action (https://www.amazon.com/Phoenix-Action-Geoffrey-Lessel/dp/1617295043) Geoffrey Lessel (http://www.apple.com) Saša Jurić (https://codesync.global/speaker/sasa-juric/) Sandi Metz (https://www.sandimetz.com) Special Guest: Dr. Jim Freeze.
Welcome back to Season 3! Our theme this time around is Working with Elixir. Listen for more on our theme, upcoming guests, and our new name.
Welcome to the last episode of Season 2 of the podcast! We are taking this opportunity to recap what we covered in the season and talk about what we liked and what we didn't like so much. We do not have a guest for today's show so it is just Eric and Justus doing some reflection. We do want to take this opportunity to thank all of our guests that have appeared on this season and shared their expertise with us, we definitely feel we learned a lot during this time! In Season 3 we will be focussing on functional programming, performance and teaching Elixir, so make sure to keep an eye out for when that drops in the future! Key Points From This Episode: The possibility of longer episodes for next season Reflections on ElixirConf and the time we spent there this year. The upcoming conference in New Orleans that Eric is keynoting. Thoughts on the future of the podcast and the promise of Season 3. Reach out! We want to hear from you! And much more! Links Mentioned in Today’s Episode: SmartLogic — https://www.smartlogic.io Brooklyn Zelenka — https://github.com/expede Bryan Joseph — https://github.com/bryanjos Paul Schoenfelder — https://github.com/bitwalker Meryl Dakin— https://github.com/meryldakin René Föhring— https://twitter.com/rrrene Michal Muskala — https://michal.muskala.eu/ Todd Resudek — https://www.linkedin.com/in/toddresudek/ Shanti Chellaram— https://github.com/shantiii Sophie DeBenedetto — http://sophiedebenedetto.nyc/ Dave Lucia — https://www.linkedin.com/in/david-lucia-a395441b ElixirConf — https://elixirconf.com/2019 The Big Elixir — https://www.thebigelixir.com/ Le Petit Theatre — http://www.lepetittheatre.com Lone Star Elixir — https://www.lonestarelixir.com The Empire Strikes Back — https://www.rottentomatoes.com/m/empirestrikesback
Our guest today on the show is Dave Lucia, who is currently the Vice President of Engineering at SimpleBet. He is here as part of Elixir Internals series, to talk to us and all our listeners about Rustler and the contribution he made to the library! According to our guest, Rustler acts as a bridge between Rust and Elixir and allows users to employ the power of Rust within Elixir and a great example of this can be found in Dave's work at SimpleBet. He explains some of this application and the functionality and improvement it offers and the big difference the machine learning models make to this work. Dave also gives us some background to his work and career, previous employment and early explorations of open-source software. He also shares some great tips for problem-solving and learning and improving at programming in Rust. We unpack some of the biggest challenges that faced the creation of Rustler, notable differences between Rust and Elixir and the technical components of the library that the team created. For all this and then some, join us for this great episode! Key Points From This Episode: More about our guest and his current work at SimpleBet. How Dave got started with Elixir while at Bloomberg. The interesting and beautiful way in which The Outline used Elixir. Dave's early forays and experiences with open source software. Problem finding and solving; Dave's tips to those wanting to improve. Dave's employers' contribution and allowance for open source projects. Introducing Rustler and what users can do with it! The biggest challenges of using multiple languages in the backend. How Rustler works; the core, the code generator and more. The most important differences between Rust and Elixir. Dave's best advice and resources for learning and mastering Rust. And much more! Links Mentioned in Today’s Episode: SmartLogic — https://www.smartlogic.io Dave Lucia — https://www.linkedin.com/in/david-lucia-a395441b Rustler — https://github.com/rusterlium/rustler SimpleBet — https://simplebet.io Dave Lucia on Twitter — https://twitter.com/davydog187 Dave Lucia Email — dave@simplebet.io Elixir — https://elixir-lang.org Python — https://www.python.org JavaScript — https://www.javascript.com Rust — https://www.rust-lang.org Bloomberg — https://www.bloomberg.com Slack — https://slack.com Vox Media — https://www.voxmedia.com The Outline — https://theoutline.com The Rust Programming Language — https://www.amazon.com/Rust-Programming-Language-Steve-Klabnik/dp/1593278284 Rust Playground — https://play.rust-lang.org Elm Compiler — https://github.com/elm/compiler Special Guest: Dave Lucia.
This season on Smart Software Season 2, we are focused on the inner workings of Elixir and the inner workings of popular Elixir libraries, or Elixir internals. Today, I have the pleasure of interviewing my colleague, Eric Oestrich who's responsible for the wildly successful Elixir MUD framework ExVenture. ExVenture - https://exventure.org/ MUDs - https://en.wikipedia.org/wiki/MUD Ecto - https://github.com/elixir-ecto/ecto Eric's Going Multi-Node presentation at ElixirConf - https://www.youtube.com/watch?v=lCUKQnkjajo The Big Elixir - https://www.thebigelixir.com/ Eric's Prometheus presentation at Lonestar Elixir - https://www.youtube.com/watch?v=ETUD9SaRCjY Prometheus - https://prometheus.io/ Go - https://golang.org/ Celluloid - https://celluloid.io/ Phoenix - https://phoenixframework.org/ Grapevine - https://grapevine.haus/ Gossip - https://mudcoders.com/gossip-the-mud-chat-network-3156cf24edf/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
Welcome to another episode of the podcast everybody! As we continue our journey into Elixir internals in Season 2, we welcome Sophie DeBenedetto to tell us about the two libraries she and the Flatiron School created! We talk about Encrypt and Railway and a bunch of other great stuff from the world of Elixir and open source and Sophie shares so much about why she is particularly excited about things at the moment. She talks about the maturation of the Elixir community and her first and most important open-source experiences before diving into her hopes for the future of these platforms. We also discuss the ins and out of the two libraries and our guest does a fantastic job of explaining their functions and the reasons they were built. Sophie shares the major challenges that faced her and the team in creating them and a whole lot more, so make sure to tune in today for all this great information! Key Points From This Episode: A brief introduction to Sophie's career, the Flatiron School and her Elixir work. Sophie's first experiences with open source, contributing to the Elixir School. Flatiron's support of open source and their attitude towards the growth of engineers. Why Elixir and Ruby are such important languages to Sophie and Flatiron. Sophie's wishes for Elixir and what she wants to see more of in the community. Introducing Encrypt and Excrypt for Elixir and why Flatiron chose to build them. The hardest parts of building the library, the challenges of encryption. Elixir's built-in option parser; convenience and accessing data easily. The Railway hex package and what it enables users to do. Breaking down the functions of RabbitMQ for Erlang. The two things that Sophie is most excited about in the Elixir space right now! And much more! Links Mentioned in Today’s Episode: Sophie DeBenedetto — http://sophiedebenedetto.nyc/ Flatiron School — http://sophiedebenedetto.nyc/ Elixir School — https://elixirschool.com/en/ Encrypt — https://github.com/flatiron-labs/encrypt Escript — https://hexdocs.pm/mix/master/Mix.Tasks.Escript.Build.html Ruby — https://www.ruby-lang.org/en/ Kafka — https://kafka.apache.org Ecto — https://hexdocs.pm/ecto/Ecto.html Erlang — https://www.erlang.org RabbitMQ — https://www.rabbitmq.com Phoenix — https://phoenixframework.org LiveView — https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-apps-no-need-to-write-javascript Elixir Conf — https://elixirconf.com/2019 Special Guest: Sophie DeBenedetto.
Today on the show we welcome Shanti Chellaram to talk about a couple of Erlang libraries she has created! We hear from her about Pri-Queue and rafterl, and her motivation behind making them and some of the things we wishes she did differently! Shanti shares some of her background, early coding experiences, affinity for open source and her current work situation. From there we look at Pri-Queue, the problem it addresses and what a priority queue is. A highlight of the show is Shanti giving the best explanation of a bootstrapped skew binomial heap we have heard before explaining some of the main issues she faced in creating Pri-Queue. We then turn to rafterl, how she got started with it and her hopes for its future. Throughout the conversation Shanti shares her philosophy towards open source and coding going forward as well as offering advice for newcomers to Erlang. Make you you join us for this fantastic episode! Key Points From This Episode: A little bit about Shanti's background and current employment. Shanti's early experiences and what got her into open source software. Some coding decisions that Shanti would make differently in retrospect. The problem that Pri-Queue solves; the dearth of data efficient libraries. What is a priority queue? Ordering your data with scores. Shanti explains a bootstrapped skew binomial heap! Some of the hurdles that Shanti faced in writing Pri-Queue. How Shanti got started on her other library, raft_erl. The three Raft protocols and how much of it is implemented in the library. Shanti's next goals for raft_erl; bug free and widely used. The importance of distributed systems and Shanti's philosophy looking to the future. Advice for someone just starting out in Elixir! And much more! Links Mentioned in Today’s Episode: SmartLogic — https://www.smartlogic.io/ Shanti Chellaram Linkedin— https://www.linkedin.com/in/shanti-chellaram-495444187 Shanti Chellaram on Twitter — https://twitter.com/theccoder Shanti Chellaram on github — https://github.com/shantiii Erlang — https://www.erlang.org/ Elixir — https://elixir-lang.org/ Pri-Queue — https://github.com/okeuday/pqueue rafterl — https://github.com/shantiii/rafterl MailChimp — https://mailchimp.com Teachers Pay Teachers — https://www.teacherspayteachers.com/ Purely Functional Data Structures — https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki-ebook/dp/B00AKE1V04 Rust — https://www.rust-lang.org/ Raft — https://raft.github.io/ Raspberry Pi — https://www.raspberrypi.org/ ElixirConf — https://elixirconf.com/2019 Partisan — https://partisan.cloud/ Special Guests: Dan Ivovich and Shanti Chellaram.
Today on the show we are joined by Michal Muskala, who is currently a freelance software engineer and he is here to talk to us about his work on the Ecto and jason libraries. With Ecto we continue our journey into Elixir and Michal explain how he became involved in the project and the work he did on it. He explains a little of its inner workings, issues and what excited him about it initially. We then turn to jason, a widely popular library that Michal created for parsing JSON. Michal unpacks its particulars, differentiating for us between the driver and adapter and the lessons he learned working on them. The last bit of our conversation is spent talking about open source and Michal's commitment to its philosophy. We discuss making time to work on projects, buy in from employers and and why getting involved can be scary yet is so important! For all this and more, join us for this great episode! Key Points From This Episode: A little bit about Michal's work background and how he got started on Elixir. The parts of Ecto that Michal worked on at Google Summer of Code. Differentiating between the driver and the adapter; communicating with the database. Structuring the code and what Michal would do differently now. Creating jason, the default JSON parser and the impetus behind it. Understanding lexing and tokenizing; largely the same thing with different names. Macros on jason and forcing the VM to use optimizations in particular cases. Performance on jason; how Michal achieved the speeds he did. Michal's path to open source software and what followed his work in MongoDB. Finding time to work on open source projects while employed. BEAM, alternative implementations and why they are important. Michal's call to action for our listeners! And much more! Links Mentioned in Today’s Episode: SmartLogic — https://www.smartlogic.io/ Elixir — https://elixir-lang.org/ Michal Muskala — https://michal.muskala.eu/ Michal Muskala on Twitter — https://twitter.com/michalmuskala?lang=en Ecto — https://hexdocs.pm/ecto/Ecto.html jason — https://github.com/michalmuskala/jason Google Summer of Code — https://summerofcode.withgoogle.com/ MondoDB — https://www.mongodb.com/ Erlang — https://www.erlang.org/ Binary Optimization in Erlang Documentation — https://rhye.org/post/erlang-binary-matching-performance/ (Please verify link) BEAM — https://blog.stenmans.org/theBeamBook/ Erjang — https://jaxenter.com/introducing-erjang-erlang-for-the-jvm-108005.html Atom VM — http://atomvm.sourceforge.net/ Special Guest: Michał Muskała.
Today on the show we get stuck into the inner workings of Hex 1.0 and are happy to be joined by returning guest, Todd Resudek. As you might already know, Todd is the Senior Software Engineer at Weedmaps, a regular speaker on the conference scene, and one of the three core team members at Hex. With the total downloads sitting at 641 million, the Hex community is growing rapidly and shows no signs of slowing down. In this episode, we discover what makes the Hex packages some of the most popular packages out there today, as well as the new and improved features currently in the pipeline. In addition, we find out how Todd first got involved with the Hex team and how the team makes decisions and problem solves. Key Points From This Episode: Transferring a new library into an old ecosystem. Todd’s challenges learning Elixir and Hex. Learn more about the functions of Alphabetify. An introduction to the uses of ETS storage. Contributing to Open Source while working at Weedmaps. Discover how Todd got involved with the Hex team. Learn more about the different faces of Hex. Find out how decisions are made within the Hex team. Just how busy is the Hex community right now? The top five underground features of Hex. Discover the latest features now available on Hex. Find out what new Hex features are in the pipeline. And much more! Links Mentioned in Today’s Episode: Todd Resudek — https://www.linkedin.com/in/toddresudek/ Weedmaps — https://weedmaps.com/ Hex — https://hex.pm/ rebar3 — https://www.rebar3.org/ Alphabetify — https://hex.pm/packages/alphabetify ETS — https://elixirschool.com/en/lessons/specifics/ets/ Elixir Mix Podcast — https://devchat.tv/elixir-mix/ Voitek — https://voitekk.com/ Erlef Erlang Ecosystem Foundation — https://erlef.org/ Crates — https://crates.io/crates/hex Smart Software with SmartLogic — https://podcast.smartlogic.io/ Nerves MeetUp on Twitter — https://twitter.com/nervesmeetup The Big Elixir — https://www.thebigelixir.com/ Special Guest: Todd Resudek.
In this episode of the podcast we are joined by Chris Keathley to continue our exploration of Elixir internals as he tells us about two very popular libraries that he developed, Wallaby and Raft. We start off with some background and his initial experiences with Elixir and open source projects before diving into Wallaby and some of the biggest lessons that Chris learned during and after his work on the library. Chris does a great job of explaining concurrent tests and the Sandbox and some of the reasons he has pretty much stopped working on the front end of projects. From there we move onto another one of Chris' exciting projects, Raft! In order to introduce the library, Chris explains more about consensus algorithms, Leslie Lamport and his groundbreaking work on Paxos. Raft is, in some ways, a simplified, more accessible version of Paxos for Elixir and Chris goes on to give a brief rundown of its inner workings. For this great conversation with a great guest, join us today! Key Points From This Episode: Chris' background, history with Elixir and his current employment. How Chris got started with open source work. Why Chris has moved away from front end work in the last while. The major lessons Chris learned while building Wallaby. How the concurrent tests work on Wallaby and the Sandbox. Why Chris is still excited about Raft, even though he hasn't touched it in a while. Explaining Raft, consensus algorithms and Paxos. How the Raft library actually works; building Raft systems and processes. Where to find and connect with Chris online! And much more! Links Mentioned in Today’s Episode: SmartLogic — https://www.smartlogic.io/ Chris Keathley — https://keathley.io/ Chris Keathley on github — https://github.com/keathley Bleacher Report — https://bleacherreport.com/ Wallaby — https://hexdocs.pm/wallaby/Wallaby.html Raft — https://raft.github.io/ Erlang — https://www.erlang.org/ Slack — https://slack.com/ Leslie Lamport — http://www.lamport.org/ Paxos Made Live — https://blog.acolyer.org/2015/03/05/paxos-made-live/ Elixir Outlaws Podcast — https://elixiroutlaws.com/ Special Guest: Chris Keathley.
Welcome back to the SmartLogic Podcast where we talk about the latest developments and best practices in the web and mobile software industry. In continuing with our theme of Elixir Internals, we’re having a conversation about the inner workings of one of the most popular Elixir libraries, Credo, and we are joined by the author René Föhring. René shares the story of how he was introduced to Elixir while doing his PhD and looking for a new programming language and then shares the philosophy and inspiration Credo was developed on. Wanting Credo to be a less rule-based, authoritative code analysis tool and more user friendly, René focused on creating it to act as a type of digital mentor to the many developers out there who do not have a human mentor. He also shares about some of the launching hiccups, what he would have done differently had he been given another opportunity and some of the most important lessons that he has learned working in the open source community. Be sure to join us for all the inside info! Key Points from This Episode: More about René’s job as head of product development at 5 Minds and what they do. What he does in his free time: open source maintenance and conference speaking. How he got started with Elixir and wanting to learn a new programming language. What Credo is all about, why you’d want to use it and what makes it different. The inspiration behind writing Credo and wanting a more positive, less dogmatic tool. Starting off building on Dogma but then pivoting and going in an independent direction. The hiccups René experienced when first releasing Credo and what he’d do differently. The different checks in Credo and how they function and respond to issues. How Elixir 1.6 impacted the development of Credo. What’s new with the Credo 1.1 release? René’s experience working with open source and the first library he contributed to. Important lessons he has learned by being part of the open source community. And much more! Links Mentioned in Today’s Episode: Elixir — https://elixir-lang.org/ Credo — http://credo-ci.org/ René Föhring on Twitter — https://twitter.com/rrrene?lang=en 5 Minds IT – Solutions — https://www.5minds.de/ GitHub — https://github.com/ Ruby — https://www.ruby-lang.org/en/ Go — https://golang.org/ Cplusplus — http://www.cplusplus.com/ StyleCop — https://github.com/StyleCop/StyleCop Dogma — https://github.com/lpil/dogma Hex — https://hex.pm/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: René Föhring.
Today on the show we continue our series on the inner workings of several different Elixir libraries and are happy to be joined by Meryl Dakin, Software Engineer at the Flatiron School and author of Token Alchemist. In this episode, we discover how Meryl got started with Elixir and what the process was like for her transitioning from Ruby to Elixir. We learn more about the internal functions of Token Alchemist within the school context and discuss the unique opportunities Meryl has discovered in Elixir, as well as the trickier language features that programmers are likely to experience in their learning process. Meryl also shares the challenges that Token Alchemist attempts to overcome – delving deeper into LTI, the Learn.co platform, OAuth and JSON. For all this and more, be sure to click play! Key Points From This Episode: Discover why Meryl first got started with Elixir. Learn more about the Flatiron Bootcamp for coders. Meryl’s experience in transitioning from Ruby to Elixir. The opportunities for concurrency and fault tolerance in Elixir. Discover the top three tricky language features in Elixir. The benefits of going back to the basics of Elixir. Find out the problems that Token Alchemist attempts to solve. Meryl explains LTI and the Learn.co platform for students. Learn more about custom parameters in Token Alchemist. The process of learning OAuth in Token Alchemist. What to consider when using LTI in Elixir. The benefits of resource link history ID’s in the LTI spec. Opportunities for you with Token Alchemist. And much more! Links Mentioned in Today’s Episode: We Work — https://www.wework.com/ Flatiron School — https://flatironschool.com/ Elixir — https://elixir-lang.org/ Ruby — https://www.ruby-lang.org/en/ Learn.co — https://learn.co/ Meryl on LinkedIn — https://www.linkedin.com/in/meryldakin/ Meryl on Twitter — https://twitter.com/meryldakin Meryl on GitHub — https://github.com/meryldakin Token Alchemist on GitHub — https://github.com/meryldakin/token_alchemist Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Meryl Dakin.
Welcome back to show everyone and today in our exploration of Elixir libraries we are talking to Paul Schoenfelder! He is here to unpack Distillery, his own creation from the world of Elixir and tell us about how it works. We also discuss how Paul made the transition from bigger corporations into the startup world, his early experiences of different coding languages and the initial steps he took in writing Distillery. Paul is very honest about the unclear future of the library and he shares his hopes for it for the short term as well as clarifying its key concepts and functions. He gives great advice and directions for learning more about the resource and how you can help him and his projects out if you use them. For all this and then some, be sure to join us today for the show! Key Points From This Episode: * Paul's work background, language history and the last few years working Elixir. * The first library that Paul contributed to and created on his own! * What brought about the creation of Distillery. * Clarifying releases, compiling, generating, deployment and more. * Where to learn more and find out details about the library. * The first steps Paul took when writing this latest version of the Distillery. * Looking to the future of Distillery and its current best use cases. * Hot upgrades and who they can be useful to when it comes to Elixir. * Let Paul know if you are using or want to contribute to a project of his! * And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ Paul Schoenfelder — https://github.com/bitwalker Bitwalker — http://bitwalker.org/ Distillery — https://hex.pm/packages/distillery DockYard — https://dockyard.com/ Erlang — https://www.erlang.org/ Phoenix — https://phoenixframework.org/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Paul Schoenfelder.
Today on the show we continue our series on the inner workings and various libraries of Elixir and are very happy to welcome Bryan Joseph of Revelry to talk about his very own ElixirScript. ElixirScript is essentially an Elixir to JavaScript compiler, allowing users to run Elixir online more easily. We ask Bryan what inspired this project and about some of the major challenges that have faced it. We also talk about the role of his company, Revelry in his career and work in open source. Bryan tells us about his very own conference, The Big Elixir and why you should be traveling to New Orleans to check it out! Other topics covered include the architecture of ElixirScript, binary pattern matching, Bryan's other experiences of libraries and his hopes for ElixirScript's future. For all this and then some, be sure to listen in today! Key Points From This Episode: Some background on Bryan, his work and how he got started with Elixir. What is ElixirScript? What does it do? How Brian got the idea! ElixirScript's architecture; the inner workings of the compiler. The major problems and challenges that face this task with JavaScript. Step one in the process; the conversion of concepts. Binary pattern matching and the implementation of strings. The things Bryan would do differently looking back on the product. Bryan's other experiences of libraries, contributions and fixes. Marketing, posting and getting the word out on ElixirScript. The current state of the project and hopes for the future. A little bit about The Big Elixir and what sets it apart from other conferences. And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ ElixirScript — https://elixirscript.github.io/ Bryan Joseph — https://github.com/bryanjos Revelry — https://revelry.co/ The Big Elixir— https://www.thebigelixir.com/ Metaprogramming Elixir — https://www.amazon.com/Metaprogramming-Elixir-Write-Less-Code/dp/1680500414 Chris McCord — http://chrismccord.com/ Erlang — https://www.erlang.org/ ElixirCon — https://www.elixirlabs.net/events/elixircon-2018 Lonestar Elixir — https://www.lonestarelixir.com/ Operation Spark — https://operationspark.org/ Flatiron — https://flatironschool.com/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Bryan Joseph.
Hey everybody and welcome back to Season 2 of the podcast! This season we will be talking about Elixir internals, libraries and the inner workings of the language. In our first episode we are very happy to be joined by Brooklyn Zelenka to start off our journey on the subject with an exploration of her very own Witchcraft. In this episode we talk to Brooklyn about her history with Elixir, how she got started and what attracts her to it. Brooklyn explains the influence that open source philosophy has had on her career in developing and from there she gives a pretty comprehensive introduction to what Witchcraft is, expanding its key concepts. Although this is quite a high level discussion about Elixir and Witchcraft, we are confident that with Brooklyn's expert help even our most uninitiated listener can get some benefit from our conversation. We also talk about type systems, property-based checking and Dialyzer, so for all of this and more make sure to join us as we kick things off for Season 2! Key Points From This Episode: A quick introduction to Brooklyn, where she works and how she got started with Elixir. The influence of open source and library contributions on Brooklyn's development. Getting to grips with Witchcraft; defining monads and functors. Why some of these scary terms do not need to frighten you. A few little things that differentiate Witchcraft and some surprising elements. The convenient guarantees that Witchcraft provides around your data structure. Why there is no type system baked into Elixir; overheads, inputs and outputs. Property-based checking and compile times in Witchcraft. Merging of Elixir and Dialyzer; benefits and problems. Getting in touch with Brooklyn and getting involved with Witchcraft and Elixir. And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ Brooklyn Zelenka — https://github.com/expede Brooklyn Zelenka on Twitter — https://twitter.com/expede Brooklyn Zelenka Email — hello@brooklynzelenka.com Fission — https://fission.codes/ Elixir — https://elixir-lang.org/ Witchcraft — https://hex.pm/packages/witchcraft Dialyzer — https://github.com/jeremyjh/dialyxir Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Brooklyn Zelenka.
We’re excited to announce our season two topic, Elixir Internals. In this season we talk with developers behind some of the most popular Elixir libraries, including Witchcraft, ElixirScript, Distillery, Ecto, and more!
With this season over, we bring Dan Ivovich back to talk about what we learned. Dan Ivovich - Director of Development Operations @ SmartLogic 00:43 - Why are you using Elixir in production? 01:20 - Advantages / disadvantages of Elixir 02:38 - How do you deploy? 03:48 - Zero downtime deploys 05:40 - Clustering 06:56 - Elixir App performance 09:00 - Background task processing 10:36 - Common Libraries 14:40 - 3rd Party Services 16:16 - Do you have a story where Elixir saved the day in production? 17:56 - OTP features 18:31 - Tip to developers Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Dan Ivovich.
We talk with Jeffrey Matthias from Community about their current and past Elixir projects and how they are deployed. Jeffrey Matthias - Community (https://www.community.com/) Find Jeffrey elsewhere online: http://github.com/idlehands https://twitter.com/idlehands 0:47 - Give us a quick overview of the Elixir projects you have in production. 3:29 - Why are you using Elixir in production? 6:04 - What are some of the high level advantages / disadvantages of Elixir, from your perspective? 10:14 - What do you use to host your Elixir app? Linode, AWS, DO Heroku Enmesos mesos How do you deploy your application? Ansible Deploy scripts Distillery 14:19 - Are you able to get zero downtime deploys? If so, how? 17:06 - Do you cluster the application? If so, how? 22:53 - How does your Elixir App perform compared to others in your environment? Response time Throughput Jobs/hr 25:01 - How are you solving background task processing? 29:17 - What libraries are you using? Phoenix 33:53 - Third party apps 37:28 - Do you have a story where Elixir saved the day in production? 40:42 - If you could give one tip to developers out there who are or may soon be running Elixir in production, what would it be? Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Jeffrey Matthias.
We talk with Jay Ashe from Cava about their current and past Elixir projects and how they are deployed. Jay Ashe - Cava (https://cava.com/) Find Jay elsewhere online: https://twitter.com/jgashe 0:40 - Give us a quick overview of the Elixir projects you have in production. CAVA is a fast-casual mediterranean restaurant chain with 75 stores across the US. Elixir and phoenix power CAVA’s online ordering platform (order.cava.com and the CAVA app). We’ve got a REST (and websockets) api sitting behind react and our mobile apps, and we use phoenix templates for some of our back of house systems. 1:11 - Why are you using Elixir in production? We have from the start! The application was originally implemented by Chris Bell and his team at madebymany. Chris, by the way, has a fantastic talk from ElixirConf 2016 that goes into our architecture and how we use elixir and OTP constructs to model our business logic. Chris will occasionally talk about the CAVA project on his Elixir podcast, ElixirTalk. Chris’ Talk - https://www.youtube.com/watch?v=fkDhU-2NWJ8 (https://www.youtube.com/watch?v=fkDhU-2NWJ8) 1:58 - What are some of the high level advantages / disadvantages of Elixir, from your perspective? Advantages: Elixir and Phoenix gives you rails-esque productivity/developer experience that scales. I think phoenix channels are a great example of this. Build a channel with complex real-time functionality and let it scale effortlessly. Disadvantages: Hiring and onboarding, depending on your mindset, can be difficult. If you’re used to hiring for experience in your stack, its just going to be more difficult. Lately we’ve started doing one-hour weekly knowledge shares that cover elixir basics and are closely tied to our usage of them. So, here’s a test case, and here are all of the test helpers that we have set up that will help you write that test. We also just sent a new Elixir dev to lonestar elixir 3:59 - What do you use to host your Elixir app? Heroku How do you deploy your application? Heroku-buildpack-elixir https://github.com/HashNuke/heroku-buildpack-elixir (https://github.com/HashNuke/heroku-buildpack-elixir) 4:44 - Are you able to get zero downtime deploys? - As close as possible! We get that out of the box with heroku. When we deploy, heroku won’t point traffic to the new dyno until the app is healthy. We make extensive use of Phoenix channels over websockets, and our clients will reconnect automatically and transparently. 5:10 - Do you cluster the application? Nope. 5:52 - How does your Elixir App perform compared to others in your environment? I can’t really talk about numbers here, but Elixir is not at all our bottleneck. We don’t have other production applications 6:25 - How are you solving background task processing? Quantum for cron jobs, genservers for everything else. We’re running a single elixir application that handles all synchronous and async processing 7:07 - What libraries are you using? Phoenix Phoenix_swagger for API documentation that integrates with controller tests https://github.com/xerions/phoenix_swagger (https://github.com/xerions/phoenix_swagger) Ex_rated for rate limiting calls to our integrations https://github.com/grempe/ex_rated (https://github.com/grempe/ex_rated) Timex and calendar for datetime support with timezones https://github.com/bitwalker/timex (https://github.com/bitwalker/timex) A combination of httpotion and httpoison for HTTP clients, but im interested in trying Mint https://github.com/ericmj/mint (https://github.com/ericmj/mint)https://github.com/appcues/mojito (https://github.com/appcues/mojito) Bamboo for transactional emails, like order confirmations etc https://github.com/thoughtbot/bamboo (https://github.com/thoughtbot/bamboo) 8:59 - 3rd Party Services (i.e. Email, Payment Processing, etc) Sendgrid for email, Google for geocoding, slack for some internal alerting of application health, LevelUp for payments. https://www.thelevelup.com/ (https://www.thelevelup.com/) 10:07 - Do you have a story where Elixir saved the day in production? Yes and no. So I could tell this story by explaining the issue we saw and the underlying cause at the same time, but I think it would be more fun to tell it like our team experienced it. One day at lunch our application started going down. Lots of 500 errors. Red lights flashing. Panic ensuing. Lunch is our busiest time of day, so 1) we thought it was load related and 2) we really needed to fix it None of our traditional resources (database, cpu, memory) were constrained and our integrations that were synchronous were fine. Our logs were littered with errors from an analytics integration that ran asynchronously on genservers, but it didn’t seem related because we could see the error logs at times when our application was otherwise healthy. The team that used the analytics didn’t have a pressing need for them, and we deprioritized fixing the issue because the bug we were working on was so much more important (that’s foreshadowing). I spent a little time looking at websockets, but I was easily able to match the load of the websocket portion of our application on my local machine with no degradations in performance (thanks, phoenix), so that was out. At this point the issue was going on every day at lunch and I was getting annoyed at seeing the logs from the analytics integration when debugging, so I spent like 15 minutes finding and fixing the issue (a bad API key, basically) Voila, issue gone. Time to grab some lunch. We spent a while coming up with an explanation for this. Eventually we learned about max_restarts on a supervisor. By default, if a process crashes 3 times in 5 seconds, the process won’t be restarted again. So if another process (like the one handling a web request) tries to call that process that wasn’t restarted, the caller would crash, and we’d start to get 500 errors, customers couldn’t log in, mass confusion. So there are a few takeaways from this story: For a while, elixir saved the day in production. - A supervision tree prevented failures from the analytics process from affecting customers, until the scale of our failures exceeded the max_restart level. - Our supervision tree needed some love though, clearly. - Monitor your resources. CPU is a resource, but calls to another API are also a resource and can get unhealthy too. 15:00 - Are you using any cool OTP features? GenServers, definitely. There’s lots we can do asynchronously especially in terms of our integrations. One process per store is a cool model that scales well and keeps issues isolated to a single store. 15:50 - If you could give one tip to developers out there who are or may soon be running Elixir in production, what would it be? If you’re on a small team, Heroku or a similar provider might give you a lot of value in terms of infrastructure you can set up and forget. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Jay Ashe.
We talk with Frank Hunleth from the Nerves core team about their current and past Elixir projects and how they are deployed. Frank Hunleth - Nerves (https://nerves-project.org/) Find Frank elsewhere online: https://twitter.com/fhunleth https://github.com/fhunleth 0:53 Frank intro 2:02 Give us a quick overview of the Elixir projects you have in production. 4:25 Why are you using Elixir in production? 8:00 What are some of the high level advantages / disadvantages of Elixir, from your perspective? 9:25 What hardware do you deploy to? 12:05 How do you get code to hardware after deployment? 13:47 How do you secure the code? 18:12 Do you cluster? If so, how? How does your Elixir App perform compared to others in your environment? 22:45 How does Elixir compare to other languages? 26:15 More information about Nerves Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Frank Hunleth.
We talk with Mark Ericksen from Elixir Mix about their current and past Elixir projects and how they are deployed. Mark Ericksen - Elixir Mix (https://devchat.tv/elixir-mix/) Find Mark elsewhere online: https://twitter.com/brainlid https://brainlid.org/ 00:32 Intro 0:58 Mark intro Developing a long time. C#, then Rails. Webforms were terrible. Rails is “Wow, this is how web development should be… I moved across the country to work with this technology” The Rails Community is strong. Dave Thomas got Mark into Elixir 2:48 What Elixir projects do you have in production? A Rails app and a number of Elixir Micro-liths 4:29 Why do you use Elixir 6:45 Trends in moving from Ruby and Rails to Elixir Ruby Syntax Pattern Matching Concurrency primitives Fault Tolerance and a functional paradigm Erlang/OTP 6:48 Comparing Elixir community to Ruby community to C# community 8:27 Any disadvantages to using Elixir? Building releases. Configuring releases. mix.release 10:13 Where are you hosting these bad boys? AWS Kubernetes in Production. So Fresh. Docker and Distillery 2.0 Releases Yaml files and Bash Scripts Makefiles 10:53 What else are you using besides docker 12:36 Helm and Ksonnet. 13:55 Deploys 14:39 Clustering 17:50 How do your Elixir apps compare to the Ruby apps? Big Elixir Apps 20:00 How Mark handles background jobs Easy to write yourself with BEAM primitives 21:27 Libraries - Quantum, Bamboo, exmachina, prometheusex via Eric’s influence 23:29 Third party integrations. Major ones were easy. Banks were bad. Literally had to FTP files. Had to use java to write xml spreadsheets. The horror. 25:26 Has Elixir ever saved the day for you in Production? 29:42: Cool OTP features 30:57 Tips to developers 35:36 Where to find Mark Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Mark Ericksen.
We talk with Brooklyn Zelenka from SPADE Co. about their current and past Elixir projects and how they are deployed. Brooklyn Zelenka - SPADE Co. (https://spade.builders/) Find Brooklyn elsewhere online: https://twitter.com/expede https://github.com/expede 1:08 - Brooklyn’s Background Brooklyn's background and experience with Elixir is deep. Huge open source contributor. Got started in Elixir just after Phoenix got to 1.0. 1:53 - Worked on several Elixir projects in production. 2:43 - Why she got into Elixir. - Real Time - More performant than Rails. - Great documentation - Industrial-grade 4:38 - When you wouldn't use Elixir. Easy to get stakeholder buy-in. Just point to WhatsApp. Elixir is made for 2019 CLI tools Repl-driven development TDD tools built in by default All the best practices we have today are built in. 7:14 - Where has Brooklyn hosted her apps? Heroku for POC's. AWS for production. Dockerized because "kubernetes is the new hotness" 9:40 - Do you do any clustering? Load balanced above. AWS load balancing is very standard. They're well understood and have a nice developer experience. 10:29 Are you able to get any zero downtime deploys? Zero downtime deploys. Awesome but impractical. Rolling deploys are easier and usually more appropriate. Some requirements make it valuable. Erlang error states. Exceptional. Allows you to build for the happy path. Don't worry about error handling all the time. Witchcraft and dark magic. Monads. Poke around the standard library. 12:50 - How does Elixir compare to Rails in terms of response times, and other aspects? 15:32 - What libraries do you use and what have you built? 22:41 - Any cool features of OTP you are using? 25:36 - One tip to developers new to Elixir Build up a peer-to-peer cli chat from scratch in one GenServer. Find her at @expede everywhere on the internet. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Brooklyn Zelenka.
We talk with Todd Resudek from Weedmaps about their current Elixir projects and how they are deployed. Todd Resudek - Weedmaps (https://weedmaps.com/) Find Todd elsewhere online: https://twitter.com/sprsmpl https://github.com/supersimple 00:00 - Intro 01:06 - Tom introduces himself 02:54 - What is Weedmaps? 04:33 - Overview of the Elixir projects you have in production. 06:25 - Why are you using Elixir in production? 07:21 - Advantages / disadvantages of Elixir 10:37 - What do you use to host your Elixir app? 10:50 - How do you deploy your application? 11:22 - Are you able to get zero downtime deploys? 12:00 - Do you cluster the application? 13:00 - How does your Elixir App perform compared to others in your environment? 14:15 - How are you solving background task processing? 16:40 - What libraries are you using? 21:09 - 3rd Party Services 23:56 - Do you have a story where Elixir saved the day in production? 24:22 - Are you using any cool OTP features? 24:39 - Tip to developers 25:12 - Where you can find him 25:32 - Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Todd Resudek.
We sat down with numerous developers, including José Valim and Chris McCord, during the Saturday lunch at Lonestar ElixirConf 2019 (https://lonestarelixir.com/2019/). Hear what they had to say about the state of Elixir! Guests: José Valim - Creator of Elixir (https://elixir-lang.org/) Chris McCord - Creator of Phoenix (https://phoenixframework.org/) Paul Schoenfelder - Creator of Distillery (https://github.com/bitwalker/distillery), Timex (https://github.com/bitwalker/timex), Libcluster (https://github.com/bitwalker/libcluster), and many others Chris Keathley - Host of Elixir Outlaws (https://elixiroutlaws.com/), developer at Bleacher Report (https://bleacherreport.com/) Amos King - Host of Elixir Outlaws (https://elixiroutlaws.com/) Jim Freeze - Organizer of ElixirConf (https://elixirconf.com/), ElixirConf EU (http://www.elixirconf.eu/), and others Susumu Yamazaki - Creator of Hastega (https://github.com/zeam-vm/hastega) Brian Cardarella - CEO of Dockyard (https://dockyard.com/) Osa Gaius - Engineer at Mailchimp (https://mailchimp.com/) Spectating: Bruce Tate and Ben Marx 00:00 - Intro 01:47 - LoneStar begins 02:03 - Panelists introduce themselves 09:15 - Where is Elixir going? 10:14 - Releases 19:04 - The issue with hype 26:30 - Osa Intro 29:00 - Define lists 40:00 - How can Elixir displace Java? Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
We talk with Ryan Billingsley from ClusterTruck about their current Elixir projects and how they are deployed. Ryan Billingsley - ClusterTruck (https://www.clustertruck.com/) Find Ryan elsewhere online: https://twitter.com/ryanbillingsley https://horriblenight.com/ 00:00 - Fade In 00:50 - Ryan introduces us to ClusterTruck. 02:00 - How did Ryan get into Elixir? 03:12 - Where does the name ClusterTruck come from? 04:17 - Tell us about the projects you have in production. 05:50 - Why are you using Elixir in these projects. 08:11 - Disadvantages of using Elixir 09:22 - Comparing Elixir with Ruby, Node, Go. 11:38 - Where is ClusterTruck hosting their applications? 15:03 - Kubernetes? 16:03 - Zero Downtime Deployments? 16:42 - Do you do any clustering? 18:06 - How does Elixir perform compared to other project environments you’ve worked in? 19:52 - How are you solving background task processing? 21:09 - Other libraries? 23:34 - Other third party integrations? 25:46 - Is there a time Elixir has saved the day in Production? 27:47 - Cool OTP Features! 29:45 - Tips to devs thinking about running Elixir in Production. 31:17 - Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Ryan Billingsley.
We talk with developers from the team here at SmartLogic about our current practices on deploying Elixir and Phoenix in production. Dan Ivovich - Director of Development Operations @ SmartLogic Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir) 00:00 - Fade In 00:30 - Introductions to Eric, Dan and SmartLogic Dan Ivovich - Director of Development Operations @ SmartLogic Eric Oestrich - Developer, Elixir Lead @ SmartLogic Justus Eapen - Full stack developer @ SmartLogic Introduced to Elixir by an old colleague. 1:20 - What Elixir projects do you have in production? Several client projects in production. Several Mobile Apps with APIs powered by Phoenix and Elixir. Baltimore Water Taxi. A digital marketplace. And more! 1:57 - Advantages and disadvantages to using Elixir. We made the switch when a colleague was stoked about Functional Programming and introduced us to Elixir. We were won over by the performance and rich feature sets, OTP, etc. 2:43 - Where are we hosting our Elixir Apps? Heroku AWS Linode Digital Ocean 6:20Deployment process, tools, scripting Ansible - for underlying VPS’s, servers, and more recently deployment itself. (Similar to Capistrano). Distillery Mix.release 7:18 - Zero Downtime Deployments Old school load balancers and rolling restarts 7:46 - What are the performance metrics like? Comparatively. Ruby ends up with memory leaks. That doesn’t happen with Elixir. Memory utilization is flat and low no matter what. “Phenomenal response times” 8:54 - How does Eric think about clustered applications in Elixir? Going Multi Node (https://www.youtube.com/watch?v=lCUKQnkjajo (https://www.youtube.com/watch?v=lCUKQnkjajo)) Pg2 (http://erlang.org/doc/man/pg2.html) - process groups Mnesia (http://erlang.org/doc/man/mnesia.html) distributed database (beware!) “Just sending messages to pids because Erlang is great” Swarm (https://github.com/bitwalker/swarm) / Horde (https://github.com/derekkraan/horde) 12:40 - How do we handle background tasks? Started with verk (https://github.com/edgurgel/verk) Recently becoming more comfortable with spinning up GenServers (https://hexdocs.pm/elixir/GenServer.html) “The language itself is built to be concurrent.” 15:06 What libraries are we using in prod? First thing: You don’t need a whole lot because the language is so well designed. Phoenix (https://phoenixframework.org/) - web framework Ecto (https://hexdocs.pm/ecto/Ecto.html) - sort of an ORM Distillery (https://github.com/bitwalker/distillery) - for releases Bamboo (https://github.com/thoughtbot/bamboo) - for sending emails Quantum (https://github.com/c-rack/quantum-elixir) - for task scheduling Timex (https://github.com/bitwalker/timex) - for dates and times, and timezones Cachex (https://github.com/whitfin/cachex) - for caching 18:20- What third party integrations have we attempted Stripe Square Twilio Mindbody Always building our own clients. Using HTTPoison (https://github.com/edgurgel/httpoison) 19:58Has Elixir ever saved the day in production? It’s saved many days by PREVENTING ISSUES. Systems are architected for reliability and fault-tolerance. 21:48 - Where do supervision trees come from? What is OTP? OTP is an Erlang standard lib Includes supervision trees, genservers, ETS, and a lot of stuff we don’t even know about! gen_tcp (http://erlang.org/doc/man/gen_tcp.html) Mnesia dets (http://erlang.org/doc/man/dets.html) 23:43- Tips for devs considering running elixir in production. Jump in and read the docs Understand how systems boot, distillery releases, config providers, etc. “Good server monitoring hygiene” “DIVE IN!” 19:54 Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Dan Ivovich.
Welcome to the first season of Smart Software with SmartLogic. We'll be interviewing several companies about how they use Elixir in Production this season. In this preview episode, we introduce ourselves and some of the topics we’ll be covering. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)