Blog

Blog Post

Infrastructure in architectural documentation

Most people are familiar with the principles of good architecture documentation. However, the infrastructure often goes unnoticed or is only understood by a few “experts”. Especially with complex systems, it is important to record solution concepts and decisions at the infrastructure level of an application in order to be able to understand the architecture and further develop the software. This article is aimed at development teams that have difficulties integrating infrastructure topics into their documentation. It also offers insights for platform engineers and cross-functional teams who are responsible for their own infrastructure.

Blog Post

Socio-Technical Architecture as a Competitive Advantage

In today’s business world, technological progress is not just about increasing efficiency—it also unlocks entirely new business opportunities that would be unthinkable without these technologies. As a result, leveraging new technologies effectively has become a key competitive advantage. However, IT decision-makers are increasingly realizing that technology alone is not enough. Instead, companies must understand themselves as socio-technical systems, where technical systems and human interactions are deeply interconnected. This article explores why socio-technical architectures matter for IT decision-makers and how they can create a competitive edge for organizations.

Blog Post

Always up to date

The Class-File API for programmatic handling of bytecode

Blog Post

Spring Boot Actuator Endpoints

The Actuator module has been promising to help make the application ‘production-ready’ since the start of Spring Boot. But what exactly does that mean? What does the module already offer and how can we expand it? This article provides detailed answers to all these questions.

Blog Post

A Brief History of HTTP

HTTP has continuously evolved since the founding of the Internet in 1989. The first RFC document published by the Internet Engineering Task Force (IETF) appeared in 1996. Let’s trace the history of HTTP over the years up to June 2022, when a new series of RFC documents was published standardizing HTTP/1.1, HTTP/2, and HTTP/3.

Blog Post

Platforms, Teams, and APIs: How Do They Fit Together?

Blog Post

Beyond the hype: An engineer’s journey into ReBAC and AI with the Model Context Protocol

In this article, I share my experiences on my journey into the AI world. During this journey, we’ll build our own Model Context Protocol (MCP) Server using C Sharp, learn about access management with relationship based access control (ReBAC) on the way, and in the end I’ll provide my thoughts on the current state of AI and MCP, focusing on security and UX.

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

Rules, Tools, and Teamwork

Getting Static Code Analysis Right

Blog Post

Transcribing podcasts with large language models

Automatically transcribing podcasts with multimodal AI sounds like a no-brainer, but the devil is in the details.

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.

Blog Post

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

Better RAG With Hybrid Search

Why the overemphasis on vector search does not solve the problem

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

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

Blog Post

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.

Blog Post

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.

Blog Post

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

Exploring Features That Were Once Out of Reach

Blog Post

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

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?

Blog Post

How To Build a Data Product with Databricks

In today’s data engineering, the focus is primarily on developing modular data products. This article outlines the advantages of modularity over monolithic data pipelines and explains, step-by-step, how to develop data products using Databricks – from defining a data contract to creating and implementing Databricks Asset Bundles, setting up a CI/CD pipeline, and publishing metadata.