trevor (he/they)

Hello, tone-policing genocide-defender and/or carnist 👋

Instead of being mad about words, maybe you should think about why the words bother you more than the injustice they describe.

Have a day!

  • 0 Posts
  • 88 Comments
Joined 2 years ago
cake
Cake day: June 10th, 2023

help-circle


  • Because their sandboxing format subtly breaks so many applications (more than flatpak) and Canonical very nefariously co-opts your apt install <package> with a deb package that’s actually a stub to install the Snap version, so when your shit breaks, you can waste hours before you realize that they fucked your installation.

    Beyond that, Snap cold start times (installations or updates) are slow as shit (yes, even with LZO compression), and since each snap application can update on its own, you’ll also encounter random times when your shit appears to “freeze” but what’s actually happening is Canonical is busy polluting your loopback devices to decompress their shittified version of your app.






  • If this works out, it’s likely something that container engines would take advantage of as well. It may take more resources to do (we’ll have to see), but adding kernel isolation would make for a much stronger sandbox. Containers are just a collection of other isolation tools like this anyway.

    gvisor already exists for environments like this, where the extra security at the cost of some performance is welcome. But having support for passing processes an isolated, hardened kernel from the primary running Linux kernel would probably make a lot of that performance gap disappear.

    I’m also thinking it could do wonders for compatibility too, since you could bundle abandoware apps with an older kernel, or ship new apps that require features from the latest kernel to places that wouldn’t normally have those capabilities.









  • I posted this in another thread, but reposting here because a lot of people, including myself up until very recently, were under that impression:

    I’ve packaged a CLI that I made as a flatpak. It works just fine. Nothing weird was required to make it work.

    The only thing is that if you want to use a CLI flatpak, you probably want to set an alias in your shell to make running it easier.

    I’m not sure why more CLIs aren’t offered as flatpaks. Maybe because static linking them is so easy? I know people focus on flatpak sandboxing as a primary benefit, but I can’t help but think that if static linking was easier for bigger applications, it wouldn’t be needed as much.


  • I’ve packaged a CLI that I made as a flatpak. It works just fine. Nothing weird was required to make it work.

    The only thing is that if you want to use a CLI flatpak, you probably want to set an alias in your shell to make running it easier.

    I’m not sure why more CLIs aren’t offered as flatpaks. Maybe because static linking them is so easy? I know people focus on flatpak sandboxing as a primary benefit, but I can’t help but think of static linking was easier for bigger applications, it wouldn’t be needed as much.


  • I’m not quite sure why you think pointing out someone’s confidently incorrect claim that containers do give you reproducible environments means that I fetishsize anything?

    But if you genuinely want to know why reproducibility is valuable, take a look at https://reproducible-builds.org/.

    I was quite happy to see that Debian and Arch have both made great strides into making tooling that enables reproducible packages in recent times. It’s probable that, because of efforts like this, creating reproducible builds will become easier/possible on most Linux environments, including traditional container workflows.

    For now though, Nix Flakes are much better at enabling reproducible builds of your software than traditional containers, if you can suffer through Nix not being documented very well. This article covers some more details on different build systems and compares them with Nix Flakes if you want more concrete examples.

    FWIW, I think that containers are awesome, and using them for dev environments and CI tooling solves a lot of very real problems (“it works on my machine”, cheap and easy cross-compilation for Linux systems, basic sandboxing, etc.) for people. I use containers for a lot of those reasons. But if I need to make something reproducible, there are better tools for the job.