Sunday, August 1, 2004

OSCON 2004 Day 6

The final day of OSCON was basically just the flight back.

I hung around the hotel in the morning, ran into a few people at breakfast, but basically I was just waiting to leave.

On the way to the airport I rode with one of the Postgres guys, although I never got his name. Had a fairly interesting conversation though, until he got caught in a conversation with someone who called his cell. I hate cell phones.

While waiting for the flight back I discovered that Casey West and Ricardo Signes were on the same flight. We talked about various OSCON related things while waiting for the flight to leave, and it seems that everyone had a great time at the conference. Casey showed me a new perl module he's working on for threading email, with a new algorithm that should be faster than the standard JWZ threading algorithm (it's 1 pass instead of 2 like JWZ's).

The movie on the plane was Jersey Girl, which kind of surprised me. Never thought I'd see a Kevin Smith movie on a plane, but I guess this one is more kid appropriate than the rest.

After the movie Casey and I took advantage of our airport cards and SubEthaEdit to pair program, working on some of the code for his new module. It worked quite well, despite the fact that we were sitting in separate parts of the plane. RJBS was too far back though, and kept getting cut off when he tried to connect to the ad-hoc network we had going.

I just barely made it to my next flight in chicago (15 whole minutes between flights!), and finally got home around 2AM.

It was a heck of a good conference, but I'm glad to be home.

OSCON 2004 Day 5

Started out this day totally stressed about the talk, so I skipped most of the first keynote and did a dry run in front of the mirror.

Wandered in most of the way through the first keynote, but I caught the end, which looked pretty cool. Others have already blogged it though, so I'll leave it to them.

