It turns out the real Ractors were the Threads we made along the way
30.10.2025 21:18 β π 4 π 1 π¬ 0 π 0@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
It turns out the real Ractors were the Threads we made along the way
30.10.2025 21:18 β π 4 π 1 π¬ 0 π 0Here's one for someone who wants to contribute to JRuby: reimplement UNIXSocket using the JDK support for UNIX sockets:
github.com/jruby/jruby/... 
We currently use jnr-unixsocket, part of our native FFI backend, but it has never worked perfectly.
I'm pleasantly surprised at how easy it has been for my kids to funnel allowance into investments using GreenLight. Interesting educational conversations about stocks and funds and what makes a good investment.
Here's some code that gets you $30 back:
share.greenlight.com/91792639
I expected at least a few patches to get JRuby 9.4 green on Java 25, but I was wrong. JRuby 9.4 officially supports Java 25 already, I guess!
github.com/jruby/jruby/...
New post: Warbled Sidekiq: Zero-install Executable for JVM
In my previous post, I showed how to use Warbler to package a simple tool as an executable jar. This post will demonstrate how to βwarbleβ a larger project: the Sidekiq background job server! 
buff.ly/ZEasNiu
I just used JRuby and Warbler to package up a well-known Ruby-based background job server as an executable jar and it "just works". Single-file deployment on any platform with a JVM and scaling far better than you can get with regular CRuby. JRuby is the future of enterprise Ruby.
22.10.2025 20:48 β π 2 π 0 π¬ 0 π 0That's probably enough of Ractor working for an evening project. I get the idea of the API but the internal details (deep copying and ownership) are going to be really hard for any Ruby to implement efficiently. You could just use threads and frozen objects on JRuby and it would be fast right now. π€·
22.10.2025 06:33 β π 1 π 0 π¬ 1 π 0New post: "Packaging Ruby Apps with Warbler: Executable JAR Files"
Warbler is the JRuby ecosystemβs tool for packaging up Ruby apps with all dependencies in a single deployable file. Weβve just released an update, so letβs use Warbler to create all-in-one packaged Ruby apps! 
buff.ly/ZdXcCop
I need to run this again to see what might have changed but there is a guide from earlier that I wrote:
notepad.onghu.com/2021/jruby-w...
But I am delighted that some of the niggling issues might have now been resolved.
#JRuby #Ruby #Programming
Turn your Ruby gem into an all-in-one executable jar file with JRuby:
* gem install warbler
* warble
* java -jar mygem.jar ...
I forgot how easy this is. Blog post coming.
gist.github.com/headius/6739...
Ruby on the re-launched Pebble watch? Let's make it happen @ericmigi.com!
buff.ly/na6SE6O
I'm still waiting for my preorder Pebble Time 2 watch, but meanwhile I'm jealous that the only SDK support they'll ship is for Python and JS. Let's change that! mruby would be a perfect way to add Ruby to the PebbleOS SDK. Help me make it happen!
10.10.2025 22:28 β π 7 π 1 π¬ 0 π 0New post: Updating Deprecations with Version Information
A short Ruby script and justification for updating all of JRuby's old `@Deprecated` annotations with "since" versions. Easy to run yourself with JBang. Hope it's useful to someone else out there!
blog.headius.com/2025/10/upda...
I posted this response twenty days ago at the beginning of the RubyGems drama. Timeline isn't clear but at least some of these possible theories seem to have been in play. Almost like people should let facts come out first. #RubyGems #security #lawyers
www.reddit.com/r/ruby/s/sC8...
Probably using existing object header flags, but they'd need to be checked on every access I assume. No wonder it doesn't scale well yet. Probably easier to eliminate that overhead on JVM though.
09.10.2025 21:24 β π 0 π 0 π¬ 0 π 0Implementing the API shouldn't be difficult, but I'm not sure I'm clear on the complexities of object access. If something is immutable, it just gets passed back and forth, right? And there's a case where you can hand objects off or something? I've lost track of it over the years.
09.10.2025 20:54 β π 0 π 0 π¬ 1 π 0Ok, someone must have implemented Ruby's "Ractor" API in pure-Ruby on top of threads, right? I want to see what that looks like running with true parallelism on JRuby.
There's little demand for Ractors from JRuby folks because they already have shared-memory concurrency with few restrictions.
Any reason why I shouldn't globally replace all bare "@Deprecated" annotations with "@Deprecated(since = 'first release after deprecation')"? Because I really want to do it. It won't be as easy to blame these edited lines, but now the release is right there.
09.10.2025 19:44 β π 0 π 0 π¬ 0 π 0Spring Boot restful app in a one-line command? Love that Ruby magic sometimes...
jruby -Ilib -rboing -e 'Boing::Rest.run("HelloApp") do; get_string def hello; "Hello from Boing!"; end; end'
This is the Ruby/LLM future you want. Open source models, FFI instead of C extensions... just write Ruby (or JRuby).
rllama: Ruby FFI bindings for llama.cpp to run open-source LLMs such as GPT-OSS, Qwen 3, Gemma 3, and Llama 3 locally with Ruby code. github.com/docusealco/r...
GenAI is a ponzi scheme. Larger and larger investments are necessary to fund new models with diminishing returns and higher costs to run. Reliability is approaching a mathematical maximum. AI companies keep raising prices and still bleeding cash. It's all teetering on the edge.
07.10.2025 21:39 β π 7 π 1 π¬ 1 π 0I've been away from Windows as a daily driver for 25 years, and every time I come back I'm just amazed that things have actually gotten worse.
06.10.2025 21:57 β π 0 π 0 π¬ 0 π 0Example: doing a complete wipe and reinstall, downloading Windows progress immediately jumps to 30%, and then sits there for 10 minutes before creeping up randomly 5% at a time. Reset progress zooms to 62% and sits there for 30 minutes. π‘
06.10.2025 18:09 β π 0 π 0 π¬ 0 π 0Whenever I'm forced to use Windows again, I'm shocked both by how slow everything feels, and by how many useless progress bars and "this won't take long" messages I get while installing or updating software.
06.10.2025 18:02 β π 3 π 0 π¬ 2 π 0JDK 25 images are released!
02.10.2025 22:46 β π 1 π 0 π¬ 0 π 0Oh yeah good idea!
01.10.2025 18:01 β π 1 π 0 π¬ 1 π 0JRuby 10 officially supports Java 25 and it's green in CI!
Of course, we've been testing with 25 locally for months and this required zero changes... but now it's official. π
My favorite result when searching for a bug fix is to come across my own bug reports from years ago. "Oh yeah, I ran into this before and completely forgot about it. Still not fixed."
29.09.2025 21:38 β π 1 π 0 π¬ 0 π 0I'm preparing to launch a new and exciting Ruby gem for JRuby and thought of the perfect name. So I went to rubygems.org to check if it had been claimed. Bad news: it had. Good news: it was a one-off experiment of mine that nobody ever used. I can just repurpose it!
29.09.2025 14:45 β π 3 π 0 π¬ 1 π 0