• 0 Posts
  • 5 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle
  • As far as I’m aware, most of the “dangerous” lua api (io/network etc) is blocked and only available to mods during the startup phase, and not otherwise during runtime.

    But I’m sure there are workarounds. For one, I’ve written mods with rust for it, and you can require and then call any dynamic library through lua, with all of the io and networking you’d want, as long as it is brought in during the init phase. And the mods that do access the “dangerous” api, have to be explicitly given rights to do so (but again, by the server, not the clients) in the config before it works.

    It’s not that bad for the most cases, as long as you trust the server. If playing single player, you personally control which mods get the secure environment access, so at that point it’s entirely your own fault, if you get exploited.


  • orgrinrt@lemmy.worldtoMemes@lemmy.mlelon is a lame poser
    link
    fedilink
    arrow-up
    16
    ·
    edit-2
    4 months ago

    Yup, that seam/twist there on the foreground is almost a definitive giveaway

    Edit: I mean I guess that especially a rich person could, for some reason, wear a weird ass scarf designed by someone who thinks in a very out-of-the-box way… but which is more likely?


  • orgrinrt@lemmy.worldtoMemes@lemmy.mlrice
    link
    fedilink
    arrow-up
    3
    ·
    6 months ago

    Just saying, Steam controller is great and works amazingly still, made only better by the ongoing updates to steam input.

    I’m not sure what else they’d need to do. Other than still produce it, I suppose 😅



  • Yeah, the two aren’t equivalent and the original has more conditions than the new one, so without context this just doesn’t make sense in this example.

    A is “” only when B is also “”, otherwise we return f()

    In the new one we simply say that regardless of what B is, we’ll just call f(), entirely skipping the case where B == “”.

    Probably this specific condition checking was moved to the inner scope of f(), but this example does not tell us (who don’t know the context) that. Or maybe the check is redundant, but that also isn’t signaled in any way.

    Or then maybe I’m just oblivious to the optimization, in which case I can see why the maintainer would take their time figuring that out. It’s not anything obvious based on that alone, at least to me, and I would say I have some experience in this field.

    Edit: But yeah this is basically just semantics, I’m sure they gave apt description in the PR, so the context would be explained there and none of this really matters. I just like to ruminate about little things like this for some reason. Didn’t mean to imply they didn’t do a good PR, just that this specific example was either confusing or confused.