Sign in

Donald Raab

@thedonraab.bsky.social
993 followers 414 following 838 posts

Java Champion. Writer of blogs. Creator of the OSS Java library Eclipse Collections. Author of Eclipse Collections Categorically (a.co/d/6KmhrNK) . Opinions are my own. Blog: donraab.medium.com

PostsRepliesMedia
Donald Raab @thedonraab.bsky.social · 7h
This is a real positive story and one I am happy to read. Thank you.
020
Donald Raab @thedonraab.bsky.social · 8h
Which is to say, LLMs are very useful for some things, and terribly destructive and for many others. Unfortunately there is no on switch for the good, and off switch for the bad.
100
Donald Raab @thedonraab.bsky.social · 8h
The pandemic improved my health, but my life isn't better because of the pandemic. It's because I had to WFH and had 2-3 hours of my life back from commuting. I'm back in office 5 days and commuting 10-15 hours/week. Wasting my time over PRs in OSS. I won't blame or credit LLMs. It's the people.
210
Donald Raab @thedonraab.bsky.social · 11h
Are LLMs making you happier now then you were before?
220
Reposted by Donald Raab
Donald Raab @thedonraab.bsky.social · 09/10/2026
It's been a year since I read my book, "Eclipse Collections Categorically" from start to finish. I started reading it again yesterday for fun. I assessed cost to read 200+ code examples included in the book. Image 👇 from Chapter 1. "Code is a liability." 🤔💡 #Java #EclipseCollections #Smalltalk
Counting the cost to read our code
           
Code is a liability. We reduce the cost of our code by having less code to read.

Developers should be mindful of the time future developers will spend reading their code. Be kind and spend adequate time refactoring unclear code, duplicate code, and removing unnecessary boilerplate.

To help developers become mindful of cost, each code example in this book is annotated with a cost. We’ll count costs using the following table, which shows the scoring system used to determine the number of steps for each solution.”

Excerpt From
Eclipse Collections Categorically: Level up your programming game
Donald Raab
032
Donald Raab @thedonraab.bsky.social · 09/10/2026
It's been a year since I read my book, "Eclipse Collections Categorically" from start to finish. I started reading it again yesterday for fun. I assessed cost to read 200+ code examples included in the book. Image 👇 from Chapter 1. "Code is a liability." 🤔💡 #Java #EclipseCollections #Smalltalk
Counting the cost to read our code
           
Code is a liability. We reduce the cost of our code by having less code to read.

Developers should be mindful of the time future developers will spend reading their code. Be kind and spend adequate time refactoring unclear code, duplicate code, and removing unnecessary boilerplate.

To help developers become mindful of cost, each code example in this book is annotated with a cost. We’ll count costs using the following table, which shows the scoring system used to determine the number of steps for each solution.”

