Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #885

C

Charles Oliver Nutter

Personal blog · blog.headius.comprogrammingsystems

Charles Oliver Nutter's personal blog at blog.headius.com covers programming and systems. Since 2008, 74 different Hacker News readers have linked it 115 times, most often “Refining Ruby”. It is still writing: the last post was on 2026-07-10, and you can follow it by feed.

Visit the blog
115mentions?
13recommend?
74HN people?
2008–2025first – last linked?
Links on Hacker News per year · peak 23 in 2010

Sometimes recommended · 13 of 40 sampled comments recommend it?

Why HN links it

HN readers link this blog by JRuby's creator for in-depth posts on Ruby on the JVM, invokedynamic and why Ruby is slow.

Recommended for · 13 comments
Called great and really in-depth; praised for explaining refinements and why Ruby is slower than Java.

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Java, Ruby, and JVM guy trying to make sense of it all

Most-linked posts?

  1. Refining Ruby
    9 people · 11 mentions · first linked 2012-11-19
  2. How JRuby Makes Ruby Fast
    6 people · 6 mentions · first linked 2009-04-03
  3. A First Taste of InvokeDynamic
    5 people · 6 mentions · first linked 2008-09-12
  4. On Languages, VMs, Optimization, and the Way of the World
    4 people · 4 mentions · first linked 2013-05-11
  5. So You Want To Optimize Ruby
    4 people · 4 mentions · first linked 2012-10-15
  6. JRuby Nailgun Support in 1.3
    3 people · 3 mentions · first linked 2009-05-13
  7. Kicking JRuby Performance Up a Notch
    3 people · 3 mentions · first linked 2010-05-31
  8. Invokedynamic in JRuby: Constant Lookup
    3 people · 3 mentions · first linked 2011-08-10
  9. Avoiding hash lookups in a Ruby implementation
    3 people · 3 mentions · first linked 2012-09-04
  10. /2009/01/my-favorite-hotspot-jvm-flags.html
    2 people · 3 mentions · first linked 2010-08-02

