(Continued from Part the First)
As you can see, I continue to write about OSCON 2008 at a breakneck pace. It might not even be OSCON 2009 before I'm done. Indeed, at this rate I may even get around to doing a GWWE writeup sometime before the heat death of the universe. A person can dream, right?
I was pretty excited for Wednesday -- it would be my first day of, you know, legitimately being at OSCON instead of sneaking in. Alex oniugnip and I got up as early as we could manage, packed up our laptops, and biked down to the convention center. There are few things nicer than riding your bike across Portland with your boyfriend on a sunny late July morning to have breakfast with a bunch of free software geeks, so I was feeling pretty good. But when we actually parked our bikes and walked into the building, which was already buzzing with conference attendees, I suddenly shrank back a little. I wanted my friends, not a crowd of strangers, but I knew that my friends would be preoccupied with conference business today. Even Alex, who was on quasi-vacation, had obligations to fulfill for work. It was unavoidable: at some point today, I was going to have to socialize.
It's funny how sitting down with eight people you don't know is uncomfortable, but sitting down with one person you know and seven you don't is no problem. If I have even one tenuous thread to grab onto, I can grab tightly onto it and weave it into social fabric. If I have no threads, though, then I have nothing -- which is why, when we showed up at breakfast and didn't immediately see anyone we knew, I tried to steer us toward an empty table. Alex was having none of it. He wanted to find some random interesting people and sit with them. I protested -- what if they didn't want to talk to strangers like us? "They paid to come here to talk to strangers like us," he pointed out. This was a good point, but I still felt pretty weird about sitting down with total strangers.
Fortunately, we happened to be at an open-source software conference in northeast Portland, so finding someone who wasn't a total stranger took approximately 45 seconds. We ended up sitting with a fellow named Dan whom I was acquainted with through Blue lovemotionstory, who knows everyone. Dan introduced me to the other people at his table, and I ended up clinging to joining them that evening for dinner, as well, so it was fortunate we'd crossed paths.
With morning socialization accomplished, I went to two interesting talks. First, there was "Building Compilers with the Parrot Compiler Toolkit", given by Patrick Michaud, which was pretty cool. Using the Parrot tools, he built a LOLCODE compiler in about 20 minutes; moreover, I understand that that was actually the long version of his talk. This was followed by "Beautiful Concurrency with Erlang", given by Kevin Scaldeferri from Yahoo, who told us that he could implement a Twitter clone out of Erlang in 45 minutes. It's hard for me to say how close he really came to that, since he didn't actually show us running code, but at least I learned something about Erlang. Unfortunately, I hadn't started taking notes yet at this point in the conference, so I don't have any clever quotations from this part of the day.
After a coffee break, I went to Damian Conway and Larry Wall's "Perl 6 Update", which I did manage to jot down some gems from, followed by my friends Selena mimeograph and Gabrielle gorthx's fun talk about "Running a Successful User Group". Alex was off at different talks during all this, but we eventually met up to go to "Web Frameworks of the Future: Flex, GWT, Grails, and Rails" together. We were sitting near the back, and for me the most interesting part of the whole talk was when the speaker said that there were "forty or fifty" people at Google working on GWT, and Alex raised his hand and said, "Actually, there's only about twenty of us", and half the room turned around.
Finally, in the late afternoon, I went to Paul Fenwick's "Illustrated History of Failure" talk. It was at this point in the conference that I began to take some semblance of notes:
- "It's possible to make mistakes so large they invalidate your entire worth as a human being." -- Adam Kennedy
- What's a person worth? Australia's GDP: $39,320 USD * 80.82 years = $3.17m = 1 lifetime.
- AT&T: If a switch went down, we'd do a three-way handshake. But that was slow. So, instead, if a switch came back up, it would just make an outgoing call. The trouble was that a switch could make another call before the first call finished -- and if it wasn't back in the other switches' routing tables yet, the other switches would say "I have a problem" and tell all THEIR neighbors. January 15, 1990: 114 switches rebooting every 6 seconds, crashing all their neighbors, 60 million people left without phone service to for 9 hours. "Almost 30 lifetimes worth of effort."
- Ariane 5: "They were using a 64-bit floating-point number to calculate the rocket launch position. But then they cast it to a 16-bit integer. And then they turned off all the exception handling." "It turned out that they had re-used code from the previous project, Ariane 4, which could run at only 1/5 the speed." The cost of the rocket and its expensive payload: hundreds of lifetimes.
- Auckland power outage, 1990: They had four cables, and one cable failed. But they'd already had a bunch of bad press, "so they didn't tell anyone". So, they had 150MW of power running over 85MW cables, which is hard on cables. So cable 2 failed. Now they were running 150MW of power on 60MW cables! Now it was Management Willpower vs. Physics. "I hate to break it to the managers in the room, but physics always wins." Downtown Auckland left without power for 5 weeks! "The official management explanation was El Nino."
- Mars Climate Orbiter, 1998. Part of the code using Imperial measurements, part of it using Metric. "The testing budget was cut for the spacecraft shortly before launch." Landing thrusters stopped working, a considerable distance from the ground. Landing gear was vibrating, and the computer thought, "If the landing gear was moving, I must be on the ground!" Total cost: 103 lifetimes.
People love hearing about failure! This talk ended up being so well received that Paul was asked to give it again as a keynote talk on the last day of the conference, which meant giving it to a much larger audience. I wasn't able to catch it the second time, but I'd just like everyone to know that I was a fan of "Illustrated History of Failure" before it was cool.
With conferencing done for the day, Alex and I headed downtown on the MAX to have dinner with some of the folks we'd met at breakfast that morning. A couple of them worked for the Canadian intelligence agency. They looked much less scruffy than, say, me, an unemployed ex-Perl programmer who was about to be a grad student.
Finally, Alex and I went to Backspace, where we tried to catch up on our mail and sort out our overflowing bags full of conference schwag, most of which was throwaway junk. They were playing The Sunset Tree at Backspace, and I scarcely realized I was singing along until Alex said, "I love when you sing along to the Mountain Goats." Have I mentioned that he's my favorite?
Eventually, we took the MAX back across the river to the convention center to collect our bikes and head home. Near the bike racks, there were two guys who recognized us as fellow conference attendees (those giant schwag-bags are a bit of a giveaway) and asked if we could make change for the bus. I interpreted this as "We require Lindsey Kuper to explain the entire Portland public transportation system to us", which I was only too happy to do (I kind of love the Portland public transportation system). Luckily, they didn't mind listening, and for the 20 minutes or so before their bus came, all four of us ended up getting into a nice conversation about Portland and the conference and what we were all doing there. I forgot their names immediately, like I do, but they seemed like old friends who'd been hacking together for a long time. It was only later in the conference, after I'd run into them a couple more times, that I put two and two together and realized that they were Karl Fogel and Jim Blandy and that they helped make software I use every day. But that's OSCON for you. And the evening and the morning were the second day.
(Next time: Thursday!)