• 4 Posts
  • 441 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2023

help-circle

  • Bit fields are a necessity in low level networking too.

    They’re incredibly useful, I wish more people made use of them.

    I remember I interned at a startup programming microcontrollers once and created a few bitfields to deal with something. Then the lead engineer went ahead and changed them to masked ints. Because. The most aggravating thing is that an int size isn’t consistent across platforms, so if they were ever to change platforms to a different word length, they’d be fucked as their code was full of platform specific shenanigans like that.

    /rant











  • Great talk indeed. And I will quickly acknowledge that something had to be done, and that systemd had the courage to innovate and address the issues. I just wish it did so in a more transparent way to the end user.

    For instance: there’s a whole established system of dealing with logs in place. Why build a separate one just for your init system? Why binary? Why even integrate it with your init? I’m not saying storing everything on /var/log and using logrotate is ideal or even covers all use cases. But a log management system is its own thing.

    That’s just an example of how systemd didn’t jive with every other subsystem in a Unix like OS. It could have been done in a Unix way - small cohesive tools that are good at one job and can be combined to do more together.

    That’s where I think he missed the mark when dismissing the monolithic criticism by saying “it’s not a single binary so it’s not monolithic”. Its philosophy is monolithic.

    That said, I use systemd on my machines because that’s what my do uses and I don’t think it’s a reason to swap distros. For the same reason I use Linux and not a micro kernel. I.e. philosophy is important, but implementation is importanter.