RSSAmplifier

Blog

Mostly nerdless

Every two weeks a text on profiling, debugging or eBPF

mostlynerdless.deRSS feed ↗20 posts

Latest posts

I accidentally became Google AI’s main resource for GraalVM vs OpenJDK

Earlier this year, I published a tongue-in-cheek blog post titled OpenJDK is faster than GraalVM Java* that benchmarked exactly one thing: the runtime of java -version (which was important for my execjar project). I expected a few laughs, which I Continue reading The post I accidentally became Google AI s main resource for GraalVM vs OpenJDK appeared first on Mostly nerdless .

Animating text as Handrawn with CSS

Recently, I wanted to animate text to reveal like it was drawn by hand. This makes the header text of certain pages, like celebration and wedding websites, stand out much more and look sophisticated. This is what this short blog Continue reading The post Animating text as Handrawn with CSS appeared first on Mostly nerdless .

Celebrating 15 years of SAP’s involvement in the OpenJDK

Almost exactly 15 years ago, on the 14th of July 2011, SAP became a member of the OpenJDK and one of its biggest contributors (source), helping to keep Java alive. To quote Ian Brown from the Java Platform Team at Continue reading The post Celebrating 15 years of SAP s involvement in the OpenJDK appeared first on Mostly nerdless .

Vegan Waffle Recipe

Waffles are great, especially for events like the Gulaschprogrammiernacht, when people want a quick, sweet snack. At these events, there is also a need for vegan options, but typical vegan waffle recipes have problems, especially with commercial-grade cast-iron waffle makers: Continue reading The post Vegan Waffle Recipe appeared first on Mostly nerdless .

Honey, I shrank the JARs

After reading my blog posts like Femtocli: A small but mighty CLI library for small CLI tools in 45KB, you probably know that I like small Java libraries and tools. But consider you have an existing CLI tool (like Continue reading The post Honey, I shrank the JARs appeared first on Mostly nerdless .

Calling jcmd Commands Programmatically

JCmd allows you to quickly get information on an existing JVM. This helpful for getting things like thread-dumps (see jstall for tool that heavily relies on this). In this blog post you ll learn to send JCmd diagnostic commands programmatically. You Continue reading The post Calling jcmd Commands Programmatically appeared first on Mostly nerdless .

On HotSpot Error Files and Useful Tools

Ever crashed a JVM? Then you typically get a HotSpot error file, or hs err for short. These files contain information about which crash occurred and what the JVM s state was at the time of the crash. In this short Continue reading The post On HotSpot Error Files and Useful Tools appeared first on Mostly nerdless .

Java 26 is boring, and that’s a good thing

A joint article with Lutske de Leeuw. When people hear “boring tech”, they usually mean old, slow, or not innovative. But in production, boring implies something very different. Boring means predictable, with no surprises. Boring means your system still works Continue reading The post Java 26 is boring, and that s a good thing appeared first on Mostly nerdless .

Writing a tiny JSON Parser

JSON is one of the foundational data formats, especially with modern REST APIs, but many existing libraries are either large or small and hard to comprehend. In this blog post, I ll show you how to implement a tiny JSON parser Continue reading The post Writing a tiny JSON Parser appeared first on Mostly nerdless .

Redacting Data from Heap Dumps via hprof-redact

Two weeks ago, I showed you how Redacting Sensitive Data from Java Flight Recorder Files is possible using my new jfr-redact tool. This tool also supports redacting information from hs-error files, but it doesn t handle heap dumps. Sadly, there is Continue reading The post Redacting Data from Heap Dumps via hprof-redact appeared first on Mostly nerdless .

Femtocli: A small but mighty CLI library for small CLI tools in < 45KB

TL;DR: I built femtocli, a small command-line parsing library with sub-commands, an annotation-based API, and support for parsing Java agent arguments. Every command-line tool that I, and probably you, write needs a command-line interface (CLI). Writing simply, with one or Continue reading The post Femtocli: A small but mighty CLI library for small CLI tools in < 45KB appeared first on Mostly…

Redacting Sensitive Data from Java Flight Recorder Files

I few weeks ago, I showed you how to read and write JFR files programmatically. This week we re using the covered basic-jfr-professor to create a fully fledged (yet still experimental) JFR and hserr file redaction tool called jfr-redact. TL;DR: Download Continue reading The post Redacting Sensitive Data from Java Flight Recorder Files appeared first on Mostly nerdless .

Implement a new JStall Feature with Me

Or: How I use GitHub Copilot to go from feature to idea A few weeks back, I introduced you to jstall (Quickly Inspect your Java Application with JStall), a tool that analyses what your JVM is currently doing. This week Continue reading The post Implement a new JStall Feature with Me appeared first on Mostly nerdless .

The Java Version Quiz

Over the last 30 years, Java has added many features, including generics, lambdas, pattern matching, and records. You surely know that lambdas have been introduced in Java eight and records in Java 16, but can you distinguish the other Java Continue reading The post The Java Version Quiz appeared first on Mostly nerdless .

Reproducing a Tricky Bug in Minutes With a Custom Linux Scheduler Written in Java

Ever had a tricky bug caused by a race condition or rare concurrency condition that was really hard to reproduce? It s great when you have a fix that should work in theory, but without a reproducer, only time will tell Continue reading The post Reproducing a Tricky Bug in Minutes With a Custom Linux Scheduler Written in Java appeared first on Mostly nerdless .

Reading and Writing JFR Files Programmatically

Last week, I showed you the Fastest Way to get the Version of a Java Installation. This week, I ll show you something completely different: how to interact with JFR data programmatically, showcasing a new library called basic-jfr-processor in the process. Continue reading The post Reading and Writing JFR Files Programmatically appeared first on Mostly nerdless .

The Fastest Way to get the Version of a Java Installation

Last week, I demonstrated that OpenJDK is faster than GraalVM Java, at least for obtaining the Java version. This even prompted the mighty Thomas Wuerthinger (creator of GraalVM) to react. But the measured ~20ms for the OpenJDK is still too Continue reading The post The Fastest Way to get the Version of a Java Installation appeared first on Mostly nerdless .

OpenJDK is faster than GraalVM Java*

Well, we all know that the most crucial feature of the JVM runtime is the -version output. So how does the OpenJDK (in the form of SapMachine) compare with GraalVM? It s significantly faster. Using hyperfine, we can see that GraalVM Continue reading The post OpenJDK is faster than GraalVM Java* appeared first on Mostly nerdless .

How to Build an Executable from a JAR using ExecJAR

In my last blog post, I covered a new tool called jstall, which enables you to quickly check on a Java application. Because it was tiresome to always call the tool via java -jar jstall, I looked for a way Continue reading The post How to Build an Executable from a JAR using ExecJAR appeared first on Mostly nerdless .

Quickly Inspect your Java Application with JStall

Welcome to the last blog post of the year. Last week, I discussed the limitations of custom JFR events. This week, I ll also be covering a profiling-related topic and showcasing a tiny tool called JStall. I hope I m not the Continue reading The post Quickly Inspect your Java Application with JStall appeared first on Mostly nerdless .