Nicolas Frankel176 articles
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
-
One giant Kubernetes cluster for everything
Table of Contents The one giant cluster approachBetter resource utilizationLower operational overheadStraightforward networking and service communicationSimplified governanceCost efficiencyDownsides of a one giant cluster approachLarger blast radiusComplex multi-tenancy managementScalability limitsCluster-wide objectsWhat’s the ideal size, then?vClusterHow vCluster mitigates the downsides of a …
- Nicolas Frankel
-
WebAssembly on Kubernetes
Table of Contents My approach and the use caseBaseline: regular Rust-to-nativeAdapting to WebAssemblyRunning the Wasm image on DockerRunning the Wasm image on KubernetesFinal stepsConclusion Like a couple of innovative technologies, different people have different viewpoints on where WebAssembly fits the …
- Nicolas Frankel
-
Pull request testing on Kubernetes: testing locally and on GitHub workflows
Table of Contents Unit testing vs. integration testingTestcontainersUse-case: application with database”Unit” testing”Integration” testingThe GitHub workflowAlternative “Unit testing” on GitHubConclusion Imagine an organization with the following practices: Commits code on GitHub Runs its CI/CD pipelines with GitHub Actions Runs its production …