Friday, May 18, 2007

Quotes and Notes from DHH's RailsConf 2007 Keynote

"Rails 2 Is Not Going To Be A Unicorn"

"The world of resources is a better, greener place for web development."

Single action which handles three different formats. Not a unicorn because it works today. "All of this stuff will pretty much just work."

./script/generate scaffold person name:string created_at:datetime - That's awesome. You can give the scaffold generator the basic attributes of the model.

format.xml { render :xml => @people } - I'm sold on REST, finally. format.csv is nearly a one-liner also. It automatically assumes the correct return format, so a direct use of Mime::CSV is unnecessary.

Involuntary debugging demo.

"3 years of Ruby on Rails experience." DHH showed a job ad and commented that the headhunters were looking for people who had more Rails experience than he did.

ActiveWebService's death is now finally official. ActiveResource yes, ActiveWebService no. Adios. Rails is not Switzerland; Rails takes sides. SOAP no; REST APIs yes.

Looking for ways to add OpenID and Atom to Rails; these are horses in the race that they want to back but aren't yet doing so. Ajax and Rest are friends; OpenID and Atom are allies.

"Breakpoints are back." Happy about that; jokingly blames "guys in Japan" for fixing the bug breakpoints depended on. ActiveWebService guy's ruby-debugger now gives you breakpointing again. I think that wasn't actually news; I think it's also really called ruby-debug, not ruby-debugger. You can trace it up and down through the call stack in the framework. I think Adam Wiggins' project Gyre already makes use of this to give you a Rails IDE that runs in Rails.

Admits HTTP performance strategy fux0r3d; showed huge list of JS and CSS in use in Highrise. Hopefully this means there's a new directory structure coming to organize JS and CSS properly. all.css and all.js is the solution he's describing.

javascript_include_tag :all, :cache => :true

Not what I was hoping for - seems less flexible than Iowa - but still definitely an improvement.

Solution is a line in a configuration file! specifying a separate asset host.

Huge difference in perceived performance because branching to a separate server eliminates (hardcoded and arbitrary) browser limitations on simultaneous per-server connections.

"It's really hard to figure out how to do object caching well." (Referring to SQL.)

Query cache. Something which scans queries and ? Ah OK. It doesn't bother with object caching because it's hard; it caches identical SQL queries only because identifying them is effortless and cheap. So you get it for free; automatically activated by default. You get it for free. Standard Rails design, really, do the easy thing fast and wait to see if the corner case ever even happens in real life. It's a good practical design principle (this is my commentary, not what DHH said).

Best news so far: ERb files are going to end in .erb. Finally!

I think I knew about that already, though. I'm not sure if I did or not. That's weird.

config/initializers - another Thank God. (I think this was announced on Ryan's "What's New In Rails Edge" around March.)

"Sexy Migrations" - actual slide text. This was announced somewhere recently as well.

Honestly, I hate to sound cynical, but most of the content in this keynote is old news if you read Ryan Daigle's blog. In fact all this "finally" and "thank God" I'm writing, that's where it comes from. I keep thinking he's saying new stuff that's finally happening, he's really just giving an update on what he's been doing in Rails core, which is a pretty reasonable thing to do during a keynote, especially if you've been keeping busy, but yeah, it is mostly old news. Took me a while to realize it, though, the coffee I had this morning was pretty bad. The best in the vicinity that I know of so far is Starbucks. That's a serious fucking problem. I should have brought my espresso machine.

"The MIT Assumption" - slide title. Here's something actually interesting - DHH loves the MIT license. MIT license is autogenerated by default if you build plugins or whatever. There's something funny about that, but it's a very useful thing. DHH's business sense is a huge part of what makes Rails great. Boring keynote compared to Canada On Rails, though. That was a fucking awesome keynote. To be fair, though, if I was reading as many blogs back then as I am today, I might have been less surprised by that one too. It was definitely very popular, and there's definitely a lot of good energy here.


  1. Your in Portland yes? Try hitting up Stumptown best coffee in Portland, even if their website is flash based. If your at the convention center probably easy to catch a max into downtown and hit the one on 3rd and Ash (ish), get off at the Skidmore Fountain stop, walk up to third and take a left.


Note: Only a member of this blog may post a comment.