This Week in Ruby (May 12, 2008)

This is the 7th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments.

Ruby

The tickets for RubyKaigi went on sale yesterday. RubyKaigi is the Japanese equivalent of RubyConf and will take place from the 20th to the 22nd of June.

Yehuda Katz blogged about Benchwarmer, which is an improved DSL for doing benchmarks. The repository can be found on GitHub.

That mad man, commonly known as why, has released another interesting proof of concept, aptly named Unholy. It’s a Ruby to PYC converter that aims at compiling Ruby sources to Python bytecode, making it possible to write Ruby code and run it on CPython. Not only that, but with a patched version of decompyle, it’d be possible to obtain Python source code that could be used, for example, on Google App Engine. Don’t expect to run Rails on mod_python anytime soon, though.

The Rails community may favor Macs, but there is no denying that there exist a huge amount of developers using Ruby and Rails on Windows. As a matter of fact, the One-Click Ruby Installer is the most popular project on RubyForge with almost 2.4 Million downloads, and Instant Rails is not doing too bad either, having surpassed the half a million mark. However, there is now another easy way to get the whole stack that’s required to run Rails on Windows (also available for Mac and Linux), and it’s called RubyStack. Unlike InstantRails, this is an actual installer and it includes: Ruby, RubyGems, Rails, MySQL, SQLite, Subversion, ImageMagick, Mongrel, Apache 2.2.8, PHP 5 and phpMyAdmin. The company, BitNami, also recently published a tutorial on how to add Aptana RadRails and Ruby Debug to the stack. If you’ve tried RubyStack, please leave your comments and opinions in the comments section.

Alternative implementations

Adam Fine, of Israel.rb, has a nice Ruby implementation roundup. You can read and comment on it here.

A couple of weeks ago the IronRuby project received a healthy dose of criticism (including my own) within the mailing list. A lack of openness and status updates, made contributions harder and portrayed the project as progressing at a deadly slow pace. I’m glad to report that the team has reacted in a proactive manner and embraced a more open approach where, for example, code reviews are now published in the ML. IronRuby has changed pace, or at least that’s the perception, and in an open source project this is also important. Now I’m confident that we can expect good things from this project. Meanwhile, you can try IronRuby in your browser, courtesy of Oleg Tkachenko.

You may remember, from a few editions ago, that I mentioned Dan Berger and his fork of the MRI, called Sapphire. DevFi has an interview with him in which he expresses quite clearly his intentions and rationale behind the decision to fork Ruby. Better support for Ruby on Windows, attention to correctness and testing, improving the standard library and a faster evolution of the language, seem to be the main reasons.

Sticking with the name Sapphire, Huw Collingbourne has a nice writeup on Multiple Inheritance, modules and mixins. While his language isn’t a fork of Ruby but rather just inspired by it, Ruby developers will find the article interesting as well, because it covers what Huw perceives as being issues when it comes to Ruby’s modules.

In JRuby-land, on the heels of Java One, Nick Sieger has announced JRuby-Rack which can be used to run Rails, Merb, or any Rack-compatible framework inside a Java application server.

Merb

MerbAccording to this post Merb is running on Rubinius (if we exclude the ORM layer). Both projects are promoted and sponsored by the same company, so it’s natural that we’ll continue to see better integration.

Two new bundles for Merb and DataMapper are finally available for TextMate users. You can download and read about them here.

A post by Michael Klishin created quite a bit of controversy. Entitled State of Merb on road to 1.0: the good, the bad and the ugly, this kind of status update can be very appealing, as we head towards version 1.0 of Merb. Unfortunately “the ugly” in this case is the tone of the post, which made the author appear immature, due to the gratuitous bashing of Rails developers. It is unfortunate that the author of this nice mapping of a Merb server’s boot process, opted to convey his enthusiasm through blind antagonism. Let me reassure you though, that this is not representative of the Merb community as a whole; which is welcoming, definitely enthusiastic, but far from disrespectful of other projects. Merb developers believe in their project and the technical advantages that it offers over Rails, and have no qualms in stating so either. But they do so in a factual manner, as opposed to vague attacks against people who opt for a different framework.

Rails

Through his Twitter account, David announced that “Rails 2.1 RC1 has been tagged and the gems are on the beta servers”. Now is an ideal time to test it out. If you need some help, this screencast should do the trick.

The fourth part of a tutorial on Routing in Rails 2 was recently published. If you haven’t done so, follow the links to part 1, 2, 3 and 4.

Emacs fans may be interested in this screencast, that shows how to use Emacs with Rails. Other interesting highlights this week were: Write your Rails view in… JavaScript?, Community Engine (a Social Networking plugin), the release of El Dorado 0.9.2 (which adds a group chat option) and finally after_create :pimp, which automatically pings Google (and possibly other services) once the contents of your Rails app have been updated.

Rails deployment

Ron Valente has a guide on setting up a Rails server through Ubuntu 8.04 using Passenger. While Jim Neath, published Using Capistrano with Passenger (mod_rails).

For those interested in cloud computing, I found this article on how to create a “poor man’s” Content Delivery Network with NGINX, Varnish, Merb and Amazon S3, to be very compelling.

Meanwhile the VC funding spree of Ruby/Rails hosting companies continues, with a $3 Million round of financing being handed out to Heroku by Redpoint Ventures.

Deploying RailsThis week, Ezra’s Deploying Rails Applications: A Step-by-Step Guide finally hit the press. I ordered my copy from Amazon and it shipped yesterday. At about the same time, Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps was published but, at least in my case, hasn’t shipped yet.

Railscasts 100th Episode Contest

Ryan Bates had a contest for his 100th Episode of Railscasts. Yesterday night he announced the winners. Congratulations to them and to all of those who participated. What’s really interesting though is that now there are several hundred Rails tips out there. You can read (and in some cases watch) all of them by following the links on the contest page.

All this material should be enough to keep you busy until next week. Please feel free to provide comments and feedback on this series.

Get more stuff like this

Subscribe to my mailing list to receive similar updates about programming.

Thank you for subscribing. Please check your email to confirm your subscription.

Something went wrong.

5 Comments

  1. Ryan Alyea May 12, 2008
  2. Mike Woodhouse May 13, 2008
  3. John Wilbur May 13, 2008
  4. Antonio Cangiano May 13, 2008
  5. Jeffrey L. Taylor May 14, 2008

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.