[HN Gopher] Show HN: Rem: Remember Everything (open source) ___________________________________________________________________ Show HN: Rem: Remember Everything (open source) An open source approach to locally record everything you view on your Apple Silicon computer. Note: Relies on Apple Silicon, and configured to only produce Apple Silicon builds. I think the idea of recording everything you see has the potential to change how we interact with our computers, and believe it should be open source. Also, from a privacy / security perspective, this is like... pretty scary stuff, and I want the code open so we know for certain that nothing is leaving your laptop. Even logging to Sentry has the potential to leak private info. Author : jasonjmcghee Score : 321 points Date : 2023-12-27 22:56 UTC (1 days ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | xydac wrote: | cool concept, love the idea. Might be fun to integrate with local | llama to get most privacy | jasonjmcghee wrote: | 100% and local embeddings. This is the area i want to explore | next. | | The demo i showed with chatgpt works just as well with | openhermes2.5-mistral. But is instant with chatgpt instead of | 20s | ilumanty wrote: | How similar is this to rewind.ai (https://www.rewind.ai)? | jasonjmcghee wrote: | I only used rewind at alpha, so not sure how much they've | added, but it has the value i got out of it, and doesn't limit | your searches arbitrarily. | | - takes screenshots every two seconds - records all the text | via ocr - builds full text search with sqlite - allows you to | go back in time however far and select/copy text from there | | No meeting recording / audio recognition. Kinda irks me. Easy | to add though. | esafak wrote: | Rewind relies GPT-4 for the useful parts. I assume Rem will | support local LLMs? | | https://help.rewind.ai/en/articles/7791703-ask-rewind-s-priv... | jasonjmcghee wrote: | That's the plan. Very open to ideas on the best way to do it. | Seems like either Stdin/Stdout or API call via localhost. | pmarreck wrote: | I never heard of this until now but this looks amazing | | Would be even more amazing with a locally running LLM | jasonjmcghee wrote: | That's a core purpose of the project! | lnxg33k1 wrote: | I feel like recording everything is like recording nothing in | practical terms | conception wrote: | Think of it as closed circuit tv for your computer. You don't | need to watch 24:7 but you can go back for specific | incidents/information. | lnxg33k1 wrote: | Yeah I understand that, it seems that it tries to classify | activity in order to help finding relevant stuff seeing | let configuration = ImageAnalyzer.Configuration([.text]) | let nsImage = NSImage(cgImage: image, size: NSSize(width: | image.width, height: image.height)) | let analysis = try await ImageAnalyzer().analyze(nsImage, | orientation: CGImagePropertyOrientation.up, configuration: | configuration) let textToAssociate = | analysis.transcript let | newClipboardText = | ClipboardManager.shared.getClipboardIfChanged() ?? "" | qup wrote: | It lets you query any data once you realize what is important | (which might vary depending on the question you're trying to | answer). | | It's like law enforcement tracking everything we say. They | aren't catching many people right now, but wait until the | future when they start working backwards with logs. | steve1977 wrote: | And when things are illegal which weren't illegal when they | were said. | nextaccountic wrote: | i record every command in .zsh_history (like everybody else | does by default, but mine is configured to not have a size | limit) | | i often do things like | | history | rg .. | | it helps when you roughly know what you want to find, but want | to check some detail you forgot | dotty- wrote: | For those unaware: CTRL+R in terminal will also change your | prompt to search your command history. After typing, CTRL+R | again to cycle through matches. | dmd wrote: | what you really want though is fzf with C-r | mraza007 wrote: | Would agree 100% | | fzf supercharges your shell history I can't imagine my | life without it since I spend most of my day in terminal | atmosx wrote: | ...and if you're like me - I live on the terminal - tools | like atuin[^1] are very handy. | | [^1]: https://github.com/atuinsh/atuin | nextaccountic wrote: | Okay that's interesting, thanks | howmayiannoyyou wrote: | Comments: | | - Insanely useful with some changes. | | - Needs local llama support for privacy. | | - Needs pause/record functionality, ideally w/ preset exclusions, | again privacy. | | - If this could evaluate in real time at some point and start | intelligently adding value at that point it has the chance to | change things. | | My guess is that in 10 years this will seem absolutely archaic. | Now, it feels a bit like magic. | jasonjmcghee wrote: | Thanks for the feedback! You can start / stop remembering | whenever you want. | | As far as real time stuff and local llama- absolutely, on the | roadmap. | | I've been exploring / experimenting with embedding spaces and | local models a lot. | throwaway295729 wrote: | Are there instructions on how to launch the app? I'm able to | clone the repo but a bit lost on next steps | jasonjmcghee wrote: | Open in XCode and create an archive or run it directly. | | Or you can ise the release i uploaded. | | I added instructions for how to use it once it's open in | readme. | | Apologies for anything unclear! | nmjohn wrote: | > Note: Relies on Apple Silicon, and configured to only produce | Apple Silicon builds. | | Just curious, what is relying on apple silicon? | jasonjmcghee wrote: | Full disclosure, I haven't tested it on Intel, but I don't | think it will not be able to keep up with taking screenshots, | generating ffmpeg videos, and doing OCR that often and will | drain your battery very quickly. | | But if you / someone can get it to be efficient enough, | awesome! | kevincox wrote: | I think you underestimate computers. Taking 2fps screen | recordings is a trivial task. Doing OCR may be slightly more | work but at 2fps I doubt it is an issue. Worse case you could | tune the OCR frequency based on the computer's abilities. | frfl wrote: | You're confusing 2fps with 1-screenshot-every-2-seconds (or | 0.5fps), what the README actually says). | | I wouldn't be surprised if the battery issue is | problematic, likely will result in at least some kind of | battery life reduction, but perhaps not 30 or 50% at | 0.5fps. | | I haven't looked into the code, but if you're running | ffmpeg, then battery life will likely take a hit depending | on what exactly you're doing. Video encoding _can be_ heavy | on the CPU/GPU. | kevincox wrote: | That makes it even less work. Running ffmpeg is just | video encoding, I don't think a 0.5fps video would be a | huge issue. | | Lots of people work plugged in most of the time. I don't | see why one would want to gatekeep to keep them from | using it. | beardedwizard wrote: | What gate keeping? I just see a valid correction to your | misstatement and your reaction reads like a defensive | Karen wrote it. | kevincox wrote: | Not supporting a platform just because it may cause it | may cause battery drain which may not even matter to | plugged in users seems like gatekeeping. | 0xDEADFED5 wrote: | it's literally an open source MIT licensed hobby project. | fork it and improve it and share here. complaining about | it is kinda rude. | jasonjmcghee wrote: | I don't have an Intel Mac to test on- but you can | absolutely just clone it and swap the config to Intel | frfl wrote: | I have to agree. If you're interested in supporting | Intel(x86/64), it's open source, and you sound like you | have the hardware to add support for and test on Intel. | beardedwizard wrote: | Not supporting? The commenter simply said it may cause | battery drain. It is a discussion on the topic (both | sides based purely on conjecture), and a relevant one. | You disagreeing does not mean others are "gate keeping". | Stop trying to weaponize trendy language and white knight | this thread. | kevincox wrote: | The original README was claiming that relies on Apple | Silicon and that they have configured builds to exclude | other Apple platforms. I see it has been greatly softened | now to "Only tested on Apple Silicon, and the release is | Apple Silicon" which I think is quite reasonable. | | I have no problem with not supporting a platform because | you have no interest or any other reason, but previously | it was quite proud to not support it which is different. | beardedwizard wrote: | Ridiculous. You are working very hard to be offended. | philipswood wrote: | I haven't looked this codebase yet, but a screenshot every | few seconds isn't a noticeable slowdown on most machines. | | At such slow rates you don't need to create video - you just | keep the individual images. | | OCR doesn't need to be real-time, but can be done in batch | mode or when the machine is idle. | pedalpete wrote: | This is also what I was wondering. The demo is showing | recording a web-browser, and I'm wondering if that is all it is | doing. If so, wouldn't that mean creating a browser plug-in | would make this possible on any platform? | | I also don't understand the chatGPT component, and what it is | trying to tell him. Though I'm sure if you just threw the URL | and the screenshot to chatGPT, you could ask it questions about | that source. | | I'm not sure how useful this is tbh, or how I would use it. I'm | not saying it isn't useful, just that I'm not sure how I would | use it, or why it is useful. | Bombinator wrote: | > The demo is showing recording a web-browser He said it's | not recording but taking a screenshot every 2 seconds and I | assume it's not just for a browser but all text on the | desktop. | | > I also don't understand the chatGPT component You give it | context from the "recording" and it answers questions you | give it with that context info. | majikandy wrote: | Loving this concept perhaps really useful for my work laptop (as | in my own one but is only for work stuff) as quite often you just | want to quickly backtrack and find that piece of info you looked | at earlier rather than navigate to it again. I'd imagine | something like a physical wheel on your desk to wind back would | be amazing. I have a useless Bose one that never gets used, can | imagine it would feel very "black mirror" to use that to rewind. | jasonjmcghee wrote: | I love it. The touchpad feels pretty good, but a wheel would be | incredible. | | I debounce the livetext analysis on history so you should be | able to spin fast without issue | xiaq wrote: | A lot of custom keyboards have wheels (search "rotary | encoder"), common enough for qmk to support them | (https://docs.qmk.fm/#/feature_encoders). | majikandy wrote: | Can also see this being used by scammers/malware. Not saying it | shouldn't exist. It's really cool. Just scary. Great job. | jasonjmcghee wrote: | Fwiw requires you to explicitly give it permission to record | your screen. Would also require you to explicitly give it | permission to use network if it needed to make any requests. | | I'm super glad about this personally. | unnitle wrote: | I think op is referring to a similar attack vector used in | the recently presented "triangulation exploit" wherein | attackers used iOS' stored data from its own local machine | learning engine that classifies photos using object | recognition and stores text from images with ocr to | prioritise which photos from a victims phone had content of | interest for them. | | Seems a legitimate concern; unsure why op is receiving | negative attention for saying so. | albertzeyer wrote: | Long time ago, I did sth similar, i.e. made a screenshot every | few seconds, with the purpose to automatically extract | information from it, e.g. how long I was using some app. | | I wrote a PNG DB to split PNG images into many blocks and have | each block stored in a DB. If there are several equal blocks, it | is only stored once. Via a hash table, the lookup for such blocks | is made fast. With this PNG DB, I have a compression rate of | about 400-500%. https://github.com/albertz/png-db | | Some of the scripts I used to analyze the screenshots are here, | but in the end, it was not really so successful and reliable: | https://github.com/albertz/screenshooting | | In the end, that lead to another project, where I just was | storing that information more directly, i.e. what application was | in the foreground, what file was open. | https://github.com/albertz/timecapture | jasonjmcghee wrote: | I used ffmpeg to try to do smart compression for me (diffing | etc)- but run OCR first. Also did a poor man's text merging to | try to make use of the overlap from scrolling | kaetemi wrote: | On Windows I use a small program that grabs a frame every | second through the desktop API as a DirectX texture, and | compresses that straight on the GPU to h265 using AMF. I'll | upload the source in case it's interesting for anyone else. | WirelessGigabit wrote: | I would love this! | kaetemi wrote: | Alright, here you go. | | https://github.com/kaetemi/second_capture/blob/master/secon | d... | Jayakumark wrote: | Thanks for open sourcing it so fast | jdthedisciple wrote: | why does CPP code always look so messy and | unintelligible? | | like if I see C# or Python it makes sense to me at least | in some way | | whereas CPP code always looks like it's powering some | rocket engine? | | Also thanks for sharing! | jdrek1 wrote: | Well first of all, C++ is the language you'd be using to | power a rocket engine. And second, that code is a | terrible example because most of it isn't C++. Large | parts of that are very C like or directly C because it's | using the Windows API. | kaetemi wrote: | Largely because it's a melting pot of ancient and modern | coding standards. Got the C Win32 API along COM style and | then whatever AMF is doing. Makes things very verbose and | explicit. | | I've seen worse Python. | | Personally, I think it's charming. :) | diggan wrote: | > like if I see C# or Python it makes sense to me at | least in some way | | Could it be that you're just more used to looking at | C#/Python than other things, then other things are more | foreign and therefor look messy? | | As another anecdote, I cannot stand browsing/looking | through C# code as it tends to be filled with various | classes just to basically write very basic programs. The | amount of over-engineering I've seen in C# surpasses | everything else I've looked at. Not to mention how people | seem to arbitrary chose between private/public with no | real consensus on when to use what, everything seems to | be encapsulated in the wrong way. And don't get me | started on the infrastructure around it, csproj vs sln | and dealing with dependencies/assemblies. | | But then I mostly write Clojure code day-to-day, and I | realize that my troubles for dealing with C# is mostly | because of what I'm used to, not because the language | itself is inherently shit. I only have myself to blame | for this. I'm sure people who write C# day-to-day have | the same feelings about Clojure as I have about C#. | Jayakumark wrote: | +1 | kaetemi wrote: | See sibling comment response. :) | eek2121 wrote: | As much as I dislike the current AI hype, a local on-machine AI | model that can read/interpret videos/thousands of images | (basically a recording of screen time combined with | video/audio/handwriting of my everyday life), store it in an | indexed format, and project it back to me in an easy to | understand/quickly digestible format would be a godsend I'd | invest a lot of money into (provided false positives were close | to zero) | jasonjmcghee wrote: | I would love this project to serve that need and personally | want this to. | dlivingston wrote: | Absolutely. Combine it with real-time analysis of your | current screen, and you've got a computer that knows the | complete history of what you're doing and why. That kind of | global analysis could be _really_ useful. | reubenmorais wrote: | Rewind claims to do this, but you'll have to trust them on | the local claims, it's not open source: | https://www.rewind.ai/ | aragonite wrote: | Used to do this a several years back but on a windows machine and | without any of the AI stuff obviously. One use case I found is | for tracking down unpredictable and seemingly randomly occurring | bugs since you can rewatch the events leading up to the bug and | form better hypotheses about what might reproduce it. | | Eventually I had to stop because the fan was going crazy, plus I | couldn't bear seeing how slow and error-prone I was at typing and | at generally operating the computer (it never felt that way when | I'm using the computer, but _watching_ myself using it is a | different story) | 55555 wrote: | Another obvious option is to just access the browser's History | file and request and store the contents of each visited page. | This prevents you from needing to do OCR and is more highly | compressible. Or do your method, but throw away the screenshots | after AI analyzes and OCRs them. BTW, Mistral 7B is good enough! | We don't need to rely on ChatGPT4 IMO and copy pasting context is | a bit sloppy. | jasonjmcghee wrote: | Yeah that works well for browser stuff, but this works with | IDEs etc too | | and totally. Haven't added direct local interaction yet, but on | the roadmap. | thomasfromcdnjs wrote: | I wanted to build a similar tool that just relied on browser | history. But I couldn't figure out anyway to do it (especially | not through browser extensions) | | If anyone has any suggestions, I'd be more than grateful. | tiborsaas wrote: | Interesting concept, however I don't get what information is | pasted into the context. Also, ChatGPT's context is kinda | limited, I can probably remember the recent context, what I have | problem with is context from let's say a week ago which would | probably be way over the LLM's context window. | jasonjmcghee wrote: | Admittedly, it might have been a mistake as a demo / feature, | but haven't built embedding support yet. Working on it! | lekkerforlife wrote: | This is really awesome | jasonjmcghee wrote: | Thank you! I hope it can become more awesome and be useful to | people. | pmarreck wrote: | Does it do inter-frame compression at all? | | Also, integrating with Ollama.ai or some other local LLM with an | API server would be fantastic. | jasonjmcghee wrote: | I'd love your opinion on the right way to do this! Being able | to call APIs means network permissions- which i was trying to | avoid. Maybe via Stdin / Stdout? | pmarreck wrote: | were you trying to avoid network permissions (I'm guessing) | because this is Docker? (That's the only reason off the top | of my head for wanting to avoid network access... in a non- | Docker context, localhost is of course easy to hit up, but | Docker and nets are a PITA) | tremarley wrote: | Don't show the VCs that invested $27.9M into https://rewind.ai | this | | They will be very upset | echelon wrote: | a16z deploys capital fast into AI companies. They've already | funded several companies running off the shelf open source | models. | | Find the latest flashy thing on Twitter / GitHub, spin it up | with a waitlist, then send a16z your deck. | CPLX wrote: | Guess it's an improvement over deploying it to sociopathic | felons which was their last claim to fame. | woah wrote: | Rewind.ai looks a lot more full featured (unless their site is | complete BS and none of it works yet). Doesn't matter though | because Apple will rebuild this themselves in 2-5 years with an | on-device LLM chip that you will have to buy new hardware to | get and it will be way more efficient and with way better | privacy. | Oras wrote: | From the repo, OP did this in couple of days with no | experience in swift. So getting to rewind stage is not that | hard it seems | hruzgar wrote: | for now it's easy to catch up. But after a few months they | will be so far in the sky from all the vc money that it | will be tremendously harder. Like the M1 chip for example | beoberha wrote: | This has all the makings of the original "Dropbox is just | rsync" comment. | ct520 wrote: | Works well. Been using it since beta. I got a memory like a | gold fish and this comes in handy. | contingencies wrote: | Anyone else mentally associate _REM_ with QBASIC? | | https://www.qbasic.net/en/reference/qb11/Statement/REM.htm | random3 wrote: | only half remembered and had a vague feeling it's familiar. | It's been a while. Realizing now BASIC is pretty weird. | 0xDEADFED5 wrote: | bat/cmd scripts for me | | https://ss64.com/nt/rem.html | steve1977 wrote: | I associate it with Commodore 64 BASIC V2 | congnd wrote: | Pretty interesting stuff. | | I'm just wondering how you manage the limitation of context | length. | jasonjmcghee wrote: | For the "copy recent context"? | | The last 15 frames. | | It's a terrible approach! But I had to start somewhere. | Actively experimenting with properly leveraging embedding | search. | | But I've had a hard time finding CPU + RAM efficient vector | indexing + search that meets my expectations. Been doing a lot | of personal experimentation and research in this space. | | Is there a known approach to be able to maintain a large | embedding space that you can insert into efficiently and search | accurately without needing to load / maintain the entire thing | into memory? | throwup238 wrote: | Have you tried using the Accessibility API instead of (or | alongside) taking screenshots? It wont work with all apps but you | can fall back to OCR when it doesn't and best of all you can | monitor the "DOM" for changes. | jasonjmcghee wrote: | Candidly, I don't know how to do this effectively, especially | with browsers. I looked into this approach using the | notification pattern, but I just couldn't see a good way to do | it. I'm no expert in Mac APIs and would love to learn and / or | see any specific approaches you have in mind! | NhanH wrote: | Serious question: I have a serious case of OCD where I keep | trying to remember things verbatim (the verbatim part is the | OCD). Naturally there are a bunch of checking and repeating in | trying to do so. | | I have been considering the idea of using a similar app to this | (or rewind.ai), but I have the concern that it might aggravate my | situation. Just imaging my checking self watching 12 hours of | video footage already gave me chill. | | I would appreciate if anyone with a related or similar situation | can share their experience using those apps. Since this is fairly | sensitive, my email is also in the profile if anyone want to | contact me directly. | steve1977 wrote: | You'll end up with inception levels of watching yourself | watching yourself... | lexh wrote: | "pretty scary stuff" indeed! | | This would inevitably end up ingesting secrets, right? Like say | from my password manager? Or API keys in my terminal? | | Lots of ways for this to go sideways even if the data stays | local. | | What's the plan there? | jasonjmcghee wrote: | Come together as a community and help build the right thing. | This isn't the first implementation and I don't have a | fiduciary duty to create value to investors. | cjbprime wrote: | > Lots of ways for this to go sideways even if the data stays | local. | | Could you name some? | Bombinator wrote: | > Like say from my password manager? Or API keys in my | terminal? | cjbprime wrote: | That's not describing a bad outcome, it's describing how | the tool works. | Bombinator wrote: | Oh, well I think what he meant is that some malicious | program could read and transmit this unencrypted recorded | data which is normally stored in an encrypted form | cjbprime wrote: | Thanks, I think so too, but the threat model is a bit | odd. On a Mac, potentially malicious programs do not | normally have access to files in every location (e.g. the | prompts to allow a process to access your Documents dir); | there is hardware-backed crypto available for further | protections; full disk encryption; and so on. It's | unclear to me how to evaluate the severity of the risk. | | Every security decision is a risk-reward tradeoff, and | the reward of a complete memory of computing tasks seems | pretty huge. | lexh wrote: | The impression I was left with is that this tool would write | things to disk. It would be helpful to know how that data is | stored. I wouldn't want my password manager OCR'd and then | sitting in plain text on disk for example. | koopuluri wrote: | Congrats on getting this off the ground, and thank you for | putting it out there for us to learn from! | | I've been curious how Rewind worked under the hood because I've | been playing with an idea in my head: an AI assistant that helps | you protect your attention. | | You would describe the kind of content that you consider a | distraction, and any other constraints you have (e.g. "Don't let | me watch cat videos unless I'm on a break". | | And whenever it sees you watching anything that fits your prompt, | it'll pop up on the screen and start a conversation with you to | try and understand whether you actually need to consume the | content you're looking at. | | An AI that intervenes when you're going off track (based purely | on how YOU define going off track). Current website blocking | approaches aren't useful because they're all-or-nothing. I don't | ever want to block entire sites because often there's useful | content there relevant for my work. I want to block content on a | much more granular level. | | And I'd love for an "attention audit" at the end of each day. | Attention is our most valuable asset, and I believe protecting it | is a worthwhile endeavor... I'd just like some help doing so :). | baby_souffle wrote: | Oh this seems like a wonderful idea. Loads of invasive privacy | issues if you're not doing the detection locally but I'd | absolutely use something like this | koopuluri wrote: | Thanks! I agree that everything needs to happen locally, and | I believe it's possible. | | I'd love to better understand the problems you're facing that | makes you want to use a tool like this. | | Couldn't find your email, but if you're interested in | chatting, you can find mine in my bio. Would appreciate it! | jasonjmcghee wrote: | I encourage you to fork this repo and build it. | | Might be worth checking out Ollama and bakllava. | https://ollama.ai/library/bakllava | | Maybe the model is a bit too slow, but I'm sure smaller ones | will come out soon. You can likely fine tune to do exactly what | you need. | koopuluri wrote: | Thanks for the share! Will check it out. | shkurski_ wrote: | Cool stuff. Interesting to see how these ideas evolve, now with | LLMs. I made the similar thing some time ago (>2yrs): | https://shkur.ski/chronocatch/ for Mac/Win (Intel, H264 for | interframe compression and BM25-ranked search). Then the war | started and I regret not sharing this back in time "as is" when I | could. | great_psy wrote: | Maybe in 5 years apple with release a native version of this. | keepamovin wrote: | This does look cool. It reminds me of a recent discovery I made. | The other day, while trying to recover some disk space, I found a | giant file on my hard disk. It turned out to be a nine-hour | screen recording from almost a year ago. I had no idea it | existed, so I must've accidentally left the screen recording on. | Scrubbing through it sped up, watching the whole thing in a | couple minutes, was fascinating; it was like a window into my | thought process at that time. You could see how I was researching | something online. It was almost like a play-by-play, akin to re- | watching a sports performance - very instructive and surprisingly | useful. | | Also, the the sense of being back in that time seeing details | that I otherwise probably would've forgotten was transformative. | | In a similar vein to what you've done, but focusing specifically | on web browsing, I've created a tool called 'DownloadNet.' It | archives for offline use and fully indexes every page you visit. | Additionally, it can be configured to archive only the pages you | bookmark, offering another mode of operation. It's an open-source | tool, so feel free to check it out: | https://github.com/dosyago/DownloadNet | travisjungroth wrote: | This sounds a bit obvious to me after I write it down: I think | there's some value in the fact you were unaware and it was a | random time. | | If you take your work very seriously, I can see it being | valuable to record it like athletes do. It would be tempting to | use this on the "most important" days or when you're "really | ready". At the very least, there's a burden of choice and | memory. I don't know about security implications, but it seems | valuable to randomly record a day per month and send it to | yourself a week later. Or in the case of this tool, select some | period for extra review. | philipswood wrote: | There's a windows tool called Timesnapper that takes a | screenshot every few seconds and let's you replay and | navigate. | | After reviewing a few days I learned to start focusing on one | thing at a time. | | It was cringeworthy to see how ineffective multitasking by | switching between a few tasks was. | skinkestek wrote: | When allowed I use a tool called Manic Time that (in the paid | version) does this. | | It used to be "local by default" but now I think that might be | changing to "local if you want". | | They have also in the past been a perfect creator of commercial | software as far as I know: | | - generous free edition | | - paid versions work forever with its current feature set | | I typically set it to auto delete after 14 days and disallow | screenshots from my ordinary browser (because meetings and | passwords), Slack and Teams (meetings) etc. | bradrn wrote: | > It archives for offline use and fully indexes every page you | visit. | | Oh, I also made a tool to do this! Never open-sourced, since | it's an utter pain to set up and the UX is terrible, but | amazingly useful all the same. | | Incidentally: how does DownloadNet work? My tool uses a browser | extension to send the full-text of each webpage to a server, | but yours doesn't seem to have a corresponding extension, so I | can't see how it would retrieve the text. | orliesaurus wrote: | This is very cool, I am building a tool [1] to record 1H of | screen at a time (to help developers debug errors while doing | exploratory testing) and I always thought that I could add a | layer to turn my 1-hours-brain-recording into a baby Rewind. | | I have tried Rewind in alpha/beta, it was cool, but it was never | something I felt like I needed. That being said things change, | and maybe I'll change my mind when it's part of the OS in a | seamless way, but it's sketchy for as long as it's not offline: | let alone the privacy consequences of running Rewind ;) | | [1] https://dashcam.io | asdefghyk wrote: | About Remember Everything | | I use singleFile ( browser extension) - saves a copy of every | webpage I view on Chrome and FireFox. I use a program | AutomaticScreenshotter to record my screen activity to capture | other non browser activity. Enables me to work what I was doing | on my PC at any past date. All files are saved in a | Year/month/day dir structure. Finding stuff - use windows search | at present. | | I also use ditto to save all copy and pastes in a mysqldb. | | I've been doing this since before 2010 ( the dir structure) THe | extensions and screengrabs , only started that about 3-4 years | ago. | | I've often wonder if forensic PC investigation tools would /could | also be used ( my with some mods to help produce a PC timeline of | my activity. | yonatan8070 wrote: | I'm curious how much data is produced and saved every day with | such a setup, if I had to guess I'd say multiple gigabytes, but | that doesn't sound sustainable on any reasonably sized hard | drive | xeonax wrote: | I have been recording, what I type, or copy, or windows titles of | applications I interact with for past 15 years. And it has helped | recover stuff that wouldn't have been possible without this | system. | | I recently switched to MacOS, and I'm missing this very much. | saagarjha wrote: | Now I no longer need to wonder who Rem is. | nomilk wrote: | Really like this. I might use it as a way to keep myself | accountable. | | I wonder if the screenshots can easily be categorized as "time | wasting" vs "productive" (possibly via ML model?). Could | optionally gamify statistics. Example last hour: 78% productive, | 12% hacker news, 10% inactive. You could go for your own high | score (e.g. 3 x 100% hours in a day would probably be a _great_ | day for me!). | | PS: love the video demo. I figured out what this does in < 30 | seconds. Thank you! | | PPS: (very tangental) video speed controller (browser addon) now | works with loom videos - a few months ago that wasn't the case. | ronyfadel wrote: | You can list windows and detect the front window using macOS | APIs instead of taking a screenshot and running OCR/detection. | pmarreck wrote: | https://www.rescuetime.com/ already does what you describe very | well, without ML. I've used it for years now, for personal | accountability. | | It even already does the "high score" thing you are talking | about, LOL | CGamesPlay wrote: | Somebody else pointed out RescueTime, but if keeping it local | is a priority, I recommend Qbserve, which I've been using | (mostly passively in the background) for a few years now. | | [0] https://qotoqot.com/qbserve/ | snadal wrote: | Surprisingly this is something that I have been thinking on for | the whole 2023. | | I myself am really bad at documenting findings while doing | research or bugfixing so I started at recording all my daily | activities for both replaying research sessions and also for my | future me in case something is not clear in the docs. | | Then I knew rewind and I was happy to know that I am not alone. | This REM is the confirmation that this definitely has great use | cases :) | | I'd rather prefer the recording phase to be as lightweight as | possible so I am recording the full mp4 video and plan to re- | encode at a lower rate at night. But there is a compromise | between recording quality and file size, I do not want end up | with several Petabytes of videos. | | What codec do you recommend for this use case? Lossy video codecs | usually are very efficient for real images (just like the | comparison between jpg/png) and I am sure a video format that is | PNG based should be more efficient in space while preserving text | quality. | | I am very interested in read your thoughts about this. | jasonjmcghee wrote: | I used h264_videotoolbox which is supposed to be efficient for | apple hardware. I'd like to get hevc_videotoolbox working. | | rem does OCR in memory before streaming to ffmpeg. But it works | on the screen grabs of the video anyway. | | Yeah, it's a pretty different use case than other video. | Curious too if there are "screen recording optimized" codecs. | | Like non-contiguous diffing. Instead of "diff from last frame", | "diff from frame X"- and/or some sort of quad tree hash lookup | frumiousirc wrote: | Not quite the same thing (no screen grab) but there is a non- | visual cousin, http://arbtt.nomeata.de that records X11 data and | provides a query language to produce summaries of the data. | pmarreck wrote: | This is a lot like RescueTime which I use for personal | accountability as to how I am actually spending my time | | https://www.rescuetime.com/ | steve1977 wrote: | As this seems to generate quite a lot of positive feedback, what | would be use cases for something like this? Asking not only OP. | jasonjmcghee wrote: | An easy one for me is programming. | | This kind of approach the only way I know how to be able to go | back in time and recognize / resurrect your thought process. | | But there's little thorns it solves all over. Ever experienced | knowing you did something X days ago but it's in the past and | there's literally no way to go back and look at it? Ideally, it | solves that. | | Version control / history is great if the app supports it, but | depending on how it works, "a month ago" might not be | available. | diggan wrote: | At one point I was considering building something similar for | myself. Basic idea was something like: Take one screenshot | every second, caption the image somehow and keep both things | around forever. Add in some adapters that can extract more | information (if the browser was active last minute, gather all | URLs from that minute and categorize, and so on with different | things) and put everything into one location. | | Purpose for doing this would be to get a database I can | search/query when I kind of know what I'm looking for, but I | cannot remember exactly what it was. Being able to query "show | me all websites I've never visited before, but visited first | time in week 35" would help me a lot to find those easier. | | Also just having a recorded log of everything I'm doing would | be helpful to see where I'm spending my time the most. | pomatic wrote: | Can anyone suggest a linux equivalent of this project? X or | Wayland - doesn't matter to me? | digitcatphd wrote: | Imagine raising a $1B + valuation just to have some random guy on | HN make an open source version of your company... | | VC economics are going to need to change with AI and I think many | haven't got the memo. | Sakos wrote: | I'm curious as to why you chose to turn the screenshots into a | video. What are the benefits of storing them like that instead of | as image files? | atmosx wrote: | I wonder if there's a way to leverage this application to create | a user profile while keeping the data locally (storing, | processing, etc.), just for the user to know _what_ social media | companies know (or think they know) about the user. | | If this application monitors, stores and analyses social media | presence, email, etc. Could the application present to the user a | profile similar to what Google has for the user? | | For example, would be interesting to know how Spotify or Netflix | sees me in technical and/or social terms. | | This idea for such application comes from Yuval Harari. | jadbox wrote: | I really, really want something like this that is truly multiple | platform and local. Linux and Windows are a must. Must be 100% | offline so that it is useable without Internet. I'd gladly pay | $60 per each major version per year. Add permissive open source | license and you have me as a customer for life. Maybe I should | just build it myself if others are interested? ___________________________________________________________________ (page generated 2023-12-28 23:00 UTC)