PyCon, Day Five
Sunday, February 21st, 2010Hacked. Went to two talks on Mercurial. Hacked. Ate. Flew Home. Unpacked. Tired. Wrap-up later this week.
Good night.

Hacked. Went to two talks on Mercurial. Hacked. Ate. Flew Home. Unpacked. Tired. Wrap-up later this week.
Good night.

Today was made of twenty-four karat win.
I’m beat. There’s one more day of talks, then I’m on my way back home. Not sure when I’ll be able to get my Day Five post up, but I’ll try to do it before I fly out.
Thanks for reading!

Today was the first official day of the conference, and it was packed. The started off with a carb-filled wonderland of treats (croissants, various breads and cakes) and coffee leading into the three keynotes.
After a short coffee break the various tracks started up. While everyone seemed to be getting something out the talks they attended, my personal experience was that it was rather it and miss. The single outstanding talk was an exploration of the Python Dictionary, explaining how it allocates memory, resizes itself, and assigns addresses in RAM. It sounds dry but Brandon Craig Rhodes did an excellent job, and was easily the best speaker of the my day. A close second was Grig Gheorghiu’s discussion of RESTful web services and how to construct them using restish.
The day finished off with a set of lightning talks, the highlights of which were Greg Wilson’s request for articles for his next book entitled Beautiful Software Architecture, Ned Batchelder’s report on recent changes to coverage.py, and David Huggins-Daines’s demonstration of PocketSphinx, a speech recognition engine which will transcribe .wav formatted audio to text.
By then end of the day, most of the folks I was hanging with were beat, so we split up and grabbed dinner. Some of us walked back to my hotel and hacked on code for two or three hours, which was fun. I haven’t been able to hack with a team since I left Mahalo, and I do miss it.
Tomorrow looks to be another full day. Check in late in the evening for a recap of Day 4.

My tutorial today, Testing Websites With Python and Selenium, was not as promising as I hoped. In fact, I was rather disappointed with the comedy of errors that ensued.
<snip…>
Rather than get all frothy and unkind, I will only say that an ounce of preparation goes a long way. I did learn a few things, but the talk was so much less informative than yesterday’s tutorial that I left feeling that I would have done better just reading the docs on my own.
Now, that being said, this is not a problem with PyCon, just this one tutorial. I still have very high hopes for PyCon in general. Tomorrow is the first day of the formal conference, and I look forward to seeing what it holds.
Stay tuned for Day Three.

The area around the Hyatt Regency in downtown Atlanta is very much as I remember it. The last time I was in town, it was for DragonCon 2006. That was in August. It’s colder now: February will do that. This morning’s sky is slate gray; it reminds me of home. This is different: I remember Atlanta’s blue skies, it’s warm nights.
You’re not at DragonCon anymore, Mr. Miller.
The Regency is a very different place when not festooned with cosplaying geekazoids1. That’s not to say there are no geeks, just that colorful superhero and anime costumes have switched to black shirts/hoodies and blue jeans. It’s not full the full-on stereotype, mind you: there are enough hipster-coders in the mix to break up the monotony.
At the time I write this, it’s 8:42 am and I’m waiting to filter in for the first tutorial I signed up for: Faster Python Through Optimization. This is after my first choice, Test Driven Web Development, was canceled due to the speaker’s business life stomping down on his lecturing life.
I’ve just been asked where the registration desk is again. Again, unlike DragonCon, there’s more than one convention in the hotel this weekend. People are confusing one with the other. It’s easy to tell the between the participants: khakis and colored oxford shirt? Manufacturing conference. Black Tee with laptop bag? PyCon.
So far, the wifi is…minimal. This is disappointing, but it’s still very early: I’m willing to bet they just haven’t gotten there yet.2 The staff peoples are working hard this morning…I’m watching them lay powerstrips and set up cameras. It looks like there will be an archive of all the talks. This is great: I can use them for review later if my own notes are lacking.
Time to go. More later.
* * *
I must steal a line from my friend Kris Johnson to describe the Optimization talk. It was like a toasted wheat bagel: good for me, but very dry.
The speaker was well prepared: sample code was burned to CDs and a fifty-three page handout that contained all the information for the course. Any worries I had about not having complete notes are now gone.
(This is where the non-programmers can skip to the end. The rest of you, read on.)
The information was excellent. We started off looking at how to use cProfile and Guppy to benchmark and profile code. From there we wrote several tests for comparing operations on various data structures: finding the intersection of two lists vs. two sets, Slicing off pieces of a large list vs. using a deque. From there, looked at how to speed up various math functions with NumPy, using psyco for JIT optimization, then finally moved on to using the multiprocessing module to make the best use of multicore systems. Finally, we looked at how to combine strategies to get the most bang for your buck.
While I was pleased with the content, the presentation was a little lackluster only for the reason that most programming presentations are challenged: the instructor mostly read from his notes. To be fair, he seemed a little nervous, and the fact that some of his examples failed because of configuration issues did not help the poor guy. I felt for him. The interesting that happened was that people paired up when things went awry to solve the issues. I worked with a woman named Ada3 to figure out the problem with some of the timing functions in the code. The pair programming enhanced the talk, and I feel like I got more out of it.
(Welcome back, non-programmers.)
All in all, I’m pleased. I’ve already learned some new concepts and they are spawning new ideas that I’ll probably play with over the weekend. Tomorrow I’ll be heading to Testing Websites With Python and Selenium, which looks promising.
See you tomorrow for Day Two.