How to update Laravel version with Composer

When updating Laravel to a major version, it might be straightforward but more often than not, it is not. I personally always struggle with to get it done quickly and usually spend far more time on the task, than expected. This is especially true in larger projects where there mi…

High CPU usage with Yubikey and pcscid

There a is a issue I am having for quite a long time I hadn't been able to quickly solve, so I just sucked it up. The issue is, that if I plug off the Yubikey off the laptop's USB port, one CPU goes haywire 100% usage and some, but not all services or applications that require in…

JSON formatting in DBeaver

This feature really helped me save some time almost daily and it was hiding in plain sight. DBeaver, the open-source database management software, can format JSON columns for you. Before I found this feature, I had to copy paste the column into editor to make sense of the nested …

How not to securely erase a NVME drive

I got a replacement for my Samsung MZVLW256HEHP-000L7 NVMe 256GB M.2 PCI Express X4 SSD, known also simply as Samsung PM961. It is an OEM part. After replacing it with the new one, Samsung 980 1TB, I put the old one on sale. This was my daily driver, so I did not want any meaning…

Restore data from Gitea restic backup

Just a very quick update about how I was able to restore a git repository stored inside a Gitea and backed up via restic. Warning: this guide most probably does not work correctly with LFS files, but they might either not be that critical to restore or the repository might not e…

Throttle with ReCaptcha Laravel middleware

After a few days of struggling I have found a few-lines long solution to the problem of how to show ReCaptcha after a few hits on the endpoint. It is useful for for instance for payment gateway integration, where this way you make sure attacker is not abusing your app to find out…

PHP curly syntax for scope resolution is weird

When browsing a PHP documentation, an example at the bottom of the Complex (curly) syntax section explaining a usage of a scope resolution operator (::) within a curly syntax for strings in PHP caught my eye. Let's look at it: <?php // Show all errors. error_reporting(E_ALL); …