Asynchronous programming in .NET

A few personal notes on writing concurrent apps in .NET

Elevate your Prometheus alerts with the help of unit tests

Get the best out of your Prometheus alerts with unit tests

Sequentially starting containers in a Kubernetes pod

When running multiple Docker containers in a Kubernetes pod, it's important to start them in the correct order to avoid any potential issues or downtime. One way to achieve this is by using Kubernetes' postStart hooks. In this blog post, we'll explore how to use postStart hooks…

Implementing a rate limiter for our API in Rust

In this blog post I want to talk about rate limiting and why you should probably care in the context of APIs development. The first half I'll focus on the principles of rate limiting and the most common solutions. Finally, I'll go through how to build a rate limiter, written i…

Fooled by Prometheus rate function

A couple of weeks ago I had to deal with an incident that affected one of the services that my team owns at my job. It was a minor issue that manifested with a bunch of internal dependency errors thrown by our gRPC internal endpoints. The origin of those errors was a regression i…