• 6 Posts
  • 787 Comments
Joined 11 months ago
cake
Cake day: July 31st, 2023

help-circle


  • To offer a differing opinion, why is null helpful at all?

    If you have data that may be empty, it’s better to explicitly represent that possibility with an Optional<T> generic type. This makes the API more clear, and if implicit null isn’t allowed by the language, prevents someone from passing null where a value is expected.

    Or if it’s uninitialized, the data can be stored as Partial<T>, where all the fields are Optional<U>. If the type system was nominal, it would ensure that the uninitialized or partially-initialized type can’t be accidentally used where T is expected since Partial<T> != T. When the object is finally ready, have a function to convert it from Partial<T> into T.







  • There’s defending yourself, and then there are war crimes. The government of Israel has stepped so far beyond the line that someone would have to either be supporting their crusade or burying their head in the sand to think they’re not genocidal maniacs.

    We have:

    • Bombing refuge areas after suggesting civilians go there to avoid the conflict.
    • Flattening hospitals.
    • Soldiers pretending to be doctors.
    • Soldiers assassinating targets in hospitals.
    • Sabotaging support from international humanitarian aid organizations.
    • Destroying civil infrastructure.
    • Killing children.

    I’m sure there’s plenty more that I missed, too.


  • pivot_root@lemmy.worldtoLinux@lemmy.mlSSH as a sudo replacement
    link
    fedilink
    arrow-up
    5
    arrow-down
    2
    ·
    7 days ago

    The problem is that they’re trying to frame it as a better replacement for sudo when it’s really not.

    In some respects, it’s safer by not using a setuid binary. In other respects, it massively increases the surface area by relying on the correctness of three separate daemons: systemd, dbus, and polkitd. If any one of those components are misconfigured, you risk an unauthorized user gaining root privileges.

    With sudo, the main concern is the sudo process being exploited through memory safety bugs since it runs at root automatically.

    Don’t get me wrong, sudo has a lot of stupid decisions and problems. There’s a ton of code in sudo for features that almost nobody uses, and there’s bound to be bugs in there somewhere. It needs to be replaced with something simpler, but run0 is not that.