<?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.us-east-2.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-09-30</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 30 Sep 2026 14:46:19 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-30-1b6e</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-30-1b6e</guid>
      <description>&lt;p&gt;What Go Taught Us About Java Garbage Collection (7 min)🗑️&lt;br&gt;
&lt;a href="https://dev.to/codenameone/what-go-taught-us-about-java-garbage-collection-25ha"&gt;https://dev.to/codenameone/what-go-taught-us-about-java-garbage-collection-25ha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Decapsulation: Breaking Java Strong Encapsulation (27 min)🔓&lt;br&gt;
&lt;a href="https://wouter.coekaerts.be/2026/decapsulation" rel="noopener noreferrer"&gt;https://wouter.coekaerts.be/2026/decapsulation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My love-hate relationship with Java formatters (3 min)🎨&lt;br&gt;
&lt;a href="https://foojay.io/today/my-love-hate-relationship-with-java-formatters/" rel="noopener noreferrer"&gt;https://foojay.io/today/my-love-hate-relationship-with-java-formatters/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Performance Improvements in JDK 27 (10 min)🚀&lt;br&gt;
&lt;a href="https://inside.java/2026/09/28/performance-update-jdk27/" rel="noopener noreferrer"&gt;https://inside.java/2026/09/28/performance-update-jdk27/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>formatting</category>
      <category>gc</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-09-23</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 23 Sep 2026 16:24:36 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-23-3j00</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-23-3j00</guid>
      <description>&lt;p&gt;Releasing Spring for Modern Challenges (3 min)🌱&lt;br&gt;
&lt;a href="https://spring.io/blog/2026/09/21/releasing-spring-for-modern-challenges" rel="noopener noreferrer"&gt;https://spring.io/blog/2026/09/21/releasing-spring-for-modern-challenges&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Spring AI and TypeSafe Jev: Fast, Cheap, Structured Decisions (10 min)🤖&lt;br&gt;
&lt;a href="https://spring.io/blog/2026/09/21/spring-ai-typesafe-structured-judgment" rel="noopener noreferrer"&gt;https://spring.io/blog/2026/09/21/spring-ai-typesafe-structured-judgment&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reflection-Free Serialization on the JVM: Four Formats In, Avro Out (10 min)📦&lt;br&gt;
&lt;a href="https://foojay.io/today/reflection-free-serialization-on-the-jvm-four-formats-in-avro-out/" rel="noopener noreferrer"&gt;https://foojay.io/today/reflection-free-serialization-on-the-jvm-four-formats-in-avro-out/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using multiple GitHub accounts on one machine (6 min)🐙&lt;br&gt;
&lt;a href="https://www.wimdeblauwe.com/blog/2026/09/14/using-multiple-github-accounts-on-one-machine/" rel="noopener noreferrer"&gt;https://www.wimdeblauwe.com/blog/2026/09/14/using-multiple-github-accounts-on-one-machine/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A faster way to convert a timestamp ➜ Hour, Min, Sec (8 min)⏱️&lt;br&gt;
&lt;a href="https://www.benjoffe.com/fast-time-of-day" rel="noopener noreferrer"&gt;https://www.benjoffe.com/fast-time-of-day&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>spring</category>
      <category>github</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-09-16</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Thu, 17 Sep 2026 08:12:38 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-16-420a</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-16-420a</guid>
      <description>&lt;p&gt;The Arrival of Java 27! (9 min)☕&lt;br&gt;
&lt;a href="https://inside.java/2026/09/15/jdk-27-available/" rel="noopener noreferrer"&gt;https://inside.java/2026/09/15/jdk-27-available/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java 27 is only boring on the surface (13 min)🔍&lt;br&gt;
&lt;a href="https://mostlynerdless.de/blog/2026/09/15/java-27-is-only-boring-on-the-surface/" rel="noopener noreferrer"&gt;https://mostlynerdless.de/blog/2026/09/15/java-27-is-only-boring-on-the-surface/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello Java 27! Have You Been Working Out? (32 min)💪&lt;br&gt;
&lt;a href="https://hanno.codes/2026/09/15/hello-java-27/" rel="noopener noreferrer"&gt;https://hanno.codes/2026/09/15/hello-java-27/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Debug Past an HTTP 403 Without Breaking Spring Security (11 min)🐛&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/idea/2026/09/debug-past-an-http-403-without-breaking-spring-security/" rel="noopener noreferrer"&gt;https://blog.jetbrains.com/idea/2026/09/debug-past-an-http-403-without-breaking-spring-security/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When LLM Judges Agree, Should We Believe Them? (9 min)🤖&lt;br&gt;
&lt;a href="https://www.amazon.science/blog/when-llm-judges-agree-should-we-believe-them" rel="noopener noreferrer"&gt;https://www.amazon.science/blog/when-llm-judges-agree-should-we-believe-them&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On Learning Programming in an Age of LLMs (10 min)📚&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/09/16/on-learning-programming-in-an-age-of-llms/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/09/16/on-learning-programming-in-an-age-of-llms/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>ai</category>
      <category>security</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-09-09</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 09 Sep 2026 16:17:37 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-09-3gpj</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-09-3gpj</guid>
      <description>&lt;p&gt;Building an Agentic Warehouse Management System — Part 1: Where AI Agents Add Value (8 min)🤖&lt;br&gt;