What Hacker News says?

  1. GlennS · 2011-10-17Recommends
    I quite enjoy these: http://ayende.com/blog (.NET centric, writes RavenDB/NHibernate Profiler) http://blog.headius.com/ (JRuby creator)

    Comment linking /

    on “Ask HN: What programming blogs do you read daily?”
  2. Submitted My Thoughts on Oracle v Google as a story · 606 points

    HN discussion
  3. The JVM itself doesn't add a huge memory footprint. I remember Charles Nutter of JRuby fame calling it the "20-30 MB memory tax" (see http://blog.headius.com/2008/11/noise-cancelling.html ). A lot of the extra memory usage of Java apps comes from sloppy programming and from depending on lots of heavyweight libraries and frameworks.

    Comment linking /2008/11/noise-cancelling.html

    on “Scala Native v0.1”
  4. Submitted Running JRuby on the Graal JIT as a story · 173 points

    HN discussion
  5. ch0wn · 2013-02-24Recommends
    There's a really in-depth article on them that also covers concerns about the implementation: http://blog.headius.com/2012/11/refining-ruby.html

    Comment linking /2012/11/refining-ruby.html

    on “Ruby 2.0.0 Released”
  6. Submitted Refining Ruby as a story · 168 points

    HN discussion
  7. tomstuart · 2013-02-24Recommends
    Charles Nutter does a good job of explaining why you can't just ignore refinements: http://blog.headius.com/2012/11/refining-ruby.html In summary, they makes the Ruby language harder to implement, and Ruby code harder to understand. You can't pretend they don't exist if their existence compromises the meaning of your code and the performance of your chosen Ruby implementation.

    Comment linking /2012/11/refining-ruby.html

    on “Ruby 2.0.0 Released”
  8. Submitted So You Want To Optimize Ruby as a story · 126 points

    HN discussion
  9. http://blog.headius.com/2009/04/how-jruby-makes-ruby-fast.ht... At least once a year there's a maelstrom of posts about a new Ruby implementation with stellar numbers. These numbers are usually based on very early experimental code, and they are rarely accompanied by information on compatibility. And of course we love to see crazy performance numbers, so many of us eat this stuff up.

    Comment linking /2009/04/how-jruby-makes-ruby-fast.html

    on “Announcing Topaz: A New Ruby”
  10. Submitted JRuby Creator's Short List of Key Missing JVM Features as a story · 124 points

    HN discussion
  11. One of the major launch criterion was having "enough of Ruby that the performance won't change". What does that mean in practice? We have exceptions, we have bindings, and we have all manner of other obscure corner cases. Charles Nutter (JRuby dev) writes about this: http://blog.headius.com/2012/10/so-you-want-to-optimize-ruby...

    Comment linking /2012/10/so-you-want-to-optimize-ruby.html

    on “Announcing Topaz: A New Ruby”
  12. Submitted On Languages, VMs, Optimization, and the Way of the World as a story · 90 points

    HN discussion
  13. Yes, invokedynamic[1] 1. http://blog.headius.com/2008/09/first-taste-of-invokedynamic...

    Comment linking /2008/09/first-taste-of-invokedynamic.html

    on “Java 7 is now available”
  14. Submitted Creating beautiful charts with JRuby and JFreeChart as a story · 67 points

    HN discussion
  15. Congratulations Ruby team! I'm excited to hear about the performance improvements. It seems like JIT could be a huge win since calling a method requires checking all kinds of possibilities that are almost always not used, but might be. I would love to keep all the power & fun of Ruby without worrying so much about performance. Speaking of optimizing method calls: now that it's been a few years, I wonder what Ruby fo…

    Comment linking /2012/11/refining-ruby.html

    on “Ruby 2.6.0-preview2 released with JIT”
  16. Submitted Introducing Surinx (Ruby syntax w/ Java typing) as a story · 51 points

    HN discussion
  17. It's not very well documented, but BiteScript looks very interesting: http://blog.headius.com/2009/03/bitescript-001-ruby-dsl-for-... http://blog.headius.com/2009/05/bitescript-002-scripting-exa...

    Comment linking /2009/05/bitescript-002-scripting-examples.html

    on “I want to compile a C program so simple I can explain all of the assembly”
  18. Submitted An experiment in static compilation of Ruby: FastRuby as a story · 50 points

    HN discussion
  19. Actually, with Android Scripting ( http://code.google.com/p/android-scripting/ ) you can use other languages that run on jvm, such as ruby, python, javascript and others. Charles Nutter even supports a ruby version on Android directly: http://blog.headius.com/2010/01/busy-week-jruby-with-android... . If you like static typed languages, you can even use Scala on Android ( http://www.scala-lang.org/node/160 ). Many po…

    Comment linking /2010/01/busy-week-jruby-with-android-maven-rake.html

    on “Android Tries Harder”
  20. Submitted The future of java as a story · 37 points

    HN discussion
  21. You are technically correct. A Sufficiently Smart Compiler(TM) could theoretically optimize python code. However certain language features can be inherently difficult to optimize. Most of it's over my head, but headius has written some great articles as part of his experience of implementing ruby on the jvm. http://blog.headius.com/2012/09/avoiding-hash-lookups-in-rub...

    Comment linking /2012/09/avoiding-hash-lookups-in-ruby.html

    on “Why Python Is Slow: Looking Under the Hood”
  22. Submitted Invokedynamic in JRuby: Constant Lookup as a story · 34 points

    HN discussion
  23. Ruby already works, actually: http://blog.headius.com/2011/01/jruby-on-rails-on-amazon-ela...

    Comment linking /2011/01/jruby-on-rails-on-amazon-elastic.html

    on “Introducing AWS Elastic Beanstalk”
  24. Submitted Q/A: What Thread-safe Rails Means as a story · 29 points

    HN discussion
  25. saltvedt · 2016-11-21Recommends
    Good article explaining complexity of refinements in Ruby: http://blog.headius.com/2012/11/refining-ruby.html

    Comment linking /2012/11/refining-ruby.html

    on “Ruby 2.3.3 released”
  26. Submitted The future of Ruby is....Java? as a story · 27 points

    HN discussion
  27. ubernostrum · 2015-12-13Recommends
    Here's a good, if old, quick intro to some of the stuff the JVM does: http://blog.headius.com/2008/05/power-of-jvm.html Choice section: The JVM is basically a dynamic language runtime. Because all calls in Java are virtual (meaning subclass methods of the same name and parameters always override parent class methods), and because new code can be loaded into the system at any time, the JVM must deal with nearly-dynam…

    Comment linking /2008/05/power-of-jvm.html

    on “Chris Lattner on Swift and dynamic dispatch”
  28. Submitted The Elephant: Why is JRuby such a polarizing issue? as a story · 25 points

    HN discussion
  29. Well, to not answer your question: Hotspot performance tuning is a fine art, and benchmarking is a somewhat separate fine art, people will sample their data carefully, do a lot fo runs, warming up properly, using different GC's, tuning heap,GC generations, MaxInlineSize, maybe 32-bit (-server). I remember reading linux package managers often don't include -client in the 64-bit install. JDK7 maybe faster, many people…

    Comment linking /2009/01/my-favorite-hotspot-jvm-flags.html

    on “Practical Garbage Collection - Part 1: Introduction”
  30. Submitted Headius: Quick Thoughts on Oracle/Apache and the Java TCK as a story · 24 points

    HN discussion

Search all of HN for blog.headius.com

Linked by the same people?