Meditations on programming, startups, and technology
New Relic

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.


If you enjoyed this post, then make sure you subscribe to my Newsletter and/or Feed.

receive my posts by email

5 Responses to “This Week in Ruby (May 12, 2008)”

  1. Ryan Alyea says:

    Until I bought my recent iMac, I used the Bitnami RubyStack. I have no experience with the other setups, but it worked wonderfully for me. Definitely recommend to those stuck on Windows still.

  2. Mike Woodhouse says:

    My copy of Advanced Rails Recipes arrived yesterday, so it’s definitely shipped and delivery, to one address in the UK at least, is confirmed.

    That’s my train-time reading material for the next week…

  3. John Wilbur says:

    I can’t believe you even mentioned Michael Klishin’s blog post. These days all a desperate blogger has to do is post an immature rant about Rails and the traffic will come. This is a cheap technique.

    You are just perpetuating the flame war by linking to Michael Klishin’s post.

  4. John, I understand your concern and I won’t deny that I pondered it for a while before deciding to mention Michael’s post. I opted to do so though mainly for two reasons.

    While perhaps a cheap publicity stunt, the article became somewhat popular and was being discussed well before my post. Good or bad, my principal aim is to report highlights from the community, even when the original article that created a lot of waves is of questionable value. More importantly, the real reason for mentioning it, is because Micheal is a contributor to the Merb project and one of its most vocal advocates, therefore the article may end up conveying the wrong notion that his position, in respect to Rails, is shared by the whole Merb team/community; and nothing could be further from the truth. I thought it was important to point that out. This clarification may seem unnecessary, but this is not always the case. You may remember how the lead developer of MooTools “fired” a contributor (Olmo) for much milder remarks about the competing framework jQuery, in order to distance the project from such accusations.

    I tried to cover the issue with a sober tone, in order not to add fuel the flamewar in progress, but I’m fully aware that some may feel like you do about my inclusion.

  5. Jeffrey L. Taylor says:

    The emacs screencast was interesting. Now I’d like to know what packages he was using.

Leave a Reply

I sincerely welcome and appreciate your comments, whether in agreement or dissenting with my article. However, trolling will not be tolerated. Comments are automatically closed 15 days after the publication of each article.

Copyright © 2005-2014 Antonio Cangiano. All rights reserved.