Blog

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

For a while, Kustomize has offered the possibility to extend its functionality with plugins that can be implemented in different ways. A new way is to use KRM functions that are not proprietary and can also work with other tools.

Blog Post

Round-robin coding

Code handover in mere seconds with the mob tool

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

JavaScript’s approach to object orientation is different from other languages. This hasn’t been changed by the introduction of classes, even if it looks that way at first glance. Read on to learn how this unusual system works.

Blog Post

What is Sustainable Software?

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

Security and efficiency are key goals in production systems. This begins when we build our application images and look for a suitable base image. So what are good base images and how do distroless images fit into this picture?

Blog Post

How AI will replace my job

I started using ChatGPT for my work. Here is what it taught me and what AI might hold for the future of software development and consulting

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

Custom elements are a main technology included in the Web Components Browser specification. They provide a set of APIs for adding custom behavior and interactions to an HTML element – and they do this very well. However, they often are unfairly compared with JavaScript component frameworks. Custom elements were never intended to be a drop-in replacement for a JavaScript framework. This article focuses on what custom elements are, what they do well, and, most importantly, what they do not do.

Blog Post

Behaviour over structure

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

Together with our customer CluePoints, we evaluated new technologies, tools and standards for data storage, data processing, data versioning, and data lineage. These might become useful for refactoring their self-serve data platform.

Blog Post

Logging in Java

Introduction to the logging jungle

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

arc42 is a template for architecture communication and documentation. It is a proven, practical and highly pragmatic approach and takes the pain out of documentation.

Blog Post

How I regained concentration and focus

From distraction to concentration in a few simple steps

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

Kustomize’s strength lies in its simplicity, but now and then we have use-cases that need more flexibility and more dynamic behavior. For some of them, Kustomize offers additional features. But as with everything good, it should be used wisely. Otherwise, we fall into the trap of complexity and lose all the good parts of Kustomize.

Blog Post

Infrastructure Self-Service with Crossplane

Blog Post

We Are Developers World Congress 2022 in Berlin

Our colleagues were on site, staffing the booth, speaking with fellow developers, and delivering two talks.

Blog Post

Dependently-Typed TypeScript

TypeScript is a programming language with some special features: Unlike most other typed programming languages, it was developed as an add-on for JavaScript (JS). In the process, Microsoft has placed great value on ensuring that the language integrates as seamlessly as possible into the existing ecosystems (Node.js and browser). TypeScript’s syntax “merely” adds types to JavaScript, while the compilation “merely” removes the type annotations. This has made TypeScript the de-facto standard for building type-safe JS-based applications.

Blog Post

cards42 English edition

The activity cards for software architects

Blog Post

Rich code documentation with Jekyll

Static site generation is a perfect fit for publishing documentation. In a recent project, we chose to use a combination of Jekyll and NGINX to build and host the documentation. In this post, I show how to process and include other types of assets.