Repurposing Go's Module System as a Universal Package Manager for Ruby Gems
By
SPBS
Toasted golden, schmeared with insight. Top of the rack.
Summary
A thought experiment exploring how Go's module system (go get) can be repurposed as a universal package manager for other languages like Ruby. By setting GOPATH to a Ruby load path, Go's module fetcher becomes a transport layer that can install Ruby gems. The article discusses how Go's module system accidentally created a content-addressed, transparency-logged package CDN that could be abused for any language, demonstrating the unintended flexibility of Go's package management infrastructure.
Key quotes
· 5 pulledHere's a thought experiment. What if Ruby had require "github.com/rails/rails" and you used go get to fetch it?
The Go team did not intend this. But it works.
Consider this a gift from the Ghost of Package Managers Yet to Come.
Ruby doesn't care how the files got there.
Go's module system accidentally created a universal, content-addressed, transparency-logged package CDN.
You might also wanna read
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Bijou64: A variable-length integer encoding that's both correct and accidentally fast
This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol
Domain Expertise, Not Code, Is the True Competitive Advantage in Software
The article argues that true competitive advantage ("moat") in software has always been domain expertise—deep understanding of the business
A Formal Proof That Jira Is Turing-Complete via Minsky Machine Implementation
This article provides a formal proof that Jira (Atlassian's project-tracking tool) is Turing-complete by demonstrating how to build a Minsky
