The security line at O'Hare was almost non-existent, so now I've got a bit of time to kill and (since "free wireless network" doesn't seem to want to give me any DNS) have the laptop open, it's probably time to digest and process my PyCon experience.
Overall, I felt strangely disconnected this year. I didn't end up dining with any of the circles I'd overlapped with in years past, didn't go to any parties, didn't stay up late hacking on personal projects, didn't hang out on the IRC channel (thanks a lot, wonky wi-fi), didn't have a presentation to worry about, and didn't end up being able to wake up in time to get my name on the list for Lightning Talks. Heck, since I didn't have the laptop out much, I barely even took notes this year.
What I did do was shoot a lot of photos, some of them acceptable, nearly filling my 2GB card over the course of the conference. I've only had time to upload one as I just haven't had the time, motivation, or energy to sort through everything at the hotel. (And it's not like uploading via the sippy-straw of the hotel's in-room wireless would have been terribly practical either.) I enjoyed briefly meeting Ted Leung before the opening keynote, and was amazed (and somewhat intimidated) by the number and variety of fancy camera toys he'd brought with him as he performed his duties as official photo dude. A number of folks stopped me and asked me questions about my camera and flash; I tried not to sound like too much of a moron when answering them. The weird thing is that everyone assumes if you are toting a DSLR around that you can't possibly take bad pictures with "a camera like that," when in reality shooting with a DSLR is the fastest way to find out exactly how much you suck at photography. I can get some good (and sometimes above-average) results, but I really have to work at it, so I try to stay humble. Also it helps to never show anyone your bad shots. ;-)
While I'm still on the camera talk, I learned that I need to bring extra batteries for the flash, recharge the camera battery while I sleep or bring a spare, and that I should probably buy a spare memory card so that I don't feel any last-day storage pressures when I've been too lazy to dump things down to my laptop. I've also learned to swallow my pride and kick the camera over to automatic metering when the lighting is tricky and I need to shoot quickly--I have some almost-good shots ruined by camera shake that could have been avoided if I hadn't been trying to be all manly and shooting in full manual with no flash. Finally, a happy discovery--the bad-ass heavy-grade Gorillapod that my wife gave me for Christmas makes an excellent hybrid of monopod (albeit rather short) and grip/brace. I found that I could keep the camera very steady by placing two of the legs against my body and supporting the camera with the third, making it easy to track and shoot moving subjects without too much wobble.
On the dining front, the huge posse of Cleveland folks managed to get out to some tasty meals. On Wednesday night we lucked into an unheard of thirty-second wait for a table at Frontera Grill and enjoyed a meal that simply cannot be described in words. Friday night we (along with Bill Zingler, a compadre from the Turbogears sprint in '06) hoofed it down to Ram, a grill and brewhouse, where the beer and food were pretty good. We didn't stay for too long though as we were greatly outnumbered by a vast sea of douchebaggery--drunken BMW-driving jerks in their sport jackets acting out a sad, strange re-enactment of their college (or more likely high school) days. We rounded things out on Saturday with a visit to the local Giordano's for deep-dish pizza, a first for one of our number, where we proceeded to annihilate their supply of Fat Tire.
Gosh, that's an awful lot of text without really even talking about the conference... Which might in itself be a comment about the conference.
Everyone knows the wireless network was stinky, so I won't spend too much time one that. It wasn't until this afternoon that I was able to even connect in any way approaching reliability. By then, really, there wasn't much point.
It seems like the consensus is that the Lightning Talks really suffered this year from the overwhelming dominance of the (lackluster) sponsor talks, to which I can only agree. It was really disappointing to see so little time available to community speakers during what, to me, is really the heart and soul of PyCon. There were a few gems on Friday and Saturday, but mostly... ho-hum.
And I was underwhelmed by a lot of the presentations too. A lot of things that I thought would be really useful or deep ended up being too light, too dull, or just not well presented. I seemed to have a knack for picking a lot of duds. Even two thirds of the tutorials that I attended (Eggs and Testing) were letdowns, due to the lack of being able to do any of the exercise material thanks to the network (Eggs), and the repetition of material from last year's PyCon (Testing).
The big wins for me were the Advanced SQLAlchemy tutorial (slide runner rocks! and if it's possible to be in love with an ORM, I think I am!), Kevin Dangoor's talk about TG2 and Dojo, and John Harrison's insanely cool Halloween laser-zapping extravaganza, which was probably the most fun presentation I've been to in four years of attending PyCon. The first two will have practical benefit for me in my daily existence, and the latter--complete with head-tracking, 3D VR goodness--was just frickin' awesome. A note to future PyCon presenters when coming up with your proposals--lasers, lasers, LASERS!
I don't mean to be so down on PyCon. I had a good time, I was just exhausted from one end to the next. Exhausted before I even left, exhausted while I was there, and (surprise surprise) exhausted now that I'm home. I did really enjoy meeting folks, networking a bit, and soaking in the vibe... It just didn't manage to leave me as energized as I'd gotten used to, spoiled as I've been by PyCons past. Though stumbling across the excellent performance of "Stairway to Heaven" in the atrium thoroughly lifted my spirits. So few people seemed to even notice that it was almost like a private gift just for me.
I've got about seven hundred photos to wade through to find promising candidates to share; please bear with me as the lucky few take their time to escape into my Flickr stream.
- Mood:pythonic
I've uploaded the photos from our trip to New York. After my day of hacking in the hotel (during which we had a great rain storm), I met up with Liz and two of her classmates after their exam for beer and munchies at Luna Park. It was humid as hell, but I had the best grilled cheese sandwich ever, and discovered that, for being somewhat mass-market, Stella Artois is an acceptable beer. Sadly, our delivery Chinese experience later than night was pretty poor (after waiting two and a half hours, they delivered it to the wrong location), and the Cavs just couldn't manage to get any traction against the spurs, so the late evening kind of fell apart.
The next day we went to Bliss for massages (nice) and then bopped up to the Fifth Avenue Apple Store, mostly so I could take pictures. We wandered a bit at FAO Schwartz, where we encountered some awesome LEGO sculptures. After lunch at BLT Steak (too expensive, but delicious), I got all spontaneous and we took a carriage ride through part of Central Park. A pre-dinner visit to Vino (an awesome Italian wine shop) resulted in a fun conversation and a few more bottles to add to the cellar. Unfortunately, our meal at I Trulli was fairly uneven: while all of Liz's dishes were pretty decent, two of mine (a duck prosciutto appetizer and Piedmontese hanger steak) were serious misfires, and I found myself reluctantly slipping into the feeling of being an "Iron Chef" judge on a bad day. The service and pacing weren't jiving either. The wine, however, was quite nice--if only the rest of the experience had lived up to it! Alas.
My overall dissatisfaction with NYC was further reinforced by our discovery that, once you go through security at LaGuardia, you don't have any meal options that include protein. If you happen to be traveling with a pregnant woman at lunch time, this is, politely, less than good. As an added bonus, the TSA folks gave Liz a bunch of crap about going through the security line a second time after leaving to get something edible. Luckily, the cats were happy to see us when we got home. And really, that's what matters.
- Mood:nonplussed
- Music:The Moody Blues - "Dear Diary"
While Liz took her exam today, I holed up in the hotel room (for the most part, I dislike NYC) and, freed from the distractions of house and work, busted out my inner geek and started getting traction on a TurboGears project I'd been meaning to start for the past year-and-a-bit.
I'm very pleased to say that things are starting to improve on the documentation front, and for many of the places that the docs are still a bit lacking, you can generally find answers or examples with a little well-targeted Googling. I'm (still) a little annoyed that the identity package ties visit tracking into the basic identity framework--I'll probably end up hacking around that eventually, but for now the fact that it Just Works is pretty nice. Similarly, Patrick Lewis's Registration for TurboGears was a very helpful find that simultaneously saved me a lot of annoyance and which will make some good example material to dissect and grok. Plus I can get back to writing the meat of the application instead of mucking around with a problem that has been solved over and over again. (I guess that's sort of the TG philosophy, and I should not be surprised, but it's nice to see it actually working instead of being just a nice idea.)
Additionally, I'm finding Bazaar to be a nice fit for my brain and available time. For some reason, getting a Subversion repository going always manages to sap any and all of my motivation for actually writing code. In contrast, Bazaar is just a few quick keystrokes away and without any tedious fiddling about figuring out how I want to structure things. Like the other things that have made me happy today, it Just Works.
Hopefully this means I can actually start to build some momentum, learn a few things, and eventually have something to show for it.
- Mood:geeky
- Music:NBA finals, game 3
After Liz and I cooked breakfast I and accomplished a car-packing miracle (I knew all those years of Tetris would come in handy!), we found ourselves running a bit early for our first appointment in Prosser, and finding that we were on a strip of wineries, we stopped at the place next door on a whim--Willow Crest Winery, home of very young winemaker Victor Palencia, Mexican immigrant and graduate of Walla Walla's enology program. Victor started studying winemaking at 17, and eventually received special dispensation from the state to allow him to taste the results of his labors; however, until that time he was forced to rely entirely on his sense of smell, and that effort has really honed his skills at an unusually early age, and he's producing surprisingly good wines that bely their modest price points. I especially enjoyed his Chateauneuf-du-Pape style "XIII," his celebration of finally turning 21. He's well on his way to being a formidable talent--my head spins to imagine what he'll be producing in ten years.
Next up was an appointment at Thurstone Wolfe, about which I ended up with very mixed feelings. We lunched at the patio there, then I ran around to get some photos of topiaries in a field, the under-construction Winemaker's Loft (a sort of winery tasting room strip mall), and an abandoned LEGO. Then it was back into the car for the drive back to Seattle.
We did a bit of running around, visiting Luna Park to pick up some coffee, and West Seattle Cellars to ship some of the week's bounty back home. Then it was back to Jenny and Mike's to have an impromptu dinner party and wine tasting to help us clear out all the bottles we'd brought back from Hedges. As the evening wound down, not even Jaden the cat could keep Mike and I from catching up, finally turning in around five AM once the wine was gone and the morning birds were chirping... The results speak for themselves.
And if you have been following along the whole way, then you already know the rest.
- Mood:done
- Music:Mike Oldfield - "The Inner Child"
Thursday began in earnest on Red Mountain in the vineyard at Hightower, hawk circling overhead, Murray the dog by our feet. Kelly Hightower poured and talked us through the tasting. We met Brent Goedhart there, working on a Syrah for his upcoming Goedhart Family Wines project; he recommended that we stop at Hedges while we were in the area (his wife is the assistant winemaker), so we got directions from Kelly and headed off to what became the surprise hit of the week.
We tasted the lineup at Hedges, with Cristophe Hedges as our guide. We toured the library, then were invited to stick around for lunch with the winemaker, vineyard manager, and pretty much everyone else who was on hand--lovely folks all, and we had a delightful conversation and quite enjoyed our time with them. As we were getting ready to leave the beautiful estate, Cristophe, to our amazement, packed up everything we'd tasted and insisted that we take it with us. We found it best to smile and say thank you.
We stopped briefly at Chandler Reach, which sadly did not wow us (admittedly we were all feeling a bit spoiled by this point).
We rested for a while back at the Cañon de Sol guest house, then while Jenny and Liz made dinner, it was my job to start a campfire as phase one of Operation S'more. Now, I've tended a few fires before and consider myself pretty good at their general operation, care, and feeding, but I've never had to start one of the things from scratch before. So, after encountering some ironic and appropriate kindling, I blossomed with manly pride when I achieved a nice, sustained flame. Liz came to marvel over my studliness, and set me to gathering up suitable sticks for marshmallow toasting. Dinner wrapped up as the sun set over the hills, and as night settled in, we wound down with marshmallows and dark chocolate s'mores, and decided to call the day a success.
- Mood:content
- Music:Matthew Abelson - "The Kid on the Mountain"
Wednesday began in Walla Walla with a rainy visit to Abeja. Then it was time to head west, back toward Yakima Valley. We sojourned at Woodward Canyon along the way, lunched at a Mexican joint in Pasco (food okay, bathroom frightening), and zoomed past the Horse Heaven Hills on our way to an appointment at Apex with new winemaker Jean-Claude, with whom we had a tremendously fun and interesting conversation as we tasted through their lineup. We paused briefly in Prosser, indulging in a visit to Chukar Cherries, then wrapped up our wine journey with a tasting at Cañon de Sol with winemaker Victor Cruz.
After the tasting, we settled in at the Cañon de Sol guest house, made plans for groceries and dinner, and set out on our evening errands. Though we made the mistake of shopping while hungry, I at least had the presence of mind to realize that, in the company of two women, and with the all the capabilities of producing a campfire readily at hand back at the guest house, picking up goodies to make s'mores was a must. Following an amazing sunset, we rushed into Kennewick to look for restaurants that Victor had recommended. Unfortunately pretty much anything reputable had closed, but discovered that "The Pub" fit all of our criteria (open, people there, kitchen serving food) and so we tucked into burgers and beers to finish off the day.
- Music:Silly Wizard - "The Blackbird"
Thanks to
aquamindy's help editing the massive heap of photos from the rest of our week in Washington, the logjam of photos is starting to clear up. This next batch (from here to here) covers our Tuesday in Walla Walla.
After a delicious breakfast, we had a little time to kill before our first appointment, so we did some sightseeing in downtown Walla Walla. Our first wine stop of the day was at K, where we met Pumpkin Killer, got a sneak peak at Kung Fu Girl, tasted their Viognier and Syrah, and briefly encountered winemaker Charles Shaw en route to the dentist. We next popped down the road to College Cellars at the Walla Walla Community College's Center for Enology and Viticulture, where Stan Clarke gave us a tour of their facility and took us up to the teaching vineyards, then headed back to the college for a taste of Syrah. We lunched in the garden at Leonetti and received a private tour of the tasting room, winery, and cellar. (Plus I had a great chance to make a new LJ icon for myself thanks to a mirror in the cellar.)
Next was Basel Cellars, which had some nice views and friendly dogs but which really didn't meet with our palettes. Our taste buds were happier a short distance away at Pepper Bridge, where we tasted a number of happy things, and I made friends with an awesome sculpture. (Also, did you know that Hogue made Garfield wine? Me neither!)
After a brief pause, we headed back into town, passed two guys playing guitar, snapped a souvenir photo of Onion World for
butterandjelly, and met Dean and Verdie Morrison for a private tasting at Morrison Lane. After dinner, we fired up the fireplace and Jenny and I stayed up chatting and finished the leftover Viognier from the night before.
- Mood:artistic
- Music:Rush - "Ghost Of A Chance"
We set off Monday morning to drive through the Cascades on the outbound leg of our epic wine country road trip, with
wolffire along as native guide. We stopped in Yakima for lunch (yes, Dad, I took pictures of the train) and arrived in Walla Walla a little after four o'clock. Once we got settled at the Tucker Inn, we headed into town for dinner at 26 Brix (where we were slightly overwhelmed by the portions and slightly underwhelmed by the meal), and I took particular delight in the offerings across the street at La Hacienda.
I took this shot for
oogby, because it reminds me of something that he'd make into a costume or a spaceship.
Hey,
butterandjelly, does this (found on the wall in the living room at the Tucker Inn) look kind of like this to you? Or am I just crazy?
- Mood:photogenic
- Music:The Moody Blues - "Beyond"
I've started to upload photos of our trip to Washington. This first round (from here to here) is from Sunday, April 29: our tour and tasting at Chateau Ste. Michelle, a spiffy-looking peacock showing off, some just-before-sunset shots of the Seattle skyline, and dinner at Beàto with
wolffire and
gr0m1t.
I hope to be able to keep up a decent pace with the editing and uploading so that I don't drag out the vacation posts forever, but it's all dependent on the amount of time and mental energy I have (as I tend to tag rather execessively). I think I'll be trying to do about a day's worth at a time, unless there's a day that's utterly overwhelming with good shots.
More to follow!
- Mood:artistic
- Music:Norah Jones - "Wake Me Up"
After spending most of Cinco de Mayo hung over (and, probably, still more than a little buzzed from drinking until 0500 the night before), Liz and I met up with long-lost high school friend
dendacien to do a bit of catching up, then it was off to the airport for the red-eye back to Cleveland.
Mercifully, I was able to sleep for pretty much the entire flight; my eyes shut as soon as I was seated, and I woke only to put on an eye mask and earplugs, and later to take them off before landing. Had a nice conversation with the cabbie who drove us home, then Liz put on cartoons and I fell back asleep.
We ease now into quiet Sunday afternoon domesticity, quite the contrast to the epic road trip of the past week. The cat boxes are now clean (joy) and the mail is sorted (yay). Laundry is started (good), though in a testament to my fatigue, I managed to run my cell phone through the wash, so that's probably a goner, along with the last couple of photos that I shot the other night before we left. I'm doing a bit better now, cranking the tunes and pushing a couple gigs of photos from the Liz's laptop over to my main desktop machine, so there will eventually be some new stuff showing up over in Flickr-land.
The current plan is to jot down some travel notes, somewhat out of order, and post them here. By now everyone should be familiar with non-linear storytelling techniques, so this should not be too hard to follow.
Many thanks again to
wolffire and
gr0m1t for inviting us into their home and life; they really upped the vacation to a whole new level of awesome.
- Music:The Chemical Brothers - "Hold Tight London"
We're having an impromptu dinner party with
Need to call
Sounds like people are here... Gotta go be social!
Hopefully yesterday's photos got some good stuff. We're off to Walla Walla in a bit, so I've got to get moving. More later!
- Music:Rodrigo y Gabriela
Today we have an appointment at Chateau Ste. Michelle and a bit of sightseeing planned, and then dinner at Beàto. In the morning, we head off to the other side of the state to start the wine visits in earnest. We're very happy to have made a better rental car selection than on our Napa trip (do not drive a Ford Taurus on windy, windy roads, kids); the comfy seats should be a nice bonus as we drive all over creation this week.
More later -- must eat breakfast and get going.
- Mood:happy
- Music:VNV Nation - "Testament"
Since I was unable to attend the sprints, my PyCon experience wrapped up on Sunday. Here are my highlights and thoughts on the third day...
Robert M. Lefkowitz (r0ml), the fourth and final keynote speaker for PyCon 2007, completely and utterly amazed me. As the talk began, I thought we were in for 90 minutes off dreary academia, but my first impression was almost immediately dispelled by the fascinating rhetorical journey through the meaning of "computer literacy" and, at a more fundamental level, the idea of literacy itself. This talk raised many interesting questions, such as: where is the canon of programming? is it better to express algorithms in code or English? why aren't the keywords of programming languages localized? how do we read code aloud? A great counterpoint to the OLPC talk was this question--how many underprivileged Brazilian kids with OLPC machines who press the "view code" button are going to know enough English to be able to (re)program them? Best quote of the talk: "Great programmers break the rules elegantly; bad programmers break the rules without realizing it." Sprinkled throughout were references to so many interesting books that I think my Amazon wishlist just grew two sizes. This talk had people buzzing about it all day, and during the closing remarks we heard that there is interest in having that same talk professionally recorded and uploaded to YouTube. Mind-blowingly good.
Sadly, however, this talk, coupled with being out too late the night before, and a general lack of sleep, left me pretty fuzzy-headed for the rest of the day. I was barely conscious during the "Easy Creation of Interactive Tutorials" presentation, which I could tell looked really neat but which I couldn't summon the energy to fully pay attention to. What I got out of it amounted to this entry in my notes: "crunchy turns simple HTML + Python code into coolness." Yessir, I sure was insightful,
Luckily, I was a little more alive for Kevin Dangoor's "Wonderful World of Widgets on the Web" talk, which discussed ToscaWidgets, the subproject that recently exploded out of TurboGears. In case anyone hasn't noticed, user are demanding nicer and more graphical interfaces on their web applications, and ToscaWidgets seems to do a good job of being a fairly declarative Python encapsulation of the HTML, CSS, and JavaScript necessary to render the widget to the web. Kevin demoed a TinyMCE widget, showed us how to hook up a FormEncode validator to a widget to get automatic error handling and type conversion, illustrated nice graceful degradation capabilities in a ratings widget (for users who don't have JavaScript) and more. As a nice bonus, widgets are easy to add to the Cheeseshop so that they can be easy_installed at a moment's notice. I think it's great that this package is being factored out of the core TurboGears code and released into the wild for other projects to take advantage of; it's a prime example of the "rising tide floats all boats" philosophy that I really admire about TG.
Titus Brown's "Testing Tools for Programmers" talk discussed a collection of simple, easy-to--use tools that he developed that work nicely in concert with one another: twill does functional web testing (really lacking only JavaScript support); wsgi_intercept lets twill talk directly to WSGI apps, allowing you to use the same twill script to test both the WSGI app itself and the complete web stack with a live server; scotch (a pun on WSGI's whisky-like pronunciation) lets you record and replay WSGI data and generate twill scripts; and figleaf is a code coverage recording tool that can combine coverage from multiple runs and emit a unioned result for your perusal. There's still a great need for documentation on these tools, but they're otherwise ready to make your life a lot less sucky. And he remains eminently quotabe--on testing and WSGI,"You have no excuse. Test your web apps. If you're not using WSGI, there's something else wrong with you," and in reference to starting a "testing-in-python" mailing list, "[I wanted to] get some cross-talk happening in the testing community like there isn't in the web community." Good stuff; you can check it out yourself.
I had some familiarity with trac before, but I still found new stuff to love in the "Software Development With Trac" presentation, specifically the bitten plugin, which glues in a dashboard of continuous integration results, stats and graphs about lines of code over time, passing and failing tests, and more--you can click on a failing test and jump right to the relevant source code! This killer feature pushed me off the fence, and I'm now very excited about trying to bring trac into my office.
Not tremendously excited by any of the late afternoon sessions, I went to an open space talk led by Gary Bernhardt of our local ClePy group. Gary's been working on a thing so far called RESTdb, which is a RESTful database application queried via HTTP verbs instead of SQL. Like SQLObject and SQLAlchemy, RESTdb is very delcarative, creating the database from the Python code. But unlike a relational database, the client knows nothing of the database schema, just the names of resources that it wants to access. The project is only two weeks old so far, but it can already do many interesting things, and can easily support 10,000 local machine queries per second. Some challenges of a RESTful database include the impossbility of the client to introspect the database at all, and that you don't do joins (since it's not a relational database), so you have to think a little differently. The room wrapped up its allotted time with a great discussion of what REST is and isn't, and a good time seemed to be had by all.
Highlights of the final round of lightning talks included a very cool demo of pyglet, a pure-Python "to the metal" game engine that's programmable via XML documents; a demonstration of how to solve the Rubik's cubes that we all received in the Big Piles o' Swag (including solving it behind your back!); some talk about a bizarre and interesting alternate Python implementation called RPython that specially compiles your Python code to make it much, much faster, but which also stands a good chance of hurting your brain in doing so ("it's like writing C in Python" and "you can take drugs or write RPython"); some stuff that I couldn't quite follow about xerblin; and the worst and best ways to do document tree conversion (which I wasn't able to take any notes on as I was already running late to pick up the waiting cab).
I managed to score a few more T-shirts today, and I put in an order for a medium Python zip-up sweatshirt (which had sold out nearly instantaneously on Friday). I think that brings the T-shirt total up to at least eight or nine; I'll have to get a final count when I get home and start unpacking. I expect it'll be like opening a series of Russian nesting dolls...
Sadly, there are no results yet for the photo contest--hopefully I'll hear about the results in a day or two. I don't want to toot my own horn too much, but of what was submitted to flickr in time for the contest deadline, most of it fell into one of a few categories: photos of the OLPC laptop, photos of speakers speaking, photos of acquaintances in the hall or meeting rooms, and photos of meeting rooms or hallways with random crowds milling about. I posted a couple of uncorrected candids from the hotel bar of Dave Stanek and Gary Bernhardt poring over a laptop that (I think) really captured the collaborative and fun spirit of PyCon. But we'll see what the judges think... I will post the rest of my photos to my flickr account once I get home and have a chance to offload them from the camera.
Now I'm on the plane, killing time, and being That Guy With The Laptop Out, which is something I'm enjoying because I never get the opportunity when I'm traveling elsewhere. Really, I'm making up for a damaged headphone earpiece that's preventing me from chilling with my iPod for the duration of the flight. I get in around 11 PM, then it's straight to bed so that I can be in early at work for a two-day training session.
As always, the Python community continues to impress me with its warmth, openness, and welcoming nature. It's amazing to be surrounded by almost 600 strangers (I think the final number was 593!) and feel right at home; and it's really rewarding to be able to turn PyCon acquaintances into good friends. I can't wait for next year!
- Mood:pythonically exhausted
- Music:Spirit of the West - "Home for a Rest"
Some quick thoughts and notes on Saturday at PyCon that turned into not-so-quick notes as I started writing them...
I was initially excited that Adele Goldberg was giving the day's first keynote (I'm a bit of a PARC fanboy, really enjoyed Dealers of Lightning), but sorely disappointed that an hour of hearing a lot about the current state of public schools and computers in public schools that I was already aware of turned into what felt like an advertisement for what amounts to been-there-done-that educational software (now with ZJaxian pizzaz!). Too bad. (Plus she cited the NYT article about the "scrotum" controversy which is a dubious source due to some (IMO) highly questionable journalistic practices.)
"Scaling Python for High-Load Web Sites" felt strangely like a time warp back to the presentation that David Stanek and I did last year, but with slightly less management-imposed hand waving. A very weird experience.
The testing tools panel likewise didn't manage to deliver any earth-shattering insight into testing, but did provide plenty of good laughs, and makes me wonder when we'll start seeing some of the panelists in rehab for "dot addiction." ;-)
Guido's lunchtime keynote skipped any discussion of the current state of Python, and instead dove into a preview of what's coming up in Python 3(000), the first alpha of which is due this summer. Some stuff seems really good (print as a function, dictionary views, string and bytes, the int/long unification, division, absolute imports, and the exception changes), some things seem intriguing and mildly weird (string formatting, set literals and set comprehensions), and some things seem downright bizarre and possibly awful--specifically the keyword-only parameter syntax, which at first glance looks like a horrible typo. Luckily the (IMO unnecessary) switch/case stuff was put to a vote on the spot and soundly vetoed, so it looks like it will (thankfully) not end up happening.
Google uses two-space indents. Make of that what you will. (I am a recovering 2-space indenter, now greatly preferring 4-space.)
Serving soup to a ballroom full of laptop-toting geeks seems like an inherently bad idea...
I very much enjoyed Dan Milstein's talk on "Embedding Little Languages in Python" which illustrated some great ways to turn friendly little DSL's into very clean and well-structured, declarative Python code. I'll definitely be grabbing a copy of his slides.
Likewise, I thought Aaron Bickell's soaplib was a hit, reminding me of Python's xmlrpclib on the client/server proxy side, and a bit of CherryPy/TurboGears on the server side. And it's a lot like TGWebServices, so that's cool too--multiple brains converging independently on a similar solution means it's probably a pretty good approach.
My presentation went pretty well, although I was definitely rushing to get through all of the essentials. The palpable sense of relief when it was complete was quite amazing. I got some good questions and several compliments throughout the afternoon, so that felt pretty darn groovy.
I went to an open space talk where Ian Charnas and Brian Beck from the Case contingent of ClePy showed off Pagoda, an open-source CMS built on top of TurboGears. Looks nifty; this should be a project to watch.
Saturday's lightning talks included some significant gems: Kevin's TGWebServices talk had some amusing Java/SOAP zingers; the tale of using Python on a Series 60 to map cell phone towers as a "poor man's GPS" was charmingly entertaining; a quick hit on the state of Python in Japan won our hearts; and Ian Bicking's Zjangogears brought down the house with laughter. Awesomeness all around!
I missed the OLPC demo session last night, opting instead to join up with a dinner group (Kevin, Mark, and Karl from TG, a bunch of ClePy people, Bruce Eckel, and some new names and faces that are presently eluding me). Dinner was followed by a whole bunch of standing around in the hall talking, which evolved into hanging out at the bar enjoying beer and code with ClePy people, and eventually the EWT party up on the twelfth floor. I gave in to my exhaustion at left the party around one... I'm sure it kept going for quite a while.
I'll save my thoughts about today's activities for another post, once I have time to digest it.
- Mood:pythonically delicious
- Music:VNV Nation - "Solitary (Signals Version)"
After escaping from the madness of the office, we had a pleasantly uneventful flight to Dallas, notable only in that it was coworker Dave Noyes' first time on an airplane. I enjoyed watching his reactions to things that had become completely natural and unremarkable to me, and I smiled a little inside remembering what it used to be like. Had a small bit of annoyance with the hotel (the main hotel decided at the last minute that they couldn't accommodate our Thursday-night reservations), but there was free breakfast, so I'm less annoyed now. We missed the shuttle to the main hotel by about fifteen seconds, so we ended up grabbing our bags and hoofing it over to the Marriott Quorum, and leaving our stuff with the bellman.
I've been taking fairly copious notes this year so that I can try to bring back some useful stuff to AG. I won't do massive dumps of that here, but will comment on a few things that have stuck out in my mind.
First, the high points:
- Today's keynote from Ivan Kristic about One Laptop Per Child which I had been mildly intrigued about but slightly skeptical of... and I'm blown away. They've engineered a great tool, and the project is very inspiring. They're using Python for darn near everything, including an amazing sounding filesystem that's more of an object store, capable of timelining, collaboration, N-way syncs, and more. Mesh networking. Dual-mode touch pad that can be used as a writing/drawing tablet. Durability of the unit. Experimental battery chemistry. And what I am really blown away by is the "view source code" button on the keyboard that can instantly show you what's running and let you tinker with it! Frickin' cool. Ivan gave out one of the prototype laptops to Guido and one to an attendee--I got to hold the laptop and get a couple photos of probably not very good quality that I might post later. I'd love to figure out a way to help out; time is unfortunately a big problem there. But this stands a good chance of changing the world in a positive way... Very exciting! I'll probably stop by the laptop demo session tomorrow night to see it in action.
- Using Stackless gave a lot of interesting insight into rigging up cross-task communication within Stackless, how to make asynchronous API calls look like nice, simple synchronous ones, and some other cool stuff. I'll definitely have to dig into this more.
- Lunch! Fajitas! Little bean burritos! Refreshing salads! Yum!
- A bonanza of swag: on top of the four shirts in the conference tote bag, I scored an EWT "Born To Code" shirt and a small Rubik's cube, bought a "Zen of Python" shirt that'll give me some much needed color options (black is starting to get old), and scored a Google Python shirt (which must be earned by having a suitably engaging conversation with one of the guys at the table; I spoke with a chap named Thunder, who has probably the second coolest name (number one still belongs to Ransom Love)).
- Ian Bicking's "WSGI: A Series of Tubes" combined whimsy and hand-drawn diagrams with a nice, friendly overview of what WSGI is all about. I keep missing the WSGI bus, so it was great to finally get clued in. Some interesting philosophical topics here, like microframeworks vs. monolithic frameworks.
- Chatting and hanging out with friends from PyCons past as well as Clepy folks who are joining us for the first time. Long story short--geeking out around cool people rocks!
Slightly less awesome:
- The network is apparently a lot better now that we have our own implementation, but I'm still having tons of problems with it. Probably because there are only three 802.11b channels, and I have no g or n capabilities on the hand-me-down PowerBook G4. Still, a lot less painful than last year.
- I was somewhat let down by the i18n talk; it was more from the perspective of someone new to i18n and some very basic techniques and hazards, ended quickly, and there were many unaswerable questions. On the plus side, I did learn that difference between StringType and StringTypes.
- I had been looking forward to the PyCon 2007 Web Framework Panel, and while there were some fun moments and the occasional pointed and politically incorrect remark, I didn't really learn anything new about any of the projects that were represented.
- I had hoped to get some useful programming insight out of "Iterators in Action" but instead learned some important things about presenting that I will take into consideration for prepping for my session tomorrow. Specifically, don't spend a ton of time talking about all the things you don't have time to talk about--omit it entirely or find a smooth transition and skip directly past the things you can't talk about; don't keep harping on it. Also, I should consider the pros and cons of animated slide transitions; they seemed overused here, but in one or two places could be helpful.
Lightning talks are starting to wind down... So it's probably about time to find a posse and go hunt down some food, followed by an exciting evening of tweaking and practicing my presentation.
- Mood:pythonic
The other day, I uploaded photos from Mendocino (the next chunk of my backlogged California vacation photos from October) to my Flickr set, but was too busy to post any here...

