<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Chris Kocel</title>
    <description>The latest articles on DEV Community by Chris Kocel (@0xkkocel).</description>
    <link>https://dev.to/0xkkocel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F308099%2Fcacbf697-bf41-4a52-a24e-3cbd7dc59f06.jpeg</url>
      <title>DEV Community: Chris Kocel</title>
      <link>https://dev.to/0xkkocel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/0xkkocel"/>
    <language>en</language>
    <item>
      <title>Wednesday Links - Edition 2026-05-13</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 13 May 2026 15:48:57 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g</guid>
      <description>&lt;p&gt;JEP 532: Primitive Types in Patterns, instanceof, and switch (Fifth Preview) (3 min)🔢&lt;br&gt;
&lt;a href="https://openjdk.org/jeps/532" rel="noopener noreferrer"&gt;https://openjdk.org/jeps/532&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JEP 533: Structured Concurrency (Seventh Preview) (3 min)📁&lt;br&gt;
&lt;a href="https://openjdk.org/jeps/533" rel="noopener noreferrer"&gt;https://openjdk.org/jeps/533&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Road to Name-Based Destructuring (7 min)🛣️&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/kotlin/2026/05/the-road-to-name-based-destructuring/" rel="noopener noreferrer"&gt;https://blog.jetbrains.com/kotlin/2026/05/the-road-to-name-based-destructuring/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Collection Literals in Kotlin (2 min)🗃️&lt;br&gt;
&lt;a href="https://kt.academy/article/collection-literals" rel="noopener noreferrer"&gt;https://kt.academy/article/collection-literals&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Two schools of TDD explained (4 min)🏫&lt;br&gt;
&lt;a href="https://blog.allegro.tech/2026/05/two-schools-of-TDD-explained.html" rel="noopener noreferrer"&gt;https://blog.allegro.tech/2026/05/two-schools-of-TDD-explained.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Teaching an AI Agent to Debug Flaky Tests (12 min)🤖&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/idea/2026/05/teaching-an-ai-agent-to-debug-flaky-tests/" rel="noopener noreferrer"&gt;https://blog.jetbrains.com/idea/2026/05/teaching-an-ai-agent-to-debug-flaky-tests/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>tdd</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-05-06</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 06 May 2026 15:45:28 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-05-06-4a63</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-05-06-4a63</guid>
      <description>&lt;p&gt;What if Java Consistently Used Intention Revealing Names for Inner Classes? (16 min)🤔&lt;br&gt;
&lt;a href="https://donraab.medium.com/what-if-java-consistently-used-intention-revealing-names-for-types-7b9cbc39f65f" rel="noopener noreferrer"&gt;https://donraab.medium.com/what-if-java-consistently-used-intention-revealing-names-for-types-7b9cbc39f65f&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honey, I shrank the JARs (7 min)🗜&lt;br&gt;
&lt;a href="https://mostlynerdless.de/blog/2026/04/30/honey-i-shrank-the-jars/" rel="noopener noreferrer"&gt;https://mostlynerdless.de/blog/2026/04/30/honey-i-shrank-the-jars/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make Java Safer with Flexible Constructor Bodies (7 min)🤸&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=-wmUt__lxPY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=-wmUt__lxPY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why JOIN USING Can Lead to Errors in SQL (2 min)👥&lt;br&gt;
&lt;a href="https://blog.jooq.org/why-join-using-can-lead-to-errors-in-sql/" rel="noopener noreferrer"&gt;https://blog.jooq.org/why-join-using-can-lead-to-errors-in-sql/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before GitHub (5 min)👋&lt;br&gt;
&lt;a href="https://lucumr.pocoo.org/2026/4/28/before-github/" rel="noopener noreferrer"&gt;https://lucumr.pocoo.org/2026/4/28/before-github/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ghostty Is Leaving GitHub (3 min)👋&lt;br&gt;
&lt;a href="https://mitchellh.com/writing/ghostty-leaving-github" rel="noopener noreferrer"&gt;https://mitchellh.com/writing/ghostty-leaving-github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A collection of principles and patterns that shape software systems, teams, and decisions 📚&lt;br&gt;
&lt;a href="https://lawsofsoftwareengineering.com/" rel="noopener noreferrer"&gt;https://lawsofsoftwareengineering.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>sql</category>
      <category>github</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-04-26</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 29 Apr 2026 14:37:58 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-26-1fmd</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-26-1fmd</guid>
      <description>&lt;p&gt;Java sealed classes and exhaustive pattern matching (5 min)🦭&lt;br&gt;
