Blog & Articles

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.

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.

Article

LLMs mit Spring AI integrieren

Spring AI stellt sich vor

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

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

Deciphering the Hidden Language within Old Software Programs

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

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.

Article

Compliance in hybrid operating environments

A socio-technical view

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

Viele Unternehmen haben Services von Public-Cloud-Providern adaptiert, um von der Skalierbarkeit, Zuverlässigkeit und Innovationskraft der Cloud zu profitieren. Das primäre Ziel dabei: die Beschleunigung der eigenen Entwicklungsprozesse. Doch häufig tritt genau das Gegenteil ein.

Article

Spring Boot und explodierte JARs

Spring Boot Deployments effizienter machen

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

Curious on how to start building with Generative AI? This guide covers the basics, from deploying local models to utilizing tools like Huggingface and LangChain. Learn to create your first AI application, manage customer feedback, and grasp key concepts such as context windows and vectorization. Discover practical examples and essential resources to help you get started.

Blog Post

Mehr aus Git machen

Einfache Konfigurationsanpassungen für mehr Komfort

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?

Ist das Spring RestTemplate wirklich veraltet? Dieser Artikel beleuchtet die verwirrende Geschichte hinter der angeblichen Deprecation, klärt auf, was wirklich Sache ist und gibt praktische Empfehlungen für Entwickler. Erfahren Sie, warum Sie vielleicht doch nicht all Ihren Code umschreiben müssen.

Article

Social Engineering ist durchgespielt

Soziotechnische Welten - Teil 14

Article

Perfect solution for legacy code

This article is about people who are passionate about improving legacy systems. They are motivated to constantly reduce technical debt to ensure that software systems remain expandable in the long term. Prejudices and stereotypes in our industry prevent us from making the best possible use of these people’s potential.

Blog Post

Boring Innovation?

Does innovation always come with the latest technology or can innovation even seem boring? A quick look at a story from my work as an IT consultant.

Article

How To Build a Data Product with Databricks

Article

Modernisierung einer Legacy Software-Architektur

Software-Systeme reifen mit der Zeit. Sie werden oft über viele Jahre und von verschiedenen Architekten und Entwicklern angepasst, um neue Anforderungen zu erfüllen. Der Alterungsprozess lässt sich trotz sorgfältiger Pflege nie ganz aufhalten und so erhält irgendwann jedes System den Stempel „legacy“. Legacy Systeme unterstützen aber weiterhin wichtige geschäftliche Tätigkeiten. Wie führt man diese Systeme also zurück in die Gegenwart und bereitet sie auf die Zukunft vor?

Blog Post

Type-safe SQL queries in Java and Rust

In recent years, our industry has been in favour of strong typing and build-time verification to make certain classes of bugs impossible. How much influence has this trend had on how we can write SQL queries in Java? Let’s look at how typesafe SQL queries can be in Java, how this compares to what you can do in Rust, and consider the benefits and drawbacks of these different approaches.

Article

Nicht mehr Open-Source

Technologieentscheidungen rational treffen

Article

Identification of Team Boundaries

In the context of numerous initiatives and ideas such as Microservices, Agile, Domain-Driven Design, or Team Topologies, the focus is on establishing autonomous, cross-functional teams that exhibit a fast workflow and can respond agilely to changes. However, the challenge lies in finding appropriate boundaries for the areas of responsibility of these teams. This is the focus of this article.