Blog

Blog Post

Bringt eure Schafe ins Trockene: Tipps für politische Risikovorsorge

Eines vorweg: Keine Panik! Das ist aktuell wichtiger als sonst. Leider hat sich die Welt in den letzten Monaten drastisch verändert, sodass nun ein neues Risiko aufgetaucht ist: Die US-basierten Cloud-Dienste, die uns viel ermöglichen, die den Betrieb von Anwendungen so vereinfacht haben und viele Innovationen ermöglichen, könnten auf einmal gegen uns verwendet werden. Sei es politischer Machtmissbrauch oder eskalierender Drang nach Reichtum. Dies ist ein komplett neues Risiko, das auf uns alle in Europa zukommt.

Blog Post

Verschachtelte Tests mit Minitest

Über das Schreiben von Tests in Ruby in Rails-Anwendungen wurde in den letzten Jahrzehnten wohl alles geschrieben, was man sich ausdenken kann. Es wurden alle erdenklichen Frameworks entwickelt, mit denen das Schreiben von Tests “Spaß” machen soll. Mit RSpec/Cucumber sollten Tests sogar optimalerweise von der Fachabteilung verfasst oder wenigstens gelesen werden können. So jedenfalls das Heilversprechen. Der Autor dieses Posts war nie bekannt für seine Rigorosität, was Testabdeckung seiner Anwendungen betrifft. Software soll ausgeliefert werden und tun, was sie soll. Ein formaler Korrektheitsbeweis im Kopf sowie händisches Testen des Restes wird meist/oft/manchmal auch ausreichen, außerdem steht da noch die Feststellung im Raum, dass 100% Testabdeckung ohnehin nicht erreichbar sind. Manchmal wird man im Alter aber doch weiser (und fauler).

Blog Post

Buttons, Links und die Magie von HTML

Accessibility Lessons

Blog Post

Building Standardized AI Tools with the Model Context Protocol (MCP)

In this article, we’ll explore the integration of Large Language Models and systems built on top of them. The key concept in this space recently is the Model Context Protocol (MCP).

Blog Post

Digitale Souveränität

Digitale Souveränität bedeutet letztlich, dass Europa die Kontrolle über seine digitale Zukunft behält – technologisch, wirtschaftlich und regulatorisch. Für Unternehmen ist dies nicht nur ein politisches Schlagwort, sondern ein handfester Faktor für Risiko- und Erfolgsbewertung. Doch warum genau sollten Unternehmen bei Entscheidungen zur digitalen Transformation den Aspekt der europäischen Souveränität berücksichtigen?

Blog Post

Von Legacy-Monolithen zu Self-contained Systems

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

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

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.

Blog Post

RAG: The Architecture of Reliable AI

Annotated Talk+ for later reference

Blog Post

Document Ingestion

How can we transform a pile of diverse documents into a high-quality knowledge base for AI systems? Document ingestion is the critical first step in any Retrieval-Augmented Generation (RAG) system—and often the reason why these systems fail.

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 mit Spectral verbessert die Qualität von APIs

Blog Post

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.

Blog Post

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.

Blog Post

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

Better RAG With Hybrid Search

Why the overemphasis on vector search does not solve the problem

Blog Post

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

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

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.