I started my day in Chicago the same ... at Jamba Juice. I'm hooked on their steel-cut oatmeal, of which Amy affectionately says, "It looks like throw-up." What care I? It has brown sugar crumbly stuff on the top.
Over the loudspeaker, the radio blasts this hideous PSA: "1-8-7-7 Cars for Kids! 1-8-7-7 Cars for Kids!" They keep on singing it, over and over. It's as if they had just figured out the "your brain needs something repeated seven times" rule from the 1950's. You know that rule - the one that got discredited about ten minutes after it came out. Don Draper oughta kick their ass.
The keynote of the third day was by Baratunde Thurston, the author of "How to Be Black." Thurston was one of the editors at The Onion, and his talk was the funniest keynote EVER. And it was scientifically proven the most funny by automated testing, since this is the only method that will convince a group of 2000 Rails programmers. To convince yourself, you may want to hit http://cultivatedwit.com and scroll down to "Section 4". Awesome!
As the day's workshops evolved, a larger truth occurred to me. It's true I felt out of place because I was old, collared, and PC-toting. But I also felt out of place because I was taught computer science differently than those around me. My brain got wired differently. In a nutshell, I was taught:
- Learn the fundamentals, principles and laws from the experts
- Do your programming accordingly
- When you break the rules, feel incredibly guilty
But the programmers around me were taught:
- Don't learn any rules. Dive right into programming. Come up with something that mostly works
- Survey the wreckage
- Go back to the experts and learn any fundamentals, principles and laws. Use them to clean up your software.
From that description, it sounds like that that I'm disparaging the new way. I'm not. It's a bottom-up way of looking at the world instead of a top-down. It's a Baptist way of looking at programming, as opposed to a Catholic. In that way, it's expected. The Catholics came first to bring order out of chaos. The Baptists came to wrestle chaos of order. Fantastic!
And if you don't think programming and religion intersect, you have not talked to any programmers. The zeal, the passion, the struggle to convert those who don't belong in your camp. I heard (actually more than once) that "Java is the root of all evil".
Veganomics
I made a reservation at a Brazilian Steakhouse, then rethought it. I eat meat on occasion, and I'm lucky that my body's pretty adaptible. But I have limits. Yelp subscribers told me that waiters come by your table, continually brandishing trays of meat, literally BEGGING you to take some. You leave having consumed more an entire food chain. My digestive system would've rebelled - I mean a nuclear rebellion.
So I cancelled my reservation, and ran in the opposite direction ... to Karyn's On The Green. All vegan. No hope of any animal product whatsoever. And while it didn't quite reach Two's level of intense awesomeness, it had its moments. I've been a big fan of Brussel's Sprouts for about three years, since I learned that boiling them was the worst thing you could do. Karyn's sprouts were carmelized, smothered in an awsome dijon mustard sauce and served on a sizzling platter. I was in heaven, and I looked around and noticed EVERYONE was eating them. My entree was "chicken" drumsticks on top of sweet potatoes. The drumsticks were actually lollipop sticks but the "meat" was stringy and pretty accurate. It wasn't salty like the frozen meatless chicken you get at the grocery.
The most awesome dish was vegan creme brulee! And before you say "no way!" I have to tell you, it was pretty faithful, even without the 10,000 egg yolks that normally go into it. It was crisp, crackly, and smoky on the top, creamy and vanilla-y underneath. A quick survey on the web suggests they probably used vanilla soymilk and cashew butter. Whatever. If you know me, I'm fussy about my creme brulee, and this really fit the bill.
Hitting The Wall
On the last day, a young man tapped me on the shoulder.
He said, "Hey! I slept next to you on the train!"
I looked at him and I said, "Whoa! You're right!"
I had not spoke to him on the train, so I had no idea. He was from New York City, had done Rails programming longer than I had, and was really enjoying the conference. But in the crowd of 2000 people, we had not bumped into each other until four days had passed.
And I thought, wshew! Good thing I didn't spoon him! That would've been awkward.
The conference ended on a high keynote. The speaker, Aaron Patterson, was well-known in the Rails community as a core "committer". Lemme go back a step. Rails is a kind of software known as open source. It's free for people to use, but more importantly, any programmer can look at the code for it, find and fix bugs, and even make additions to it. It's software written by the community. But Rails is not a total free-for-all. Some programmers have a higher status than others. If you're a core committer like Aaron, you can make direct changes to the software without approval. If you or I suggested changes, they would come in a "pull request" which would be reviewed by members of the core Rails group, then accepted or rejected.
So Aaron's talk was half standup comedy and half technical. His comedy act including roasting DHH (the speaker on the first day), and pooh-poohing his idea that programmers are writers. This is unlike anything I've EVER seen at a conference. Nobody comments on anybody else's work, especially in a keynote. And yet, it was all done with a weird kind of respect. In this community, the only insult is to be ignored.
In the other half of the talk, Aaron discussed a project he had been working on for three years. There was a portion of Rails that he thought could be faster and better. So he did some experiments, wrote some code, tested it thoroughly, honestly weighed the benefits and cons. He kept his code in a "branch" which is separate from the rest of Rails. After presenting his findings he asked the audience, "Would you like this in Rails?" The audience yelled its approval. Aaron hooked his computer to the projector, typed a few commands, and said, "Done!"
Unbelievable! I don't know how many software demos you've seen, but I'll bet they showed software before or after a release. In this demo, the software changed it's character right in the middle. It's as if Steve Jobs had shown an iPhone, asked the audience, "Would you like two buttons to control the volume?" and he pulls them out of his pocket, sticks them on the iPhone and said, "It's done!" Freaky!
And with that, we went our separate ways. I climbed aboard the Lakeshore Limited, sat behind a squadron of Amish (for the record, they do not snore when sleeping), and made off for home ... a little simpler, and little bit more complicated.