#Java enthusiast with a passion for learning and sharing, DevRel at Oracle but views are my own; left for ๐::nipafx@mastodon.social & ๐ฆ::nipafx.dev
I stuck around for a long time, didn't want to give up the community we had here because of a billionaire douchebag but this is a bridge too far.
Maybe, one day, he sells Twitter but until then:
๐ฆ bsky.app/profile/nipafx.dev
๐ mastodon.social/@nipafx
๐๐พ&๐๐พ๐ฃ
PS: Fuck you, Elon!
๐ฃ Big Speaker news! Join Nicolai Parlog @nipafx, Developer Relations at @Oracle, at #CodeEurope 2025 in Krakรณw! Heโll cover Java in the Programming Languages track. ๐
๐ June 30 โ July 1, 2025
๐๏ธ Grab your ticket now ๐ codeeurope.pl/en/buy-ticket
In the good old days, it was greedy billionaires that drove the internet's enshittification - now AI is coming for their jobs:
1) train AI on public data
2) use AI to publish slop
3) use AI slop to train worse model
Congrats, we automated enshittification. ๐ฌ๐
Two bonus objectives:
1. Clearly communicate all this in your documentation, including the error message (so a search leads to the right place) and an explanation why the option is necessary (so users don't cargo-cult). E.g. junit-pioneer.org/docs/envirโฆ
2. Place the method calls that can trigger these errors in a `try`-block where `catch` prints/logs a message that either explains all this or links to the documentation.
Thank you for your attention and have a happy new year! ๐ (Everybody else, too. ๐)
๐ข PSA for #Java FOSS maintainers:
If your project requires a command line flag that gives access to operations that can undermine integrity (openjdk.org/jeps/8305968; e.g. `--add-opens` or `--enable-native-access`), don't only mention `ALL-UNNAMED` but also your module's name.
"But my project doesn't come as a module."
Change that. ๐ Or at least set an automatic module name (dev.java/learn/modules/automโฆ).
"But nobody uses modules."
While somewhat true, maybe this changes if users can see their benefits. E.g. *not* having to leave their door open.
This is the difference between asking users to hand you the keys to their house vs to leave their door open. I wouldn't be comfortable asking them the latter without at least mentioning that there's a better option.
Compact object headers, ahead-of-time class loading & linking, garbage collection improvements, and more - #Java24 is full of performance improvements:
piped.video/watch?v=oTc16DAMโฆ
Donald Raab on Duke's Corner talking all things Java, Eclipse Collections, contributing to FOSS, and participating in the Java community. And his new book, too! @TheDonRaab@java
#Java24's feature list contains 24 JDK Enhancement Proposals. ๐ฑ
In this Inside Java Newscast, @nipafx looks at the language and API changesโfrom pattern matching primitives to flexible constructor bodies and more! social.ora.cl/6013Q6Kcl
#Java24 will enter ramp-down phase 1 later today and its feature set is set in stone. And its a lot! Here's the first half - language and API changes:
piped.video/watch?v=yntTJjASโฆ
Have you heard about "pinning"? That thing virtual threads do when encountering `synchronized`? Starting with #Java24, that will be a thing of the past.
(Almost. More details in the latest Inside Java Newscast. ๐๐พ)
piped.video/watch?v=QDk1c0ifโฆ
Parts of Leyden and other CDS improvements are now in JDK mainline, in time for JDK 24 fork. The improvements are visible even on simple HelloWorld-style examples. There are even more things to squeeze!
Duke's Corner Podcast with Piotr Przybyl on his journey with Java, which started young when he realized that "given enough time I could write literally everything! The creativity is amazing! I love it!" Hardcore. @piotrprz@java