• 0 Posts
  • 174 Comments
Joined 8 months ago
cake
Cake day: June 23rd, 2024

help-circle
  • Rust is dead. Haven’t you heard? We’re rewriting everything in Zig now.

    I don’t think the broader zig community has the rewrite spirit that the rust community has. For Rust, this mentality was also motivated by an increased security, which zig does improve over plain C, but not to the extent Rust does.

    To preface anything that follows, I’m not a developer, so this is little-informed opinion.

    Writing in rust just doesn’t seem very enjoyable. It’s a language with security in mind, which is a good thing. However, zig also isn’t inherently insecure (though it doesn’t provide the same security guarantees) and coding in it just seems so much more pleasant. To me, the language makes more sense, which is also something I like about Go. Even manual memory allocation looks well-designed. At no point did I look at zig and thought “oh, that’s an odd choice”.

    The language isn’t frozen yet though, so everything you write in it may require changes later on, so I wouldn’t recommend it for anything in production. Notably, there’s no built-in async or something comparable. If you’re fine with these limitations, go ahead and try it out, and if you feel like it, maybe even rewrite an existing tool in it.

    ncdu for example is such a tool where the original author rewrote it in zig for version 2.







  • Realtime is not about being fast, it’s about time guarantees. It helps with or is required for workloads that require realtime, which I think includes audio production, but might also be helpful for things like controllers etc. where you need to make sure incoming data is processed in a guaranteed time or else fail. Browsing the web isn’t part of these, so an RT kernel will most likely be a hindrance.


  • It never states that they had these in their birth years. Just that they had them. Might have been in the 2020s with the Koenigsegg Jesko Absolut, which is the fastest car and was built in their lifetime. And coincidentally, currently the fastest in my lifetime as well









  • Fish is a surprisingly good shell.

    It’s not POSIX compatible, but I don’t really care, it only executes its own scripts / functions. It’s not as innovative as elvish or nu, but it kind of does everything very conveniently and shell-y for lack of a better word – and it always seems so simple. It seems conservative in design, but the old concepts have been evolved in a very usable way. Something I can’t say for all the other shells I’ve tried – at some point, it always gets awkward where fish is just elegant.




  • It’s rather simple in good cases, here’s my version:

    {
      lib,
      fetchFromGitHub,
      rustPlatform,
      perl,
    }:
    
    let
      pname = "managarr";
      version = "0.4.1";
    in
    
    rustPlatform.buildRustPackage {
      inherit pname version;
      src = fetchFromGitHub {
        owner = "Dark-Alex-17";
        repo = pname;
        rev = "df9bba32cb1628fe0bdf33c71089d7ae085066d4";
        hash = "sha256-2KWuqv0nxMc+H+lmuNQ0lbEm5yE2akuZTa7PT5JcvBs=";
      };
    
      cargoHash = "sha256-hB4uRgVUp6YngMoXqd03U/n+HdlcYdL5bwvTxI4xCLE=";
    
      nativeBuildInputs = [ perl ];
    
      meta = {
        description = "A TUI and CLI to manage your Servarrs";
        homepage = "https://github.com/Dark-Alex-17/managarr";
        license = lib.licenses.mit;
        maintainers = [ ];
      };
    }
    

  • No worries, I look forward to using this in the future :) (though probably rarely, I don’t use my *arr stack often)

    Once you have pushed your next release, I’ll submit the package definition I wrote to nixpkgs, currently worked around the ordering by checking out two commits after the tag, but since there’s no rush to push this, I’ll wait for the next release.