Blog & Articles

Blog Post

Rules, Tools, and Teamwork

Static code analysis. A necessary evil? A lifesaver? A constant struggle? Let me show you a few important things that might make your life with code analysis easier.

Blog Post

Soziale Bewährtheit - die Macht der Herde

Microservices, Kubernetes, Scrum – was alle nutzen, kann nicht falsch sein, oder? Soziale Bewährtheit beeinflusst Entscheidungen, spart Zeit, kann aber auch in die falsche Richtung führen. In IT-Projekten heißt das oft: Trends werden übernommen, ohne sie kritisch zu hinterfragen. Wann das nützt und wann es schadet – darum geht es in diesem Beitrag.

Blog Post

Transcribing podcasts with large language models

Blog Post

Canvas 101

Steckbriefe sind kompakt, strukturiert und liefern gezielte Informationen – ideal, um sich schnell einen Überblick zu verschaffen. Ein Canvas funktioniert genauso, nur für IT-Projekte. Ob Geschäftsmodell, Architektur oder Teamkommunikation: Mit einem Canvas halten Sie die wesentlichen Aspekte strukturiert und übersichtlich fest.

Article

Der Kleber macht’s

Auch bei Webprojekten ist es sinnvoll, mit modularisierten Teilsystemen zu arbeiten. Fehler bei der Implementierung können aber zu trägen Modulithen führen.

Blog Post

Eine kurze Geschichte von HTTP

Wie sich HTTP über die Jahre entwickelt hat: Von HTTP/1.0 zu HTTP/3.0

Article

Spring Boot Actuator Endpoints

Das Modul Actuator verspricht bereits seit dem Beginn von Spring Boot, dazu beizutragen, dass die Anwendung “production-ready” wird. Doch was genau ist damit eigentlich gemeint, was bringt das Modul bereits alles mit und wie können wir es erweitern? Das alles stellt dieser Artikel im Detail vor.

Blog Post

RAG: The Architecture of Reliable AI

How can we ensure that AI systems are precise, transparent, and always up to date? All Large Language Models (LLMs) have a cut-off date where their world knowledge ends. And they know nothing about your company’s internal information. Even the leading models still have hallucination rates we can’t completely ignore. Yet they offer enormous potential for productivity, efficiency, and creation. Retrieval-Augmented Generation (RAG) addresses exactly this issue: LLMs are enhanced through targeted information retrieval.

Blog Post

Document Ingestion

The Foundation of a RAG System

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.

Article

Immer up to date

Das JDK 23 beinhaltet bereits die zweite Preview für das neue Class-File API, das vermutlich in JDK 24 fertig gestellt sein wird. Zeit also, sich einmal anzuschauen, worum es sich bei diesem API handelt und wie wir es nutzen können.

Blog Post

Bessere APIs, aber wie?

API Linting mit Spectral verbessert die Qualität von APIs

Article

APIs als strategische digitale Bausteine

Organisationen müssen heute balancieren, ihre aktuellen Aufgaben effizient zu erfüllen, aber sie müssen ebenso in der Lage sein, auf neue Anforderungen schnell und flexibel reagieren zu können. “Unbundling the Enterprise” ist ein neues Buch, das untersucht und beschreibt, wie sich Unternehmen durch systematisches Entflechten mehr Optionen verschaffen können, und somit besser in der Lage sind, auf neue Anforderungen zu reagieren.

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

Blog Post

API Drift

API Drift passiert immer dann, wenn das Verhalten eines APIs von der Beschreibung des APIs abweicht. Dies liegt oft daran, dass Beschreibungen separat erstellt und nicht nachgeführt werden. API Drift kann zu Problemen führen, vor allem wenn sich Konsumenten darauf verlassen, dass sich ein API wie beschrieben verhält.

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

Sometimes it is the small details that change our worldview; when the veil of magic lifts and the magician’s craft shines through

Blog Post

Better RAG With Hybrid Search

One component of RAG (retrieval-augmented generation) is the retrieval. In other words: we have to solve a search problem. Reading articles about RAG, one can get the impression that vector search is the essential or even the only piece of the puzzle. In this blogpost you’ll see why this does not bring us close enough to the goal.

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

Menschen, Muster, Motivation: Sozialpsychologie in der IT

Blog Post

Use webjars-locator-lite with internal WebJars

Switching to the new webjars-locator-lite, e.g. by following the Spring Boot 3.4 Release Notes, may result in errors when loading your internal WebJars. This post explains why that is the case and what you can and should do to fix that.

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

Mehr Auswahl im Kommandozeilenwerkzeugkasten

Article

Java and its annotations

Java code without annotations is hardly conceivable nowadays, even though it is constantly criticized. It’s hard to believe that there was a time before them. Three use cases demonstrate how these problems were solved before the introduction of annotations and how things could work without them today.