&lt;a href="https://neilmadden.blog/2026/04/24/java-sealed-classes-and-exhaustive-pattern-matching/" rel="noopener noreferrer"&gt;https://neilmadden.blog/2026/04/24/java-sealed-classes-and-exhaustive-pattern-matching/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I Used Five Command Line Java Tools This Week and I Feel Good (7 min)🖥️&lt;br&gt;
&lt;a href="https://donraab.medium.com/i-used-five-command-line-java-tools-this-week-and-i-feel-good-a07531fefb02" rel="noopener noreferrer"&gt;https://donraab.medium.com/i-used-five-command-line-java-tools-this-week-and-i-feel-good-a07531fefb02&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ArrayList vs LinkedList Puzzle (4 min)🧩&lt;br&gt;
&lt;a href="https://www.javaspecialists.eu/archive/Issue334-ArrayList-vs-LinkedList-Puzzle.html" rel="noopener noreferrer"&gt;https://www.javaspecialists.eu/archive/Issue334-ArrayList-vs-LinkedList-Puzzle.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-04-22</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 22 Apr 2026 15:36:11 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-22-4eeh</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-22-4eeh</guid>
      <description>&lt;p&gt;You Must Avoid Final Field Mutation - Inside Java Newscast #110 (10 min)🧫&lt;br&gt;
&lt;a href="https://nipafx.dev/inside-java-newscast-110/" rel="noopener noreferrer"&gt;https://nipafx.dev/inside-java-newscast-110/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Distributed Cache Invalidation Patterns (7 min)🚫&lt;br&gt;
&lt;a href="https://foojay.io/today/distributed-cache-invalidation-patterns/" rel="noopener noreferrer"&gt;https://foojay.io/today/distributed-cache-invalidation-patterns/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yoda Principle for better integrations (5 min)🌌&lt;br&gt;
&lt;a href="https://event-driven.io/en/yoda_principle_in_command_design/" rel="noopener noreferrer"&gt;https://event-driven.io/en/yoda_principle_in_command_design/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Making illegal state unrepresentable (2 min)🤷‍♂️&lt;br&gt;
&lt;a href="https://blog.frankel.ch/illegal-state-unrepresentable/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/illegal-state-unrepresentable/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>cache</category>
      <category>design</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-04-15</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 15 Apr 2026 15:53:49 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-15-20ca</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-15-20ca</guid>
      <description>&lt;p&gt;How I Automated Weekly Twitter/X Posts With Java, JBang and GitHub Actions (4 min)🤖&lt;br&gt;
&lt;a href="https://foojay.io/today/how-i-automated-weekly-twitter-x-posts-with-java-jbang-and-github-actions/" rel="noopener noreferrer"&gt;https://foojay.io/today/how-i-automated-weekly-twitter-x-posts-with-java-jbang-and-github-actions/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why Java Developers Over-Trust AI Suggestions (5 min)🤝&lt;br&gt;
&lt;a href="https://foojay.io/today/why-java-developers-over-trust-ai-dependency-suggestions/" rel="noopener noreferrer"&gt;https://foojay.io/today/why-java-developers-over-trust-ai-dependency-suggestions/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A GitHub agentic workflow (2 min)🕵️‍&lt;br&gt;
&lt;a href="https://blog.frankel.ch/agentic-github-workflows/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/agentic-github-workflows/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Secret agentic AI (2 min)🕵️‍&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/04/13/secret-agentic-ai/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/04/13/secret-agentic-ai/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mythos and its impact on security (5 min)🛡️&lt;br&gt;
&lt;a href="https://neilmadden.blog/2026/04/14/mythos-and-its-impact-on-security/" rel="noopener noreferrer"&gt;https://neilmadden.blog/2026/04/14/mythos-and-its-impact-on-security/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Physics Of GPS (6 min)📡&lt;br&gt;
&lt;a href="https://perthirtysix.com/how-does-gps-work" rel="noopener noreferrer"&gt;https://perthirtysix.com/how-does-gps-work&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>ai</category>
      <category>security</category>
      <category>github</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-04-08</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 08 Apr 2026 15:29:50 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-08-51me</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-08-51me</guid>
      <description>&lt;p&gt;Thread-Safe Native Memory in Java: VarHandle Access Modes Explained (12 min)🧠&lt;br&gt;
