• 0 Posts
  • 26 Comments
Joined 1 year ago
cake
Cake day: August 9th, 2023

help-circle







  • The fact that things like Netflix/Uber/AirBnB are useful and good value when they first come out and then turn to shit later shows that they can work and be successful, they just get greedy and go sideways.

    Um, no.

    You have to turn a certain amount of potential energy into kinetic energy in order to provide a service that drives a customer from one location to another in an automobile. You have to squeeze a certain amount of information into the same or similar coaxial or optical or whatever-it-is-these-days cables in order to deliver a video and audio stream onto a customer’s television (and pay enough for the same actors and writers to produce that media in the first place). You have to pay a certain amount in property tax, cleaning, and maintenance in order to provide a clean bed for a customer to sleep on.

    Yeah I was gonna say, there’s nothing wrong with the technology itself per se, just the way it’s being used/exploited.

    The “technology” itself was at most tangential to the service being provided, and the costs of providing the service. Also, the real technology involved hasn’t actually changed. A car is still a car, a co-ax is still a co-ax, and a building is still a building.

    An app was never going to change physics. We were probably idiots to think it would.




  • Disk space is an issue… I’ve seen the OS take as much as 100 GB. But in a world of 2TB SSDs for $100, is that a big deal?

    Yes? Storage used for the OS is space not used for projects, entertainment, docs, redundancy, snapshots, avoiding fragmentation (EXT4), etc. Money spent on SSDs is money not spent on going out, food, meeting people, basic needs, other hardware, etc.

    I don’t see why NixOS would be any worse for the lifetime of a disk than other distros.

    Untested, but I’d assume high space use combined with high update frequency, plus occasional builds-from-source and multiple simultaneous package versions, means more disk writes.

    Biased, maybe, because manual GC means you see disk use tick up more than in other package managers, and also because I personally repeatedly rebuilt a custom gigabyte-sized Derivation dozens/hundreds of times. But I think it’s a reasonable point of caution.

    I’ve only hit binary cache missed for packages I created, or where I changed build options.

    Broken packages are, if anything, less of a problem [than] with Debian. Debian has lots of packages that are…not broken, but incomplete, requiring lots of manual config or whatever.

    Maybe this is a NixPkgs vs NixOS thing. Also, using Nix mostly to supplement packages I hadn’t already installed through my distro probably meant I hit more fringe areas. But I’ve even encountered cache misses and failed builds for some pretty big Python libraries on certain commits.

    Debian-based out-of-the-box functionality for stuff is indeed also Not Great, IIRC— Stable, but yeah, sometimes maybe a bit “incomplete”. Actually, Arch-based has worked well IME.

    And on the flip side: you can change package build options! Neat!

    But oh man…you should’ve seen how trivial it was to switch from PulseAudio to PipeWire (including Jack support etc), leaving no trace that Pulse was ever installed… Or switching from X to Wayland, on a system that I’ve been doing rolling updates on since 2017, all with a clear conscience… It’s beautiful.

    Yeah. I personally don’t care about that stuff unless it directly impacts something I’m working on.

    And that’s why I say Nix is a great tool for package management, but not something I’d personally want to use as an OS base. When you’re already elbow-deep in the plumbing anyway, Nix makes it way easier to swap components out. But when you just want to install and use an application, editing Nix configs feels like more work, and it’s so much easier to just pacman/yum/apt-get install firefox or whatever and get on with your day.


    Plus, some specific red flags surrounding stability and interoperability:

    1. ALSA is apparently hardcoded to just straight-up not work with a Nix root. Not sure how NixOS handles it, but in my specific use case, I had to symlinkJoin{paths=[alsa-lib alsa-plugins]} so they could find each other. Pretty sure it took a lot of strace -f -e trace=file and nix-locate for me to figure this one out, just to get sound working.

    2. QtWebEngine/Chromium has to be run through some kind of sed -e "whatever.so" to “Patch library paths in Chromium sources” in order to even run, because it’s also hardcoded to just not work with a Nix root. IIRC, this one I figured out by just straight-up grepping on the compiled binaries after seeing the errors in strace or whereever. Seems a bit ridiculous, using a RegEx to patch a web browser when installing it so it can even run.

    3. Binaries aren’t safe either, because they probably need patchelf to be able to run on Nix.

    4. Flakes are apparently hosted as user repositories on a Microsoft-owned website, and can just randomly disappear sometimes.

    5. Qt generally takes a ton of extra steps to be able to run on Nix. And have you actually ever opened the wrapper the Nix hooks generate to see what it’s actually doing? For one of my applications just now, you get a 43kb Bash script with apparently 581 assignments to just a handful of QT and XDG-related environment variables.

    6. OpenGL doesn’t look safe either. Nix handles the drivers its own way, so to get OpenGL for Nix packages to work on other systems, you have to jump through some hoops. I assume the same amount of work in the opposite direction would be needed to use EG proprietary or statically compiled graphics applications on NixOS too.

    7. Running precompiled binaries on Nix looks… Involved, as well. Sure, there’s tools to automate it. But that only hides the complexity, and adding an opaque dependency sorta defeats the entire purpose of configurability and composability IMO.

    I’m sure most of these problems are “solved”, in the sense that NixOS implements workarounds that are the default when you install the affected derivations, and there are wrappers written for most other cases. But all of that adds maintenance, fragility, and complexity. It remarkably works well enough for userspace, but stuff like this still feels a bit house-of-cards-y for the basic OS and desktop. It’s not Nix’s fault, but so much of the work that goes into Nix seems to be just to force software that was never designed for it to run on it. Ultimately, the Linux FHS has momentum and adoption. Nix’s technical design might be compelling, but so are interoperability, stability, and simplicity.

    The NixOS enthusiasts are doing a lot of technically interesting work, but I personally find the results of that work most useful outside the NixOS ecosystem. And I do think Nix as a package manager is really great. Ever since I’ve installed it, I’ve basically incorporated it as a major component or tool in every sizable software project I’ve since started. But I just personally wouldn’t want to base an entire OS on it.


  • I’m saying that’s a way I might personally consider going if I were to set up a new computer. Rock solid base that you can still get normal packages and binaries to run on without much hassle if needed, plus Nix with more up-to-date packages that you can customize however you find most useful.

    Personally I have a mix of rolling/regular repos, AUR, Nix, Flatpak, and static binaries. They all have their uses, TBH.


  • Nix is great. But I don’t think I’d want to use it for a desktop OS base.

    (Disk space/cycle life potential, binary cache misses, broken packages, and complete incompatibility with everything else. User error, TBH, but also stuff that’s not really a problem with other systems. Well worth it as a package manager, though.)





  • It’s a condensation surface on which vapours revert to droplets in a liquid state due to the colder ambient air-cooled temperature of the leaf compared to the gaseous medium and heat source below it (and therefore lower vapour pressure immediately next to its surface), allowing the condensate/distillate to be collected and funneled for disposal, recycling, consumption, and/or another stage of distillation, and, in this case, producing an increasingly concentrated azeotropic water-ethanol solution which you can sell for the big bucks.

    …Slightly simplified, of course. You may in fact need multiple leaves over pots, or even a couple leaves bent into funnels/chutes, and possibly even one pot over another pot.

    I.E., By definition, a leaf over a pot is a still, as long as you put it at a slight angle and leave a small hole at the edge so the distillate can be collected. ­— Again: Physics provides, money is mostly an illusion/labour optimization mechanism, and sheet metal might be convenient for this use case but literally everything is materials. … If your only thought on how to produce a technology yourself is “Who can I pay for this?”, then, yeah, you’re not thinking in the right lines to get there.


    On another note, I like your username though. Did you know they do like pump jet lifting body action stuff in the air? Really cool.


  • “Science” ≠ Technology!

    If you give them the technology without giving them stuff like empiricism and cultural acceptance of critical thinking, they’ll just worship it like any other faith, and stagnate for the next thousand years.

    Inversely, you don’t even need to give them too much technology, because if you just give them stuff like evidence-based medicine, the printing press, rigorous experimentation and reproducibility, and a couple institutes dedicated to the craft, plus a couple starting points, then they’ll figure it on their own soon enough (assuming an overall stable civilization).