Building a Self-Hosted Chess Blunder Trainer

TL;DR I’ve built a blunder tutor, a project to train upon your historic blunders, that’s open-source, self-hosted and free to use: github, promo. Star, like, subscribe, give it a try! docker run \ -p 8000:8000 \ -v $(pwd)/data:/app/data \ ghcr.io/mrlokans/blunder-tutor:latest Open http://localhost:8000, enter your Lichess or Chess.com username, and start training on your own blunders. Intro I suck at chess. Like, it seems that when your body turns 30, suddenly your neural network stops learning new patterns the way it used to when you were 20. It’s predictable but still annoying and frustrating. ...

March 8, 2026 · 22 min · 4500 words · Andrei Sviridov

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

Anatomy of Graceful Shutdown: Part 2

Part 2: Docker Containers and graceful shutdown Part 1: Signals and Linux Part 2: Containers and signals [you’re here] Part 3: Graceful shutdown of K8S pods Part 4: Celery Graceful Shutdown Part 5: Prometheus Graceful Shutdown Part 6: Other frameworks and libraries [WIP] Intro The previous chapter was difficult, and I assumed things would get easier along the way. Little did I know. Instead of discussing the actual graceful shutdown topic, this post will focus more on the overview of the modern state of containers application. ...

March 9, 2024 · 14 min · 2895 words · Andrei Sviridov

How I prefer conducting code-reviews

Here’s a Spotify album to accompany your reading: Tamino - Amir. Disclaimer And below is my framework for conducting code reviews within a large product-oriented software company. I do not intend this to be used as a universal guide by anyone, as situations, companies, and software differ. Most likely reviews in mission-critical software and a new young start-up look different. Consider this as another opportunity to look at what happens inside another person’s head. ...

January 20, 2024 · 8 min · 1515 words · Andrei Sviridov

Python Multiprocessing Quirks on MacOS.

Prelude Currently, I’m working on the product, built around a large Django monolithic application and a bunch of microservices around it. The codebase is quite huge and has a lot of (tens of thousands) tests, that are normally run in a parallel mode in the CI environment. The CPython and Django versions are a little bit stale (3.8 and 3.2 respectively). For local development purposes, it’s well enough to run a subset of tests in a non-parallel mode or to wait for the whole suite to pass during the CI run, but for one specific use case I had to run a parallel test suite locally. It was a surprise for me to see the Segmentation Fault as the test failure reason for a bunch of tests. ...

January 14, 2024 · 8 min · 1639 words · Andrei Sviridov