Hex - How it was built
summary
Hex is a package manager with a standalone CLI and an HTTP API built on Plug and Ecto that already serves 100 packages and almost 400 releases with about 25,000 downloads total. It uses tarball source packages (recompiled per Elixir version), uploads assets to a CDN, and maintains a ~27 KB registry fetched conditionally. Dependency resolution uses a backtracking algorithm that guarantees a solution but has high time complexity; archives require careful version-aware updating and future plans include escript support and community-owned packages.
AI-written summary · about
chapters (18)
- 0:00Introduction to Hex
- 1:08Motivation and History
- 3:52Client and Command Line
- 5:45Archive Installation
- 6:43Updating Hex
- 7:58Dependency Converger
- 10:48Registry and Resolution
- 12:39Registry Size and Fetching
- 14:00Resolution Algorithm
- 17:02Tarballs and Caching
- 19:52Server-side publishing
- 21:03HTTP API Architecture
- 23:39Serialization Format
- 27:01Website and Features
- 29:08Download Statistics
- 30:44Future of Hex
- 33:11Community Packages
- 35:40Q&A Session
related talks
43mAll Chat Applications
48mTurbopack: DX Matters
41mElixir & Phoenix – fast, concurrent and explicit
45mBundler Bonanza
23mRspack: The Rust-Fueled Bundling Breakthrough
01h 02mThe Wrong Kind of Fast: Embracing Evidence-Based Architecture
16mSpeeding up the EcoSystem
50mPhoenix Framework: a (Truly) Fullstack Stack for Building Real-Time Web
