My Stance on AI in Programming

Disclaimer All of the thoughts below are personal opinions, they’re not sponsored ones (I’D SURELY LOVE BEING SPONSORED but this blog has somewhat like 2 readers), the AI usage here is close to 0, with the exception of the grammar and style review, as the author can’t type 4 words without making a grammatical mistake. A lengthy intro AI is polarizing. People are in love-hate relationship with it and there are obvious reasons for that: fear of jobs being taken away from humans, enormous amount of AI-slop in every media format possible, endless AI-first solutions for non-existing problems, VCs pouring billions into AI solutions, endless AI-written linkedin posts about the bright future of AI, you all know it, it’s fatiguing. ...

February 1, 2026 · 12 min · 2452 words · Andrei Sviridov

State of Homelab 2026

I’m kind of a person who secretly (well, not THAT secretly) wants to own a bunker. A bunker, solar panels, generators, ability to run off the grid, own mesh networks and a Starlink antenna. There’s something appealing in that idea, being independent and prepared, a male fantasy likely never coming to life. For now I have to sublimate and replace it with something else, something tied to my passion towards technology, and building a homelab seems like a good beginning, so let the boy tell all about his toys. ...

January 24, 2026 · 17 min · 3476 words · Andrei Sviridov

A Bit on Personal Finance and Python

I’ve been tracking personal finances for more than 7 years now, and my workflow survived multiple approaches, applications, and country moves. I’ve started, as usual, with Google Sheets and manual entry, but, as I’m quite a lazy person, that did not last long. I tried several mobile applications, that were reading the SMS logs to gather the transaction log, and I’ve settled upon using the ZenMoney app, as it had a neat interface, had quite a lot of features and used GoCarldess API’s to do oauth2 flows with banks and export transactions automatically, which worked way better than SMS parsing. SMS parsing led to multiple issues with out-of-order delivery, which disrupted transaction order and account states. It also did not work particularly well with currency exchanges and cross-account transfers. ...

January 6, 2026 · 2 min · 309 words · Andrei Sviridov

Gunicorn Timeout Is Not What You Think It Is

How you can get there So, you’re running your python web application using gunicorn in production, and you’re a good folk, you know that having requests without a timeout can be a bad idea. Imagine a long query loading your DB with the client already leaving your beautiful SAAS waiting for the results, whole UI becoming sluggish, yada-yada-yada. You Google stuff, likely entirely miss the documentation, and go on with some settings like --timeout 30 and call it a day. Or maybe you’ve been running a production Gunicorn set-up with a different type of worker in place, you’ve changed it, and were assuming that it’ll just keep working the way you assume it to work. ...

September 28, 2025 · 6 min · 1100 words · Andrei Sviridov

Langchain Dissapointed Me

I have a pet project I started around two years ago to get my head and hands around the AI tooling. It is a chatbot in a Telegram group chat, providing several chat-specific features. It’s nothing serious, just a way not to become rusty and try out some crazy things I did not have the opportunity to try at work. The project went through several rewrites and refactorings (as it always happens with long-lasting pet projects), changed several technologies, adopted clean architecture, an inversion-of-control framework, and all of those lovely things happened when there was no product pressure and close-to-non-existing customer needs. ...

September 28, 2025 · 5 min · 932 words · Andrei Sviridov

Anatomy of Graceful Shutdown: Part 5

Part 5: Prometheus Graceful Shutdown Part 1: Signals and Linux Part 2: Containers and signals Part 3: Graceful shutdown of K8S pods Part 4: Celery Graceful Shutdown Part 5: Prometheus Graceful Shutdown [you’re here] Part 6: Other frameworks and libraries [WIP] AI usage disclaimer Disclaimer: this article is very experimental in the way that it relies heavily on the AI agent to do the heavy-lifting of data extraction, following the article structure and proof-reading as the articles are getting pretty procedural. Here’s the prompt. It would require tinkering around and verification, as it tends to provide wrong code links sometimes and building the narrative structure that does not make a lot of sense for the human reader. ...

July 1, 2025 · 10 min · 2121 words · Andrei Sviridov

Anatomy of Graceful Shutdown: Part 4

Part 4: Celery Graceful Shutdown Process Part 1: Signals and Linux Part 2: Containers and signals Part 3: Graceful shutdown of K8S pods Part 4: Celery Graceful Shutdown [you’re here] Part 5: Prometheus Graceful Shutdown Part 6: Other frameworks and libraries [WIP] Change of the approach We’ve had enough generic theory in previous 3 articles, covering the kernel, application, container runtimes and high-level abstractions like K8S, so what’s next? I suggest to change the flow of the articles to overview of popular backend systems and how they handle graceful shutdowns, so that we have a perspective of the topic in the wild. ...

June 30, 2025 · 10 min · 2015 words · Andrei Sviridov

Anatomy of Graceful Shutdown: Part 3

[Disclaimer] I struggled a lot with writing this article, as K8S itself is way too big to grasp quickly and I had to make a lot of compromises on the structure and details for it all to make some sense. The article may feel dragged in some places, jumping from topic to topic yet I had to complete it, so sorry not sorry. GenAI has been used to generate the diagrams from the Kubernetes, Container-D and RunC codebase. ...

June 6, 2025 · 12 min · 2480 words · Andrei Sviridov

Anatomy of Graceful Shutdown: Part 6 - nginx's Master-Worker Coordination

nginx is one of the most widely deployed web servers and reverse proxies in the world, handling millions of requests per second across countless production environments. Its reputation for reliability comes not just from its performance characteristics, but from how gracefully it handles operations like configuration reloads and shutdowns. When you run nginx -s quit or send a SIGQUIT signal to nginx, you’re triggering a sophisticated coordination dance between the master process and its worker processes. Unlike simpler web servers that might just close all connections immediately, nginx implements a multi-phase graceful shutdown that ensures existing requests complete while preventing new ones from being accepted. ...

January 7, 2025 · 9 min · 1897 words · Andrei Sviridov

Book Review: Another Fine Myth Series

Heck, it’s been a while since I published any new posts. It’s not been much in terms of my activity all year round. I’ve managed to read a bunch of books, consume an enormous amount of anime content, work here and there, and did not have any capabilities to overcome my desire to write about “something worth writing about.” Yet perfect is the enemy of good, so here we are. ...

January 6, 2025 · 3 min · 519 words · Andrei Sviridov