Sun hires the JRuby team

Tim Bray has announced that Sun Microsystems has hired Charles Nutter and Thomas Enebo, the developers behind JRuby. Tim’s announcement has a FAQ that probably answers many of the questions you have. My favorite bit:

Is Sun responding to hype? Yes, if by “hype” you mean a genuine groundswell of interest in the developer community.

Congratulations to Charles, Thomas and Tim. It’s exciting to see Sun supporting this project, and it will be interesting to see what they produce.

Adobe announces Rails SDK for Flex

Adobe’s Mike Potter brings the cherry news that an officially-backed Rails SDK for Flex and the rest of the company’s RIA suite is now available.

Derek Wischusen from Flex on Rails gives us the scoop on its content:

Currently, the SDK contains a sample demonstrating: (1) Intergrating with a database, basic CRUD, and rails migrations. (2) Uploading and downloading files. (3) Downloading data directly from Flex and sending data to a new browser window directly from Flex. (4) a simple Directory Explorer. The last sample uses WebORB for integrating Flex with Rails.

Great news. Flash is on the fast track out its ghetto image and its exciting to see Adobe care about integration with the world around it.

LiteSpeed Web Server 2.2 Released

LiteSpeed Web Server is a commercial product that offers a free version for private and commercial use. With release 2.2, LiteSpeed Technologies has embraced the Rails community and provided built-in support for deploying Rails Applications.

According to their website, they are “the world’s best performing Ruby SAPI and easiest Ruby on Rails application setup”. I put their claims to a test in a couple of screencasts for your viewing pleasure.

If you haven’t checked out LiteSpeed yet, give it a try.

Shopify didn't get memo, goes international

Obviously someone forgot to tell Tobi and crew that its impossible to do internationalization with Rails. Otherwise, he wouldn’t have been so foolish as to try. And now look what has become of it? Shopify checkout in multiple languages. Even Scottish!

All joking aside, congratulations to jaded Pixel. We’re eagerly awaiting the write-up on how you guys went international.

New Mephisto Release

The latest version of Mephisto, the blog that powers Riding Rails, has been released. Justin Palmer has the nitty gritty details at the Mephisto Blog. Our focus for this release has been the simple Asset Manager, as shown in the screenshot. I feel it’s pretty solid for a blog, so future releases will focus on broadening the horizons with some more CMS capabilities.

Even if you’re not looking for a publishing tool now, there’s a wealth of good, unit tested code in the subversion repository.

Capistrano 1.1.9 (beta)

A new release of Capistrano is nearly upon us! Before I unleash it upon the world, though, I’d like to have a few brave souls put it through its paces, so I’m doing a brief run of it as a pre-release. You can grab it from the Rails beta gem server:

gem install -s http://gems.rubyonrails.com capistrano

There are a lot of changes in this release, most of them minor or cosmetic. However, there are some changes that may bite you, too.

The most significant change that may affect you has to do with the roles used for the setup, update_code, rollback_code, and symlink tasks. These tasks have changed such that they now deploy to all defined servers. That’s right, if you’ve got a server associated with any role, those tasks will deploy to that server. However, a server can explicitly opt out of being part of release deployment by setting :no_release => true in its role definition:

   role :file, "file-server.somewhere.example",
        :no_release => true

Take note of that! If you have any servers using non-standard roles (any role besides web, app, or db), you need to explicitly add :no_release => true in their role definitions, or your next deploy will target those servers, too.

Other significant changes that may or may not tickle you:

  • The -r/--recipe command line option is deprecated. You should use -f/--file instead.
  • Matthew Elder has contributed (and agreed to maintain) a module for the Mercurial SCM.
  • If you have sudo in a non-standard location, you can specify the path to sudo via the :sudo variable
  • Added :svn_passphrase so you can use keys with passphrases
  • Fixed missing default for :local in the CVS module
  • Subversion SCM accepts HTTPS certificates now
  • Work with pid-based setups (new spawner/reaper)
  • Added update task
  • Added :except on task declarations (as the opposite of :only)
  • Override the hosts to be used for a task via the HOSTS environment variable
  • Override the roles that will be used for a task via the ROLES environment variable
  • Added :hosts option on task declarations for defining tasks that work only on specific machines (rather than by role)
  • Don’t require a capfile (this allows you to use capistrano to operate on arbitrary hosts, all from the command line)

Various other changes have been made as well—you can look at the CHANGELOG for a complete list.

Things you shouldn't do in Rails

Kevin Clark was written a nice piece on things you shouldn’t be doing in Rails. It starts with a reminder about not using various deprecated pieces of the API, and goes from there into recommendations based on Kevin’s personal experience with Rails. It’s worth checking out. Remember, half of knowing what to do is knowing what not to do.

Power Flash and Flex from Rails

Jon Shumate introduces WebORB:

WebORB for Rails is server-side technology enabling connectivity between Flex and Flash Remoting clients and Ruby on Rails applications. WebORB for Rails can be installed as a plugin into any Rails application to expose Ruby classes as remote services. The product provides a complete implementation of the Adobe’s AMF0 and AMF3 messaging protocols and thus supports any Flash Remoting or Flex client.

Working with Flash and Flex? Check it out.