Sunday, August 7, 2005

Post OSCON Wrap Up

Ok, so the week was a blur, as a result I totally didn't get a chance to write about things as they were happening. Being out drinking until 2 or 3 in the morning and then going to an 8:30 AM keynote will do that to you I guess...

First off, my talk went well. Fairly good attendance, and good questions were asked. Asa Dotzler from the mozilla foundation had some particularly good points he brought up after I was done about the kind of issues they face in their world. With such a huge amount of infrastructure and applications built on top of that infrastructure it turns out that the only way they can avoid breaking things is to make sure beta releases get out there for testing, since it's almost impossible to be sure of what people are depending on and what they aren't. He's got a point, on one hand documenting which interfaces are going to change and which are not is great, but on the other you do have to be pragmatic, and pay attention to what people have actually started to depend on in the wild.

Andy Lester said that he has my book on his desk at work. That's just about the highest complement I can think of from another programmer, and I was thrilled to hear it, since someone like him (a fairly experienced programmer who already knows how to use version control software) was my exact target audience when I was writing the book.

Brian Ingerson had an interesting mini-rant right before his talk about how OSCON is getting more and more corporate, and that he's becoming more and more concerned about people supporting the grass roots type conferences, rather than just speaking at OSCON where a lot of the hackers can't even afford to get in. I'm not sure if it was really appropriate for him to get on his soap box right at OSCON, but I agree it's something to think about.

Had an interesting conversation with some of the MySQL guys about how they're using Subversion for some stuff now, and would like to be able to switch for everything, but they're running into some roadblocks due to their current use of bitkeeper and some of the features they use don't really map to Subversion very well. It wouldn't be so bad, but they can't even sit down and hack on it themselves due to the terms of te bitkeeper license. I had been under the impression until now that a commercial bitkeeper license wouldn't include the same "you can't hack on competition for bitkeeper" clause that the old free license had, but apparently it does. I continue to be shocked that people put up with this kind of restriction.

r0ml had an interesting talk, continuing his keynote from last year about the semasiology of open source. This time he concentrated on how the word "read" has evolved over the years, which was fascinating, and the questions concerning how copyright law, the concept of public performance, and open source all intermix. I won't even try to summarize, but I imagine the IT Conversations guys probably recorded it, so wait for the mp3, it'll be worth it.

Doug Cutting talked about how the Nutch project has built an implementation of the google file system and the google map/reduce system, based on the papers on both subjects. It's interesting work in distributed systems, but the thing that really struck me was how it wasn't the actual code that was the real problem (although it was nontrivial to write, of course), but now that they have it they are having trouble testing it because their cluster has a tendency to kill their DNS server and/or routers when they try to do a distributed web crawl with it.

Dick Hardt (formerly of ActiveState, now of Sxip) had a great keynote about what he calls "Identity 2.0", comparing how identity verification works in the real world and how much worse it works online. If you have a chance to hear him speak I stronly recommend taking it, he's a great public speaker and it was a hell of a lot of fun.

Brian Cantrill had a great talk on DTrace, with a fantastic demo that showed a live listing of all functions being called while running an PHP script, from the PHP level code, through the user level C code, right into the Kernel. This really seems like a hell of a reason to think about using Solaris for a development system, I mean it's light years ahead of anything else as far as being able to peek into the internals of a running system.

Was at dinner on thursday night with a bunch of people, and a few hours in the conversation crept around to Greasemonkey, and I was shocked to discover that one of the people at the table with me was actually the original author. Bill Odom, who was also there, made a fantastic point about how in the everyday world most people are lucky if once or twice in their life they randomly meet someone who's had an impact on their day to day life from afar, but at this kind of conference we get to have that experience multiple times a day. I know it's true for me, whenever I go to one of these things I run into multiple people who have made huge contributions to tools I use on a day to day basis.

Danny O'Brien killed at the keynotes on friday, talking about good and evil in the open source world. I particularly liked his comments on the famous Ghandi quote ("First they ignore you, then they laugh at you, then they fight you, then you win") and how Ruby appears to have gon from "First they ignore you" directly to "Then you win" in the space of about three weeks, largely due to the popularity of Ruby on Rails.

Anyway, I know I'm missing a lot (hell, I haven't even told any of the stories about what happened at the bars we spent so much time at!), but I think I'll cut myself off there. As I said, OSCON was a hell of a conference, and I will absolutely try to go back again next year.


  1. I'm not really familiar with DTrace, but the functionality you describe from it is very similar to what's possible with Shark on Mac OS X....

  2. Can Shark go all the way down into the kernel? DTrace can show you every single function that is called, from userland all the way down through the kernel code.

  3. It's on my shelf, not on my desk, but that's close enough.
    In my office, I have three shelves on the bookcase. As books are taken from the shelf and used, they're put back in the left side of the top shelf, and the rest of the books move down the shelves, left to right, top to bottom, in a three-shelf push-down stack. When the case gets full, it's time to take the stuff in the lower-right corner home 'cause I haven't looked at 'em in a while.
    Right now, Practical Subversion is at the far left of the middle shelf, just between Code Complete, 2e, and Learning The bash Shell.