Birds in flight at the End of the World

Driving from Mendocino to Albion
- Music:Vangelis - "Reve"
Had a nice chance to take a deep breath this weekend and get caught up on some stuff around the house, mostly chores like raking and cleaning that slide all too easily when life is crazy.
But I also managed to start getting traction on rating, sorting, tagging, and uploading photos from our increasingly less-recent trip to California. I've now uploaded probably close to two-thirds of the photos from the week. Notable stops on the trip (previously documented or otherwise) include:

Forgetting about everything except being on vacation
...with many, many more over at my Flickr photostream.
Hopefully I'll have time this week to upload the remainder: photos from Mendocino, a glorious sunset over the ocean in Albion, wineries in Sonoma, and Don and Kai's wedding.
- Mood:photomaniacal
Liz and I took a well-deserved three-day weekend trip to Ann Arbor to celebrate our anniversary a little early. It's hard to believe that six years of marriage have gone rocketing by so quickly!
Friday night we enjoyed a good wander around downtown Ann Arbor, discovered, to the peril of my credit cards, the Vault of Midnight, got a head start on our Christmas shopping, and met up with Kevin Dangoor and Mark Ramm at the Arbor Brewing Company, where a good time was had by all.
Saturday, after a spot of brunch and shopping (and discovering the hypnotic terror that is "Powerpuff Girls Z"), the main attraction began: a series of RSC shows featuring Patrick Stewart. First up was Julius Caesar, not featuring Patrick Stewart, but instead featuring buckets of blood, dogs of war, signs and portents, and all similar manner of treacherous goodness. We paused for a jaunt over to Vinology for dinner, followed by a quick bit of dessert at La Dolce Vita, then it was back to the theatre for Antony and Cleopatra, where I had a bit of a chuckle over Patrick Stewart's wig--I don't think I've ever seen him have that much hair before, unless you count the space-mullet he sported in Dune. This morning, we brunched again, then took in the third and final round, The Tempest, which had been done up as a rather cinematic affair in a barren land north of the Arctic circle, somewhere between King Kong and Neil Gaiman.
As expected, Patrick Stewart was thoroughly at home on the stage, and did not disappoint, in energy, in subtlety, in getting just the right nuance. And though he chewed a bit of scenery, he should be commended for making sure that his fellow players get chances to shine in their own right. We were especially impressed with Cleopatra, whose performance utterly defied words as it cascaded from girlish delight to bitter jealousy and rage, into despair, and finally, tragic, dignified resolve. Bravo!
And, just like that, the time has gone and now we're home again, making preparations to do battle with the week ahead. Oh, yes, there are still tickets available for some shows, if you find yourself of a mind to go. Even if your seats aren't the greatest, you won't regret it.
- Mood:theatrical
The remainder of our time in wine country was simply marvelous, and filled with a delightful lack of televisions, internet, and cell phone coverage. High points include our romantic lodgings atop the oceanside cliffs of Albion, tour at Handley, visit to the indulgent "Bubble Room" at J, and utterly perfect dinner at The Girl and the Fig in Sonoma. I suspect that I'll get around to writing about it a little bit sometime soon (which probably means I'll never get to it, based on my track record).
Don and Kai are married (for a whole day now). Hooray for them, and about time too! I ended up standing in for a replacement groomsman, which was a pretty good time overall. I got taken to my first football game (with 72,516 in attendance), enjoyed hanging out with Don and his friends, and generally did my best to keep Don from either jumping off of or passing out and falling down the cliffside behind the wedding site. Ah, good times. :-) Anyway, we wish the two of them heaps of all that good marriage stuff, blah blah blah. Not that they need my additional blessing, as they are about as perfect together as any two crazy kids could be, but I figure good mojo is always welcome.
Lots of photos were taken. Coming soon: maybe I'll find the time to sort and upload some. Stranger things have happened!
Too much new stuff on the Tivo this week: Galactica, Dr. Who, Lost, Eureka, Studio 60, The Office, Robot Chicken, etc. etc. I think I need a vacation day to catch up with everything... :-P
- Mood:tired












