## Covariance and contravariance explained without code

Covariance and contravariance are concepts one can bump into (and initially be confused by) when working with object-oriented programming. This […]

Misc## Covariance and contravariance explained without code

Covariance and contravariance are concepts one can bump into (and initially be confused by) when working with object-oriented programming. This […]

Misc## A too naive approach to video compression using artificial neural networks

Introduction In computer vision neural networks often are used to classify images by the objects they depict. So one could

Statistics## Mechanical analogies for basic measures of descriptive statistics

(This article assumes you to know what the “mean”, median and variance of a distribution are. In case you could

Misc## Accurate timing of Strava segments

tl;dr Strava calculates segment times in an unnecessarily inaccurate way, resulting in unfair leaderboards. But there’s an elegant way to

Kotlin## From Spaghetti to Ravioli – a Refactoring Example (using Kotlin)

After your customer has given you perfectly clear requirements you quickly came up with a sound architecture and implement everything

Misc## Threads can infect each other with their low priority

Imagine having something like the following situation: ThreadSafeQueue queue; void thread_a() { // Infinite loop just for the sake of

Kotlin## What Kotlin could learn from C++’s keyword const

Let’s say, in Kotlin we have some simple 2D-vector class. It has two methods, one (normalize) which mutates the object,

Misc## “A monad is just a monoid in the category of endofunctors.” – explained

Introduction The quote in the title sparked my curiosity after I had read it on a blog using it jokingly.

Statistics## Do A/B tests – because correlation does not imply causation

Let’s imagine we (hypothetical) collect habits and health data from people. We find that, on average, people who regularly go

Misc## Internals of the async/await pattern from first principles

Many of us are using the async/await pattern, but understanding how it works under the hood is a different beast.