Wednesday, June 25, 2008

Fear And Loathing At RailsConf

Chad Fowler wrote a great book.

And then said some strange things:

Photo by James Duncan Davidson

They're both reasonable things to say, it was just really weird to hear them combined like that.

Chad also did a little video interview with Gregg Pollack from Rails Envy. Take a second and check it out:

In it Chad says that the Ruby community has a good tradition of weird because for years this wasn't something you could get a day job doing. Today it is. Keeping the weirdness that flourished during that time is hard.

He also says "a lot of people" have complained about RubyConf being on a weekend.

Problem is, to my knowledge only one person has complained about that. It may be a lot of people via personal e-mail to Chad. Out on the world of the Web, as far as I've seen, it's just one person, and that person is Tim Bray. I don't ever listen to anything Tim Bray says, whether to agree or disagree, but if other people find him relevant, then by all means listen. But only give him one vote, because one person gets one vote.

This subtle falseness in Chad's reasoning led me to see another subtle falseness as well. He says the Ruby community has a good tradition of weirdness because for years this wasn't something you could get a day job doing. What if the Ruby community has a good tradition of weirdness, and it used to be that this wasn't something you could get a day job doing?

It makes a difference. "Because" means the weirdness is doomed to die out sooner or later. "And" means the popularity of Rails is victory and vindication for the weird - a sign of greater weird yet to come.

Let's make another subtle change.

What if the Ruby community has a tradition of weirdness, and it used to be that this wasn't something many people could get a day job doing?

This would be the historically accurate version. Ruby's obscurity didn't prevent Jamis Buck or DHH from getting day jobs with it. This would also be the version which doesn't conflate correlation with causation.

Chad's reasoning contains historical inaccuracies and a classic logical fallacy; he also confused the voice of one individual with the voice of the Ruby community. I believe the jury will find him guilty on three different counts of being wrong.

Seriously, I think Chad's heart is in the right place, and his goal is a valid goal.

How can we achieve it?

Or let's make yet another subtle change. Let's take off the "how." Can we achieve it? Is it even possible?

One way to find the answer to a question is to flip it inside-out. Instead of asking "can we keep RailsConf weird?", let's ask "will weird keep RailsConf?" If we do that, we know Chad's worthy goal won't happen. Weird has already rejected RailsConf. Virtually every open-source conference spawns a RejectConf, but RailsConf is unique in that it's spawned three - RejectConf itself, CabooseConf, and RubyFringe.

Elvis has left the building.

Each successive anti-RailsConf moves physically further away. RejectConf happened within RailsConf itself; CabooseConf happened in a different building in the same city; RubyFringe will happen in a different building, in a different city, in a different country.

Meanwhile, rumor has it Chad announced RailsConf will be in Las Vegas next year - moving from a city filled with strippers, plus the world's best tech bookstore, to a city filled with strippers, plus gambling. Again, I'm not saying you can't keep things weird by making this tradeoff. I'm just saying it's the hard way. It kinda seems like they got rid of something worth keeping.

Besides, we have so much Silicon Valley at RailsConf, we might already have all the gamblers we could possibly need.

In 2006, I asked on the Rails list who the interesting VC startups using Rails were, and people made fun of me for putting the words "interesting" and "VC" next to each other. One of the big rallying points for the Rails community before the VCs came was that Rails was a framework drawn out of real success in independent small business. Hackers who ran their own businesses knew what could really work; VCs were just schmucks rolling dice.

Taking this too seriously would be a mistake. But still, for Vegas to be an in-joke in 2006 and a headquarters in 2009 seems like a rapid and dramatic change. I think some people feel betrayed and insulted by this change.

It really seems a bit messed up. Here's DHH, telling us that it's important to take the surplus Rails provides, in terms of productivity, and not misuse it wastefully - his specific example being hookers and fur coats - but instead invest in ourselves, learning to whittle spoons out of oak and becoming wiser human beings. DHH is saying, "No hookers! Choose a life well-lived!" And RailsConf is like, "Screw Portland! We're going to Vegas!"

I like the dry Vegas climate much more than the soggy Portland climate. I always catch colds in Portland, and this time around I caught an epic fail case of laryngitis. But I like Portland the city much more than Vegas the city. Of course to be fair, I know Portland better than Vegas. I've only ever driven through Vegas, and when I could I drove around it instead. I fear Vegas. I can imagine what Vegas would do to me, because I know what Vegas did to Elvis, and I know what Vegas did to Hunter S. Thompson too.