&lt;a href="https://foojay.io/today/java-native-memory-access-modes/" rel="noopener noreferrer"&gt;https://foojay.io/today/java-native-memory-access-modes/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fake It Till You Make It: Fault Injection with Spring using Headers and Baggage Propagation (8 min)💉&lt;br&gt;
&lt;a href="https://trifork.nl/blog/fault-injection-with-spring/" rel="noopener noreferrer"&gt;https://trifork.nl/blog/fault-injection-with-spring/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introducing Floci: A High-Performance, GraalVM-Powered AWS Emulator (2 min)☁️&lt;br&gt;
&lt;a href="https://foojay.io/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/" rel="noopener noreferrer"&gt;https://foojay.io/today/introducing-floci-a-high-performance-graalvm-powered-aws-emulator/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choice, Clarity, and the Future of Caching in Gradle Actions (3 min)🪶&lt;br&gt;
&lt;a href="https://blog.gradle.org/choice-clarity-future-caching-gradle-actions" rel="noopener noreferrer"&gt;https://blog.gradle.org/choice-clarity-future-caching-gradle-actions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comprehension Debt - the hidden cost of AI generated code. (8 min)🤔&lt;br&gt;
&lt;a href="https://addyosmani.com/blog/comprehension-debt" rel="noopener noreferrer"&gt;https://addyosmani.com/blog/comprehension-debt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;S3 Is Not a Filesystem (But Now There’s One In Front of It) (10 min)🗂️&lt;br&gt;
&lt;a href="https://www.lastweekinaws.com/blog/s3-is-not-a-filesystem-but-now-theres-one-in-front-of-it/" rel="noopener noreferrer"&gt;https://www.lastweekinaws.com/blog/s3-is-not-a-filesystem-but-now-theres-one-in-front-of-it/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>s3</category>
      <category>gradle</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-04-01</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 01 Apr 2026 15:42:36 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-01-2hmh</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-04-01-2hmh</guid>
      <description>&lt;p&gt;Java Is Fast. Your Code Might Not Be. (12 min)🐢&lt;br&gt;
&lt;a href="https://jvogel.me/posts/2026/java-is-fast-your-code-might-not-be/" rel="noopener noreferrer"&gt;https://jvogel.me/posts/2026/java-is-fast-your-code-might-not-be/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JDK 26 Security Enhancements (14 min)🛡️&lt;br&gt;
&lt;a href="https://seanjmullan.org/blog/2026/03/16/jdk26" rel="noopener noreferrer"&gt;https://seanjmullan.org/blog/2026/03/16/jdk26&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Measuring the Startup Memory Cost for Lazy Iteration Patterns in Java (5 min)💰&lt;br&gt;
&lt;a href="https://donraab.medium.com/measuring-the-startup-memory-cost-for-lazy-iteration-patterns-in-java-be24f4dd5b64" rel="noopener noreferrer"&gt;https://donraab.medium.com/measuring-the-startup-memory-cost-for-lazy-iteration-patterns-in-java-be24f4dd5b64&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One tip for successful OpenTelemetry projects (2 min)💡&lt;br&gt;
&lt;a href="https://blog.frankel.ch/tip-opentelemetry-projects/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/tip-opentelemetry-projects/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Static code analysis in Kotlin — tools overview (16 min)👀&lt;br&gt;
&lt;a href="https://blog.allegro.tech/2026/03/static-code-analysis-kotlin.html" rel="noopener noreferrer"&gt;https://blog.allegro.tech/2026/03/static-code-analysis-kotlin.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>security</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-03-25</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 25 Mar 2026 16:43:12 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-25-35me</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-25-35me</guid>
      <description>&lt;p&gt;The Curious Case of Enum and Map Serialization (5 min)🧐&lt;br&gt;
