this post was submitted on 05 Jun 2024
818 points (98.8% liked)
linuxmemes
21428 readers
775 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That's not the worst idea ever. Say a screenshot is 10 mb. 10x60x 8 hours =4800mb per work day. 30 days is 150gb worst case scenario. I suppose you could check the previous screenshot and if it's the same, then don't write a new file. Combine that with OCR and a utility to scroll forward and backward through time, it might be a useful tool.
Are you on 16k resolution or something?
When i take a screenshot of my 3440x1440 display it's 1MB big. I mean this doesn't change the issue in its core but dramatically downsizes it
they're running 10 screens in parallel
I just chose a number haha. That makes it much more feasible then.
Also, 1MB on full resolution. You could also downscale the images dramatically after you OCR them. So let's say we shoot in full res, OCR and then downscale to 50%. Still enough so everything is human readable, combined with searchable OCR you're down to 7,5GB for a whole month.
Absolutely feasable. Let's say we're up to 8GB to include the OCR text and additional metadata and just reserve 10GB on your system for that to make double sure.
Now you have 10GB to track your whole 3440x1440 display.
What's OCR?
Optical Character Recognition. Basically just extracting text from an image.
Optical Character Recognition
Making a program read a text in image form and make it computer-readable / searchable / selectable
Running OCR every second sounds like a great way to choke your CPU
Once a minute, and only if the screen contents change. I imagine there's something lightweight enough.
In order to be certified for running Recall, machines currently must have an NPU (Neural Processing Unit, basically an AI coprocessor). I assume that is what makes it practical to do by offloading the required computation from the CPU.
Apparently it IS possible to circumvent that requirement using a hack, which is what some of the researchers reporting on it have done, but I haven't read any reports on how that affects CPU usage in practice.
Recall analyses each screenshot and uses AI or whatever to add tags to it. I'd assume that's what the NPU is used for.
You could optimize it though.
As said one comment above, check if it's the same composition as before and don't take a screenshot if it didn't change. Make some rules to filter out video content so if you have a youtube video open it doesn't take a screenshot every second just because the video is running.
Or you could actually integrate this with your window manager. Only take a screenshot if you move / resize / open / close a window. Make a small extension for browsers that tell it to make a screenshot if you scroll / close / open a page. Then you don't have to make a screenshot and compare with the one before.
This wouldn't be as thorough as just forcing screenshots all the time and you would probably not catch stuff like writing a text in libreoffice as you don't change anything with the window. But it could be a resourceful way to do that.
And if for example no screenshot was taken for 1 minute because nothing called for that, you could just take one regardless. That way you have a minimum of one screenshot per minute or as often as window manager / browser calls for it.
That's why the new cpus have npus on board...
That's what recall is... It's literally screenshotring and. Ocr / ai parsing Combined with a sqllite database
I think it would be hugely useful.
But obviously I don't want a malware company like Microsoft doing that "for me" (actually the purpose is hyperspecific ads if not long term planning to exfiltrate the data).
Not sure if I even trust myself with the security that data would require.
If only MS used DuckDB then they wouldn't have such a huge PR disaster on their hands.
I mean taking the screenshot is the easy part, getting reliable OCR on the other hand ...
In my experience (tesseract) current OCR works well for continuous text blocks but it has a hard time with tables, illustrations, graphs, gui widgets, etc.
Hmmm... this gives me an idea... maybe we could even write a special algorithm that checks whether only certain parts of picture have changed, and store only those, while re-using the parts that haven't changed. It would be a specialized compression algorithm for Moving Pictures. But that sounds difficult, it would probably need a whole Group of Experts to implement. Maybe we can call it something like Moving Picture Experts Group, or MPEG for short : )
Just use JPEG instead of PNG.