JRuby 1.0 Released!

11 06 2007

Charles Nutter: “We have finally released JRuby 1.0, based on the last release candidate, RC3. And what more is there to say? Not really a whole lot…It’s almost entirely RC3, with one or two minor fixes added in. But it’s really turned out to be an outstanding release, and already reports are coming in of folks trying it out en masse. We’re very happy.”

Congrats!





Releases!

13 12 2006

Old news, I know, but I just want to underline how some of these releases tie together, possibly to indicate an important trend.

First of all, we have Java SE 6, with Javascript built-in, thanks to Mozilla Rhino.

Then we have JRuby 0.9.2, with a slew of enhancements, bug fixes and performance tweaks.

Finally, after a long wait, Groovy RC-1.

All signs pointing to 2007 as the year of dynamic languages on the Java platform? It really seems likely.

On an unrelated note, I am also pleased to announce the relase of Apache Abdera 0.2.0 (incubating). Nothing revolutionary here, but an impressive number of features already for a 0.2 version. Very stable and surprisingly bug-free also.





RailsConf Podcast

19 10 2006

Cool, I have my first podcast online! It’s a recording of the Ruby for Java Programmers talk I did at the recent RailsConf Europe. I usually hate hearing my recorded voice, but I think I came out quite good on this one. I only have to train myself not to say “er” too often: It’s probably not so noticeable when you’re watching a presentation live, but it gets annoying on a recording.

<embed src="http://odeo.com/flash/audio_player_gray.swf" quality="high" name="odeo_player_gray" allowscriptaccess="always" wmode="transparent" type="application/x-shockwave-flash" flashvars="audio_id=2178845&audio_duration=3163.35&valid_sample_rate=true&external_url=http://media.odeo.com/0/4/1/railsconf_day1_conf3_ugo.mp3" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="54" width="322"

You’ll be able to listen to all the other podcast, as soon as they get uploaded, at Skills Matter. It would be nice to have the slides together with the audio, but the download link gets you just the mp3 file. Luckily for you, I have them here on my website.

Update: mp3 file is here.





My RailsConf slides

14 09 2006

rails_logo_remix.gifThis post is to the benefit of the attendees of my RailsConf talk of today. I’ll try to post more about RailsConf when the pace of things slows down a bit. In the meanwhile, you can download “Ruby for Java Programmers” slides here.

Update: Some photos here. 





Re: Outsourcing the performance-intensive functions

13 09 2006

While I’m waiting to board my (delayed, once again) flight to London, I am doing some blog surfing and just came upon this quote from DHH:

“The era of islands is over for most development scenarios. You don’t have to make one definitive choice. Instead, you get to hog all the productivity you can for the common cases, then outsource the bottlenecks to existing packages in faster languages or build your own tiny extension when it’s needed.”

Well, the era of islands did never actually begin for pragmatic developers, to be honest, but anyway I think this sentence, and all of David’s piece, could very well be taken as an endorsement of the work I’ve been doing: investigating the integration between the Ruby and Java worlds.

I like is so much that I’ve just added a slide with the above sentence to my presentation for tomorrow.

And no, I don’t even want to touch the “language wars” thread with a pole. Use the right tool for the job and to each his own.





No joy with camping on JRuby

11 09 2006

camping.pngWednesday I’m flying to London, where I’ll be speaking at the European Rails conference. I’ll be presenting on the same subject I did at OSCON: Ruby for Java Programmers.

At OSCON I demoed installing and running Rails on JRuby during the second half of the talk, but for EuroRails I’m trying to think of something different, mostly because I don’t want to steal the scene from Charles, who will be demoing exactly that. My backup plan involves demoing an installation of camping, following Ola Bini’s tutorial.