&lt;a href="https://foojay.io/today/building-an-agentic-warehouse-management-system-part-1-where-ai-agents-add-value/" rel="noopener noreferrer"&gt;https://foojay.io/today/building-an-agentic-warehouse-management-system-part-1-where-ai-agents-add-value/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>ai</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-09-02</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 02 Sep 2026 16:01:05 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-02-3onl</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-09-02-3onl</guid>
      <description>&lt;p&gt;Module Imports (5 min)📦&lt;br&gt;
&lt;a href="https://www.javaspecialists.eu/archive/Issue337-Module-Imports.html" rel="noopener noreferrer"&gt;https://www.javaspecialists.eu/archive/Issue337-Module-Imports.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep Testcontainers up to date with Dependabot (3 min)🤖&lt;br&gt;
&lt;a href="https://paramount.tech/blog/2026/08/26/keep-testcontainers-up-to-date-with-dependabot.html" rel="noopener noreferrer"&gt;https://paramount.tech/blog/2026/08/26/keep-testcontainers-up-to-date-with-dependabot.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JOOQ code from Flyway migration, with no database (5 min)🛫&lt;br&gt;
&lt;a href="https://medium.com/@behzodhalil/jooq-code-from-flyway-migration-with-no-database-0a9632430f69" rel="noopener noreferrer"&gt;https://medium.com/@behzodhalil/jooq-code-from-flyway-migration-with-no-database-0a9632430f69&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TigerBeetle vs PostgreSQL Performance: Benchmark Harness, Cloud Tests (8 min)🐯&lt;br&gt;
&lt;a href="https://softwaremill.com/tigetbeetle-vs-postgresql-performance-benchmark-harness-cloud-tests/" rel="noopener noreferrer"&gt;https://softwaremill.com/tigetbeetle-vs-postgresql-performance-benchmark-harness-cloud-tests/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Project Loom in IntelliJ IDEA: Virtual Threads, Scoped Values, and Structured Concurrency (12 min)🧵&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/idea/2026/08/project-loom-in-intellij-idea-virtual-threads-scoped-values-and-structured-concurrency/" rel="noopener noreferrer"&gt;https://blog.jetbrains.com/idea/2026/08/project-loom-in-intellij-idea-virtual-threads-scoped-values-and-structured-concurrency/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>postgres</category>
      <category>flyway</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-08-26</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 26 Aug 2026 15:40:57 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-26-c82</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-26-c82</guid>
      <description>&lt;p&gt;Value Classes Still Need Compiler Sympathy (12 min)⚙️&lt;br&gt;
&lt;a href="https://johan-sjolen.github.io/post/compiler-sympathy/compiler-sympathy/" rel="noopener noreferrer"&gt;https://johan-sjolen.github.io/post/compiler-sympathy/compiler-sympathy/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scripting in small apps: you don’t need a container for a macro (5 min)📜&lt;br&gt;
&lt;a href="https://foojay.io/today/scripting-in-small-apps-you-dont-need-a-container-for-a-macro/" rel="noopener noreferrer"&gt;https://foojay.io/today/scripting-in-small-apps-you-dont-need-a-container-for-a-macro/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Offline Crypto Address Validation in Java (3 min)🔐&lt;br&gt;
&lt;a href="https://foojay.io/today/offline-crypto-address-validation-in-java/" rel="noopener noreferrer"&gt;https://foojay.io/today/offline-crypto-address-validation-in-java/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gradle Is Going Agentic (7 min)🤖&lt;br&gt;
&lt;a href="https://blog.gradle.org/gradle-is-going-agentic" rel="noopener noreferrer"&gt;https://blog.gradle.org/gradle-is-going-agentic&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>cryptocurrency</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-08-19</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 19 Aug 2026 15:33:36 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-19-p3</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-19-p3</guid>
      <description>&lt;p&gt;Solving Gradle metadata and Renovate integration (2 min)🤖&lt;br&gt;
