Code Snippets

Tutorials, stories and insights about software engineering, machine learning and home automation

Nov 10, 2022

Python 3.11 thirty percent faster indeed

Two weeks back the new version 3.11 of Python was released with the promise of a significant speedup. Let’s test it! For fun, I’m maintaining a small benchmarking project. There,...

Sep 12, 2022

Locating memory leaks in a Python service – Part 2: C-Extensions

Building up on last week’s issue about diagnosing memory leaks in Python, this blog post will show how to identify memory issues in native extension modules. From the first posting...

Sep 4, 2022

Locating memory leaks in a Python service – Part 1: Pure Python

Even in a garbage-collected language like Python it is possible to create applications with memory leaks. This means that the program keeps memory reserved vor variables which are no longer...

Apr 15, 2022

Testing a Flink Stateful Function Service

With Flink Statefun a powerful, polyglot data streaming framework has entered the real-time data processing landscape. It allows to break down a streaming pipeline into individual microservices which can each...

Sep 9, 2021

Machine Learning Models Light as a Feather with ONNX

Have you ever faced the challenge to create a fast and lightweight web service out of your machine learning model? In this case you are maybe annoyed by the overhead...

May 6, 2021

Envoy sidecar configuration generator

This post contains a configuration file generator for an envoy reverse proxy with all the bells and whistles. If you are looking for a working base configuration with the most...

May 2, 2021

The Throughput Paradox – Why a Machine Learning API Needs Load Shedding

Especially compute-intensive services like a machine learning inference API can heavily suffer from queueing effects. I will demonstrate this with response time measurements of small demo service and show how...

Apr 18, 2021

Getting Started with an Envoy Sidecar Proxy in 5 Minutes

This post shows the basic setup of Envoy as a reverse proxy in a sidecar container. It will show a typical setup of a small web API accompanied by an...

Feb 22, 2021

Multicluster Application Monitoring with Prometheus

Prometheus is a popular choice for application monitoring. It is easy to set up and can be deployed alongside the applications inside a Kubernetes cluster. However, when you cannot run...

Dec 1, 2020

Hosting a Blog the GitOps Way

Thanks to static site generators, a blog can easily be driven and controlled by markdown files in a git repository. This way, it is not necessary to set up a...

This blog is written and maintained by Christian Krudewig