<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://blog.bmarwell.de/feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Ben’s Build and B(r)ass Notes</title>
  <subtitle>IT Insights and Build Breakdown</subtitle>
  <link href="https://blog.bmarwell.de"/>
  <link rel="self" href="https://blog.bmarwell.de/feed.xml" />
  <updated>2026-03-30T18:47:08Z</updated>

  <author>
    <name>Benjamin Marwell</name>
    <uri>https://x.com/bmarwell</uri>
  </author>
  <id>https://blog.bmarwell.de/</id>
  <generator uri="https://jbake.org/">JBake.org</generator>
  <icon>https://blog.bmarwell.de/images/favicon128.png</icon>
  <logo>https://blog.bmarwell.de/images/bens_it_kommentare.png</logo>

  <entry>
    <!-- lang="de-DE"  -->
    <title>JavaLand 2026 Rückblick: Drei praktische Maven-Ideen, die du sofort ausprobieren kannst</title>
    <link href="https://blog.bmarwell.de/2026/03/12/javaland-2026-zusammenfassung-frei-praktische-maven-ideen.html"/>
    <id>https://blog.bmarwell.de/2026/03/12/javaland-2026-zusammenfassung-frei-praktische-maven-ideen.html</id>
    <published>2026-03-14T20:40:00Z</published>
    <updated>2026-03-14T20:42:31Z</updated>
    <summary>Maarten Mulders und ich haben unseren Talk »Accelerating Maven Builds« auf der JavaLand 2026 in einem 40-Minuten-Slot gehalten. Drei konkrete Tipps zum Sofort-Ausprobieren: mvnd als Drop-In-Ersatz für einen warmen JVM-Start, mehr Reactor-Module für parallele Builds, und die Maven Build Cache Extension gegen redundante Arbeit.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>&lt;strong&gt;JavaLand 2026&lt;/strong&gt; schloß am Mittwoch, den 11. März ihre Pforten für die Vorträge und Aussteller, und Maarten Mulders und ich &lt;a href=&quot;/talks/accelerating-maven-builds.html&quot;&gt;hatten viel Spaß mit unserem Talk »Accelerating Maven Builds«&lt;/a&gt;.
Wir haben praktische Tipps und Tricks zum Thema &lt;a href=&quot;https://maarten.mulders.it/2024/03/measure-your-maven-build/&quot;&gt;»wie messe ich meinen Build«&lt;/a&gt; und wie beschleunige ich meinen Maven-Build geteilt.
Von den Fragen aus dem Publium haben wir geschlossen, dass es viel Interesse an diesem Thema gibt.</p>
      <p><strong><a href="https://blog.bmarwell.de/2026/03/12/javaland-2026-zusammenfassung-frei-praktische-maven-ideen.html" title="Read the full article: JavaLand 2026 Rückblick: Drei praktische Maven-Ideen, die du sofort ausprobieren kannst">Read the full article "JavaLand 2026 Rückblick: Drei praktische Maven-Ideen, die du sofort ausprobieren kannst" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>JavaLand 2026 recap: three practical Maven build ideas to try now</title>
    <link href="https://blog.bmarwell.de/2026/03/12/javaland-2026-recap-three-practical-maven-build-ideas.html"/>
    <id>https://blog.bmarwell.de/2026/03/12/javaland-2026-recap-three-practical-maven-build-ideas.html</id>
    <published>2026-03-12T21:12:00Z</published>
    <updated>2026-03-13T22:45:31Z</updated>
    <summary>Maarten Mulders and I gave our »Accelerating Maven Builds« talk at JavaLand 2026 in a 40-minute slot. Here are the three concrete tips we covered: drop-in replacement mvnd for a warm JVM, splitting into more reactor modules to unlock parallel builds, and the Maven Build Cache Extension to skip redundant work.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>&lt;strong&gt;JavaLand 2026&lt;/strong&gt; closed yesterday, and Maarten Mulders and I &lt;a href=&quot;/talks/accelerating-maven-builds.html&quot;&gt;had a blast presenting our talk »Accelerating Maven Builds«&lt;/a&gt;.