&lt;a href="https://blog.frankel.ch/gradle-metadata-renovate-integration/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/gradle-metadata-renovate-integration/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Resilient Sync: Your IDE Keeps Helping even when your Build is Broken (4 min)🛟&lt;br&gt;
&lt;a href="https://blog.gradle.org/resilient-sync" rel="noopener noreferrer"&gt;https://blog.gradle.org/resilient-sync&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why Optimizing Java Stream Makes Sense for Eclipse Collections (5 min)🌊&lt;br&gt;
&lt;a href="https://donraab.medium.com/why-optimizing-java-stream-makes-perfect-sense-for-eclipse-collections-885289a3b12c" rel="noopener noreferrer"&gt;https://donraab.medium.com/why-optimizing-java-stream-makes-perfect-sense-for-eclipse-collections-885289a3b12c&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JEP 540 Proposed to Target JDK 28 with a Simple JSON API (3 min)📄&lt;br&gt;
&lt;a href="https://www.infoq.com/news/2026/08/java-native-json-api" rel="noopener noreferrer"&gt;https://www.infoq.com/news/2026/08/java-native-json-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When Escape Routes Become Toll Roads: Mapping How Developers Move Between Programming Languages (12 min)🛣️&lt;br&gt;
&lt;a href="https://blog.jetbrains.com/research/2026/08/programming-language-migration/" rel="noopener noreferrer"&gt;https://blog.jetbrains.com/research/2026/08/programming-language-migration/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>renovate</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-08-12</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 12 Aug 2026 15:50:40 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-12-21a7</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-08-12-21a7</guid>
      <description>&lt;p&gt;Hacking in the nameOf (4 min)🕵️‍♂️&lt;br&gt;
&lt;a href="https://committing-crimes.com/articles/2026-08-04-java-nameof/" rel="noopener noreferrer"&gt;https://committing-crimes.com/articles/2026-08-04-java-nameof/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ADTs (Algebraic Data Types) in Java (22 min)📐&lt;br&gt;
&lt;a href="https://rockthejvm.com/articles/algebraic-data-types-in-java" rel="noopener noreferrer"&gt;https://rockthejvm.com/articles/algebraic-data-types-in-java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JDK 27 G1/Parallel/Serial GC changes (3 min)🗑️&lt;br&gt;
&lt;a href="https://tschatzl.github.io/2026/08/10/jdk27-g1-serial-parallel-gc-changes.html" rel="noopener noreferrer"&gt;https://tschatzl.github.io/2026/08/10/jdk27-g1-serial-parallel-gc-changes.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Allocation Hungry Any/All/None, FindFirst, and Count Methods on Java Stream (5 min)🍔&lt;br&gt;
&lt;a href="https://donraab.medium.com/allocation-hungry-any-all-none-findfirst-and-count-methods-on-java-stream-e3ca6d66b265" rel="noopener noreferrer"&gt;https://donraab.medium.com/allocation-hungry-any-all-none-findfirst-and-count-methods-on-java-stream-e3ca6d66b265&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I accidentally became Google AI’s main resource for GraalVM vs OpenJDK (4 min)😅&lt;br&gt;
&lt;a href="https://mostlynerdless.de/blog/2026/07/31/i-accidentally-became-google-ais-main-resource-for-graalvm-vs-openjdk/" rel="noopener noreferrer"&gt;https://mostlynerdless.de/blog/2026/07/31/i-accidentally-became-google-ais-main-resource-for-graalvm-vs-openjdk/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introducing Isolated Projects (4 min)🏝️&lt;br&gt;
&lt;a href="https://blog.gradle.org/introducing-isolated-projects" rel="noopener noreferrer"&gt;https://blog.gradle.org/introducing-isolated-projects&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Writing code isn't the bottleneck anymore, reading is (7 min)🍾&lt;br&gt;
&lt;a href="https://threedots.tech/post/understanding-code-is-bottleneck/" rel="noopener noreferrer"&gt;https://threedots.tech/post/understanding-code-is-bottleneck/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't be a meat proxy (2 min)🥩&lt;br&gt;
&lt;a href="https://gruhn.me/blog/2026-08-03/" rel="noopener noreferrer"&gt;https://gruhn.me/blog/2026-08-03/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Does code quality still matter? (4 min)💎&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/07/23/does-code-quality-still-matter/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/07/23/does-code-quality-still-matter/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AWS customer learns the hard way how even the smallest oversight can be mission-critical (4 min)💥&lt;br&gt;
&lt;a href="https://www.theregister.com/off-prem/2026/07/20/aws-customer-learns-the-hard-way-how-even-the-smallest-oversight-can-be-mission-critical/5275089" rel="noopener noreferrer"&gt;https://www.theregister.com/off-prem/2026/07/20/aws-customer-learns-the-hard-way-how-even-the-smallest-oversight-can-be-mission-critical/5275089&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>ai</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-07-15</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 15 Jul 2026 15:40:40 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-15-1dlj</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-15-1dlj</guid>
      <description>&lt;p&gt;The Java Story (video, premieres July 17)🎬&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=ZqGSg4b_cZA" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=ZqGSg4b_cZA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Java 27: What's new? (4 min)🚀&lt;br&gt;