&lt;a href="https://4comprehension.com/enum-map-serialization/" rel="noopener noreferrer"&gt;https://4comprehension.com/enum-map-serialization/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some Benefits of Enabling Compact Object Headers in Java 25 for Streams (3 min)👜&lt;br&gt;
&lt;a href="https://donraab.medium.com/some-benefits-of-enabling-compact-object-headers-in-java-25-for-streams-8df8b2037e05" rel="noopener noreferrer"&gt;https://donraab.medium.com/some-benefits-of-enabling-compact-object-headers-in-java-25-for-streams-8df8b2037e05&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JavaScript (No, Not That One): Modern Automation with Java (12 min)🦾&lt;br&gt;
&lt;a href="https://lomagnette.github.io/posts/javascript-no-not-that-one-modern-automation-with-java/" rel="noopener noreferrer"&gt;https://lomagnette.github.io/posts/javascript-no-not-that-one-modern-automation-with-java/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Actions for Gradle v6: What's Changing and Why (3 min)🎬&lt;br&gt;
&lt;a href="https://blog.gradle.org/github-actions-for-gradle-v6" rel="noopener noreferrer"&gt;https://blog.gradle.org/github-actions-for-gradle-v6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Writing an agent skill (2 min)🕵️‍♂️&lt;br&gt;
&lt;a href="https://blog.frankel.ch/writing-agent-skill/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/writing-agent-skill/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will you go to prison for an AI? (2 min)⚖️&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/03/23/will-you-go-to-prison-for-an-ai/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/03/23/will-you-go-to-prison-for-an-ai/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claude Code Template for Spring Boot (13 min)📄&lt;br&gt;
&lt;a href="https://piotrminkowski.com/2026/03/24/claude-code-template-for-spring-boot/" rel="noopener noreferrer"&gt;https://piotrminkowski.com/2026/03/24/claude-code-template-for-spring-boot/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maybe version ranges are a good idea after all? (6 min)📏&lt;br&gt;
&lt;a href="https://neilmadden.blog/2026/03/19/maybe-version-ranges-are-a-good-idea-after-all/" rel="noopener noreferrer"&gt;https://neilmadden.blog/2026/03/19/maybe-version-ranges-are-a-good-idea-after-all/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>github</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-03-18</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 18 Mar 2026 16:49:21 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-18-470f</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-18-470f</guid>
      <description>&lt;p&gt;Java 26 Is Here, And With It a Solid Foundation for the Future (40 min)🏗️&lt;br&gt;
&lt;a href="https://hanno.codes/2026/03/17/java-26-is-here/" rel="noopener noreferrer"&gt;https://hanno.codes/2026/03/17/java-26-is-here/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java 26 is boring, and that’s a good thing (19 min)😴&lt;br&gt;
&lt;a href="https://mostlynerdless.de/blog/2026/03/17/java-26-is-boring-and-thats-a-good-thing/" rel="noopener noreferrer"&gt;https://mostlynerdless.de/blog/2026/03/17/java-26-is-boring-and-thats-a-good-thing/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JVM Workhorses - Stubs and Intrinsics (10 min)🐴&lt;br&gt;
&lt;a href="https://softwaremill.com/jvm-workhorses-stubs-and-intrinsics/" rel="noopener noreferrer"&gt;https://softwaremill.com/jvm-workhorses-stubs-and-intrinsics/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes CPU limits - When JVM sees more than it should (9 min)👀&lt;br&gt;
&lt;a href="https://mikemybytes.com/2026/03/12/kubernetes-cpu-limits-when-jvm-sees-more-than-it-should/" rel="noopener noreferrer"&gt;https://mikemybytes.com/2026/03/12/kubernetes-cpu-limits-when-jvm-sees-more-than-it-should/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;tdocker: A Terminal UI for Everyday Docker Commands (3 min)🖥️&lt;br&gt;
&lt;a href="https://4comprehension.com/tdocker-tui/" rel="noopener noreferrer"&gt;https://4comprehension.com/tdocker-tui/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>docker</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-03-11</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 11 Mar 2026 16:28:27 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-11-37bb</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-11-37bb</guid>
      <description>&lt;p&gt;Java 26 for DevOps (2 min)☕&lt;br&gt;