I’m not sure it’s a good idea to talk at a Rails conference about something else than Rails. In any case, I’m not even sure I can make it, since I cannot even get camping to install using either JRuby 0.9.0 or the latest code from svn:

Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR:  While executing gem ... (NoMethodError)
    undefined method `rubygems_version' for 0.9.7:Gem::Version

I’ve opened a new issue about this, but I doubt it’ll get fixed by tomorrow. So I probably need to find a backup plan to my backup plan.





Slides of my OSCON talk

27 07 2006

This post is just to provide a pointer to my slides: they are here if you’d like to have a look at them. I’m not going to write anything more about the OSCON today: my head is exploding with all the things I listened to. Plus I need to decompress after the tension that always goes with speaking in front of an audience, especially in a tongue that is not your own. I’m just looking forward to the exhibit hall reception that is going to kick off at 6. Hope they have lots of beer.

Technorati Tags: , .





Speaking at ApacheCon about Atom

17 07 2006

After going to Portland next week to speak at OSCON, it looks like I’ll be crossing the ocean once more in October to speak at ApacheCon US 2006, where my proposals for two talks titled:

  • Ruby for Java Programmers, and
  • Atomized: How to consume and publish Atom using Open-Source Java tools

were accepted. Many thanks to the ApacheCon organizers for giving me this wonderful opportunity!

I’m curious to know who else will be speaking. The only other one I know of at this time is Andrew.

The talk about Atom reflects my recent interest in the format, the publishing protocol and its applications. I can’t say much about that since most of what I’ve been doing around it is covered by NDA, but Atom rocks. Looks like Tim Bray shares the same feeling, to the point of being horrified to see nothing about the Atom Publishing Protocol on the OSCON schedule. Luckily he has enough clout to convince Nat to include him in the program. That’s one talk I’m not going to miss!





Using the Ruby Bindings for Subversion

14 07 2006

Today I set out to develop a simple proof of concept: a Wiki developed in Ruby on Rails using Subversion as a repository.

Doing a very basic Wiki using RoR is a piece of cake, given the availability of RedCloth and BlueCloth. However, having it use Subversion instead of a relational database is something that needs more work.

Luckily, the latest Subversion release (1.3.2 at the time of this writing) includes full Ruby bindings using SWIG. Unluckily, the precompiled package for OS X that I was using (from the fine folks at Metissian) doesn’t come with the bindings, so I had to reinstall Subversion from the source: nothing really complicated here, but the options for getting it to work over HTTPS should be documented better.

Speaking of documentation, there is apparently none for the SVN Ruby bindings… which is a shame. I could only find something regarding installation thanks to PJ Hyett, why the lucky stiff and Garrett Rooney, but armed with the source, using BountySource’s bsSvnBrowser as a sample (read-only code though, while I need to read and write) and especially Garrett’s book Practical Subversion1, I managed to conjure up some code that, on the surface of it, seems to work.

Here’s a snippet that saves an ActiveRecord instance to the SVN repository:

  def save(validate = true)
    return false if (validate && ! valid?)
    repo = Svn::Repos.open(REPO_PATH)
    repo.fs.transaction { | txn |
      txn.root.make_file(title)
      stream = txn.root.apply_text(title)
      stream.write(text)
      stream.close
    }
    return true
  end

I’m not sure this the correct way to implement save, but it works.

1. When I reviewed Garrett’s book, I wrote: “It’s written largely from the perspective of a repository administrator or a power user wanting to extend the system and develop new applications on top of it, as the long (73 pages) chapter on Subversion APIs demonstrates.” Finally that long chapter has been useful to me!





Rails 1.1.4 Does Run Unmodified in JRuby

7 07 2006

Yes, I was dumb. The second step should have been:

jruby bin/rails myapp

With that in mind, Rails is able to generate an application and run Webrick, without any apparent glitches, apart from a warning from the Oracle adapter, as is demonstrated by the screenshot below:

JRuby-Rails.png

Moreover, in order to avoid waiting a lot of time while it is processing docs, it is advisable to install Rails as:

gem install rails --include-dependencies --no-rdoc --no-ri

Technorati Tags: , , .