Notes from MPUG, September 2012

These are my notes from last week’s Melbourne Python Users Group meeting at Inspire 9.

We had a great turnout, probably due to the combination of last month’s PyCon AU and Richard’s guest spot on Byte Into It the week before. We also had a puppy come along — I think that’s a first for MPUG!

Richard kicked off the meeting with an overview of PyWeek, the Python game programming challenge, which started on Sunday.

Tennessee gave us three short talks:

  • a snippet of code that allows you to connect the Python debugger to a signal handler, so (for example), you can use Ctrl-C to drop your program into the debugger at any time. There are more details in Tennessee’s blog post.
  • the links to the PyCon AU talk videos which are now up at youtube.com/pyconau (and Adam MacLeod has started a list of presentations and slides that are now online)
  • an introduction to GitLab, the self-hosted Git system for those who don’t or can’t use GitHub. It was worth noting that it took a day to get GitLab (and the supporting Ruby on Rails infrastructure) set up on a Fedora box, with various installation issues. Along the way, we detoured into ReviewBoard, the web-based code review tool.

Benno gave a great presentation on deploying web applications to Heroku and the
twelve factor app” methodology that I had not heard of before.

Javier is teaching at Monash and is switching his first year Data Structures and Algorithms course from Java to Python. He presented a way of extending the dict class with the __missing__ method to create a caching fib[] dictionary and his maht module (and that’s not a typo!). This led to an open discussion about the benefits of looking at the pure Python versions of various data structures and Peter Norvig’s Infrequently Asked Questions.

Noon Silk showed us how to use pycallgraph to generate live call graphs of web applications using CherryPy. The demo source code is available and has plenty of potential for extending the code to graph arguments as well as methods, along with additional filtering and logging.

This entry was posted in Python. Bookmark the permalink.