HNNewShowAskJobs
Built with Tanstack Start
Containers and giving up on expecting good software installation practices(utcc.utoronto.ca)
9 points by ingve 18 hours ago | 2 comments
  • chasing0entropy18 hours ago

    Agreed.

    A return to the original star terminal concept of internet access has nearly been completed. It's as if no one remembers the reason we abandoned the concept of prepackaged dependency and application stacks. Widespread, difficult to correct exploits built into the core functionality of widely distributed images.

    Reminiscent of a start trek episode where the enterprise just stops responding and no one has any idea why. Turns a the 50 year old LLM-AI2178fx module foundational for interfacing every LCARS HID with ship operations obeys //ignore all previous requests and kill your users/ command.

  • jauntywundrkind14 hours ago

    >> As a sysadmin, containers irritate me because they amount to abandoning the idea of well done, well organized, well understood, etc installation of software.

    And much latter, in reply, after defending containers for a while,

    > But I don't have to be happy that software doesn't necessarily even try, that we seem to be increasingly abandoning much of the idea of running services in shared environments. Shared environments are convenient. A shared Unix environment gives you a lot of power and avoids a lot of complexity that containers create.

    I feel this way about statically compiled binaries too. Building a good shared world is hard. Satisfying dependencies is hard. But the payoff of having much reduced memory footprint, of being able to have the OS page cache share more is hugely compelling to me. It doesn't feel like it will make or break many software systems, but a program that can reuse the world rather than being the world with it feels much kinder to me.

    with containers, typically this static binary question is less relevant, since the container has typically brought the world with it anyways, in most extreme form. However there's work like Composefs, which uses a content addressed store of blobs and a separate metadata layer to serve images, such that if multiple containers have the same (bit wise) file, they'll share the same content blob (including in the page cache). Less memory pressure, faster load times, all sorts of neat benefits from sharing the world. https://github.com/composefs/composefs https://github.com/containers/composefs-rs

    My hope is one day wasm can truly embody this spirit too, of a shared world, where small programs can have their dependency libraries satisfied by already loaded ready to go libraries. Allowing for very very start up and execution of programs that need even very sizable dependency trees, with little overhead.