Today I Learned

Change visibility event
May 17, 2026

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

Never Update System in Weekdays
May 05, 2026

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.

Transfer files from local system to a virtual machine
Apr 27, 2026

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)

Terminal window
scp [options] <source> <destination>
  • -r: recursively copy all files in a directory

Remote Synchronization (rsync)

Terminal window
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:

Terminal window
rsync -av user@host:/remote/path/to/directory/ /local/path/to/directory/