Finished the first day of Rails Conf and here are my impressions:
DHH’s keynote:
Lets celebrate what we have. Blah blah blah. Rails has come a long way. Yadda yadda yadda. Here’s a sneak preview of what ActiveResource is going to be like in Rails 2.0. Ooooh, Aaaah.
Actually the ActiveResource stuff was pretty cool. With a little bit of setup you can have one controller method serve up xml and text and html and all sorts of stuff. All RESTful style of course. And the debugger will be back (broken when someone fixed a bug in Ruby 1.85) and it will be a real debugger.
When will 2.0 be out? He didn’t say. Go use edge if you dare.
Bob Martin’s Clean Code Presentation:
On the one hand, this is a lot of stuff I’ve heard before (I hung around Object Mentor at the start of my career), but Uncle Bob is such a good speaker he got me all fired up again about TDD, Red Green Refactor, and incremental steps. There was this point where a slide was clearly missing from the presentation that showed what code he would write next, and he totally recovered so fast as to make you think he planned it. Then some guy in the audience tried to call him out on it and Bob turned his mistake into a virtue and expounded on the idea. Mad presentation skills: he’s got ‘em.
He used RSpec in his tests and that was awesome (the guy next to me actually cheered when he saw the tests were in RSpec). I’d like to take a moment here and yell at the Rails Conf organizers for having no RSpec talks, ‘cause RSpec is easily one of the cooler things happening in Ruby/Rails. Why the freeze out? The jerk store called and its running out of Rails Conf organizers.
Oh and I liked that there was a lot of code in Bob Martin’s talk. No pretty pictures and hand waving here.
Scale Rails Without Bounds on Amazon EC2:
Speaking of pretty pictures and hand waving…
I mean the idea of renting server time for 10 cents an hour is pretty cool. And being able to automagically kick off a bunch of servers when you need ‘em (in 2-8 minutes) is freakin’ bad ass. But where’s the rubber meets the road details? Can we see some code? Nope. Boxes with arrows pointing to cylinders is all you get.
Btw, you better back up your data all the time ‘cause when those servers go down you are totally out ‘o luck (perhaps you might like to use Amazon’s S3 (super soldier storage) for that?).
Standing on the shoulders Giants
Was too damn crowded so I couldn’t get in. So Josh Cronemeyer and I paired on out plan to migrate fixtures – coming soon.
Spam I Have Known by Jim Weirich:
Awesome – Good speaker and a fascinating topic.
As Jim has been managing the Ruby Garden Wiki for the last few years, he has run into his fair share of spam (in this case, spam that has links to web other sites to give them the “Google Juice”). Some of the spam was stupid and hilarious (“I’m sorry for links my kids and my wife need food”). But some was super clever – Cross site scripting , zero height links, and pseudo encrypted text that used JavaScript to decrypt itself into more JavaScript.
Anyway, his solution was to create a “tar pit” for spammers. When they come in and are identified as spammers (through various combinations of content, IP address, lack of reverse DNS look up, being anonymous, etc.) they take the post and send it to a separate db and make it look like the spammer has succeeded. This means that if they come back to check to see if their spam is still there – they see a site with spam. Everyone else sees a site that is spam free. They do this because the spammers tended to learn from rejection. Rejected?, try again. And again. So every solution was overcome. By denning them feedback (and making it appear they have succeeded) Jim W. hopes to hold them off for longer. He incorporated this idea and many other spam prevention measures into a wiki called “Ruse.”
Later I fell in to conversation with Roy Singham, Martin Fowler, Ola Bini, DHH, and bunch of other luminary types. Then a limo pulled up and whisked them away. Guess I don’t quite rate a limo yet. Sigh.
Buffalo burgers and beer at Voleur would have to suffice. Nice place, even if they did screw up our order. Twice. But that meant that we got to meet the chef who had a naked lady tattooed on his arm. Very cool.
Oh and I should mention that the ThoughtWorks hang out area is very cool. We’re building a real live app using Mingle and the very Mac mini’s I worked on at First Street Live. You too could get the chance to pair with a real live ThoughtWorker (gasp). Also there are Mingle (a very cool agile project management tool written by us) demos and lounge chairs and free soda pop and cute little give aways. Mad props to all who set this up.