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 IV: PromQL tips

This is a deep dive into PromQL, the Prometheus query language. I discuss the basic data formats (instant vector and range vector), explain the different types of operators and functions, and then elaborate on how binary operators do result vector matching. I conclude with various PromQL tips and hints, and help you get started in practice. Introduction The Prometheus stack is a…

Kubernetes Observability – Part III: Prometheus & Alertmanager basic concepts

This article helps you understand the basic Alertmanager and Prometheus concepts, such as metrics, time series, samples, alerts, and alert notifications. I also explain how data is conceptually stored, how you should approach instrumenting your application, and the basic idea of dashboards. Introduction The Prometheus stack is a popular set of tools used to achieve observability of your system. As indicated in the learning…

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…