renovate bot introduction feature

Automatic dependency updates – a Renovate Bot introduction

Renovate bot is a tool that automatically updates software dependencies declared in your Git repository via pull requests. In this Renovate bot introduction I explain the benefits of automated dependency updates, how the Renovate bot works, how to operate/run the bot yourself (if necessary), and how you can configure the bot’s behavior for each repository. … Read more

Boost your shell productivity with AI feature

Research and boost your shell productivity with AI

I explain how using Large Language Models (a form of AI) can boost your shell productivity. The basic idea is to have LLMs generate shell commands or scripts, rather than researching them with traditional approaches (such as a search engine). I discuss the advantages and disadvantages of LLMs over classic research approaches. I conclude by … Read more

Shell productivity tricks feature

Shell productivity tricks – the best shortcuts to boost your shell usage

In this article I present over 20 useful keyboard shortcuts and commands that boost your shell productivity (Terminal). Links to the source materials are provided, with tips for reducing mental load caused when trying to adopt too many shortcuts at once. Introduction In my Digital tool efficiency article, I discussed why many people use their … Read more

compliance checks feature

Compliance checks in your IDE, Git hooks or CI

In this article I compare several approaches for running compliance checks, like validating Git commit messages with a regular expression, or linting your code. I explain how these checks can either run in your IDE, in a local pre-commit hook, a remote pre-receive Git hook, or as part of your CI pipeline. I compare these … Read more

release it book summary feature

Book recommendation: Release It! – Design and Deploy Production-Ready Software

In this book recommendation, I review the second edition of the book Release It! Design and Deploy Production-Ready Software by Michael Nygard, released in 2018. I also offer my 27 page summary of the book as free download. Introduction A common misconception is that the majority of the costs in a software-based project is allocated to … Read more

Docker portability issues feature

Docker portability: 6 important caveats and pitfalls

In this article I present 6 kinds of real-world Docker portability issues, where Docker-based software does not run or build the same way on two different machines. Introduction to Docker portability When I started learning about Docker several years ago, I was very enthusiastic about its promise of portability: write your software and Dockerfile once, … Read more

Digital tool efficiency feature image

Digital tool efficiency – how to maximize your computer productivity at work and at home

This guides provides ideas and techniques for using your digital (software) tools more efficiently (via keyboard shortcuts) and effectively (by discovering useful features). I present a 3-step process that starts with collecting the digital tools you use, then researching efficiency/effectivity tricks, and finally adopting them in daily life. Introduction Knowledge work today makes heavy use … Read more

Synchronize two Outlook calendars feature

Synchronize two Outlook calendars with Microsoft Power Automate

Having multiple calendars that are not synchronized often causes scheduling issues. To solve this problem, this post offers a Microsoft Power Automate flow to synchronize two Outlook calendars, as well as pseudo code of the synchronization algorithm. I explain the approach, and how it evolved from previous iterations (including their shortcomings). Introduction Managing your calendar … Read more

Docker image analysis and Docker image diff feature

Docker image analysis and diffing: what, how and why

In this article I present two tools that help you with a Docker image diff or Docker image analysis: “dive” and the Docker Desktop extension. I explain use cases for which you need these tools, and I show screen shots that illustrate their usage. Introduction Docker images (or more generally: OCI images) have become … Read more

go vs python

Go vs. Python: an introduction to Go for senior (Python) developers

In this article I compare the programming languages Go vs. Python. I highlight 3 similarities and 12 differences. This comparison is written for senior developers, but it is not exclusively limited to Python developers: everyone with a OOP-language background (like Java or C++) will benefit. I also provide tips regarding learning resources you should start … Read more