optimize Docker image size feature

Docker optimization guide: 8 tricks to optimize your Docker image size

This article introduces several tricks that you can apply at build-time, to reduce the size of your Docker images, including the use of a small base image, multi-stage builds, consolidation of RUN statements, avoiding separate chown/chmod commands, or using the slim toolkit. Originally posted on 2022-02-06, updated on 2024-06-11. Introduction Docker has become a commodity … Read more

optimize Docker build speed in CI

Docker optimization guide: optimize build speed in CI pipelines

This article offers several tips for tweaking the build speed of Docker images in CI pipelines. I explain multiple caching-tricks offered by BuildKit, Docker’s integrated image build engine. I also elaborate on how the .dockerignore file and extra arguments to package managers such as apt can speed up your image builds. Originally posted on 2022-01-23, … Read more

optimize Dockre development speed

Docker optimization guide: the 5 best tips to optimize Docker development speed

This article presents 5 tips that improve the speed of building Docker images locally. It focuses on two problems: iterating on your unfinished Dockerfile (where you still figure out configuration options and which packages to install), and iterating on your code (assuming a finished Dockerfile). I discuss tricks such as using BuildKit’s caching features, the … Read more

common Git problems with solutions feature

Fixing the past – 17 common Git problems with solutions

This article presents 17 common Git problems that can happen when working in Git, with recipes for how to recover from them. It is very common to accidentally make mistakes when working with Git. Maybe you created commits in the wrong branch, or your commit history has become a mess. Fortunately, almost everything can be … Read more

Git guide feature

The ultimate Git guide for developers

This Git guide is for software developers who already know the most basic Git commands. After reading it, you can confidently clean the past commit history with an interactive rebase, revert commits, reset branches, merge branches, force push, or recover orphaned commits. This guide only contains the most necessary bits, to avoid mental overload. Introduction … Read more

hardware benchmarks in kubernetes

Benchmark series part 3: Automated hardware benchmarks in Kubernetes

I present my own hardware benchmark automation framework that creates a Kubernetes cluster with different VM types of your choice, schedules a containerized benchmark container on each node, and collects+processes the result. The framework is open source and available on GitHub. I also provide hints for how to visualize the results. Introduction A hardware benchmark … Read more

benchmark phoronix test suite feature

Benchmark series part 2: Hardware benchmarks with Phoronix Test Suite

Phoronix Test Suite (PTS) is a benchmark orchestration tool which runs multiple configurable benchmark CLIs and extracts their results. This article explains the two most important core concepts of PTS, test profiles and test suites, and how to build them yourself. The detailed steps of installing and running tests are also explained, as well as … Read more

benchmark cloud feature

Benchmark series part 1: Benchmarking virtual cloud hardware using 6 great tools

This article discusses virtual cloud hardware benchmarks, which help you choose the best performing virtual cloud-based CPU/disk/memory hardware for your needs. I go into the cost-benefit ratio of benchmarking, and provide many good practices for hardware benchmarking, such as ensuring proper reproducibility. Finally, I explore 6 off-the-shelf benchmark tools that measure CPU, memory or disk … Read more

azure vm performance benchmark in AKS

Performance benchmark of over 30 Azure VMs in AKS

This article uses my fully-automated benchmark suite which creates a temporary Azure Kubernetes cluster (AKS) with over 30 different Azure VM sizes, schedules a container-based benchmark on each VM (which measures CPU and disk performance), and collects + visualizes the results. I share the raw results and an Excel sheet with various meta-information and graphs, … Read more

Synchronize Google calendar with Outlook feature

Synchronize Google calendar with Outlook with Microsoft Power Automate

Having multiple calendars that are not synchronized often causes scheduling issues. To solve this problem, I built a Microsoft Power Automate flow that synchronize Google calendar with Outlook. The flow is free / open-source, and here I explain how to set it up, configure and use it. Originally posted on 2024-01-14, updated on 2024-03-02 to … Read more