Rails Conf 2010 Day 2

10 Jun 2010

Only 40 tweets today (re and otherwise). I must be slowing down in my old age. Tweets are in italics.

Today’s morning music was “Bulletproof” by Pop Will Eat Itself. Cram that in your head @ryanbriones
Ryan was complaining yesterday that he had the theme from flash stuck in his head all day because of me. That sounds awesome! I had a Daft Punk song stuck in my head all day today and I was a better person for it.

Trying to work on my Lightning Talk. Lightning talks are usually the best part of any conf so it better be good. 4:25 today #railsconf
Lightning talk is finished. Title: “ActiveMQ and ActiveMessaging: I’ve Experienced the Pain So You Don’t Have To” #railsconf

Yeah, I got up, worked out, ate eggs wrapped in cheese and bacon, showered and then realized I had gotten up an hour early by mistake. Opportunity! So I worked on the lightning talk. To be honest, I was kinda pissed at myself for the boneheaded alarm mishandling but if it doesn’t make you money or happy, you need to let it go.

Don’t forget to read my sham of a blog post about #RailsConf Day 1: http://is.gd/cIdLZ
So very meta.

iPod at #RailsConf Keynote has been set to “BadPopCountryMusic” wtf mate?
Seriously. Is there anything worse than top 40 wanna be country music?

Creativity & Constraint - Neal Ford

“Some of the ‘facts’ in this talk may in fact be harmless lies” - disclaimer of @neal4d #railsconf
This disclaimer needs to be in front of all keynotes.

I’m Not Old, I’m seasoned. @neal4d #railsconf
Me too buddy, me too.

“The right community to suggest something really weird to” @neal4d #railsconf
RT I so wanna go to Neal Ford’s halloween party! #railsconf
Constraints are liberating: @neal4d excuse for showing cool Halloween photos at #railsconf

His Halloween party pics were off the hook. Did I ever tell you I took Neal to his first day lunch at ThoughtWorks? You’d think that would get me a Halloween party invite but memories are short. Jerk.

What constraints help? Maybe not static typing… @neal4d #railsconf
Double true.

Hemingway and the Ex Pats in Paris wore stupid hats #railsconf
Well they do. Americans in berets look stupid. There – I said it.

An empty canvas is a daunting task @neal4d #railsconf
The invention of the camera made painters do something different besides making it look real. @neal4d #railsconf
The Camera gave painters freedom from the responsibility of representation. @neal4d #railsconf
Our camera is Java Enterprise Development - they can crank out vanilla apps so we can move on to interpretation @neal4d #railsconf

Interesting. I think he meant no offense to Java devs in specific but much offense to the mindless and complacent.

.@neal4d has a crazy terse 3 line Quicksort implementation #railsconf

Yeah, I had no idea what it did. You’d need a team powerful enough to turn goat piss into moonshine if you’re going to check that in.

Non-obfuscating density is a characteristic of art in code @neal4d #railsconf

But how much density is too much? It’s a thin line between art and crap.

RT #railsconf @_why : when u dont create things, u become defined by ur tastes rather than ability. ur tastes narrow & exclude ppl. so create

Neal ended up his talk with poignant quote from _why. Pour one out for the homies who couldn’t be here.

Sponsored Keynote: Engine Yard’s Open Source Love Affair - Evan Phoenix

Dr. Who Theme! Played live by #railsconf ers

Did Evan come on as a rock star or a parody of a rock star? you decide. #railsconf
Rim shots at a keynote? #railsconf
Talk show format is… interesting Will it pay off? @evanphx #railsconf

A ‘Late Night with X’ theme backed up by a live band. And a game of password.

.@evanphx “Perl is the word you were looking for” Dr. Nic: “Never heard of it.” #railsconf

Well played Doc.

Enjoyed a pleasant 10 minutes of nothing with @evanphx #railsconf

I really did enjoy it. Better than somebody coming out and saying “hey we bought this slot with our sponsorship and we’re awesome.”

And then Twitter went down. Again. So I had to type into a document instead of live to the world. It felt weird and dirty.

Ruby on Rails: Tasty Burgers – Aaron Patterson

First, you have to download his slides just for the introduction: http://tenderlovemaking.com/railsconf2010.pdf

Two samples to entice you:

Hello this is @tenderlove


Btw his outfits put mine to shame. Today’s was a deep magenta velvet jacket with a 70’s tie and an ironic mustache. Or a sincere but poorly chosen mustache. There’s a point when intense silliness becomes serious and upon that point Mr. Tender Love Making is doing an interpretive dance.

Topics he talked about:

sqlite3-ruby and Sqlite

Did you know you can have a virtual file system in Sqlite? Me neither.

The new version of sqlite3-ruby is x1000 faster than before (1.3.0 vs 1.2.5)


Mmap is a gem that lets you treat a file like a string. So if you need to pass in a string to something but don’t want to read the whole file into memory use Mmap. Pretty useful tool to have in your back pocket.


