Blog & Articles

Article

Eine kleine Geschichte über Qualität…

Du denkst Dir nichts Böses, da bittet Dich Tante Lucy um einen kleinen Gefallen… und Du musst Dich entscheiden, wie Du das angehen sollst. Aber als Belohnung winkt ihr leckerer Erdbeerkuchen, außerdem sind wir doch alle Herausforderungen gewöhnt, oder?

Article

Ethics and Artificial Intelligence

Artificial intelligence is forcing its way into many fields of application. Now it is important that it works in a responsible, secure, and transparent way. The regulation of AI systems is a legal, societal, and technical topic that demands broad awareness and that will become increasingly important in the years to come.

Article

Principles of technical documentation

Article

Libraries for command-line applications

Command-line applications are admittedly not the most common due to the start time of the JVM. Their development for internal applications can however be appropriate, depending on the level of knowledge of the team. And thanks to the native compiling with GraalVM, the start time is accelerated. Much of the work involved in a command-line application involves parsing and use of the provided arguments and options. We look at four possible libraries that can assist us.

Blog Post

Awesome presentations deserve beautiful code

Occasionally we need to put parts of our source code onto slides for presentations. The common presentation programs (such as PowerPoint or Keynote) fail miserably at this task because they interpret code as normal text. Syntax highlighting is lost, as are indentations. It looks lousy, and it’s no fun. This post introduces carbon.now.sh, a quick and free solution, created by the awesome people from @carbon_app.

Article

MLOps and Model Governance

Blog Post

Cloud Security

Die Cloud-Welt bringt eigene sicherheitstechnische Herausforderungen. Zusätzlich haben regulatorische Auflagen für den Umgang mit personenbezogenen Daten starke Implikationen, zumal weder Netzwerke noch Speichersysteme von Cloudanbietern vorbehaltlos vertrauenswürdig sind.

Article

Iterierst du noch, oder streamst du schon?

Worin unterscheiden sich Streams und Iteratoren in Java? Man sollte denken, dass beide Ansätze dafür gedacht sind, Dinge wiederholt auszuführen, und dass Streams nur eine komfortablere Art und Weise sind, den Algorithmus auszudrücken. Die beiden APIs unterscheiden sich aber in mancher Hinsicht. Ziel dieses Artikels ist es, die beiden Ansätze zu vergleichen – zum einen mit Blick auf die Ergonomie eines Beispiels, zum anderen auf funktionale Unterschiede bei der Parallelisierung und Mutabilität.

Article

A Comparison of Java HTTP Clients

Many Roads Lead to the Web

Blog Post

Authoring Markdown with Zotero - My Workflow

This post describes an authoring workflow that combines the simplicity of markdown (for writing) with the power of a reference manager (for citing and generation of a bibliography).

Article

Die ökonomischen Vorteile von User Experience Design

Eine positive User Experience erreicht niemand auf Anhieb. Doch es lassen sich schon durch wenige einfache Maßnahmen enorme ökonomische Vorteile erzielen.

Article

Geld statt Kohle

Warum Kryptowährungen auf Proof of Stake umstellen wollen

Article

What Does a Bundler Actually Do?

Frontend development without JavaScript is rarely possible. Seasoned backend developers are then confronted with a completely new toolchain overflowing with unknown technical terms. But there is method behind the complexity.

Article

Benutzer­freundlicher Äther

Smart Contracts, wie sie die Ethereum-Blockchain kennt, sind technisch eine feine Sache. Aber sie brauchen eine Bedienoberfläche, wenn sie nicht nur Entwicklern nützen sollen – dann werden daraus „dezentrale Applikationen“. Um so eine DApp zu programmieren braucht man nur etwas HTML und JavaScript.

Blog Post

Setup für Hybrid-Workshops

So verbindet ihr „vor-Ort“ und „online“

Blog Post

Data Mesh to Go: How to Get the Data Product

You know what a data mesh is? You understand its basic principles? But you don’t know how on earth to get the data product? Then I will show you how to extract your data product from your Domain-driven Design (DDD) artifacts.

Article

HTTP Feeds

Asynchronous interfaces don’t always require the use of Apache Kafka or RabbitMQ. They can also be designed without middleware just by means of HTTP APIs.

Blog Post

The Way of the Request

Tracing a request through Play 2.7/2.8

Blog Post

Software quality in the context of value chains and evolution

Quality goals help to make more informed architectural decisions. However, identifying a set of the most needed qualities is a challenging task. Quality requirements are strongly dependent on the perspective of individuals. The importance of certain qualities also changes over time. In this blog post, I introduce an idea that helps to understand qualities in terms of their relevance (and non-relevance). We discover how qualities interplay with value creation activities and evolution by using the ISO 25010 quality model together with Wardley Maps as a foundation.

Blog Post

Das Test-driven Development für eine Conversational AI

Anlässlich meines kürzlichen Wechsels vom Student zum Consultant schreibe ich in diesem zweiten Blogpost über die Thematik meiner Masterarbeit.

Blog Post

Mein Weg als Werkstudent bei INNOQ

Blog Post

Injecting environment variables into static websites using NGINX

Static site generation is a perfect fit for publishing documentation. In a recent project, we chose to use NGINX as a web server to host the HTML and CSS files. However, we also wanted to protect the site using SSO. This is where things get a bit difficult.

Article

Maven, das unbekannte Wesen – Teil 2

Bereits in der letzten Kolumne haben wir uns mit vier Themen zu Maven beschäftigt. Natürlich war diese nicht erschöpfend und es gibt noch viele weitere Themen, die eine Betrachtung wert sind. In dieser Kolumne betrachten wir deswegen fünf weitere Themen, die meiner Meinung nach wertvoll sind.

Article

Maven, das unbekannte Wesen - Teil 1

Weiterführende Themen zum Umgang mit Maven

Article

Widerstandsfähigen Java-Code mit Resilience4j schreiben

Eines ist beim Betrieb von Software sicher: Fehler und unerwartete Situationen werden eintreffen. Stabile Software sorgt deswegen vor und kann auch mit solchen Situationen umgehen. Diese mit Resilienz oder Widerstandsfähigkeit beschriebene Eigenschaft kann den Unterschied zwischen einer Anwendung, die nicht mehr reagiert oder erreichbar ist, und einer darstellen, die noch ihren Dienst tut. Dieser Artikel beschäftigt sich deshalb mit Stabilitätsmustern und zeigt, wie wir diese mit Resilience4j in Java umsetzen können.