&lt;a href="https://inside.java/2026/03/02/jdk-26-rn-ops/" rel="noopener noreferrer"&gt;https://inside.java/2026/03/02/jdk-26-rn-ops/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTTP Client Updates in Java 26 (2 min)🌐&lt;br&gt;
&lt;a href="https://inside.java/2026/03/04/jdk-26-http-client/" rel="noopener noreferrer"&gt;https://inside.java/2026/03/04/jdk-26-http-client/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Things I miss about Spring Boot after switching to Go (5 min)🍂&lt;br&gt;
&lt;a href="https://sushantdhiman.dev/things-i-miss-about-spring-boot-after-switching-to-go/" rel="noopener noreferrer"&gt;https://sushantdhiman.dev/things-i-miss-about-spring-boot-after-switching-to-go/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Performance of Lazy and Eager Iteration Patterns on Small Lists in Java (8 min)📈&lt;br&gt;
&lt;a href="https://donraab.medium.com/performance-of-lazy-and-eager-iteration-patterns-on-small-lists-in-java-f4234bef50a5" rel="noopener noreferrer"&gt;https://donraab.medium.com/performance-of-lazy-and-eager-iteration-patterns-on-small-lists-in-java-f4234bef50a5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Empty Should be Empty (6 min)🔲&lt;br&gt;
&lt;a href="https://donraab.medium.com/empty-should-be-empty-c09e21edc205" rel="noopener noreferrer"&gt;https://donraab.medium.com/empty-should-be-empty-c09e21edc205&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DPoP: What It Is, How It Works, and Why Bearer Tokens Aren’t Enough (8 min)🛡️&lt;br&gt;
&lt;a href="https://foojay.io/today/dpop-what-it-is-how-it-works-and-why-bearer-tokens-arent-enough/" rel="noopener noreferrer"&gt;https://foojay.io/today/dpop-what-it-is-how-it-works-and-why-bearer-tokens-arent-enough/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quarkus has great performance – and we have new evidence (10 min)🚀&lt;br&gt;
&lt;a href="https://quarkus.io/blog/new-benchmarks/" rel="noopener noreferrer"&gt;https://quarkus.io/blog/new-benchmarks/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You Just Need Postgres (3 min)🐘&lt;br&gt;
&lt;a href="https://youjustneedpostgres.com/" rel="noopener noreferrer"&gt;https://youjustneedpostgres.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Shortcuts (4 min)⌨️&lt;br&gt;
&lt;a href="https://www.andreinc.net/2026/03/09/shortcuts/" rel="noopener noreferrer"&gt;https://www.andreinc.net/2026/03/09/shortcuts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What Claude Code Actually Chooses (2 min)🤔&lt;br&gt;
&lt;a href="https://amplifying.ai/research/claude-code-picks" rel="noopener noreferrer"&gt;https://amplifying.ai/research/claude-code-picks&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>http</category>
      <category>springboot</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-03-04</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 04 Mar 2026 09:30:40 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-04-279p</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-03-04-279p</guid>
      <description>&lt;p&gt;JDK 26 G1/Parallel/Serial GC changes (10 min)🗑️&lt;br&gt;
