Sign in

Charles Oliver Nutter

@headius.bsky.social
1.8K followers 75 following 689 posts

JRuby co-lead, Java champion, Ruby hero, JavaOne Rockstar, international traveler and speaker. Book me for your next event! I depend on your donations and sponsorships! github.com/sponsors/headius

PostsRepliesMedia
Charles Oliver Nutter @headius.bsky.social · 03/10/2026
I don't read code to make the code better. I read code to make myself better. I understand the system better by reading the code, which makes me better at creating new code.
1100
Charles Oliver Nutter @headius.bsky.social · 02/10/2026
I'm looking forward to "stop writing code" and "stop reading code" to evolve into "stop running code" and we just revert back to an agrarian society.
191
Charles Oliver Nutter @headius.bsky.social · 02/10/2026
Things I want from GitHub: * Align Milestones, Releases, and Tags in a logical way. Multiple Milestones per issue/PR. * A button to enter review mode on front page of PR. * A list of "Changes Requested" (current indicator is useless). * Re-run single job directly from the front PR page.
130
Charles Oliver Nutter @headius.bsky.social · 01/10/2026
Yeah it is a long hard slog to get even basic understanding. I don't think it's a particularly well designed course. I just powered through as much as I could but I've likely forgotten all of it by now.
100
Charles Oliver Nutter @headius.bsky.social · 01/10/2026
I've also seen AI make incorrect assertions about complex relationships between different pieces of code based solely on the code itself. For example, giving completely bogus descriptions of a graph of objects in memory or a sequence of events in thread sensitive code.
100
Charles Oliver Nutter @headius.bsky.social · 30/09/2026
That's a great way to describe it! Whenever I have problem with AI-generated code, it's because I did not (or could not!) communicate those intangible details and they arent easily verifiable. "I can't describe unsafe code, but I know it when I see it."
200
Charles Oliver Nutter @headius.bsky.social · 30/09/2026
There's a big difference between "implement this app/feature" and low-level optimizations, refactorings, or memory/thread-safety improvements. The former is "easy" for AI, but the latter is less narrowly-scoped and more sensitive to complexity. In my experience, that requires a lot of intervention.
410
Charles Oliver Nutter @headius.bsky.social · 29/09/2026
If you know of some good SolidQueue torture tests, I'd love to take a look at them in any case.
100
Charles Oliver Nutter @headius.bsky.social · 29/09/2026
Well, it's not like we're starting from scratch here. This is after a few small patches to update support for 8.1 API changes.
120
Charles Oliver Nutter @headius.bsky.social · 29/09/2026
I've pushed a Rails 8.1-compatible activerecord-jdbc-adapter 81.0.pre1 for JRuby + SQLite and it can at least CRUD a scaffold app! I've provided a template here for generating a new app: (rails new -m <template>) buff.ly/uUPEfJn
buff.ly
https://raw.githubusercontent.com/jruby/rails_templates/refs/heads/main/rails-8.1.rb
152
Reposted by Charles Oliver Nutter
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
Charles Oliver Nutter @headius.bsky.social · 25/09/2026
Top three questions I got at #railsworld: Q: Does Rails work on JRuby? A: Yes, for 20 years now. Q: Didn't JRuby already solve this? A: Yes. Q: Why aren't you speaking here? A: I tried. Ask the organizers.
070
Charles Oliver Nutter @headius.bsky.social · 24/09/2026
I'll be hanging out at #railsworld in the hack space near the entry. Come on over to chat about JRuby, or claim a shirt if you're a current user or supporter!
021
Charles Oliver Nutter @headius.bsky.social · 24/09/2026
Not even that. I'm talking things like Concurrent::Map used explicitly for global caches or configuration. Even if it would be perfectly safe across threads, Ractors still cannot touch them.
010
Charles Oliver Nutter @headius.bsky.social · 24/09/2026
Very interesting day of discussions at #railsworld! Introduced a few folks to JRuby, talked with some current users I did not know, even found one shop that only does JRuby. A bit sad to see folks struggling with problems JRuby solves. Hard to get the word out!
081
Charles Oliver Nutter @headius.bsky.social · 23/09/2026
Calling all JRubyists at #railsworld! I HAVE T-SHIRTS! If you are using JRuby or officially support it in your app or library, come find me Thursday! I have L, XL, and one 3XL left.
JRuby "bird" T-shirt
000
Reposted by Charles Oliver Nutter
Janko Marohnić @janko.io · 23/09/2026
Yeah, I don't get why not just let this be CRuby's weakness. If you can't get rid of the GVL – which is understandable as even in Python it's still opt-in – then accept that and promote alternative solutions. I don't see how this level of restriction is ever going to work in practice 🤷‍♂️
111
Charles Oliver Nutter @headius.bsky.social · 23/09/2026
The hoops you have to jump through to make Ractors work just doesn't seem scalable for a language that is so dynamic and mutable. They even have to cripple concurrency-safe collections because if it's mutable at all it is rejected by Ractor.
100
Charles Oliver Nutter @headius.bsky.social · 23/09/2026
Hello #railsworld! I'm here at the event running office hours and teaching people how to run Rails on JRuby. Find me in the vendor pavilion and grab a sticker!
me at rails world
041
Charles Oliver Nutter @headius.bsky.social · 23/09/2026
It's incredible the amount of hacking required to get Rails to run in parallel with Ractors (and it still isn't there yet) when JRuby has been running Rails in parallel for decades. #railsworld
140
Charles Oliver Nutter @headius.bsky.social · 22/09/2026
Wow how did I miss this! Definitely interested in all of it!
010
Reposted by Charles Oliver Nutter
The JRuby Project @jrubyproject.bsky.social · 21/09/2026
Hello JRubyists! Anyone planning to be at tiny ruby #{conf} 2026 presented by @helsinkiruby.fi next week? We'd love to help you spread the word about JRuby to the Helsinki Ruby community! Get in touch if we can help you in any way!
011
Charles Oliver Nutter @headius.bsky.social · 21/09/2026
This is a great point. I have become convinced that local and domain-specific models (fully open) are far better approaches (both utility and safety-wise) than these gigantic closed, commercial, "eat the world" frontier models everyone is getting hooked on.
010
Charles Oliver Nutter @headius.bsky.social · 20/09/2026
We had a quick walking tour that brought us to the castle but I didn't have much time to poke around. We did learn about the revolutionaries and the Swedes, though!
010
Charles Oliver Nutter @headius.bsky.social · 20/09/2026
It occurs to me now: with the JVM now supporting native function calls and memory via the FFM API, could we not potentially treat it as a C compiler backend?
010
Charles Oliver Nutter @headius.bsky.social · 20/09/2026
Would you buy JRuby swag to help fund the project? We recently did a run of JRuby "bird" t-shirts that have been very popular, but that stuff is expensive to give away for a little startup like ours.
012
Charles Oliver Nutter @headius.bsky.social · 19/09/2026
Brno is a lovely little city. Don't know why I didn't see it when I visited in 2012.
130
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
It's amazing how quickly the toxic AI bros come out on X if you say one bad word about AI. Are they even real people?
040
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
Oh for sure. We started to get some real trash PRs before I updated our policy requiring users to fully understand and explain in their own words what their agent-driven patches actually do. That policy seems to have helped a whole bunch.
010
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
I think I'm going to enable the JVM vector API (SSE etc, we already ship some optimizations that use it) by default for JRuby. Convince me not to.
030
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
After all these years, I just got burned (almost) by having a CI job not actually fail when one of the steps failed. It involved a subprocess launch with no error check, so even if it bombed out the job stayed green. 😩 A friendly reminder to make sure your CI jobs actually *can* fail.
020
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
Slides from my Euruko 2026 talk "JRuby: Past, Present, and Future" are now uploaded. I believe the talks were also recorded, so hopefully video will follow soon. Great event, I hope to return for 2027 in Modena, Italy! buff.ly/paSd5t9
buff.ly
JRuby: Past, Present, and Future
JRuby on Rails is 20 years old! This talk reviews the last 20 years of JRuby development, with a focus on the challenges of supporting Ruby and Rails ye…
030
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
AI is now the largest single point of failure in the history of software development. I know tons of developers that can't even work without an agent now. It's shocking how quickly the industry has become totally dependent on a few companies' services.
170
Charles Oliver Nutter @headius.bsky.social · 18/09/2026
I'm finding more and more that agent-driven developers *really* appreciate having a human validate what they submit. nobody wants to be the asshole in an OSS project and being honest and communicative goes a long way toward making a good patch.
100
Charles Oliver Nutter @headius.bsky.social · 17/09/2026
Like clockwork, I go to a Ruby event and meet JRuby users I never knew about! Just today, three people who used JRuby at previous jobs and two more that currently have apps in production. Gotta figure out how to reach these folks without speaking at every Ruby conference! 🤣
051
Charles Oliver Nutter @headius.bsky.social · 17/09/2026
Interested in Ruby::Box? Use JRuby and you already have it! These are fully-isolated, fully-parallel JRuby VMs running in the same process. Here's a simple example from my Euruko 2026 talk. Let's work together to make Box work on ALL Rubies!
030
Charles Oliver Nutter @headius.bsky.social · 15/09/2026
Feels nice to be back in Czechia! I'm currently transiting from Prague to Brno for Euruko 2026. I think the last time I visited was almost 14 years ago, shortly after first joining Red Hat. I have a free day before and after the conference so I'm hoping to do a bit of touring.
150
Charles Oliver Nutter @headius.bsky.social · 14/09/2026
My own experiments using AI for JRuby work have been mixed, but I can report a great success: contributions from people that never would have attempted such things before, like Ruby core devs and Rubyists with no JVM experience. So many PRs lately! github.com/jruby/jruby
github.com
GitHub · Change is constant. GitHub keeps you ahead.
Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
041
Reposted by Charles Oliver Nutter
Euruko @euruko.org · 13/09/2026
Last call: EuRuKo 2026 tickets close tomorrow at midnight CEST. @matz.bsky.social opening, @ko1s.bsky.social closing, @headius.bsky.social on JRuby. Brno, Sept 17–18. After tomorrow there's no late registration. 2026.euruko.org
062
Charles Oliver Nutter @headius.bsky.social · 02/09/2026
I recently had a nice chat on the Technology for Humans podcast about the past, present and future of JRuby... including some myth debunking that might help Ruby folks look past the "J" to the amazing tech underneath. Check out the video here: www.youtube.com/watch?v=Q9Sq...
youtube.com
The Ruby Runtime Built for Scale, Parallelism and Enterprise : JRuby
YouTube video by Technology For Humans
022
Charles Oliver Nutter @headius.bsky.social · 02/09/2026
And thanks to JRuby friend @cglee.bsky.social I now also have a ticket! Super excited to join the hallway track and show folks how to do more with Rails using JRuby! 🤩
020
Charles Oliver Nutter @headius.bsky.social · 01/09/2026
Good news! I will be in Austin during Rails World 2026 and available for JRuby office hours. I'm still looking for a ticket (budget is very tight!) but I can't miss out on meeting Rails folks from around the world. If you're a JRuby user or might like to be, let's grab a drink and chat!
010
Charles Oliver Nutter @headius.bsky.social · 13/08/2026
Friendly reminder to JRuby users out there: JRuby dev is now funded almost exclusively by support services from headius.com/services, delivering priority bug fixes, security SLAs, codebase and performance help under NDA, and much more. Sign up today or ping me for more info... and tell your friends!
headius.com
JRuby Support Services
Enterprise JRuby support, consulting, and priority bug-fixing from the core developers who built it. 20+ years of JVM and Ruby expertise.
064
Charles Oliver Nutter @headius.bsky.social · 07/08/2026
The pattern I'm following is barely more productive than what I could do. Write up a long description of what I want, have the tool generate a first draft, and then a long tail of conversation based on my line-by-line review. Full vibing seems like pure nonsense based on the subtle mistakes I see.
000
Charles Oliver Nutter @headius.bsky.social · 07/08/2026
My experiments with agent-augmented dev feel like "coding by dictation", and always require manual review and MANY follow-ups. Code style: terrible. Naming things: terrible. Math: terrible. Forward-thinking design: terrible. Unsure if I'm more productive or less. 🫤
180
Reposted by Charles Oliver Nutter
Euruko @euruko.org · 06/08/2026
💎 20 years of JRuby. @headius.bsky.social joins EuRuKo 2026 in Brno to cover JRuby's past, present & what's next. Sep 17-18, Brno. Tickets: 2026.euruko.org
081
Charles Oliver Nutter @headius.bsky.social · 27/07/2026
I occasionally want to close an experimental PR without losing the context and changes associated with it. Is there a better way than dumping a patch into comments as seen below? I don't want lingering topic branches. github.com/jruby/jruby/...
github.com
Allow binding instance/internal vars to fields by headius · Pull Request #8804 · jruby/jruby
This is an extension of the existing mechanism for reification of Ruby classes, allowing us to use normal Java fields for either instance or internal variables. The logic here is largely unchanged ...
200
Reposted by Charles Oliver Nutter
The JRuby Project @jrubyproject.bsky.social · 22/07/2026
JRuby 10.1.1.0 is released, with a bunch of compat fixes, more performance work, and several third-party CVEs resolved. JRuby 10.1 is our active development branch, with 10.0 being stable. Upgrading is recommended if you want the latest and greatest! www.jruby.org/2026/07/22/j...
jruby.org
JRuby 10.1.1.0 Released — JRuby.org
The JRuby community is pleased to announce the release of JRuby 10.1.1.0.
043
Charles Oliver Nutter @headius.bsky.social · 23/07/2026
Is there any standard in place for marking content with its level of AI contribution? Basically, a *standard* way to mark your content as fully human generated all the way up to fully AI generated. Doesn't seem like there's a good standard.
110
Charles Oliver Nutter @headius.bsky.social · 21/07/2026
It's depressing because I can see the plan in my head for a complete source, issue, pull request, and release management system, but release management seems to have been delegated to third-party actions and extensions on GH.
110