There was an anecdote from someone working at Microsoft in the early 2000s. The story says, Microsoft Office code due to legacy reasons stemming from the 90s was incredibly fragile and building it was a no easy feat. Office team had a bunch of carefully maintained build servers with carefully controlled version of Windows, MSVC compiler, and other software. Whenever a new build server was needed, they simply made a copy from an existing one (literally, copying the HDD contents) rather than install a system from scratch.
I heard this story from someone in my uni and I used to laugh at it, because surely having something like this today would be totally ludicrous. Now I see people use Docker and I don't laugh any more.
@Zerglingman motherfuckers who don't have package management is the majority of L'Eunuchs users out there.
@Zerglingman same thing.
Look, the problem isn't in that package management software is inadequate. It certainly is, but the roots of the problem are much deeper. If you want an apt metaphor, trying to package software for L'Eunuchs and other Eunuchs systems today can be described as trying to build a castle out of slightly dried week-old diarrhoea while your arms have been replaced with limp dicks. Did you see this movie called Edward Penishands? There's a beautiful scene were the titular character tries to eat pasta, except he has dicks for hands. This is what the entire modern package management reminds me of (see the pic attached).
More seriously, we are still suffering from the consequences of Bazaar that was so praised upon just a couple of decades earlier. Turns out, Bazaar cannot replace beautifully designed Cathedrals. Not only that, it leads to the unholy disaster that is the army of awfully educated people called "software engineers" we have now. These people aren't stupid by any means, mind you, and they could've created beautiful robust software systems. But instead what we have is webshit and docker.
@Zerglingman ask your questions. I failed my telepathy class.
@Zerglingman most traditional package managers fail when you need to have more than one version of a particular library installed. They don't allow installing software without root permissions. They don't allow local sandboxes, because all software must be installed according to man hier.
This is strictly about tools like deb/rpm/pacman/whatever freebsd has. Nix and Guix solve some of these problems, for one.
@Zerglingman welp.. i've been running nixos as my main system for the past 5 years and it's been nice. Can't say I want to use any other distro now. Local development sandboxes with nix-shell are literally godsend. Imagine, being able to work on a project while using whatever libraries you want from any language without affecting the rest of the system in any way.
@Zerglingman it's not just about developing against an old version. It's also about developing against software built with different flags or other configuration options than you have in your system. Debugging shit, unoptimised builds, that kind of stuff. And when I'm done, I can just run `nix-collect-garbage` and all of those sandboxes will be purged like it never happened.
@Zerglingman also, funny thing about that article you linked.
>Something about a carrot and a stick: if you're doing development in e.g. Ruby or Haskell, come give Gentoo (Prefix) a try. We don't have Rubygems hell or Cabal hell here—everything just works. Although, you'll probably want to use the Ruby overlay or Haskell overlay to get the most up-to-date packages.
The joke is, I used to be one of the committers to the Gentoo Haskell overlay (i used gentoo before nixos). Most people who worked on it switched to NixOS as well.
@icon_of_computational_sin @Zerglingman The thing with most traditional package managers is that, in my opinion, installing a package means performing modifications to the OS as a whole. If you install something it basically becomes a part of the OS, and it explains the limitations of them. There’s a reason why software installed from those package mangers gets scattered all over the fs while software gets relatively contained within /usr/local
or something if you compile them.
@eric @Zerglingman wrong bell. I referenced that Eric Raymond essay, not this a source code management system.