Erich Schubert
vitavonni.de · Personal blog · on HN since 2012
Erich Schubert is a data mining researcher who writes about sysadmin practice, containers, systemd, and big data tooling.
What HN saysThe given comments give no opinion on the blog itself; HN links it in a thread about package management and dependency handling.
16HN people shared it
1linked it in comments
17stories submitted
2.3Kstory points
1 year agolast shared
2012people per year2026
Most-shared posts
- 1The sad state of sysadmin in the age of containers7 people · 2.1K points · first shared 2015 · 443 comments on HN
- 2Avoiding systemd isn't hard1 people · 170 points · first shared 2014 · 105 comments on HN
- 3Your big data toolchain is a big security risk1 people · 71 points · first shared 2015 · 29 comments on HN
- 4Are likes still worth anything?1 people · 4 points · first shared 2012 · discussion on HN
- 5Big Data madness and reality1 people · 3 points · first shared 2013 · discussion on HN
- 6Debian chooses systemd as default init1 people · 2 points · first shared 2014 · discussion on HN
- 7Chinese Citation Factory1 people · 2 points · first shared 2019 · discussion on HN
- 8Stop abusing lambda expressions – this is not functional programming1 people · 2 points · first shared 2016 · discussion on HN
- 9DMOZ dieing1 people · 2 points · first shared 2012 · discussion on HN
- 10Migrating from GNOME3 to XFCE1 people · 1 points · first shared 2012 · discussion on HN
- 11Analyzing Twitter – beware of spam1 people · 1 points · first shared 2014 · discussion on HN
- 12Machine Learning Lecture Recordings [video] (English Slides, German Audio)1 people · 1 points · first shared 2021 · discussion on HN
What HN people wrote when they linked it
davexunit · 2015-12-31
>This is what we did with Dart's package manager[1]. It works like Bundler where it finds a single set of package versions that satisfy all of the constraints and there are no duplicate packages.
Constraint solving is the status quo, and I am strongly opposed to it. Rather than saying "I want foo >= 1.0" in a package manager, you should have the build system test the environment for the features you need. This is what the Autotools and other build systems that have been around for decades do. This way, the project isn't tied to a single package manager and, in the case of free software, greatly eases the burden on package maintainers that want to add your software to their distribution.
Functional package management doesn't need constraint solving because every package in the system precisely describes itself: exactly which dependencies are needed for build-time and runtime (which precisely describe themselves, recursively, all the way down to libc), precisely which source code (tarball/directory/whatever + checksum), and the exact build script that turns that source code into a (hopefully bit-reproducible) binary. There's no constraint solving to determine what the dependency tree is, it's already been encoded in the package objects themselves. This is what any robust package manager should enable, but the only two that I know of that do this are Nix and GNU Guix.
>The problem then is now your language has a dependency on an outside package manager, one which is…