Blog & Articles

Article

Assessing the Sustainability Impact of Startups

As a startup, caring about sustainability should be a priority for several reasons. Firstly, a sustainable product can differentiate your business from competitors and attract environmentally conscious customers and investors. There are various international standards that you can look into when assessing your business’s sustainability, but there is also a European one.

Article

An Introduction to TLA+ and Its Use in Parties

TLA+ is a system for modeling all possible states of a system. On this model, you can then verify certain properties of this system. Smart people can use this to check that their thread scheduling runs all threads equally, or that their work queue will never overflow. In this article, we’ll try and verify the fraught process of ordering pizza for a pizza party as a small introduction to the concepts and syntax of TLA+.

Article

Property-based Testing with “fast-check”

1000 in one blow

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.

Article

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!

Article

Tracing in verteilten Anwendungen

Spuren im Microservicedschungel finden

Blog Post

Automated code maintenance with OpenRewrite (Part 2)

In part 1 of this series, I showed how OpenRewrite can be used to automate code maintenance tasks for software development projects in your organisation. In this post, I will demonstrate how to write your own OpenRewrite refactoring recipe. This will not only help you to perform refactoring tasks for which no recipe is publicly available, but will also deepen your knowledge and understanding of how OpenRewrite works under the hood.

Article

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)

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.

Article

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

Hey GPT, what’s this email about?

Article

Container-Images mit Buildpacks erzeugen

Im Rahmen dieser Kolumne habe ich mich schon häufiger auch mit Containern und Docker beschäftigt. Obwohl es sich hierbei weder um ein Java- noch um ein direktes Entwicklungsthema handelt, ist es für viele Projekte von hoher Relevanz. Schließlich spielt heute auch der Betrieb von Anwendungen für die meisten Entwicklungsteams eine hohe Rolle und dieser nutzt aktuell in vielen Fällen Container. Hier wollen wir uns mit Buildpacks eine weitere Möglichkeit im Detail anschauen, um zu einem Container-Image zu gelangen.

Article

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.

Article

Diverse Themen und Bibliotheken für Tests in und mit Java

Eine bunte Tüte Gemischtes rund um Tests

Article

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.

Article

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

Article

Pixie und der Sumpf

Die Cloud … das sind die Computer von jemand anderem. Die Strom benötigen, installiert und konfiguriert werden müssen. Obwohl wir Container oder VMs nach jedem Gebrauch (fachgerecht) entsorgen (sprich: löschen) – die darunter liegenden echten Computer sind ja immer noch da. Auch in Cloud-Native Zeiten solltest Du wissen, wie ein Computer überhaupt in einen betriebsfähigen Zustand und zu einem Betriebssystem kommt. Das Fachwort dafür lautet bare metal provisioning, und hat rein gar nichts mit Provisionszahlungen zu tun.

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

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

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.

Article

Frontend integration options

Article

KI-Systeme: MLOps, Model Governance und Explainable AI sichern robusten Einsatz

Compliance und Vertrauen: Mit den richtigen Tools und Prozessen lassen sich KI-Systeme wirksam kontrollieren und im Einklang mit rechtlichen Vorgaben betreiben.