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

help-circle

  • This will be almost impossible. The short answer is that those pictures might be 95% similar but their binary data might be 100% different.

    Long answer:

    Images are essentially a long list of pixels, each pixel is 3 numbers for Red, Green and Blue (and optionally Alpha if you’re dealing with a transparent image, but you’re talking pictures so I’ll ignore that). This is a simple but very stupid way to store the data of an image, because it’s very likely that the image will use the same color in multiple places, so you can instead list all of the colors a image uses, and then represent the pixels as the number in that list, this makes images occupy a LOT less space. Some formats add to that, because your eye can’t see the difference between two very close colors, they group all colors that are similar into one only color, making their list of colors used on the image WAY smaller, thus having the entire image be a LOT more compressed (but you might noticed we lost information in this step). Because of this it’s possible that one image choose color X in position Y, while the other choose Z in position W, the binaries are now completely different, but an image comparison tool can tell you that color X and Z are similar enough to be the same, and they account for a given percentage of the image depending on the amount minimum of the values Y and W. But outside of image software, nothing else knows that these two completely different binaries are the same. If you hadn’t loss data by compressing get images in the first place you could theoretically use data from different images to compress (but the results wouldn’t be great, since even uncompressed images won’t be as similar as you think), but images can be compressed a LOT more by losing unimportant data so the tradeoffs are not worth it, which is why JPEG is so ubiquitous nowadays.

    All of that being said, a compression algorithm specifically designed for images could take advantage of this, but no general purpose compression can, and it’s unlikely someone went to the trouble of building a compression for this specific case, when each image is already compressed there’s little to be gained by writing something that takes colors from multiple images in consideration, needing to decide if an image is similar enough to be bundled in together with that group or not, etc. This is an interesting question, and I wouldn’t br surprised to know that Google has one such algorithm to store all images you snap together that it can already know will be sequential. But for home NAS I think it’s unlikely you’ll find something.

    Besides all of this, storage is cheap, just buy an extra disk and move over some files there, that’s likely to be your best way forward anyways.



  • I’ve used ChimeraOS a while back. From what I heard Bazzite should be on a similar level to SteamOS, so if you’re okay with the limitations of a Steam Deck and just want that on your PC then you might want to try Bazzite. That being said that’s an OS for a PC that will be a console, just like SteamOS, it’s not a general purpose Linux and you might get issues trying to do day-to-day stuff on it.

    Also I don’t know how you install mods, if it’s via steam workshop they should work flawlessly, if you need something else you might have to jump through some hoops to get it, but again it’s the same hoops you would need on SteamOS.










  • Yeah, I have high hopes for the project, it ticks almost every box for me. I would still prefer to be able to store tags in the actual images and use them and also be able to recover a library already in the proper folder (so in the case of a catastrophic failure, reimporting the full library is a matter of minutes not days, not to mention having to retag people, etc).

    My point is that projects should ask for donations when they’re so early in development, asking for a subscription implies you have a stable product.




  • I don’t mind this model. That being said for me Immich is great but has a fatal flaw that has prevented me from using it: it doesn’t do updates.

    For me that’s a big one, everything else I self host I have a docker compose pointing to latest, so eventually I do a pull and up and I’m done, running the latest version of the thing. In Immich this is not possible, I discovered the hard way that they are not backwards compatible and that if you do that you need to keep track of their release notes to know what you need to manually do to update.

    I haven’t settled on a self-hosted photo management because of this. In theory Immich has almost everything I want (or more specifically, all of the other solutions I found lack something), but having to keep track of releases to do manual upgrades is stupid, this is a software, it should be easy to have it check the version on start and perform migration tasks if needed.


  • You should read about statistics. An aim-bot will be consistently accurate, humans are not consistently accurate. If your aim-bot is purposefully inaccurate then it’s useless. Long story short, your cheating has to be indistinguishable from human, which is HARD to accomplish, and if you do you’ll lose 50% of the matches against other humans.

    Not to mention a game with server side anti-cheat could purposefully send fake data, e.g. send a position for an “invisible” enemy, if you aim/fire to it you get tagged. It can do lots of similar stuff that would make the aim-bot less accurate than a human, e.g. every time an enemy enters line of sight add another enemy just outside of the frustum culling, or send an enemy behind a wall that has no visible parts. Cheaters will act on that information, regular users won’t. At that point the only way to bypass that is with external hardware that acts on the same information an actual user does (which also bypasses client side anti-cheat anyways), at that point you have a robot playing the game for you and losing 50% of the battles…


  • I’m not the person you were talking with, but I mostly agree with them.

    Here’s the thing, client side anti-cheating is a losing battle, it’s the equivalent of adding spikes to your key so you can give it to someone so they won’t be able to open your door, once they have the key they can remove the spikes. Client side anti-cheat can ALWAYS be bypassed, they rely on security by obscurity to prevent people from removing the actual check, but it’s a losing battle, no exceptions.

    Server side anti-cheat is the only method that has the possibility of being accurate. Like you said, you can make your aim-bot be indistinguishable from human, but then you’re going to be on a human level and other humans might beat you. Any game that worries about this already has a skill based matchmaking, which means that cheaters will end up playing with other cheaters or humans with a similar level of skill, so who cares?. You might get one cheater that’s still ranking up on a match, but on the long run they’ll cluster together.