• 0 Posts
  • 361 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 just got to work and plugged my surface pro into my external monitor. It didn’t switch inputs immediately, and I thought “Linux would have done that”. But would it?

    Nope. My laptop for example doesn’t automatically use an output when plugged in, but that doesn’t bother me because I know other DEs would do that, and it’s my choice of having a minimal window manager that causes that.

    And this goes into your next point, because I know that this comes from decisions I made, I’m okay with that. I also know I could probably fix it somehow, even if just by running a script in the background that checks if an output is plugged and tries to use it.

    And for me that’s the big difference. As a general rule when things break or don’t work are not the fault of Linux as a general, but of a specific piece of the stack, and more often than not it’s because that piece was backwards engineered without any help from the manufacturers of the hardware it’s meant to be controlling, so I can be very tolerant of these errors since the bad guys here are the third-party who’s refusing to make their things work on Linux. But even things that don’t work as I want to, I can make them do so, and that’s a huge change in viewpoint.

    In other words, on Windows I used to be of the thought of things you can do, and things you can’t, with time I noticed that in Linux this thought shifted, to the point that the only question I ever ask myself is: “HOW do I do this?”. This implies that there are no impossible things in Linux, which is obviously false, but I would argue that the correct way to think about this is “things that are impossible on Linux, for now”, and that’s a huge difference, because Linux is always evolving and getting better and better, things you thought are impossible now might be trivial in a few months or years whenever someone with the knowledge to fix it gets bothered with it.


  • First of all you’re missing the point.

    Drivers are automatic during setup.

    That still means third-party drivers, so it’s still not a Windows win but rather a “windows is so ubiquitous that Logitech (or whoever) was forced to release a driver for it”, which is what the comment you’re replying was talking about.

    Secondly, bullshit. In my 20 years using Linux I have never, ever, plugged in a mouse that didn’t get immediately recognized and worked as expected. What mouse do you have? You said Logitech, which model? The only thing that I ever needed specialized software on a Logitech mouse was to configure extra buttons or to pair it to a different dongle (both stuffs that also need specialized software only provided by Logitech on Windows)


  • Those are the usual problems in Linux, they can be summed up by “Third party companies don’t support Linux”, and they are especially annoying because with time you learn that there’s no reason that thing shouldn’t work, other than because the company either purposefully figures out if you’re running Linux and crashes the program (e g. DRM, anti-cheat, etc) or because they created their own closed proprietary protocol and refuse to share the public API for it so it needs to be reverse engineered.


  • At the same time I think most people don’t think about how much prior knowledge you need to just be able to use Windows or Mac. And for someone without ANY prior knowledge all of them are the same.

    Story time, my MiL is a zero when it gets to computer literacy, to the point that every week I had to solve something for her. Eventually I gave her a laptop with Linux in it to make it easier for me to do support, and to my surprise she had lots of problems the first months when setting things up and until learning the ropes, but afterwards there were almost no problems.

    The thing is that people have a lot of Windows knowledge, so when they try Linux they expect it to be Windows and get frustrated when it’s not.


  • I’m fairly certain that SSH and whatever else you’re exposing has had vulnerabilities fixed since then, especially if modern distros refuse to use the ssh key you were using, this screams of “we found something so critical here we don’t want to touch it”. If your server exposes anything in a standard port, e.g. SSH on 22, you probably should do a fresh install (although I would definitely not know how to rebuild a system I built almost 20 years ago).

    That being said, it’s amazing that an almost 20 year old system can work for almost 10 years without touching anything.




  • Realistically whatever problems you see in python will be there for any other language. Python is the most ubiquitously available thing after bash for a reason.

    Also you mentioned provisioning scripts, is that Ansible? If so python is already there, if you mean really just bash scripts I can tell you that does not scale well. Also if you already have some scriptsz what language are they on? Why not write the function there?

    Also you’re running syncthing on these machines, I don’t think python is larger than that (but I might be wrong).




  • I have a Logitech mouse with extra buttons, I used Piper to set one of those buttons to be Play/Pause media button. It worked well, however for some reason it only worked when the mouse was connected via the dongle, via Bluetooth the button did nothing. So I configured to a random shortcut (don’t remember what it is now, something like super+p) and configured that to call playctl play/pause.

    Not as creative or duct tapey as others but it’s what I remember now, pretty sure there are many others too hahaha




  • 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.