Rafael Winterhalter
@rafaelcodes.bsky.social
📤 656
📥 90
📝 53
software consultant who likes static typing, coding at
http://github.com/raphw
🇧🇻🇩🇪🇪🇺
Tried to give an introduction on the class file API that explains it to anybody working with Java:
vimeo.com/1115458585
Courtesy of JavaZone. Thanks for having me.
loading . . .
Java Just Got Easier - Rafael Winterhalter
This is "Java Just Got Easier - Rafael Winterhalter" by JavaZone on Vimeo, the home for high quality videos and the people who love them.
https://vimeo.com/1115458585
about 1 month ago
0
15
5
reposted by
Rafael Winterhalter
Gunnar Morling
3 months ago
Wow, TIL that LISTEN/NOTIFY in Postgres requires a global lock when committing transactions issuing a NOTIFY. Consider listening to the WAL via logical replication as an alternative with no impact on the write path.
www.recall.ai/blog/postgre...
2
18
6
reposted by
Rafael Winterhalter
Gunnar Morling
5 months ago
"Towards a JSON API for the JDK" New proposal on the core-libs-dev list for adding a basic JSON API to
#Java
. That would be a more than welcome addition, in particular considering the envisioned usage once member patterns will be available. Make it So 🤩!
mail.openjdk.org/pipermail/co...
4
42
9
reposted by
Rafael Winterhalter
Christian Stöcker
5 months ago
Und das, liebe Kinder, ist der Grund, warum man sich bei existenziell wichtigen Werkzeugen am besten mindestens parallel auf lokal gehostete Open Source Lösungen stützt. Wenn
#Trump
anfängt, die US-Tech-Konzerne in Waffen zu verwandeln, wird es finster.
#KritIs
57
1518
775
Here's something I want but am too lazy to build: Take a picture of a huge pile of Lego, and get me a classification of what brick belongs to which set. The manual equivalent is quite something.
5 months ago
1
1
0
reposted by
Rafael Winterhalter
Per Minborg
6 months ago
We just integrated a performance improvement to Java String that will provide a ~10x performance boost in some applications where Strings are used as keys and where the associated values are constant foldable. This will make JDK 25 faster.
github.com/openjdk/jdk/...
2
77
22
reposted by
Rafael Winterhalter
Mixmaster Morris
5 months ago
0
38
10
Do I understand it correctly that the central-publishing-maven-plugin intends to replace the nexus-staging-maven-plugin? But not necessarily the maven-release-plugin? How would one otherwise handle tagging in Git? I'm confused.
6 months ago
4
2
0
reposted by
Rafael Winterhalter
JavaZone
6 months ago
We’d love to see more talk proposals rolling in for #JavaZone2025! Got something interesting to share? Big or small, wild or practical — we want to hear it! 🙌
2025.javazone.no/en/...
1
5
3
My first question on Stack Overflow in four years. Any ideas why Kotlin reflect cannot observe an annotation if a class's "flag" is 6 and not 7?
stackoverflow.com/questions/79...
loading . . .
Dynamically added annotation is not visible to Kotlin reflection
I am working with a Java agent that is adding an annotation dynamically to a class file. When this class file is a Kotlin class, and if it is investigated by Kotlin reflection, the annotation does ...
https://stackoverflow.com/questions/79529741/dynamically-added-annotation-is-not-visible-to-kotlin-reflection
7 months ago
0
1
1
What frustrates me most about Kotlin and Scala is their closed world perspective on their own tooling. Java byte code is well-defined and easy to interop. It should not be hard to add an annotation to a class, but with Kotlin it somehow is:
discuss.kotlinlang.org/t/dynamicly-...
loading . . .
Dynamicly added annotations are not visible
I am trying to add support for kotest for a test intelligence tool. To do so, I need to be able to add the Ignored annotation to classes dynamically using a Java agent, but the annotation seems to not...
https://discuss.kotlinlang.org/t/dynamicly-added-annotations-are-not-visible/30132
7 months ago
0
7
1
reposted by
Rafael Winterhalter
Patricia Aas 🐢🏳️🌈
7 months ago
All folks who speak at conferences should read this and think long and hard about whether they want to risk speak in the US in the future. Also anyone who works while traveling.
comicon.com/2025/03/18/f...
15
514
284
Catch of the day: The Kafka client for Java logs a bunch of things on info level that likely should be debug, which resulted in Splunk logging for millions of crowns of repetitive things nobody needs. I argue that libraries should never log anything on the info level.
7 months ago
0
4
0
reposted by
Rafael Winterhalter
Ólafur Páll Geirsson
7 months ago
@vonderleyen.ec.europa.eu
Here’s a potent idea for Europe: allow member states to charge VAT on online ads served within their borders. Why should platforms like Meta earn ad revenue from EU audiences without paying VAT locally?
1
10
3
reposted by
Rafael Winterhalter
Ólafur Páll Geirsson
7 months ago
One of my most radical political positions is that online ads should be treated like addictive substances (alcohol) and have something like 100% VAT. This doesn’t exist because governments can’t technically charge VAT for online ads served in the country.
2
3
1
Finally found the time to make Mockito a proper named module:
github.com/mockito/mock...
jdk.unsupported can still be used, but if Mockito is added as an agent and the package is not imported elsewhere, it still works fully without it on official API in the instrumentation API.
loading . . .
Add support for including module-info in Mockito. by raphw · Pull Request #3597 · mockito/mockito
Adds module-info.java to describe module descriptor.
https://github.com/mockito/mockito/pull/3597
7 months ago
0
2
1
reposted by
Rafael Winterhalter
jPrime Conference
7 months ago
🎓 We are so happy that our great friend Rafael Winterhalter (
@rafaelcodes.bsky.social
) will be back to Sofia and will give his talk: "Exploring the Java Class File API"! 🗓️ 14-15 May, 2025 📍 Sofia, Bulgaria 🇧🇬 🎫 Grab your pass:
jprime.io/tickets
0
2
1
reposted by
Rafael Winterhalter
Bjørn Johan Berger
8 months ago
Dette kan du gjøre for å støtte Ukraina: Trykk på «republiser-knappen» - slik at flest mulig får vite om den politiske markeringen på mandag.
3
198
246
reposted by
Rafael Winterhalter
JavaZone
8 months ago
💘 Roses are red, commits turn green, JavaZone’s stage is calling—be seen! 💘 Every bug fix, late-night hack, and production horror story deserves an audience. Your code has a story—share it at #JavaZone2025! 💌
talks.javazone.no/ ℹ️ http
#JavaZone2025
://2025.javazone.no/en/speaker
#JavaZone
0
10
6
So
Apple.tv
has no Android app, but if you open it in the browser, it automatically routes to /us. This I have to replace with /no manually, otherwise the page crashes loading a language bundle for a popup. Did someone make this page in Dreamweaver? Severance better be a good show.
8 months ago
1
2
0
It took another release to iron out some issues with the Class File API Integration. Also, Byte Buddy now offers improved support for using constantdynamic in instrumentation, with fallback to invokedynamic if not yet available.
github.com/raphw/byte-b...
loading . . .
Release Byte Buddy 1.17.0 · raphw/byte-buddy
Assure that implicit choice for class reader and class writer are always symmetric with regard to internal representation. Retrofit MemberSubstitution to also allow for intercepting invokedynamic i...
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.17.0
8 months ago
1
6
2
I made a mistake in my changed build and 1.16.1 now offers the actual support for this.
add a skeleton here at some point
9 months ago
0
8
4
Byte Buddy 1.16.0 now integrates the Java Class File API and is therefore compatible with any future JDK that retains its instruction set, without activating the experimental flag.
github.com/raphw/byte-b...
loading . . .
Release Byte Buddy 1.16.0 · raphw/byte-buddy
Allow for erasure of types of bootstrapped methods in Advice within instrumented class. Rework Advice post-processing to allow for erasure of bootstrapped methods. Fix missing application of hashCo...
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.16.0
9 months ago
1
43
13
Finally released the first version of my ASM-JDK bridge. It's as close as can be a drop-in replacement for ASM's ClassReader and ClassWriter where the alternative implementations use the JDK class file API in the JDK, and allow for limited forward compatibility.
github.com/raphw/asm-jd...
loading . . .
GitHub - raphw/asm-jdk-bridge
Contribute to raphw/asm-jdk-bridge development by creating an account on GitHub.
https://github.com/raphw/asm-jdk-bridge
9 months ago
2
14
6
reposted by
Rafael Winterhalter
Axel Fontaine
9 months ago
After months of beta testing, I am excited to announce our new product: Sprinters Run GitHub Actions jobs 10x cheaper by changing 1 line in your workflow yml Like I did for Flyway, we focussed on simplicity, security and no-brainer pricing. Check it out:
sprinters.sh
add a skeleton here at some point
0
7
2
I'm looking for a good primer on file system performance in our time. I did the basic CS classes, but I am sure things have changed in the past 20 years. Admittedly, I only looked into network IO since then, so I wonder if someone knows a good sunmary of today's state of the art on files.
9 months ago
3
4
0
reposted by
Rafael Winterhalter
Ron Filipkowski
9 months ago
A real photo and perfect metaphor heading into 2025.
2139
80027
19173
I made a small Java build tool! With the kids being a bit older, I found some energy again to play with something I had in my head for a few years. This is still very much a POC, but I am happy with the direction it has taken. Have a look and let me know what you think!
github.com/raphw/build-...
loading . . .
GitHub - raphw/build-buddy
Contribute to raphw/build-buddy development by creating an account on GitHub.
https://github.com/raphw/build-buddy
9 months ago
10
36
10
Maven dependency negotiation is non-intuitive. But I do not think many developers understand the impact of version ranges. I did indeed not. Any version range will override an explicit version. And due to how scopes work, even a transitive test dependency might override production dependencies.
10 months ago
4
3
2
What plugin determines what checksums are calculated and uploaded to Maven Central? I want to have a look, but cannot find any configuration or documentation on this.
10 months ago
2
1
0
reposted by
Rafael Winterhalter
OpenJDK
10 months ago
Hello, Bluesky!
13
185
44
Java build tools (and their dependency management) have given me a headache as long as I remember. I appreciate that building software is a hard problem and I want to try out some ideas I had around them. To start, I wrote a standalone POM-to-dependency converter (
gist.github.com/raphw/78b0d5...
)
loading . . .
Maven POM resolution (standalone)
Maven POM resolution (standalone). GitHub Gist: instantly share code, notes, and snippets.
https://gist.github.com/raphw/78b0d5264636c3d2a3af339c3259c17c
10 months ago
3
4
4
What's the point of storing checksums on Maven Central alongside the artifacts? If you download a corrupted artifact from a corrupted server, computing a correct checksum of the corrupted artifact, and storing it along, is the easy part. And TCP already checks for lost packages (and retries).
10 months ago
2
1
0
It's tragic that the POM file has emerged as the standard way of representing a published Java artifact's transitive dependencies. POMs are a mess to parse and it's almost impossible to end up with the same result as Maven. The ecosystem should strive towards a better standard.
10 months ago
1
4
0
I am partially grateful for Twitter becoming the hellscape it now is, as it somewhat cured me from looking at my phone too much. But I always missed it as a channel for what is happening in technology, so I will give this one another try.
11 months ago
5
28
1
you reached the end!!
feeds!
log in