Elixir Wizards

Eric Meadows Jönsson on Hex and Working with Elixir


Listen Later

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.

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

    211 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