Excerpt From
Eclipse Collections Categorically: Level up your programming game
Donald Raab
032
Donald Raab @thedonraab.bsky.social · 07/10/2026
"Super Idiocracy"
010
Reposted by Donald Raab
JCON Conference @jcon.one · 07/10/2026
One massive #tech conference. One place for the #Java #community At #JCONUSA26 Chandra Guntur will talk about 'Who moved my (Java) Heap? #AI #CLIs and Libraries to the rescue!' as a Breakout Session! Over the decades, #Java quired tools and … Join the #IBMTechXchange in Atlanta: 2026.usa.jcon.one
011
Donald Raab @thedonraab.bsky.social · 07/10/2026
Have you told your AI tools to make memory efficiency in #Java a top priority? What did AI do differently in response? Do you now own your own AI generated Java Collections and Stream libraries as a result? Did AI use another collection library instead? 🤔 donraab.medium.com/save-memory-...
donraab.medium.com
Save Memory in Java by Making Memory Efficiency Your Top Priority
Leverage Java libraries and frameworks which focus on memory efficiency.
031
Reposted by Donald Raab
Molly White @molly.wiki · 06/10/2026
“You are infringing on the time and brainpower of people by pushing "your" content that little/no of your brainpower went into” is such a banger
5861155
Reposted by Donald Raab
Donald Raab @thedonraab.bsky.social · 06/10/2026
Open source projects appreciate contributions from humans. It shows you care enough about the project to take the time to learn and try. AI generated contributions may be accepted, but often result in wasted time for the maintainers. We don't need prompt help. We appreciate real help. #thinkb4do 🙏
031
Donald Raab @thedonraab.bsky.social · 06/10/2026
Open source projects appreciate contributions from humans. It shows you care enough about the project to take the time to learn and try. AI generated contributions may be accepted, but often result in wasted time for the maintainers. We don't need prompt help. We appreciate real help. #thinkb4do 🙏
031
Donald Raab @thedonraab.bsky.social · 04/10/2026
A better version of method categories realized in #Java for #Java. Thanks @anthony.accioly.social ! 🙏 donraab.medium.com/buttoning-up...
donraab.medium.com
Buttoning Up Method Categories in Eclipse Collections with Annotations
From Custom Code Folding Regions in IntelliJ to Java Annotations
021
Donald Raab @thedonraab.bsky.social · 03/10/2026
Looks like closed-sauce. 🤷‍♂️
020
Donald Raab @thedonraab.bsky.social · 03/10/2026
You'll know I have given up on humans reading and writing code when I stop sharing this blog. 😂 donraab.medium.com/connect-the-...
donraab.medium.com
Connect the Braces
A game to help visualize effects of brace placement style in Java
020
Donald Raab @thedonraab.bsky.social · 03/10/2026
#TheCoffeeClub
000
Donald Raab @thedonraab.bsky.social · 02/10/2026
Your cleverly placed pixels, paragraphs and code were trained by humans. Thank artists, designers, writers, OSS devs for their work. If you can afford $100-300 a month for tokens, maybe buy them a coffee. Don't send them slop and expect appreciation. 👍🙏 donraab.medium.com/computer-aid...
donraab.medium.com
Computer Aided in the Eighties
What I lack in artistic talent, I also lack in desire for a free ride.
020
Reposted by Donald Raab
Donald Raab @thedonraab.bsky.social · 20/09/2026
When was the last time you checked your basement to see if there was any flooding? 🛶 When was the last time you checked your Java heap to see if there were any allocation waves of lambdas? 🌊 donraab.medium.com/fat-free-lam...
donraab.medium.com
“Fat-Free” Lambdas in Java
From static anonymous inner classes to lambdas and method references.
012
Donald Raab @thedonraab.bsky.social · 30/09/2026
static.klipy.com
Shut Up And Take My Money - Fry Meme
ALT: Shut Up And Take My Money - Fry Meme
000
Donald Raab @thedonraab.bsky.social · 26/09/2026
"Eclipse Collections Categorically" is a thinking book. What if you could tell your data structures to do work for you? What categories of things would you ask for? 🤷‍♂️👇 *Note*: $0 to buy Amazon Kindle version for few more hours. Search title on website, not mobile. donraab.medium.com/my-ten-year-...
033
Donald Raab @thedonraab.bsky.social · 26/09/2026
Thank you! I hope others who have bought hard copies previously are able to take advantage of the free Kindle offer! 🙏
000
Donald Raab @thedonraab.bsky.social · 26/09/2026
Last day! 👀📙🆓👇 #EclipseCollections #Java #Smalltalk #MethodCategories
133
Donald Raab @thedonraab.bsky.social · 26/09/2026
New Blog link: #Java #EclipseCollections #Smalltalk #Annotations #MethodCategories donraab.medium.com/buttoning-up...
donraab.medium.com
Buttoning Up Method Categories in Eclipse Collections with Annotations
From Custom Code Folding Regions in IntelliJ to Java Annotations
000
Donald Raab @thedonraab.bsky.social · 26/09/2026
My latest blog 👇 In the blog, learn how @anthony.accioly.social has transmuted the spirit of my book, "Eclipse Collections Categorically" into the source code of #EclipseCollections using #Java annotations. Enjoy! 🙏 donraab.medium.com/buttoning-up...
donraab.medium.com
Buttoning Up Method Categories in Eclipse Collections with Annotations
From Custom Code Folding Regions in IntelliJ to Java Annotations
011
Donald Raab @thedonraab.bsky.social · 26/09/2026
Refactored out some duplication from the original code.
000
Donald Raab @thedonraab.bsky.social · 26/09/2026
Waiting patiently for the day Javadoc can do this automagically based on the method annotations in the class so @anthony.accioly.social or others won't have to use an LLM to do it, or worse, do it by hand like I did for RichIterable.
210
Donald Raab @thedonraab.bsky.social · 26/09/2026
Counting and grouping methods of a class by annotations is an interesting new capability in #EclipseCollections. If I only had this capability before I wrote a book about why and how to categorize methods in a #Java class. 😂 Thanks for the contributions @anthony.accioly.social ! 🙏
110
Donald Raab @thedonraab.bsky.social · 25/09/2026
99% of developers will never learn how to program in #Smalltalk. This book brings a 50+ year old lost and unappreciated idea to #Java. Other languages could borrow the idea, but they'd have to learn it first. If they regularly scan the #Java tag here, maybe they can find this idea for free. 🤷‍♂️
000
Donald Raab @thedonraab.bsky.social · 25/09/2026
The Amazon Kindle version of "Eclipse Collections Categorically" is available for $0 to buy from September 24 - 26, 2026. Use the Amazon website and search your local market for the title and download a free copy. Enjoy #EclipseCollections, Categorically! 🙏 donraab.medium.com/the-authors-...
donraab.medium.com
The Author’s Inside Guide to Reading Eclipse Collections Categorically
TL;DR — Read Chapters 1, 2, 3. Jump to 11. Skim 4–10. Dive in as desired.
021
Donald Raab @thedonraab.bsky.social · 24/09/2026
Today! 👀📙🆓
013
Donald Raab @thedonraab.bsky.social · 23/09/2026
Tomorrow! 👀📙🆓
010
Reposted by Donald Raab
Donald Raab @thedonraab.bsky.social · 19/09/2026
Mark September 24 - 26, 2026 in your calendar to download free Kindle version of the book, "Eclipse Collections Categorically: Level up your programming game" from Amazon. Free yourself from fossilized lava flows in #Java. Free offer details/link in blog in comment below. 👇
242
Donald Raab @thedonraab.bsky.social · 21/09/2026
"Slow down to speed up."
000
Donald Raab @thedonraab.bsky.social · 21/09/2026
I categorized methods in a 22 year old static utility class applying annotations to each method by hand. I might have done it faster with LLM. Typing out the code gave me time to read and think about each method, and how I would use pattern matching for instanceof or other features to refactor them.
120
Donald Raab @thedonraab.bsky.social · 20/09/2026
You can also read the Foreword, Preface, and Chapter 1 for free via the online reading sample. Enjoy! 🙏 read.amazon.com/sample/B0FFM...
read.amazon.com
Read a sample: “Eclipse Collections Categorically: Level up your programming game”
Donald Raab
000
Donald Raab @thedonraab.bsky.social · 20/09/2026
When was the last time you checked your basement to see if there was any flooding? 🛶 When was the last time you checked your Java heap to see if there were any allocation waves of lambdas? 🌊 donraab.medium.com/fat-free-lam...
donraab.medium.com
“Fat-Free” Lambdas in Java
From static anonymous inner classes to lambdas and method references.
012
Donald Raab @thedonraab.bsky.social · 20/09/2026
I taught myself Turbo Prolog in the mid-1980s. Please talk to me very slowly about the exciting possibilities of GenAI as if I've been waiting for AI to render software development and our species extinct for the past 40 years. Thank you for your patience in this matter. 👇 airhacks.fm#episode_409
airhacks.fm
airhacks.fm podcast
podcast with adam bien
012
Reposted by Donald Raab
Spencer Gibb @spencer.gibb.us · 18/09/2026
I'm presenting "Of Microservices and Monoliths" at JCON during #IBMTechXchange
072
Donald Raab @thedonraab.bsky.social · 19/09/2026
Blog Link: donraab.medium.com/my-ten-year-...
donraab.medium.com
My Ten Year Quest to Evolve Java Collections Beyond Java Stream
Java Stream was hot magma in Java 8, but its lava flow is hardening.
010
Donald Raab @thedonraab.bsky.social · 19/09/2026
Mark September 24 - 26, 2026 in your calendar to download free Kindle version of the book, "Eclipse Collections Categorically: Level up your programming game" from Amazon. Free yourself from fossilized lava flows in #Java. Free offer details/link in blog in comment below. 👇
242
Reposted by Donald Raab
Donald Raab @thedonraab.bsky.social · 18/09/2026
I upgraded #EclipseCollections builds immediately to JDK 28 EA the same day JDK 27 was released because every version of #Java needs Eclipse Collections running with it. Next week is climate week. Are you using Eclipse Collections yet? More features, less waste. 👇 donraab.medium.com/save-memory-...
donraab.medium.com
Save Memory in Java by Making Memory Efficiency Your Top Priority
Leverage Java libraries and frameworks which focus on memory efficiency.
053
Donald Raab @thedonraab.bsky.social · 18/09/2026
I upgraded #EclipseCollections builds immediately to JDK 28 EA the same day JDK 27 was released because every version of #Java needs Eclipse Collections running with it. Next week is climate week. Are you using Eclipse Collections yet? More features, less waste. 👇 donraab.medium.com/save-memory-...
donraab.medium.com
Save Memory in Java by Making Memory Efficiency Your Top Priority
Leverage Java libraries and frameworks which focus on memory efficiency.
053
Donald Raab @thedonraab.bsky.social · 16/09/2026
My latest blog: Exploring the Asymmetric Apathy in Java Collection and Java Stream donraab.medium.com/exploring-th...
donraab.medium.com
Exploring the Asymmetric Apathy in Java Collection and Java Stream
That which can be done lazily, can also be done more simply eagerly.
011
Donald Raab @thedonraab.bsky.social · 16/09/2026
Congrats on release of #Java 27! #EclipseCollections discovered one compiler regression that was reported via OpenJDK Quality Outreach and fixed. I'm upgrading EC Early Access Builds to Java 28 right now and made Java 27 part of the matrix builds.
030
Donald Raab @thedonraab.bsky.social · 13/09/2026
What would I go back in time twenty years and tell myself in 2006? Idiocracy is a documentary. Takes notes and prepare accordingly.
130
Donald Raab @thedonraab.bsky.social · 13/09/2026
If saving time typing by using an LLM is the biggest problem you've faced in your life and career, then this blog may be for you. "Software development is not a typing test." 🤔 donraab.medium.com/time-e948afd...
donraab.medium.com
Time
Slow down, think, and create models.
010
Donald Raab @thedonraab.bsky.social · 13/09/2026
I've said three things for over two decades in the DDR. "Slow down to speed up." "Thinking saves time." "Modeling saves time." All three were quotes from the book "Beyond Chaos" I am thankful to retain my agency by slowing down, thinking and modeling in my personal time by not using LLMs at home.
120
Donald Raab @thedonraab.bsky.social · 12/09/2026
If we were building a primitive collections framework today, we might be tempted to one shot a solution in code with an LLM. All I can think of is the nightmare we avoided by doing the manual template code generation effort 15 years ago. 10x benefit over 15 years of changes. We move slowly and test.
110
Donald Raab @thedonraab.bsky.social · 12/09/2026
I've been using deterministic template and model based code generation for over three decades. Eclipse Collections uses StringTemplate for this at build time. We have maintainable primitive collections with it. We commit the templates, not the generated code. Own your productivity with better ideas.
110
Donald Raab @thedonraab.bsky.social · 12/09/2026
I've spent $0 of my own money, and except for google searches where I can't avoid it, have used zero AI on personal projects. Somehow, I continue helping improve the Java ecosystem and community. You're welcome for my personal time and focused ideas that didn't cost you any tokens. OSS FTW. 🙏
190