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.
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.
Why familiar ideas can still be worth writing about, and how the search for novelty makes us discard potentially useful posts.
A practical Gateway API replacement for ingress-nginx auth annotations: protect Kubernetes services with Traefik ForwardAuth, OAuth2 Proxy, and Pocket ID.
Burnout prevention for software engineers: practical ways to set work-life boundaries, recharge, and protect your motivation
Install OpenRGB on Linux and use a systemd service to turn off RGB lighting on every boot.
How I forward SMS to Telegram using a dedicated Android phone.
Why I stopped using nix-darwin on macOS after slow rebuilds, painful updates, installer script issues, and corporate tooling conflicts.
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. ...
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”. ...
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. ...
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. ...
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. ...
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. ...
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. ...
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.