Rails Conf 2009 First Day of Sessions (Morning)

05 May 2009

Quick note: What’s up with all the moths in this convention hall? They keep wandering over to see what I’m typing. Odd.

David Heinemeier Hansson’s Keynote:

Here are some thoughts expressed by David during his keynote:
You can win argument merely based on the strength of your arguments, most often it just takes some time for good ideas to sink in.

7 Reasons I switched back to php (Derek Silvers) and the Twitter Fail whale (Twitter’s scaling problems with Rails) were pretty big issues – for about 2 days on Digg/slashdot. His strategy with this is to relax, read the credible info and learn. Criticisms about Rails scaling will never go away despite all the high profile successes.

Merb was the most credible internal (from inside the community) competitor/critic. And now they are merging in Rails 3.

Philosophy of Rails 3:
Lock up the unicorns… huh? You can’t get every feature you want and still release before the end of the world.

No sacred cows. If you want to break every Rails app out there with your idea: it’s still on the table. You have to have an overwhelming argument to get it accepted, but they will listen.

Rails is still committed to getting everything by default. But now you can have less if you need it.

Progress of Rails 3:
New Router:
route by subdomains, user agents, etc.
route to rack machinery

Cross site scripting protection:
Previously not automatically escaped.
The convention will be reversed

<%= comment.body %> escaped
<%= raw comment.body %> not escaped
The rails helpers will automatically escape
You can mark a sting as html safe Ex. “I’m safe!”.html_safe

Javascript - unobtrusive and agnostic
Not so much included javascript in the template, but will pull it out into a file. The javascript that Rails used to put on the page when your did, say, link_to_remote will now be abstracted into a file that looks for ‘data-remote’ attribute on the anchor tag.

More Agnosticism
Action ORM (so you can use form_for a data mapper object)
Generators are now more open to plugging in stuff

The great Refactoring
Cleaning up a bunch of internals to make them less cluttered and speedier.

The real secret of high productivity:
Renegotiate requirements. If you look at requirements as set in stone you will leave a lot of productivity on the floor. Most of the time the business will take an 80 or even 60 percent solution if it takes a lot less time. Resist gold-plating.
Are you a programmer or a partner?

The GitHub Panel with Chris Wanstrath (GitHub), Tom Preston-Werner (GitHub), PJ Hyett (GitHub), Scott Chacon (GitHub), Jon Maddox (Mustache, Inc.):

The entire GitHub team answered questions from the internet and the audience. Here’s some of the highlights:

They open source grit, but not the whole application. Because they want to make money and they want it to be their own vision. Maybe someday in the future.

One of the devs said he wished they had never built the rubygems system. It takes a ton of work and it doesn’t make any money. Chris Wanstrath piped up that it’s an effort of goodwill. I would say so. I’ve never got around to putting the MetricFu gem on Rubyforge and rely solely on GitHub to provide my gems. Maybe I should change that.

They are planning to introduce more sociableness like groups and customizing your feed with weighting. Which would be very cool.

They are profitable and are able to pay themselves nice salaries. This was not the case 6 months ago. Chris Wanstrath said that he spent 6 months living on savings and writing code every day. It was the best time of his life.

They have no office. But they do have a cafe they hang out at a lot.

Off the cuff comment when asked about crashing firefox: “The site is optimized for Safari.” Ouch. Before you get bent out of shape – they were joking. They plan to re-do the project page to better deal with lots of branches or tags.

The network data (used to make the network graph) is all available from the api.

They use 9 slices on Engine Yard.

Discussion Panel: Women in Rails with Desi McAdam (Hashrocket Inc and DevChix Inc), Sarah Mei (LookSmart), Lori Olson (Dragon Sharp Consulting):

Desi declared that they would only spend 5 minutes on the Couch DB Pr0n scandal. They wanted to spend most of the time talking about getting more women into the community.

One way is to create groups for women. Example: DevChix (http://www.devchix.com/)

Also being more visible so that women know you’re out there. One of the panelist said that she feels like that’s hard for a lot of women but that it’s important to have a blog or twitter or whatever.

There’s a lot of women who drop out when they have kids. And when they try to come back there’s a gap in their resume’ so they can’t even get an interview.

You don’t see a lot women in the Rails community (vs Java) because of the lack of maternity leave in small companies (which tend to adopt Rails more easily). The cutting edge languages and companies tend to lose out on women candidates through their lack of benefits.

In the 80’s 25-30% of CS students were women. It’s since gone way down. During the tech boom most CS programs made their first 2 classes super hard to weed out people as everyone was trying to be a programmer. This had the effect of driving female enrollment way down.

Desi talked about the need for sponsorship of women going to Rails conferences. Her organization, DevChix, has sent people to Rails Conf at reduced prices. Child care is another issue.

There are a lot of women who are developers in javascript/flash and call themselves designers. But they are really developers who just get paid a lot less.

Even women who develop often see another women at a conference and tend to assume she is a vendor salesperson.

One of the panelists said that she thought Matt Aimonetti (of the Couch DB pr0n scandal) made a mistake in just not thinking about the female developer community. Another said that you can’t argue with someone about how they feel. Desi pointed out that had Matt just apologized (and not said I’m sorry that you were offended). And also that David’s (DHH) tweet (“Do you think porn is an appropriate metaphor to be used in business presentations?” – Absolutely. Especially in jest.) did not help.