&lt;a href="https://www.loicmathieu.fr/wordpress/informatique/java-27-whats-new/" rel="noopener noreferrer"&gt;https://www.loicmathieu.fr/wordpress/informatique/java-27-whats-new/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nulling Out References Won't Help Your Garbage Collector (8 min)🗑️&lt;br&gt;
&lt;a href="https://foojay.io/today/nulling-out-references-wont-help-your-garbage-collector/" rel="noopener noreferrer"&gt;https://foojay.io/today/nulling-out-references-wont-help-your-garbage-collector/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why low-latency Java still requires discipline? (5 min)⚡&lt;br&gt;
&lt;a href="https://chronicle.software/insights/blogs/why-low-latency-java-still-requires-discipline" rel="noopener noreferrer"&gt;https://chronicle.software/insights/blogs/why-low-latency-java-still-requires-discipline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essential Tips for Gradle on Ephemeral CI Environments - Part 2 (10 min)🐘&lt;br&gt;
&lt;a href="https://blog.gradle.org/gradle-on-ephemeral-ci-2" rel="noopener noreferrer"&gt;https://blog.gradle.org/gradle-on-ephemeral-ci-2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essential Tips for Gradle on Ephemeral CI Environments - Part 3 (10 min)🐘&lt;br&gt;
&lt;a href="https://blog.gradle.org/gradle-on-ephemeral-ci-3" rel="noopener noreferrer"&gt;https://blog.gradle.org/gradle-on-ephemeral-ci-3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Making ServiceLoader usable: a provider factory (6 min)🏭&lt;br&gt;
&lt;a href="https://blog.frankel.ch/serviceloader-provider-factory/" rel="noopener noreferrer"&gt;https://blog.frankel.ch/serviceloader-provider-factory/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What's New in actions/setup-java 5.4 and 5.5: Signature Verification, Kona JDK, and a Better Maven Experience (5 min)🐙&lt;br&gt;
&lt;a href="https://foojay.io/today/whats-new-in-actions-setup-java-5-4-and-5-5-signature-verification-kona-jdk-and-a-better-maven-experience/" rel="noopener noreferrer"&gt;https://foojay.io/today/whats-new-in-actions-setup-java-5-4-and-5-5-signature-verification-kona-jdk-and-a-better-maven-experience/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A New Home for Spring Cloud Contract: Transitioning to Stubborn.sh (1 min)🌱&lt;br&gt;
&lt;a href="https://spring.io/blog/2026/07/06/spring-cloud-contract-transition-to-stubbornsh" rel="noopener noreferrer"&gt;https://spring.io/blog/2026/07/06/spring-cloud-contract-transition-to-stubbornsh&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clickhouse is winning the Observability Wars (10 min)📊&lt;br&gt;
&lt;a href="https://matduggan.com/clickhouse-is-winning-the-observability-wars/" rel="noopener noreferrer"&gt;https://matduggan.com/clickhouse-is-winning-the-observability-wars/&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-07-08</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 08 Jul 2026 14:57:54 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-08-133c</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-08-133c</guid>
      <description>&lt;p&gt;Essential Tips for Gradle on Ephemeral CI Environments - Part 1 (15 min)🐘&lt;br&gt;
