Blog & Artikel

Blog-Post

Einen KI-Chatbot auf dem eigenen PC laufen lassen

Llama.cpp, gpt4all und andere machen die lokale Ausführung von Large Language Models sehr einfach. Eine kurze Anleitung zum Ausprobieren unter Linux oder macOS.

Blog-Post

Draw The Diff

Software developers have an idiosyncratic penchant for boxes and arrows. Back when we used to go to the office we penned them on whiteboards. Later, as the force majeure accelerated the digital transformation of our economies, we drew them online.

Artikel

Babylon as a Feature

Multi-lingual documentation, made simple

Artikel

Assessing the Sustainability Impact of Startups

As a startup, caring about sustainability should be a priority for several reasons. Firstly, a sustainable product can differentiate your business from competitors and attract environmentally conscious customers and investors. There are various international standards that you can look into when assessing your business’s sustainability, but there is also a European one.

Artikel

An Introduction to TLA+ and Its Use in Parties

TLA+ is a system for modeling all possible states of a system. On this model, you can then verify certain properties of this system. Smart people can use this to check that their thread scheduling runs all threads equally, or that their work queue will never overflow. In this article, we’ll try and verify the fraught process of ordering pizza for a pizza party as a small introduction to the concepts and syntax of TLA+.

Blog-Post

How to Encrypt a File on the JVM

Artikel

Creating data products with Terraform on AWS

Have you heard of data mesh? Are you intrigued by its potential but uncertain how to get started building data mesh and data products? If so, this article outlines a potential approach and delves into the key concepts behind it!

Artikel

Tracing in verteilten Anwendungen

Nicht nur, aber auch durch die DevOps-Bewegung machen sich Teams heute neben der Fachlichkeit vermehrt Gedanken um den Betrieb ihrer Anwendungen. Ein großes Thema ist hierbei Observability, also einen Einblick in den aktuellen Zustand des Systems zu haben. In dieser Kolumne betrachten wir mit Tracing einen der drei Bereiche von Observability und lernen anhand eines konkreten Beispiels, wie wir diesen umsetzen können.

Artikel

Accessibility im Web Teil 1

Erstellen einer Webanwendung

Blog-Post

Automated code maintenance with OpenRewrite (Part 2)

In part 1 of this series, I showed how OpenRewrite can be used to automate code maintenance tasks for software development projects in your organisation. In this post, I will demonstrate how to write your own OpenRewrite refactoring recipe. This will not only help you to perform refactoring tasks for which no recipe is publicly available, but will also deepen your knowledge and understanding of how OpenRewrite works under the hood.

Blog-Post

Automated code maintenance with OpenRewrite (Part 1)

With the large number of software development projects in most organisations, keeping these projects up to date with the latest security patches and framework updates can be quite a task. OpenRewrite is a library that provides an automated solution to this problem. Using recipes written in Java, it can perform large-scale source code refactoring during the build process, preserving as much of the original code as possible. In this blog post, I will explain how OpenRewrite works and how you can use it to refactor your code base.

Blog-Post

Kustomize Enhancement with KRM Functions

Blog-Post

How to use Apple Shortcuts to integrate GPT-4o in macOS and iOS

Apple Shortcuts is a powerful app that lets you create custom workflows with multiple steps using your apps and content. You can also use it to interact with web services and APIs, such as OpenAI’s Chat Completions API for GPT-4o, which can generate text completions for any prompt or task. Yup, the thing that’s behind ChatGPT.

Artikel

Container-Images mit Buildpacks erzeugen

Im Rahmen dieser Kolumne habe ich mich schon häufiger auch mit Containern und Docker beschäftigt. Obwohl es sich hierbei weder um ein Java- noch um ein direktes Entwicklungsthema handelt, ist es für viele Projekte von hoher Relevanz. Schließlich spielt heute auch der Betrieb von Anwendungen für die meisten Entwicklungsteams eine hohe Rolle und dieser nutzt aktuell in vielen Fällen Container. Hier wollen wir uns mit Buildpacks eine weitere Möglichkeit im Detail anschauen, um zu einem Container-Image zu gelangen.

Blog-Post

Ist BI-Software für Entwicklungsteams sinnvoll?

Artikel

Eigenschaftsbasiertes Testen mit „fast-check“

Dass man als Entwicklerin oder Entwickler nicht nur Code, sondern auch Tests zu schreiben hat, ist ein alter Hut. Trotzdem ist es für viele eine lästige und monotone Arbeit. Außerdem ist es noch lange nicht garantiert, dass Unittests auch wirklich alle Grenz- und Nicht-Grenz-Fälle abdecken. Ein moderner Ansatz ist eigenschaftsbasiertes Testen, bei dem eine abstrakte Bedingung spezifiziert und dann vom Testframework automatisch überprüft wird.

Blog-Post

Schubladen für Product Owner

Die Aufgaben der Product Owner Rolle sind regelmäßig Gegenstand von Diskussionen. Um dem Umstand gerecht zu werden, dass die Rolle ganz unterschiedlich gelebt wird, werden neue Begriffe eingeführt. Es wird Zeit, den Blick zu ändern und den Kontext einzubeziehen.

Artikel

Diverse Themen und Bibliotheken für Tests in und mit Java

Eine bunte Tüte Gemischtes rund um Tests

Artikel

What is Sustainable Software?

Environmental sustainability is a very important issue, but software is something virtual, so it doesn’t seem to have an impact, right? Wrong! As software creators, we have a significant impact and can make a difference by incorporating the principles of eco-friendly software development into our understanding and practices.

Artikel

Shortcomings of ISO 25010

Published in 2011, the ISO 25010 standard on software product quality lacks pragmatism and practical applicability. Terms like scalability, deployability, energy efficiency, safety, or code quality are missing. This article explains these shortcomings and shows that even the (draft) update from 2022 still needs polishing…

Blog-Post

How to use and build your own distroless images

Artikel

Pixie und der Sumpf

Die Cloud … das sind die Computer von jemand anderem. Die Strom benötigen, installiert und konfiguriert werden müssen. Obwohl wir Container oder VMs nach jedem Gebrauch (fachgerecht) entsorgen (sprich: löschen) – die darunter liegenden echten Computer sind ja immer noch da. Auch in Cloud-Native Zeiten solltest Du wissen, wie ein Computer überhaupt in einen betriebsfähigen Zustand und zu einem Betriebssystem kommt. Das Fachwort dafür lautet bare metal provisioning, und hat rein gar nichts mit Provisionszahlungen zu tun.

Blog-Post

Warum dein Team Data Products braucht

Hast du schon einmal das Gefühl gehabt du oder dein Team verbringt zu viel Zeit mit einzelnen Datenrecherchen oder ihr trefft viele Entscheidungen aus dem Bauch heraus? Dann wird es vielleicht Zeit sich als Team einmal mit Data Products zu beschäftigen.

Blog-Post

How AI will replace my job

I started using ChatGPT for my work. Here is what it taught me and what AI might hold for the future of software development and consulting

Blog-Post

How to prepare a (not only technical) talk

As I want to improve on giving valuable (conference) talks this year, I like to introduce my current four-phase approach to preparing these. Because when you intend to improve things, it is always a good idea to start with summarizing the current state. From there you can find out what is already good and where there is room for improvement. I would love to hear / read about your tricks and ideas!