Vegas is so hostile to weirdness it is literally a matter of legend. Fear And Loathing In Las Vegas is the biggest "here be dragonnes" sign that a truly weird person ever built to warn away other truly weird people, ever, in the entire history of human weirdness. "We need to keep RailsConf weird; let's all go to Vegas" is true epic fail, especially when healthy environments for weird already exist.

I go to lots of conferences, both the big, national ones, and the little, regional ones. Weird is doing just fine at those smaller conferences. One of the engines driving these regional conferences is the grants program from RubyCentral, an org Chad founded which drives both RailsConf and RubyConf.

This is the ironic part. Keeping RailsConf weird is unlikely, but keeping weird alive and well in the larger Ruby community is already happening, and Chad's part of the reason why. Chad is at least breaking even here, because as 100% fail as this Vegas thing is, RubyCentral's effort to preserve weird in regional conferences is all win. Its funding assistance encourages the regionals to each develop their own unique feel, and unique local culture is the real engine that powers weird.

For instance, GoRuCo hired a local graffiti artist to hand-draw its lanyards. I don't know if they had an assist from RubyCentral, but I do know that kind of weird is much easier with 150 people than with 1,500. It'd take some serious effort to create 1,500 unique graffiti nametags by hand.

I can say something similar with absolute confidence, because it's tautological: if I ever put together a regional conference, weird will have a home there. Whether a good thing or a bad thing, nobody has ever asked the question, "How can we keep Giles weird?"

It just doesn't seem to come up.

I think we can probably have the same confidence about the general Ruby community. As far as RailsConf, though, probably not. The crazy ones inevitably talk about different things than normal people do, and a conference which could accomodate both the exception and the norm would be a remarkable, improbable thing.

Which brings me to the solution. I think Chad should give up this idea of keeping RailsConf weird. Weird isn't keeping RailsConf either way, so he might as well quit breaking even and aim for pure profit. There's all this thorough and complete wrongness when it comes to RailsConf. There's a worthwhile goal and success achieving that goal elsewhere. And there's the fact that people enjoy RailsConf as is. The logical conclusion is the goal doesn't fit the context, and trying for it involves all kinds of struggle. There are times when struggle is worth it.

There are times when struggle is not.

The real reason the Ruby community had tons of weird when it was small hasn't got a thing to do with the money involved. Unique local culture powers the development of weird, and in a sense, the early Ruby community was a unique local culture - just local to a language rather than to a place. Rails is mainstream, or at least RailsConf is, because only the mainstream has to expend effort just to stay weird. Small Ruby conferences will keep weirding weirder and weirder, but that's not RailsConf's role in the ecosystem. The forces pushing RailsConf to Vegas aren't the forces of weird but the forces of normal - the Sandpaper of Averageness and the Nyquil of Safety. These are powerful demons; if we wrestle them, we'll probably lose. Sometimes you just have to accept that things are the way they are.

However, if you really want to keep RailsConf weird, it's not hard to do at all. It's the easiest thing in the world.

It wouldn't hurt to fire O'Reilly, either. O'Reilly organizes RailsConf almost identically to the way it organizes OSCON - multiple sessions, multiple rooms, the same security, the same registration process, etc., etc. But RailsConf's sessions seem to happen entirely randomly, separated from one another with no readily apparent logic. OSCON is a gathering of the tribes, with distinct, very explicitly articulated tracks for nearly every open source phenomenon under the sun.

Because people come to OSCON with their tribal affiliations already in place, OSCON is actually a much better gathering place for weird than RailsConf is. The predetermined tribes localize things to an extent, which in turn incubates a certain amount of weirdness. But these predetermined tribes don't exist at RailsConf, and there's no way RailsConf will ever get weird without them - and yes, the truth is RailsConf doesn't need to keep weird, it needs to get weird.

More to the point, RailsConf's schedule will never make any sense unless it develops some kind of unifying theme. O'Reilly applied the OSCON template to RailsConf without bothering to notice the absence of the circumstances which make OSCON's template work in the first place. It's cargo cult conference planning.

If RailsConf had tracks the way OSCON has tracks, you might get a certain amount of implicit tribalism, and this might give you an incubator for weird. Picture a scaling track, a newbies track, a wizards track, and a track for related non-Rails tech like Merb, DataMapper, jQuery, and Erlang. Suddenly you've got several small, highly specific worlds - unique local cultures, local to an interest rather than an area. Suddenly you have a context where weird can happen.

So maybe I'm wrong. Maybe RailsConf will stay weird. After all, even the Dead Kennedys love Las Vegas.

Update: Rick Olson corrects me; CabooseConf will be in Vegas too.