Welcome to the AugmentedMind

Your resource for articles about technology, self-improvement & more

Welcome to my home page

This is the place where I publish articles about my findings and progress in the awesome world of technology and beyond! Also, check out my projects or get in touch.

My latest articles //

Kubernetes Observability – Part II: architecture introduction to Prometheus, Alertmanager & Grafana

This article takes a detailed look at the architecture of the Prometheus stack, consisting of the individual applications Prometheus, Alertmanager, Grafana, Pushgateway, and various exporters. I discuss how each component is configured, which kind of data it stores, and how Prometheus can be scaled. Introduction to Prometheus The Prometheus stack is a popular set of tools used to achieve observability…

Kubernetes Observability with Prometheus, Loki & Grafana – Part I: Learning guide

In this article I define the term observability, why you need it and what basic steps are necessary to achieve it. I then present a generic learning guide for how to implement observability for Kubernetes with the Prometheus-stack. Introduction to Observability It is always important to quickly determine that your system is malfunctioninig, and to reduce the time needed to…

CI/CD Basics

CI/CD is the process of fully automating tasks such as building, testing and deploying your software. Instead of running these tasks manually, on a developer laptop, you have them executed on a server all the time. In this article, I dive deeper into the definition of CI/CD and related terms, explain the background of CI/CD, as well as its advantages…

Authorization flow with OAuth 2.0 and OpenID connect

OAuth 2.0 and OpenID Connect 1.0 solve user authorization and authentication. In this article, I discuss the advantages and the authorization and authentication flows of both protocols, based on a video presentation by Nate Barbettini. Introduction If you develop an application, e.g. a mobile or web app, common problems are user authentication and authorization. The former identifies a user (and…

Renovate bot cheat sheet – the 11 most useful customizations

Renovate bot is a tool that automatically updates third-party dependencies declared in your Git repository via pull requests. This Renovate bot cheat sheet helps developers who adopt Renovate to customize the most common (and useful) configuration options, without having to read the entire, extensive Renovate bot documentation. Introduction Renovate (Bot) is a CLI tool that regularly scans your Git repositories…

Automatic dependency updates – a Renovate Bot introduction

Renovate bot is a tool that automatically updates third-party dependencies declared in your Git repository via pull requests. In this Renovate bot introduction I explain how the bot works, how to operate/run the bot yourself (if necessary), and how you can configure the bot’s behavior for each repository. Renovate bot introduction Renovate (Bot) is a CLI tool that regularly scans…

GitOps introduction – what it is and how it works

GitOps is a methodology for Continuous Deployment, where you use Git to store (and track changes of) a declarative definition of your deployment configuration, and have a GitOps tool apply this configuration to your (production, etc.) environment. In this GitOps introduction you will learn how GitOps is defined. By looking at several examples, you will better understand who does what,…

Distributing macOS applications

This article presents all necessary steps to get your macOS application into the hands of your users. I list and compare the four distribution and packaging options: the macOS app store, package managers like Homebrew, Disk images (dmg) files, and installers (pkg files). I also introduce the signing and notarization process. Introduction In my previous article, Distributing Windows applications, I…

Distributing Windows applications

This article presents all necessary steps to get your Windows (desktop) application into the hands of your users. I list and compare 13 installer builders which package your application as a setup, discuss distribution options such as package managers, and present solutions to integrate automatic updates and licensing into your application. Introduction If you are an application developer of a…

Distribute Python applications – the 7 best tools to freeze your code

To be able to distribute Python application to end-users you need to freeze Python code. There are numerous freeze tools which produce self-contained binaries for the most common platforms, like Windows, Linux and macOS. This article presents and compares seven freeze tools, which are being actively maintained at the time of writing, and recommends specific tools to use. Introduction Python…