We shared practical tips and tricks &lt;a href=&quot;https://maarten.mulders.it/2024/03/measure-your-maven-build/&quot;&gt;how to measure&lt;/a&gt; and speed up your Maven builds.
From the questions from the audience we concluded that there’s a lot of interest in this topic.</p>
      <p><strong><a href="https://blog.bmarwell.de/2026/03/12/javaland-2026-recap-three-practical-maven-build-ideas.html" title="Read the full article: JavaLand 2026 recap: three practical Maven build ideas to try now">Read the full article "JavaLand 2026 recap: three practical Maven build ideas to try now" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Crawled, Not Indexed: The Schema Bugs That Outlasted Every Performance Fix</title>
    <link href="https://blog.bmarwell.de/2026/03/09/crawled-not-indexed-schema-bugs-outlasted-every-performance-fix.html"/>
    <id>https://blog.bmarwell.de/2026/03/09/crawled-not-indexed-schema-bugs-outlasted-every-performance-fix.html</id>
    <published>2026-03-09T00:00:00Z</published>
    <updated>2026-03-14T00:00:00Z</updated>
    <summary>815 pages stuck in »Crawled – currently not indexed« despite weeks of performance work. The real culprit: silent JSON-LD and microdata bugs introduced during the 2022 JBake migration. This post details exactly what broke, how I found it with Rich Results Test and Google Search Console, and what the fixes were.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>Last year I found out I got completely deindexed by Google.
My blog is still not indexed, despite all the work I put in.
So I decided to write a follow-up to &lt;a href=&quot;/2025/12/30/how-i-got-deindexed-by-google.html&quot;&gt;How I Got Deindexed by Google&lt;/a&gt; where I analysed what was wrong with my blog.
Less surprisingly, there was more to fix.
Those silent bugs in the blog&amp;#8217;s structure and markup were present since 2022, when I migrated my blog to jbake.</p>
      <p><strong><a href="https://blog.bmarwell.de/2026/03/09/crawled-not-indexed-schema-bugs-outlasted-every-performance-fix.html" title="Read the full article: Crawled, Not Indexed: The Schema Bugs That Outlasted Every Performance Fix">Read the full article "Crawled, Not Indexed: The Schema Bugs That Outlasted Every Performance Fix" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>How I Got Deindexed by Google (And How I Fixed It)</title>
    <link href="https://blog.bmarwell.de/2025/12/30/how-i-got-deindexed-by-google.html"/>
    <id>https://blog.bmarwell.de/2025/12/30/how-i-got-deindexed-by-google.html</id>
    <published>2025-12-30T00:00:00Z</published>
    <updated>2026-03-14T00:00:00Z</updated>
    <summary>From 400 indexed pages to just 10: my journey through a Google deindexing nightmare and the comprehensive technical and content improvements that brought my blog back.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>When Google&amp;#8217;s algorithm decides your site isn&amp;#8217;t worthy anymore, it happens fast.
One day you&amp;#8217;re ranking for your content, the next you&amp;#8217;ve dropped from 400 indexed pages to just 10.
Zero clicks, zero impressions.</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/12/30/how-i-got-deindexed-by-google.html" title="Read the full article: How I Got Deindexed by Google (And How I Fixed It)">Read the full article "How I Got Deindexed by Google (And How I Fixed It)" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Regex vs. Email Addresses: A Battle You’ll Always Lose</title>
    <link href="https://blog.bmarwell.de/2025/09/05/regex-vs-email-addresses-battle-youll-lose.html"/>
    <id>https://blog.bmarwell.de/2025/09/05/regex-vs-email-addresses-battle-youll-lose.html</id>
    <published>2025-09-06T10:22:51Z</published>
    <updated>2025-09-06T00:00:00Z</updated>
    <summary>RFC 2822 allows characters like !, +, and even spaces (quoted) in email addresses — but most regex validators silently reject them. This post walks through what the spec actually permits, shows a real-world gallery of broken validators, and explains why server-side verification beats regex every time.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>You can register and log in into many websites using your email address as login ID.
