Recently at work we were trying to solve a performance bottleneck. A part of the system was making requests to a remote key-value store but we saw that the majority of the requests resulted in the key not existing in the store.

An idea was to implement a negative cache: locally store the keys for which no value exist, to prevent unnecessary future requests. It should not use much memory and false negatives are fine (would result in redundancy), but false positives are not allowed (would result in incorrect results).

This is our fifth post in the series with my notes on complex integration, corresponding to Chapter 4 in Ahlfors’ Complex Analysis.

We’ll focus on Cauchy’s Integral Formula, which is not only a tool on itself for solving some types of integrals but also a stepping stone for several other results including: Morera’s theorem, Cauchy’s Estimate and Liouville’s Theorem.

In this post we’ll discuss coroutines in C++, which is a feature introduced in C++20. We’ll first start by understanding what coroutines mean in C++, comparing briefly with coroutines in other languages.

Then we’ll provide a minimal example using coroutines and progressively add capabilities to it while introducing concepts and features from the coroutine toolkit.

This is our fourth post in the series with my notes on complex integration, corresponding to Chapter 4 in Ahlfors’ Complex Analysis.

In this one, we’ll explore the concept of the winding number of a curve with respect to a point, which can be interpreted how many times a curve winds around that point. It has an interesting relationship with the Cauchy integral theorem that we learned about in a prior post.