• 0 Posts
  • 22 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle

  • noli@programming.devtoLinux@lemmy.mlArch or NixOS?
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    Did you truly read what I said? The only logical way I can frame your comment is that you glanced at what I wrote down and started writing a reply.

    To a regular average windows user, ubuntu is incredibly complicated. When you learm how it works and how you’re supposed to use it, it becomes incredibly easy. The “hard” part of ubuntu is the paradigm shift from windows to the linux ecosystem.

    Similarly, to an average linux user nixos is “hard” because it does things completely differently from other linux distros. But once you’re used to it, it just makes sense and is easy.

    So the comparison is average windows user -> ubuntu vs average linux user -> nixos. Not average user -> ubuntu vs average user -> nixos.

    Finally: Nixos documentation is IMO 100x better than ubuntu documentation. Whenever I experience any issue with ubuntu it’s easier to just load up the arch wiki and hope it’s similar than it is to try and find anything specific for ubuntu that isn’t either 10 years out of date, a massive gaping security risk or just plain dumb. The nixos wiki may not be perfect but it has always been sufficient for my needs, and I have to run a decent amount of very niche pieces of software.


  • noli@programming.devtoLinux@lemmy.mlArch or NixOS?
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    It’s incredibly complicated in the same way that ubuntu is incredibly complicated to a lifelong windows user.

    It just requires a bit of a paradigm shift which includes a learning curve but IMO once you’re past that point it’s intuitive and even easier than other distros.



  • noli@programming.devtoLinux@lemmy.mlArch or NixOS?
    link
    fedilink
    arrow-up
    1
    ·
    7 months ago

    The killer feature is declarative system management. Reproducible systems is just one of the resulting properties. You want to just try out KDE for a week coming from gnome? Good luck getting rid of all the bloat when switching back on arch. You want to run a program once but not necessarily have it installed on your system? You can do that with nixos. You messed something up and your system now doesn’t boot? You can go back to a previous iteration with nixos, no need to find your liveUSB to start messing with chrooting and stuff. Ever find yourself asking where the configuration file for is so you can edit it? The answer is /etc/configuration.nix Ever had to merge older configs with newer ones because the software updated? (If no, you haven’t been using arch for long) why would you need to do that? You declaratively specified how you want your system to behave and nixos will figure out how to translate that to the new config.

    And that’s just the “killer” features I use on a day to day basis



  • Oh yeah, it’s actually pretty extensive and expressive. If you’re interested in this sort of stuff it’s worth checking out the IR language reference a bit. Apparently you can even specify the specific garbage collection strategy on a per-function basis if you want to. They do however specify the following: “Note that LLVM itself does not contain a garbage collector, this functionality is restricted to generating machine code which can interoperate with a collector provided externally” (source: https://llvm.org/docs/LangRef.html#garbage-collector-strategy-names )

    If you’re interested in this stuff it’s definitely fun to work through a part of that language reference document. It’s pretty approachable. After going through the first few chapters I had some fun writing some IR manually for some toy programs.













  • I know they are used in google’s BigTable. All data there is stored in seperate SSTables and you can specify that a locality group should have bloom filters generated for its SSTables. Apparently cassandra has them too.

    Both are the same general application though and you already mentioned databases.

    I did think about using them at some point for authentication purposes in a webservice. The idea being to check for double uses of a refresh token. This way the user database would need to store only a small amount of extra storage to check for the reuse of a refresh token and if you set the parameters accordingly, the false positives are kind of a benefit in that users cannot infinitely refresh and they actually have to reauthenticate sometimes.

    Edit to add: I also read a paper recently that uses a datastructure called a collage that is closely related to bloom filters to perform in-network calculations in a sensor network. If I understand correctly, the basic idea there is that every node in the network adds a bit to the datastructure while it is in transit, so data from the entire network is aggregated. The result can then be fed to a classifier ML model. (Source: Oostvogels, J., Michiels, S., & Hughes, D. (2022). One-Take: Gathering Distributed Sensor Data Through Dominant Symbols for Fast Classification. )