Nicolas Frankel179 articles
Table of Contents The promise of OpenTelemetryGotchasPath or no path?Python loggingMicrometer TracingQuarkusSummary Last week, I described several approaches to OpenTelemetry on the JVM, their requirements, and their different results. This week, I want to highlight several gotchas found across stacks …

- Nicolas Frankel
-
OpenTelemetry Tracing on the JVM
Table of Contents CommonalitiesRunning the OpenTelemetry AgentMicrometer Tracing on Spring BootOpenTelemetry Spring Boot StarterQuarkusDiscussion You may know I’m a big fan of OpenTelemetry. I recently finished developing a master class for the YOW! conference at the end of the year. …
- Nicolas Frankel
-
Pattern-matching across different languages
Table of Contents Java’s pattern matchingCharacteristics of the new switch syntaxScala’s pattern matchingKotlin’s pattern matchingPython’s pattern matchingRust’s pattern matchingConclusion Pattern matching is a major feature in software development. While pattern matching applies in several locations, its current usage is limited …
- Nicolas Frankel
-
Testing an OpenRewrite Recipe
Table of Contents The naive approachThe nominal approachDon’t forget cyclesCriticismsConclusion For the last two weeks, I’ve kicked the tires of OpenRewrite. At first, I created a recipe to move Kotlin source files as per the official recommendations with a set …
- Nicolas Frankel
-
Book Review: Writing for Developers
Table of Contents FactsChaptersPros and consSummary Disclaimer: This post includes affiliate links; I may receive compensation if you purchase the book from the different links provided in this post. This review is about Writing for Developers by Piotr Sarna and …
- Nicolas Frankel
-
Authoring an OpenRewrite Recipe
Table of Contents My use caseRecipe basicsPutting it all togetherTesting the recipePotential future worksConclusion I’ve been eying OpenRewrite for some time, but I haven’t had time to play with it yet. In case you never heard about OpenRewrite, OpenRewrite takes …
- Nicolas Frankel
-
Cloudflare Tunnel for Home Assistant
Table of Contents The initial setupCloudflare Tunnel for Home AssistantRemoving Let’s Encrypt add-onConclusion I continue to take care of my Home Assistant. This week, I replaced my original setup with Cloudflare Tunnel. This is the 6th post in the My …
- Nicolas Frankel
-
Getting a single value from a device’s state in Home Assistant
I recently acquired Netatmo smart radiator valves to manage my rooms’ temperature remotely. I’m not skilled at manual tasks, but I could easily replace the old thermo-static valves. I then registered the smart ones in the Netatmo app. Finally, I …
- Nicolas Frankel
-
Improving Maven’s dependency:analyze… or not
Table of Contents The mvn dependency:analyze commandSpring Boot startersBringing the maven-dependency-analyzer into the modern ageConclusion Recently, my good friend Richard Fichtner advised using the mvn dependency:analyze command to get rid of declared but unused dependencies: There is another use case …
-
Mutation Testing in Rust
Table of Contents Starting with cargo-mutantsFinding and fixing the issueConclusion I’ve been a big fan of Mutation Testing since I discovered PIT. As I dive deeper into Rust, I wanted to check the state of mutation testing in Rust. Starting …
- Nicolas Frankel
-
The try block in Rust
Table of Contents The limit of the ? operatorThe verbose alternativeThe try block to the rescueConclusion I wrote previously about libs for error management in Rust. This week, I want to write about the try block, an experimental feature. The …
- Nicolas Frankel