Advertisement · 728 × 90

Posts by Cay Horstmann

I never thought much about hash codes of Java enumeration constants, but https://4comprehension.c set me straight. Turns out enum hash codes are not stable, so serializing them as map keys will not work. Remedy: EnumMap!

2 days ago 1 0 0 0
Screenshot_2026-04-07_18-42-09.png

Screenshot_2026-04-07_18-42-09.png

I've been paying #Kagi for search since it's worth my time to get results instead of ads and slop. Added benefit: their translate service is fantastic for language learners. Where Google Translate gives the minimum, Kagi goes all out.

6 days ago 0 0 0 0

Is there any AI software that can watch a boring compliance video (emergency procedures, nondiscrimination, hazard communication, etc.) and answer the multiple choice questions that check for comprehension? Asking for a friend...

2 weeks ago 2 0 0 0

My article "Effective Pattern Matching 2026 Edition" is now live at https://javapro.io/2026/

2 weeks ago 1 1 0 0

Github gives you until April 24 to opt out of using your Copilot interactions for model training. The setting is at the bottom of https://github.com/setti Allow GitHub to use my data for AI model training.

2 weeks ago 2 0 0 0

Check out this fun project—Java in your browser in the most inefficient way imaginable, by having Wasm emulate x86_64 instructions running Linux running Java: https://bmarti44.substac

Jeff Martin and myself will explore better use cases for Java/Wasm at JavaOne.

1 month ago 1 1 0 0
Cay Horstmann (@cayhorstmann@foojay.social) 25 years ago, I started using Linux as my primary OS. Because, choice. Today, I had to transcribe a bunch of sound files from Vietnamese (don't ask...), and I hated all the media player UIs. They were...

Apparently bsky hates post > 300 graphemes. Mastodon doesn't: foojay.social/@cayhorstman...

1 month ago 0 0 0 0

Cool visualization of JDK releases and the JEPs from which they are made: https://juniverse.szanto

1 month ago 0 0 0 0

Out with the old, in with the new... Bruno Borges created this site on modern Java usage: https://javaevolved.gith

1 month ago 2 1 0 0
Advertisement

Cool article by Grzegorz Piwowarek about writing a gatherer, and then optimizing it:

https://4comprehension.c

1 month ago 1 0 0 0
Preview
Most Active Speakers 2025 Sessionize proudly presents the list of the most active speakers in the year 2025!

Trying to understand how I got into the Sessionize list of 1124 most active speakers sessionize.com/most-active-...

I had 8 talks accepted, at 5 conferences, and many more rejected—apparently enough for the top 3% of 39,000 speakers. A shout-out to all of them for submitting and presenting!

2 months ago 0 0 1 0

Jeff Martin and myself will speak at Java One (March 17-19, Redwood Shores, CA, USA) on Java and WebAssembly. Here is a $50 discount code if you register by Feb. 9: J12026SSM

https://horstmann.com/pr Speaker_Cay H.png

2 months ago 1 0 0 0

On Tuesday, February 10, Maurice Naftalin and myself will speak at Voxxed Days CERN on "Streams—Below the Surface". https://horstmann.com/pr

2 months ago 0 0 0 0

On the plane to Stockholm where I will give two presentations at JFokus (https://jfokus.se/speak on Project Valhalla and the Java Class File API.

2 months ago 1 0 0 0
Preview
261 - Effective Pattern Matching in Java plus Bonus Talk We're back to get 2026 ignited not with a flame, but an explosion. January sees not one, not two, but three Java Champions visiting Dublin as we again join forces with the JChampions conference to bri...

This Thursday I will speak at the Dublin JUG and the JChampionsConf, on Java pattern matching + a bonus talk for in-person attendees.

In-person signup: ti.to/dublin-java-.... Start time 18:15 UTC

To follow online, sign up here: www.eventbrite.com/e/jchampions.... Start time 20:00 UTC

2 months ago 1 0 0 0

The excellent free JChampions Conference 2026 (https://jchampionsconf.co is happening online Thur 1/22/2026, Fri 1/23/2026, Mon 1/26/2026, and Tues 1/27/2026.
Get free tickets from Eventbrite: https://www.eventbrite.c

3 months ago 1 1 0 0
Advertisement

Here is my "Java Advent" article on nice and naughty cases of pattern matching, with nicer formatting than WordPress can muster, and the ability to leave comments without logging into WordPress: https://horstmann.com/un

4 months ago 2 1 0 0

I participate in Advent of Code (https://adventofcode.co to learn, and today I learned plenty. My naïve brute force solution for Day 8 required 3 minutes. I re-learned the union-find algorithm (never touched it since grad school, 45 years ago), and am down to < 1 sec. https://github.com/cayho

4 months ago 0 0 0 0
Feature-Image-Day-8.png

Feature-Image-Day-8.png

My article "Nice and Naughty Cases of Pattern Matching" has been published in the JVM Advent Calendar: https://www.javaadvent.c

4 months ago 0 0 2 0

This year’s JVM Programming Advent Calendar is open for business at https://www.javaadvent.c Every day, a new post awaits. I enjoy this eclectic overview of what is new in the Java ecosystem.

4 months ago 1 1 0 0

There is always more to learn about Unicode. Today I found out about the aptly named WTF encodings: https://wtf-8.codeberg.page Java strings are actually WTF-16, not UTF-16. For example, the Java string "WTF\uD800" is not valid UTF-16.

4 months ago 0 0 0 0

Help--my LocalDate isn’t flattened! Just before my Valhalla talk at JFall, I found out that the early access build can flatten LocalDate arrays, but the latest version from Github cannot. Why? Serialization, of course. Read the gory details at https://horstmann.com/un

5 months ago 6 7 0 1

On Thursday November 13, I will speak in Berlin on "Virtual Threads—A Second Look". https://www.meetup.com/j

5 months ago 1 0 0 0
Advertisement

As I am updating my slides, another shoutout to https://imagetodrawio.com I upload a hand-drawn diagram and get something that I can clean up in draw.io Final result: https://horstmann.com/pr That is how AI should be. Human in the loop. Tweakable result without endless prompting.

5 months ago 1 0 0 1

I'll be speaking at JFall on project Valhalla on November 6. https://jfall.nl

5 months ago 1 0 0 0

Core Java 14th edition, updated for Java 25, is now available in print or ebook at https://www.informit.com and https://www.informit.com

6 months ago 6 2 0 0

The latest Maven exec plugin can execute "instance main methods": https://horstmann.com/un

6 months ago 0 0 0 0

I will give two talks at BED-Con 2025 (https://bed-con.org/202 on October 7 and 8 in Berlin.

6 months ago 0 0 0 0

After more than a year of trying off and on, I finally managed to fix my Emacs/LSP/Java setup. Now I can happily edit my Java scripts in Emacs instead of VS Code. Details at https://horstmann.com/un

6 months ago 3 0 0 0

My take on Java 25: https://horstmann.com/un

6 months ago 4 0 0 0