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!