A solution to gitlab package registry 429's errors

The GitLab CI ecosystem is full of features and integrations that make it a powerful tool for building, testing, and deploying your applications. It comes with an integrated package registry to share and manage your packages. However, the GitLab SaaS API (gitlab.com) comes with rate-limits which can be a problem for scaling CI/CD pipelines, and quite frustrating when you hit them. In this article, I will share a solution I find odd yet very effective: implementing a caching proxy in front of the NuGet GitLab package registry....

February 7, 2025 · 9 min

Challenges & memory considerations for in-memory caching

In this article I’d like to share my journey learning about caching, and my research on how to make it more efficient. This article is the first in a serie of articles about caching, and here we’ll start by discussing the challenges and memory considerations when doing in-memory caching. This was done as part of my day job as a Staff backend engineer at Equativ, a leading provider of digital advertising solutions, offering a range of products and services to help businesses reach their target audiences and achieve their marketing goals....

February 1, 2025 · 15 min

My experience on implementing tracing at scale

Tracing is a telemetry concept that gives us the big picture of what happens when a request is made on a distributed system. Several solutions exist to add “automated” tracing. Abstracting and hiding things away from you does indeed make it easier to use, but as soon as you need to adapt something to your specific needs, it will start to be a pain. If you have the human resources and the will to have a proper tracing, my advice is to understand the concepts and implement parts of it yourself....

March 2, 2024 · 11 min

Unsafe read beyond of death

While developing GxHash over my spare time during my last parent leave (babies sleep a lot, I swear I’m a good father 😇), I went down the rabbit hole and came up with increasingly low-level optimizations. In this article, I want to talk about one of the nastiest ones, but to whom GxHash is owed to be the fastest non-cryptographic hashing algorithm up to this date. I called this optimization 🥁🥁🥁 “Unsafe Read Beyond of Death” (or URBD)....

February 18, 2024 · 8 min

When to care about performance

Many languages and frameworks have been designed to make developers more productive. This is a good thing, but it has a side effect: it makes developers less aware of the performance implications of their code. While hardware has been getting faster and faster over the years, the place software has taken in our lives has also been growing. In the end, the performance of the code we write is still important, and it’s important to know when to care about it (and when not to)....

February 3, 2024 · 6 min