More Compiling Ruby to Java Types

I did another pass on compiler2, and managed to wire in signature support. So let's look at a couple examples:
class MyRubyClass def helloWorld puts "Hello from Ruby" end def goodbyeWorld(a) puts a end...
Read More
2009-03-13 04:20:00 +0000

Compiling Ruby to Java Types

"Compiler #2" as it has been affectionately called is a compiler to turn normal Ruby classes into Java classes, so they can be constructed and called by normal Java code. When I asked for 1.3 priorities, this came out way at the top. Tom thought perhaps I asked for trouble...
Read More
2009-03-10 22:05:00 +0000

Help Us Set Priorities for JRuby 1.3

With JRuby 1.2 almost out the door, I want to talk a bit about where we should go with JRuby 1.3. There's always more work to do, but in this case there's a few different directions we could probably go.
Some obvious items will continue to see work:1.9 libraries, interp,...
Read More
2009-02-28 21:42:00 +0000

JRuby on Java ME

A number of folks have asked us over the years whether JRuby could run on a Java ME-enabled device. I've always said I believed it would be possible with enough trimming. Strip out all the libraries that ME doesn't support, and you should be left with a runnable "core" of...
Read More
2009-02-27 10:25:00 +0000

Ruboto Is Your Friend

Ok, so I intentionally made my last post a bit of a "tease". You can't fault me for trying to drum up a little buzz, yeah? And hey, I spent almost as long fiddling with that logo as I did hacking JRuby to run on Android. Here it is again,...
Read More
2009-02-26 04:42:00 +0000

JRuby 1.2: Coping With Bugs

We get a lot of bug reports on the JRuby project. No, it's not because JRuby's a buggy POS. It's because we're implementing the core of an entire platform. It's hard.
Over the past year or so we kinda let the bug tracker go a little wild. We've never had...
Read More
2009-02-18 08:09:00 +0000

The JRuby Version String

I just love the JRuby version string. I love it so much, I'm microblogging what each piece means.
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-01-29 rev 8947+3) [x86_64-java]Obviously "jruby 1.2.0" is the name of the impl and the version number. We'll probably modify this to suffix "-dev" on trunk."ruby 1.8.6...
Read More
2009-01-30 04:37:00 +0000

My Favorite Hotspot JVM Flags

I probably start up a JVM a thousand times a day. Test runs, benchmark runs, bug confirmation, API exploration, or running actual apps. And in many of these runs, I use various JVM switches to tweak performance or investigate runtime metrics. Here's a short list of my favorite JVM switches...
Read More
2009-01-29 15:27:00 +0000

Irish Java Technologies Conference

I've been a bit quiet on the blog over the past couple months, and for that I apologize. JRuby is moving very quickly now, and we'll have some pretty big announcements soon. For now, I figured I'd let my friends in Europe and the British Isles know I'll be in...
Read More
2008-12-23 19:20:00 +0000

JavaOne and CommunityOne 2009

It's that time of year again, and the call for papers for JavaOne and CommunityOne is closing soon! We're hoping for a lot more diverse JRuby presentations and speakers this year, so don't think you have to be doing Rails to get in. There's room for GUI dev, Game dev,...
Read More
2008-12-03 18:19:00 +0000

Noise Cancelling

Short thoughts on KirinDave's post The Opposite of Momentum, which the anti-Ruby crowd has latched on to as more evidence that Ruby is "falling flat on its face".Dave's post appears to largely lament the lack of progress in the C implementations, be it their lack of performance, presence of memory...
Read More
2008-11-23 21:55:00 +0000

FFI for Ruby Now Available

One of the largest problems plaguing Ruby implementations (and plaguing some other language implementations, so I hear from my Pythonista friends) is the ever-painful story of "extensions". In general, these take the form of a dynamic library, usually written in C, that plugs into and calls Ruby's native API as...
Read More
2008-10-31 21:21:00 +0000

Using Rubinius's Kernel in JRuby

After a long day fixing bugs, ya gotta hack on something frivolous once in a while.
I've started to play with a proof-of-concept branch that uses Rubinius's kernel (pure Ruby core class implementations) in replacement for our own (pure Java). Initially I've been playing with Hash, which is one of...
Read More
2008-10-29 08:25:00 +0000

A First Taste of InvokeDynamic

Greetings, readers!
Over the past couple weeks I've had a few departures from typical JRuby development. I consider it a working vacation. I'm hoping to report on all of it soon, but for now we'll focus on one of the most exciting items: JSR-292, otherwise known as "InvokeDynamic"...
Read More
2008-09-12 03:09:00 +0000

The Elephant

I'll make this a short one.
I was just having a conversation with a friend, a Rubyist whose opinion I respect, who clued me in that he really hates when JRuby users use Java libraries with little or no Ruby syntactic sugar. He hates that there's a better chance every...
Read More
2008-09-05 07:04:00 +0000

A Few Thoughts on Chrome

I'm just reading through the comic and thought I'd jot down a few things I notice as I go. Take them for what they're worth, high-level opinions.
Browsers single-threaded? Maybe 10 years ago. I routinely have a CPU-heavy JS running in Firefox and it doesn't stop me working in other...
Read More
2008-09-02 12:25:00 +0000

A Duby Update

I haven't forgotten about my promise to post on FFI and MVM APIs, but I've been taking occasional breaks from JRuby (heaven forbid!) to get some time on on Duby.
What Is Duby?...
Read More
2008-08-31 18:11:00 +0000

Zero to Production in 15 Minutes

There still seems to be confusion about the relative simplicity or difficulty of deploying a Rails app using JRuby. Many folks still look around for the old tools and the old ways (Mongrel, generally), assuming that "all that app server stuff" is too complicated. I figured I'd post a quick...
Read More
2008-08-24 17:30:00 +0000