Elixir Wizards

Protocols in Elixir with Yiming Chen


Listen Later

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.

    ...more
    View all episodesView all episodes
    Download on the App Store

    Elixir WizardsBy SmartLogic LLC

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    22 ratings


    More shows like Elixir Wizards

    View all
    Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

    Software Engineering Radio - the podcast for professional software developers

    272 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    283 Listeners

    Startups For the Rest of Us by Rob Walling

    Startups For the Rest of Us

    693 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    624 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    982 Listeners

    REWORK by 37signals

    REWORK

    210 Listeners

    CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

    CoRecursive: Coding Stories

    189 Listeners

    Elixir Mix by Charles M Wood

    Elixir Mix

    13 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    64 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    32 Listeners

    Beam Radio by Lars Wikman

    Beam Radio

    11 Listeners

    Software Unscripted by Richard Feldman

    Software Unscripted

    26 Listeners

    Oxide and Friends by Oxide Computer Company

    Oxide and Friends

    47 Listeners

    Elixir Mentor by Jacob Luetzow

    Elixir Mentor

    2 Listeners

    Elixir Friends by German Velasco

    Elixir Friends

    0 Listeners