Bottom Line: If you can, use Lighty

Saturday, December 24

James Duncan Davidson has written an article on some hard learned lessons for deploying Rails applications.

Real Lessons for Rails Deployment covers James’ experiences with Apache 1.3 through 2.2 on various platforms, and his his conclusion that, for now at least, lighttpd works best.

So, where are we? Oh yah. At this point, if you have the option: use Lighty. As a member of the ASF, it pains me a bit to say it. But then, Lighty is fast. Clean. Easy to compile. Easy to configure. It plain kicks ass. So it doesn’t pain me that much. Its select-based model brings a smile to my face. I’ve got at least one more webserver to write in my lifetime, but thanks to Lighty being here now, I can wait a bit before doing so.

James shares his thoughts on software versions, RubyGems , and deploying with SwitchTower. Do check it out, especially if you want a good sense of how Rails fares in a production scenario.

Firefox extension for Rails API

Friday, December 23

If, like me, you find the Rails API documentation hard to navigate, you’ll appreciate the DevBoi sidebar extension and its Ruby on Rails addon package.

Devboi adds a sidebar to Firefox that provides access to all of Rails’ classes with nice little disclosure triangles to expand their method listings. You just double click on a class or method and it will load up the corresponding documentation page in the main window.

For more information and to download, visit the developer’s site:

http://www.martincohen.info/products/devboi/

Fat Wreck Chords on Rails

Friday, December 23

The website of notorious punk label Fat Wreck Chords has been redesigned by the guys at Liberation Media. In addition to a slick new look, it features a CMS and online ordering system built using everyone’s favorite framework, Ruby on Rails.

I love the look of this site; the high-contrast typography and the gratuitous use of the color pink is brilliant. The fact that it’s powered by Rails is even better.

Liberation Media’s David Holtz and I go way back to the 2nd installment of the ‘Building of Basecamp’ workshop in Chicago (circa September 2004) where we connected over our shared affinity for cigarettes. After the workshop, David requested the leftovers from the provided lunch and took them home.

Sunrise means new Rails features

Wednesday, December 21

The paint is barely dry on 37Signals’ latest product teaser, Sunrise, but DHH has already confirmed that Rails continues to benefit from the lessons learned in the wild:

BTW, for those keeping tab on Rails development, we’ve already started abstracting the tech we’re using in Sunrise. Polymorphic associations and join models are both abstractions from Sunrise.

Join models promise relief from occasional habtm “pushback” and are something I first saw used in the “Pursuit of Beauty” presentation. Being the geek that I am, join models excite me to no end.

If you want these features you’ll need to be on the edge. But fear not! Working on the edge couldn’t be easier, what with the rake freeze_edge task, so don’t wait for 1.1 to try out these new goodies.

The business case for Ruby on Rails

Wednesday, December 21

From the Rails weblog and in the latest volley in the continuing saga of Rails vs. Everyone Else, DHH proclaims, “the other consultancy bid a million dollars for a Java-based system, but the CIO picked the Rails solution.”

In perfect movie-poster form, find out why Curt Hibbs is calling Obie Fernadez’s post on Productivity Arbitrage a “Must-Read!”

Instead of Java, they differentiate themselves by pitching a Ruby on Rails solution. Quite innocently, they undercut their competition by pricing their bid at $800K and promising delivery within 6 months. According to their calculations, (and once again, these are rough figures), 4 resources x $192 rate x 8 months equals about $800k.

Obie also cites another pair of articles with a particular Relevance: Ruby/Rails—Put your money where your mouth is and its successor, Bidding Projects with Ruby/Rails, Take 2. Coming from the blog of some Java heavyweights, this is great stuff. A couple of choice cuts,

For the past 18 months, we have been quietly bidding web projects with both Java and Ruby on Rails. The numbers for us, so far, fall out like this: for applications in the Rails sweet spot (CRUD+Ajax on the web) our Rails price tends to be 30-50% less than the same bid implemented in Java.

And on the topic of maintainability,

One thing I point out to customers is that maintenance cost is some function of the size and quality of the codebase. A well-written Ruby codebase can be an order of magnitude smaller than a similar codebase in Java.

And as if all this press weren’t enough, Rails has experienced yet another Slashdotting. My favorite reply to “Is Ruby on Rails Maintainable?” is from the seminal Bruce Perens,

Maintainability is a combination of several factors. Most important is: can you read and understand the code? Ruby on Rails wins in this category because it’s brief – smaller and thus easier to comprehend than Java – without being cryptic like APL. Second most important is: is it easily modified? Here Rails wins again, because of the say it only once philosophy and because of Ruby’s duck typing.

All this on the very day that 37signals opens the doors of speculation on their newest product, Sunrise CRM.

A hyper-detractor!

