by Jonathan Gennick
PyCon 2005. I've just returned to the office and recovered from a fantastic trip to Washington D.C. last week for PyCon, the annual Python Conference. While I enjoyed the conference, my wife took the kids around to a few of the many museums and monuments that are to be found in our nation's capital. I didn't get in on that action, except to manage a late evening subway excursioun with my daughter to see the Capital Building, the Supreme Court, and Union Station. I love old-style train stations, and the lighted Capital dome is gorgeous at 8:00pm on a dark evening.
The venue. I can't say enough about how very much I like the venue for PyCon. The George Washington University area is bursting with life, so unlike many conference venues. There are shops, restaurants, monuments, people live in the area, and things were happening. Even the food-court known as J-Street on floor one of the Marvin Center (where the conference was held) was fun. My daughter and I found a great source of vegetarian sandwiches down there. Jenny's a strict vegetarian, so this was no small discovery! And the University bookstore was in the building. How can you not like a bookstore that sells cool medical equipment like stethoscopes and reflex hammers (I forget the proper name) and what not? I came this close to buying my nine-year-old his own stethoscope (uh, Jeff, I hope you're not reading this 'blog). What I did find to buy was a copy of Timothy Gowers Mathematics: A Very Short Introduction.
Python Books. Alex Martelli and Anna Martelli Ravenscroft had only just finished revising the Python Cookbook. We managed to ship several dozen copies of the Second Edition direct from the printer to the show bookstore. If you were at the conference, you are among the first to see the book. I greatly enjoyed working with Alex and Anna on this second edition. They are excellent writers, passionate about their topic, and knowledgable. For me, the high point of the project was the day that Alex added me to the credit list for the recipe on "Finding Last Friday". While editing the chapter on time and money, I'd read the first draft of the recipe, and was hit with an idea for improving it. I worked out some details of modular arithmetic with a friend while hiking in the Pictured Rocks National Lakeshore. Then I emailed Alex my new alorithm and put the matter out of my mind. I about fell out of my chair when he sent the chapter back with my friend's and my name in the credit list for that recipe. It just goes to show, that no matter what your Python expertise (and mine is very little indeed), you can still contribute to the cookbook. Alex, I'm honored.
For any who are curious, my friend's and my solution is the one on page 119.
Favorite Session. There were many good sessions at the conference. Perhaps my favorite sessions were the two back-to-back sessions on
the new, decimal module by Michael Chermside and
Facundo Batista. Perhaps it's because of my background in COBOL supporting a payroll system, but I've always thought it important to have support for true-decimal arithmetic, and so often languages seem not to provide for that support. It's nice to see it coming to Python. Later that same day, I sat in on an "open space" session led by Facundo, in which Facundo, Alex, Anna, myself, and a few others discussed the possibility of creating a specific datatype for money. In the past, I've been skeptical of the benefit from such a type, but now I'm rethinking the idea. I've seen money types that are nothing more than fixed, two-digit decimal types. Those probably don't add much value. But what if you could create a money type that combined both an amount and a currency type, so that you could store a value of USD 100 in one variable of the type and CAD 100 in another variable of the type, and the currency unit would be part of each value? What if you could somehow automate comparison of values across currency units? Well, that last is certainly an interesting challenge, isn't it?
On the subject of time, Anna Martelli Ravenscroft gave an excellent presentation on The Time of Day tackling topics such as time zone support and Coordinated Universal Time (UTC). Anna also pointed me towards what appears to be a very comprehensive resource on Timezone Information. A few years back, I did a fair bit of research into time and time zones while revising the datetime chapter in Steven Feuerstein's Oracle PL/SQL Programming to cover the then new, time zone, timestamp, and interval support in Oracle9i Database. Time and calendars, these things are not so simple. I have a lot yet to learn, and time is a fascinating area to explore. I never knew, for example, that Detroit, the city I grew up in, once had its own time zone.
In the favorite quote department, I had to laugh out loud when Greg Lindstrom of Novasys Health made the comment the largest obstacle to corporate adoption of Python is that "Python is too easy." A close runner up was Guido's comment during his keynote that "Perl isn't all bad."
I met many authors at the conference whom I don't get a chance to see often: Alex and Anna I've mentioned already, there is also David Ascher, Mark Lutz, Ray Lischner (of C++ In A Nutshell fame), and Abe Fettig (upcomming book on Twisted). There were many other good sessions, on Scripting the Mac with Python, on PythonCard, on Design Patterns, and many more.
I thoroughly enjoyed my two days at the conference. It was great meeting people in person whom I usually can only trade emails with. The venue was great. My wife says it's the best vacation (for her and the kids, anyway) that I've put together in a long time. I can't wait to see what next year brings.