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

help-circle

  • TypeScript is still built on JavaScript, all numbers are IEEE-754 doubles 🙃

    Edit: Actually I lied, there are BigInts which are arbitrarily precise integers but I don’t think there’s a way to make them unsigned. There also might be a byte-array object that stores uint8 values but I’m not completely sure if I’m remembering that correctly.




  • It’s naive to think that someone is at fault for falling prey to the psychological tactics publishers use to push people toward micro transactions.

    If you think about it, it’s really not that different from saying people with gambling addictions deserve to be broke. Microtransactions might seem like an obvious scam to a lot of people, but a lot of people fall it and waiving it away and saying they deserve it will only make the problem worse.



  • Couldn’t aimbots be picked up as odd movement and be detectable on a server though? Kind of similar to how those “not a robot” checks can tell if a human is clicking on the box just by looking at the movements of the cursor.

    In addition, things like textures and game-modifications could be picked up in part by things like checksum verification to make sure the client is unmodified (assuming the files are modified on the disk and not in memory)

    I feel like most client-side changes like see-through walls or player highlighting make themselves pretty obvious when aggregated over multiple games. A good user-reporting system could probably catch most of these.

    I definitely agree though, allowing multiple random companies to install ring 0 rootkits should not be the norm. Honestly, even a Windows-level anticheat would be problematic because it would only worsen the monopoly Microsoft has on competitive games as a platform. A new solution would need to be cross-platform or else it would only be marginally better than what already exists.




  • Preface: I’m not an expert in this yet but I’m pretty interested in learning about systems-level topics so if I’m wrong please correct me!

    Yes, the thing about anticheats and anti viruses is that they are only useful when they have access to the underlying resources that a virus or cheat engine might try to modify. In other words, if cheating software is going to use kernel-level access to modify the game, then an anticheat would also need kernel-level access to find that software. It very quickly became an arms race to the lowest level of your computer. It’s the same with anti viruses.

    IMO the better strategy would be to do verification on a server level, but that probably wouldn’t be able to catch a lot of cheats like wall hacks or player outlines. At some point you just have to accept that some cheaters are going to get through and you’ll have to rely on a user-reporting system to get cheaters because there will always be a way to get past the anticheats and installing a separate rootkit for each game isn’t exactly a great idea.


  • It’s a setting you can change in your lemmy profile, and having the bot setting turned on doesn’t stop you from posting manually.

    I’m not sure if it goes the other way around though so bad-faith bot posts pretending to be real people could probably still happen if the bot setting is never enabled.

    Edit: just to be clear Blaze is definitely not a bot but I don’t think bots necessarily have to have the bot icon.


  • Technically I think python already has an intermediate step that it uses before it starts running a script that compiles it into a lower-ish language (at least the cpython interpreter does this, it probably isn’t a part of the language specification though)

    The actual line between JIT languages and interpreted languages is pretty thin since I think most interpreted languages do something similar to minimize the amount that needs to be done at runtime


  • Screw it. Let’s actually make python script an ISA that gets run on physical hardware with no higher level tooling. Then we can have the python virtual environment which runs this for fools who don’t have the right hardware. Finally, when people start complaining about naming we make Python Script 2.1, which is a JIT language built on top of IL that looks nothing like either of them but can emulate both python and python script with the performance cost of being a quarter as fast as both.


  • I’m also Gen Z and this was me for a while as well. Something that really helped me is not focusing as much on all of the million things going wrong that are way out of my control, and taking smaller steps wherever I can to try to make things better. That shift in perspective has made a lot of things more manageable and less overwhelming even if I still ultimately have the same negative outlook on everything that’s going on right now.




  • Imo it’s context dependent. Obligatory “I’m only a college student/intern” out of the way.

    Whenever I’m working with a project with multiple languages (e.g. split frontend+backend, different connected services, etc.) operators like that can get blurry when they aren’t consistent between lancuages. Especially when one of those languages doesn’t have runtime type enforcement or has weird boolean behavior (looking at you JS/TS) which can lead to unintended behavior

    If everyone on the project is only working with that language, then your point is probably pretty close to the mark.