Ruby on Rails
Ta-da List


June 28, 16:40 | Comments (81)

Discovering a world of resources

Over the past couple of months, my interest in HTTP, resources, and the effects of a CRUD-constrained approach to controllers have lead to a profound simplification in how I develop Rails applications.

I've been putting all of these thoughts to use in my work on Sunrise, the next application from 37signals, and its already proven a treasure trove of extractions.

As often is the case, these extractions see the light of day even before the originating application does. So at both RubyKaigi and RailsConf, I took the opportunity to explain where we are and the immediate future as I see it. Now that both those presentations have been delivered, the slides are available.

Interestingly enough, the most profound benefit I'm witnessing of this renaissance for HTTP has not been related to first-order glories of the protocol itself. But rather to the second-order impact it has on domain modeling. The birth of a new default assumption to design: "What if the whole world could be modeled under the constraints of CRUD?".

That's where the biggest and most satisfying payoff has lied for me personally. It's somewhat similar to the notion that test-driven development is less about tests and more about design. There are two examples in the slides to exemplify the effects of such a transformation.

I believe that's also what gave some people the chills at RailsConf. "Is DHH trying to to tighten the belts on the straight jacket of design once more?", seemed to be the worrying notion. Why yes, I am. But this time its an entirely voluntary committal. The brave new world of resources is accessible by choice, not mandate. And if you want to continue on with your life with a notion of HTTP as merely an inconsequential transfer protocol unworthy of your attention, you'll be more than free to do so.

But. If you choose to partake in the renaissance, be prepared to raise your game to a new level of delight. There's a rejuvenation awaiting you. One that'll simplify your controllers, bless your application with an almost-free REST API, and elevate your domain model even further away from the depths of anemic.

Can I get a hallelujah?

(Jim has a good walk-through of the specifics of the presentation that's worth reading while perusing the slides)

June 21, 23:58 | Comments (5)

From RubyKaigi to RailsConf

I had a wonderful time in Japan over the past two weeks. First, I enjoyed the good company of a large portion of the Japanese Ruby community at RubyKaigi. Including funny poses, signings of laptops, books, and t-shirts, and the barrage of photographs that were taken.

I really had no idea that Rails was so big in Japan. Pretty much all of the sessions at the conference that I attended mentioned Rails in one way or the other. I learned about cool plugins, such as ActiveHeart, made especially for the Japanese that I never knew about. I got to meet and greet quite a few of the contributors, including Maiha who gave a convincing talk on acts_as_view.

Many thanks to Koichi and Takahashi for making the event and my presence there possible. And equal thanks to my English translator Zev Blut and his girlfried Ayumi, who both went above and beyond to make Mary and I's stay a truly pleasurable experience.

Now back in Chicago, RailsConf is set to start tomorrow. That's certainly no less exciting. 550(!) people gathered for four days of Rails. Who would have thought we'd come this far in just under two years? I'm humbled again and again (even if my one tough-guy face doesn't reveal it in recent photo shots ;)).

June 21, 23:01 | Comments (14)

Beating Oprah Winfrey in her own town

Who needs a personal fortune in the billions when you can snub those who do on a list like Business 2.0's 50 People Who Matter. At number 34, I get to beat Oprah Winfrey in her own town. Now that's an honor making other recent accolades blush!

BTW, I'm happy to see that Business 2.0 held no ill will over my blast of their startup guide. Now that they put my name on a list, they're of course a completely authority. And you should listen! ;)