Limitations of Process Tracing

Process tracing is a wonderful technical solution to debug performance issues at scale and in production. However, it can answer neither customer nor support questions, like “Why is the order not processed?” Story time A couple of months ago, the almighty tracing tooling was added to your application to solve all the problems of observability. Data from the auto instrumented libraries like OpenTelemetry, ElasticAPM, etc. is flowing in. And in a couple code places, some extra metadata is added to the spans to make the traces more informative....

July 29, 2024 · 3 min · 434 words

Impressions from code.talks 2023

The code.talks conference opened its doors in Hamburg, Germany at the Cinemaxx movie theater on 14th and 15th of September. The two day events covers a broad range of computer science topics with a focus on getting to know each other. While some talks are held in German, most are held in English and suited for an international audience. During the opening keynote, the organized mentioned a ratio of 1 speaker to roughly 10 visitors....

September 16, 2023 · 3 min · 455 words

Interfaces are the Light Version of Software Architecture

In this post, we cover why interfaces are used and how they help to build maintainable software. Abstraction of the Actual Implementation In its most basic form, an interface hides a concrete implementation from the caller and thereby creates an abstraction. This abstraction meets certain conditions (or requirements) that are guaranteed by its (implicit) contract. In the Java programming language, the classical example is the List interface, which is an ordered sequence of elements allowing for random access1....

September 4, 2023 · 6 min · 1251 words

Writing a Baeldung Article to Promote Open Source

Springwolf has reached a point, where it supports essential use-cases and provides great value to users that don’t want to write (much) documentation themselves. Now it’s time to expand our user base by promoting the project. Zenika open source has a great guide on improving open source projects. Over the past months we’ve been working on making Springwolf better to build a solid foundation. One of the next suggestions is to write an article....

August 7, 2023 · 3 min · 551 words

Combining Symmetric and Asymmetric Encryption

Recently, I came across a technical use-case, where a system required a combination of symmetric and asymmetric encryption for communication. To be more precise, the payload was encrypted using a generated symmetric key and that key was encrypted using the public key (asymmetric encryption) of the target system. High-level Fundamentals Recalling cs fundamentals, symmetric encryption uses the same key for encryption and decryption. On the other hand, asymmetric encryption uses two different keys1....

July 5, 2023 · 3 min · 491 words