I’m the Never Ending Pie Throwing Robot, aka NEPTR.

Linux enthusiast, programmer, and privacy advocate. I’m nearly done with an IT Security degree.

TL;DR I am a nerd.

  • 1 Post
  • 213 Comments
Joined 1 year ago
cake
Cake day: November 20th, 2024

help-circle


  • Are these “other features” hard dependent on systemd? If yes, how are they modular (or portable)? “My program can be used on any system with a couple of small dependencies: Linux kernel, glibc, and the systemd Kernel” /j

    There are some attempts to use systemd tools independent for it, like elogind and eudev, but see what I mean. Hard forks (with major rewrites) are required because these tools heavily depend on systemd, which fine I understand having dependency, but you cant just use part of systemd since it is to tangled together. It would be nice if mire of systemd code was available as separate libraries so you could further reduce attack surface by building a significantly slimmed version of systemd+feature. I am unsure if you meant modular as in “you can choose to enable them” or as in “you can build without them” or both.

    Also, I never claimed systemd ran everything under pid1, just plenty more then the should be, like init plus service manager (and more), not every single systemd tool because that would be beyond stupid and systemd isnt made by idiots.



  • Disclaimer: I use systemd distros. I dont hate systemd, I just like the ability for alternatives to flourish without fighting an uphill battle.

    It has major project scope creep (does too many things that arent init or service management), isn’t modular or portable, only just gained support for muslc, it runs most of its init and management things in pid1 (which is a security and stability issue), it is a massive C program (large attack surface), it isnt very fast when compared to any other init (especially s6 or dinit which boot in under 4 seconds), it implements non-standard interfaces which just encourages further dependency, etc.

    Systemd is like the Walmart of Linux OS tools. It replaces many other options and does things good enough (not the best, good enough) to make it worth it to use them and their ecosystem, and they make things simple to use. But just like Walmart, they undercut other options, stifle adoption, until they are the only shop in town.

    Dinit does everything I need out of service manager, has similar command utilities and syntax to systemd, is much faster, simpler and cleaner code, avoids many of the pitfalls of systemd, supports user services. s6 is pretty good to but kinda terrible UX.

    The simplest answer to why I dislike systemd is that with all the major distros using systemd, it will become harder and harder to use most Linux software without systemd and its growing set of utilities. If systemd made an effort to work with the community to implement standard interfaces then alternatives could flourish without requiring large on-going patches to much of the Linux software ecosystem. It will only get worse from here. Systemd is (basically) the init of Linux and I think that is sad.





  • I hate how LLMs have made any talk about machine learning immediately cause a bad reaction for most people. ML isn’t inherently bad. LLMs are a neat technology, but it is hard for people to understand that when capitalism does what capitalism does best (extract and pervert). Now no one is excited to see anything related to ML.

    I remember when GAN images started to be shown around the internet (which looked like acid trips lol) and I was so excited to see the technology improve. Now no one is excited to see anything ML because it is being used to do the worst things: spy, replace workers, cheat, propagandize, steal from the commons, lie, destroy the environment, destroy the economy, and (of course) kill people.



  • Some people don’t understand that systemd isn’t the only init system, not even just the only init with modern features. We have runit, OpenRC, s6, dinit, each with very levels of features. The reason there is no real competitor to what systemd does is because it is “cheating”, and by that I mean systemd isn’t just an init system. It has major scope creep, trying to do everything. It isn’t even the best at doing what all the other software it replaces (like DNS, time, etc). What it offers that is irresistible to developers is unifications and abstractions which make developing for Linux simpler. This though is the exact opposite of what many people love about Linux: the option to pick and choose.