icon
Personal Website

Weekly Coding • 2025-05-01

This text was automatically translated to English language by LLM tool.

It is time to write my weekly report. Last week, I spent 3 hours and 47 minutes on my projects during my free time. I worked on various fixes for the hinst_website https://hinst.github.io/.

  1. Fixed a bug with screen width updates. It turned out that I got tripped up by an intricate feature of React Hooks: the useState variable is only updated at the “root” of the function, while in nested functions, only the initial value of the variable will always be visible. It took me several hours just to notice and understand this.
  2. Removed SmartProgress redirects: now, instead of <a href=[http://smartprogress/redirect?url=my_url/](http://smartprogress/redirect?url=my_url/)>, I have direct links <a href=my_url/>.
  3. Fixed the timezone for saved images and comments.
  4. Fixed the translator’s schedule: now the English and German translators launch at 00:15, while the downloader launches at 00:00. Previously, both were set to 00:00, so new posts were translated late because the translator didn’t see them in time.

That was last week; this week, I plan to create a new program for creating backups. In one of my previous posts, I wrote about how I searched for and tested existing backup programs, but those programs disappointed me, so I decided to create my own. The requirements are as follows:

  1. Backups go to a USB flash drive.
  2. It creates a mirror, without change history.
  3. Includes file name encryption.
  4. Includes optional compression.
  5. If a file has not changed, it is not recopied.
    1. This is one of the main requirements because storage resources are consumed by writing data. If I change only one file in my documents folder (which is 80 GB), then only that single file should be copied, not all 80 GB. Therefore, 7-Zip and other similar archivers are immediately ruled out because they cannot do this.

We will see how much time it takes to create and test my program… I plan to use TypeScript as the programming language. Once the program is ready, I will start using it for my backups.