Elixir Wizards

The Bridge Between Elixir and Zig with Isaac Yonemoto


Listen Later

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.

    ...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