• 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: December 16th, 2024

help-circle




  • One more puzzle piece here is that du won’t report on files that have been marked for deletion but are still held on to by some process. There’s an lsof incantation to list those, but I can’t recall it off the top of my head.

    It used to be part of sysadmin work to detect the processes that held on to large files if df reports that you’re running out of space, and restart them to make them let go of the file. But I haven’t done that in ages. And if you restarted the host OS that should have taken care of that.

    I assume you also know how to prune container resources.




  • That’s interesting I hadn’t thought about the JSON angle! Do you mean that you can actually use jq on regular command outputs like ls -l?

    No, you need to be using a tool which has json output as an option. These are becoming more common, but I think still rare among the GNU coreutils. ls output especially is unparseable, as in, there are tons of resources telling people not to do it because it’s pretty much guaranteed to break.


  • I’ve been using fish (with starship for prompt) for like a year I think, after having had a self-built zsh setup for … I don’t know how long.

    I’m capable of using awk but in a very simple way; I generally prefer being able to use jq. IMO both awk and perl are sort of remnants of the age before JSON became the standard text-based structured data format. We used to have to write a lot of dinky little regex-based parsers in Perl to extract data. These days we likely get JSON and can operate on actual data structures.

    I tried nu very briefly but I’m just too used to POSIX-ish shells to bother switching to another model. For scripting I’ll use #!/bin/bash with set -eou pipefail but very quickly switch to Python if it looks like it’s going to have any sort of serious logic.

    My impression is that there’s likely more of us that’d like a less wibbly-wobbly, better shell language for scripting purposes, but that efforts into designing such a language very quickly goes in the direction of nu and oil and whatnot.




  • I’ve very barely dipped my toes in dbus before, and the option to have something else is on its face attractive (not a fan of XML and the late 90s/early aughties style of oop), but JSON for a system interface?

    I mean, Kubernetes shows that yaml can work, but in this day and age I’d expect several options for serialisation, and for the default to be binary, not strings.

    String serialisations are primarily for humans IMO, either as readers or writers. As writers we want something with comments (and preferably no “find the missing }” game), so for that most of us would prefer something like TOML if the data is simple enough, and actually Yaml for complexity at the level of Kubernetes—JSON manages to be even more of a PITA at that level.

    But machine-to-machine? Protobuf, cap’n’proto, postcard, even CBOR should all be alternatives to examine



  • If ssh has a security issue and you permit root logins then hostiles likely have an easier time getting access to root on the machine than if they only get access to your user account—then they need multiple exploits.

    Generally you also want to be root as little as possible. Hence sudo, run0, etc.



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