Next was a talk from on of the Novell guys, which was theoretically interesting (it's neat to see a huge company like that making the switch to Linux on the desktop), but in practice felt like a sales pitch.

I decided to check out Paul's talk on Constructor Dependency Injection, since I'd been listening to him talk for much of the week, and he's a pretty neat guy. The talk was pretty cool, although the concepts were pretty simple when you come right down to it. Compared to the rest of the 'Enterprise Java' world it does seem like a good way to do things though, another of those things I'll have to keep in mind in case I'm ever in such an environment, like Groovy.

Now was my second talk, Subversion Best Practices. I think it went pretty well, although some people obviously were looking for something more like Greg's talk, an intro to Subversion rather than ideas on how to use it once you know how. I did have a number of people thank me afterwards though, and nobody told me it sucked (at least not to my face), so I guess it went about as well as I could expect.

Next up was the final keynote, with the head tech guy from Weta, the company that did the special effects for LOTR. They have an interesting set of problems (HUGE AMOUNTS OF DATA), and are being hit rather hard by RedHat's switch to per-machine fees. They need to use RedHat because it's one of the few versions of Linux that third party companies actually certify their apps on, but sooner or later they'll have to upgrade from the old RedHat version they're currently on, and the migration path looks like RedHat Enterprise Linux, but that has per-seat fees that would be a big problem for thousands of machines. On the other hand, he did have good things to say about Open Source in general, as they make use of a lot of it in house. My favorite quote was something along the lines of "Sometimes I wish I had an army of developers. Then I realize, I do have an army of developers". It's easy to forget that open source is just that, an army of developers, if you know how to use it.

After the keynote John Peacock, Justin, another Apache guy, and I went out to lunch at a seafood place near the hotel. It was good, both the conversation and the food. Then we wandered off to Powells to do the standard 'drool over the massive collection of techie books', and scattered off to our respective hotels.

I spent the rest of the afternoon taking pictures of the Red Bull Flugtog, that crazy thing where they launch home made man powered flying machines into the river. The event itself was saturday (after I was leaving), but I did get some good shots of the machines themselves as they were setting them up. I'll post them once I get a chance to get them off the camera.

Ironically this was the only time during the week I actually took any pictures. I love my camera, but it's just too big to comfortably cary around during the conference, at least if you're going to also carry a backpack and a laptop... I see one of those sweet little Canon Powershot cameras in my future, so I'll have both ends of the spectrum covered with regard to digital cameras.

In any event, I went to bed fairly early, since it had been one hell of a long week at that point.

OSCON 2004 Day 4

Ok, so I got distracted at the end of OSCON and didn't get around to actually blogging any of it in real time.

Here's thursday...

The keynotes were the Dysons (one of whom was actually the guy who came up with the Dyson Sphere, they actually showed a clip from that episode of Star Trek at the beginning of the talk), and Bdale Garbee, of HP and Debian. The Dysons were ok (I thought George Dyson's talk last year was better), but Bdale was quite good. He interspersed the standard open source stuff with bits about his experiences building amature radio satellites. It's nice to know that there are people who are realistically talking about putting a satellite in orbit around mars, without government funding.

Saw a talk on qpsmtpd, the Perl SMTPD. Cool app. Must look into it closer.

Andy Lester and Bill Odom gave a fantastic talk on Advice for Open Source Job Seekers. Not that I'm actively looking for a job, but things to keep in mind when one is looking are always good to know. One thing they mentioned which I should really do is to keep your resume up to date even if you're not looking, so you don't have to scramble if some kick ass job opportunity comes up and you need a resume. They also stressed the idea of building up your online reputation by doing cool stuff, so people are more likely to have a clue who you are when you call them up and ask for a job.

The talk on Wackamole, an open source high availability package, was quite informative. I will have to look at this closer. I was particularly amused by the program you use to control your Wackamole installation, wackatrl (pronounced, of course, "Whack a Troll").

Nicholas Clarck gave us a view inside the Perl 5 Porters with Perl 5.8.5 Was Boring, and in the process also gave a lot of useful tips on how to keep the stable releases of a software package actually stable and useful. I also managed to run into Peter Prymmer (the other $COMPANY person at OSCON) in this talk.

Next I went to the What Book Sales Tell Us About the State of the Tech Industry talk, by Tim O'Reilly and some of his hackers. It was interesting enough, but it strikes me that this info will be much more useful next year once they've done more with it. Key things (like linking in geographic data) are still missing.

Finally was the python lightning talks, which were supposed to feature Dan Sugalski being hit in the face with a pie for losing his bet over the speed at which Parrot would run Python code. Unfortunately Guido decided not to hold Dan to the bet. Amusingly it was the Perl people in the room who were most disappointed about this. The remaining talks were not overly memorable, I think the Python community needs to learn a bit more from the Perl community on how to do lightning talks. It's just not the same without the gong.

I've totally forgotten what I did for dinner on thursday, but eventually we wandered back to the hotel for the Novell "Free as in Beer" party. I skipped out after one drink, as I knew my talk was in the morning and I didn't want to be overly dead on my feet.

Unfortunately it turns out that the Perl Foundation auction was also thursday night. If I'd known I totally would have gone to it, but they had like no publicity so I missed out. It's too bad, I would have been willing to pay way more than 300 bucks for an hour of Pair Programming with Ward Cunningham ;-)

Thursday, July 29, 2004

OSCON 2004 Day 3

The first day of the actual conference sessions went fantastically.

We started off with the opening keynote, from Tim O'Reilly, where he talked about what was on O'Reilly's radar. In addition to the "Internet Scale Applications" being the "Open Source Killer Apps" (like e-bay, google, amazon, etc), which he's been talking about for a while, he touched on a lot of interesting little bits. I particularly liked the part where he showed some of the data they mine from bookstores like Amazon that indicates what programming languages are currently selling the most books. The ones with declining market shares were in red, rising in green, and size of the language's square showed the size of the market share. Most stuff was either slightly green or red (Tim said it was the summer and all the hackers were on vacation), but there was this tiny little sliver of BRIGHT GREEN off in the corner, and that was Ruby. That was a breath of fresh air. He also mentioned zeroconf as being something to keep an eye on, which is rather close to my heart, and went into his standard thing about how what O'Reilly does is find the new and interesting things people are doing and put them into text form so people can read about them. Conferences like this one are where they find the new and interesting things.

Next up was The Semasiology of Open Source, by Robert Lefkowitz. He ran out of time part way through, but the talk itself was a fascinating look at the origins of some of the words that the open source world uses constantly. Quite interesting, with some nicely placed "The Princess Bride" clips for good measure, but if I try to explain it I just won't do it justice. All I wish is that he'd had time to finish up.

After the keynotes finished up I gave my first talk of the conference, "Using the Apache Portable Runtime in a Non-httpd Application", where I talked about the basics of APR and some of the issues we came across while using it to develop Subversion. I think the talk went well, and I was pleased to see Stas and Geoff of mod_perl fame sitting in the audience. These two guys have more APR experience than I'll ever have. I was able to raise at least one question in their minds though, and we've been hashing it out on the APR and HTTPD dev lists ever since. Overall I think the talk went well, and several people have since come up to me and thanked me, so I guess my first impression was right.

Next I stuck around in that same room for James Duncan's talk on "Enterprise Perl". He had a lot to say about how to make your code easier to understand and how that can help you build systems that are more reliable and debuggable. I was particularly amused by his definition of "Enterprise Code". He says it's "Code that doesn't make money itself, but that helps the company make money indirectly". At the end of his talk he noted that it was brought to you by 10 years of code that doesn't make money. I don't know if I agree with all his statements, but they all seem worth considering at the very least, and that's what's really important here.

Next up I hit Miguel de Icaza's talk on Mono 1.0. I probably could have skipped this one, as I knew most of what he was saying already since I follow the project reasonably closely. Unfortunately, he got cut off just as he was getting to the interesting technical bits at the end about where they're hoping to go in the future. Oh well, maybe next time...

After that I went to listen to Justin talk about deploying the Apache HTTPD server within the Apache Software Foundation. These guys get a scary amount of traffic, and they handle it all with minimal hardware and a volunteer staff, and it turns out that the load on their boxes is always ridiculously low, so they've figured some stuff out and are worth listening to. He also covered some of the details of how the Apache infrastructure team works with the version controls systems they provide and the email infrastructure they provide, since those are the other two main services the Apache projects rely on.

Up next was the Perl lightning talks, which were interesting, as expected. Despite technical difficulties (to be expected any time you have that many people and that many laptops) they got through everything and I learned a bit. I'm sure others have already blogged about the specifics, so I'll just leave it at that.

The last session of the day was about Groovy, the new Agile (perl/python/ruby like) programming language James Strachan (who went out drinking with us on monday) is building for the Java virtual machine. It's fascinating stuff, and is definately good to see, if I did any kind of real Java development I'd be all over this stuff.

Once the sessions wrapped up Greg Stein, Justin, and I hung around waiting for Fitz to finish his book signing. As usual when you hang around Greg you get this constant stream of interesting people who show up. Included in the stream this time was James Duncan Davidson (the original Ant guy), Brian Behelendorf (I must have spelled that wrong, but one of the head Collabnet guys and an original Apache hacker), Jason Hunter (Java Servlets guy), and a cluster of Gentoo Linux guys. Interesting conversation all around.

When Fitz finished up we headed out in search of food, and after much wandering around ended up in a not-so-great mexican place, with another large crowd of interesting people. Along with many of those already mentioned we had Dick Hardt (formerly of ActiveState) and John Viega (a security hacker now, who apparently was also one of the original authors of mailman, one of the big time mailing list managers).

After dinner some of us hopped in Dick's Hummer (yes, some of these people have way too much money) and drove over to the Stonehenge party. "Free as in Beer" was the order of the evening, and a good time was had by all. I spent some time chatting with Brian Behelendorf and Paul Hammant (who I met on monday) about version control type things, and I was quite glad that I got a chance to thank Brian for everything he's done to make Subversion a success. While he's not contributing code he is the man behind the fact that Collabnet is willing to pay people to hack on it, and for that I'll be eternally grateful. While the external community has contributed a TON to Subversion over the years without those core paid hackers we wouldn't have made it nearly as far or as fast as we have.

Around midnight Paul and I wandered back towards the hotel, talking about version control, why people use clearcase, the chances for perforce to survive in the next few years and his background and how he ended up at ThoughtWorks. All in all an evening well spent.

Wednesday, July 28, 2004

OSCON 2004 Day 2

Well, most of this day turned out to be spent recovering from last night's fun.

I got up about 10 minutes before the first tutorial session was about to start and ran downstairs because I didn't want to miss MJD's "Welcome to my bin" talk, but once I got there it was pretty clear that I was far too hung over to get anything out of it. I hung in until the break and then retreated to the room and fell asleep. I also didn't make it to the afternoon session, spent most of that time either sleeping or going over the slides for my first presentation.

The evening was less of a waste. I went out to dinner with the SVN/Apache guys (Joined by Justin Erenkrantz this time, who had just gotten in to town, Ken Coar, who's weblog I've read forever, but who I had never encountered in real life, Steve Mallet, the sysadmin for opensource.org, and some friends of Rich who's names escaped me).

After dinner I headed down to the evening events just in time for Larry Wall's talk, which managed to turn xscreensaver into a heartfelt talk about the last year in his life and how he feels about the community around him. I could certainly empathise, as many of the medical problems Larry's gone through hit far too close to home for me.

Next (how much does it have to suck to follow up after Larry Wall!) was Paul Graham, of "Hackers and Painters" fame, who I was quite impressed with. Much of what he had to say was very similar to stuff from his book, but it covered a lot of interesting ideas about how to find those elusive hackers who are truly gifted and get them to work for you. A particularly insightful statement of his was the fact that becuase the only way to really know how good a hacker someone is you have to work with them, thus if there's a Michael Jordan of hacking, nobody will know it, not even him. Overall I was quite impressed with his talk.

Finally, Damian Conway gave his "Life, the Universe, and Everything" talk, where he melded together "Conway's Game of Life", Maxwell's Demon, and the Klingon language, with a simulation of Maxwell's Demon within in the Game of LIfe, implemented in the Klingon dialect of Perl. You really had to be there to understand how weirdly cool this was. Truly mind blowing, as I have come to expect from Damian's talks.

Anyway, now the conference opening keynote is about to start, so I should start paying attention and stop typing...

Tuesday, July 27, 2004

OSCON 2004 Day 1

So the first actual day of the conference was fantastic.

I spent the morning in Damian Conway's "Best Practice Perl" tutorial, which was quite worthwhile. His major point was that you should make a concerted effort to write code such that it's easy to understand. There may be more than one way to do things in Perl, but that doesn't mean you have to use some of the odder ones in your day to day coding. He also had a number of tips on specific problems to avoid and useful idioms that you should be aware of. All in all, a worthwhile talk. Best of all, he's apparently working on a book about the same topic, for O'Reilly.

Then I went to grab lunch with Rich Bowen, which is always enjoyable. We talked mostly about writing technical books and the various problems we've both had going through various parts of the process. It's odd that so many authors seem to have the same problems, yet they still don't seem to have found good ways to avoid them.

The afternoon was spent in the "Cross Platform Rendezvous" tutorial, which was given by Stuart Cheshire from Apple, the head of the zeroconf working group and the creator of most of this technology. Much of what he had to say was about the philosophy behind the creation of the zeroconf technology, and why he thinks it has succeeded in a space where a huge number of other systems have failed in the past. Perhaps the most remarkable thing is how simple the underlying technology is. It's quite impressive how much functionality they've managed to get while still fitting pretty seamlessly into the existing infrastructure. He also talked about some of the plans for extending zeroconf techniques outside the local network and onto a company wide WAN scale network.

I'm itching to start coding on some changes to Subversion to allow it to advertise repositories via zeroconf so that you can easily find out the available repositories on a network. The idea's been in the back of my mind for a while, but it's always seemed like something of a toy project since it's not overly useful on just a local network. WAN scale zeroconf would make it quite useful though, so hopefully I'll have time to make it happen. I also talked with Stuart a bit about some of the particular issues I saw in using zeroconf and Subversion and he seemed quite receptive to the ideas I had for extensions to the current functionality to make it more useful for Subversion.

After the tutorials finished up the real fun began. I finally got a chance to meet Brian Fitzpatrick, who I've known online for years via the Subversion project. After giving Greg Stein enough time to extract himself from the traditional pile of people asking questions at the end of a talk the Subversion and Apache crowd went out to dinner at a nearbye chinese resturaunt, which was a lot of fun.

After dinner a number of us retreated to VQ, a nearbye bar, and proceeded to spend the rest of the night drinking and talking with some of the ThoughtStream guys, who brought along Ward Cunningham, of Wiki, TDD, and OO fame. I must admit that it's nights like this that make coming to these kind of conferences truly remarkable. You simply can't find a group of people like that in other environments.

The bar finally closed and kicked us out, so I made it back to my hotel room around 3AM, already fearing the hangover that was waiting for me.

Monday, July 26, 2004

OSCON 2004 Day 0

Ok, so I'm actually posting this on monday morning, but anyway...

Got up at the crack of dawn and made my way to the airport to catch my 7:45 flight. Was running a bit late, as usual.

Got there to find that the long term parking lot was full, so I had to make my way to another lot. Ok, now I'm later.

Went to the wrong terminal. Ok, now I'm later.

Finally got to the ticket counter and it appears that the "i don't want to interact with a human being" kiosks are busted, and there's this giant line. Why is there a giant line? Because my flight has been delayed 3 hours, and all the people from the flight are in line waiting to work out where and when they'll be flying out.

So I spend like an hour waiting in line and finally a very nice woman moves me to a different flight leaving at around 11:30 and heading to Denver, where I can get a connecting flight to Portland.

Spend the next 2-3 hours sitting by the gate getting progressively more annoyed at LGA's wireless network, which refused to allow me to log on. Drained my laptop's battery in the attempt and didn't get much work done.

Flew to Denver.

Spent 1-2 hours waiting for my flight in Denver, which also had a flaky wireless network, although this time I was able to actually connect to the network long enough to check my mail. Ran into a cluster of OSCON people, all of who's names I have since forgotten because I am a bad person.

Got on the plane to Portland and who do I see as I wander by but Casey West. Oddly enough, Casey also happened to be on the plane I took into Portland for OSCON last year.

Actually managed to get some work done on the plane to Portland, since I was able to charge the batteries in Denver.

Got to Portland, got my stuff, and took the MAX light rail into the city, spent most of the time on the train talking to Casey about various and sundry things. He is an interesting individual.

Got to the hotel, checked in, went up to the speaker registration and registered, hung out on IRC and found that all the other Subversion people I was hoping to hang out with are either missing in action or not getting into town for a day or two. Grabbed some quick dinner at the hotel bar and decided the best thing to do was just to crash early so I'm not jet-lagged for the tutorials tomorrow.

And there we are. Now I'm writing this entry because it's really pretty early Portland time and I'm wide awake.

Saturday, July 24, 2004

OSCON 2004 Day -1

So I'm leaving for OSCON at some ungodly early hour tomorrow morning.

As a result, I have completely stopped being productive. It's not that I don't have plenty of things to do, it's just that I'm not doing any of them...

Instead, I'm alternating between stressing about my two talks and being excited about what amounts to a week long vacation where I get to totally geek out with a lot of really cool people.

Anyway, I figured if I'm going to be blogging the whole 'OSCON experience' again this year I might as well start with the pre-conference jitters part of it...

While I'm on the topic of conferences...

Rich is right on target here. Personally, I fall between the "Conference as a Classroom" and "Conference as a Social Gathering" parts of the spectrum. I do learn a lot at these things, but I also find that many of the talks are rehashing things you could get from the FAQ, and that a lot of the value in going to a conference like this is in the people that you meet.

Oh, and for those of you who are thinking to yourself "if you don't learn anything you can't find in the FAQ and you're really just going to hang out with your friends, why is work paying for this again?" let me refer you to what Casey has to say about it. I pretty much think he's exactly right on that one.

Sunday, July 11, 2004

GenX4r 0.03 Release

As part of my "avoid working on things I should really be doing" campaign I released version 0.03 of GenX4r this weekend.

Grab it here if you're into that sort of thing.

Significant changes in this version are:

  1. Uses the << operator to write to the object passed into the document method, so we can work on plain old Strings in addition to StringIO and IO objects.
  2. Addition of begin_document, end_document, begin_element, and end_element methods for GenX::Writer, for times when using the block based methods is inconvenient.
  3. Rewrite of the build system to use setup.rb instead of manually using extconf.rb for build/install and rake for tests.

The first two changes were suggested by Christian Neukirchen, the first person other than me (that I know of anyway) who's actually taken a close look at this stuff.

Saturday, July 10, 2004

Photoshop Can Make Anyone's Pictures Look Good

Even mine, apparently ;-)

So I finally got around to going through all the pictures I took from the 4th of July, picked out the ones I like the most, and tweaked them a bit in Photoshop so that they look decent.

Get them while they're hot, either in a typepad photo gallery here if you like that sort of thing, or if you want the big-ass non-shrunk down versions or the raw pre-photoshop versions you can grab them from here.

Overally I think they came out pretty well, at least once they're subjected to liberal cropping and fiddling with the color levels and brightness and whatnot in photoshop.