&lt;a href="https://blog.gradle.org/gradle-on-ephemeral-ci-1" rel="noopener noreferrer"&gt;https://blog.gradle.org/gradle-on-ephemeral-ci-1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Worse is better: JSON versus XML (5 min)🥊&lt;br&gt;
&lt;a href="https://blog.ploeh.dk/2026/07/06/worse-is-better-json-versus-xml/" rel="noopener noreferrer"&gt;https://blog.ploeh.dk/2026/07/06/worse-is-better-json-versus-xml/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kotlin tricks: Non-exhaustive enums (6 min)👻&lt;br&gt;
&lt;a href="https://ivan.canet.dev/blog/2026/06/29/kotlin-non-exhaustive-enum.html" rel="noopener noreferrer"&gt;https://ivan.canet.dev/blog/2026/06/29/kotlin-non-exhaustive-enum.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-07-01</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 01 Jul 2026 15:49:35 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-01-3aob</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-07-01-3aob</guid>
      <description>&lt;p&gt;CopyOnWriteArrayList.subList() ConcurrentModificationException (5 min) 🧵&lt;br&gt;
&lt;a href="https://www.javaspecialists.eu/archive/Issue336-CopyOnWriteArrayList.subList-ConcurrentModificationException.html" rel="noopener noreferrer"&gt;https://www.javaspecialists.eu/archive/Issue336-CopyOnWriteArrayList.subList-ConcurrentModificationException.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You Are Probably Already Running gradle/actions (7 min) ⚙️&lt;br&gt;
&lt;a href="https://blog.gradle.org/running-gradle-github-actions" rel="noopener noreferrer"&gt;https://blog.gradle.org/running-gradle-github-actions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So You Want To Define a Well-Known URI (5 min) 🧭&lt;br&gt;
&lt;a href="https://mnot.net/blog/2026/well_known_uris" rel="noopener noreferrer"&gt;https://mnot.net/blog/2026/well_known_uris&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Old Software Was Fast Because It Had No Choice (8 min) 🐌&lt;br&gt;
&lt;a href="https://yusufaytas.com/old-software-was-fast-because-it-had-no-choice" rel="noopener noreferrer"&gt;https://yusufaytas.com/old-software-was-fast-because-it-had-no-choice&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7 New Vulnerabilities in Jackson in One Day: This Is What AI-Assisted Security Research Looks Like (5 min) 🔓&lt;br&gt;
&lt;a href="https://foojay.io/today/7-new-vulnerabilities-in-jackson-in-one-day-this-is-what-ai-assisted-security-research-looks-like/" rel="noopener noreferrer"&gt;https://foojay.io/today/7-new-vulnerabilities-in-jackson-in-one-day-this-is-what-ai-assisted-security-research-looks-like/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>gradle</category>
      <category>security</category>
    </item>
    <item>
      <title>Wednesday Links - Edition 2026-06-24</title>
      <dc:creator>Chris Kocel</dc:creator>
      <pubDate>Wed, 24 Jun 2026 15:33:45 +0000</pubDate>
      <link>https://dev.to/0xkkocel/wednesday-links-edition-2026-06-24-26g9</link>
      <guid>https://dev.to/0xkkocel/wednesday-links-edition-2026-06-24-26g9</guid>
      <description>&lt;p&gt;Java’s SSLContext protocol name is a footgun (3 min)🔫&lt;br&gt;
&lt;a href="https://neilmadden.blog/2026/06/23/javas-sslcontext-protocol-name-is-a-footgun/" rel="noopener noreferrer"&gt;https://neilmadden.blog/2026/06/23/javas-sslcontext-protocol-name-is-a-footgun/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't measure elapsed time by subtracting timestamps (4 min)➖&lt;br&gt;
&lt;a href="https://ivan.canet.dev/blog/2026/06/15/measure-time.html" rel="noopener noreferrer"&gt;https://ivan.canet.dev/blog/2026/06/15/measure-time.html&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  TIL: Statement vs Expressions (3 min)📢
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://kinya.medium.com/til-statement-vs-expressions-108d20f48588" rel="noopener noreferrer"&gt;https://kinya.medium.com/til-statement-vs-expressions-108d20f48588&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>jvm</category>
      <category>kotlin</category>
      <category>tls</category>
    </item>
  </channel>
</rss>