Monday, December 19

“Bruce Eckel doesn’t like Ruby [or] the attention it’s getting,” says DHH in a scorching hot response to Eckel’s latest jab at the innocent Ruby, The departure of the hyper-enthusiasts. He continues,

No beef, that’s cool. But why not just say it like that? You could even have presented yourself as the polar opposite to the so-called hyper-enthusiasts: A hyper-detractor! The label comes complete with a cape, an evil smirk, and long tirades about how the other side is no match for your master plan.

Sometimes the interweb is such a fun soap opera! That totally made my day.

A new Rails book on the horizon

Saturday, December 17

There’s a new book on its way from David A. Black specifically aimed at those folks who are learning Ruby by using Rails. It’s titled Ruby for Rails: Ruby techniques for Rails developers and is slated for arrival in the spring.

One of the neat things about Rails is that you don’t really need to know much Ruby to get started. The way that Rails leverages idiomatic Ruby, it’s not unusual for people to think that Rails itself is a language, and it many ways, it is. There are, in fact, two things to learn when adopting Rails: the framework and the language. Due to Rails’ popularity, most folks end up learning the former before they have a complete grasp of the latter. This book is aimed at those folks.

So, if like me, your first exposure to the wonderful world of Ruby was through Rails, this book is sure to please. I’m looking forward to it.

Needed: a Ruby on Rails A-Team

Friday, December 16

The release of Ruby on Rails 1.0 is more than an important milestone. It represents the ushering in of a new era in web application development with the modern browser acting the part of platform. Despite early skepticism and sometimes harsh criticism, Rails has emerged as a clear champion in the framework debate. Whether or not you believe that Rails changes everything, one thing is certain: the web application is poised to play an important role in the future of software development.

I’m not going to get into the details of what I think defines the web version 2.0, but I think most would agree it includes tools like Ruby on Rails. In fact, as the makers of some of the only financially successful web 2.0 applications thus far, I would venture to say that the dynamic duo of Rails and 37signals are (deservedly) among conductors of the web 2.0 train—why, Rubies are more valuable than Snakes nowadays and even Google has taken notice, awarding Rails’ creator DHH the prestigious hacker of the year award.

Rails has it all: a great language, an agile philosophy, opensource good looks, and now that it’s hit 1.0, a professional image that rivals even its most established competitors. Recently redesigned by Jason Fried, the Rails website is a remarkable testimony to the power of clarity and honesty in web design. It looks simple enough to have been designed in a day, and showcases some fresh ideas in layout and branding. A year ago, Ruby on Rails was an underground open source web framework with a niche following; today it’s 37Signals newest product: a polished web application framework and a philosophy for software design and development. Clearly, a line has been drawn.

Despite this momentum, at this late stage it seems that no one company has emerged from the Toronto area as the A-Team of agile development with Rails. Sure, the two-thirtys have a distinct presence (though they don’t seem to venture on programming territory), and Prince Edward Island has the infamous silveroranges, but (surprisingly) neither of these have embraced Ruby on Rails as an application framework and a metaphor for software development. The closest Toronto comes is (Rails core) Tobias Lutke’s Ottawa outfit, Jaded Pixel.

The time has come to create such a force. I should know. I’ve been completely absorbed for the past year in all things Ruby and Rails—programming, learning, salivating, and paying attention. All that’s needed now is a crack team of developers. Passionate, switched-on people who really get the whole ‘getting real’ concept. I already know of a few worthy individuals, but if there are others out there, I want to hear from you.

If you are a Ruby on Rails developer in or around the GTA and want to get together for a fireside chat on world domination, drop me a line.

Ruby on Rails 1.0

Tuesday, December 13

Ruby on Rails 1.0 has been released! There’s even a shiny new website to prove it. So says DHH:

15 months after the first public release, Rails has arrived at the big 1.0. What a journey! We’ve gone through thousands of revisions, tickets, and patches from hundreds of contributors to get here. I’m incredibly proud at the core committer team, the community, and the ecosystem we’ve raised around this framework.

Mmmmm, watch this:

$ sudo gem update rails --include-dependencies
Upgrading installed gems...
Attempting remote upgrade of rails
Attempting remote installation of 'rails'
Successfully installed rails-1.0.0

My iMac is back

Tuesday, December 13

After about three weeks my iMac is back from the shop and perched happily on my desk again. As I had suspected, the problem was a faulty power supply. The fine folks at the mac outpost replaced it and all is right with the world once again.

Sadly, you hate toast poetry

Wednesday, November 30

why the lucky stiff wants you to try Ruby in your browser. In his continued effort to sneak Ruby through the system, he’s built a super-slick web interface for irb and thrown in a friendly tutorial. A perfect companion for his (poignant) guide and a shining example of interactivity.