What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

Planet Ruby

Planet Ruby - http://planetruby.0x42.net/


Ruby on Rails: New REE with OS X, 64-bit, Solaris support and GC patchesToday

Phusion is on a roll today. Not only did we just get a new Passenger, they’ve also just dropped a new REE (the Ruby patches for copy-on-write) that includes 64-bit support as well as compatibility with OS X and Solaris. They’ve also fitted the excellent RailsBench patches from Stefan Kaes that allows you to tweak the GC settings in Ruby if you need to.

This edition was sponsored by 37signals, Curve21, Dr Dispatch Transportation Software, InfoEther, Martian Interactive, New York Times, Shopify, Trevor Turk, and Utah Imaging.

Ruby on Rails: This Week in Edge RailsToday

November 29-December 5, 2008 Edition

Rails 2.3 development is still continuing at a healthy clip. Here’s an overview of what’s happened this week.

Application Templates

Rails now incorporates Jeremy McAnally’s rg application generator. What this means is that we now have template-based application generation built right into Rails; if you have a set of plugins you include in every application (among many other use cases), you can just set up a template once and use it over and over again when you run the rails command. Pratik Naik provided a thorough writeup of this feature over on his blog. commit

Find Improvements

Even the venerable code used by Active Record to talk to databases can be improved, and we had a couple of improvements checked in this week. First, the SQL generated for preloading records in has_and_belongs_to_many associations has had an extra “AS” excised, which makes it work better with some databases. Also, we now have a :having option on find (as well as on has_many and has_and_belongs_to_many associations) for filtering records in grouped finds. As those with heavy SQL backgrounds know, this allows filtering based on grouped results:

developers =
Ruby on Rails: Phusion Passenger 2.0.5 now compatible with Edge RailsToday

The Phusion team keeps blazing ahead with Passenger and improving it rapidly. They’ve just released version 2.0.5, which includes a few fixes and introduces compatibility with the Rack-based Edge Rails.

At 37signals, we’ve already switched over Ta-da List and are busy working on getting the rest of our suite running on Passenger. It’s just so much easier to deal with and the memory savings you get through REE are a nice cherry on top.

I keep getting a steady stream of success reports from all over the world as well. I’ve even read of a few people getting back into Rails development because Passenger finally took out the inconvenience of deploying.

It’s hard to argue with the usability. I’ve personally been setting up a new server running Ubuntu 8.10 and using Apache 2 with Passenger. The time it took me to go from a fresh install to a complete production setup was ridiculously low. There’s just so much less to worry about.

If you haven’t given Passenger a chance yet, now is definitely the time.

Pat Eyler: Benchmarking and RefactoringToday
This blog post is pulled from the Profiling and Optimizing Ruby tutorial I wrote for IBM DeveloperWorks a couple of years ago. If you'd like to reuse it, please note that the initial publication at DeveloperWorks must be attributed. I've reposted it here so that people can access it without signing up for a DeveloperWorks account. Another section of this tutorial, Benchmarking Makes it Better
Chad Fowler: Your Customers Aren't IdiotsYesterday

I was in a customer conference call with John Athayde recently, and he did something really smart. He was talking about his in-progress design for the customer’s product and he wanted to explain that we would have reusable snippets of the design which would allow us to consistently provide the same view of an important part of the system whenever it would show up. This being a Rails project, we would do this using ERb partials.

So, John said, “We will extract this out into little snippets that I’ll call…partials”. And so on.

He could have made up a metaphor and used a new customer-friendly term for this. Or he could have explained that we’re using Rails, and Rails supports this thing called “partials” which is…blah blah blah. But the former requires us to learn a dumb new word just for this project, and the latter is too much information. The term “partial” is a pretty good one to describe what it does. In fact, in most well-designed systems, the terms the system uses to describe concepts are pretty good. Pretty easy to understand.

For some reason we developers feel compelled to hide these terms and concepts from our customers as if they’re children that can’t be trusted with sharp tools. They’re not idiots. They just know different things than we do. Imagine if they tried to hide their terms and concepts from you because they assumed you were unable to understand them.