Blog

Blog Post

Customer-specific documentation with Jekyll

Static site generation is a perfect fit for publishing documentation. In a recent project, we chose to use Jekyll for rendering our content. As a special requirement, we had to build different “flavours” for different customers.

Blog Post

Data Mesh: Decentralized Data Analytics for Software Engineers

The decentralized data architecture approach Data Mesh is designed to enable developers to independently perform cross-domain data analysis.

Blog Post

Querying DNS and LDAP Using JNDI

What Is JNDI Actually?

Blog Post

TypeScript – Taming the Complexity of JavaScript 

TypeScript celebrates its tenth anniversary in 2022. A good reason to look back at its beginnings – and to provide beginners with everything they need to know for working with this programming language.

Blog Post

INNOQ and Family

Is it possible to successfully combine a family and a consulting career? Here at INNOQ we think so. Three of our employees report on how and why this works well.

Blog Post

Next Please!

How the Event Loop Enables Asynchronous Code in Browsers

Blog Post

Managing Kubernetes Resources with Kustomize

Helm is the de-facto standard for managing groups of Kubernetes resources that belong to an application as a package. It comes with its own ecosystem to build, configure and distribute these packages. In some cases, this is an appropriate approach but sometimes we just want to manage our resources as yaml files and need a simple way to slightly modify the resources for different environments. In this article we will have a look at how Kustomize can help us with this.

Blog Post

Fairness and Artificial Intelligence

Classical software testing cannot simply be transferred to AI. Model governance and internal audits are required to ensure fairness.

Blog Post

Processing JSON in Java

An Introduction to 4 JSON Libraries for Java

Blog Post

CORS extension “Private Network Access”

Chrome rolled out the “Private Network Access” extension for its CORS handling. Let’s try to understand the why and how this is affecting us.

Blog Post

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.

Blog Post

Principles of technical documentation

Blog Post

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.

Blog Post

MLOps and Model Governance

Blog Post

A Comparison of Java HTTP Clients

In addition to databases, communication via HTTP to other services is nowadays found in almost every project. A large number of libraries have been built within Java that can be used for this purpose. In this article we will take a closer look at four of these candidates and see in which aspects they differ from one another.

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).

Blog Post

What Does a Bundler Actually Do?

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.

Blog Post

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

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.

Blog Post

Using feature flags with FF4j, Togglz, and Unleash in Java

Fun with flags

Blog Post

Quality Driven Software Architecture - Revised

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.