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); …

Setting up Tesseract on Ubuntu 18.04

I was presented with a task to quickly prepare a bare-metal Linux machine to run Tesseract OCR for optical character recognition task. The criterion was to to the recognition as fast as possible. In my tests, the Tesseract 5 was far more precise than Tesseract 4, no matter what o…

Laravel validation XOR - Exclusive OR

I needed to create a validation rule in Laravel that would accept either of the two inputs, but not both and at least one had to be supplied. In other words, I had to apply the XOR logic operation on them: ABXOR 000 011 101 110 The search results did offer many solutions but I d…

Reset MS Teams for Linux

For a long time (a year and a half) I could not start the MS Teams for linux as an applicaiton from AUR, as a package teams. I had this error presented to me all the time. This version of Teams only supports work or school accounts managed by an organization. As with anything Mi…

Excluding file name from vim fzf ripgrep

Many times, especially with customizable software stacks, there are aspects or features of the software that we wish they were done differently. Fortunately, when using open-source software, configuring said software to do our bidding could be within a few (hundred) keystrokes. T…