Elixir Wizards

Zigler: Zig NIFs for Elixir with Isaac Yonemoto


Listen Later

In the Season 14 premiere, hosts Dan Ivovich and Sundi Myint chat with Isaac Yonemoto, creator of the Zigler library, to explore how Zigler brings Zig’s performance and safety to Elixir through Native Implemented Functions (NIFs). Isaac walks through the core design of Zigler and how it auto-generates the Elixir-to-Zig bridge, enforces type safety, and exposes multiple execution modes (normal, dirty, threaded). The conversation covers real-world applications, from SIMD-powered token selection for LLM hardware acceleration to OTP-style fault tolerance in low-level code.

Isaac shares his own journey: stepping back from professional software work to launch a biotech startup focused on reducing drug manufacturing costs while continuing to maintain Zigler and even leveraging Elixir for bioinformatics pipelines.

Topics discussed in this episode:
  • What is the Zigler library and what does it do?
  • What does it mean to run a "dirty NIF"?
  • Async mode is temporarily removed from Zig (therefore, yielding NIFs is temporarily deprecated in Zigler)
  • Zigler’s three execution modes (normal, dirty, and threaded) and how you switch modes with a single config change
  • Isaac’s journey from professional software work to launching a biotech startup
  • How Isaac leverages Elixir in bioinformatics pipelines at his startup
  • LLM hardware acceleration using Zigler NIFs and SIMD-powered token picking
  • Fault-tolerant load balancing of NIF workloads via OTP principles
  • Transparent handling and recovery from hardware failures through monitoring
  • Potential future memory-safety features in Zig and their implications
  • The Elixir-based borrow-checker prototype: purpose and design
  • Unit-checking for scientific computations to enforce correctness
  • New OS support in Zigler 0.14: macOS, Windows, and FreeBSD
  • Inline Zig code authoring directly within Elixir modules
  • Isaac's commitment to maintain Zigler through its 1.0 release (...and beyond?)
  • Links mentioned:

    https://github.com/E-xyza/zigler

    https://github.com/ziglang/zig
    https://vidalalabs.com/
    Zig Programming Language: https://ziglang.org/
    https://obsidian.md/
    https://hexdocs.pm/elixir/macros.html
    https://erlang.org/documentation/doc-4.7.3/doc/extensions/macros.html
    A Deep Dive Into the Elixir AST: https://dorgan.ar/posts/2021/04/the_elixir_ast/
    https://www.erlang.org/doc/system/nif.html
    https://nodejs.org/en
    Llama Open-Source LLM: https://www.llama.com/
    Mixtral Open-Source LLM: https://mistral.ai/news/mixtral-of-experts
    https://Fly.io
    SIMD: https://en.wikipedia.org/wiki/Single_instruction,_multiple_data
    https://opentrons.com/
    CI/CD: https://en.wikipedia.org/wiki/CI/CD
    https://hexdocs.pm/zigler/Zig.html
    http://www.x.com/DNAutics
    https://bsky.app/profile/dnautics.bsky.social

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

    282 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

    627 Listeners

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

    Syntax - Tasty Web Development Treats

    984 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