Today I Learned
Simple RSS (my rss reader) had one behaviour that bugged me for a while.
On the index page, there is a list of all available articles. I usually open a few articles in new tabs, read them, and then go back to the index page.
Once an article is read, it is marked as read. Now when I visit the index page again, those already-read articles are still present in the list. It would be good to remove articles once they are read. Simple RSS is a server rendered app. So I didn’t want any state management like zustand that could share state across browser tabs.
I found out about visibilitychange event which fits my use case. It is triggered when page visibility changes.
Now whenever the index page is visited after reading individual articles, a query is executed. The query compares current index page articles with their database status, and if any article has been marked as read, it is removed.
Now I don’t need to remember which articles are already read.
Further Reading
Fedora released an update, so I upgraded my system. In hindsight, shouldn’t have done that.
System updated successfully still errors raised. Dependencies from hyprland started having errors as a result, hyprland stopped working.
I had to work without a tiling window manager & keybindings.
Update
After two days, I switched the hyprland repository from solopasha to lionheartp and it worked.
Found that earlier repository had became inactive and COPR now recommened the new one.
Usually I used scp to transfer files between my local system & VM.
Today, I had to transfer multiple files from my ~/.agents/skills/ directory. A copy of it was already on the local system, but multiple files were updated in the VM.
Instead of overwriting the full directory, I found rsync a much better command here because of its delta transfer. It will copy only the modified files.
Secure Copy Protocol (scp)
scp [options] <source> <destination>-r: recursively copy all files in a directory
Remote Synchronization (rsync)
rsync [options] <source> <destination>-a: archive. preserves permissions, timestamps, etc-v: verbose--progress: show progress
For example, we can sync directories between a remote location and local system like this:
rsync -av user@host:/remote/path/to/directory/ /local/path/to/directory/