Charles Oliver Nutter

@headius.bsky.social

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! https://github.com/sponsors/headius

We're have released jruby-rack 2.0.0, updating our servlet/rack bridge to the Jakarta Servlet API! We partnered with JRuby contributor Chad Wilson (github.com/chadlwilson) and the Kill Bill (killbill.io) Open Source billing and payments platform to make this happen. github.com/jruby/jruby-...

Release 2.0.0 · jruby/jruby-rack

What's Changed Major breaking changes: Support Jakarta Servlet API 5.0 → 6.1 (Jakarta EE 9 → 11) (@chadlwilson & @bhagyashriSawkar) This release involves migration to the jakarta.servlet.* namesp...

github.com

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.

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.

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!

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 🤷‍♂️

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.

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.

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.

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! 🤣

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!

BildBildBild

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.

Bild

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 · 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.

github.com