Blog & Articles

Blog Post

Retrieval-Augmented Generation

How do we handle situations where an LLM-driven system requires highly specialized enterprise knowledge that wasn’t included in the original model training? While LLMs have enormous potential to answer generic queries based on their comprehensive knowledge from training, they show limitations when it comes to current, specialized, or verified information.

Blog Post

Bessere APIs, aber wie?

API Linting verbessert die Qualität einzelner APIs und hilft, Design-Standards in Organisationen zu etablieren und zu unterstützen. Spectral als das populärste Linting Tool hat eingebaut Regeln und unterstützt selbstgeschriebene Regeln. Vor allem in grösseren Organisationen hilft API Linting, Hilfestellung und Automatisierung beim API-Design zu unterstützen.

Article

APIs als strategische digitale Bausteine

APIs, Optionalität, und die Wissenschaft glücklicher Zufälle

Blog Post

Survivorship Bias

Erfolgsgeschichten inspirieren uns. Sie prägen unser Bild davon, was möglich ist – und manchmal auch, was wir für wahrscheinlich halten. Doch der Schein trügt: Wer nur auf die sichtbaren Erfolge blickt, ignoriert all jene, die es nicht geschafft haben. Dieses Phänomen nennt sich Survivorship Bias. Der folgende Blogpost zeigt anhand von Beispielen aus IT-Projekten, Wirtschaft und Medizin, warum diese Wahrnehmungsverzerrung gefährlich ist – und wie man ihr entgegenwirken kann.

Article

Implementing GitOps without Kubernetes

“GitOps only works with Kubernetes as the operating platform!” This persistent misconception about GitOps might explain why it hasn’t become a standard workflow tool for software delivery yet. Most available GitOps tools require Kubernetes. However, GitOps fundamentally means using a version control system (VCS) like Git as an interface for a software agent to handle deployment and operational tasks within a target environment.

Blog Post

API Drift

Wenn APIs Unbeschriebenes tun

Article

Back to Basics: Gute Architektur muss nicht „trendy“ sein

Schlägt man ein IT-Magazin oder das Programm einer IT-Konferenz auf, springt dem Leser sofort der Hype ins Gesicht: Gestern waren es Microservices, die uns vor den zu groß geratenen Monolithen retten werden, heute ist es die generative KI, die als Heilsbringer oder Unheilstifter stilisiert wird. Dabei ist es auch ohne dieses Hintergrundrauschen nicht einfach, gute Architekturentscheidungen zu treffen.

Blog Post

When the Worldview is Shifting

Large Language Models (LLMs) can feel like magic. We observe them and imagine that they work in a certain way. Then something surprises us, shattering the illusion and fundamentally reshaping our understanding. In this blogpost I’ll show you one such surprise from my own experience, and I believe that your worldview will have changed at the end.

Blog Post

Better RAG With Hybrid Search

Why the overemphasis on vector search does not solve the problem

Article

LLMs mit Spring AI integrieren

Die gesamte Welt spricht aktuell über Generative KI und Large Language Models (LLMs). Und auch wenn ich persönlich das Thema aktuell als zu sehr gehypt empfinde, sollten wir solche Trends nicht komplett verschlafen. Daher zeigt dieser Artikel, wie sich LLMs mit Spring AI integrieren lassen.

Blog Post

Monokausalität: Warum wir einfache Erklärungen lieben

Unser Gehirn liebt klare, einfache Antworten – besonders wenn es um die Frage nach dem “Warum” geht. Dieser Blogpost zeigt, warum Monokausalität verlockend, aber oft irreführend ist – und wie wir den Blick für komplexe Zusammenhänge schärfen können.

Blog Post

Use webjars-locator-lite with internal WebJars

Blog Post

LLM-assisted Abbreviation Mining for Legacy Systems

This blog post shows the process of mining abbreviations and discovering first concepts a COBOL legacy mainframe codebase is made of with the help of Large Language Models. It uses Python, pandas and Claude 3.5 Sonnet to generate insights that can be gathered from such a simple thing like a list of files.

