Bringing documentation together

This blog post explains how documentation from Doxygen and AsciiDoc can be brought together with the help of AsciiDoxy.

Decision records

This blog post summarizes my experience with architecture decision records (ADR), introduces technical debt records (TDB) and demonstrates how everything can be nicely combined document and culture wise.

Monitoring with SigNoz

This blog post summarizes observability, briefly explains the missing pillar from a previous post and introduces the monitoring platform SigNoz.

Playing with OData

This blog introduces OData and summarizes its main similarities and differences to plain REST.

Architecture diagrams

This blog post illustrates how C4-based architecture diagrams can be derived from a simple model with the help of Struturizr.

Deployment with feature flags

This blog post demonstrates how deployments and actual releases can be decoupled with the help of feature flags.

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.

Coding with AI

This blog post summarizes my experience with AI-assisted coding.

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.

One month of Podman

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

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.

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.

Setting up Bookwyrm

This blog post summarizes my experience with setting up an early version of BookWyrm.

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.

Learnings from using ADR in a real project

This blog is a summary of my experience with ADR in a real-world project.

Microstream on Helidon

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

Idiosyncrasy of the Docker CLI

This blog post is a reminder and a warning abou the problems if the Docker CLI.

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.

Multiline commands in makefiles

This blog post is a reminder how to actually use multilines inside of Make.

AsciiDoctor, Maven and IntelliJ

This blog post is a reminder how to use the AsciiDoc in IntelliJ in a proper way.

Minikube with hyperkit

This blog post is a reminder to avoid HyperKit when Minikube is in use.

Problems with testing in IntelliJ

This blog post is a reminder of problems with IntelliJ I faced repeatedly before actually posting about it.

ADR and jqAssistant

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

Defaults Write

This blog post is a collection and cynical reminder of all the hidden defaults of macOS.

Managing manifests

This blog evaluates different ways of handling Kubernetes manifest files.

Multi java

This blog post demonstrates how different Java versions can be handled gracefully on macOS.

Cloud-native

This blog post summarizes my initial experiences during the course of a cloud-native project.

Spec framework

This blog post is a reminder to give the Spock framework a try - some day.

Skill matrix

This blog post suggests a way to measure and evaluate the different level and skillsets inside of a team.

Lessons learned

This blog post shows how years of testing and tinkering can be applied to cheat in raffles.

Architecture validation

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

Benthos

This blog is just a reminde to give the awesome tooll Benthos a try - some day.

Value objects

This blog post describes a useful way and help for value objects int he DDD cosmos.

Architecture decisions

This blog post summarizes my experience with architecture decisions and the need to have a specific format and location.

Diagramming

This blog post is a sole collection of diagramming tools I am currently aware of.

API testing

This blog post is a sole collection of API testing tools I am currently aware of.

Windows tools

This blog post demonstrates an easy way in Windows to get rid of pending Java processes.

Know your tools

This blog post is basically just a rant about Citrix and Windows.

Naming and DDD

This blog post is just thinking out loud about the problems of naming inside of DDD.

Property based testing

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

First things first

This is first official post in this blog and really nonsense!