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 geekazoids. 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. 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 Ada 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.