• Testing null, empty, blank

    Sep 14, 2019

    In many cases, when you have a method that accepts a mandatory string parameter, you want to verify that the parameter contains a value that isn’t null, nor empty, not blank (i.e. consisting solely of whitespace characters). While writing the check is easy, testing it can be a bit annoying.

  • Optional files in Maven archetypes

    Sep 7, 2019

    This post shows how to create a Maven archetype that can conditionally include or exclude files while generating a project.

  • Flaky tests

    Jul 29, 2019

    A flaky test is a test that can flip from success to failure without any code change. Such failures can be annoying and difficult to diagnose. In this post, I’ll focus on browser tests, where flaky tests can happen more often.

  • A CLI comparison of Java, JavaScript and Python

    Mar 16, 2019

    The inspiration for this post is the Python, Ruby, and Golang: A Command-Line Application Comparison published on Real Python.

  • Automatically upgrade parent pom

    Feb 16, 2019

    TL;DR: I wrote a script that discovers git repositories with an outdated parent pom and then it creates a pull request on each repository to set the parent pom version to latest and greatest.

  • Goodbye bash

    Feb 11, 2019

    Having written my fair share of bash scripts last year, I decided to replace it with something else. This is how I decided to replace it with Python.

  • clang-format as a git filter

    Jan 27, 2019

    clang-format is a tool that can format source code of C-like languages (C / C++ / Java / JavaScript / Objective-C / Protobuf). It supports various presets but it is also possible to fine tune its behavior with a configuration file named .clang-format. It has quite a lot configuration options.

  • YAML schema validation with Maven

    Nov 28, 2018

    Sometimes it feels we’re reinventing the wheel, but with different names. Back in the days, XML was the cool thing. We had XPath as a query language. We had XSLT to transform XML documents into different shapes. We had XSD to validate the schema of XML. We had code generation and validation. We could generate web service clients and servers with WSDL.

  • Kafka cheat sheet

    Nov 17, 2018

    A cheat sheet for Apache Kafka.

  • API Style Guide

    Nov 17, 2018

    Using a microservice architecture allows development teams to work separately, delivering work faster and focusing on a specific part of the business domain. Working independently means that developers are free to make their own choices. While that’s great, there’s the risk of building the tower of Babel.