Experiments with AI Dark Factory

Earlier this year I got interested in so called “dark agent factories” and tried to build one. I’m kinda centric among AI Hype and from my perspective coding definitely isn’t “solved” yet. But it’s also pretty obvious that AI agents can be super useful in day-to-day work. For sure for seasoned pros and not without…

Max Performance of Nginx, PHP & PostgreSQL Chain — Again aka Part #2

This blog post is the second part in a series on performance engineering (PE) research, check this link for the first one. We look into max performance of Nginx, PHP & PostgreSQL chain — again! A bit of Refresher on Max Performance of Nginx, PHP & PostgreSQL Chain See “Setup for Max Performance of Nginx,…

NFR Conflicts: 3 practical cases

Over time I noticed some typical contradictions between non-functional requirements (NFR). Let’s consider three typical cases of NFR conflicts I learned from practice. Security vs Ease of Use Security is a huge and ever growing concern these days. No surprise here – we live when IT-systems are unprecedentedly dependable. More and more activities occur in…

Max Performance of Nginx, PHP & PostgreSQL Chain

This blog post is the first in a series of articles on performance engineering (PE) research I did some time ago. I touched the topic of PE a bit in one of previous blog articles. This time it’ll be purely practical. The picture was generated by Nano Banana and contains pretty obvious errors. I decided…

Mental Models for Performance Engineering

I’ve been tinkering with performance engineering (PE) as one of the areas of interest for a while lately. From experience I built up a few mental models / metaphors which help with reasoning about systems performance. Let’s get through these mental models for performance engineering one by one. The most significant achievement thus far was…

Unsettling story of proxy_next_upstream in Nginx

It turns out that there’s quite a bunch of people who bumped into a particular Nginx upstream handling behavior. Not that long ago I also joined the club. It usually manifests as unavailability of some service behind Nginx as a reverse proxy. Clients start to get “502 Bad Gateway” after some change in the service…