*/1
Get out. You’re fired.
The sysadmin version of
if(predicate) { return true; } else { return false; }
Oh does * mean every minute anyway.
You are learning which is great.
YES
Believe it or not, jail.
What
JAIL
Believe it or not.
Yes but why are you saying that to me?
Gotta chain that with
arecord
too if you want the full, Orwellian experience.How to add a picture from the Webcam?
ha, yeah. Throw in some
fswebcam
too. lolDon’t forget to export your clipboard to plaintext
Its missing the command to forward every screenshot to Microsoft
Something like: > sftp://telemetry.microsoft.com that would be even better.
What does that command do?
Takes a screenshot every minute and saves it
Can you search the screenshots with OCR though? That’s Recall’s main selling point
You can start by running
sudo apt install tesseract-ocr
and then reading its docs.It appears to be as simple as
tesseract <infile> <outfile>
. Possibly could even pipe (or tee) the screenshot straight into that and save both an image and a text file in a single command line.So something like this should do the trick:
gnome-screenshot -f - | tee /Microsoft/yourPrivacy/$(date +%s).png | tesseract - /Microsoft/yourPrivacy/$(date +%s).txt
Skip the database, just use
grep
to search that directory if you need to find anything. Voilà, homemade Recall.It is much better to search using ElasticSearch or Sphinx. Grep is super slow, non indexed and can’t do natural language full text searches. It’s pretty much useless for any real world text search you’d want from OCRed content. And all these better tools are free and open source, so really a no brainer.
I’m sure there are many ways to improve on this solution, but they would all require significantly more effort (ElasticSearch isn’t exactly trivial to set up).
This is really just a proof of concept, the most minimal viable implementation that gets you something similar in terms of functionality.
For instance, Windows Recall stores OCR content tagged by app, this solution doesn’t. Also, as others have mentioned, a practical implementation should likely check if anything has changed at all and discard any screenshots that don’t have any new data.
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.
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.
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
That’s what recall is… It’s literally screenshotring and. Ocr / ai parsing Combined with a sqllite database
If only MS used DuckDB then they wouldn’t have such a huge PR disaster on their hands.