PyOhio 2012: Automation & Code Legibility
This year, several Sixies went to PyOhio at Ohio State University in Columbus, OH. Like the years before, the organizers, sponsors, and volunteers put on a fantastic event.
The weekend kicked off with James Tauber talking about some of his various open source projects written in Python, including music performance analysis, git-style versioning for Python datastructures, and an Apple emulator. James is a great speaker, and his projects were all fascinating. Having such variety helped set the tone for the rest of the conference, which covered a broad variety of topics.
Two major themes emerged in the talks: automation, and making code more approachable. For automation, several talks touched on tools like git, make, and continuous integration suites for making repetitive tasks more consistent than simply listing commands in a document. Also, in the same vein, proper communication between developers and operations and systems that help both groups quickly identify and resolve issues were highlighted. One of the best ways to do this is instrumenting your applications with good logging and reporting to reduce the stress of those late night emergencies.
Another major theme was making your code more understandable to others. Benjamin Smith talked about keeping code simple and avoiding esoteric language features in order to help programmers unfamiliar with a project be productive faster. Brandon Craig Rhodes covered the Gang of Four design patterns and how they fade to the background in Python and its standard libraries, or how we can use them to make our code more readable and adaptable. Kenneth Reitz gave a presentation titled Python For Humans and advocated designing your APIs to be as simple and straightforward as possible.
In addition to these general best practices, there were several great talks on logging, and one covering better handling of dates and times within programs.
Saturday evening, I presented on the Zope Object Database (or ZODB), and the slides are posted if you'd like to get an overview. Anyone interacting with the datetime type and time zones should peruse Taavi Burns' presentation (PDF). It was both enlightening and frustrating to learn about some of the problems in the standard library.
Overall, it was a fantastic event. As to the future, this year's chair, Eric Floehr, announced that a nonprofit was founded to support more events like PyOhio in the Midwest region on a more regular basis. Catherine Devlin gave a lightning talk about her collaboration with OpenHatch on the Indianapolis Python Workshop this year, and she's looking for other groups in the Midwest that would like to host a similar workshop in their area. Check out Catherine Devlin's blog post for details on how to get in touch. We can't wait for next year!