My MikroTik workaround for LaLiga Cloudflare blocks

I got tired of manually sending Cloudflare traffic through a VPN whenever LaLiga blocks shared IP addresses during a match. So I taught my MikroTik to do it for me.

What Stops Me from Posting Publicly

Why familiar ideas can still be worth writing about, and how the search for novelty makes us discard potentially useful posts.

Protect Kubernetes Services with OAuth2 Proxy, Gateway API, Traefik, and Pocket ID

A practical Gateway API replacement for ingress-nginx auth annotations: protect Kubernetes services with Traefik ForwardAuth, OAuth2 Proxy, and Pocket ID.

How to not burnout

Burnout prevention for software engineers: practical ways to set work-life boundaries, recharge, and protect your motivation

How to control RGB on RAM sticks, motherboards, coolers, graphics cards programmatically with OpenRGB.

Install OpenRGB on Linux and use a systemd service to turn off RGB lighting on every boot.

Forward SMS to Telegram with Android

How I forward SMS to Telegram using a dedicated Android phone.

Goodbye, nix-darwin!

Why I stopped using nix-darwin on macOS after slow rebuilds, painful updates, installer script issues, and corporate tooling conflicts.

How to Quickly Prepare for Software Engineering Interviews

A few months ago, I found myself needing to prepare for a series of job interviews within a very limited timeframe. It was a stressful experience, but it ultimately worked out well. I decided to share my notes and reflections in case they’re helpful to others in a similar situation. This is especially relevant if you’re not actively job hunting and suddenly receive an interview invitation, leaving you with limited time to prepare but a strong desire to maximize your chances of success. ...

iOS shortcuts for microbin

Hi there! Recently, I’ve deployed microbin, minimalistic opensource “pastebin”-like service, into my homelab to share temporal files/text between devices. It works quite well. A few days ago, I started wondering: could I upload files or paste text into Microbin directly from the iOS Share menu? The short answer is yes. It could be done using iOS’s builtin “Shortcuts”. ...

What is a CDN and Why It Matters?

With the rapid growth of GenAI solutions and the continuous launch of new applications, understanding the fundamental challenges and solutions of the web is becoming increasingly important. One of the core challenges is delivering content quickly to the end user. This is where a CDN comes into play. ...

Kubernetes In-Place Pod Resize

About six years ago, while operating a large Java-based platform in Kubernetes, I noticed a recurring problem: our services required significantly higher CPU and memory during application startup. Heavy use of Spring Beans and AutoConfiguration forced us to set inflated resource requests and limits just to survive bootstrap, even though those resources were mostly unused afterwards. This workaround never felt right. As an engineer, I wanted a solution that reflected the actual lifecycle of an application rather than its worst moment. ...

Contributing to Open Source: Why It Matters and How to Start

Whether you’re curious about open source or wondering how to make a meaningful impact, this post guides you through the process. You’ll learn why contributing is important, discover the different ways to get involved, and find practical steps to take your first contribution. ...

18 December 2025 5 min

kubectl-find - UNIX-find-like plugin to find resources and perform action on them

Recently, I have developed a plugin for kubectl inspired by UNIX find utility to find and perform action on resources. And few days ago number of stars in the repo reached 50! I think it’s a good moment to tell more about the project. ...

The Simple Habit That Saves My Evenings

As a software engineer, I often work on big tasks that require hours of continuous and focused work. However, we have plenty of meetings, colleagues asking us something in Slack, and lunch breaks. Add a colleague who comes to you and calls you for a cup of coffee if you work from the office. And usually, we don’t really have such a luxury as hours of uninterrupted time. Nevertheless, sometimes we catch the flow of productive and focused work at the end of the workday. Imagine you come up with an elegant solution to a problem you’ve been tackling all day, or maybe even the whole past week. You can’t wait to implement and test your solution. And of course, you are so driven by your idea that you decide to continue working despite your working day being over. “20 minutes more and I will finish it,” you think. Obviously, this is not the case; some edge cases and new issues will inevitably arise. You come to your senses only 2–3 hours later—tired, hungry, demotivated, and still struggling with your problem. You just wasted your evening, with nothing to show for it. Worse, you overworked and didn’t recover that night. Thus, you were already exhausted when you started working. ...

ChatGPT: oauth2-proxy protecting services in k8s

Protect Kubernetes Services with OAuth2 Proxy, ingress-nginx, and Pocket ID

Step-by-step guide to protecting internal Kubernetes services using OAuth2 Proxy, ingress-nginx auth annotations, and Pocket ID as the OIDC provider. Covers Helm values, cookie config, ingress annotations, and troubleshooting.