Top
Best
New

Posted by birdculture 1 day ago

Package managers keep using Git as a database, it never works out(nesbitt.io)
754 points | 435 commentspage 6
dwardu 1 day ago|
Worst thing is when you’re in a an office and your pc along with other pcs pulls from git unauthenticated, then you get hit with api limits
mcny 1 day ago||
I want to take a quick detour here if anyone is knowledgeable about this topic.

> The hosting problems are symptoms. The underlying issue is that git inherits filesystem limitations, and filesystems make terrible databases.

Does this mean mbox is inherently superior to maildir? I really like the idea of maildir because there is nothing to compact but if we assume we never delete emails (on the local machine anyways), does that mean mbox or similar is preferable over maildir?

juped 1 day ago|
No, of course not.
iamwil 1 day ago||
This sounds like a missing piece of software in the OSS world. If you have the inclination, you should write it.
yawaramin 22 hours ago|
People have: https://0install.net/
miyuru 1 day ago||
Funnily enough, I clicked the homebrew GitHub link in the post, only to get a rate limited error page from GitHub.
keithgroves 1 day ago||
When building https:/enact.tools we considered this. I'm glad we didn't go this route.
weiwenhao 1 day ago||
For package management software that is rarely used, free is the biggest motivation.
sghiassy 1 day ago||
Use the git clone —shallow option and you’ll only download the most recent commits. Yeesh
ZenoArrow 19 hours ago||
Did you read the article? It references the server-side overhead for shallow clones.
pxc 1 day ago||
Loved this article. Just enough detail to make the broad scope compatible with a reasonable length, and well-argued.

I feel sometimes like package management is a relatively second-class topic in computer science (or at least among many working programmers). But a package manager's behavior can be the difference between a grotesque, repulsive experience and a delightful, beautiful one. And there aren't quite yet any package managers that do well everything that we collectively have learned how to do well, which makes it an interesting space imo.

Re: Nixpkgs, interestingly, pre-flakes Nix distributes all of the needed Nix expressions as tarballs, which does play nice with CDNs. It also distributes an index of the tree as a SQLite database to obviate some of the "too many files/directories" problem with enumerating files. (In the meantime, Nixpkgs has also started bucketing package directories by name prefix, too.) So maybe there was a lesson learned here that would be useful to re-learn.

On the other hand, IIRC if you use the GitHub fetcher rather than the Git one, including for fetching flakes, Nix will download tarballs from GitHub instead of doing clones. Regardless, downloading and unpacking Nixpkgs has become kinda slow. :-\

grumbel 1 day ago|
Do we have distributed databases that regular users can clone, modify and merge?
More comments...