Extending Asciidoctor

This blog post explains how Asciidoctor can easily be extended with new macros for custom functionality like collecting versions.

Building with Dagger

This blog post explores the pipeline-as-code options of the programmable CICD system Dagger.

Spark vs MapReduce

This third blog post of the Big Data series introduces Apache Spark and compares it with the features of MapReduce along with its computing model.

MapReduce for Big Data

This follow up blog post of the Big Data series briefly explains the computing model MapReduce and provides some examples how it can be used and tested.

Introduction to Big Data

This blog post is the start of a series about the world of Big Data, provides a brief introduction to Hadoop and includes demo code to store data there.

Evolving a format

This blog post explains how a format can be evolved during its lifetime.

What is glue code?

This blog post explains the usage of glue code in modern testing frameworks.

Orchestration with Nomad

This blog post demonstrates how Nomad can be used as a lightweight replacement for Kubernetes.

Service virtualization

This blog post demonstrates service virtualization with a simple example.

Logging vs Tracing

This blog explains two of the three pillars of observability - logging and tracing.

One month of Podman

This blog post is a followup to my experience with Podman during the first month.

Migrating to Podman

This blog post summarizes my experience with the migration from Docker to Podman.

Cucumber reports

This blog post demonstrates different reporting tools along with the basic reporting capabilities of Cucumber.

Specification by example

This blog post explains the general idea of specification-by-example and demonstrates the actual tests that can be created from the definitions.

Consumer-driven contracts

This blog post demonstrates Consumer-driven contract testing with the help of Pact.

Microstream on Helidon

This blog post demonstrates how Microstream can be used inside of Helidon project.

Workflow engines on Quarkus

This blog post demonstrates how the workflow engines Camunda and Kogito can be used with Quarkus.

Aggregate AsciiDoc from multiple repositories

This blog post demonstrates how multiple AsciiDoc documents can be assembled with the help of Antora.

ADR and jqAssistant

This blog post demonstrates how ADR and jqAssistant can be combined to do architecture testing from the actual records.

Architecture validation

This blog post demonstrates different tools and ways to do automatic architecture testing.

Property based testing

This blog post gives a brief introduction along with examples about property based testing.