Sign in

Todd Ginsberg

@todd.ginsberg.com
866 followers 599 following 104 posts

#Java and #Kotlin developer. @trijug.dev organizer. Conference speaker. Gatherers4j maintainer, Philatelist. Big fan of doughnuts and F1. Raleigh, NC He/Him 🇺🇸🇨🇦

PostsRepliesMedia
Reposted by Todd Ginsberg
JEP Tracker @jeptracker.bsky.social · 19/08/2026
📦 JEP 523 delivered to JDK 27 Title: Make G1 the Default Garbage Collector in All Environments Type: feature Component: hotspot / gc Release: 27 See openjdk.org/jeps/523
022
Reposted by Todd Ginsberg
JEP Tracker @jeptracker.bsky.social · 14/07/2026
🎓 JEP 401 moved to candidate Title: Value Objects (Preview) Type: feature Component: spec See openjdk.org/jeps/401
0224
Todd Ginsberg @todd.ginsberg.com · 14/06/2026
I just released v2.0.3 of JUnit5-System-Exit, and extension that helps you test Java code that calls System.exit(). This version upgrades the ASM dependency, extending support through Java 26. github.com/tginsberg/ju...
github.com
Release Release v2.0.3 · tginsberg/junit5-system-exit
Changelog Upgrade ASM to 9.9 to extend support through Java 26
130
Reposted by Todd Ginsberg
Camille Fournier @skamille.themanagerswrath.com · 25/05/2026
And also, of course: "The civilization of love will not arise from a single or spectacular gesture, but from the sum total of small and steadfast acts of fidelity that serve as a bulwark against dehumanization."
1163
Reposted by Todd Ginsberg
JEP Tracker @jeptracker.bsky.social · 20/05/2026
🎯 JEP 534 updated to target JDK 27 Title: Compact Object Headers by Default Type: feature Component: hotspot / runtime Release: 27 See openjdk.org/jeps/534
095
Todd Ginsberg @todd.ginsberg.com · 17/05/2026
📣 I've just released version 0.14.0 of Gatherers4J, a library of intermediate stream operations for #Java! [1/2] github.com/tginsberg/ga...
github.com
Release Release v0.14.0 · tginsberg/gatherers4j
New Gatherers Implement movingGeometricMean(), movingGeometricMeanBy(), runningGeometricMean(), and runningGeometricMeanBy(). Implement filterNotNull(), which filters out null values from the inpu...
141
Reposted by Todd Ginsberg
WIRED @wired.com · 18/04/2026
Last April, a hacker hijacked crosswalk announcements to mimic Mark Zuckerberg and Elon Musk. Records obtained by WIRED reveal how unprepared local authorities were.
wrd.cm
The Dumbest Hack of the Year Exposed a Very Real Problem
Last April, a hacker hijacked crosswalk announcements to mimic Mark Zuckerberg and Elon Musk. Records obtained by WIRED reveal how unprepared local authorities were.
118255
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 06/04/2026
Tonight, @sandonjacobs.bsky.social is teaching us about Kafka and queues!
Sandon Jacobs presenting in front of a crowd
131
Reposted by Todd Ginsberg
Eize Basa @eizebasa.baby · 05/04/2026
“I will NOT sacrifice the Oxford comma. We've made too many compromises already; too many retreats. They assimilate the em dash and we fall back. They capture ‘not just X but y’ and we fall back. Not again. The line must be drawn here! This far, no further!”
I know the tweet is Al generated when they use " ," before and.
16475132091
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 22/03/2026
What Can You Do With a (Kafka) Queue? Come find out from @sandonjacobs.bsky.social on April 6! meetu.ps/e/PWs5T/gZBw...
meetu.ps
What Can You Do with a (Kafka) Queue?, Mon, Apr 6, 2026, 5:30 PM | Meetup
We have a JetBrains single product license that we will be raffling off after the presentation! To win, you must be present during the drawing at the end of the meetup. **
031
Todd Ginsberg @todd.ginsberg.com · 04/01/2026
🎉 New year, new version of Gatherers4j! Announcing v0.13.0 with several new gatherers: • uniquelyOccurringBy() which limits a stream to uniquely occurring elements • Median, Min, and Max with moving (look-back window) and running variants 🔗 Release notes: github.com/tginsberg/ga...
github.com
Release Release v0.13.0 · tginsberg/gatherers4j
New Gatherers Implement uniquelyOccurringBy() to limit the stream to uniquely occurring elements as measured by the given function Implement movingMedian() and movingMedianBy() Implement runningMe...
141
Todd Ginsberg @todd.ginsberg.com · 01/01/2026
It's the time of year when subtle #Java date formatting bugs tend to appear, often caused by using the wrong year format. I’ve written a post explaining what’s going on, how to fix it, and how to prevent it in the future. todd.ginsberg.com/post/java/be...
todd.ginsberg.com
Week Year: Java Date Formatting With YYYY Instead of yyyy • Todd Ginsberg
The end-of-year gotcha lurking in your codebase
062
Reposted by Todd Ginsberg
Devnexus @devnexus.bsky.social · 01/01/2026
Happy New Year from Devnexus! 🎊 Thank you to every developer, speaker, sponsor, and volunteer who makes this community so special. We’re excited for another year of growing skills, sharing ideas, and building together 🚀 See you in March! 🎟️- devnexus.com
022
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 15/12/2025
Finally got around to building a small new homepage! trijug.dev
trijug.dev
TriJUG — Triangle Java Users Group
TriJUG (Triangle Java Users Group) helps the community learn Java through monthly meetups, talks, and networking in the Triangle area.
021
Todd Ginsberg @todd.ginsberg.com · 02/12/2025
It's December 1st and you know what that means... #AdventOfCode is back! And as usual, I'll attempt to solve each puzzle in #Kotlin and blog about my solution. todd.ginsberg.com/post/advent-...
todd.ginsberg.com
Advent of Code 2025 - Day 1, in Kotlin - Secret Entrance • Todd Ginsberg
Kotlin solutions to parts 1 and 2 of Advent of Code 2025, Day 1: 'Secret Entrance'
140
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 17/11/2025
Tonight, James Fredley is teaching us all about Apache Grails 7 and Groovy!
James Fredley presenting
021
Reposted by Todd Ginsberg
Chris Cantwell @ifyoucantwell.bsky.social · 12/11/2025
Bullshit:
A woman surrounded by nine spatulas with the MIRACLE OFFER of buying the tenth one for just one penny
2284
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 14/10/2025
Tonights the night! @venkats.bsky.social is here! We’re learning about Records, Sealed Classes, and Pattern Matching!
Venkat talking
1103
Reposted by Todd Ginsberg
Boston Java Users ACM Chapter @bostonjavausers.bsky.social · 02/10/2025
We're looking for a new venue to host our meetings at in 2026. Got a lead? Please reach out to bjuacm-board@googlegroups.com
044
Reposted by Todd Ginsberg
JUnit Team @junit.org · 30/09/2025
#JUnit 6.0.0 is released! ✨ Java 17 and Kotlin 2.2 baseline 🌄 JSpecify nullability annotations 🛫 Integrated JFR support 🚟 Kotlin suspend function support 🛑 Support for cancelling test execution ⏭️ New `--fail-fast` mode for ConsoleLauncher 🧹 Removal of deprecated APIs docs.junit.org/6.0.0/releas...
docs.junit.org
JUnit Release Notes
211674
Todd Ginsberg @todd.ginsberg.com · 27/09/2025
📢 Gatherers4j v0.12.0 is out! - Now built with #Java 25 - Support for modules - Parallelization now supported in UniquelyOccurringGatherer - Several internal organizational and testing changes github.com/tginsberg/ga...
github.com
Release Release v0.12.0 · tginsberg/gatherers4j
Changes Move Java version to 25 (was 24) Addresses #164 Support Java Modularization. Addresses #156, thanks @Goldmensch! Support parallelization in UniquelyOccurringGatherer Using in Maven <depen...
0134
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 23/09/2025
We are VERY excited to have @venkats.bsky.social join us on October 14, where he'll teach us about some fun modern #java features - Pattern Matching, Records, and Sealed Classes. Come join us! www.meetup.com/triangle-jav...
meetup.com
The Three Amigos: Intermixing Pattern Matching, Records, and Sealed Classes, Tue, Oct 14, 2025, 5:30 PM | Meetup
We have a JetBrains single product license that we will be raffling off after the presentation! To win, you must be present during the drawing at the end of the meetup. **
044
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 16/09/2025
Java 25 comes out today! Here's a great rundown of all the new features in Java and the JVM since Java 24 came out six months ago. foojay.io/today/heres-...
foojay.io
Here's Java 25, Ready to Perform to the Limit
Here's Java 25, ready to perform to the limit. It introduces stable values, and intensifies its focus on performance as more JEPs emerge from Project Leyden. On top of that, the Java Flight Recorder i...
031
Reposted by Todd Ginsberg
KotlinConf @kotlinconf.com · 15/09/2025
📣 The KotlinConf'26 Call for Speakers is OPEN! Share your Kotlin expertise with the world – server-side, web, desktop, mobile, AI/ML, and more! Submit your proposal and get a chance to speak at the year's biggest Kotlin event! 👉 kotl.in/conf26-submittalk 👈
0105
Reposted by Todd Ginsberg
Devnexus @devnexus.bsky.social · 12/09/2025
📢 The Devnexus 2026 CFP is still OPEN—but only until Monday, September 15! Now’s your chance to share your knowledge, ideas and innovations with developers worldwide at one of the largest Java conferences in the world! 🌍 Apply here ⤵️ devnexus.com/posts/the-cf...
032
Todd Ginsberg @todd.ginsberg.com · 31/08/2025
This talk by @briangoetz.bsky.social about Growing the Java Language is one of the best I've seen lately. If you've ever wondered "Why can't they just..." about Java, you should watch this. I hope this talk changes the way I approach growing my own APIs. www.youtube.com/watch?v=Gz7O...
youtube.com
Growing the Java Language #JVMLS
YouTube video by Java
070
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 31/08/2025
Come join us on September 22 for the newly rescheduled "Stream Gatherers: The Missing Link in Java Streams" talk! www.meetup.com/triangle-jav...
meetup.com
[RESCHEDULED!] Stream Gatherers: The Missing Link in Java Streams, Mon, Sep 22, 2025, 5:30 PM | Meetup
We have a JetBrains single product license that we will be raffling off after the presentation! To win, you must be present during the drawing at the end of the meetup. **
011
Todd Ginsberg @todd.ginsberg.com · 28/08/2025
As a JUG leader, I sure hope in-person events aren't dying off, but it sure seems like it's getting harder and harder to keep this all going. www.brentozar.com/archive/2025...
brentozar.com
Why Aren't People Going to Local and Regional In-Person Events Anymore? - Brent Ozar Unlimited®
Steve Jones recently posted an update about SQL Saturday’s status, and it includes some news we need to talk about: However, this year the number may stagnate or even decline slightly. Running events ...
065
Reposted by Todd Ginsberg
amy brown @amybrown.xyz · 22/08/2025
this iconic advertising copywriter named Kathy Hepinstall Parks died over the weekend and I wanted to share something from her website I thought Bluesky would like
Why should I write better when a machine can do it for me?
Because actually no one can do it for you, because your voice is unique among all the people on earth. Siri never petted a horse's neck. Alexa has never been ghosted by the captain of the football team. But you have lived, your heart is beating, you have suffered, and you have something important to say. It's a human's job, to use words, and whatever job you give to a machine, that part of your brain goes dark. Maybe it's worth it when it comes to remembering phone numbers and directions, but when that part of your brain that uses words goes dark, that's a vast area that's very close to your soul. Don't let some internet platform convince you that what you have to say and create isn't worthwhile. Words are the echo of your soul. Honing that echo matters.
36191718726
Todd Ginsberg @todd.ginsberg.com · 23/08/2025
www.quantamagazine.org/busy-beaver-...
quantamagazine.org
Busy Beaver Hunters Reach Numbers That Overwhelm Ordinary Math | Quanta Magazine
The quest to find the longest-running simple computer program has identified a new champion. It’s physically impossible to write out the numbers involved using standard mathematical notation.
000
Todd Ginsberg @todd.ginsberg.com · 15/08/2025
Last (but not least) talk at #KCDC2025: @richard.fichtner.dev teaches us about Java Modernization
051
Todd Ginsberg @todd.ginsberg.com · 15/08/2025
Last morning talk at #KCDC2025: @jeanneboyarsky.bsky.social is teaching us about testing beyond JUnit. Here, she’s covering @assertj.github.io
183
Todd Ginsberg @todd.ginsberg.com · 15/08/2025
This morning at #KCDC2025, the great @venkats.bsky.social teaches us about all of the excellent new features in modern Java!
030
Todd Ginsberg @todd.ginsberg.com · 14/08/2025
Up next at #KCDC2025: @mkheck.bsky.social with his talk “AI 202: Next-level AI Mastery for Java Developers”. Currently describing how testing AI responses is difficult to do in a way that brings confidence.
151
Todd Ginsberg @todd.ginsberg.com · 14/08/2025
Thank you for the live blog Jeanne! 😁
010
Todd Ginsberg @todd.ginsberg.com · 14/08/2025
First talk of the day at #KCDC2025: @evanchooly.bsky.social is teaching us about Java bytecode! Very interesting and I learned a lot!
191
Todd Ginsberg @todd.ginsberg.com · 14/08/2025
It’s time for #KCDC2025! I’ve already met a bunch of cool people. I have two talks today and am very excited!
030
Todd Ginsberg @todd.ginsberg.com · 04/08/2025
Next week I'll be speaking on two topics at @kcdc.bsky.social 2025! #Java Loom with a focus on Structured Concurrency, and Java Stream Gatherers.
Title card for "Stream Gatherers: The Missing Link in Java Collections", Thursday, August 14, 2025 at 2:30pm, at KCDC 2025.Title card for "Loom is more than virtual threads: Structured Concurrency and Scoped Values", Thursday, August 14, 2025 at 10:00am at KCDC 2025.
131
Todd Ginsberg @todd.ginsberg.com · 21/06/2025
www.tomshardware.com/pc-component...
tomshardware.com
Legendary Sound Blaster ISA sound card gets a driver update 30 years later — patch squashes first bug report after 25 years
Pesky DMA issues have been causing unexpected noise and freezes.
020
Todd Ginsberg @todd.ginsberg.com · 07/06/2025
appleinsider.com/articles/25/...
appleinsider.com
Bill Atkinson, pioneering early Apple engineer, dies at 74
The engineer behind much of the Mac's early graphical user interfaces, QuickDraw, MacPaint, Hypercard and much more, William D. "Bill" Atkinson, died on June 5 of complications from pancreatic cancer.
000
Todd Ginsberg @todd.ginsberg.com · 31/05/2025
www.moderndescartes.com/essays/llm_s...
moderndescartes.com
LLM Shibboleths determine AI effectiveness
010
Todd Ginsberg @todd.ginsberg.com · 23/05/2025
Having been born here, and lived here my whole life, this is the most American thing I have ever seen and it is glorious. www.youtube.com/watch?v=mMab...
youtube.com
Oscar Mayer Wienie 500 🌭 | INDYCAR on FOX
YouTube video by INDYCAR On FOX
000
Reposted by Todd Ginsberg
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 23/05/2025
OTD…May 23, 1995 Happy Birthday, #Java! Here’s to 30+ more years with a beautiful combination of technology innovation and community participation!
27338
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 16/05/2025
We're having a meetup on Monday, June 2, 2025: Neurodivergent Minds in Software: Friction and Flow at Work. Come join us! www.meetup.com/triangle-jav...
meetup.com
Neurodivergent Minds in Software: Friction and Flow at Work, Mon, Jun 2, 2025, 5:30 PM | Meetup
We have a JetBrains single product license that we will be raffling off after the presentation! To win, you must be present during the drawing at the end of the meetup. **
011
Todd Ginsberg @todd.ginsberg.com · 15/05/2025
!!!
010
Todd Ginsberg @todd.ginsberg.com · 12/05/2025
Wow! Check out Gatherers4j with Groovy! 😁
041
Reposted by Todd Ginsberg
TriJUG @trijug.dev · 12/05/2025
Tonight at TriJUG: Mike Nichols from @temporal.io teaches us about durable execution! Thank you for hosting us, Deutsche Bank!
Mike Nichols in front of a presentation screen
021
Reposted by Todd Ginsberg
Josh Gondelman @joshgondelman.bsky.social · 08/05/2025
I can't believe we have a Pope from Illinois. People from Chicago usually hate the Cardinals.
347115621450
Reposted by Todd Ginsberg
ArchUnit @archunit.bsky.social · 07/05/2025
We've released ArchUnit 1.4.1 🎉 It now supports Java 25! Check it out at github.com/TNG/ArchUnit... As always, feedback welcome 🙂
github.com
Release ArchUnit 1.4.1 · TNG/ArchUnit
Enhancements Core Support Java 25 / class file major version 69 (#1440) Library Support priorities in SlicesRuleDefinition (#1436; thanks to @guesshe 👏) Ignore synthetic bridge methods in ProxyR...
053