this post was submitted on 19 Apr 2024
888 points (98.7% liked)

linuxmemes

21234 readers
20 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] intensely_human@lemm.ee 33 points 6 months ago (2 children)

    People don’t like it because it’s declarative. It felt cool to be able to just put bash files into certain directories to have them executed on startup. That was elegant, in the sense of “everything’s a file”.

    systemd is more of an api than a framework, so it’s a different design paradigm.

    I hated systemd until I printed out the docs, for some coffee, and sat in a comfy chair to read them front to back. Then I loved it.

    Mostly I hated it because I didn’t know how to do things with it.

    Also, “journalctl” is kind of an ugly command. But really, who gives a fuck. It’s a well-designed system.

    And if a person absolutely must execute their own arbitrary code they can just declare a command to execute their script file as the startup operation on a unit.

    [–] Potatos_are_not_friends@lemmy.world 22 points 6 months ago* (last edited 6 months ago) (1 children)

    Your comment summarizes my entire programming career.

    These steps:

    1. Be taught that there's a specific way to do something because the other ways have major issues

    2. Find something that goes against that specific way and hate it

    3. After a lot of familiarity, end up understanding it

    4. Have a mix emotion of both loving it because it functions so well and hating it because it doesn't align with the rules you've set up

    [–] intensely_human@lemm.ee 5 points 6 months ago

    Developer cognition is the most expensive resource on any programming project. It is entirely rational to stick to tried and true ways of doing things. A developer’s mind is generally at capacity, and putting some of that capacity into learning new tricks comes at the cost of all the other things that developer can be doing.

    And it’s not just a matter of time. Generally speaking, a developer can only do so much mental processing between sleep cycles.

    That’s not to say it’s always bad to learn new things. In fact one has to in order to keep the system working in a changing world.

    But throwing shade at developers who hesitate to learn new things is foolish. I’d recommend every developer do shamatha and vipassana meditation so that they can more accurately monitor the state of their own mental resources. Those mental resources are the most valuable and most expensive resources on the project.

    [–] pkill@programming.dev 3 points 6 months ago

    Good that you've enjoyed it. But a fundamentally wrong thing about systemd is that it is actively harming the best thing about Linux – freedom. Some programs won't work on a non-systemd distro because how tightly coupled and vendor non-agnostic anything that becomes dependent on might become at times. Of course it's not as bad as glib(loat)c, but still if something can be done without any degradation of functionality via standard POSIX facilities, WHY either incur additional maintenance overhead for non-systemd implementations or punish people for their computing choices if there's no one to maintain it?