Take more screenshots (2022)(alexwlchan.net) |
Take more screenshots (2022)(alexwlchan.net) |
I keep recordings of websites I've done on YouTube and add them to my portfolio (http://zchry.org/). It's kind of cathartic to me to be able to revisit things I've spent hundreds of hours on, especially long after they've run their course.
I might continue if there's any interest :)
If anyone is interested: https://github.com/mgerb/mgcapture
On Mac I use Hazel to auto-move old screenshots into the trash. On iPhone I use Gemini Photos to clear out screenshots that are just random screens or something I wanted to share to someone.
Take more screenshots! Let me see what you see!
It suits perfectly for this kind of usage and is as freeform as the screenshots. Write anywhere, put screenshots anywhere, even attach any other kind of files anywhere within the doc.
All of us had that feeling: you are browsing the Internet and suddenly see something cool. You either forget to bookmark it or that cool thing is not cool enough to be amongst your bookmark items (which are clearly much cooler). Sometimes you may also think: "Whatever, I have my browser's history, I'll find it later if needed". Later, you want to show that cool website or app or whatever to your friend. You check your bookmarks, well, nothing there. You check your browser's history and can't find it - you don't even remember the website. Later, you realize that on top of evertyhing, you were using the Incognito mode and there is no way to find anything for that session.
Well, when it comes to browsing history, there is a chance to look back and go through the visited websites (if you are lucky). However, what about web forms or something you were coding and then said "f### it, i don't need it", closed the file and then in a few days later: "damn, i should've saved that file"..
So, I had millions of situations like that. At some point, I was like: "this shit can't go like that forever". And I found the solution.
I installed a spyware on my own computer. The spyware would make screenshots either every Nth second or each time a user switches from one application to another. To activate the spyware's interface, you (as an evil hacker who has access to your victim's local computer) would have to setup a secret key combination (say Ctrl+A+I+P), followed by a password. The spyware interface allows you to see everything that was happening on the computer: list of loaded applications, screenshots (!), keys you typed, everything!
This post gets so long, but the result was a pure success. I used the tool a shit ton of times to recall what I did in the pass.
FAQ:
Q: Wouldn't the screenshots take a lot of space on your hard drive?
A: No. They were compressed. The quality was good enough to understand everything.
--
Q: What about the data going to someone else's computer over the network, say, the creators of the spyware?
A: This was a local spyware. No network traffic whatsoever.
--
Q: Do you still use the tool?
A: No. This was many, many years ago. I was a Windows user back then. I haven't seen similar tool since I switched to Mac computers.
I'm now quite happy of not having too much.
This is orders of magnitude worse than using Windows8+ !!
I've also thought about building a web proxy for my internet traffic, keeping detailed logs of every HTTP transaction in elasticsearch, crucially, including full HTML contents, so I can search for things later. But, too lazy...
With that I'm able to create some pretty fun time lapses of progress. I've been doing this at an arbitrary milestone, whenever my Luau [2] LOC surpasses C++ by another factor. This post reminded me I'm overdue for another now that Luau > 3x C++ LOC.
I find it rewarding to look back at my progress. I'll share in case it's interesting for you too [3].
[0] https://store.steampowered.com/app/2168330/Helmscape/
[1] https://github.com/AlDanial/cloc
[3] https://twitter.com/kineticpoet/status/1619508466212831232
It was a website that "sold" replica/counterfeit watches.
I was enthralled with them as a child for some reason. I knew they were popular items on the fledgling internet so I created a webpage for them on geocities and setup an email address to contact if you would like to purchase one.
I had lots of interested parties who wanted to buy the watches but unfortunately my parents would not front a 12 year old the cash required to purchase them in bulk from the shady internet supplier I had found. Probably a smart move on their part.
Fun times!
I ended up purchasing a few really high quality replicas when I visited China decades later as an adult.
I miss the early internet.
Edit: reading the page, it's a scrape from 2009. My page was from 1997-1998 and basically used only by me and my circle of friends, chances are it has been lost forever.
Recently decided to selfhost Archivebox.io app. It feels a bit rough but delivers decent results. I love the PDFs and single file HTML dumps.
Managed to secure some very old sites I relied on for ages but never really saved them. All can be refreshed, dumped again, tagged, searched. UI is actually a Django admin page.
https://github.com/internetarchive/wayback/blob/master/wayba...
But one thing that I've been keeping my eye on as well (and used for a month) is https://www.rewind.ai/ which records everything that happens on your M1/M2 mac screen and is immediately searchable.
Just like Alex says here "They’re not as good as having the original, working thing – but they’re much better than nothing. I can dip in quickly and easily, and instantly be reminded of the creativity of my past self." And I think arguably Rewind solves for that completely (with the added cost of increased storage space and less specific capturing/resolution).
This isn't a pitch for their product, it's just a natural progression to screenshots/capture that I believe is relevant here.
I even wrote a DB to store PNG files more efficiently. It deduplicates blocks, and thus achieves much higher compression rates: https://github.com/albertz/png-db
The analytics were harder than I thought. I had OpenCV at hand, and tried using those SIFT features (if I remember correctly) (note, that was 12 years ago, before we had more powerful neural networks), and it took me lots of trial and error via a lot of ugly heuristics, and in the end I just tried to identify the Eclipse icon in the Mac Dock. But it worked more or less.
And the scripts to analyze the screenshots: https://github.com/albertz/screenshooting
Then, I developed some scripts which would collect such information more directly, about the app in foreground, including the opened file or URL, etc. This is still running, with many years of data now. But I never really had any use of that data. Maybe someday I will extract some interesting statistics out of it.
This script is here, with support for Linux and Mac: https://github.com/albertz/timecapture
> It’s even harder for an undocumented side project I abandoned years ago. Having the code isn’t the same as a working application.
The author's solution to this is apparently screenshots, I have to respectfully disagree.
For software, side project or not, it should probably come with dependency configurations (granted, in early 2000s this isn't as mature as it is today) and some tests. My side projects basically all have tests, these tests are vital for picking up years later and for validation while developing.
For personal notes, I use this script which upon `$ diary` would create/open an entry for the current day in the appropriate folder with vim: https://github.com/Aperocky/diaryman/blob/master/diaryman.sh. Text files will last forever, it has some basic flavoring with markdown, but that's it. The folder where this is indexed is without a doubt the most valuable data on my computer, and it stretches back years.
I do occasionally take screenshots but never for reasons that author find screenshot to be useful for.
I wrote a DB for PNG files which deduplicates PNG blocks (only exact matchs): https://github.com/albertz/png-db
A good question would be if you screenshot your screen twice in a very small time, how much of the binary would be the same? Are the tools and PNG reproducible enough to dedupe most of the second file on gzip?
> “pixelmatch is around 150 lines of code, has no dependencies…”
I can't count the number of times I've found it helpful to be able to check what I was doing X time units ago.
I usually review them and take a few snapshots before deleting. Some I keep longer.
Consider extending this idea outside of digital work, to any online hobby. In my case, I think back to all the time I spent on MMOs (basically raised online) and wish I had taken screenshots or recordings of my time then; I have none and it makes me sad.
Apply it to real life, too. You'll never know what little meaningful events you'll wish you had records of in the future.
I write up a google doc with some pictures. Then I make a QR code of the url and attach it. I've done it for several things:
- how to put the air conditioners in the windows
- documenting the water filtration system
- documenting the septic system
- documenting the propane fireplace
- documenting the network wiringSometimes it’s years later and someone will bring up a building or street that’s not notable enough to have photos online and my photos are much better than what you get from street view.
On the other hand, I have a few old VB6 apps that I didn't release publicly that I wish I had screenshots of because I didn't think about screenshotting them at the time.
Back then taking screenshots was more common I think. Having a "screenshots" section on your tool's website was pretty normal and expected. Especially since back then streaming video wasn't readily available. A screenshot was the only way to showcase what you've built visually. Also for websites you usually had a PSD file with the whole site's layout that you later sliced up into images when creating the markup, so at the very least you probably have that PSD sitting around.
Some side-project screenshots I do have, I couldn't practically reproduce the conditions under which they were made, even when I can easily still run the code.
I do need to be better about my professional nostalgia/portfolio. Even a couple years ago, when I wrote an internal-only iOS app that worked very nicely, and was sure to get screenshots and video, adding them to the company-wide "nostalgia folder" I maintained... in all the work I did for a smooth handoff when I left that startup, to make sure the company didn't effectively lose any data, I didn't think to ask about keeping some copies of less-sensitive nostalgia photos/videos for myself.
This was before the UX of sending images was trivial and the UX of this was so amazing that others asked me to help them set it up.
Mind you this was high school and university so it was for what are now called memes as well as homework related stuff. So no real fear of uploading work secrets or whatnot.
The other killer feature was turning on this ability to zoom in the whole screen with hot keys + mouse wheel. I used it CONSTANTLY. It was just a habit to zoom to the width of the actual website content, for example.
On Windows a similar app was Jing. https://en.m.wikipedia.org/wiki/Jing_(software) but the Skitch app could also really easily add text, and had a neat way of dragging and dropping the tab containing the filename to save a file to a particular location or send it somewhere that you rarely see today. It wasn’t intuitive but it was easy once you knew how, like dragging the file icon from the window title bar (a hidden feature of only some document-based macOS apps).
Turning on zooming likely refers to https://support.apple.com/en-ca/HT210978 which was a feature added to Snow Leopard (maybe) where you could hold the control key and use the mouse wheel or Magic Mouse to zoom in.
This is built into windows nowadays and it's just so helpful. I cannot believe macos doesn't do it natively. I always have to browse to the desktop and the use the image. It's just Ctrl V on windows.
For OSX you’ve always been able to screenshot right to clipboard.
But the most valuable it that it builds up a visual history of changes in my Screenshots dir.
Although as a service it would be extremely expensive: video adds terabytes of storage every year, and will require even more expensive compute for deep learning. Probably a few thousand or even tens of thousands $ a year.
It’s almost exactly what you’re describing.
- Mac only vs Windows only
- They have already wired some AI stuff like speech recognition (trivial with Whisper these days, I was able to use it to generate synchronous lyrics ala karaoke to my home music collection in about 1 week of coding. Unlike video does not require much compute)
- They have slick GUI and presumably reliable recording - as I did not decide to productize it yet, I only have 2 global hotkeys to start and stop.
- I capture more data: keyboard + focus, gaze traces, and mouse traces. This will allow better behavioral models (they could and probably should have an option to do it too). I especially rely on gaze, as it is a very dense data channel.
- I have functionality to replay user actions both to just view, and to actually replay them (this is where copilot-like AI will eventually be connected).
It was funny to see the codename of my project in one of their screenshots as a label on a control.
I want to press printscr or some shortcut and immediately screenshot an area of the screen or the whole screen and by default have it saved to a numerically incrementing files under a folder I configure and not have to close or interact with any popups. This is on Linux. Any recommendations?
It's a thing I didn't expect to be a quality-of-life improvement, but it really did, whether it's to remind me of the little but important things that I've done and am glad to recall weeks after, or to provide helpful TODOs or visual documentation on things that I end up doing from time to time.
Out of 100 screenshots, 99 will never be viewed, but that 1 out of 100 is valuable.
Sometimes I just jump back to some point in time and scroll through them, it's very easy to get "stuck" after looking at old screenshots for 15 min. Old websites, old projects, screenshots from IRC. It's always fun and I feel like I get a lot of value out of that simple workflow.
I thought the .doc file would be a good way to save it, since it was closest to the source and I could edit things later if I needed. I ended up having better luck when I could find the rendered PDFs or rasterized images instead. They were less editable, but far more stable for archiving and returning to after long periods of time.
P.S.: Shame of everyone involved that something like SingleFile is not a web standard yet.
Edit: found it https://manpages.ubuntu.com/manpages/jammy/man1/gnome-activi...
Upon reflection, $240 a year to have completely uncut video of my computer screen instantly searchable forever is a very valuable offering. Not to mention the fact that the file size is fairly small compared to large 4k videos.
If it were built into macOS I'd be blown away and use it forever, still on the fence about it.
Shoot me an email at govind <dot> gnanakumar <dot> com if you're curious or interested in beta testing it.
But I would be concerned overly relying on them. They've raised VC money, which means their future path is unclear. I don't know what direction their product will take if pushed by VC growth expectations. In particular, this is just a client-side only app with a pretty clear and finite feature set. But VC influence means there's a risk they will be shoehorning in features and online capabilities to promote growth.
While it’s true we raised money from VCs we did not give them a board seat or voting control. I have super-voting shares and am the only member of the board. We will never be pushed around by VCs.
Our vision is to give humans perfect memory and we will not let VCs get in the way.
This may not be part of your threat model, but it should at least be known by people so they can evaluate the risk themselves.
https://www.macrumors.com/2022/12/07/apple-advanced-data-pro...
It’s simply put a groundbreaking game changer for me.
Be it finding text in conversations, using it to recall the face of an applicant when their name doesn’t ring a bell, find code, find text in websites you visited, going back to make sure your eyes didn’t trick you, …
I recently started to enable closed captions in all applicant interviews so I can search for specific terms I recall after the fact.
Truly amazing.
though, while it's neat to have activity history be accessible like this, it still doesn't compare to the value of intentionality of manual screenshots, and bookmarks, and notes, and files, and stuff like that. while it may be neat to be able to get back like this to something you missed while you browse, if it's done only to find it and put it down as a note/bookmark/screenshot/file, you just come back to systems that are already present and searchable.
I think I lack perspective on this and am not quite understanding what you mean. Where is the interruption coming from? Why do you need to take screenshots?
I have this too but it's in the form of saving URLs of interesting things. I just fear stumbling upon something nice, not saving it and then not being able to find it again (which happens regularly btw; Google search and reddit search are pretty bad at finding things when my only context is "I saw it last week or something")
Honestly it's exhausting.
It did use a crapload of disk space though (20GB per week?), and most of the data is almost identical, so I started designing an algorithm to store only the differences between images before realizing I had reinvented video codecs... so I just made a ffmpeg one liner to convert the image sequences to mp4 :)
Have you tried talking to a psychologist or a psychiatrist? OCD and similar disorders are hard to “cure,” but I know from close friends and family that therapy and some drugs both can be helpful in giving you back some control, as well as dealing with some of the itinerant anxiety and depression.
Either way, hope you’re doing okay!
I do take screenshots while debugging or if I want to show someone something curious, and I'll take those pretty aggressively just in case (the files are small, hard drives are cheap). But I feel no compulsion here.
Where does the drive to take so many screenshots come from?
> For software, side project or not, it should probably come with dependency configurations (granted, in early 2000s this isn't as mature as it is today) and some tests.
These may or may not help. Things have certainly changed in the past several years, but if we have learned anything, the "infinite memory of the internet" is anything but. Dependencies vanish and die all the time. So, while you may have a list of dependencies, if you don't have those actual dependencies locally with you, you may be out of luck. Even if the actual project still exists, the older versions you depend on may not.I can't speak to others, but if you were to actively shelve a Java project, and were using Maven or relying on its infrastructure, I would clean out your local repository cache, rebuild and test the project, then snapshot the project directory and the repository cache. At least then you might have a solid chance of resuscitating the project later on if you needed too.
I say this problem impacts most of the development stacks out there, whenever you're dealing with a package manager:
- Node and Javascript have npm
- Python has pip
- .NET has NuGet
- Java has Maven/Gradle
- PHP has Composer
- Ruby has gem
And all of those have packages that could technically disappear, or you could have network issues and so on (when I build my container images, I sometimes even have apt fail, though very rarely). I think a safe bet is to run your own package proxy, like Sonatype Nexus: https://www.sonatype.com/products/nexus-repository (there's also JFrog Artifactory in this space, probably others too: https://jfrog.com/artifactory/)This can improve build speeds because you refer to your own server for getting packages, the proxy will also pull packages that it doesn't have automatically, there are no rate limits to deal with (e.g. DockerHub pull limits vs the image being pulled once and stored in Nexus, unless changed) and you can also pretty easily see just how much stuff you're relying on.
The next step is to also use this server for publishing your own packages, which is suddenly easier - you can manage your own accounts, with nobody to tell you what you can/can't upload and how: you literally have all of the storage on the server at your disposal, redeploy as often as you want.
The only real downside to this is that you are indeed self-hosting it: you need updates, storage and all that. Well, maybe there's also the issue that using custom repositories downright sucks in some stacks - while npm supports something like --registry, I distinctly recall Ruby being a total pain in this regard in a container context (something about Bundler configuration, since it doesn't seem to support a command line parameter): https://help.sonatype.com/repomanager3/nexus-repository-admi...
You'd need to keep an entire old, un-upgraded Mac around just to have a chance of doing that without MAJOR engineering work!
It's a good thing you're respectful about it. Your proposed solution seems to miss of of the main point of the author: creativity. Using a standard set of mature programming tools isn't creativity. The other aspect (that you touched) is time. Unless you set up a virtual machine, you will never get the same visual result of your toy project in Microsoft Visual Basic -- or maybe even get it to compile.
The author argues that screenshots is the fastes and most convenient way to reminiscence about the past, and for that she is right.
I believe it can do all of the things you want. Certainly area capture, remembered area capture, fullscreen capture, all bound to different hotkeys. Mine saves with the name = the timestamp but you can probably config it to be an incrementing index. It's incredibly full-featured.
I also have hotkeys for "capture current pixel's hex code" and "measure bounded box in pixels." When you take a capture you can also annotate it including showing labeled steps. After capture you can do one or more of: save locally (to one or more places), upload (to one or more hosts), copy to clipboard, etc. That includes pastebin if you have text saved to your clipboard so I use this for that also.
https://linux.die.net/man/1/gnome-screenshot https://docs.fedoraproject.org/en-US/quick-docs/proc_setting...
Make two to distinguish between "save entire screen" and "let me drag a selection that it will save".
Basically I bound a key combo to a script, and that script would call scrot (the app), screenshot, and save the picture to date_plus_random_4_digit_number.png.
I think I wrote that script in Ruby and put it in .local/bin. But you could write it in another language too.
https://web.archive.org/cdx/search/cdx?url=geocities.com&mat...
If you ever remember any of the details, the CDX API can probably help.
https://github.com/internetarchive/wayback/blob/master/wayba...
I’ve also ended up incidentally taking photos of areas which later got renovated/redeveloped so I get to show a before and after. It’s mostly possible with google maps but a proper photo from a phone is better quality.
I'm sorry, moderator team, I find this to be the best way to express my appreciation and admiration for parent's approach to the topic.
It's opt-in, so approximately nobody ever will.
Everyone you iMessage with will still be putting all of your conversations and attachments and iCloud message sync keys into non-e2ee backups from their end, so turning this on won't accomplish much even if you know about it.
It doesn't matter as long as the person storing screenshots in iCloud turns it on.
> Everyone you iMessage with will still be putting all of your conversations and attachments and iCloud message sync keys into non-e2ee backups from their end
Weren't we talking about storing screenshots in iCloud photos?
But I still wouldn't trust Apple 100% : we know that they were among the companies silently cooperating with the NSA, and the potential for backdoors in their software isn't nil. (Whether you should consider this as a real threat depends on your circumstances of course.)
I'm a bit of a digital packrat, and sometimes like to review personal files from nearly a decade ago, so I think something like this would increase in value for me over time.
For now, everything is loosely store on an SSD, with different folders for year/month/day (of backup). Screenshots are stored by year.
I'd really like a google photos browsing experience for all my data backup, regardless of content type (well, with filters).
By that I simply mean they should take a source distribution of their project and perform a build with their repository caches cleared to ensure the project actually still builds in the wild.
Dependencies can silently vanish behind the facade of a local proxy or cache.
https://support.apple.com/guide/safari/search-your-web-brows...
>Your History shows the pages you've visited on Chrome in the last 90 days.[1]
I'm not sure if nextaccountic would find 1 year or 1 month or 90 days sufficient.
Generally the best extension to save things is https://addons.mozilla.org/en-US/firefox/addon/tab-session-m...
I appreciated the (relatively) high frame rate because I enjoyed watching the timelapse at the end of the day, as a kind of review.
$ ls -1 | grep scrot | wc -l
76422
That's just this laptop. My file server's broken at the moment (ZFS redundancy FTW \o/ first ever disk failure) and it has a few more moved onto it from different machines (probably maybe 50-70k), and then there's probably 20k on my previous desktop I haven't moved over. Hrm, and then there are my phones... maybe 200k all up?I'll eventually figure out an aggregation and OCR pipeline. In the meantime while circumstances don't permit that I've slowly accepted the scale I've decided to operate at. It's a commitment. It started out as OCD and now it's just... an interesting habit I actually think would be suboptimal to break. I've never known how to organize words into a journal format, so this is the next best thing I've got.
And it's fun holding down the 'p' key in sxiv and just rewinding through the flickery slideshow of interestingness. Literally everything has a story in it. It's fun.
But what screenshots trigger that capture itch?
One thing I have (on my phone) are high score/achievement moments in games. Ironically, Threes game has its own internal hall of fame, and the UI is made up like a framed picture on a wall.
https://www.extremetech.com/extreme/82410-xfire-gets-video-c...
> The TiVo-like function allows users to go back and record footage five to ten seconds after it happened.