Ruby Kaigi 2010 Day 2

28 Aug 2010

Holy crap am I tired. It’s been a long awesome day. It started out with some excitement:

I must have looked at that schedule 20 times and never realized that I had an hour slot. Everyone else had 30 minutes so I thought I did too.

I did something I almost never do: Look at crisis as an opportunity (crisi-tunity). I had to write “Metrics Based Refactoring” anyway for Windy City Rails so why not write it now. In less than 4 hours. While watching my friends present at a conference. Looking over those sentences now I can’t believe I didn’t freak out.

You are probably not surprised to find out that I can’t spell. Even Eito Katagiri, who did a wonderful job translating my slides, found a bunch of spelling errors and English is not his first language.

There were announcements everywhere about not doing this and yet I did. In my defense: I’m an idiot.

A very nice gesture. Lots of class here at Ruby Kaigi.

Time for Matz’s keynote!

This topic is a staple of Matz’s speaking career. I think the first time I saw him talk, years ago, he was talking about Ruby 2.0. Someday…

Lots of talk about the mysterious ‘classbox.’ What is it? Well here’s a paper on the subject:

http://www.iam.unibe.ch/~scg/Archive/Papers/Berg05aclassboxes.pdf

And some pertinent lines from the abstract:

…Unfortunately existing approaches suffer from various limitations. Either class extensions have a global impact, with possibly negative effects for unexpected clients, or they have a purely local impact, with neg- ative results for collaborating clients. Furthermore, conflicting class extensions are either disallowed, or resolved by linearization, with consequent negative effects. To solve these problems we present classboxes, a module system for object-oriented lan- guages that provides for method addition and replacement. Moreover, the changes made by a classbox are only visible to that classbox (or classboxes that import it), a feature we call local rebinding. To validate the model we have implemented it in the Squeak Smalltalk environment, and performed benchmarks.

Now for more Ruby 2.0 preview:

The debate on ‘mixes’ got pretty hot and heavy. Keep in mind that all this IRC chatter is displayed behind Matz while he was giving his keynote because the translations are done in IRC. So you’d be reading a translation of what he said right along with people discussing it.

I think the talk went very well. Especially considering that I wrote the second half fairly fast.

So I asked Paul how long their suites take and he said that they develop on 8 core machines and use Specjour to utilize 4 more cores so they tend to run between 5-8 minutes. Pretty damn fast for full stack integration testing.

Except he found out at the end of his presentation when he asked: “How much time do I have left?” and go the response: “25 minutes.” Yipes. Luckily there were a lot of questions.

When he said method_missing I grabbed the microphone back and responded: “Really?” I couldn’t help myself. I tend to avoid method_missing. There’s usually a way to do what you want with other programming tricks.

Good point.

Talking very fast does not lend itself to translation. But still they were very cool. Even better there was a lady in a kimono who would ‘gong’ you if you ran out of time.

The gong lady stikes

That is awesome.

After the lightning talks a few of us went back to the hotel to drop our things of before the party and we ran smack into this huge festival that happens once a year in Tsukuba. Here are some pics:

Festival 11

Festival 4

Festival 6

The party was super nice. And they had a fantastic spread of wonderful foods and drinks.