Charles Oliver Nutter
headius@mastodon.social
<p>JVM guy, JRuby guy. Champion of Java and Hero of Ruby. I depend on sponsors and donations to keep JRuby work going at <a href="https://github.com/sponsors/headius" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">github.com/sponsors/headius</span><span class="invisible"></span></a></p>
Posts
-
View post
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?
-
View post
In about an hour I&#39;ll do my first solo JRuby workshop at RubyConf Austria! I&#39;ve used this opportunity to start assembling a complete JRuby tutorial, and I&#39;d love to include your ideas. Check it out: https://github.com/headius/tutorial
-
View post
&quot;I didn&#39;t do this thing because it was easy... I did it because I thought it would be easy.&quot; - Radan Skorić at RubyConf Austria 😂
-
View post
Good news! I have been added to the RubyConf 2026 schedule to present JRuby and all the ways it lets you use Ruby when CRuby doesn&#39;t fit! I&#39;m glad that the new @rubycentral values community and understands the importance of JRuby. Twenty years of JRuby...don&#39;t miss this talk!
-
View post
RE: https://mastodon.social/@headius/116727089353126448 And it&#39;s live! I&#39;ll show you the latest and greatest use cases for using JRuby with *real world* examples at RubyConf 2026 in Las Vegas, July 14 at 3:30PM! Tell your friends! https://rubyconf.org/schedule/
-
View post
RE: https://ruby.social/@samruby/116731054355649047 Exciting demonstration of how fast JRuby can really be when you sweep away some of the metaprogramming layers of a typical Rails application... even when it already handles Rails HTML requests 2x faster than CRuby! Looking forward to seeing more about Roundhouse.
-
View post
Today&#39;s AI test: see if Copilot can fix a networking test that sometimes times out. Ran for 5 minutes, changed two InetSocketAddress constructors to use getLoopbackAddress even though the old forms called anyLocalAddress. Fail. The actual fix was to increase the timeout due to slow GHA runners.
-
View post
githubstatus.com has overtaken github.com/&lt;anything&gt; in my local browser as the most frequent site I visit after typing &quot;git...&quot;
-
View post
Here&#39;s a use of AI I can get behind: adding JRuby support for native Ruby libraries using a combination of Chicory WASM runtime for JVM and JRuby&#39;s JVM integration! The RBS library (static type specs for Ruby) uses a C ext on CRuby, but with this PR it now works on JRuby using WASM. JRuby support could really expand if this pattern takes off! https://github.com/ruby/rbs/pull/2998
-
View post
I keep hearing how AI will make software so easy to write and yet Gmail still hasn&#39;t evolved beyond the mid 2010s.
-
View post
The more I see pull requests from LLMs and experiment with it myself the more convinced I am that it produces just about the worst code I&#39;ve ever seen. Not just bad on style, but inefficient, often incorrect, and usually the wrong approach. It &quot;works&quot; in the loosest sense of the word, which tricks people into accepting it.
-
View post
My pre-breakfast project: adding FreeBSD and OpenBSD to JRuby&#39;s CI. FreeBSD largely works, but some specs fail that maybe never worked on FreeBSD to begin with. The OpenBSD image I&#39;m using doesn&#39;t have JDK 21 in ports. It&#39;s a start... feel free to assist! https://github.com/jruby/jruby/pull/9419
-
View post
I figured out why I don&#39;t like Ruby&#39;s new Ractor concept: it forces users to work around CRuby deficiencies. To parallelize code with Ractor, users must make all passed object graphs &quot;shareable&quot; even if those objects would otherwise be safe to parallelize with Threads. It feels un-Ruby to me.
-
View post
So frustrating watching the Ruby community reinvent what JRuby and the JVM already do. Why don&#39;t they just use JRuby? Because we don&#39;t support the C extension API. Now they are realizing they can&#39;t do what JVM does and also support C extensions. 🤦 Seriously... just use JRuby!
-
View post
There's a disturbing trend of developers I've known for years now suddenly being unable to discuss even basic aspects of software development. They have become so dependent on LLMs, they can't even describe how to design a system anymore. Feels like losing friends to dementia. 😢
-
View post
SHOCKER! For a simple piece of code like &quot;Array.new(10_000_000) {Object.new}&quot;, JRuby 10.1 with JDK 26 and compact object headers uses LESS REAL MEMORY than CRuby 4.0. That&#39;s just crazy. Real parallel scaling AND lower memory use?!
-
View post
New post: JRuby and JDK 25: Startup Time with AOTCache Let&#39;s take a look at JRuby&#39;s startup time journey, all the way up to using JDK 25&#39;s AOTCache and Project Leyden features coming to a JDK near you soon. https://blog.headius.com/2025/09/jruby-jdk25-startup-time-with-aotcache.html
-
View post
At the end of my post on JRuby and JDK 25 startup time features, I teased a bit of the unreleased improvements from Project Leyden. It turns out the latest commits improve startup time even more, so it seems worth posting a quick follow-up! https://www.reddit.com/r/ruby/comments/1nr630x/jruby_and_leyden_even_better_startup/
-
View post
New post: &quot;Packaging Ruby Apps with Warbler: Executable JAR Files&quot; 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 explore how to use Warbler to create all-in-one packaged Ruby apps! https://blog.headius.com/2025/10/packaging-ruby-apps-with-warbler-jar-files.html
-
View post
New post: Warbled Sidekiq: Zero-install Executable for JVM In my previous post, I showed how to use Warbler to package a simple image-processing tool as an executable jar. This post will demonstrate how to “warble” a larger project: the Sidekiq background job server! https://blog.headius.com/2025/10/warbled-sidekiq.html
-
View post
Excellent talk by Daniel Colson about the Ruby regex engine (&quot;Onigmo&quot; in CRuby, &quot;JOni&quot; in JRuby) with a deep dive on how it parses, compiles, and executes an expression. These kinds of talks are my jam! Loving @RBCConf so far!
-
View post
Just added JDK 26 to JRuby&#39;s CI matrix. Green with no changes necessary. 👍
-
View post
I could easily take Ruby with full static typing via RBS and compile it to fast static JVM code. Numeric algorithms as fast as optimized C code. I&#39;ve done something similar before... it would be like Mirah but with dynamic invocation. It&#39;s just a matter of time and resources.
-
View post
While reviewing some LLM-heavy PRs recently I realized where my concerns lie: code written by humans is intentional and code written by an LLM is incidental. I can&#39;t easily ask the submitter&#39;s LLM context why it made certain changes and whether they are actually spec-derived.
-
View post
Holding my breath to see how deeply the Oracle layoffs cut into the Java team. This is a really bad time to undercut critical infrastructure like the JDK. AI isn&#39;t replacing developers, it&#39;s just killing them off and leaving everything broken. It&#39;s all going to collapse soon. https://finance.yahoo.com/markets/stocks/articles/oracles-layoffs-raise-hard-ai-181543699.html?guccounter=1
-
View post
I am excited and honored to be the keynote speaker for day 2 of #RubyKaigi 2026! My talk will explore 20 years of JRuby development, show how JRuby and CRuby have grown up together, and provide a hopeful look forward to the future of Ruby. It&#39;s been an amazing ride! 🤩
-
View post
I loathe April Fool&#39;s Day. The only news I want to be an April Fool&#39;s prank is the winter storm warning for Minnesota this evening.
-
View post
It is a bit ironic that many of the same folks who demanded strict static typing and who refused to even consider using dynamically-typed languages are now advocating verifying the results of agentic coding with nothing more than unit tests and specifications. So the result *is* actually all you care about?
-
View post
I just spent two days locked in mortal combat with an AI coding agent that had convinced a user that my analysis of and fix for a bug was incorrect. It provided clear, convincing descriptions of the problem and how its &quot;obvious fix&quot; was superior to mine. It turned out to be completely wrong. Your AI coding agent is *lying to you*. Beware.
-
View post
This year marks the 20th anniversary of full-time development on JRuby. We have thousands of users all over the world and depend on support customers to fund my work. We can scale apps to great levels and are keeping up with Ruby and Rails compatibility. Meanwhile, both of my proposals for #RubyConf were rejected by @rubycentral. Do with that what you will.