Presentations
- Shiny, Let's Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulnerabilities
- A hands-on walkthrough of exploiting and mitigating the OWASP Top 10 web app vulnerabilities. Presented at PyCon 2013 on March 14, 2013, with David Stanek.
- Web Development with Python and Django
- A possibly overly-ambitious introduction to web development with Django 1.5. Presented at CodeMash 2013 on January 9, 2012, with Mike Crute and David Stanek.
- A Few of My Favorite (Python) Things
- A whirlwind tour of ways in which Python makes me happy. Presented at CodeMash 2012 on January 13, 2012.
- Win at Parenting with Python
- The deck I used to formally announce the launch of How Old Is My Kid. Presented during the PyCon 2011 lightning talks on March 13, 2011.
- Exhibition of Atrocity
- A confessional tour of my sins against Python and advice on how to avoid various antipatterns. Presented at PyCon 2011 on March 12, 2011.
- Dateutil to the Rescue!
- An overview of the capabilities of dateutil, a powerful set of extensions for Python's datetime library. Presented to ClePy on February 5, 2007, and at PyCon 2007 on February 24, 2007.
- pdf 1.1MB
- The Joy of Logging
- How to use Python's logging module for doing all kinds of crazy ninja logging magic (or just simple things too). Presented to ClePy on September 11, 2006.
- pdf 882KB
- Python can Survive in the Enterprise
- Dispelling the myth that "Python Doesn't Scale" with some discussion of how AG Interactive uses Python to deliver the performance necessary to survive in a high-volume, high-traffic web application environment. Presented at PyCon 2006 with David Stanek on February 24, 2006.
- pdf 453KB
- Fun With RSS
- A quick look at parsing and generating RSS with Python; introduces feedparser and PyRSS2Gen, and illustrates how to combine the two to generate subfeeds filtered on some given criteria. Presented to ClePy on December 5, 2005.
- pdf 151KB
- Introduction to TurboGears
- An introduction to TurboGears and its components, presented to ClePy on November 7, 2005.
- pdf 185KB