A longer form of Metrics for the Win! recorded for J4K, which occurred in October of 2020.
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.
A fully online recorded talk, sliding in at just 30 minutes, for JConf in the fall of 2020.
Building on the previous post, here is a summary of what I had to do to collapse two sites (one a date-oriented blog, and the other an outline-based gitbook) into a single site.
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.
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.
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
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.
This is my first attempt at talking about what is going on with Cloud Native applications these days. Given at IndexConf in San Francisco.
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.