Blog

Blog Post

How to Encrypt a File on the JVM

You’ve got a secret password and some bytes you’d like to encrypt. JVM has all the tools you need to get it done.

Blog Post

Creating data products with Terraform on AWS

Have you heard of data mesh? Are you intrigued by its potential but uncertain how to get started building data mesh and data products? If so, this article outlines a potential approach and delves into the key concepts behind it!

Blog Post

Automated code maintenance with OpenRewrite (Part 2)

Blog Post

Modules – Microservices – Monoliths

Microservices were supposed to solve every architectural problem conceivable. Not too surprisingly, that was not the case. Now themonoliths thatwe have been developing for decades are supposed to be the solutionagain. Inthis discussion, the foundation for developing complex software systems has been forgotten: Modularization, which is far more important than the question of monoliths vs. microservices.

Blog Post

Automated code maintenance with OpenRewrite (Part 1)

With the large number of software development projects in most organisations, keeping these projects up to date with the latest security patches and framework updates can be quite a task. OpenRewrite is a library that provides an automated solution to this problem. Using recipes written in Java, it can perform large-scale source code refactoring during the build process, preserving as much of the original code as possible. In this blog post, I will explain how OpenRewrite works and how you can use it to refactor your code base.

Blog Post

Kustomize Enhancement with KRM Functions

Blog Post

Round-robin coding

Remote mob programming typically means one person takes on the role of typist at the screen with an open IDE, more or less typing what the others tell them to. To ensure that everyone stays on top of the work, the role of typist is frequently changed up and the current state of the code is handed over to the new typist. Our simple CLI tool called mob enables such a handover in just a few seconds by bundling the necessary Git operations into concise commands.

Blog Post

How to use Apple Shortcuts to integrate GPT-4o in macOS and iOS

Apple Shortcuts is a powerful app that lets you create custom workflows with multiple steps using your apps and content. You can also use it to interact with web services and APIs, such as OpenAI’s Chat Completions API for GPT-4o, which can generate text completions for any prompt or task. Yup, the thing that’s behind ChatGPT.

Blog Post

Blueprints

How objects work in JavaScript

Blog Post

What is Sustainable Software?

Environmental sustainability is a very important issue, but software is something virtual, so it doesn’t seem to have an impact, right? Wrong! As software creators, we have a significant impact and can make a difference by incorporating the principles of eco-friendly software development into our understanding and practices.

Blog Post

Shortcomings of ISO 25010

Published in 2011, the ISO 25010 standard on software product quality lacks pragmatism and practical applicability. Terms like scalability, deployability, energy efficiency, safety, or code quality are missing. This article explains these shortcomings and shows that even the (draft) update from 2022 still needs polishing…

Blog Post

How to use and build your own distroless images

Blog Post

How AI will replace my job

In late 2022, I decided to try to use ChatGPT, an AI language processor, to do some of my daily software development work. Now, only a few weeks later, I am convinced AI might soon do most of my current work, at least measured by hours.

Blog Post

How to prepare a (not only technical) talk

As I want to improve on giving valuable (conference) talks this year, I like to introduce my current four-phase approach to preparing these. Because when you intend to improve things, it is always a good idea to start with summarizing the current state. From there you can find out what is already good and where there is room for improvement. I would love to hear / read about your tricks and ideas!

Blog Post

Custom Elements are NOT for Templating

Untangling the confusion between browser defaults and JavaScript component frameworks

Blog Post

Behaviour over structure

We, developers, often forget why we even exist. We quite often don’t remember that our purpose is not to write software, but to solve problems. Those come in different forms, but can be generalized as “we need to start doing this”, “we need to stop doing this” or “we need to do this differently”. Those “do” and “doing” are the key, whatever “this” is. It’s the behaviour our software exhibits that is most important, almost everything else is secondary.

Blog Post

Frontend integration options

The integration of data and functionality in the frontend is a powerful topic that is still rarely discussed. This article aims to try and show established patterns of frontend integration and briefly name possible advantages and disadvantages.

Blog Post

Processing medical study data with Data Mesh technologies

Revisiting the tech stack of a self-serve data platform

Blog Post

Logging in Java

Logback, Log4j, SLF4J, and many more. Anyone working with automatic logging in Java will immediately come across an entire range of libraries that, at first glance, seem to do the same thing: issue log messages. So, in this article, we want to look at why there are so many libraries in Java and how they actually differ from each other upon closer inspection.

Blog Post

Direnv: Automatic environment care

We all know how it goes – every environment needs its own configuration. Environment variables must be set, a proxy must be used, important scripts must be contained in the path. This is often done with other scripts, but you have to think about how they’re designed.

Blog Post

Documenting software architecture with arc42

A brief introduction

Blog Post

How I regained concentration and focus

For years, I enthusiastically produced content: books, articles, blog posts, and talks – averaging a book and a half plus five articles per year. Since about 2020, my productivity has plummeted – leaving me totally frustrated. There were no external causes, even the pandemic didn’t affect me, thanks to a nice home office and online work options — so no excuses. To find a way out of the misery, I put my own working habits to the test – and diagnosed a massive loss of concentration. ​ ​

Blog Post

Offline with redux

We’ve been writing a web application that supports users being offline without using a service worker. We’d love to share how we’ve done that and what we think are the advantages.

Blog Post

Advanced Kustomize features

Blog Post

Infrastructure Self-Service with Crossplane

Introducing container technology and Kubernetes to the development and deployment process allows developers to independently manage deployments of their services without needing to interact with the platform team. This is true for applications but not necessarily for external resources like databases which are probably still in the hands of the platform team because the access management and tooling differs. Crossplane could fill this gap towards a full self-service capability.