Building my first browser extension
May 11, 2026
Sometimes a website is almost right, but not quite to your liking. Maybe an element is out of place, the colors feel wrong, or the font just doesn’t work for you. I run into that a lot.
May 11, 2026
Sometimes a website is almost right, but not quite to your liking. Maybe an element is out of place, the colors feel wrong, or the font just doesn’t work for you. I run into that a lot.
February 17, 2026
This is the story of a subtle workflow error that polluted our logs and kept triggering pointless alerts. It lingered in the background long enough. I decided to track it down and fix it for good. Enough is enough.
January 30, 2026
For my latest client, I’ve been working with C# and ASP.NET Core, using Entity Framework (EF) Core as the ORM. This gave me the chance to explore how relationships between entities are modeled and and how EF Core loads related data.
August 18, 2025
Last week, two security patches were added to Rails. One of them was meant to guard against the ANSI escape injection [CVE-2025-55193], a vulnerability affecting Active Record logging. I was curious what an attacker could achieve by exploiting this vulnerability. Here, I logged my findings and created a simple PoC.
July 7, 2025
Docker is a tool I often use, both for developing personal projects and also during my Cybersec studies. Recently, I researched how Docker builds an image and discovered ways to limit the image size.
April 28, 2025
One recent contribution to the Rails codebase caught my attention. It concerns the distance_of_time_in_words method. The fix is meant to prevent a possible Denial of Service while using this method.
February 26, 2025
My findings after implementing the DNS query without any library. This domain name system is nicely tucked away in the network drawers, so you don’t even notice it. Nonetheless, it is used by everyone on the internet multiple times a day.
January 6, 2025
I’m continuing the practice of reflecting on the year that passed.
October 28, 2024
After deploying my VPS and taking steps to secure it, I had the original SSH port (22) inactive. But it kept me curious about the default SSH activity going on there. How much brute forcing is happening on a publicly exposed server? I started experimenting with honeypots to find out more.
October 11, 2024
Ruby offers an easy way to benchmark the code. Here is some syntax for basic benchmarking.
September 2, 2024
The N+1 query problem is a common performance issue encountered in Rails applications.
June 29, 2024
There are two main threat actors for your VPS: bots and real people (manually testing access).
January 8, 2024
SQL injection opens the way to data manipulation and theft, but I recently discovered that it can be an attack vector enabling remote code execution (RCE). This highly critical vulnerability gives the attacker access to the target machine.
January 3, 2024
As a casual owner of a human brain, I tend to overlook my accomplishments and instead focus on the negatives. I am writing this annual review as an opportunity to reflect on my journey.
October 21, 2023
A remedy for trust issues with cloud providers.
October 2, 2023
Polyglot files captivated me while learning cybersecurity. Their clever ability to trick a server and the potential for high-severity attacks made me want to know more about them. Even though one might use various tools for creating them, I was curious how it is done at the byte level.