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

help-circle




  • They are branded, so effort would have to be put into making them appear to be authentic.

    Not really. Branded QR codes are just regular, unbranded QR codes but messed up— You basically just stick the the branding right on top, and then let the built-in error correction take care of the rest. Should take all of 5 minutes to set up, or maybe 20-30 if you wanna be a stickler for detail.

    And I think it’s improbable that staff wouldn’t notice.

    If I were working at the restaurant— I think I’d notice after a couple weeks— They’d have impunity up to then— But even then, I’d just assume the management switched it out or patched it up because they wanted to change the link for metrics or messed up something backend or something like that.

    The staff is paid to wait tables, not to audit cybersec from the perspective of the customers.

    And again, the roi for the bad actor seems incredibly poor.

    Probably highly variable.

    If the restaurant has a lot of patrons that are wealthy and technologically illiterate, with banking apps on unupdated phones with known exploits, then you’d think “ROI” is basically everything in the bank accounts of the patrons.

    Same if the online menu includes online payment options for whatever reason.


  • Regardless of age, I think you could probably argue that the small, glowing rectangle in your palm is an inferior reading and dining experience compared to an actual menu.

    That’s not even to mention the unholy abomination of a tech stack that a system like this would be— Camera, QR decoder, web browser, WiFi/cellular, their web server— That signal might travel hundreds of miles to your ISP, their host, and then back— Probably a couple layers of outsourcing/contracting/helper apps they used to set it up— Though it’s apparently normal to take all that for granted these days, it’s still sorta ridiculous.


  • Lmao, I’ve had literally 40-70GB of highly active application swap on an SSD for the last couple months now because I opened stuff and then didn’t close it.

    That said, I chose and installed that drive years ago specifically for this use case (though originally for less intensive/more reasonable cases), and I’m aware of the stupidity of letting it be used like this now.




  • …That’s a salt, though, right?

    If you’re counting non-NaCl salts as answers, then basically any “mineral” our body needs would probably be delivered at least partly in salt form. Just reading off some multivitamins here:

    • Calcium Carbonate
    • Chromium Chloride
    • Cupric Sulfate
    • Potassium Iodide
    • Ferrous Fumarate
    • Magnesium Oxide
    • Manganese Sulfate
    • Sodium Molybdate
    • Sodium Selenate
    • Zinc Oxide

    (I haven’t fully checked all of these are salts­— But I mean, a lot of of them are blatantly chemical analogues of stuff that definitely is salt (E.G. “Potassium Iodide” vs. “Sodium Chloride”), plus they’re metals bonded to ionic groups so they’re definitely not alloys or covalent molecules or ceramics.)

    This is probably because in order for our body to absorb stuff, it basically has be water-soluble, which means salts work quite well.

    When eating real food (plants, animals, and fungi), I assume a lot of this won’t be in salt form, but rather it will mostly be bound up in proteins and DNA and such. For example, iron should be primarily in hemoglobin instead of ferrous fumarate. But some of it, for example the potassium, will definitely be technically in the form of dissolved salts/minerals in the fluids inside the food.

    You can of course also rearrange the compounds around. For example, this can of Windsor-brand “salt free salt substitute” I have here further lists:

    • Potassium Chloride
    • Calcium Silicate
    • Magnesium Carbonate

    You’ll note that these are some of the same components as in the list above, just a different combination. I’m pretty sure any ionic mineral that includes at least one ion that our body needs technically counts as “food”, as long as the other half isn’t poisonous— They should be basically the same when they dissolve in the water in our stomachs anyway.

    Meats can also be preserved by adding nitrates and nitrites to it, though technically I guess that’s more of a likely-carcinogenic additive than part of the “food”.

    Fun fact: Your body sorta knows when it’s low on minerals, and will want to start eating dirt and rocks in order to make up for it! Over 100 different types of primate do it too. So in that case, you could probably argue that plain rocks and soil literally are food, in that they provide vital nutrients the body needs and that your brain is smart enough to know that. …These days it’s apparently considered a mental disorder, but I swear it made much more sense back when the likeliest thing you were going to eat was some mud, rather than lead-contaminated radioactive refrigerants or whatever it is we’ve surrounded ourselves with.

    Enjoy, also, this lovely video from a chemistry Youtuber and his friends taste-testing which alkaline-chloride salt tastes the best!


    I am not a doctor. Don’t go around eating rocks unless you’re a bird or some other type of dinosaur.



  • 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.)




  • bwrap is so much better without Flatpak.

    To start you off: $ bwrap --dev-bind / / --tmpfs ~ bash

    This basically gives you a shell in a clean virtual home directory (but no meaningful security improvement yet). You can test new builds of software as if you have only the default settings. If you need to access files, move them to /tmp/.

    To see the clean virtual home directory, replace --tmpfs ~ with --bind "$(mktemp -d)" ~. You can browse it where mktemp puts it (usually /tmp/*).

    To start to lock down security, replace the --dev-bind with --ro-bind, and add various --new-session, --uid/--gid, and --unshare-all/--unshare-* flags. You can run untrusted and semi-trusted/less-trusted applications with less security risk this way (as long as you’re aware of pitfalls, such as the /tmp/.X11-unix/X0 socket and other possible avenues of escape).

    To block network access, use --unshare-net or --unshare-all. To virtualize /dev and /proc, use --dev /dev and --proc /proc.

    Some programs might need --dev-bind /dev/dri /dev/dri for graphics driver access, or similar constructs.


  • 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).