But what happens if you cannot enter your valid email address into the form?
The root cause of this often is that some developers did not read RFC 2822.
Many web services do not allow email addresses which are valid, according to the specification.</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/09/05/regex-vs-email-addresses-battle-youll-lose.html" title="Read the full article: Regex vs. Email Addresses: A Battle You’ll Always Lose">Read the full article "Regex vs. Email Addresses: A Battle You’ll Always Lose" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>There might be a decent code formatter for Java after all!</title>
    <link href="https://blog.bmarwell.de/2025/08/30/there-might-be-a-decent-code-formatter-java.html"/>
    <id>https://blog.bmarwell.de/2025/08/30/there-might-be-a-decent-code-formatter-java.html</id>
    <published>2025-08-30T22:39:51Z</published>
    <updated>2025-08-30T00:00:00Z</updated>
    <summary>palantir-java-format still can't format text blocks or unnamed variables two years after the issues were opened. So I built jdtfmt: a gofmt-style CLI formatter for Java, backed by Eclipse JDT, with native binaries for Linux, Mac, and Windows. Early stage — join the discussion.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>&lt;a href=&quot;https://jqno.nl/post/2024/08/24/why-are-there-no-decent-code-formatters-for-java/&quot;&gt;&lt;strong&gt;Why are there no decent code formatters for Java?&lt;/strong&gt;&lt;/a&gt; – a great question asked by Jan Ouwens one year ago.
I found myself asking the same question after palantir-java-format stopped working for me.</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/08/30/there-might-be-a-decent-code-formatter-java.html" title="Read the full article: There might be a decent code formatter for Java after all!">Read the full article "There might be a decent code formatter for Java after all!" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>You might already have a Maven repository</title>
    <link href="https://blog.bmarwell.de/2025/04/28/you-might-already-have-maven-repository.html"/>
    <id>https://blog.bmarwell.de/2025/04/28/you-might-already-have-maven-repository.html</id>
    <published>2025-04-28T06:17:35Z</published>
    <updated>2026-03-13T22:45:31Z</updated>
    <summary>Avoid setting up a separate Maven repository! Discover how your existing Git host (GitHub, GitLab, Gitea) might already serve your Java artifacts.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>Recently, I saw this post about &lt;strong&gt;hosting a Maven Repository&lt;/strong&gt; on Reddit:</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/04/28/you-might-already-have-maven-repository.html" title="Read the full article: You might already have a Maven repository">Read the full article "You might already have a Maven repository" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Feed the Daemon: Faster Builds with Maven Reactor Modules #SnailToRocket</title>
    <link href="https://blog.bmarwell.de/2025/04/24/feed-daemon-faster-builds-maven-reactor-modules-snailtorocket.html"/>
    <id>https://blog.bmarwell.de/2025/04/24/feed-daemon-faster-builds-maven-reactor-modules-snailtorocket.html</id>
    <published>2025-04-24T06:39:51Z</published>
    <updated>2025-04-24T00:00:00Z</updated>
    <summary>Accelerate Maven! Use Maven Reactor Modules to unlock parallel execution for dramatically faster builds &amp; better software architecture. #SnailToRocket</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>Tired of &lt;strong&gt;sluggish Apache Maven builds&lt;/strong&gt; slowing down your development cycle?
Maven Reactor Modules allow you to split a project into smaller, independently buildable units.
Discover how strategically breaking down your application into Maven Reactor Modules can &lt;strong&gt;dramatically accelerate build times&lt;/strong&gt; through parallel execution and improve your overall software architecture.</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/04/24/feed-daemon-faster-builds-maven-reactor-modules-snailtorocket.html" title="Read the full article: Feed the Daemon: Faster Builds with Maven Reactor Modules #SnailToRocket">Read the full article "Feed the Daemon: Faster Builds with Maven Reactor Modules #SnailToRocket" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Creating an App Distribution with Apache Maven and JReleaser</title>
    <link href="https://blog.bmarwell.de/2025/04/12/creating-app-distribution-using-maven-jreleaser.html"/>
    <id>https://blog.bmarwell.de/2025/04/12/creating-app-distribution-using-maven-jreleaser.html</id>
    <published>2025-04-12T20:39:51Z</published>
    <updated>2025-04-17T00:00:00Z</updated>
    <summary>Distribute your Java utilities or applications seamlessly: create .tar.gz and .zip archives with Maven and JReleaser, ready for GitHub Releases.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>A common question among those new to Apache Maven and Java is how to create an application distribution.
