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.

Tuesday, June 22, 2004

OSCON Presentation Progress

So I did a practice run for one of my OSCON presentations last night with some guys from work as my test audience. I think it went pretty well. I was pretty much on target for time, and that should improve with a few more practice runs.

I need to work on moving smoothly from one slide to the next as opposed to pausing, giving a summary of exactly what I just said, and then having to glance at the next slide to see what the hell I'm supposed to be talking about next. As I said, practice will help with that.

I also got some good pointers on what parts of the talk worked, what parts didn't, and what parts needed to be fleshed out more. I had a good mix of people who had been exposed to some of the subject matter before and people who had not, and everyone seemed ok with it, so I imagine it should work out well for the OSCON audience.

Now I just need to finish the other talk and give that a run through to knock out any bugs before sending the slides off to O'Reilly later this week.

Sunday, June 13, 2004

Random Developments

So I was actually rather productive this weekend.

I accomplished at least 3 separate things:

  1. At the prompting of Richard Clamp factored the log retrieval code from SVN::Log::Index out into a new module, SVN::Log. Still waiting for his feedback on the final SVN::Log interface before I let it lose on CPAN though.
  2. Finished reviewing PDFs of the first 5 chapters of the book, and made copious comments on the stuff that was unexplainably broken. If I haven't said it before, I hate Framemaker, it mangles DocBook in ways previously unknown to man.
  3. Wrote GenX4r, a Ruby wrapper for Tim Bray's genx library. It's my first real work with Ruby, but it seems to work, and was quite a bit of fun to write.

Plus, I did laundry, since we now have a washer and dryer.

Oh, and Chris hooked me up with a GMail account, (rooneg@, for the curious), and it's damn cool. I'm using it for FreeBSD mailing lists just to get a feel for it. So far I'm quite impressed.

Sunday, June 6, 2004

Fun with Ruby

So I've been playing around with Ruby over the past few days, and as usual when I play with Ruby I continue to be amazed at how cool it is. Now I just need to come up with a real project to use it in...

A few of the neater things I've been playing aroun with:

  • Rails - A web application framework for Ruby. Actually it's made up of several subprojects, only one of which (ActiveRecord, the Object-Relational mapping package) is available at the moment, but still, it's quite impressive. When the rest of it is ready for prime time I'm going to have to throw together some toy web apps to get a better feel for it.
  • RubyGems - A packaging framework for Ruby code. While it does fall into the totally lame trap of including the name of the language in it's name it still manages to be quite cool. I hope more Ruby projects start using it in the future.
  • Rake - A 'make' like build tool written in Ruby. Actually, the 'rakefile' you write for your project turns out to be a complete Ruby program, so you have all the power of the language right there for you to access. Plus, with Ruby's nice readable syntax the whole thing turns out to be much easier to understand than a Makefile. How cool is that!
  • Ruby 1.8.1's standard library has all sorts of neat stuff in it. Full YAML support, a unit testing framework, a framework for building custom little http servers, XML parsing, the list goes on and on...

Anyway, I'm still in the 'playing around' stage, but all in all I continue to be more and more impressed with this stuff...

Saturday, June 5, 2004

Some Random Stuff

Well, I'm finished moving into the new apartment, and I don't have some need-to-get-it-done-right-damn-now thing to do on the book, so I figure I might as well post something here.

No pictures of the new apartment yet, since I'm still quite a ways from actually unpacking all my stuff, but soon, I promise.

This article by chromatic struck a nerve. I'd kill to have an editor (and other associated people at the publisher) who wanted to work like that, as opposed to the refugees from microsoft-land I currently deal with.

Anyway, I'll have to try to buy him a beer at OSCON for preaching the gospel of using reasonable tools for producing technical books.

I'm positive there's something else I meant to mention once I got around to posting again, but it's totally slipped my mind, so until next time...