Thinking Elixir Podcast

204: OTP 27 and Blend for Lib Maintainers


Listen Later

In this episode of the Thinking Elixir podcast, we sit down with Marcelo Dominguez, the driver behind the new "Blend" library, which assists Elixir library developers in testing their projects against multiple versions of dependencies. Marcelo explains the genesis of Blend and the inspiration from the Rubygem "appraisal." He discusses how Blend tackles the common headache of dependency version clashes and integrates smoothly with CI systems to isolate and report specific compatibility issues. We learn how it works under-the-hood and helps library maintainers more easily keep their promises of supporting a library used in diverse environments. We cover the motivations, complexities, and real-world applications of Blend and more!

Show Notes online - http://podcast.thinkingelixir.com/204

Elixir Community News

  • https://www.erlang.org/blog/highlights-otp-27/ – OTP 27 release highlights
  • https://www.erlang.org/news/170 – OTP 27 release news
  • https://github.com/erlang/otp/releases/tag/OTP-27.0 – OTP 27 release on GitHub
  • https://en.wikipedia.org/wiki/OCSP_stapling – OCSP stapling explained
  • https://x.com/chris_mccord/status/1791176778989424850 – Chris McCord shares upcoming Cockroach DB support in Phoenix 1.7
  • https://www.cockroachlabs.com/ – Cockroach Labs business solutions
  • https://github.com/cockroachdb/cockroach – CockroachDB GitHub project
  • https://www.cockroachlabs.com/docs/stable/licensing-faqs.html – Cockroach licensing FAQs
  • https://x.com/josevalim/status/1792642875454259243 – José Valim's tweet on Elixir's 12th birthday celebration
  • https://www.youtube.com/watch?v=epKeT8-hafE – YouTube livestream celebrating Elixir's 12th birthday
  • José teased that an Elixir v1.17 RC might be ready.
  • https://ew.com/pirates-of-the-caribbean-reboot-margot-robbie-movie-exclusive-8651023 – Pirates of the Caribbean reboot discussion... are we that old?
  • https://elixirforum.com/t/ash-framework-3-0/63488 – Ash Framework 3.0 release
  • https://www.reddit.com/r/elixir/s/HMUeyk8Ot3 – LiveToast discussion on Reddit
  • https://github.com/srcrip/live_toast – LiveToast GitHub project
  • https://toast.src.rip – LiveToast demo website
  • https://nerves-project.typeform.com/sotnn-2024
  • Nerves is an open-source platform for building and deploying production embedded systems using Elixir.
  • https://nerves-project.org/ – Nerves project website
  • https://fly.io/phoenix-files/my-favorite-new-liveview-feature/ – Explanation of the useful new LiveView feature JS.toggle_class.
  • ExDoc light mode possibly getting revamped.
  • https://hexdocs.pm/elixir/main/protocols.html – Example of current dark mode on ExDoc even in light mode.
  • https://erick.navarro.io/blog/simple-obs-client-in-elixir/ – Erick Navarro's post on controlling OBS using Elixir and websockets.
  • https://obsproject.com/ – OBS - Open Broadcaster Software
  • Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected]

    Discussion Resources

    • https://github.com/mimiquate/blend
    • https://rubygems.org/gems/appraisal – Blend was inspired by the Rubygem Appraisal
    • https://github.com/mimiquate/blend?tab=readme-ov-file#Motivation – Motivation for creating the Blend library
    • https://github.com/mimiquate/candlex
    • https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
    • https://github.com/elixir-plug/plug_crypto/tags
    • https://github.com/rack/rack-attack
    • https://www.mimiquate.com/
    • https://github.com/elixir-plug/plug/blob/main/mix.exs#L54-L58 – Example of how multiple lockfiles are solved in Plug
    • https://github.com/surface-ui/surface/blob/main/.github/workflows/ci.yml#L54-L56 – Example of how multiple lockfiles are solved in Surface
    • https://github.com/sorentwo/oban/issues/1041 – Example of Oban issue from underlying dep version change
    • https://github.com/sorentwo/oban/commit/f8d3478c27aea56ab01fcc42f13668f4a3516564 – Example where Oban's Ecto version needed to lock to Ecto v3.10 to support materialized cte
    • Guest Information

      • Marcelo Dominguez
      • https://twitter.com/marpo60 – on Twitter
      • https://github.com/marpo60/ – on Github
      • https://www.mimiquate.com/ – Mimiquate agency that published Blend
      • Find us online

        • Message the show - @ThinkingElixir
        • Message the show on Fediverse - @[email protected]
        • Email the show - [email protected]
        • Mark Ericksen - @brainlid
        • Mark Ericksen on Fediverse - @[email protected]
        • David Bernheisel - @bernheisel
        • David Bernheisel on Fediverse - @[email protected]
        • Sponsored By:

          • Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
          ...more
          View all episodesView all episodes
          Download on the App Store

          Thinking Elixir PodcastBy ThinkingElixir.com

          • 4.9
          • 4.9
          • 4.9
          • 4.9
          • 4.9

          4.9

          32 ratings


          More shows like Thinking Elixir Podcast

          View all
          Hanselminutes with Scott Hanselman by Scott Hanselman

          Hanselminutes with Scott Hanselman

          377 Listeners

          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

          Talk Python To Me by Michael Kennedy

          Talk Python To Me

          592 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

          Elixir Wizards by SmartLogic LLC

          Elixir Wizards

          22 Listeners

          The Stack Overflow Podcast by The Stack Overflow Podcast

          The Stack Overflow Podcast

          64 Listeners

          Beam Radio by Lars Wikman

          Beam Radio

          11 Listeners

          Oxide and Friends by Oxide Computer Company

          Oxide and Friends

          47 Listeners

          Elixir Mentor by Jacob Luetzow

          Elixir Mentor

          2 Listeners

          The Pragmatic Engineer by Gergely Orosz

          The Pragmatic Engineer

          52 Listeners