Sign in

Joris Kuipers

@joris.kuipe.rs
316 followers 183 following 203 posts

CTO & hands-on architect at Trifork Amsterdam. 40 over 40

PostsRepliesMedia
Joris Kuipers @joris.kuipe.rs · 1h
Tonight!
000
Joris Kuipers @joris.kuipe.rs · 23h
In general I've found that working with Gradle becomes a lot more pleasant (or, depending on your stance, bearable) with modern models to support it: I did a lot of restructuring with Opus already recently that I simply wouldn't have bothered with on my own. Esp. lazy configuration is a tricky topic
000
Joris Kuipers @joris.kuipe.rs · 23h
Check out these new AI skills if you're using the Gradle build tool: blog.gradle.org/introducing-... I think the wrapper-update skill isn't all that useful, but the best-practices one is quite extensive and came up with some worthwhile improvements for my 100+ module build.
blog.gradle.org
Agent Skills for Gradle Best Practices and Wrapper Upgrades
Agentic Gradle Plugin 1.0.0 is available and includes skills for Gradle best practices and wrapper upgrades.
100
Joris Kuipers @joris.kuipe.rs · 29/09/2026
I’ll see your American Confidence and raise you Dutch Courage
001
Joris Kuipers @joris.kuipe.rs · 28/09/2026
TIL that Spring's RestClient does not automatically add an Accept header to its requests like RestTemplate does. We have migrated a lot of clients already, but only now encountered the first backend that compained about a missing Accept header.
020
Joris Kuipers @joris.kuipe.rs · 25/09/2026
Well it's plain to see You were meant for me Yea I'm your toy Your 50yo midlife boy
010
Joris Kuipers @joris.kuipe.rs · 22/09/2026
To avoid this from happening, Claude/Opus just wrote a nice javac plugin for me that recognizes this situation and turns it into a compile-time error. Very cool: I had the general idea, but going from there to working impl just took minutes now, while it would've taken me at least half a day.
000
Joris Kuipers @joris.kuipe.rs · 22/09/2026
In the process of migrating a huge monorepo using 1000s of lines of code with Spring's RestTemplate to use RestClient. It's an easy mistake to leave an existing HttpEntity that was passed as the request to the template and now pass it to the RestClient's body() method: still compiles, but wrong.
100
Joris Kuipers @joris.kuipe.rs · 15/09/2026
JFC, working with GraalVM is worse than getting your OSGi bundles to run with Spring 15 years ago: java.lang.IllegalArgumentException: Invalid logger interface org.hibernate.validator.internal.util.logging.Log (implementation not found) Supposedly fixed, but not for me: github.com/oracle/graal...
github.com
Caused by: java.lang.IllegalArgumentException: Invalid logger interface org.hibernate.validator.internal.util.logging.Log (implementation not found in jdk.internal.loader.ClassLoaders$AppClassLoader@2...
Hi, I am having an issue mentioned below while running the artifact using nativeRun. (nativeCompile worked properly) Caused by: java.lang.IllegalArgumentException: Invalid logger interface org.hibe...
000
Joris Kuipers @joris.kuipe.rs · 15/09/2026
I would've thought GraalVM native compilation was unreliable enough as it is with all these OSS libraries needing 3rd party metadata, but apparently Oracle drops that data I contributed in new releases as well 😢 WHY, ORACLE, WHY???!!!! github.com/oracle/graal... Map$Entry[] is there though, WTF...
github.com
graalvm-reachability-metadata/metadata/org.thymeleaf/thymeleaf/3.1.5.RELEASE/reachability-metadata.json at master · oracle/graalvm-reachability-metadata
Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries. - oracle/graalvm-reachability-metadata
000
Joris Kuipers @joris.kuipe.rs · 15/09/2026
Hah, Claude fixed it by reverting my old commit that registered standard Java types. I filed an issue against the Oracle reachability-metadata repo to have those added: github.com/oracle/graal... However, newer versions have dropped several entries, including java.util.Map$Entry which was failing.
github.com
graalvm-reachability-metadata/metadata/org.thymeleaf/thymeleaf/3.1.0.RELEASE/reachability-metadata.json at master · oracle/graalvm-reachability-metadata
Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries. - oracle/graalvm-reachability-metadata
100
Joris Kuipers @joris.kuipe.rs · 15/09/2026
AI might kill us all, but let’s see if it can debug why my GraalVM build stopped working with Thymeleaf after updating from Boot 3.5 to 4.1.1 and then let’s see what I need to worry about first.
100
Joris Kuipers @joris.kuipe.rs · 05/09/2026
Black Keys in Amsterdam tonight, with localized drums 🥁
020
Joris Kuipers @joris.kuipe.rs · 02/09/2026
Bundle of joy *ducks*
010
Joris Kuipers @joris.kuipe.rs · 02/09/2026
My presentation from this year’s Spring I/O conference is up on YouTube: if you’re using point-to-point messaging, make sure to check it out for some production-hardened ideas on how to handle dead-lettered messages for your applications and platforms! 📨🍃
010
Reposted by Joris Kuipers
Wim Deblauwe @wimdeblauwe.com · 19/08/2026
📕 I just published my new book Crafting Spring Boot Starters, see www.wimdeblauwe.com/books/crafti... if you are interested! There is a free sample you can check out where you can read the foreword by Phil Webb. The full book also has a zip file with AI skills to audit your Spring Boot starter.
wimdeblauwe.com
Crafting Spring Boot Starters
Design, build, test and publish auto-configuration libraries on Spring Boot About the book ...
132
Joris Kuipers @joris.kuipe.rs · 13/08/2026
010
Joris Kuipers @joris.kuipe.rs · 20/07/2026
Was expecting a little Andrew Tanenbaum figurine #disney #disappointed #ast
000
Joris Kuipers @joris.kuipe.rs · 22/06/2026
Would’ve expected this to cover changed Jackson 3 defaults: github.com/FasterXML/ja...
github.com
JSTEP 2
Repository for SOLE PURPOSE of issue tracker and Wiki for NEW IDEAS. Please: NO BUG REPORTS. - FasterXML/jackson-future-ideas
000
Joris Kuipers @joris.kuipe.rs · 05/06/2026
So far just some minor issues to fix: some of our code relying on poor defaults in Jackson 2 (collection properties without setters, unmarshalling missing fields to primitive types) and missing that our auto-config referenced Boot config classes by name whose package has changed. Almost stable! 💪🍃
000
Joris Kuipers @joris.kuipe.rs · 02/06/2026
Now let's see if this thing will deploy :) @spring.io Boot 4 / Framework 7 upgrade with Jackson 3 on 3 dozen microservices
GitLab merge request showing Spring Boot 4 upgrade of big project with 400+ files changed
110
Joris Kuipers @joris.kuipe.rs · 01/06/2026
Exactly. I need to do load testing for determining new memory baselines anyway, I’ll probably have to add something like such a filter then as well.
000
Joris Kuipers @joris.kuipe.rs · 30/05/2026
I’m worried that by enabling virtual threads, my services will handle more and more requests when downstream systems become slow until they run out of memory hanging on to request/response related data. Even with virtual threads I’d still expect a way to throttle.
200
Joris Kuipers @joris.kuipe.rs · 30/05/2026
Don’t think so, and even then: that should use virtual threads. I’d rather expect a way to restrict the nr of concurrent requests (not connections) in Tomcat with virtual threads, but haven’t seen anything for that.
100
Joris Kuipers @joris.kuipe.rs · 29/05/2026
No one doing this already? Is using virtual threads in production really pioneering?
110
Joris Kuipers @joris.kuipe.rs · 29/05/2026
More beers should come with a playlist
010
Joris Kuipers @joris.kuipe.rs · 29/05/2026
Red pilling 💊
110
Joris Kuipers @joris.kuipe.rs · 29/05/2026
If you think Europe’s GDPR is a bitch, read what & how the American government is actually collecting on its citizens and then we can talk again.
000
Reposted by Joris Kuipers
Thomas Vitale ☀️ @thomasvitale.com · 20/05/2026
It was really exciting to officially introduce Arconia at Spring I/O last month. Open-source extension improving the developer experience on Spring Boot. I talked about dev services, observability, automated migrations, agent skills, and a sneak peek at the upcoming dev UI. @arconia.io
012
Joris Kuipers @joris.kuipe.rs · 14/05/2026
Interview met Left Laser al gezien? www.instagram.com/reel/DYSkU_u... Deze man is een gevaar voor de rechtsstaat.
instagram.com
Instagram
Create an account or log in to Instagram - Share what you're into with the people who get you.
010
Joris Kuipers @joris.kuipe.rs · 08/05/2026
Planning to use virtual threads with Spring Boot. Means server.tomcat.max-threads will be ignored and server.tomcat.max-connections will effectively determine concurrency, but that's for capping open connections, not actively handled requests. Should I add a semaphore to control concurrency myself?
010
Joris Kuipers @joris.kuipe.rs · 30/04/2026
github.com/oracle/graal...
github.com
Update existing library: ch.qos.logback:logback-classic and -core · Issue #3899 · oracle/graalvm-reachability-metadata
Full Maven coordinates ch.qos.logback:logback-classic:1.5.26 Additional context and logs Starting with release 1.5.26, Logback has introduced new version properties files that are read at initializ...
010
Joris Kuipers @joris.kuipe.rs · 30/04/2026
Sanity restored, but as I mentioned already: if minor upgrades can make arbitrary dependencies fail silently and you have to detect and fix this yourself for 3rd party components, how can you expect mass adoption?
Code snippet showing resource hint registration for Logback version properties files
110
Joris Kuipers @joris.kuipe.rs · 30/04/2026
Looks like multiple issues. An <include> started failing silently, even after adding a resource hint, but after "fixing" that by inlining the resource I still get this new warning: |-WARN in ch.qos.logback.classic.LoggerContext[default] - Versions of logback-classic and ? are different or unknown.
110
Joris Kuipers @joris.kuipe.rs · 30/04/2026
Just silently broke my Logback-based logging when updating a GraalVM natively compiled Spring Boot app from 3.5.8 to 3.5.14. Goes to show that this is still really tricky to use and not really ready for mass enterprise adoption, as far as I'm concerned.
110
Joris Kuipers @joris.kuipe.rs · 28/04/2026
No better way to get over your King’s Day hangover than some Belgian beer & boogie with Triggerfinger in Paradiso 🎸
000
Reposted by Joris Kuipers
Yuriy @yuriy-artamonov.bsky.social · 25/04/2026
Want fewer freezes and bugs in your IntelliJ IDEA? Help us — enable automatic error reporting: Appearance & Behavior → System Settings → Data Sharing → Send error reports automatically Every report helps prioritize fixes. Takes 10 seconds, makes a real difference! #ide #java
032
Joris Kuipers @joris.kuipe.rs · 20/04/2026
Can’t wait to find out how you have to injure yourself first to get *that* to happen 🙈
010
Joris Kuipers @joris.kuipe.rs · 18/04/2026
Will do! Was thinking about helping to get the cmd line client for Windows in something like Chocolatey for easy installation and updating
100
Joris Kuipers @joris.kuipe.rs · 17/04/2026
Second time I’ll watch this band which I’d never thought I’d be able to see live some years ago!
000
Joris Kuipers @joris.kuipe.rs · 16/04/2026
Also, never thought I’d sided with the pope on anything, yet here we are
000
Joris Kuipers @joris.kuipe.rs · 16/04/2026
US citizens actually voted for this con man (and his relatives) 🤦‍♂️ gothburz.substack.com/p/these-even...
gothburz.substack.com
These Events Are Unrelated
Four crypto products, three pardons, and $1 billion extracted in 18 months. A Web3 Ambassador opens all 13 columns of the WLF dashboard. Every number sourced. Every event unrelated.
100
Joris Kuipers @joris.kuipe.rs · 16/04/2026
I just don’t want to actively contribute anymore. I do still read my X feed and there’s a ton of quality content on it: so I also turned into a passive consumer, indeed
000
Joris Kuipers @joris.kuipe.rs · 16/04/2026
True, it’s a self-sustaining phenomenon: everybody is on X, so everyone stays on X. Makes sense, but you’re choosing to be on a platform that’s actively pushing extremist right-wing propaganda and suppresses dissenting users (as demonstrated by the article I linked to). I just can’t do that anymore
110
Joris Kuipers @joris.kuipe.rs · 15/04/2026
Leaving Barcelona after another great @springio.net edition. Glad that I could speak again, very happy to have reconnected with so many people and hope to be at #springio27 that will take place in Valencia! 😎 Thanks to @sergialmar.com and everyone else who made this happen 🙏 #springio26
081
Joris Kuipers @joris.kuipe.rs · 15/04/2026
It’s sorta shocking how many people just don’t care about X and Musk and keep posting there. Here’s another thing that might make you change your mind: cybernews.com/tech/x-shado...
cybernews.com
Court orders X to give a shadowbanned user the data it has on him
The Amsterdam court ordered X to grant Dutch national Danny Mekić access to the data the platform holds on him, after he was shadowbanned without a clear explanation or notification.
100
Joris Kuipers @joris.kuipe.rs · 15/04/2026
Watching @thomasvitale.com explain his Arconia framework for @spring.io development: very cool, will definitely give this a try. Community hero! 🦸‍♂️ #springio26
141
Joris Kuipers @joris.kuipe.rs · 14/04/2026
Google Maps combined with Barcelona public transport really makes it easy to get around. Hadn’t used Maps for this much yet, but have to admit that I’m impressed with the experience #springio26
110
Joris Kuipers @joris.kuipe.rs · 14/04/2026
Home is where the wifi autoconnects: #springio26 may be in a new location, but phone already feels right at home
020
Joris Kuipers @joris.kuipe.rs · 13/04/2026
Starting my trip to Barcelona for @springio.net, really looking forward to reconnecting with everyone! If you’re attending: I will be speaking on DLQ management for large scale systems on Wednesday, so consider to join me 2026.springio.net/sessions/fal...
2026.springio.net
Spring I/O • 13-15 • April • Barcelona 2026
040