Talks at PyCon that Teach How to Be Better Programmers

Jeff Rush jeff at
Tue Oct 24 07:19:28 CEST 2006

I've been looking over the mix of talk proposals we have so far for PyCon 
2007.  We're got 17 so far, with a good number of case histories.  Now case 
histories are good, don't get me wrong, we want Python to be successful and it 
is interesting to hear how it is being used.  But according to the feedback 
forms from last year, we need more talks that actually teach you how to be 
better programmers, especially if we want to bring new talent into the community.

Where are the talks about how to best use select features of the language, 
that demonstrate how to use some of the more powerful design patterns in 
Python?  Python 2.4 and 2.5 have added significant new capabilities to the 
language and we need the advance scouts to help some of us just now 
discovering them.  Many of us do not adopt new features as soon as they appear.

Often at PyCon we have looked to people like Alex Martelli to get down and 
dirty with aspects of the language, but unfortunately he is unable to make it 
in 2007.  Who else is good at explaining how and when to apply language 

Not sure where to start?  For brainstorming here are four talks I've not seen 
at recent PyCons and that I think would be well received.  Anything about 
design patterns would be good too.

How to Optimize Your Python Programs?

   * optimization - speed or memory?
   * common mistakes
       o use of repeated append on strings
       o not using Numeric when doing array operations
           + such as graphics, sound
       o close your handles, release your objects where possible
   * what slows Python down?
       o looping?
       o function calls?
   * methods to speed things up
       o pre-binding
       o push looping into C extensions
       o code in C extensions releases global lock and speeds up
         execution on multicores
   * shrinking your memory footprint

Key Python Technologies You Should Know

   The idea of this talk is to highlight some of the cross-domain
   technologies that a programmer would find useful in his toolbelt
   as he moves among problems or job positions.

   * criteria for inclusion in talk:
       o cross-platform
       o cross-domain
       o of general use, not obscure or a niche
   * docutils, reST (docstrings, READMEs, page templates,
                     wiki markup, doctests)
   * interfaces/adapters
   * eggs
   * unit test frameworks
   * DB-API?

Taking Your Programming Environment to a New Level

   What do skilled Python programmers keep around them that makes
   them better programmers?

   * pymacs, pyvim
   * pylint
   * ipython and other command shells
   * brief walk-thru of GUI IDEs
   * keeping docs at your fingertips
   * books to keep at your side

   (this talk could be run as a panel among experts)

What the Heck Does "Pythonic Programming Style" Mean Anyway?

   The term is often tossed at someone on the list, but what
   are they talking about?  How can a newbie learn the style?

   * common idioms you see in source code
   * attributes versus getters/setters
   * package dir layouts
       o import all in __init__?
       o fully name-qualify all imports?

I've included links to the wiki pages holding the outlines in hopes that 
people will suggest additional topics to cover.

To give a talk, before Oct 31 visit the conference page at:

Jeff Rush
PyCon 2007 Co-Chair

More information about the Python-announce-list mailing list