Article

Diverse Kommandozeilenwerkzeuge für Container und Kubernetes

Für den Umgang mit Containern und Kubernetes gibt es mittlerweile eine riesige Auswahl an Werkzeugen auf der Kommandozeile. So viele, dass es schwer ist, einen Überblick zu behalten und jedes neue Werkzeug mitzubekommen. Dieser Artikel stellt deswegen einige der vorhandenen Werkzeuge vor, die ich regelmäßig nutze.

Article

Java and its annotations

Stories of code before and without annotations

Article

Compliance in hybrid operating environments

Compliance is a key element of corporate governance. It helps ensure that developed software upholds the necessary legal conformity and quality. It is also an unavoidable criterion for modernizing a system landscape, which often goes hand in hand with migration to the cloud.

Article

Generative AI: The End of “Too Expensive” in Business Software?

”We’ve found no use cases.” — No, you’ve got too many. Let’s take a look at how Generative AI will change business software beyond chatbots. What features might become possible that weren’t before, or were just too expensive?

Article

Pragmatische Evolution von Platform Engineering für die Cloud

Organisatorische und kulturelle Transformation

Article

Spring Boot und explodierte JARs

Auf den ersten Blick scheint das Starten von Spring-Boot-Anwendungen nicht sehr schwer zu sein. Ein Aufruf von java -jar my.jar reicht dafür. Doch wie genau funktioniert das eigentlich? Und wie lässt sich die Softwareverteilung effizienter gestalten? Dieser Artikel beantwortet diese beiden Fragen und nimmt Sie dabei mit auf eine Reise durch die Geschichte von Spring Boot.

Article

Entwickler skalieren anders als Applikationen

Interne Plattformen können die unternehmenseigene Softwareentwicklung beschleunigen, indem sie die mentale Belastung der Entwicklungsteams reduzieren. Als Abstraktionsschichten konzentrieren sie sich auf die wesentliche Fach- und Laufzeitdomäne. Wenn sie sorgfältig gebaut sind, durchbrechen sie alte Konflikte und erlauben zum Beispiel den Entwicklungsteams viel Innovationsfreiheit trotz (oder dank) hoher Standardisierung. Allerdings erfordert dies ein Umdenken über den Wert von Wiederverwendung und auch eine Kehrtwende von Projekten hin zu internen Produkten. Organisationen, die der Versuchung erliegen, bestehende Betriebsschichten oder Frameworks in “Plattformen” umzubenennen, dürfen daher keine Wunder erwarten.

Article

Here’s All You Need To Know To Start Building With Generative AI

Blog Post

Mehr aus Git machen

Git hat sich als das de-facto-Standard für Versionskontrollsysteme etabliert. Obwohl wir es täglich verwenden, sind viele von uns einfach mit den Standardeinstellungen unterwegs. Damit liegen jedoch viele der von Git gebotenen Möglichkeiten brach. In diesem Artikel möchte ich ein paar mir lieb gewonnene Optionen vorstellen und so vielleicht der einen oder dem anderen das Leben mit Git einfacher machen.

Blog Post

Springboot mit Keycloak in 2024

Zur Verknüpfung einer Springboot-Anwendung mit Keycloak gibt es wahrlich genug Tutorials im Netz. Allerdings gibt es in den neuesten Versionen beider Anwendungen einige Dinge zu beachten, die sich geändert haben.

Blog Post

Ist das Spring RestTemplate wirklich Deprecated?

Das Mysterium um Springs RestTemplate in 3 Akten

Article

Social Engineering ist durchgespielt

Der Angriff auf die Kompressionsbibliothek xz hat gezeigt, wie fragil die digitale Infrastruktur ist, die die moderne Welt am Laufen hält. In dieser Kolumne soll betrachtet werden, wie die sozialen Mechanismen Vertrauen und Misstrauen in diesem Zusammenhang wirken.