RubyConf 2007 Day 3
As expected, Day 3 is a lot more low energy, with less adventure and more audience members with headaches. People are stumbling into the talks anyway, and RubyConf wisely decided to jumpstart people's day with Dr. Nic.
It was a complete prick of a thing to work with. Can you say that in this country?
—Dr. Nic Williams
A For Australia
Dr. Nic Williams is presenting on Use Ruby to Generate More Ruby - RubiGen is Everywhere, a general purpose generator framework, so you can write generators for any app where it's really appropriate, like Merb. He's got lots of gunfire animations, A Team action scene reconstructions, and plays the A Team theme proudly through several parts of his talk. He's trying to break people (and the Rails team) out of thinking that generators are only Rails things, as well as demonstrate how easy it is to write generators in the first place. Dr. Nic is a great speaker, as usual, and the audience is entertained.
I love fun.
—Dr. Nic Williams
Dr. Nic is not the only speaker to have prepared a video, but he is the only one to have placed it on YouTube days before the conference. To my knowledge, he is also the only speaker to figure 80's theme music prominently into his work.
First, Who All Here Is Named David
Dave Astels and David Chelimsky are introducing themselves to talk about Behaviour Driven Development with RSpec. This isn't going to be a fair treatment, because I feel really distant from the whole thing. Dave asks the audience who doesn't know what acceptance testing and user stories are. I know what a user story is, but I've never heard of acceptance testing. I'm one of only two people to raise my hand.
Now they're showing off a feature where you can take the plaintext output of an RSpec user story run, and use a different class to parse it and run it as its own user story. It got spontaneous and strong applause, so obviously everyone is getting something I'm not. I'm resigning myself to feeling surly. Not as surly as Ryan Davis, apparently, who is standing up to ask a question, and instead giving a 2 minute diatribe of how he doesnt get BDD, without asking any actual question. When asked to come up with a question by the speakers, he ends up saying that his question is really to the audience, as to whether he's alone or not. He fails to rally a massive rebellion against RSpec and BDD, and soon sits down.
You're alone, but not in that way only.
—Chad Fowler, to Ryan Davis
The Best Idea Of All RubyConf
Rich Kilmer preceding the next speaker to tell us about the new Ruby Central Project Fund. This is meant to fund a developer, full time, for a period of 1, 2, or 3 months, to work on a Ruby project. Ruby Central will soon be accepting proposals, and publishing a document on their website as to what they're looking for in proposals. This is terrific!
Jay Phillips has begun his talk on Next-Gen VoIP Development with Ruby and Adhearsion. His first several minutes is a major gush about how wonderful Rails is, and how right it did everything, and how much of a huge improvement it was across the board—and there's nothing wrong with that. He's then moving into a whirlwind tour of how atrociously, hellishly bad it is to work directly with Asterisk, the world's leading open source telephony engine.
Adhearsion is a framework to work with VoIP and Asterisk, and it looks really cool. You can use it to make and receive VoIP calls, and it supports features like Caller ID spoofing, and ways of confusing automated telemarketer robots. Apparently he's also got Chad Fowler, Rich Kilmer, and Marcel Molina working on it, which is amazing.
What I wouldn't have expected is that it opens up possibilities like using your cell phone as a universal remote for your XBox, or your Roomba, and integration with Jabber (e.g. GTalk) IM protocols. I don't honestly understand why all those things are possible using Adhearsion, but I'm assured that they are. Jay has invoked the image of Bob Ross to cement this assurance.
Apparently Adhearsion 0.8 is being released later today, so this is as good a time as any to check it out.
Ben Scofield is here talking on Cleanliness is Next to Domain Specificity, and is focusing his attention on the theory of linguistic relativity, specifically Sapir-Whorf's. The idea being that language affects the way you think (obviously), not just in what you think, but the very how. He uses RSpec as an example, saying how we're wired to think of tests as something you do at the end of a process, and specifications as something you create at the beginning. By taking the test process, molding it into a specification-like language, and then presenting everything in terms of specs instead of tests, it's encouraging test-first development right off the bat, without any discussion of RSpec's actual quality.
People say there are 10 billion words for snow in the Eskimo language. Actually, there is no Eskimo language.
He's bringing up Kayak on the screen, a site I'm a huge fan of, and pointing out their Search API, and the Kayak-provided sample of Ruby code(!) to use it. The style of the sample is atrocious, and reads like bad PHP code all the way down (and it's a long way down). He's providing his own API syntax for Kayak, and his implementation of it, and basically trying to impress upon everyone how much better your code reads and works when you focus on the syntax first, and are willing to do what it takes to make that syntax happen.
And that's it! This is my first RubyConf, unfortunately, I wish I'd been able to see it when it was a little more lowkey. I heard that this year there were a little more than 500 registrants, which is less than the ~1600 for RailsConf 2007, but is still pretty big. Most of the good presentations were inspirational in nature, not technical, and most of them succeeded at doing that. Matz' town hall and keynote were especially surreal, but I do feel a lot more connected to the development of the Ruby language, and to the community as a whole, after participating.
I really worry about the Ruby community, and whether it can stay so positive. Already, I feel like the pride of 37signals is pushing its way in to everybody, its influence combatting with the humility of the original Ruby community. Matz and DHH are polar opposite personalities, yet both have strong wills and large influence. As the Ruby world swells in numbers and sense of importance, it could be very difficult indeed to prevent our culture from making the next step in Matz' chart.
The coolest people in Ruby, doing the coolest work, are those who don't need Ruby at all. Everyone who appreciates Ruby enough to devote time to building an alternate implementation of it, or a web framework in it, or something insane like a VoIP server, appreciates it because they're well versed in alternatives. Even _why has shut down his Ruby blog and opened one dedicated to coding as art. And when something better comes along, these minds will move along with it, and they will enjoy the next window, the one that has just closed for Ruby—the window that opens with early adopters and progressive thinkers, and closes with opportunists and legal departments.