Sign in

Jan Ouwens

@jqno.nl
142 followers 66 following 261 posts

Developer ◦ Java/JVM ◦ EqualsVerifier ◦ speaker ◦ @yoink.nl but opinions mine ◦ 👨‍👩‍👧 ◦ 🇳🇱🇪🇺 ◦ 🖖🏻 ◦ 💚 ◦ 🇺🇦🌻 ◦ he/him

PostsRepliesMedia
Jan Ouwens @jqno.nl · 17/09/2026
My ignite session is accepted for #JFall this year! > Designing a Lego model, or how my relaxing hobby turned out to be a software project in disguise This is the story of a two-week project that took me nearly two years to complete. Somehow I will make everything fit in five minutes.
Me with my Tilburg Lego Skyline model
030
Jan Ouwens @jqno.nl · 27/08/2026
Releasing a blog post and an EqualsVerifier in a single morning...things shoulldn't get any crazier today. Time to get some real work done 😅
130
Jan Ouwens @jqno.nl · 27/08/2026
EqualsVerifier 4.5.2 is out! It fixes an issue when you have a sealed hierarchy with a singleton enum that comes first alphabetically... Check it out at github.com/jqno/equalsv... #java
github.com
010
Jan Ouwens @jqno.nl · 27/08/2026
I finally managed to get a Chromecast working in a vacation home! jqno.nl/post/2026/08...
jqno.nl
Getting a Chromecast to work in a vacation home
In which I finally unlock an achievement that I’d been trying for for years
000
Jan Ouwens @jqno.nl · 21/08/2026
EqualsVerifier 4.5.1 is out! It now has a built-in prefab value for LinkedHashSet. As always, check the release notes at github.com/jqno/equalsv... #java
github.com
020
Jan Ouwens @jqno.nl · 29/07/2026
Dear supermarket, why must you torture me so?
A box of eggs, fresh from the supermarket: 5 brown, 1 white
040
Jan Ouwens @jqno.nl · 13/07/2026
That's Thursday! Don't forget to sign up 😉
020
Jan Ouwens @jqno.nl · 07/07/2026
Want to see the insane talk I wrote about the insane programming language that I built? Join us at the @openvalue.eu meetup next week! www.meetup.com/openvalue/ev...
meetup.com
Building a Bullshit Language && Taming Null with JSpecify, Thu, Jul 16, 2026, 5:30 PM | Meetup
We're excited to announce our next meetup July 16th, 2026! As usual, we'll take care of food, drinks and awesome sessions - you just need to bring you ;-) This meetup will
001
Jan Ouwens @jqno.nl · 26/06/2026
I went to see Beat the other day: King Crimson veterans playing their 80s songs. At the end of the show it was hard not to agree with Adrian Belew:
110
Jan Ouwens @jqno.nl · 19/05/2026
I deleted my Twitter, closed my Dropbox account and installed a new OS on my phone: I'm trying to move away from Big Tech jqno.nl/post/2026/05...
jqno.nl
Distancing myself from Big Tech
In which I replace services I’ve been using for literal decades
082
Jan Ouwens @jqno.nl · 17/04/2026
EqualsVerifier 4.5 is out! It adds a new check: it fails if you use java.net.URL's equals() method, because this will make a network call that can be flaky. (Convert to java.net.URI instead.) You can suppress this with a new Warning though. Check it out: github.com/jqno/equalsv... #java
github.com
051
Jan Ouwens @jqno.nl · 07/04/2026
EqualsVerifier 4.4.2 is out! It's a bugfix release that improves the layout of error messages, fixes a small bug with Kotlin lazy fields, and fixes two other minor issues. Check it out: github.com/jqno/equalsv... #java
github.com
021
Jan Ouwens @jqno.nl · 23/02/2026
EqualsVerifier 4.4.1 is out. It contains a bug fix for floats and doubles. See also: github.com/jqno/equalsv... #java
github.com
031
Jan Ouwens @jqno.nl · 21/02/2026
EqualsVerifier 4.4 is out! It contains a fix for Java 26's "final means final" warnings. (Yes, I know Java 26 not released yet 😅) Check out the changelog at github.com/jqno/equalsv... and also the updated manual at jqno.nl/equalsverifi... #java
github.com
042
Reposted by Jan Ouwens
Rune Flobakk @rune.flobakk.org · 18/02/2026
Agreeing with everything! And I also cross my fingers for the teased piece on (or yelling at) JPA, because it sounds like even more I would keep agreeing to 😁
121
Jan Ouwens @jqno.nl · 17/02/2026
My story on database schemas is published in the (Dutch) Java Magazine! Unfortunately it had to be shortened, so if you want to read the full version (or don't have access to Java Magazine), you can find it on my blog! jqno.nl/post/2026/02...
My story in the printed edition of the Java Magazine
240
Jan Ouwens @jqno.nl · 24/01/2026
EqualsVerifier 4.3.1 is out! It respects the Kotlin data class contract as described here: kotlinlang.org/docs/data-cl... As always, check out the changelog: github.com/jqno/equalsv... #java
kotlinlang.org
Data classes | Kotlin
021
Jan Ouwens @jqno.nl · 15/01/2026
I just found out that my Lego model of the Tilburg city skyline was put up for sale on AliExpress without my knowledge or consent. I guess that means I'm in the big leagues now!! 😂 (It's cheaper if you go through bricklink.com BTW 😉)
Advertisement for my Lego Tilburg Skyline model, on AliExpress. It could be yours for € 53,69!
021
Jan Ouwens @jqno.nl · 05/01/2026
My J-Fall (@nljug.bsky.social) talk is now on YouTube! www.youtube.com/watch?v=4nVc...
youtube.com
Less is more: reduce $ and CO₂ to improve performance 🚀 and joy 🥳 I Jan Ouwens
YouTube video by NLJUG
040
Jan Ouwens @jqno.nl · 01/01/2026
EqualsVerifier 4.3 is out! It fixes an issue with consecutive calls to `ScanOption.except()`. Check it out at github.com/jqno/equalsv... #java
github.com
041
Jan Ouwens @jqno.nl · 30/12/2025
EqualsVerifier 4.2.6 is out! 🎇 For sealed types, it can now use all permitted non-abstract subclasses instead of only the first one, which is handy if the first one has a recursion. It also fixes a potential bug for records. As usual, check it out at github.com/jqno/equalsv... #java
github.com
054
Jan Ouwens @jqno.nl · 03/12/2025
EqualsVerifier 4.2.5 is out. It runs slightly faster, and is slightly better factored! Check it out at github.com/jqno/equalsv... #java
github.com
052
Jan Ouwens @jqno.nl · 02/12/2025
Frank interviewed several experts, and me, about sustainability in IT at J-Fall for the @foojay.io podcast. I like how it came out!
053
Jan Ouwens @jqno.nl · 27/11/2025
I spent 6 hours in MS Teams meetings today. Let's not repeat this any time soon...
120
Jan Ouwens @jqno.nl · 25/11/2025
EqualsVerifier 4.2.4 is out! Some people reported an UnnecessaryStubbingException caused by EqualsVerifier. This is now fixed! Check out the changelog at github.com/jqno/equalsv... #java
github.com
012
Jan Ouwens @jqno.nl · 15/11/2025
EqualsVerifier 4.2.3 is out! It contains some small improvements for tests that are run on the module path. Also, it improves on error messages when Mockito is in use. Check it out at github.com/jqno/equalsv... #java
github.com
052
Jan Ouwens @jqno.nl · 09/11/2025
EqualsVerifier 4.2.2 is out! It now supports EnumSets and EnumMaps for enums with only one value. Also, I fixed an error message that referred to Warning.ZERO_FIELDS, which was removed in version 4.0. All in all, very exciting stuff Check it out at github.com/jqno/equalsv... #java
github.com
043
Jan Ouwens @jqno.nl · 06/11/2025
Thank you to everyone who joined my talk at #jfall today! You can find my slides here: jqno.nl/talks/slides...
jqno.nl
Less is more: reduce $ and CO₂ to improve performance 🚀 and joy 🥳
031
Jan Ouwens @jqno.nl · 04/11/2025
I'll be at #JFall next Thursday! Hope to see you there!
Promo picture for my talk at J-Fall: "Less is more: reduce $ and CO₂ to improve performance 🚀 and joy 🥳", November 6th 2025, Pathé Ede
050
Jan Ouwens @jqno.nl · 29/10/2025
EqualsVerifier 4.2.1 is out! It fixes an issue with Kotlin lazy delegates with a generic type. Check out the changelog at github.com/jqno/equalsv... #java
github.com
012
Jan Ouwens @jqno.nl · 27/10/2025
I really appreciate that license! I often try to game it in my PRs by having 0 surviving issues on the first try. I just opened a big PR and managed to kill 187, but 7 still survive. I'm a little bit proud of myself now. But I'm also happy that I get to ship without those 7 issues that I missed!
111
Jan Ouwens @jqno.nl · 18/10/2025
It turns out the YouTube app on my tv was set to Dutch, and I could change it in the settings. I set it to English which fixes my problem! (And probably introduces the new problem of translating all Dutch videos into English...but we'll cross that bridge when we get there) Thanks @bjeaurn.com !
121
Jan Ouwens @jqno.nl · 18/10/2025
My "smart" tv is translating YouTube video titles to Dutch and I hate it. The phrasing feels awkward. More importantly, it suggests the videos are in Dutch, which they're not.
My "Watch later", I mean "Later bekijken" playlist on YouTube with a bunch of Devoxx videos with Dutch titles
384
Jan Ouwens @jqno.nl · 03/10/2025
EqualsVerifier 4.2 is out! It has prefab values for Java 25's ScopedValues, but the main attraction is that support for #Kotlin delegates is greatly improved! They're now much easier to work with, and also error messages are much clearer. Check out the details at github.com/jqno/equalsv... #java
github.com
154
Jan Ouwens @jqno.nl · 30/09/2025
I just upgraded EqualsVerifier and I have to say, the process was extremely painless! I had exactly 1 deprecation to deal with and that was it.
071
Jan Ouwens @jqno.nl · 22/09/2025
EqualsVerifier 4.1.1 is out! It fixes an issue with classes that extend Enum Check it out: github.com/jqno/equalsv... #java
github.com
053
Jan Ouwens @jqno.nl · 02/09/2025
EqualsVerifier 4.1 is out! It adds the method withResettablePrefabValues, which allows you to have values that are re-inintialized after each check that EqualsVerifier runs internally. Handy for values that mutate when they're used. See github.com/jqno/equalsv... #java
github.com
095
Jan Ouwens @jqno.nl · 27/08/2025
Looks like I'll have to update my blog soon: there's a new player in town 😄
150
Reposted by Jan Ouwens
Benjamin Marwell ☕ @bmarwell.de · 26/08/2025
So, here is my new #java side-project: jdtfmt - a Java #formatter for the command line. * Can be paired with #spotless (both use jdt). * fast (native) github.com/bmarwell/jdt... Thanks to @jqno.nl for the inspiration, @mthmulders.bsky.social for #graalvm hints and @bdemers.io for encouraging me 😀
github.com
GitHub - bmarwell/jdtfmt: jdtfmt is an opinionated java source code formatter for the command line
jdtfmt is an opinionated java source code formatter for the command line - bmarwell/jdtfmt
2203
Jan Ouwens @jqno.nl · 22/08/2025
And EqualsVerifier 4.0.9 is out, too! Sometimes you introduce a bug while fixing one... 🤦🏻‍♂️ Check it out at github.com/jqno/equalsv... #java
github.com
022
Jan Ouwens @jqno.nl · 22/08/2025
EqualsVerifier 4.0.8 is out! It fixes an issue with abstract sealed types that add state and need `Warning.NULL_FIELDS` suppressed. Check it out at github.com/jqno/equalsv... #java
github.com
032
Jan Ouwens @jqno.nl · 20/08/2025
Yes let's hide the important stuff, thanks GitHub
Screenshot of a piece of GitHub diff saying "Load diff - Large diffs are not rendered by default."
120
Jan Ouwens @jqno.nl · 06/08/2025
Somehow, Microsoft Outlook has found a way to make GitHub notification mails even more annoying than they already were
Three GitHub notification mails, with the tag [SUSPECTED MARKETING] added to them for no reason
010
Jan Ouwens @jqno.nl · 30/07/2025
EqualsVerifier 4.0.7 is out! It fixes a bug with file path separators on Windows when using forPackage() See github.com/jqno/equalsv... #java
github.com
021
Jan Ouwens @jqno.nl · 18/07/2025
EqualsVerifier 4.0.6 is out! JPA entities with lazy fields must use their getters in equals. EqualsVerifier checks this but can't do it if the getter is final. It now throws an error if the getter is final instead of silently skipping the check. Check it out: github.com/jqno/equalsv... #java
github.com
031
Jan Ouwens @jqno.nl · 14/07/2025
I know Kotlin is the cool, hip thing these days, but the mysterious ways it generates bytecode for some of its syntactic sugar features makes my life as EqualsVerifier maintainer pretty difficult in ways that Scala never did
050
Jan Ouwens @jqno.nl · 07/07/2025
EqualsVerifier 4.0.5 is out! It fixes a regression when testing relaxed equals relations. Check it out at github.com/jqno/equalsv... #java
github.com
041
Jan Ouwens @jqno.nl · 06/07/2025
I _love_ the idea of self-hosting things. But when you self-host, you're always on-call for the things you self-host. I _hate_ being on-call. So I'm at an impasse....
030
Jan Ouwens @jqno.nl · 03/07/2025
EqualsVerifier 4.0.4 is out! For those times when you need an array of an enum type that only has 1 element Check it out at github.com/jqno/equalsv... #java
github.com
011
Jan Ouwens @jqno.nl · 23/06/2025
EqualsVerifier 4.0.3 is out! forPackage can now also scan jar files, which is handy for certain kinds of integration tests that run against jar files instead of directories with .class files. Check it out at github.com/jqno/equalsv... #java
github.com
031