the further adventures of

Mike Pirnat

a leaf on the wind


Using Python to Get Out the Vote
How I used Python to support the get-out-the-vote campaign for a local school levy, including data modeling and munging with SQLAlchemy and reading and writing CSV files. Presented at PyOhio 2015 on August 1, 2015.
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.
  • pdf 6.2MB
  • video (begins around 30 minutes in)
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.
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.
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.
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.
Introduction to TurboGears
An introduction to TurboGears and its components, presented to ClePy on November 7, 2005.