• 0 Posts
  • 27 Comments
Joined 7 months ago
cake
Cake day: December 16th, 2024

help-circle
  • Yeah, none of that with bat:

    λ bat $(type -P bat)
    ───────┬──────────────────────────────────────────────────────────────────────────
           │ File: /usr/bin/bat   <BINARY>
    ───────┴──────────────────────────────────────────────────────────────────────────
    λ bat < $(type -P bat)
    ───────┬──────────────────────────────────────────────────────────────────────────
           │ STDIN   <BINARY>
    ───────┴──────────────────────────────────────────────────────────────────────────
    λ
    










  • Yeah, the way things work in Norway and I expect in most other European countries is that you don’t get a citizenship for just being born here, but if you’re born and raised here, then by the time you’re of school age you’d have lived here long enough to become a citizen, and unless your parents isolated you, you shouldn’t have any problems with language requirements.

    Basically the system here is “stay here for long enough and make a bit of effort for integration and sure you can become a citizen”.

    Of course, the far right loves to portray this as “unrestricted immigration” and make it harder for people to do that, or even live normally, get education and services for their kids, etc. And then complain when the result is people who feel that the system isn’t working for them, or who have trouble because they’re uneducated and poorly integrated anywhere.



  • Leaking isn’t really the issue, though I suppose Rust helps with that as well. Its memory sales pitch is more about memory safety, which is not reading or writing the wrong parts of memory. Doing that can have all sorts of effects, where the best you can hope for is a crash, but it often results in arbitrary execution vulnerabilities. Memory _un_safety is pretty rare and most prominent in languages like C, C++ and Zig.

    Rust also has more information contained in it, which means resulting programs can actually be faster than C, as the optimizer in the compiler is better informed.





  • How do you know a post was written by a systemd hater? Easy, they’ll spell it with a big D for some reason. It reminds me of how Norwegian rabid anti-cyclists are unable to spell “cyclist” for some reason.

    Claiming you don’t want to restart an old debate and then trying to restart it anyway is pretty funny.

    You might also want to keep in mind that you can’t really force an init system on Linux distros. Systemd became the norm through being preferred, as in, the people using and maintaining it think it’s good. At this point you might as well be ranting about how “LinuX is evil somehow” and we should all be using GNU HURD or Minix or something.

    Also: Haven’t thought about suckless in well over a decade, maybe closer to two? I guess way back in the day I was kinda intrigued by their ideas and used some of their products; these days I’d rather see them as something between an art shop and people who are playing a somewhat unusual game with themselves, but not particularly relevant to mainstream software engineering.




  • Yeah, another way to do it is

    #!/bin/bash
    set -euo pipefail
    
    if [[ $# -lt 1 ]]
    then
      echo "Usage: $0 argument1" >&2
      exit 1
    fi
    

    i.e. just count arguments. Related, fish has kind of the orthogonal situation here, where you can name arguments in a better way, but there’s no set -u

    function foo --argument-names bar
      ...
    end
    

    in the end my conclusion is that argument handling in shells is generally bad. Add in historic workarounds like if [ "x" = "x$1" ] and it’s clear shells have always been Shortcut City


    Side note: One point I have to award to Perl for using eq/lt/gt/etc for string comparisons and ==/</> for numeric comparisons. In shells it’s reversed for some reason? The absolute state of things when I can point to Perl as an example of something that did it better