&lt;a href="https://tschatzl.github.io/2026/02/26/jdk26-g1-serial-parallel-gc-changes.html" rel="noopener noreferrer"&gt;https://tschatzl.github.io/2026/02/26/jdk26-g1-serial-parallel-gc-changes.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moving beyond Strings in Spring Data (8 min)🧵&lt;br&gt;
&lt;a href="https://spring.io/blog/2026/02/27/moving-beyond-strings-in-spring-data" rel="noopener noreferrer"&gt;https://spring.io/blog/2026/02/27/moving-beyond-strings-in-spring-data&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Optimizations in Spring MVC (5 min)🚀&lt;br&gt;
&lt;a href="https://spring.io/blog/2026/02/25/optimizing-spring-mvc" rel="noopener noreferrer"&gt;https://spring.io/blog/2026/02/25/optimizing-spring-mvc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Surprising += Cast (Rerun) (9 min)😲&lt;br&gt;
&lt;a href="https://www.javaspecialists.eu/archive/Issue333-Surprising--Cast-Rerun.html" rel="noopener noreferrer"&gt;https://www.javaspecialists.eu/archive/Issue333-Surprising--Cast-Rerun.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Avoiding the Next Supply Chain Disaster with GitHub and Gradle (12 min)📦&lt;br&gt;
&lt;a href="https://blog.gradle.org/avoid-supply-chain-disaster-with-github-gradle" rel="noopener noreferrer"&gt;https://blog.gradle.org/avoid-supply-chain-disaster-with-github-gradle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cipher Downgrade: How a Tomcat Update Could Weaken Your TLS Configuration (3 min)⬇️&lt;br&gt;
&lt;a href="https://foojay.io/today/tomcat-tlsv13-cipher-configuration-spring-boot/" rel="noopener noreferrer"&gt;https://foojay.io/today/tomcat-tlsv13-cipher-configuration-spring-boot/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In defence of correctness (11 min)🛡️&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/03/03/in-defence-of-correctness/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/03/03/in-defence-of-correctness/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>spring</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-02-25</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 25 Feb 2026 16:47:04 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0</guid>
      <description>&lt;p&gt;Dissecting the CPU-Memory Relationship in Garbage Collection (15 min)🗑️&lt;br&gt;
&lt;a href="https://norlinder.nu/posts/GC-Cost-CPU-vs-Memory/" rel="noopener noreferrer"&gt;https://norlinder.nu/posts/GC-Cost-CPU-vs-Memory/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Redacting Data from Heap Dumps via hprof-redact (8 min)🗂️&lt;br&gt;
&lt;a href="https://mostlynerdless.de/blog/2026/02/24/redacting-data-from-heap-dumps-via-hprof-redact/" rel="noopener noreferrer"&gt;https://mostlynerdless.de/blog/2026/02/24/redacting-data-from-heap-dumps-via-hprof-redact/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quality Outreach Heads-up - JDK 26: DecimalFormat Uses the Double.toString(double) Algorithm (1 min)🔢&lt;br&gt;
&lt;a href="https://inside.java/2026/02/09/quality-heads-up/" rel="noopener noreferrer"&gt;https://inside.java/2026/02/09/quality-heads-up/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JDK 26 Release Notes (3 min)📄&lt;br&gt;
&lt;a href="https://jdk.java.net/26/release-notes" rel="noopener noreferrer"&gt;https://jdk.java.net/26/release-notes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Implementing a PID Controller in Java (6 min)⚙️&lt;br&gt;
&lt;a href="https://4comprehension.com/java-pid-controller/" rel="noopener noreferrer"&gt;https://4comprehension.com/java-pid-controller/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I estimate work as a staff software engineer (12 min)📊&lt;br&gt;
&lt;a href="https://www.seangoedecke.com/how-i-estimate-work/" rel="noopener noreferrer"&gt;https://www.seangoedecke.com/how-i-estimate-work/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>pid</category>
      <category>estimating</category>
    </item>
  </channel>
</rss>