Unknown but useful rack trick: Rack will call ‘each’ and ‘close’ on the return object. So you can pass it an array or file and things will work out just fine. Handy.

He speculated that Rails could take advantage of this and return html in pieces (as it’s rendered) to make things faster. Would be hard to do but awesome.

JSON is a subset of YAML – I did not know that. Did everyone else? Really? I knew you all were talking behind my back.

He left the stage with a plea for the audience to dig into rails and investigate the ‘Tasty Burgers.’

But wait, there was some advanced shenanigans when he called Evan Phoenix to ask him a question. During Evan’s talk! Those guys are the kings of wacky.

Redis, Rails, and Resque - Background Job Bliss by Chris Wanstrath

No Slides at all! But still good.

“Redis is all we really wanted it for a long time but we didn’t know we wanted it”

Redis is a key value store for data structures @defunkt #railsconf

This doesn’t have anything to do with Chris Wanstrath’s appearance but comical mustaches are the new black. Except that he has a mustache now. And it looks silly. Not that I can complain about peoples fashions sense.

Chris is totally in love with Redis and Unicorn because their maintainers are awesome, active, and their software is pretty bullet proof (it stays up). Which is kinda important to Github.

He advises you to background everything you can and I agree.

Resque is the queuing system they built on top of Redis. I’ve used it at Groupon and seen it used on Mad Mimi and it works well. Plus the built in Sinatra web UI provides an amazingly informative look into the live queues.

Github is on Ruby Enterprise Edition now. So is Backstop (my company). And everyone else at Ruby Conf. It just surpassed ironic mustaches as the new black.

Chris is determined to not add any queuing features to Resque. He wants to let the plugins do that and there are more than a few you should check out. I’d Google that for you but I’m tired.

Rocket Fueled Cucumbers - Joseph Wilk

So Joseph’s cuke build was getting out of control as it grew. Taking more than 4 hours. He solved this by using EC2 and Testjour (or Hydra) to parallelize the suite across 20 machines and got it down to 11 minutes. But it cost $3K a month. Yipes.

He recommends stubbing out slow services and maybe even caching the db (but didn’t specify how).

He’s excited about using the cucover gem to do “Lazy coverage-aware running of Cucumber acceptance tests” Kinda like a super smart autotest.

He mentioned this post as required reading that he doesn’t necessarily agree with: http://jamesshore.com/Blog/Alternatives-to-Acceptance-Testing.html

Capybara can use envjs gem to run javascript tests in cuke. Which is very cool. Capybara-envjs on github

Dear Lazyweb, how do you get a showoff presentation up on Heroku? I’d like to put my lightning talk up. #railsconf
Posted this before my talk. Still have no answer but if all the cool kids can do it I’m sure I can figure it out.

Lightning Talks

Lightning Talks start now and I’m giving one. Come to Ballroom 1 now! #railsconf

RT client_side_validations http://bit.ly/9gEfuL #railsconf
Interesting gem. Way too much live coding for a lightning talk - dude was brave. He barely made it to the end and almost missed giving out the gem name. Live coding seems like a good idea but is to be avoided in presentations. Ignore my advice at your own peril.

Don’t hide costs from the client – it leads to bad relationships #lightningtalks #railsconf
Custom filters based on metadata looks cool in RSpec 2 #lightningtalks #railsconf
gem install surveyor for easy surveys in your rails app #lightningtalks #railsconf
surveyor gem can ask some complicated questions with easy. #lightningtalks #railsconf
RT Mind. Blown. http://bit.ly/90D1ur Now that was a lightning talk by @igrigorik. #railsconf

Yeah the schema free sql database thing was a nice antidote to all this NoSql hype.

http://bit.ly/RwandaOnRails looks like an interesting way to track charity money’s effectiveness #lightningtalks #railsconf
“Yes and…” is an important part of improv and pairing. I totally agree. #lightningtalks #railsconf

My lightning talk went well and as soon as I figure out how to get it up on Heroku I’ll give you (dear reader) the url.

Update: Here they are: http://active-messaging-pain.heroku.com/

Keynote - Derek Sivers

In 2007 Derek took a lot of heat for his article entitled: “7 reasons I switched back to PHP after 2 years on Rails”
Which can be found here: http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html

I remember reading it and thinking he was a moron. He gives a pretty good keynote for a moron so perhaps I should reevaluate.

RT The first follower turns a lone nut into a leader. - @sivers #railsconf
RT derek sivers shows this vid http://bit.ly/guHuz to talk about being a leader and starting a movement #railsconf

The talk was all about how he preferred his own PHP frameworky thing but how that couldn’t scale and so he’s coming back to Rails. And is excited about Rails 3. Also there was a lot about building community. We use our emotional brain to justify our rational experiences. But sometimes our emotional brain has access to things we don’t consciously know (detailed in the book ‘Blink’). There was more but it’s late and I’m pretty tired so I’m wrapping this blog post up with a few more tweets:

Fogo de Chao ftw #railsconf
Drunk. Drunk on steak. Drunk on chocolate. In fact, I’m like a chocoholic except for alcohol.