Blog & Articles

Blog Post

Running an AI Chatbot on Your Own PC

Llama.cpp, gpt4all and others make it very easy to try out large language models. Here’s a short guide to trying them out under Linux or macOS.

Blog Post

Why Your Team Needs Data Products

Have you ever had the feeling that you or your team spends too much time on individual data research tasks or makes too many decisions based on your gut? Then it might be time for your team to start engaging with data products.

Blog Post

Draw The Diff

Article

Babylon as a Feature

The Tower of Babylon is a myth meant to explain why the world’s peoples speak different languages. In modern IT systems, it’s often a requirement to support multiple languages. Such internationalization (i18n for short) is a tough challenge – and this post describes a simple solution to just the tiny part of multilingual documents. Our solution combines the simplicity of the plain-text format AsciiDoc with a simple yet versatile build script to support multiple languages (like EN and DE) and multiple output formats (like PDF and HTML).

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

You’ll get your pizza eventually

Article

Property-based Testing with “fast-check”

It isn’t exactly news that developers have to write not only code but also tests. Nevertheless, many find this to be burdensome and monotonous work. Plus, it is far from guaranteed that unit tests actually cover all the border and non-border cases. A modern approach is property-based testing, which consists of specifying an abstract condition that is then automatically checked by the test framework.

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

Article

Tracing in verteilten Anwendungen

Nicht nur, aber auch durch die DevOps-Bewegung machen sich Teams heute neben der Fachlichkeit vermehrt Gedanken um den Betrieb ihrer Anwendungen. Ein großes Thema ist hierbei Observability, also einen Einblick in den aktuellen Zustand des Systems zu haben. In dieser Kolumne betrachten wir mit Tracing einen der drei Bereiche von Observability und lernen anhand eines konkreten Beispiels, wie wir diesen umsetzen können.

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

Back to the architectural guidelines

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.

Article

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.

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

How objects work in JavaScript

Article

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

In diesem Artikel betrachten wir bunt gemischt diverse Themen und Bibliotheken rund um Tests für und mit Java. Dabei folgen wir keinem roten Faden, sondern lassen uns durch das übergreifende Thema treiben.

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

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?

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

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!