Recent posts
![image](/storage/ZKjdg9oftTzKUOncRIFQlHaut5bskXstxHyZ8wKQ.jpg)
How to scan QR codes without camera or phone
QR codes are everywhere. Easy to scan with a phone. But what if you want to decode a QR on your laptop instead of your phone, without a camera?
![image](/storage/BOcYcQUB7NnnZp27efZcQ2JkMOlUEQM2HGJKSajw.png)
Thirty years of Debian!
Today, August 16 2023, marks the 30th anniversary of the Debian GNU/Linux distribution. It was the first linux version I installed after ditching Windows completely. And today, Debian is still very relevant.
![image](/storage/9UuVZDg3qwjSs3TWCXAuNQG3Lx1THma1iwA4Ow4n.png)
How to build a complete Mastodon API Client
Mastodon has an extensive API, but unfortunately no openapi spec. It was quite a challenge to build an API client and implement all methods and entities. Here's how I did it.
![image](/storage/jvRILQmizUdqNMff3BwbA5bVpiz2Iw8CrHEKBmSL.png)
Smart generics in PHP
Type hinting in PHP8 has become powerful but it still has limitations. In this article I discuss some ways to use Generics to overcome some of these limitations.
![image](/storage/fplYCDVYUaZTNjedMNOiQPTYWv5a49gorukrMshi.png)
Security tips and best practices for web developers
Security is hard. I compiled a list with tips and best practices that may be useful.
![image](/storage/zD0WESOByZtJ2iWb12qHclv9Ss615WiM3kFUFAuS.png)
Nextcloud
Nextcloud is sometimes called a "google killer". This versatile open source app can be a replacement for many google (and other) cloud services, giving you back control over your data.