This article guides you through creating an application distribution using &lt;a href=&quot;https://maven.apache.org/&quot;&gt;Apache Maven&lt;/a&gt; and the powerful &lt;a href=&quot;https://jreleaser.org/&quot;&gt;JReleaser tool&lt;/a&gt;, including its Maven plugin.</p>
      <p><strong><a href="https://blog.bmarwell.de/2025/04/12/creating-app-distribution-using-maven-jreleaser.html" title="Read the full article: Creating an App Distribution with Apache Maven and JReleaser">Read the full article "Creating an App Distribution with Apache Maven and JReleaser" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Properly nesting annotation processors in Apache Maven projects</title>
    <link href="https://blog.bmarwell.de/2024/07/28/porperly-nesting-annotation-processors-maven-reactor.html"/>
    <id>https://blog.bmarwell.de/2024/07/28/porperly-nesting-annotation-processors-maven-reactor.html</id>
    <published>2024-07-28T09:39:51Z</published>
    <updated>2025-04-24T22:26:51Z</updated>
    <summary>Struggling with annotation processors in Maven reactor builds? Learn how to properly nest them across modules and avoid common multi-module pitfalls.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>I recently encountered a Maven multi module (reactor) project where each module had one annotation processor defined, but the database project had two defined.
This can be done easier using the lesser known &lt;code&gt;combine.children=&quot;append&quot;&lt;/code&gt; attribute in a &lt;code&gt;pom.xml&lt;/code&gt;.
This article will give you a hint how to do this.</p>
      <p><strong><a href="https://blog.bmarwell.de/2024/07/28/porperly-nesting-annotation-processors-maven-reactor.html" title="Read the full article: Properly nesting annotation processors in Apache Maven projects">Read the full article "Properly nesting annotation processors in Apache Maven projects" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>Guide: Parallel unit tests with Apache Maven</title>
    <link href="https://blog.bmarwell.de/2024/05/23/parallel-unit-tests-apache-maven.html"/>
    <id>https://blog.bmarwell.de/2024/05/23/parallel-unit-tests-apache-maven.html</id>
    <published>2024-05-23T00:21:51Z</published>
    <updated>2025-04-24T00:00:00Z</updated>
    <summary>Sequential tests are the biggest hidden cost in Maven builds. This guide shows every way to run them in parallel: JUnit Jupiter's own execution config, Surefire's configurationParameters, and the argLine approach — plus the thread-safety traps to avoid before you flip the switch.</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>Enabling &lt;strong&gt;parallel unit tests&lt;/strong&gt; is the easiest way to accelerate your Apache Maven builds.
This blog post is part of a series from the joint talk of Maarten Mulders and me:
&lt;a href=&quot;https://blog.bmarwell.de/talks.html#accelerating_maven_builds_from_snails_pace_to_rocket_speed&quot;&gt;Accelerating Maven Builds: From 🐌 Snail&amp;#8217;s Pace to 🚀 Rocket Speed&lt;/a&gt;.</p>
      <p><strong><a href="https://blog.bmarwell.de/2024/05/23/parallel-unit-tests-apache-maven.html" title="Read the full article: Guide: Parallel unit tests with Apache Maven">Read the full article "Guide: Parallel unit tests with Apache Maven" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>

  <entry>
    <!-- lang="en-GB"  -->
    <title>My first talk at JCon (#SnailToRocket)</title>
    <link href="https://blog.bmarwell.de/2024/05/15/first-talk-at-jcon.html"/>
    <id>https://blog.bmarwell.de/2024/05/15/first-talk-at-jcon.html</id>
    <published>2024-05-15T18:13:35Z</published>
    <updated>2025-04-24T00:00:00Z</updated>
    <summary>Accelerate Maven builds @JCON2024! 🐌 Snail's Pace to 🚀 Speed: Spot bottlenecks, run parallel tests, use Maven Daemon. Slides &amp; demos at #SnailToRocket</summary>
    <author>
      <name>Benjamin Marwell</name>
    </author>
    <content type="html">
      <p>Today I held my first talk in front of a bigger audience than my local JUG (&lt;a href=&quot;https://www.meetup.com/de-DE/java-user-group-hannover/&quot;&gt;JUG Hannover&lt;/a&gt;).
I am incredibly happy that &lt;a href=&quot;https://maarten.mulders.it/&quot;&gt;Java Champion Maarten Mulders&lt;/a&gt; had me as his co-speaker at JCON 2024! ☺️</p>
      <p><strong><a href="https://blog.bmarwell.de/2024/05/15/first-talk-at-jcon.html" title="Read the full article: My first talk at JCon (#SnailToRocket)">Read the full article "My first talk at JCon (#SnailToRocket)" on Ben’s Build and B(r)ass Notes »</a></strong></p>
    </content>
  </entry>


</feed>
