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 by se-radio@computer.org

    Software Engineering Radio

    271 Listeners

    The a16z Show by Andreessen Horowitz

    The a16z Show

    1,084 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    288 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    32 Listeners