Day 0
Headed out of Reno bright and early. Weather was great for cruising sans top. Got to the turn off to bypass Lassen National Park...and missed it. Thought to self, "WTH, its a good day for sightseeing.". I'm very glad I took the long way round, the weather was great and I hadn't driven thru Lassen in nearly a decade. Spectacular scenery, sortof "Yellowstone concentrate". But definitely not for those with vertigo!
The rest of the drive was uneventful. Got to Portland about 7:30PM, checked in, chugged a couple cold homebrews, and crashed.
Day 1
Up early and off to register. Attendance seems a bit thinner than last year. But "Python in 3 Hours" was SRO. A decent presentation, but I think the presenter assumed too little of the attendees. The 1st hour seemed like CompSci 101, which left only 2 hours of pythony meat. My general concensus: seems useful, but I'm not certain what all the hoopla is about. And you can't learn much Python in 3 hours.
The 2nd tutorial was "Test Driven Development". Alas, the title and description were a bit misleading. Should have said, "Test Driven Development for Perl". Since I've already used Test::More and Test::Simple, I pretty much knew the first 1:30 of the tutorial. And I really needed C++/Java/etc. TDD. So I bailed at the break, headed to the hotel, and started cranking up Thread::Sociable again. After a few hours, I realized (1) this was going to take much longer than I expected/hoped and (2) my long drive and tutorial day had taken a toll on my alertness. I was fading fast, leading to coding errors, and so shut it down for the day.
Day 2
First tutorial: "Eclipse PTP": very thinly attended, but lots of parallel goodness. My new overlords are in dire need of an MPP debugger (they've made do with Eclipse and gdbserver, but its far from ideal), and PTP looks like a good start to a solution. PTP pulls concurrent programming into a single IDE (not just MPP, but OpenMP as well). I've never been an Eclipse fan, but I can see how its framework works well for PTP (MPP debugging is going to be a busy interface regardless the GUI).
2nd Tutorial: "Actors for Performance, Scalability, and Resilience" for more concurrent goodness. I now realize I have in fact implemented Actors with Thread::Apartment (albeit in a heavyweight fashion). But I needed this session to confirm it (just in case there was some magic aspect I wasn't aware of). Perhaps I'll change the module name to Thread::Actor (or, rather, Thread::Sociable::Actor). Lots of Erlang and Ruby, and surprisingly well attended (Erlang seems to be in vogue, though I'm ashamed to admit the functional syntax makes my brain hurt). In any case, we can now say that Perl implements Actors, which I can then use to evangelize for Thread::Sociable, and the TPF will shower me with huge grants and Perl will become the defacto language for parallel systems...well, maybe not, but its nice to dream. "Perlang"...has a nice ring to it...
The evening soiree began as usual with cocktails and hors d'ouevres. Shuttleworth's presentation was interesting, but frankly I have no horse in the OS races, so building the next great desktop for Linux doesn't much matter to me...after all, its all going to be run in the browser anyway. Then it was r0ml's turn...very humorous presentation about the software engineering process. But the coup de grace was Mssr. Conway's presentation: he has managed to reverse time...and build nanocomputers...all in Perl, of course!
Day 3
OReilly prognosticating...but it sounded recycled, other than the notion of keeping the web open in the era of the cloud(great quote from jesse), and the open mobile platforms.
Peterson got out the activist drum and beat it loud about FOSS geeks injecting themselves into the debates over proprietary s/w for public sensing and voting.
Dirk Hohndel talks about Moblin. Basically pleading for FOSS developers to jump on the wagon. Wish I had time.
Tim O. interviews the MySQL boys. Krow forks MySQL to create MySQL 3.0 er I mean Drizzle. Yet another database for web persistence. Strip out the guts to support more/faster indexed garbage heaps.
Late breaking news: Google has permitted some of their devs to open up AppEngine for Perl (huzzah!). But the req'ments are pretty severe: a locked down/hardened Perl that essentially does *no* I/O. Thats gonna be painful...definitely need to see what the buffermap i/f is about. Then maybe we can get DBI running there ? Have to chat w/ Tim B. and some monks to get a better understanding. I heard TIm make some noises RE: mapping a Gofer on it...not sure where he's headed...
Picked up some books: Groovy Recipes, GWT In Action, and Adobe AIR for Javascript pocket guide. The latter is available for free in PDF, but the pocket guides are just too damn convenient, esp. at 30% off.
1st session: bigdata (Bryan Thompson) semantic web + scaling out; systap's internal scalable datastore; lots of stuff about RDF and semantic context storage schemes. Over my head I fear...guess I'll stick to good old SQL
Session 2: couchdb from 10K feet. Nice intro, interesting approach to the problem. Definitely *not* a relational datastore. And just the sort of thing to keep the Informaticas in business for years to come, trying to pull intelligence out of the data. The more I see, the more I realize that the database business has begun to segment out of control, and company's gluing all the "indexed garbage heap" web datastores into structured BI datastores will have a lot of work...and money...ahead of them. I guess my new job kinda puts me on that bus...but I'm not sure I want to take the ride.
Perlmonks Lunch
Hooked up with jZed and Tim B., and several Perlmonks (tye and Yitzak, and others) for a quick lunch. Nice to put some faces with names (even tho I'm horrid at remembering the latter).
Session 3: Groovy v. JRuby: nice quick intro to the topic(s). I'm only a little bit Ruby-fied, but have lots of Java under my belt, so Groovy has been intriguing for awhile. Groovy still looks immature, but I gotta believe Sun/IBM/somebody is going to grab the reins soon and start driving it...its just too damn easy for the vast unwashed Java drones to jump on it. Groovy + GWT...very scary concept... in a good way.
Session 4: Caching in Facebook: got bumped outta the Hypertable session which was SRO (why did they put it in such a tiny room ???) Anyway, Facebook replayed the usual caching mantra, this time for PHP. Not much new to see, but nice to get a feel for how they handle their traffic.
Break time.
The Google AppEngine thing was sticking in my craw, so I was naughty and abused the lousy wifi to checkout the python sources, and spent a half hour trying to decipher the datastore interface. I feel like something's missing...but also found pieces of it in various subdirs that I hadn't expected, so there's probably more I need to review. Need to talk w/ whomever is doing the protocol buffer mapping to find out how datastore's i/f actually works...
Session 5: LucidDB Columnar dbms: particularly relevent to my new job (a columnar database startup). Presentation was good, but just reiterated what I already knew. They have the same challenges and rewards we do...except we're MPP, and they currently top out at relatively modest data volumes. They used MySQL to compare benchmarks...which might be OK at OSCON, but it would be nice to see some results against eg, Vertica.
Session 6: XMPP for Cloud Svcs: interesting notion: XMPP for everything. Basically, take HTTP + REST, but make persistent connections. You get XMPP for clouds. Would certainly avoid the Comet madness...but the softshoe dance the presenter gave about scaling sockets left me dubious.
Then beers in the exhibit hall, and soon beers back the hotel (courtesy Sun/MySQL/et all)
And yes, I'm already getting teched-out.