D&D and Metrics: an unexpected journey

I was asked, based solely on the abstract for my 2020 DevNexus talk, if I would be interested in writing an article on the topic. I agreed. The resulting article was published in Germina, in the September 2020 issue of Java Magazin, with “Dungeons and Dragons” as the title. I have a lovely hard-copy in my office.

The English version has also now been published at JaxEnter, “Monsters in combat: exploring application metrics with D&D”.

I hope you enjoy it.

From Jekyll and GitBook to Hugo and Asciidoc, care of Github Actions

This won't be a super chatty post. We have two websites for Game On! (our microservices text adventure): a jekyll-based markdown blog and a legacy-gitbook-based asciidoc book. For various reason, I want to combine them,and I woukd rather not spend gobs of time converting between markdown and asciidoc.

To keep things quick: I knew I wanted a static site generator, and I've used hugo before and found it fast, straight-forward and unconfusing. So in my mind, I'd already picked hugo.

[more]

Scripts for the win! Updating git repositories for the lazy.

I love scripts! I treat them as my extended memory. Blog posts used to do this, but life and children have eaten up the capacity I used to have for writing.

But I thought I would share my latest script for the lazy (which I have now duplicated several times. I know, I know. WET, DRY. I can't be bothered). This script iterates over all of the git repositories in a sub-directory (where I have several related ones), fetches everything, fast-forwards if it can, and otherwise tries to rebase on the upstream branch if there is one that matches.

There is an extra case statement at the bottom as I inevitably extend this to do more things specific to this group of projects. This kind of approach grew out of the scripts written for Game On!, which still work well, and do their extra duty reminding me what on earth I was doing the last time I worked on it.

[more]

Monsters and Metrics at SpringOne 2019

Two things collided in my brain this year ahead of SpringOne: Preparing a new talk from scratch covering the Micrometer (and the related Spring implementation), and learning everything I needed to know to be a Dungeon Master for my 10-year-old son and his friends.

Thanks to a brilliant suggestion from a friend, these two things collided in the talk, too. Which lightened the mental load (or at least reduced the amount of full stack swapping going on).

Github repository: ebullient/monster-combat with Spring Boot 2, WebFlux, and Micrometer

Debug gulp

A gulp build unhelpfully finished with:

(node:12030) UnhandledPromiseRejectionWarning: null
(node:12030) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:12030) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I needed to change both my gulpfile and my IDE to be able to follow what was happening.

[more]

Doing the scary thing: Mainstage at SpringOne

I will absolutely confess that it was daunting to start with, but that once I was out on the stage, everything was fine.

I will also confess to ad nauseum rehearsal. To reciting what I had to cram into two segments (one only 2 minutes long, and the other 2 minutes and 30 seconds) to every inanimate object in my hotel room: lamps, laptops, mirrors, showerheads, and I'm pretty sure my pillow while I was sleeping.

I didn't really wrap my head around what I wanted to say until the night before. Things just didn't fall into place before then. But hey, I lived! It was quite the experience.

[more]