# django_flatpage

url: /2010/openspace/StateOfZope/
title: State of Zope
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="state-of-zope">
  <h1 class="title">State of Zope</h1>
  <p>This Open space is to discuss the state and possibly future of Zope and all the new
  Zope technologies.</p>
  <p>Topics will likelyinclude Zope2, Zope3, Repoze.*, Deliverance, Grok, eggification,
  etc. Topics may include Plone and even TurboGears.</p>
  <div class="section" id="suggested-topics">
  <h1>Suggested Topics</h1>
  <ul class="simple">
  <li>New technologies</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 15)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Past and future changes to Zope
  * Distribution and Packaging
  * Zope.org and advocacy in general
  * Add your topic here</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </div>
  <div class="section" id="suggested-questions">
  <h1>Suggested Questions</h1>
  <p>These aresome questions I think can be useful to
  ponder before and during the Open Space:</p>
  <ul class="simple">
  <li>Has the changes to Zope caused any problems?</li>
  <li>Is the Zope world is getting too complex?</li>
  <li>Dowe have a simple story for Zope newbies?</li>
  <li>Are we on the same page?</li>
  <li>Where do we go from here?</li>
  </ul>
  <p>Send a mail to <a class="reference external" href="mailto:regebro&#37;&#52;&#48;gmail&#46;com">regebro<span>&#64;</span>gmail<span>&#46;</span>com</a> if you want to come but aren't at PyCon all three
  days, so we can schedule this when as many as possible can attend.</p>
  <p>Feel free to add suggested topics and questions to this page.</p>
  <p>See you there!</p>
  </div>
  </div>


url: /2010/tutorials/tutorial-faq/
title: PyCon 2010 Tutorial Days FAQ
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="pycon-2010-tutorial-days-faq">
  <h1 class="title">PyCon 2010 Tutorial Days FAQ</h1>
  <p><strong>General Questions</strong></p>
  <ul class="simple">
  <li><strong>What dates do I need to know?</strong></li>
  </ul>
  <table border="1" class="docutils">
  <colgroup>
  </colgroup>
  <tbody valign="top">
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 10)</p>
  Unexpected indentation.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 10)</p>
  Blank line required after table.</div>
  <blockquote>
  <div class="line-block">
  <div class="line">Date       | Description                               |</div>
  </div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 11)</p>
  Line block ends without a blank line.</div>
  <p>+============+===========================================+
  <a href="#id1"><span class="problematic" id="id2">|</span></a>2008-09-16 | Call for Proposals Opens                  |
  +------------+-------------------------------------------+
  | 2008-10-31 | Call for Proposals Closes                 |</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 11); <em><a href="#id2">backlink</a></em></p>
  Inline substitution_reference start-string without end-string.</div>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 15)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <table border="1" class="docutils">
  <colgroup>
  </colgroup>
  <tbody valign="top">
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 16)</p>
  Unexpected indentation.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 16)</p>
  Blank line required after table.</div>
  <blockquote>
  <div class="line-block">
  <div class="line">2008-11-30 | Notice of Acceptance                      |</div>
  </div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 17)</p>
  Line block ends without a blank line.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 15)</p>
  <p>Malformed table.</p>
  <pre class="literal-block">
  +------------+-------------------------------------------+
  |2010-03-01 | Cancellation date: (inadequate attendance)|
  +------------+-------------------------------------------+
  </pre>
  </div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 18)</p>
  Blank line required after table.</div>
  <p><a href="#id3"><span class="problematic" id="id4">|2010-03-01 | Cancellation date: (inadequate attendance)|</span></a>
  +------------+-------------------------------------------+
  | 2010-03-18 | Handout submission deadline (pdf)         |</p>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 21)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <table border="1" class="docutils">
  <colgroup>
  </colgroup>
  <tbody valign="top">
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 22)</p>
  Unexpected indentation.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 22)</p>
  Blank line required after table.</div>
  <blockquote>
  <div class="line-block">
  <div class="line">2010-03-25 | First tutorial day                        |</div>
  </div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 23)</p>
  Line block ends without a blank line.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 23)</p>
  <p>Malformed table.</p>
  <pre class="literal-block">
  +------------+-------------------------------------------+
  |2010-03-26 | Second tutorial day                       |
  +------------+-------------------------------------------+
  </pre>
  </div>
  </blockquote>
  <p><strong>Proposals</strong></p>
  <ul class="simple">
  <li><strong>When can I submit a proposal?</strong></li>
  </ul>
  <p>The Call for Proposals is open from 9/16/2008 through 10/31/2008.</p>
  <ul>
  <li><p class="first"><strong>How do I submit a proposal?</strong></p>
  <p>There is a sample proposal <a class="reference external" href="/2010/tutorials/proposals/example-proposal/">here</a>.</p>
  </li>
  <li><p class="first">** How do you determine which proposals are accepted for presentation?</p>
  <p>When your proposal is received it is checked into the PyCon repository and made</p>
  </li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 40)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>available to the tutorial scoring committee (usually 3 to 6 people).  Each person</dt>
  <dd><p class="first">assigns a score of:</p>
  <ul class="simple">
  <li>+1: Highest rating.  People giving this score are willing to &quot;champion&quot; thisproposal.</li>
  <li>+0: In favor of accepting this proposal.</li>
  <li>-0: Not in favor if this proposal but willing to listen to others.</li>
  <li>-1: Do not feel this proposal is a good fit for theconference.</li>
  </ul>
  <p class="last">Most tutorials will have scores of +/-0.  Once all scores are in, a meeting is
  held on IRC and all tutorials are discussed. Every year we have to turn down many</p>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 50)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>good proposals.</p>
  <ul>
  <li><p class="first">** Do I get paid for teaching a class? **</p>
  <p>Yes.  Although PyCon is planned and run by volunteers, we feel that so much effort
  goes into teaching a class thatyou deserve a (modest) stipend.  In 2010, each
  tutorial was awarded 1,500.00 USD (more on payment below).  If you have more than
  1 teacher in your class you may split the stipend as yousee fit.  Also in 2010,
  we held 2 days of tutorials.  Those teaching classes on the first day were
  compensated for 1 night hotel cost.</p>
  </li>
  <li><p class="first">** How do I get paid? **</p>
  </li>
  </ul>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 18); <em><a href="#id4">backlink</a></em></p>
  Undefined substitution referenced: &quot;2010-03-01 | Cancellation date: (inadequate attendance)&quot;.</div>
  </div>
  </div>


url: /2010/about/notes/
title: Attendee Notes
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="attendee-notes">
  <h1 class="title">Attendee Notes</h1>
  <p><strong>This page needs updates for 2010.</strong></p>
  <p><a class="reference external" href="http://wiki.python.org/moin/Attendee_Notes">Please list changes or additions to these notes on the Pythonwiki.</a></p>
  <p>Also see <a class="reference external" href="/2010/about/events/">the Overview of Events</a>.</p>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#help-needed" id="id5">Help Needed</a></li>
  <li><a class="reference internal" href="#badge-pickup-registration" id="id6">Badge Pickup &amp;Registration</a></li>
  <li><a class="reference internal" href="#time-change" id="id7">Time Change</a></li>
  <li><a class="reference internal" href="#atlanta-weather" id="id8">Atlanta Weather</a></li>
  <li><a class="reference internal" href="#hotel-amenities" id="id9">Hotel Amenities</a></li>
  <li><a class="reference internal" href="#network" id="id10">Network</a></li>
  <li><a class="reference internal" href="#meals-served" id="id11">Meals Served</a></li>
  <li><a class="reference internal" href="#openspace" id="id12">OpenSpace</a></li>
  <li><a class="reference internal" href="#sprints" id="id13">Sprints</a></li>
  <li><a class="reference internal" href="#hotel-shuttle-from-o-hare" id="id14">Hotel Shuttle from O'Hare</a></li>
  <li><a class="reference internal" href="#hotel-parking-and-driving-notes" id="id15">Hotel Parking and Driving Notes</a></li>
  <li><a class="reference internal" href="#public-transportation-to-the-hotel" id="id16">Public Transportation to the Hotel</a></li>
  <li><a class="reference internal" href="#sponsors-and-vendors" id="id17">Sponsors and Vendors</a></li>
  <li><a class="reference internal" href="#social-software" id="id18">Social Software</a></li>
  <li><a class="reference internal" href="#somethingmissing" id="id19">SomethingMissing?</a></li>
  </ul>
  </div>
  <div class="section" id="help-needed">
  <h1><a class="toc-backref" href="#id5">Help Needed</a></h1>
  <p><a class="reference external" href="/2010/helping/volunteers/">We need on-site help for registration &amp; session chairs.</a>
  Wednesday and Thursday evening, we'll havepizza for volunteers!</p>
  </div>
  <div class="section" id="badge-pickup-registration">
  <h1><a class="toc-backref" href="#id6">Badge Pickup &amp;Registration</a></h1>
  <p>There are going to be a lot of people this year, so try to get to the
  registration desk early.  It's open from 7:30 AM on Wednesday,Thursday, &amp; Friday.</p>
  </div>
  <div class="section" id="time-change">
  <h1><a class="toc-backref" href="#id7">Time Change</a></h1>
  <p>In most of the US &amp; Canada on March 8 the clocks will change to Daylight
  Saving Time.  This means that Atlanta will beUTC-05:00.</p>
  </div>
  <div class="section" id="atlanta-weather">
  <h1><a class="toc-backref" href="#id8">Atlanta Weather</a></h1>
  <ul class="simple">
  <li><a class="reference external" href="http://www.theweathernetwork.com/index.php?product=weather&amp;placecode=usil0225&amp;switchto=f">Weather forecast (°F)</a></li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 57)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a><a class="reference external" href="http://www.theweathernetwork.com/index.php?product=weather&amp;placecode=usil0225&amp;switchto=c">Weather forecast (°C)</a></p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 57); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p>If you are planning to venture outdoors, bring layers so that youcan
  de-layer when you get too warm.  E.g. T-shirt, long sleeve shirt,
  sweater, jacket.</p>
  <p>If it is ridiculously cold out, long silk underwear is nice to have
  beneath pants andshirts.  This is probably more than people will need
  if it's near to above freezing.</p>
  <p>During the conference, we recommend a light sweater for the tutorials
  and talks as well; hotelsoften keep the temperature lower than some
  people like it.</p>
  <p>The Elegant Stitches booth will have Python sweatshirts for sale!</p>
  </div>
  <div class="section" id="hotel-amenities">
  <h1><a class="toc-backref" href="#id9">Hotel Amenities</a></h1>
  <p>The hotelshave indoor pools and health centers with exercise
  equipment.</p>
  </div>
  <div class="section" id="network">
  <h1><a class="toc-backref" href="#id10">Network</a></h1>
  <p>We will have wireless internet access.  Details to be announced.</p>
  </div>
  <div class="section" id="meals-served">
  <h1><a class="toc-backref" href="#id11">Meals Served</a></h1>
  <p>Expect the followingcatering:</p>
  <ul>
  <li><p class="first">Wednesday March 25 and Thursday March 26 (Tutorial Days):</p>
  <ul class="simple">
  <li>morning and afternoon breaks</li>
  <li>lunch</li>
  </ul>
  </li>
  <li><p class="first">Friday March 27 - Sunday March 29 (ConferenceDays):</p>
  <ul class="simple">
  <li>morning &amp; afternoon breaks</li>
  <li>lunch</li>
  </ul>
  </li>
  <li><p class="first">Monday March 30 - Thursday April 2 (Development Sprints):</p>
  <p>To be determined.</p>
  </li>
  </ul>
  </div>
  <div class="section" id="openspace">
  <h1><a class="toc-backref" href="#id12">OpenSpace</a></h1>
  <p>We will once again have <a class="reference external" href="/2010/openspace/">Open Space</a> available for attendees to hold their own events.
  Please consider posting an <a href="#id3"><span class="problematic" id="id4">`</span></a>Open Space &lt;/2010/openspace/&gt;`_session on the board (location TBD).</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 111); <em><a href="#id4">backlink</a></em></p>
  Inline interpreted text or phrase reference start-string without end-string.</div>
  </div>
  <div class="section" id="sprints">
  <h1><a class="toc-backref" href="#id13">Sprints</a></h1>
  <p>We're hoping for more <a class="reference external" href="/2010/sprints/">participation in the development sprints</a> than ever.  Please joinin!</p>
  </div>
  <div class="section" id="hotel-shuttle-from-o-hare">
  <h1><a class="toc-backref" href="#id14">Hotel Shuttle from O'Hare</a></h1>
  <p>For attendees arriving at O'Hare, you should use the
  &quot;center exit 2&quot; presumably from baggage claim, for groundtransportation.
  Follow the arrows for Hotel Shuttles, to the building with the red awning,
  across from the Hilton.
  Look for the Hyatt Regency or Crowne Plaza (red) shuttle.
  They runevery 15 minutes morning to evening,
  every 30 minutes overnight.</p>
  </div>
  <div class="section" id="hotel-parking-and-driving-notes">
  <h1><a class="toc-backref" href="#id15">Hotel Parking and Driving Notes</a></h1>
  <p>Parking at the Hyatt Regency hotel isfree for guests.
  The Crowne Plaza hotel's parking lot is run by a third party, and costs $18/day, even for guests
  staying at the hotel.
  The Rosemont Village parking garage is next door,and charges $11/day.</p>
  <p>It's always a good idea to bring your car insurance certificate with you. In Georga you may be required to provide it if pulled over.</p>
  <p>Don't forget tollcash!
  In Georga cash tolls are twice as expensive as tolls paid electronically
  via I-Pass or EZ-Pass transponders. The main interstates converging on the
  hotel from the north andsouth (I-294) and northwest (I-90) are toll roads.
  I-90 from Atlanta is not a toll road.</p>
  </div>
  <div class="section" id="public-transportation-to-the-hotel">
  <h1><a class="toc-backref" href="#id16">Public Transportation to the Hotel</a></h1>
  <p>Seehttp://us.pycon.org/2010/chicago/hotel/#public-transit</p>
  </div>
  <div class="section" id="sponsors-and-vendors">
  <h1><a class="toc-backref" href="#id17">Sponsors and Vendors</a></h1>
  <p><a class="reference external" href="/2010/sponsors/expo/">We have a ballroom and a lounge full of sponsors &amp; vendors.</a> Our vendors will be selling Python-related merchandise
  and many of our sponsors will be hiring. If you're in the job market, bring
  business cards &amp;résumés. Come prepared!</p>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 168)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>for all your Python wearables and accessories.</dt>
  <dd><ul class="first last simple">
  <li>O'Reilly Publishing will be selling technical books for the discriminating
  Pythonista.</li>
  <li>Come visit Booth #213 and browse throughbook resources for Python programmers
  from Addison-Wesley/Prentice Hall/Sams. All titles are available for a limited
  time at 30% off their list price at <a class="reference external" href="http://www.informit.com/pycon2008">www.informit.com/pycon2008</a>.</li>
  </ul>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 185)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>analysis and get your caffeine fix at Booth 105.</dt>
  <dd><ul class="first last simple">
  <li>Leapfrog Online welcomes PyCon 2008 to our hometown of Atlanta.  Visit us at
  our booth (#106) to talk with some of our developers -two of whom are
  presenting at PyCon (Kumar McMillan and Jason Pellerin) - and to drop off your
  entry form to win a Wii.</li>
  </ul>
  </dd>
  </dl>
  </div>
  <div class="section" id="social-software">
  <h1><a class="toc-backref" href="#id18">Social Software</a></h1>
  <p>Theorganizers have set up events for PyCon on several
  social-networking sites. Please see the '<a class="reference external" href="../connect/">Connect</a>' page for details.</p>
  </div>
  <div class="section" id="somethingmissing">
  <h1><a class="toc-backref" href="#id19">SomethingMissing?</a></h1>
  <p><a class="reference external" href="http://wiki.python.org/moin/Attendee_Notes">Please list changes or additions to these notes on the Python wiki.</a></p>
  <p>If you notice that something ismissing from PyCon, or if you have a
  great idea, <a class="reference external" href="/2010/helping/">please step forward and get to work on it</a>!
  If you don't, who will?</p>
  </div>
  </div>


url: /2010/about/connect/
title: Connect With PyCon
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="connect-with-pycon">
  <h1 class="title">Connect With PyCon</h1>
  <p>You can follow PyCon on several different social-networking sites:</p>
  <ul class="simple">
  <li><a href="#id1"><span class="problematic" id="id2">`PyCon weblog&lt;http://pycon.blogspot.com/&gt;`__</span></a></li>
  <li>Facebook: <a class="reference external" href="http://www.facebook.com/group.php?gid=78464525183">PyCon 2010 group</a></li>
  <li>Flickr: <a href="#id1"><span class="problematic" id="id3">`Photos tagged with 'pycon'&lt;http://www.flickr.com/photos/tags/pycon/&gt;`__</span></a> and <a class="reference external" href="http://www.flickr.com/photos/tags/pycon2010/">Photos tagged with 'pycon2010'</a></li>
  <li>Joind: <a href="#id1"><span class="problematic" id="id4">`PyCon 2010&lt;http://www.joind.in/event/view/20&gt;`__</span></a></li>
  <li>LinkedIn: <a class="reference external" href="http://www.linkedin.com/groups?gid=1820606">PyCon 2010</a> <em>(Attendees who've opted into the attendee listing are pre-approved for thegroup.)</em></li>
  <li>Twitter: Follow <a class="reference external" href="http://twitter.com/pyconvolunteers">pyconvolunteers</a> for volunteering opportunities.</li>
  <li>Twitter: <a href="#id1"><span class="problematic" id="id5">`Tweets containing #pycon&lt;http://search.twitter.com/search?q=%23pycon&gt;`__</span></a>: tag your own tweets with #pycon.</li>
  </ul>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em>backlinks: <a href="#id2">1</a>, <a href="#id3">2</a>, <a href="#id4">3</a>, <a href="#id5">4</a></em></p>
  Anonymous hyperlink mismatch: 4 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  </div>
  </div>


url: /2010/sprints/projects/django-sqlalchemy/
title: Django-SQLAlchemy Sprint &#64; PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="django-sqlalchemy-sprint-pycon-2010">
  <h1 class="title">Django-SQLAlchemy Sprint &#64; PyCon 2010</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">Project URL:</th><td class="field-body"><a class="reference external" href="http://gitorious.org/projects/django-sqlalchemy">http://gitorious.org/projects/django-sqlalchemy</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Sprint Leader:</th><td class="field-body"><a class="reference external" href="mailto:mtrier&#37;&#52;&#48;gmail&#46;com">Michael Trier</a></td>
  </tr>
  </tbody>
  </table>
  <p>Areas of development will include:</p>
  <ul class="simple">
  <li>Complete out QuerySet methods not implemented. This includes someof the date based handling (EXTRACT), extra(), regex().</li>
  <li>Implementation of tests and functionality to support inheritance.</li>
  <li>Develop an API that will enable multi-dbsupport.</li>
  <li>Get the contrib Admin working fully.</li>
  <li>Tests, tests, and more tests.</li>
  </ul>
  <p>Other things that might be interesting:</p>
  <ul class="simple">
  <li>Provide support for F()expressions.</li>
  </ul>
  <div class="section" id="attendees">
  <h1>Attendees</h1>
  <p>If you'll be attending the Django-SQLAlchemy sprint, please add your name below:</p>
  <ul class="simple">
  <li>Michael trier (all days but split time with SQLAlchemywork)</li>
  <li>Jason Kirtland</li>
  <li>Your Name (days attending)</li>
  </ul>
  </div>
  </div>


url: /2010/sprints/projects/sqlalchemy/
title: SQLAlchemy Sprint &#64; PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="sqlalchemy-sprint-pycon-2010">
  <h1 class="title">SQLAlchemy Sprint &#64; PyCon 2010</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">Project URL:</th><td class="field-body"><a class="reference external" href="http://www.sqlalchemy.org/">http://www.sqlalchemy.org/</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Sprint Leader:</th><td class="field-body"><a href="#id1"><span class="problematic" id="id2">`Mike Bayer&lt;mailto:mike_mp&#64;zzzcomputing.com&gt;`_</span></a></td>
  </tr>
  </tbody>
  </table>
  <p>Areas of development this year will include:</p>
  <ul class="simple">
  <li>SQLAlchemy 0.6 development, which has a particular focus on wider database support.   Thecurrent 0.6 branch is in the repo at <a class="reference external" href="http://www.sqlalchemy.org/trac/browser/sqlalchemy/branches/rel_0_6">http://www.sqlalchemy.org/trac/browser/sqlalchemy/branches/rel_0_6</a> .</li>
  <li>Support of previously unsupported DBAPIs like pg8000 and python-sybase, supportof &quot;multi-database&quot; DBAPIs like zxJDBC and pyodbc.   Continued beating of MS-SQL dialects into submission.</li>
  <li>Python 3K support.  We have an enhanced version of 2to3 running and themajority of tests are already passing with 0.6.</li>
  <li>Continued amazification of our documentation which was recently converted to Sphinx.</li>
  <li>Continued shoveling of endless ORM featuresand behavioral requests.</li>
  </ul>
  <p>Other things that might be interesting:</p>
  <ul class="simple">
  <li>Migrate integration ?  0.6 has a new DDL system which we would like migrate to integrate with.</li>
  <li>build anew unit test base based on nose and begin converting our tests over to it.</li>
  </ul>
  <div class="section" id="attendees">
  <h1>Attendees</h1>
  <p>If you'll be attending the SQLAlchemy sprint, please add your namebelow:</p>
  <ul class="simple">
  <li>Mike Bayer (at least one day and hopefully the whole thing)</li>
  <li>Michael trier (all days but split with some Django-SQLAlchemy work)</li>
  <li>Jason Kirtland (flexible)</li>
  <li>Your Name(days attending)</li>
  </ul>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 6); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;mike bayer&lt;mailto:mike_mp&#64;zzzcomputing.com&gt;&quot;.</div>
  </div>
  </div>


url: /2010/chicago/travel/
title: Traveling to Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="traveling-to-atlanta">
  <h1 class="title">Traveling to Atlanta</h1>
  <p>Work in progress.  <a class="reference external" href="/2010/helping/">You can help!</a></p>
  <div class="section" id="by-air">
  <h1>By Air</h1>
  <p>It is important to know thatAtlanta has 2 major airports:</p>
  <ul>
  <li><p class="first"><strong>O'Hare (ORD)</strong></p>
  <p>As their names suggest, both the Hyatt Regency O'Hare and
  the Crowne Plaza Atlanta O'Hare are quite close to the O'HareInternational airport.
  O'Hare is the world's busiest airport, with connections and competitive fares to just about everywhere.</p>
  <p>If you arrive at O'Hare, you can <a class="reference external" href="/2010/chicago/hotel/">take yourhotel's free shuttle bus</a>.</p>
  <p>If you are in a hurry, a taxi from O'Hare to the hotel should cost about $10-$15.
  If you are not loaded down with luggage,you could also take &quot;Blue Line&quot; &quot;L&quot; train from O'Hare to Rosemont (the first stop out of O'Hare)
  and walk 10 minutes south on River Road to the hotel.</p>
  <p><a href="#id1"><span class="problematic" id="id2">`O'Hare Flight information&lt;http://www.ohare.com/fidsohare/&gt;`_</span></a></p>
  </li>
  <li><p class="first"><strong>Midway (MDW)</strong></p>
  <p>Bargain hunters and procrastinators may be tempted by the low last minute fares offered by <a href="#id3"><span class="problematic" id="id4">`Southwest&lt;http://www.southwest.com/&gt;`_</span></a>, <a class="reference external" href="http://www.frontierairlines.com">Frontier</a> and other airlines to
  Atlanta's Midway Airport.
  This is often a good option, but you should know that thetrip from Midway to the convention hotel will
  add some time and expense to your trip.
  The hotel's free shuttle bus will not go to Midway airport.</p>
  <p>A guess is that a taxi fromMidway to the hotel would cost $50-$80 and take around 45 minutes.</p>
  <p>With the &quot;L&quot; train, the trip will cost $2 and take 80 minutes to 2 hours.
  To do this, follow the signs at Midwayto the &quot;Orange Line&quot; &quot;L&quot;.
  The Orange line will treat you to a very scenic &quot;L&quot;evated ride into Atlanta's loop.
  Transfer at Clark/Lake street to the underground &quot;Blue Line&quot;, which youshould take in the direction of O'Hare to the Rosemont stop.
  If you are tired or have a lot of luggage, call the hotel (847-671-6350) and have their free shuttle pick you up at the station(Rosemont).
  Otherwise, walk about about 3 minutes south on River Road to
  the Hyatt Regency O'Hare (on the left, east side)
  or 5 minutes south on River Road to the Crowne Plazahotel (on the right, west side).</p>
  <p><a class="reference external" href="http://www.flychicago.com/fidsmidway/default.asp">Midway flight information</a></p>
  </li>
  <li><p class="first">Flight Status</p>
  </li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li><a href="#id5"><span class="problematic" id="id6">`Security checkpoint wait times&lt;http://waittime.tsa.dhs.gov/index.html&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.fly.faa.gov/flyfaa/usmap.jsp">Flight delay map</a></li>
  <li><a class="reference external" href="http://www.fly.faa.gov/flyfaa/plaintext.html">Flight delay plain text</a></li>
  </ul>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 53)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <ul class="simple">
  <li>mobile friendly flight status <a class="reference external" href="http://mobile.orbitz.com/">http://mobile.orbitz.com/</a></li>
  </ul>
  </div>
  <div class="section" id="by-car">
  <h1>By Car</h1>
  <p>Use this link to <a class="reference external" href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Crown+Plaza+Hotel,+5440+N.+River+Road+60018&amp;ie=UTF8&amp;ll=42.002111,-87.878952&amp;spn=0.112002,0.180244&amp;z=12&amp;iwloc=A&amp;om=1">Googlemaps</a>.</p>
  <p><a class="reference external" href="/2010/registration/hotel#parking">Parkingdetails here.</a></p>
  </div>
  <div class="section" id="by-rail">
  <h1>By Rail</h1>
  <p><a class="reference external" href="http://www.amtrak.com/servlet/ContentServer?pagename=Amtrak/HomePage">Amtrak</a> has trains from all over the US.These trains arrive in downtown Atlanta and have easy access to the &quot;Blue Line&quot; &quot;L&quot;.</p>
  </div>
  <div class="section" id="by-bus">
  <h1>By Bus</h1>
  <p>From cities in the Midwest, <a class="reference external" href="http://www.greyhound.com/home.asp">Greyhound</a> and`MegaBus &lt;<a class="reference external" href="http://www.megabus.com/us/">http://www.megabus.com/us/</a>&gt;`_ are a reasonable options.
  Greyhound shares the &quot;Atlanta Cumberland Ave&quot; stop with the Cumberland &quot;Blue Line&quot; &quot;L&quot; station.
  This is one stop from theRosemont &quot;L&quot; station, where the hotel is.
  This is within the 5-mile radius served by the hotel's free shuttle bus, so call them and have them pick you up.
  Hint: if you book 30 to 45 daysin advance, you might be able to get a $1 fare on MegaBus.</p>
  </div>
  <div class="section" id="miscellaneous">
  <h1>MISCELLANEOUS</h1>
  <div class="section" id="lithium-batteries">
  <h2>Lithium Batteries</h2>
  <ul class="simple">
  <li>Official stuff:</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li><a class="reference external" href="http://safetravel.dot.gov/whats_new_main.html">battery infosummary</a></li>
  <li><a class="reference external" href="http://safetravel.dot.gov/whats_new_batteries.html">specific to batteries</a></li>
  <li><a href="#id7"><span class="problematic" id="id8">`Q&amp;A PDF&lt;http://safetravel.dot.gov/documents/airline_passengers_and_batteries.pdf&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.tsa.gov/travelers/airtravel/assistant/batteries.shtm">TSA info pg</a></li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Blog entries and otherinfo:</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li><a class="reference external" href="http://tech.yahoo.com/blogs/null/62899Yahoo!">Yahoo!</a></li>
  <li><a href="#id9"><span class="problematic" id="id10">`DailyTech&lt;http://www.dailytech.com/New+Airline+Battery+Bans+Complicated+but+Not+Brain+Surgery/article10172.htm&gt;`_</span></a></li>
  <li><a class="reference external" href="http://gizmodo.com/338676/rumor-smashed-the-faa-isnt-banning-laptop-batteries">Gizmodo</a></li>
  <li><a class="reference external" href="http://techthoughts.org/2007/12/31/new-faa-lithium-ion-battery-rules-jan-1-2008">scary YouTube video clip</a></li>
  </ul>
  </blockquote>
  </div>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 25); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;o'hare flight information&lt;http://www.ohare.com/fidsohare/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 29); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;southwest&lt;http://www.southwest.com/&gt;&quot;.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 50); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;security checkpoint wait times&lt;http://waittime.tsa.dhs.gov/index.html&gt;&quot;.</div>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 85); <em><a href="#id8">backlink</a></em></p>
  Unknown target name: &quot;q&amp;a pdf&lt;http://safetravel.dot.gov/documents/airline_passengers_and_batteries.pdf&gt;&quot;.</div>
  <div class="system-message" id="id9">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 91); <em><a href="#id10">backlink</a></em></p>
  Unknown target name: &quot;dailytech&lt;http://www.dailytech.com/new+airline+battery+bans+complicated+but+not+brain+surgery/article10172.htm&gt;&quot;.</div>
  </div>
  </div>


url: /2010/sponsors/
title: How To Sponsor PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="how-to-sponsor-pycon-2010">
  <h1 class="title">How To Sponsor PyCon 2010</h1>
  <p>PyCon 2010 will bring together an estimated 1200 or more Python
  developers and enthusiasts froma variety of backgrounds.  Your sponsorship
  helps keep PyCon affordable and accessible to the widest
  possible audience - and helps you connect to the sophisticated Pythoncommunity.</p>
  <p>A wide variety of sponsorships are available to match your goals and your budget.
  With a larger scope, a larger audience, and a larger facility, PyCon 2010 will be
  thebest yet.</p>
  <div class="section" id="want-more-information">
  <h1>Want more information?</h1>
  <ul class="simple">
  <li>Full descriptions of the available options are in the <a class="reference external" href="http://media.processmechanics.com/SponsorProspectus-PyCon2010.pdf">Sponsorship Prospectus</a>.
  Note that each &quot;session pass&quot; included with some sponsorship packages
  is a full conference registration, but tutorials are not included.</li>
  </ul>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Questions? Please contact <a class="reference external" href="mailto:pycon-sponsors&#37;&#52;&#48;python&#46;org">Van Lindberg</a>, the PyCon sponsor coordinator.</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 22); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <div class="section" id="available-sponsorships-include">
  <h2>Available sponsorships include:</h2>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>Diamond level sponsorships (limited)
  * Platinum level sponsorships (limited)
  * Gold level sponsorships
  * Silver level sponsorships
  * Sprint sponsorships
  * Media sponsorships
  <a href="#id5"><span class="problematic" id="id6">*</span></a>Lanyard sponsorships (as an add-on to Gold level or above)</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 27); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 27); <em><a href="#id6">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p>Other opportunities are also available:</p>
  <ul class="simple">
  <li>Sponsored Development Sprints</li>
  <li>Headline Lunches and Snacks</li>
  <li>Reception orParty Hosting</li>
  <li>Conference Amenities</li>
  </ul>
  </div>
  </div>
  <div class="section" id="general-conference-information">
  <h1>General Conference Information</h1>
  <div class="section" id="conference-profile">
  <h2>Conference Profile:</h2>
  <ul class="simple">
  <li>Two day Expo Hall:March 27-28</li>
  <li>Two tutorial days: March 25-26</li>
  <li>Development sprints: March 30-April 2</li>
  <li>Virtual Machines Summit: March 25</li>
  <li>Python Language Summit: March 26</li>
  </ul>
  </div>
  <div class="section" id="speakers-for-2010include">
  <h2>Speakers for 2010include:</h2>
  <ul class="simple">
  <li>Guido van Rossum, Creator of Python and BDFL</li>
  <li>Alexis Ohanian and Steve Huffman, Reddit</li>
  <li>Adrian Holovaty, Django</li>
  <li>Ted Leung, SunMicrosystems</li>
  <li>Raymond Hettinger, Core Python</li>
  <li>Jim Hugunin, Microsoft</li>
  <li>Bob Ippolito, Mochi Media</li>
  </ul>
  </div>
  </div>
  </div>


url: /2010/sprints/projects/twill/
title: Twill Sprint &#64; PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="twill-sprint-pycon-2010">
  <h1 class="title">Twill Sprint &#64; PyCon 2010</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">Project URL:</th><td class="field-body"><a class="reference external" href="http://twill.idyll.org/">http://twill.idyll.org/</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Sprint Leader:</th><td class="field-body"><a class="reference external" href="mailto:t&#37;&#52;&#48;idyll&#46;org">Titus Brown</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Coderepository:</th><td class="field-body"><a class="reference external" href="http://code.google.com/p/twill/">http://code.google.com/p/twill/</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name" colspan="2">Contributor Info:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body"><a class="reference external" href="http://code.google.com/p/twill/">http://code.google.com/p/twill/</a></td>
  </tr>
  </tbody>
  </table>
  <p>FIXME: description of Twill sprint goals, etc.</p>
  <div class="section" id="attendees">
  <h1>Attendees</h1>
  <p>Ifyou'll be attending the Twill sprint, please add your name below:</p>
  <ul class="simple">
  <li>Pam Zerbinos (Monday)</li>
  <li>Kevin Boers (Monday)</li>
  <li>Nat Williams (Monday)</li>
  <li>Titus Brown (Monday)</li>
  </ul>
  </div>
  </div>


url: /2010/sprints/
title: Development Sprints
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="development-sprints">
  <h1 class="title">Development Sprints</h1>
  <p><strong>Sunday, March 29 to Thursday, April 2, 2010.</strong></p>
  <p>Development sprints are a key part of PyCon, a chance forthe contributors to
  open-source projects to get together face-to-face for up to four days of
  intensive learning and development. Newbies sit at the same table as the gurus,
  go out forlunch and dinner together, and have a great time while advancing
  their project.</p>
  <div class="section" id="what-s-a-sprint">
  <h1>What's a sprint?</h1>
  <p>Basically, a sprint is a time set aside for developers tocome together and
  focus their undivided attention on improving an open source projects. The PyCon
  Development Sprints are four days of intensive learning and development; a
  focused,sustained time to test, fix bugs, add new features, and improve
  documentation.</p>
  <p>PyCon provides the space and infrastructure (network, power, tables &amp; chairs);
  you provide theenthusiasm and brainpower.</p>
  <p>In 2008, there were sprints for Python, Jython, Zope, Django, TurboGears,
  Bazaar, Trac, Mailman, and several more projects.</p>
  </div>
  <div class="section" id="who-canparticipate">
  <h1>Who canparticipate?</h1>
  <p>Anyone! All experience levels are welcome; sprints are a great opportunity to start contributing
  to your favorite Pythonproject.</p>
  <p>Participation in the sprints is free!</p>
  </div>
  <div class="section" id="who-s-sprinting-in-2010">
  <h1>Who's sprinting in 2010?</h1>
  <p>See the <a class="reference external" href="projects/">sprint projects</a> page for the full list, which includes sprintson Bazaar, Django, Jython, Python Core, Open Government, SQLAlchemy, Trac, Windmill, WSGI, Zope, and many more.</p>
  </div>
  <div class="section" id="can-i-join-a-sprint-atpycon">
  <h1>Can I join a sprint atPyCon?</h1>
  <p>Yes! Sign up over at the <a class="reference external" href="signup/">sprint sign-up page</a></p>
  </div>
  <div class="section" id="can-i-host-a-sprint-at-pycon">
  <h1>Can I host a sprint at PyCon?</h1>
  <p>Yes!Look at the <a class="reference external" href="call-for-projects/">call for project participation</a> for details.</p>
  </div>
  <div class="section" id="what-s-the-schedule">
  <h1>What's the schedule?</h1>
  <div class="section" id="intro-sessions">
  <h2>Intro sessions</h2>
  <p>Therewill be two pre-sprint sessions on <strong>Sunday, March 29, 2010</strong> after the end of the conference talks:</p>
  <dl class="docutils">
  <dt><strong>Intro to Sprinting</strong> (3pm - 4pm)</dt>
  <dd>A plenary session which will begin with atalk explaining the basics of
  sprints and how they work at PyCon. That will be followed by a panel
  discussion where sprint leaders will answer detailed questions.</dd>
  <dt><strong>Sprint Tutorials</strong> (4pm - whenever)</dt>
  <dd>Sprint leaders will gather sprinters and head to their sprint rooms for
  introductory sessions. Sprint leaders will explain their project,walk
  through code, help with repository access, etc. This way, come Monday
  morning you'll be able to get started coding right away.</dd>
  </dl>
  </div>
  <div class="section" id="sprints">
  <h2>Sprints</h2>
  <p>Sprintsthemselves will run <strong>Monday, March 30 to Thursday, April 2</strong> from early
  morning until people leave. Realistically, sprints typically start up around 9am
  and run until dinner, but late-nighters and all-nighters are okay (and common).</p>
  <p>During the sprints, people often hang out in the <tt class="docutils literal"><span class="pre">#pycon</span></tt> IRC channel on
  <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt> to chat, coordinate tasks, and arrangemeals.</p>
  </div>
  </div>
  <div class="section" id="questions">
  <h1>Questions?</h1>
  <p>If you have more questions, please feel free to contact the sprint coordinator,
  <a class="reference external" href="mailto:jacob&#37;&#52;&#48;jacobian&#46;org">Jacob Kaplan-Moss</a></p>
  </div>
  </div>


url: /2010/registration/financial-aid/
title: PyCon 2010 Financial Aid Application Period Now Closed
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="pycon-2010-financial-aid-application-period-now-closed">
  <h1 class="title">PyCon 2010 Financial Aid Application Period Now Closed</h1>
  <div class="section" id="overview">
  <h1>Overview</h1>
  <p>The PythonSoftware Foundation has allocated some funds to help people
  attend PyCon 2010.  If you would like to come to PyCon but can't
  afford it, the PSF may be able to help you.</p>
  <p>Pleaseconsider your needs carefully. PyCon financial aid can be used to help with only 3 sorts of costs, usually in this order:</p>
  <ol class="arabic simple">
  <li><em>Registration</em> - registration is the easiest for the PSF toprovide and therefore, it should be the first thing you ask for help with. If you receive any aid, it should start with registration assistance.</li>
  <li><em>Lodging costs</em> - ask for help withyour hotel stay next. PyCon should get some complimentary rooms from the conference hotel, which we can apply to financial aid.</li>
  <li><em>Transportation</em> (flight etc.). Ask for help withtransportation last, as there are no shortcuts here, so any assistance will have to be reimbursed at cost from the financial aid budget.</li>
  </ol>
  <p><em>IMPORTANT NOTES:</em></p>
  <ul class="simple">
  <li>No other costs (food,etc.) can be covered by financial aid awards.</li>
  <li>Tutorial registration costs will <strong>not</strong>  be covered or waived will need to payed for outside of any financial aid.</li>
  <li>All expenses MUST bedocumented for reimbursement to be made.</li>
  <li>You must make your own hotel reservations, even if you're asking for assistance with the cost.</li>
  <li>Financial aid will only reimburse for 50% ofthe nightly room rate at the Crowne Plaza (the cheaper of the two conference hotels) though you may stay at either hotel.</li>
  <li><strong>The deadline for financial aid applications was February 23rd.Applications submitted after that will not be considered.</strong></li>
  </ul>
  <p>The Financial Aid Coordinator and the PSF's Conference Committee will
  review the applications and allocate financial aidto a subset of the applicants.
  You should be notified of the status of your application (accepted or declined) by March 1st, 2010.</p>
  <p>We will try to maximize the benefit of the financialaid.  For
  example, three people who need small amounts are more likely to be
  funded than one person who needs a large amount.  To improve your
  chances, you should request the minimumamount you need to attend
  PyCon, and support your request with evidence that your presence
  will benefit PyCon and the Python community.  In other words, make
  your application asattractive as possible.</p>
  </div>
  <div class="section" id="aid-application-and-registration-instructions-for-aid-applicants">
  <h1>Aid Application and Registration Instructions for Aid Applicants:</h1>
  <div class="section" id="registration">
  <h2>Registration:</h2>
  <p>If you are planning on applying for registration cost assistance,
  you must complete your registration in the
  <a class="reference external" href="https://us.pycon.org/2010/register/">conference registration system</a> as normal, but wait
  to pay until financial aid decisions have beensent out.</p>
  <p>If your request for financial aid is declined, for whatever reason, you will be allowed to
  register at the going-rate at the time of your registration. Be sure toregister before the early-bird deadline,
  February 21.</p>
  </div>
  <div class="section" id="financial-aid-application">
  <h2>Financial Aid Application:</h2>
  <p><em>NOTE: While the application system is still online</em> <strong>no newapplications will be considered</strong> <em>so please do not submit an application if you did not do so by the deadline.</em></p>
  <p>Once you've registered yourself, you can submit a financial aid application
  <a class="reference external" href="https://us.pycon.org/2010/register/default/fa_app">online</a> -- you can also find a
  link to your financial aid app at the bottom of your
  <a href="#id1"><span class="problematic" id="id2">`registration profile&lt;https://us.pycon.org/2010/register/default/profile&gt;`_</span></a> .
  Once you've submitted your application, you're done!
  We will consider your request along with all the others submitted and youwill be notified via email regarding the status of your application (accepted or declined) by March 1st, 2010.</p>
  <p><em>note</em>: all financial amounts must be in US Dollars and reimbursements willbe made in US Dollars as well.</p>
  </div>
  </div>
  <div class="section" id="funding-and-reimbursement-process">
  <h1>Funding and Reimbursement Process:</h1>
  <p><strong>IMPORTANT:</strong>
  Financial aid beyond registration assistance willbe provided through reimbursement
  for documented expenses (i.e., with receipts).  <strong>There will be no pre-payments, and
  no reimbursement without full receipts.</strong></p>
  <p>Specificinstructions for reimbursement will be sent to you if your application is approved.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 66); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;registration profile&lt;https://us.pycon.org/2010/register/default/profile&gt;&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM1/
title: Python 401: Some Advanced Topics
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="python-401-some-advanced-topics">
  <h1 class="title">Python 401: Some Advanced Topics</h1>
  <p>Steve Holden challenges you to find new and interesting applications for some ofthe
  less heavily utilized features of Python including generator expressions, string
  interpolation, iteration and metaclasses.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Steve Holden has been usingPython for ten years, or a quarter of his programming
  career. He is the author of &quot;Python Web Programming&quot; and the chairman of the Python
  SoftwareFoundation.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Basic understanding of the Python language required. Desire to learn how to make
  effective use of relational databasetechnologies.</p>
  <p>Laptop recommended but not essential. Examples will be based on Python 2.6,  but
  most will probably work in 2.4 onwards, so any recent distribution will do.Most
  examples will be based on SQLite for simplicity, but the instructor will attempt
  to guide those wishing to convert the materials to PostgreSQL or MySQL on a best-
  effortsbasis.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>String Interpolation and Mappings (20 min)<ul>
  <li>The mapping interface</li>
  <li>Fooling interpolation</li>
  </ul>
  </li>
  <li>Iteration in Python (40min)<ul>
  <li>Iterables and iterators</li>
  <li>The iteration protocol</li>
  <li>Class-based iterators</li>
  </ul>
  </li>
  <li>Generators (40 min)<ul>
  <li>Generator functions</li>
  <li>Generatorexpressions</li>
  <li>Class-based generators</li>
  </ul>
  </li>
  <li>Descriptors (40 min)<ul>
  <li>The descriptor lookup mechanism</li>
  <li>Descriptor-based properties</li>
  </ul>
  </li>
  <li>Metaclasses (40min)<ul>
  <li>Classes are metaclass instances</li>
  <li>What does &quot;type&quot; do?</li>
  <li>Subclassing type</li>
  <li>Useful metaclass behaviors</li>
  </ul>
  </li>
  </ul>
  <p>If sufficiently interesting new ideascrop up they can be explored
  in Open Space.</p>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM3/
title: Developing with IronPython
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="developing-with-ironpython">
  <h1 class="title">Developing with IronPython</h1>
  <p>A tutorial on &quot;Developing with IronPython&quot;: Python for .NET and Mono. The Common LanguageRuntime is very different to CPython, with a powerful JIT compiler, and different garbage collection and threading model. More importantly, .NET's huge range of libraries can now be used fromPython.</p>
  <p>Various aspects of developing with IronPython will be covered and attendees will put this into practice by extending an example application. Topics include:</p>
  <ul class="simple">
  <li>Differencesbetween IronPython and CPython, including &quot;Why Use IronPython?&quot;</li>
  <li>Introduction to the .NET framework - a dynamic language on a statically typed framework</li>
  <li>GUIs with Windows Forms</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 13)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Databases
  * Network requests and web services
  * Handling XML
  * Threading</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 13); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p>Come with laptop - running Linux, Windows or Mac OS X - and ready tocode!</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Michael Foord and Jonathan Hartley work full-time for Resolver Systems, creating a
  spreadsheet development environment with IronPython.</p>
  <p>MichaelFoord is the author of &quot;IronPython in Action&quot; for Manning Publications. He
  has been a Python developer for six years and been working with IronPython since 2006.
  He is a Microsoft MVP forDynamic Languages, and has spoken internationally on Python
  and IronPython. He has written and blogged about Python far more than is healthy for
  any one individual and maintains severalOpen Source Python projects - some of which
  people actually use.</p>
  <p>Jonathan Hartley has been working with IronPython since 2007. Prior to that he has
  extensive experience developingwith .NET for Geographic Information Systems (GIS)
  applications. Jonathan came to software from a background in digital electronics,
  and amongst other things has done bit-wrangling in Cfor processing radar data.
  Nowadays he is delighted to find himself developing in IronPython at Resolver
  Systems, surrounded by people who are smarter than he is. He lives in London with
  his fabulous wife Susan and two trusty guitar hero controllers.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Some experience of Python is assumed, but no prior experience of .NET / Mono/ IronPython is required.
  Some experience of developing with a GUI toolkit and databases is helpful but not required.</p>
  </div>
  <div class="section" id="attendee-requirements">
  <h1>Attendee Requirements:</h1>
  <p>Attendeesshould bring a laptop - running a modern version of Windows (XP minimum),
  Linux or Mac OS X, with either .NET 2 or Mono 1.9 or more recent installed.</p>
  <p>Mono comes with IronPython 1 and 2and the Python standard library. Windows users
  will need IronPython 1 or 2 installed along with the appropriate version of the
  Python standard library (Python 2.4 for IronPython 1, Python2.5 for IronPython
  2.5). Installing IronPython 2 from the 'msi installer' on Windows will install the
  Python 2.5 standard library as well.</p>
  <p>A database and appropriate Mono / .NETdata connector is also required. Supported
  databases are sqlite, MySQL, PostgreSQL and SQL Server. For users without
  experience of databases, sqlite is the most straightforward and isincluded with
  Mac OS X and most Linux distributions. Mono also includes the required data
  connector for sqlite. .NET includes the data connector for SQL Server. For Windows
  users wewill have copies of the sqlite binaries and data connector available.</p>
  <p>An IDE or text editor of your choice is also required.</p>
  <p>We will burn a CD for attendees with the handout,example code and all requirements
  on it. So long as attendees have an appropriate Operating System it shouldn't
  matter if attendees haven't installed these pre-requisites.</p>
  <p>Detailed requirements:</p>
  </div>
  <div class="section" id="windows">
  <h1>Windows</h1>
  <ul class="simple">
  <li>.NET 2 (.NET 2 SP1 for IronPython 2)</li>
  <li>IronPython 1 or 2</li>
  <li>Python 2.4 or 2.5 standard library (2.4 forIronPython 1, 2.5 for IronPython 2)</li>
  </ul>
  <p>You'll need a data provider for all databases other than SQL Server (<tt class="docutils literal"><span class="pre">System.Data.SqlClient</span></tt> comes with the .NET framework).</p>
  <p>If you installIronPython 2 from the <tt class="docutils literal"><span class="pre">.msi</span></tt> installer then it comes <em>with</em> the Python standard library. If you are using the binary version of IronPython from the zipfile, instead of installing it, you willneed to obtain the standard library via 'alternative means' (the simplest way is to install the appropriate version of Python) and set <tt class="docutils literal"><span class="pre">IRONPYTHONPATH</span></tt> to point to the directory containingit. For Python 2.4 in the default install location this will be <tt class="docutils literal"><span class="pre">C:\Python24\Lib</span></tt>.</p>
  </div>
  <div class="section" id="other-platforms">
  <h1>Other Platforms</h1>
  <p>Mono 1.9 works, but Mono 2.0+ is slightly better(particularly for the Apple Mac).</p>
  <p>Mono comes with IronPython versions 1 <em>and</em> 2, launched with <tt class="docutils literal"><span class="pre">ipy</span></tt> or <tt class="docutils literal"><span class="pre">ipy2</span></tt> from the terminal. The Mono IronPython versions include the Pythonstandard library.</p>
  <p>Mono ships with data providers for both sqlite and Postgresql so you shouldn't need to install these. If you'd like to use the <a href="#id9"><span class="problematic" id="id10">`MySQL provider&lt;http://dev.mysql.com/downloads/connector/net/5.0.html&gt;`_</span></a>  you'll need to install it separately. Download the Windows binaries (yes this works) as a .zip and extract. Install <a href="#id3"><span class="problematic" id="id4">``</span></a>MySql.Data.dll``using something like:</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 94); <em><a href="#id4">backlink</a></em></p>
  Inline literal start-string without end-string.</div>
  <pre class="literal-block">
  gacutil -i MySql.Data.dll -gacdir /opt/mono-1.9.1
  </pre>
  <p>Replace the directory with the base directory of your Mono installation.</p>
  <p>Both Mac OS X and*most* Linux distributions ship with sqlite3. You can check by seeing if <tt class="docutils literal"><span class="pre">sqlite3</span></tt> at the terminal launches the sqlite command line utility.</p>
  <div class="section" id="linux">
  <h2>Linux</h2>
  <p>If yourdistribution ships with Mono 1.9 (eg. Fedora Core 9) then you should be ready to go. Just check that '<tt class="docutils literal"><span class="pre">mono</span> <span class="pre">--version</span></tt>' reports the correct version and that you get the IronPython prompt whenrunning the 'ipy' command.</p>
  <p>If your distribution doesn't support Mono or has an older version, you can use the excellent <a href="#id11"><span class="problematic" id="id12">`stand-alone installer&lt;http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.bin&gt;`_</span></a>. Linux binaries only seem to exist for version 1.9 at time of writing, but installing this way willgive you IronPython and Python2.4, which are required. This installer can even be used alongside an already installed version from your distro. To minimise the chance of interference with anexisting version, choose to <em>not</em> have the 1.9 version added to your path when asked. For sessions where you'd like to use the new version run '<tt class="docutils literal"><span class="pre">source</span> <span class="pre">/opt/mono-1.9.1/bin/setup.sh</span></tt>'. Thiswill add the new version to your $PATH for that shell only.</p>
  <p><a class="reference external" href="http://mono.ximian.com/monobuild/preview/download-preview">Mono 2.0 Preview 2</a> also works fine.</p>
  <p>Alternatively you caninstall Mono from apt:</p>
  <pre class="literal-block">
  apt-get install mono-2.0-develop
  </pre>
  <p>If you do this then you will also need to install IronPython which is packaged separately (and only IronPython 1, notIronPython 2 I'm afraid). You will also need the <strong>Python 2.4 standard library</strong>.</p>
  <pre class="literal-block">
  apt-get install ironpython
  apt-get install python2.4
  </pre>
  <p>In your Bash profile create anIRONPYTHONPATH environment variable pointing to the standard library, so that IronPython scripts can import and use the compatible parts of the Python standard library.</p>
  </div>
  </div>
  <div class="section" id="classoutline">
  <h1>ClassOutline</h1>
  <p>Through the tutorial various topics will be covered, giving you an introduction to several major .NET APIs and important details that you will need to know for workingwith IronPython. These include:</p>
  <ul>
  <li><p class="first">&quot;Why use IronPython?&quot;</p>
  <blockquote>
  <ul class="simple">
  <li>Differences between CPython and IronPython</li>
  <li>Advantages of IronPython</li>
  <li>Disadvantages of IronPython</li>
  </ul>
  </blockquote>
  </li>
  </ul>
  <p><a href="#id5"><span class="problematic" id="id6">*</span></a>Introduction to .NET</p>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 134); <em><a href="#id6">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul class="simple">
  <li>Working with the Common Language Runtime (the clr module)</li>
  <li>.NET libraries - namespaces and assemblies</li>
  <li>.NET datatypes (the basic Python types and.NET specific types like enumerations and delegates)</li>
  <li>A dynamic language on a statically typed framework (arrays and generics, method overloading)</li>
  <li>The Python standard library fromIronPython</li>
  <li>The IronPython interactive interpreter</li>
  </ul>
  </blockquote>
  <ul>
  <li><p class="first">GUI Development with Windows Forms</p>
  <blockquote>
  <ul class="simple">
  <li>Subclassing 'Form'</li>
  <li>Standard 'Controls' (panels, buttons etc)</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 147)</p>
  <p>Bullet list ends without a blank line; unexpected unindent.</p>
  </div>
  <p>-Introducing 'Stutter' - the example application
  - Layout and event handlers
  - Menus</p>
  </blockquote>
  </li>
  <li><p class="first">Making network requests</p>
  <blockquote>
  <ul class="simple">
  <li>The Twitter API (a RESTful API)</li>
  <li>TheWebRequest class</li>
  <li>.NET streams</li>
  <li>POST and GET</li>
  </ul>
  </blockquote>
  </li>
  <li><p class="first">Parsing XML</p>
  <blockquote>
  <ul class="simple">
  <li>The XmlReader class</li>
  <li>Basic parsing</li>
  <li>A cleaner 'SAX-like' interface</li>
  <li>ParsingTwitter XML</li>
  </ul>
  </blockquote>
  </li>
  <li><p class="first">Databases</p>
  <blockquote>
  <ul class="simple">
  <li>ADO.NET</li>
  <li>Data provider layer</li>
  <li>Connections and commands</li>
  <li>Avoiding SQL injection</li>
  <li>Reading the results</li>
  </ul>
  </blockquote>
  </li>
  </ul>
  <p><a href="#id7"><span class="problematic" id="id8">*</span></a>Threading</p>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 173); <em><a href="#id8">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul class="simple">
  <li>A different threading model</li>
  <li>Creating threads</li>
  <li>Aborting threads</li>
  <li>The CallTarget0 delegate</li>
  <li>Windows Forms and threads (syncing back to the controlthread)</li>
  </ul>
  </blockquote>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id9">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 94); <em><a href="#id10">backlink</a></em></p>
  Unknown target name: &quot;mysql provider&lt;http://dev.mysql.com/downloads/connector/net/5.0.html&gt;&quot;.</div>
  <div class="system-message" id="id11">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 108); <em><a href="#id12">backlink</a></em></p>
  Unknown target name: &quot;stand-alone installer&lt;http://ftp.novell.com/pub/mono/archive/1.9.1/linux-installer/2/mono-1.9.1_2-installer.bin&gt;&quot;.</div>
  </div>
  </div>


url: /2010/conference/proposals/
title: Call for Conference Talk Proposals
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="call-for-conference-talk-proposals">
  <h1 class="title">Call for Conference Talk Proposals</h1>
  <p><a class="reference external" href="release/">Submit your talk proposal here.</a>  (But read theseinstructions first!)</p>
  <p>Want to share your experience and expertise? PyCon 2010 is looking for
  proposals to fill the formal presentation tracks. The PyCon conference
  days will be March27-29, 2010 in Atlanta, Georga, preceded by the
  Tutorial Days (March 25-26), and followed by four days of Development
  Sprints (March 30-April 2).</p>
  <p>Previous PyCon conferences havehad a broad range of presentations,
  from reports on academic and commercial projects to tutorials and case
  studies. We hope to continue that tradition this year. As long asa
  presentation is interesting and potentially useful to the Python
  community, it will be considered for inclusion in the program.</p>
  <p>We're especially interested in short presentationsthat will teach
  conference-goers something new and useful. Can you show attendees how
  to use a module? Explore a Python language feature? Package an
  application?</p>
  <p>Please followthese instructions carefully.
  <a class="reference external" href="release/">Submit your talk proposal here</a>.</p>
  <p>If you have any questions, please see the <a class="reference external" href="faq/">Proposal Submission FAQ</a>.  If that doesn't answeryour questions, contact the PyCon
  Program Committee at <a class="reference external" href="mailto:pycon-pc&#37;&#52;&#48;python&#46;org">pycon-pc<span>&#64;</span>python<span>&#46;</span>org</a>.</p>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#important-dates" id="id4">Important Dates</a></li>
  <li><a class="reference internal" href="#no-automatic-speakerregistration-or-payment" id="id5">No Automatic SpeakerRegistration Or Payment</a></li>
  <li><a class="reference internal" href="#permission-to-record-release-presentations" id="id6">Permission to Record &amp; Release Presentations</a></li>
  <li><a class="reference internal" href="#pycon-topics" id="id7">PyCon Topics</a></li>
  <li><a class="reference internal" href="#talk-format" id="id8">Talk Format</a></li>
  <li><a class="reference internal" href="#proposal-submission-mechanics" id="id9">Proposal Submission Mechanics</a></li>
  <li><a class="reference internal" href="#otherpresentation-opportunities" id="id10">OtherPresentation Opportunities</a></li>
  </ul>
  </div>
  <div class="section" id="important-dates">
  <h1><a class="toc-backref" href="#id4">Important Dates</a></h1>
  <ul class="simple">
  <li>Call for Proposals opens: September 29,2008</li>
  <li>Proposal submission deadline: November 03, 2008</li>
  <li>Proposal acceptance: December 15, 2008</li>
  <li>Electronic copy (&quot;paper&quot;) deadline: March 1, 2010</li>
  </ul>
  </div>
  <div class="section" id="no-automatic-speakerregistration-or-payment">
  <h1><a class="toc-backref" href="#id5">No Automatic SpeakerRegistration Or Payment</a></h1>
  <p>PyCon is a volunteer-run, &quot;everybody pays&quot; community conference.  We
  keep the costs low to make PyCon accessibleto the greatest range of
  community members possible.  This means that PyCon cannot offer
  payment or free registration to conference speakers.  Conference
  registration, accommodations,and transportation are the
  responsibility of the speakers.</p>
  <p>However, <a class="reference external" href="/2010/registration/financial-aid/">financial aid will be available, and speakers who pay their
  own way are encouraged to apply</a>.  Giving a talk isa
  great rationale when requesting aid.  If you require financial aid in
  order to attend PyCon, please note it in your proposal and be sure to
  apply.</p>
  </div>
  <div class="section" id="permission-to-record-release-presentations">
  <h1><a class="toc-backref" href="#id6">Permission to Record &amp; Release Presentations</a></h1>
  <p>Part of the motivation for PyCon is to help with Python educationand
  advocacy around the world, not just in the United States, and not just
  at PyCon. Accordingly,
  we intend to record all PyCon presentations and release the recordings
  on the web. Bysubmitting your talk proposal, you agree to give
  permission to the Python Software Foundation to record, edit, and
  release audio and/or video of your presentation.</p>
  <p>To cut down onadministration, no exceptions will be made. If you
  don't want to give the PSF permission to record your presentation and
  release the recording, do not submit a proposal.</p>
  <p>Fordetails, see the <a class="reference external" href="/2010/conference/release/">Recording Release Agreement</a>.</p>
  </div>
  <div class="section" id="pycon-topics">
  <h1><a class="toc-backref" href="#id7">PyCon Topics</a></h1>
  <p>Suitable topics for PyCon presentations include, but are notlimited
  to:</p>
  <ul class="simple">
  <li>Core Python, including Python 3000</li>
  <li>Other implementations: IronPython, Jython, PyPy, and Stackless.</li>
  <li>Python libraries and extensions</li>
  <li>Businessapplications</li>
  <li>Concurrency</li>
  <li>Databases</li>
  <li>Documentation</li>
  <li>Education</li>
  <li>Embedding and extending Python</li>
  <li>Game programming</li>
  <li>GUI programming</li>
  <li>Network programming</li>
  <li>Opensource Python projects</li>
  <li>Packaging issues</li>
  <li>Programming tools</li>
  <li>Project best practices</li>
  <li>Science and math</li>
  <li>Social issues</li>
  <li>System administration with Python</li>
  <li>Testing</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 106)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id2"><span class="problematic" id="id3">*</span></a>Web programming (Django, Pylons, Zope, TurboGears, WSGI...)</p>
  <div class="system-message" id="id2">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 106); <em><a href="#id3">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p>There are <a class="reference external" href="http://wiki.python.org/moin/Talk_Subjects">more ideas on this wiki page</a>
  (and you can record your ownsuggestions).</p>
  </div>
  <div class="section" id="talk-format">
  <h1><a class="toc-backref" href="#id8">Talk Format</a></h1>
  <p>The preferred length for talks is 30 minutes. You can request a
  45-minute slot, but proposals requiring 45 minutes will bereviewed
  more stringently. 45-minute slots are, as a rule of thumb, reserved
  for how-to talks rather than talks about things you made, saw, or did.</p>
  <p>Open Space rooms will also beavailable for follow-up sessions.</p>
  <p>Session lengths include time for audience questions.  You should
  budget at least five minutes for questions; for example, a 30-minute
  talk will be25 minutes of presentation and 5 minutes of questions.</p>
  <p><a class="reference external" href="faq/#panel-discussions">Panel discussions</a> are 65 minutes long.</p>
  <p>The <a class="reference external" href="../helpforspeakers/">Help For Speakers</a> page hassuggestions
  and advice for speakers.</p>
  </div>
  <div class="section" id="proposal-submission-mechanics">
  <h1><a class="toc-backref" href="#id9">Proposal Submission Mechanics</a></h1>
  <p>Starting Monday the 29th of September 2008, use
  the <a class="reference external" href="release/">PyCon OnlineProposal Submission system</a>
  to send us your proposals.  You must <a class="reference external" href="/2010/profile/new/?next=/2010/conference/proposals/">create an account on the website</a> (and be
  loggedin) in order to submit a proposal.  In your profile, be sure to
  include a one paragraph biography, written in the third person (&quot;Presenter
  Name is...&quot;); include where you live, your job,your projects, books
  you've written, volunteer activities, etc.</p>
  <p>The primary author should submit the proposal, after which additional
  authors can be added (they must have accountstoo).</p>
  <p>The proposal must include the following:</p>
  <ul>
  <li><p class="first">Talk title.</p>
  </li>
  <li><p class="first">Duration: choose 30 minutes for most talks, or 45 minutes for
  how-tos and panel discussions.</p>
  </li>
  <li><p class="first">Choose oneor more category tags.</p>
  </li>
  <li><p class="first">Level: indicate the intended audience difficulty level: beginner,
  intermediate, or advanced.  Add more detail in the summary and/or
  description, such asspecific experience required.</p>
  </li>
  <li><p class="first">Summary (max. 100 words): for the website.</p>
  </li>
  <li><p class="first">Description:</p>
  <ul class="simple">
  <li>Detailed outline, for review (include timing).</li>
  <li>Notes for reviewers.</li>
  </ul>
  <p>Thedescription field will not be visible on the website; it is
  for reviewers only.  However, some portions may be extracted later
  for the website.</p>
  </li>
  </ul>
  <p>If your proposal is accepted, youare free to include a companion
  paper along with your presentation, to be published on the PyCon web
  site. If you're including a paper, you must do so by the paper
  submission deadline:March 01, 2010. This submission is to be your
  full paper, not a draft. It should contain the usual aspects of an
  academic paper such as an abstract, introduction, body and
  conclusion.Please ensure that the submission has had its grammar and
  spelling corrected and that code snippets work.</p>
  <p>Your paper allows attendees who attended your talk a chance to refresh
  theirmemories about your presentation, and gives attendees who missed
  your talk a chance to learn from you anyway. Make sure your paper
  includes -- at the very least -- a brief introduction toyour subject
  material and a list of further resources.</p>
  <p>Appropriate file formats include reST, HTML, and PDF. We encourage
  authors to place their papers under a Creative Commonslicense.
  Please visit the <a class="reference external" href="http://creativecommons.org/about/licenses">Creative Commons &quot;Choose a License&quot; page</a> to select a
  license that meets your requirements.</p>
  </div>
  <div class="section" id="otherpresentation-opportunities">
  <h1><a class="toc-backref" href="#id10">OtherPresentation Opportunities</a></h1>
  <p>If you don't want to make a formal presentation, you're still more
  than welcome to bring your new project or idea toPyCon!</p>
  <p>There will be several sessions of Lightning Talks, which are 5-minute
  mini-talks scheduled right at the conference. There will also be
  several Open Space rooms for informaland spur-of-the-moment
  presentations. Open Space slots are allocated during PyCon on a
  first-come first-served basis. These slots can be used for
  presentations, round table discussions,hands-on tutorials, follow-up
  discussions after scheduled talks, or anything else you wish to
  present.</p>
  <p>We look forward to seeing you in Atlanta!</p>
  </div>
  </div>


url: /2010/sprints/projects/mysql-python/
title: MySQL-Python Sprint &#64; PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="mysql-python-sprint-pycon-2010">
  <h1 class="title">MySQL-Python Sprint &#64; PyCon 2010</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">Project URL:</th><td class="field-body"><a class="reference external" href="http://sourceforge.net/projects/mysql-python/">http://sourceforge.net/projects/mysql-python/</a></td>
  </tr>
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 6)</p>
  Field list ends without a blank line; unexpected unindent.</div>
  <p>:Sprint Leader:<a class="reference external" href="mailto:adustman&#37;&#52;&#48;users&#46;sourceforge&#46;net">Andy Dustman</a>
  :Code repository: <a class="reference external" href="https://mysql-python.svn.sourceforge.net/svnroot/mysql-python">https://mysql-python.svn.sourceforge.net/svnroot/mysql-python</a>
  :Contributor <a class="reference external" href="Info:https://sourceforge.net/svn/?group_id=22307">Info:https://sourceforge.net/svn/?group_id=22307</a></p>
  <p>Work on Python bindings for MySQL (MySQLdb module). Finishing MySQLdb-1.2.3 for
  release, maybe thrash on 1.3 forawhile.</p>
  <div class="section" id="attendees">
  <h1>Attendees</h1>
  <p>If you'll be attending the MySQL-Python sprint, please add your name below:</p>
  <ul class="simple">
  <li>Your Name (days attending)</li>
  </ul>
  </div>
  </div>


url: /2010/registration/refund-policy/
title: Refund Policy
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="refund-policy">
  <h1 class="title">Refund Policy</h1>
  <div class="section" id="registration-fees">
  <h1>Registration Fees</h1>
  <p>Registration fees are refundable until the end of online
  registration (March 18).There will be no refunds after that, because we have to
  commit to the caterers on our food orders.</p>
  <p>Registrations may be transferred to someone else at any time; just
  write to <a class="reference external" href="mailto:pycon-reg&#37;&#52;&#48;python&#46;org">pycon-reg<span>&#64;</span>python<span>&#46;</span>org</a> with the details.</p>
  </div>
  <div class="section" id="tutorial-fees">
  <h1>Tutorial Fees</h1>
  <p>Tutorial fees are refundable until the end of online registration (March 18).
  After online registration ends, ifthere is a waiting list for the tutorial, we will be able
  to refund the tutorial fee.  If there is no waiting list, we will open
  up registration for the affected tutorial(s) and anysubsequent on-site registrations
  will allow us to refund the tutorial fees.</p>
  </div>
  <div class="section" id="psf-donations">
  <h1>PSF Donations</h1>
  <p>Donations made to the PSF at the time of registration are non-refundable.</p>
  </div>
  </div>


url: /2010/helping/publicize/
title: Publicize PyCon
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="publicize-pycon">
  <h1 class="title">Publicize PyCon</h1>
  <p><strong>You</strong> are the key to getting the word out about PyCon.  Here are some materials to help you do it.</p>
  <div class="section" id="blogbadges">
  <h1>Blogbadges</h1>
  <p>If you blog, please let your readers know about PyCon.  A blog badge is a nice way to enhance such a post.</p>
  <img alt="/media/2010/public/pycon2010-horizontal-large-215x135.png" src="/media/2010/public/pycon2010-horizontal-large-215x135.png" />
  <img alt="/media/2010/public/pycon2010-horizontal-medium-170x105.png" src="/media/2010/public/pycon2010-horizontal-medium-170x105.png" />
  <img alt="/media/2010/public/pycon2010-horizontal-small-140x88.png" src="/media/2010/public/pycon2010-horizontal-small-140x88.png" />
  <p>Copy this HTML into your post to get a fully-functional badge.</p>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-horizontal-large-215x135.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-horizontal-medium-170x105.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-horizontal-small-140x88.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-horizontal-smaller-100x64.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <p>(Please don't just copy the image; the fully-functional badge ishyperlinked to the PyCon website.)</p>
  <p>You can also stick a cute little badge into your blog's permanent sidebar, like this:</p>
  <img alt="/media/2010/public/pycon2010-strip-large-200x42.png" src="/media/2010/public/pycon2010-strip-large-200x42.png" />
  <img alt="/media/2010/public/pycon2010-strip-medium-175x37.png" src="/media/2010/public/pycon2010-strip-medium-175x37.png" />
  <img alt="/media/2010/public/pycon2010-strip-small-140x30.png" src="/media/2010/public/pycon2010-strip-small-140x30.png" />
  <img alt="/media/2010/public/pycon2010-strip-smaller-100x22.png" src="/media/2010/public/pycon2010-strip-smaller-100x22.png" />
  <p>The avatar badge's code.</p>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;img src=&quot;http://us.pycon.org/media/2010/public/Ppycon2010-strip-large-200x42.png&quot;alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;img src=&quot;http://us.pycon.org/media/2010/public/pycon2010-strip-medium-175x37.png&quot; alt=&quot;PyCon 2010:Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;img src=&quot;http://us.pycon.org/media/2010/public/pycon2010-strip-small-140x30.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;img src=&quot;http://us.pycon.org/media/2010/public/pycon2010-strip-smaller-100x22.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <img alt="/media/2010/public/pycon2010-vertical-large-158x360.png" src="/media/2010/public/pycon2010-vertical-large-158x360.png" />
  <img alt="/media/2010/public/pycon2010-vertical-medium-133x300.png" src="/media/2010/public/pycon2010-vertical-medium-133x300.png" />
  <img alt="/media/2010/public/pycon2010-vertical-small-100x225.png" src="/media/2010/public/pycon2010-vertical-small-100x225.png" />
  <p>The portrait badge's code.</p>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-vertical-large-158x360.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-vertical-medium-133x300.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-vertical-small-100x225.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  <pre class="literal-block">
  &lt;a href=&quot;http://us.pycon.org/&quot;&gt;&lt;imgsrc=&quot;http://us.pycon.org/media/2010/public/pycon2010-vertical-smaller-75x170.png&quot; alt=&quot;PyCon 2010: Atlanta&quot;&gt;&lt;/a&gt;
  </pre>
  </div>
  <div class="section" id="tell-it-on-the-mountain">
  <h1>Tell it on the mountain</h1>
  <p>If youparticipate in mailing lists where PyCon would be of interest - and who <em>wouldn't</em> be interested in PyCon? -  let them know.  Don't forget your local user groups, computer associations, etc.Here's a sample announcement.</p>
  <blockquote>
  <p>PyCon 2010</p>
  <p>Atlanta, IL</p>
  <p>March 27-29, 2010</p>
  <p><a class="reference external" href="http://us.pycon.org/2010">http://us.pycon.org/2010</a></p>
  <p>PyCon 2010, the seventhannual community conference for the Python programming language, will take place March 27-29 at the Hyatt Regency O'Hare Hotel in Atlanta, IL.</p>
  <p>A rich schedule is being planned,including presentations, keynotes, Lightning Talks, an exhibition hall, and the hands-on Python Lab.  Plentiful Open Space has been set aside for Birds-of-a-Feather sessions and other unscheduled&quot;unconference&quot;-style activity.</p>
  <p>Topics span the range of Python programming activity from introductory to advanced.  Some topics are perennial; others focus on recent news, likePython 3.0 and new developments in Python for the .NET and Java environments.</p>
  <p>For 2010, the pre-conference tutorials have been expanded from one day to two (March 25 - 26) due totheir great popularity.  After the conference, four days of development sprints (March 30 to April 2) will bring participants together for face-to-face cooperation to advance several Python open-source projects.</p>
  <p>As Python usage has grown rapidly, PyCon has grown as well.  PyCon 2008's attendance topped 1000, up from 410 just two years ago.</p>
  <p>PyCon:http://us.pycon.org/2010</p>
  <p>PyCon blog: <a class="reference external" href="http://pycon.blogspot.com/">http://pycon.blogspot.com/</a></p>
  <p>Python language: <a class="reference external" href="http://python.org">http://python.org</a></p>
  </blockquote>
  <p>PyCon also has some professionally-made <a href="#id1"><span class="problematic" id="id2">`press releases&lt;/2010/about/press/&gt;`_</span></a>.Those are good to give to people who work in the news media.  If you have any personal contacts in the media, please talk to them directly, and/or connect them with`Catherine Devlin &lt;<a class="reference external" href="http://wiki.python.org/moin/CatherineDevlin">http://wiki.python.org/moin/CatherineDevlin</a>&gt;`_.</p>
  <p>Finally, here's a variant on the above blurb, written to target educators.</p>
  <blockquote>
  <p>PyCon 2010</p>
  <p>Atlanta,IL</p>
  <p>March 27-29, 2010</p>
  <p><a class="reference external" href="http://us.pycon.org/2010">http://us.pycon.org/2010</a></p>
  <p>PyCon 2010, the seventh annual community conference for the Python programming language, will take placeMarch 27-29 at the Hyatt Regency O'Hare Hotel in Atlanta, IL.</p>
  <p>A rich schedule is being planned, including presentations, keynotes, Lightning Talks, an exhibition hall, and thehands-on Python Lab.  Plentiful Open Space has been set aside for Birds-of-a-Feather sessions and other unscheduled &quot;unconference&quot;-style activity.</p>
  <p>Topics span the range of Pythonprogramming activity from introductory to advanced.  Some topics are perennial; others focus on recent news, like Python 3.0 and new developments in Python for the .NET and Java environments.</p>
  <p>For 2010, the pre-conference tutorials have been expanded from one day to two (March 25 - 26) due to their great popularity.  After the conference, four days of development sprints (March30 to April 2) will bring participants together for face-to-face cooperation to advance several Python open-source projects.</p>
  <p>As Python usage has grown rapidly, PyCon has grown aswell.  PyCon 2008's attendance topped 1000, up from 410 just two years ago.</p>
  <p>About Python:</p>
  <p>Python is a dynamic, open-source programming language suited to manykinds of software development.  TIOBE named Python the fastest-growing programming language of 2007.  Python is particularly recognized as a valuable language for education.  Its ease of useallows quick start-up and progress, yet it also encourages good long-term programming habits and style.  Its clear, readable syntax makes cooperation between students and instructors easy.Thanks to its broad capabilities, rich libraries, and vigorous community, Python can continue to be a student's language of choice long after moving from beginner to expert.  Python code can runon Java and .NET platforms through the Jython and IronPython implementations.</p>
  <p>PyCon: <a class="reference external" href="http://us.pycon.org/2010">http://us.pycon.org/2010</a></p>
  <p>PyCon blog: <a class="reference external" href="http://pycon.blogspot.com/">http://pycon.blogspot.com/</a></p>
  <p>Python language: <a class="reference external" href="http://python.org">http://python.org</a></p>
  </blockquote>
  </div>
  <div class="section" id="speak">
  <h1>Speak</h1>
  <p>Are you a speaker at an upcoming event?  Great!  Here's a PyCon slide for your slide deck.</p>
  <blockquote>
  <ul class="simple">
  <li><a class="reference external" href="/media/2010/public/slide.odp">OpenDocument slide</a></li>
  <li><a class="reference external" href="/media/2010/public/slide.ppt">Power Point slide</a></li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="poster-flyer">
  <h1>Poster/Flyer</h1>
  <p>This one-sheet announcement can be used as aposter or flyer.  Hand copies around your user group meetings.  Post it on campuses.  Ask to post it at bookstores.  Put it in a card to your Mom.  (She always asks what you've been up to, afterall.)</p>
  <blockquote>
  <ul class="simple">
  <li><a class="reference external" href="/media/2010/public/poster.odp">Open Document flyer</a></li>
  <li><a class="reference external" href="/media/2010/public/poster.ppt">Power Point flyer</a></li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="other">
  <h1>Other</h1>
  <p>Brainstorm.  Come up with otherpublicity ideas, and suggest them.  <a class="reference external" href="http://catherinedevlin.blogspot.com/2008/01/brilliant-pycon-publicity-ideas.html">Let your creativity run wild.</a></p>
  <p><a href="#id3"><span class="problematic" id="id4">`Catherine Devlin&lt;http://wiki.python.org/moin/CatherineDevlin&gt;`_</span></a> is serving as this year's volunteer publicity coordinator.  Please contact her with any questions, suggestions, or offers to help.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 114); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;press releases&lt;/2010/about/press/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 168); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;catherine devlin&lt;http://wiki.python.org/moin/catherinedevlin&gt;&quot;.</div>
  </div>
  </div>


url: /2010/sprints/signup/
title: Development Sprint Sign-Up
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="development-sprint-sign-up">
  <h1 class="title">Development Sprint Sign-Up</h1>
  <p>The development sprints are a key part of PyCon, a chance for the
  contributors to open-sourceprojects to get together face-to-face for
  up to four days of intensive learning and development.  Newbies sit at
  the same table as the gurus, go out for lunch and dinner together,and
  have a great time while advancing their project.</p>
  <p>So, do you want to participate?  Welcome!</p>
  <p>To sign up, find the project you'd like to participate in on the`sprint
  projects page &lt;../projects/&gt;`_. This page isn't final; if you don't see your
  project, it may be added later. Better yet, <a class="reference external" href="../call-for-projects/">propose a sprint</a> (or get aproject leader to do it). The sooner the
  better; this information should be available to people when registering for
  PyCon.</p>
  <p>If you'd like to sprint but you're not sure on what, addyour name to the
  <a class="reference external" href="../projects/signup/">generic sprint sign-up page</a></p>
  <p>To edit these pages and add your name you'll need to <a href="#id1"><span class="problematic" id="id2">`create an account on the PyCon site&lt;http://us.pycon.org/2010/profile/new/?next=/2010/sprints/signup/&gt;`_</span></a>.</p>
  <p>If you're not sure which project to join, please Feel free to sign up on both
  project-specific and genericpages.</p>
  <div class="section" id="how-to-have-a-successful-sprint">
  <h1>How to have a successful sprint</h1>
  <p>The best thing to do to make your participation a success is start to get
  involved in the project*before* the sprint days. This way, you will able to run
  at full speed on those (few) days.</p>
  <p>The <a href="#id3"><span class="problematic" id="id4">`Sprint Projects page`_</span></a> lists the project URLs, instructions for accessing
  its coderepositories and documentation, so you can use those resources to get
  off the ground before the sprints begin.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 23); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;create an account on the pycon site&lt;http://us.pycon.org/2010/profile/new/?next=/2010/sprints/signup/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 35); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;sprint projects page&quot;.</div>
  </div>
  </div>


url: /2010/about/past/
title: Past Conferences
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="past-conferences">
  <h1 class="title">Past Conferences</h1>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 5)</p>
  <p>Malformed table.
  Bottom/header table border does not match top border.</p>
  <pre class="literal-block">
  =============  ===============
  Conference     Location
  =============  ===============
  `PyCon 2008`_  Atlanta,IL
  `PyCon 2007`_  Addison, TX
  `PyCon 2006`_  Addison, TX
  `PyCon 2005`_  Washington, DC
  `PyCon 2004`_  Washington, DC
  `PyCon 2003`_  Washington, DC
  ============================
  </pre>
  </div>
  <div class="section" id="talks-andpresentations">
  <h1>Talks andPresentations</h1>
  <ul class="simple">
  <li><a class="reference external" href="http://wiki.python.org/moin/PyCon2006/Talks">2006 Talks and Presentations</a></li>
  <li><a href="#id3"><span class="problematic" id="id4">`2005 Talks and Presentations&lt;http://wiki.python.org/moin/PyConDC2005/Presentations&gt;`_</span></a></li>
  <li><a class="reference external" href="http://wiki.python.org/moin/PyConDC2005/LightningTalks">2005 Lightning Talks</a></li>
  <li><a href="#id5"><span class="problematic" id="id6">`2004 Presentations&lt;http://us.pycon.org/zope/original/pycon/pastevents/dc2004/talks&gt;`_</span></a></li>
  </ul>
  </div>
  <div class="section" id="slides-and-talks-archive">
  <h1>Slides and Talks Archive</h1>
  <ul class="simple">
  <li><a class="reference external" href="/talks/">Talks Database</a>:Database of all PyCon recordings and presentations.</li>
  </ul>
  </div>
  <div class="section" id="videos-of-talks">
  <h1>Videos of Talks</h1>
  <ul class="simple">
  <li><a href="#id1"><span class="problematic" id="id2">`Some PyCon 2008 presentations are available on YouTube.&lt;http://www.youtube.com/pycon08&gt;`__</span></a></li>
  </ul>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em><a href="#id2">backlink</a></em></p>
  Anonymous hyperlink mismatch: 1 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 29); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;2005 talks and presentations&lt;http://wiki.python.org/moin/pycondc2005/presentations&gt;&quot;.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 31); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;2004 presentations&lt;http://us.pycon.org/zope/original/pycon/pastevents/dc2004/talks&gt;&quot;.</div>
  </div>
  </div>


url: /2010/conference/keynotes/
title: Keynotes and Invited Talks
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="keynotes-and-invited-talks">
  <h1 class="title">Keynotes and Invited Talks</h1>
  <p>We have not yet announced the 2010 PyCon keynotes, so stay tuned.  But in addition
  to thekeynotes, this year -- for the first time in PyCon's history -- we have
  asked a select group of fantastic Python speakers to deliver a series of invited
  talks. They are,alphabetically:</p>
  <p><strong>Abstraction as Leverage</strong> by <em>Alex Martelli</em></p>
  <p>Abstraction is a powerful servant, but a dangerous master.  We code, design,
  think, debug ... on a tower ofabstractions.  Spolsky's Law tells us that
  &quot;All abstractions leak&quot;.  This talk explores why they leak, why that's often
  a problem, what to do about it; moreover, I cover why sometimesabstractions
  SHOULD &quot;leak&quot;, and thus how best to produce and consume abstraction layers.</p>
  <p><strong>Behind the scenes of EveryBlock.com</strong> by <em>Adrian Holovaty</em></p>
  <p>Adrian Holovaty, bad-boyYouTube guitar star (search for him, if you dare!) and
  co-author of the Django web framework, takes you under the hood of
  EveryBlock.com, a Knight Foundation News Challenge startup whichrounds up
  local news and information, and is powered 100% by Python and Django.</p>
  <p><strong>Building tests for large, untested codebases</strong> by <em>C. Titus Brown</em></p>
  <p>Covering large codebases withautomated tests is a challenging and frustrating
  task that can be made much easier by approaching the problem systematically and
  choosing good tools.  I will discuss a number of approachesand freely available
  tools that can help people &quot;tame&quot; pre-existing codebases with automated tests,
  and show the evolution of tests for a complex codebase under these approaches
  andtools.</p>
  <p><strong>Challenges and Opportunities for Python</strong> by <em>Ted Leung</em></p>
  <p>We are moving firmly back into a &quot;polyglot&quot; world in terms of programming
  languages.  This presents greatopportunities for Python (and other dynamic
  languages) as well as challenges.  In this talk I'll be discussing some of the
  challenges and opportunities that I see for Python, based on myexperience with
  dynamic language runtimes at Sun.</p>
  <p><strong>Drop ACID and think about data</strong> by <em>Bob Ippolito</em></p>
  <p>Building large systems on top of a traditional single-master RDBMS datastorage
  layer is no longer good enough.  This talk explores the landscape of new
  technologies available today to augment your data layer to improve performance
  and reliability.  Is yourapplication a good fit for caches, bloom filters,
  bitmap indexes, column stores, distributed key/value stores, or document
  databases?  Learn how they work (in theory and practice) anddecide for yourself.</p>
  <p><strong>Easy AI with Python</strong> by <em>Raymond Hettinger</em></p>
  <p>Survey several basic AI techniques implemented with short, open-source Python code
  recipes.  Appropriate foreducators and programmers who want to experiment with AI
  and apply the recipes to their own problem domains.  For each technique, learn the
  basic operating principle, discuss an approachusing Python, and review a worked
  out-example.  We'll cover database mining using neural nets, automated
  categorization with a naive Bayesian classifier, solving popular puzzles with
  depth-first and breath-first searches, solving more complex puzzles with
  constraint propagation, and playing a popular game using a probing search strategy.</p>
  <p><strong>How Python isDeveloped</strong> by <em>Brett Cannon</em></p>
  <p>Python, like any other open source project, has its own way of doing things when
  it comes to development.  To an outsider it can seem complicated anddifficult to
  break into.  But in fact, Python's development practices are simple as long as you
  know what the basic workflow is.  This talk will go over that workflow, from how a
  bugends up getting fixed to how a new language feature get added.  In the end
  people should have an understanding of how Python is developed and how anyone can
  contribute to theproject.</p>
  <p><strong>IronPython: Directions, Data and Demos</strong> by <em>Jim Hugunin</em></p>
  <p>Come learn about our secret plans to use IronPython to take over the world.  The
  emphasis will be on demosshowing the seductive possibilities that IronPython
  enables for Python developers.  These include taking advantage of the newest
  features in Windows 7, running your Python code in thebrowser with Silverlight,
  and many more.</p>
  <p><strong>Metaprogramming with Decorators and Metaclasses</strong> by <em>Bruce Eckel</em></p>
  <p>The goal of metaprogramming is to provide greater leverage bywriting code that modifies other code. This presentation introduces metaprogramming and shows examples using both decorators and metaclasses. Although decorators are preferable because they aremore straightforward, there are situations where metaclasses are still necessary; we'll look at these special cases and visit some initialization issues along the way.</p>
  <p><strong>The State of thePython Community: Leading the Python tribe</strong> by <em>Steve Holden</em></p>
  <p>Steve Holden, Chairman of the Python Software Foundation, reflects on the meaning
  of the phrase &quot;the Python community&quot; andthe changes that have taken place in the
  PSF in the last year.  He discusses further possible changes that could turn the
  PSF into a more &quot;community-facing&quot; organization, and solicits yourinput on what
  kind of projects and activities it should be supporting.</p>
  <p><strong>Topics of Interest</strong> by <em>Ian Bicking</em></p>
  <p>Ian Bicking, man of interest, discusses topics of interest.Interesting topics
  may include metaprogramming, whitespace, process models, past design mistakes,
  ambitious new directions for future design mistakes, a best dressed/worst dressed
  guideto Python libraries, open source community design patterns, and whatever
  else meets his exacting standards for Interestingness.</p>
  </div>


url: /2010/sprints/projects/jython/
title: Jython Sprint &#64; PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="jython-sprint-pycon-2010">
  <h1 class="title">Jython Sprint &#64; PyCon 2010</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">Project URL:</th><td class="field-body"><a class="reference external" href="http://www.jython.org/">http://www.jython.org/</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Sprint Leader:</th><td class="field-body"><a href="#id1"><span class="problematic" id="id2">`Frank Wierzbicki&lt;mailto:fwierzbicki&#64;gmail.com&gt;`_</span></a></td>
  </tr>
  <tr class="field"><th class="docinfo-name" colspan="2">Code repository:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body"><a class="reference external" href="https://jython.svn.sourceforge.net/svnroot/jython/">https://jython.svn.sourceforge.net/svnroot/jython/</a></td>
  </tr>
  <tr class="field"><th class="docinfo-name">Developer FAQ:</th><td class="field-body"><a class="reference external" href="http://jython.org/Project/devfaq.html">http://jython.org/Project/devfaq.html</a></td>
  </tr>
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 9)</p>
  Field list ends without a blank line; unexpected unindent.</div>
  <p>:Developer guide:http://wiki.python.org/jython/JythonDeveloperGuide
  :Mailing lists: http://sourceforge.net/mail/?group_id=12867</p>
  <p>Jython is an implementation of the high-level, dynamic,
  object-orientedlanguage Python seamlessly integrated with the Java
  platform.  We will be sprinting on Jython's core, improving compatibility
  Python frameworks and applications, and whatever else comesup.</p>
  <div class="section" id="attendees">
  <h1>Attendees</h1>
  <p>If you'll be attending the Jython sprint, please add your name below:</p>
  <ul class="simple">
  <li>Frank Wierzbick, Monday-Wednesday</li>
  <li>Tobias Ivarsson, Monday-Wednesday</li>
  <li>John Szakmeister, Monday-Wednesday (ctypes)</li>
  </ul>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 6); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;frank wierzbicki&lt;mailto:fwierzbicki&#64;gmail.com&gt;&quot;.</div>
  </div>
  </div>


url: /2010/sprints/projects/signup/
title: Generic Signup Page
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="generic-signup-page">
  <h1 class="title">Generic Signup Page</h1>
  <p>If you are unsure of which project you would like to join,
  but are interested in one or more, please add your name and/orprojects below:</p>
  <ul class="simple">
  <li>Your Name (list of interests).</li>
  </ul>
  </div>


url: /2010/sprints/call-for-projects/
title: Call for Sprint Projects
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="call-for-sprint-projects">
  <h1 class="title">Call for Sprint Projects</h1>
  <p>Python-related projects: join the PyCon Development Sprints!</p>
  <p>The development sprints are a key partof PyCon, a chance for the contributors
  to open-source projects to get together face-to-face for up to four days of
  intensive learning and development. Newbies sit at the same table as thegurus,
  go out for lunch and dinner together, and have a great time while advancing
  their project. Sprints are one of the best parts of PyCon; in 2008 over 250
  sprinters came for at leastone day!</p>
  <p>If your project would like to sprint at PyCon, now is the time to let us know.
  We'll collect your info and publish it so that participants will have time to
  make plans.We'll need to get the word out early so that folks who want to
  sprint have time to make travel arrangements.</p>
  <p>In the past, some have been reluctant to commit to sprinting: some may notknow
  what sprinting is all about; others may think that they're not &quot;qualified&quot; to
  sprint. We're on an ongoing mission to change that perception:</p>
  <ul class="simple">
  <li>We'll help promote your sprint.The PyCon website, the PyCon blog, the PyCon
  podcast, and press releases will be there for you.</li>
  <li>PyCon attendees will be asked to commit to sprints on the registration form,</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 27)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>which will include a list of sprints with links to further info.</p>
  <ul class="simple">
  <li>We will be featuring a &quot;How To Sprint&quot; session on Sunday afternoon, followed
  by sprint-related tutorials, all forfree. This is a great opportunity to
  introduce your project to prospective contributors. We'll have more details
  about this later.</li>
  <li>Some sponsors are helping out with thesprints as well.</li>
  </ul>
  <p>There's also cost. Although the sprinting itself is free, sprints have
  associated time and hotel costs. We can't do anything about the time cost, but
  we may havesome complimentary rooms and funding available for sprinters. We
  will have more to say on financial aid later.</p>
  <p>Those who want to lead a sprint should send the following information <a class="reference external" href="mailto:topycon-organizers&#37;&#52;&#48;python&#46;org">topycon-organizers<span>&#64;</span>python<span>&#46;</span>org</a>:</p>
  <ul class="simple">
  <li>Project/sprint name</li>
  <li>Project URL</li>
  <li>The name and contact info (email and/or telephone) for the sprint leader(s)
  and other contributors whowill attend the sprint</li>
  <li>Instructions for accessing the project's code repository and documentation (or
  a URL)</li>
  <li>Pointers to new contributor information (setup,etc.)</li>
  <li>Any special requirements (projector? whiteboard? flux capacitor?)</li>
  </ul>
  <p>We will add this information to the PyCon website and set up a wiki page for you
  (or we can link toyours). Projects should provide a list of goals (bugs to fix,
  features to add, docs to write, etc.), especially some goals for beginners, to
  attract new sprinters. The more detail you putthere, the more prepared your
  sprinters will be, and the more results you'll get.</p>
  <p>In 2008 there were sprints for Python, TurboGears, Pylons, Django, Jython, WSGI,
  PyGame, Bazaar,Trac, PyCon-Tech, OLPC, Orbited, PyPy, Grok, and many others. We
  would like to see all these and more!</p>
  <p>Sprints will start with an introductory session on Sunday, March 29;this
  session will begin immedately after PyCon's scheduled portion ends. The sprints
  themselves will run from Monday, March 30 through Thursday, April 2, 2010.</p>
  <p>You can find allthese details and more at <a class="reference external" href="http://us.pycon.org/2010/sprints/">http://us.pycon.org/2010/sprints/</a>.</p>
  <p>If you have any questions, feel free to contact the sprint coordinator, <a href="#id1"><span class="problematic" id="id2">`Jacob
  Kaplan-Moss&lt;mailto:jacob&#64;jacobian.org&gt;`_</span></a>.</p>
  <p>Thank you very much, and happy coding!</p>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 73); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;jacob kaplan-moss&lt;mailto:jacob&#64;jacobian.org&gt;&quot;.</div>
  </div>
  </div>


url: /2010/about/worldwide/
title: Python Conferences Worldwide
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="python-conferences-worldwide">
  <h1 class="title">Python Conferences Worldwide</h1>
  <p>The Python programming language is popular around the world. The global
  Python communityhosts five conferences each year:</p>
  <blockquote>
  <a class="reference external" href="http://www.europython.org/">EuroPython</a> began in Charleroi, Belgium and
  was held in Vilnius, Lithuania in 2008.  EuroPython 2010 will be</blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 10)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <p>28th June to 4th July 2010 in Birmingham, UK.</p>
  <blockquote>
  <p><a class="reference external" href="http://pyconbrasil.com.br/">PyCon Brasil</a> held its fourth conference
  on September 18-20 in Rio de Janeiro.</p>
  <p><a href="#id1"><span class="problematic" id="id2">`PyCon FR&lt;http://fr.pycon.org/&gt;`_</span></a> was held in Paris on May 17 &amp; 18, 2008.</p>
  <p><a class="reference external" href="http://www.pycon.it/">PyCon Italia</a> convened for the first time in
  2007.  The 2010 conference will be inFirenze, 8-10 May 2010.</p>
  <p><a class="reference external" href="http://www.pyconuk.org/">PyCon UK</a> was held in 2007 and 2008 in Birmingham.
  For 2010, PyCon UK is not officially being held, but EuroPython 2010is in
  the same city.</p>
  <p><a class="reference external" href="/">PyCon</a> USA was in Washington, DC from 2003 to 2005, then moved to Dallas,
  Texas for 2006 and 2007.  <a href="#id3"><span class="problematic" id="id4">`In 2008, PyCon USA was held in Atlanta&lt;/2008/&gt;`_</span></a>.
  Atlanta will also be the site for PyCon 2010.  In 2010 PyCon will move to
  Atlanta GA.</p>
  </blockquote>
  <p>These self-organized, community-driven events rely upon volunteers.Each
  conference may circulate between different sites from year to year.  All
  share the goal of bringing together the developers, designers, and business
  people who are the Pythoncommunity.</p>
  <p>At a PyCon, you will meet people who have just begun their journey into the
  world of this dynamic, object-oriented programming language. You will also
  meet the people whostarted it all.</p>
  <p>You can expect informational and inspirational talks in a friendly
  atmosphere.  Other Python developers are glad to share their experiences,
  and to learn from yours.It's easy to make contacts and to make friends.
  You will meet interesting people and enjoy yourself.</p>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;pycon fr&lt;http://fr.pycon.org/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 24); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;in 2008, pycon usa was held in atlanta&lt;/2008/&gt;&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM7/
title: Easy Concurrency with Kamaelia
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="easy-concurrency-with-kamaelia">
  <h1 class="title">Easy Concurrency with Kamaelia</h1>
  <p>Writing concurrent applications in Python is now becoming not only easier, but
  quite elegant and simple, thanks to Kamaelia. Kamaelia is an interesting component
  based framework originating from BBC research. It accomplishes concurrent processing
  of data fromand to many protocols. Components easily connect and pass data from
  and to each other. We are going to explore Kamaelia's strengths and possibilities,
  by  running simple examples, thentrying nested protocol support, and maybe some
  other fun examples if time permits.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Gloria Jacobs has been doing software design and development in the NYCarea for
  over 15 years, mostly in Python since 2001. She has successfully rolled out
  several large scale products for start-ups, exclusively in Python. She writes
  both small and largePython articles in several online publications. She teaches
  an online software development group for women, and travels to Europe several
  times a year to help teach  womens Open SourceSoftware  tech group sessions.</p>
  <p>Assistant: Alex McFerron</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees are welcome to bring their laptops with Python installed
  (version 2.5 orhigher).</p>
  </div>
  </div>


url: /2010/conference/lightning/
title: Lightning Talks
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="lightning-talks">
  <h1 class="title">Lightning Talks</h1>
  <div class="section" id="what-s-a-lightning-talk">
  <h1>What's a &quot;Lightning Talk?&quot;</h1>
  <p>A lightning talk is a short presentation of your choosing, nolonger than five
  minutes.  Unlike <a class="reference external" href="/2010/conference/talks/">scheduled talks</a>, there is no
  approval process; speakers simply sign up during PyCon.</p>
  <p>This quick pace forces speakersto focus on the essentials and treats the audience
  to ten different topics in an hour.</p>
  </div>
  <div class="section" id="sessions">
  <h1>Sessions</h1>
  <p>PyCon 2007 had four separate sessions of lightning talks and PyCon2008 had a total <a class="reference external" href="http://pycon.blogspot.com/2008/04/part-9-lightning-talks-pycon-2008.html">5 hours of lightning talks</a>.
  We continue the trend in PyCon 2010, improving the quality of thissession.</p>
  </div>
  <div class="section" id="so-you-want-to-give-a-lightning-talk">
  <h1>So You Want to Give a Lightning Talk...</h1>
  <p>Go for it!  PyCon is a friendly and forgiving audience.</p>
  <p>If you've nevergiven a talk before, Lightning Talks are a good place to start.
  You don't need to make slides, but if you do, you only need to make three.</p>
  <p>Be on time, because the five-minute slotsfill up quickly!  If all slots are
  full, consider creating or joining an <a class="reference external" href="/2010/conference/openspace/">Open Space</a>
  session for your topic instead.</p>
  <p>The five-minute limit isstrictly enforced.  The session moderator will remind you
  how much time you have left during the last two minutes.  Practice your talk
  beforehand, and don't pack it tightly.  Plan just tointroduce your topic and to
  direct listeners to a website or contact address for more information. Five minutes
  is roughly equivalent to one or two pages of handwrittennotes.</p>
  <p>Lightning Talks don't have Question and Answer periods. If people want to talk
  further, they'll catch you in the hallway or contact you after the conference.  If
  you sensesignificant interest, you can schedule an Open Space session to answer
  questions or discuss the topic more thoroughly.  Be sure to include your project's
  URL and your contact info at thebeginning and especially at the end of your talk!</p>
  </div>
  <div class="section" id="topic-suggestions">
  <h1>Topic Suggestions</h1>
  <p>Anything related to Python is fair game.  Here are some ideas:</p>
  <ul class="simple">
  <li>Lessons learnedfrom a successful project</li>
  <li>Post-mortem wisdom from my failed project</li>
  <li>Heresy: Everyone says &quot;____,&quot; but they're wrong, and here's why</li>
  <li>I want to write this cool software--who'swith me?</li>
  <li>A preview of the scheduled talk you're giving later in the conference</li>
  <li>A funny thing happened on the way to the newsgroup / forum / mailing list</li>
  <li>The best Python librarythat no one knows about is...</li>
  <li>Wouldn't it be cool if we could do &quot;______&quot; in Python?</li>
  <li>You all suck: the Python community needs to...</li>
  <li>Call to action: Let's all do more (or less) of&quot;______&quot;</li>
  <li>My Python / Python 3000 wish list</li>
  <li>Here are some of the tricks and techniques I use every day</li>
  <li>The outside world: We should be paying more attention to...</li>
  <li>Let'scompare two competing Python packages</li>
  <li>A rant <em>(as long as it's entertaining)</em>:</li>
  </ul>

  <object width="425" height="344">
  <param name="movie" value="http://www.youtube.com/v/6yU9FjrR2Ig&hl=en&fs=1"></param>
  <param name="allowFullScreen" value="true"></param>
  <param name="allowscriptaccess" value="always"></param>
  <embed src="http://www.youtube.com/v/6yU9FjrR2Ig&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
  </object>
  </div>
  <div class="section" id="for-more-information">
  <h1>For More Information</h1>
  <p>Contact &quot;LightningTalks Coordinator&quot; Jacob Kaplan-Moss.  Details on the
  <a class="reference external" href="http://wiki.python.org/moin/PyCon2008/Staff">PyCon Staff</a> page.</p>
  </div>
  </div>


url: /2010/sponsors/howto/
title: How To Sponsor PyCon 2010
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="how-to-sponsor-pycon-2010">
  <h1 class="title">How To Sponsor PyCon 2010</h1>
  <p>PyCon 2010 will bring together an estimated 1200 or more Python
  developers and enthusiasts froma variety of backgrounds.  Your
  sponsorship will help you connect to the sophisticated and technical
  PyCon audience.</p>
  <p>A wide variety of sponsorships are available to match your goalsand your budget.
  With a larger scope, a larger audience, and a larger facility, PyCon 2010 will be
  the best yet.</p>
  <div class="section" id="want-more-information">
  <h1>Want more information?</h1>
  <ul class="simple">
  <li>Fulldescriptions of the available options are in the <a class="reference external" href="http://media.processmechanics.com/SponsorProspectus-PyCon2010.pdf">Sponsorship Prospectus</a>.</li>
  <li>Questions? Please contact <a href="#id3"><span class="problematic" id="id4">`Van Lindberg&lt;mailto:pycon-sponsors&#64;python.org&gt;`_</span></a>, the PyCon sponsor coordinator.</li>
  </ul>
  <div class="section" id="available-sponsorships-include">
  <h2>Available sponsorships include:</h2>
  <ul class="simple">
  <li>Diamond level sponsorships (limited)</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 26)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Platinum level sponsorships (limited)
  * Gold level sponsorships
  * Silver level sponsorships
  * Sprint sponsorships
  * Media sponsorships
  * Lanyard sponsorships (as an add-on to Goldlevel or above)</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 26); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </div>
  </div>
  <div class="section" id="general-conference-information">
  <h1>General Conference Information</h1>
  <div class="section" id="conference-profile">
  <h2>Conference Profile:</h2>
  <ul class="simple">
  <li>Two day Expo Hall: March 27-28</li>
  <li>Twotutorial days: March 25-26</li>
  <li>Development sprints: March 30-April 2</li>
  <li>Virtual Machines Summit: March 25</li>
  <li>Python Language Summit: March 26</li>
  </ul>
  </div>
  <div class="section" id="speakers-for-2010include">
  <h2>Speakers for 2010include:</h2>
  <ul class="simple">
  <li>Guido van Rossum, Creator of Python and BDFL</li>
  <li>Alexis Ohanian and Steve Huffman, Reddit</li>
  <li>Adrian Holovaty, Django</li>
  <li>Ted Leung, SunMicrosystems</li>
  <li>Raymond Hettinger, Core Python</li>
  <li>Jim Hugunin, Microsoft</li>
  <li>Bob Ippolito, Mochi Media</li>
  </ul>
  </div>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 20); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;van lindberg&lt;mailto:pycon-sponsors&#64;python.org&gt;&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/2PM5/
title:
  The Big F'ing Tutorial: Development Using the <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> WebFramework

content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="the-big-f-ing-tutorial-development-using-the-repoze-bfg-webframework">
  <h1 class="title">The Big F'ing Tutorial: Development Using the <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> WebFramework</h1>
  <p>Are you a Python web developer who thinks there might be some great
  stuff hidden away in`Zope &lt;<a class="reference external" href="http://zope.org">http://zope.org</a>&gt;`_ but you consider it
  inaccessible to you because you feel that Zope imposes too many
  foreign concepts for your tastes?  Are you a more-or-less happyZope
  developer that has the nagging feeling that much of Zope is
  unnecessary &quot;baggage&quot; on your current project?  Maybe you're a Plone
  developer who feels that Plone is unsuitable forone of your current
  projects because it's too complicated?</p>
  <p>This tutorial will present everything you need to know about
  <a class="reference external" href="http://static.repoze.org/bfgdocs">repoze.bfg</a>, a smallPython web
  framework in the spirit of <a class="reference external" href="http://pylonshq.com">Pylons</a>.  The goals
  of <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> are simplicity, familiarity to Zope programmers (but
  no Zope experience is required),execution speed, and complete,
  comprehensive, and up-to-date documentation.</p>
  <p>In this tutorial, we'll explain the core concepts in <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt>,
  then we'll lead a guideddevelopment session where we make a small
  application using the framework.  We'll also cover packaging and
  deployment of the application.  Questions are highly encouraged during
  thepresentation.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Chris McDonough is a principal and developer at <a class="reference external" href="http://agendaless.com">Agendaless Consulting</a>, a Python web development company.  Heis
  the primary author of <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> and much of the other <a class="reference external" href="http://repoze.org">Repoze</a> software, as well as the <a class="reference external" href="http://supervisord.org">Supervisor</a> process controller.  He hasbeen writing
  Python web applications for nine years, and contributing to the
  development of Python web frameworks for eight years.  He is a member
  of both the Zope Foundation and thePlone Foundation.  He lives and
  works in Fredericksburg, VA, USA.</p>
  <p>As a developer for the past 10 years, Chris Perkins has worked on everything
  from Joint Strike Fighter enginecontrol test software to creating
  database applications for the National Renewable Energy Laboratory. He
  has been developing primarily with Python for the last 3 years andhas
  contributed to numerous Open Source projects including Turbogears,
  SQLAlchemy, DBSprockets, and ToscaWidgets. He is an active member of
  the Front Range Pythoneers user group, and aPycon attendee for the
  last 3 years. Please visit <a class="reference external" href="http://www.percious.com">http://www.percious.com</a> for more
  information about Chris Perkins.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees should bring alaptop.  Attendees without an
  already-configured <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> development environment should
  bring a laptop with an already-installed <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> environment
  <em>or</em> a 32-bit WindowsXP/Vista, x86 Linux, or Mac OS X Intel system
  with a DVD drive to participate in the guided development session.
  Users without an already-working <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> installation will
  beprovided with to a <a class="reference external" href="http://www.virtualbox.org">VirtualBox</a> virtual Linux environment on a
  DVD which will be made available during the tutorial.  The
  presenters suggest coming in to thesession with an
  already-configured machine, however.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <div class="section" id="first-half-lecture-1hr-30mins">
  <h2>First Half (Lecture): 1hr 30mins</h2>
  <ul>
  <li><p class="first">Introduction,DVD handouts, Repoze history and <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt>
  goals and comparisons with other Python web frameworks (5 minutes)</p>
  </li>
  <li><p class="first">Describe an application package (10 minutes)</p>
  <dl class="docutils">
  <dt>-Describe the concept of an application as a Python</dt>
  <dd><p class="first last">&quot;distribution&quot; (setuptools).</p>
  </dd>
  </dl>
  </li>
  <li><p class="first">Describe how <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> maps URLs to code (20 minutes)</p>
  <ul>
  <li><p class="first">Via graphtraversal</p>
  <ul>
  <li><p class="first">Explain the concept of URL path segments as a graph traversal.</p>
  </li>
  <li><p class="first">Describe the first <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> <a href="#id1"><span class="problematic" id="id2">`</span></a>traversal example</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 87); <em><a href="#id2">backlink</a></em></p>
  <p>Inline interpreted text or phrase reference start-string without end-string.</p>
  </div>
  </li>
  </ul>
  </li>
  </ul>
  </li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 88)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>&lt;<a class="reference external" href="http://static.repoze.org/bfgdocs/narr/traversal.html">http://static.repoze.org/bfgdocs/narr/traversal.html</a>&gt;`_</p>
  <blockquote>
  <ul class="simple">
  <li>Via URL dispatch<ul>
  <li>Explain what <a class="reference external" href="http://routes.groovie.org/">Routes</a> does.</li>
  <li>Explain this URLdispatch <a class="reference external" href="http://static.repoze.org/bfgdocs/narr/urldispatch.html#example-1">example</a></li>
  </ul>
  </li>
  </ul>
  </blockquote>
  <ul>
  <li><p class="first">Describe &quot;views&quot; and templates (15 minutes)</p>
  <ul class="simple">
  <li>Describe a view as a functionthat accepts a context and a
  request, and which returns a WebOb response and show an example.</li>
  <li>Describe the <tt class="docutils literal"><span class="pre">chameleon.zpt</span></tt> templating language used as the
  defaulttemplating language within <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt>.</li>
  <li>Show the usage of a template called from within a view function.</li>
  </ul>
  </li>
  <li><p class="first">Describe &quot;models&quot; (15 minutes)</p>
  <ul class="simple">
  <li>As a persistent Pythonobject graph</li>
  <li>As Python objects created from data in a relational database</li>
  </ul>
  </li>
  <li><p class="first">Describe <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> security features and ZCML (20 minutes)</p>
  <ul class="simple">
  <li>ACLs</li>
  </ul>
  <p>-repoze.who</p>
  <ul class="simple">
  <li>Configuring a security policy via ZCML</li>
  </ul>
  </li>
  <li><p class="first">Pre-break Q &amp; A and environment setup help registration (5 mins).</p>
  </li>
  </ul>
  </div>
  <div class="section" id="break-period-30mins">
  <h2>Break Period: 30mins</h2>
  <p>Users with problems with the environment setup are
  encouraged to work through the break with the presenters.  After the
  break, the guided developmentportion of the tutorial begins.</p>
  </div>
  <div class="section" id="second-half-code-along-1-hr-15-mins">
  <h2>Second Half (Code-Along): 1 hr 15 mins</h2>
  <ul>
  <li><p class="first">Installation and creating the project (10 minutes)</p>
  <blockquote>
  <p>-Creating a virtualenv</p>
  <ul class="simple">
  <li>Installing <tt class="docutils literal"><span class="pre">repoze.bfg</span></tt> into the virtualenv</li>
  <li>Using <tt class="docutils literal"><span class="pre">paster</span> <span class="pre">create</span> <span class="pre">-t</span> <span class="pre">bfg</span></tt> to create a project</li>
  <li>Using <tt class="docutils literal"><span class="pre">setup.py</span> <span class="pre">develop</span></tt> to installthe project into the
  virtualenv</li>
  </ul>
  </blockquote>
  </li>
  <li><p class="first">Running the project (5 minutes).</p>
  <blockquote>
  <ul class="simple">
  <li>Paster <tt class="docutils literal"><span class="pre">--reload</span></tt> feature.</li>
  <li>Middleware configuration in config file.</li>
  </ul>
  <p>-<tt class="docutils literal"><span class="pre">paster</span> <span class="pre">serve</span> <span class="pre">myapp.ini</span></tt>.</p>
  </blockquote>
  </li>
  <li><p class="first">Creating a model graph (20 minutes).</p>
  <ul class="simple">
  <li>Creating a <tt class="docutils literal"><span class="pre">Wiki</span></tt> object (the &quot;root&quot;)</li>
  <li>Creating a <tt class="docutils literal"><span class="pre">WikiPage</span></tt> object</li>
  </ul>
  </li>
  <li><p class="first">Modifying the``run.py`` file. (5 minutes)</p>
  <ul class="simple">
  <li>Set up the make_app function.</li>
  <li>Start the application again.</li>
  </ul>
  </li>
  <li><p class="first">Creating views and templates (30 minutes).</p>
  <ul>
  <li><p class="first">Creating a <a href="#id3"><span class="problematic" id="id4">``</span></a>static``resource view</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 166); <em><a href="#id4">backlink</a></em></p>
  <p>Inline literal start-string without end-string.</p>
  </div>
  </li>
  <li><p class="first">Creating a <tt class="docutils literal"><span class="pre">root</span></tt>, <tt class="docutils literal"><span class="pre">page</span></tt>, and <tt class="docutils literal"><span class="pre">page_edit</span></tt> views and
  templates.</p>
  </li>
  </ul>
  </li>
  <li><p class="first">Securing your application (10 minutes)</p>
  <ul class="simple">
  <li>Configure theRepozeWhoACLSecurityPolicy within ZCML.</li>
  <li>Add permission declarations to views.</li>
  <li>Configure repoze.who via <tt class="docutils literal"><span class="pre">who.ini</span></tt> and changes to <tt class="docutils literal"><span class="pre">app.ini</span></tt>.</li>
  <li>View theapplication with and without the security policy in
  place.</li>
  </ul>
  </li>
  <li><p class="first">Creating and running a test (5 minutes).</p>
  <ul class="simple">
  <li>Creating a <tt class="docutils literal"><span class="pre">tests.py</span> <span class="pre">file</span></tt> and usage of <tt class="docutils literal"><span class="pre">setup.py</span> <span class="pre">test</span></tt></li>
  </ul>
  </li>
  </ul>
  <p>-Distributing the project (5 minutes).</p>
  <blockquote>
  <ul class="simple">
  <li>Usage of <tt class="docutils literal"><span class="pre">setup.py</span> <span class="pre">sdist</span></tt>.</li>
  </ul>
  </blockquote>
  </div>
  </div>
  </div>


url: /2010/registration/faq/
title: Registration FAQ (Frequently Asked Questions)
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="registration-faq-frequently-asked-questions">
  <h1 class="title">Registration FAQ (Frequently Asked Questions)</h1>
  <p>Please send questions by email to <a class="reference external" href="mailto:pycon-reg&#37;&#52;&#48;python&#46;org">pycon-reg<span>&#64;</span>python<span>&#46;</span>org</a>.</p>
  </div>


url: /2010/openspace/teachme-webtesting/
title: Teach Me Web Testing!
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="teach-me-web-testing">
  <h1 class="title">Teach Me Web Testing!</h1>
  <table class="docinfo" frame="void" rules="none">
  <col class="docinfo-name" />
  <col class="docinfo-content" />
  <tbody valign="top">
  <tr class="field"><th class="docinfo-name">organizers:</th><td class="field-body">Steve Holden, Grig Gheorghiu</td>
  </tr>
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 6)</p>
  Field list ends without a blank line; unexpected unindent.</div>
  <p>:when:TBD</p>
  <div class="section" id="summary">
  <h1>Summary</h1>
  <p>If you know nothing about Open Space, take a look at this video by Bruce Eckel:</p>
  <p><a class="reference external" href="http://www.archive.org/details/BruceEckelIntroductiontoOpenSpaces/">http://www.archive.org/details/BruceEckelIntroductiontoOpenSpaces/</a></p>
  <p>This will be a 'Teach Me...' session, which reverses the traditional roles of the
  students and the teacher in theclassroom. You could regard it as an opportunity to
  study learning, or simply to learn along in parallel.</p>
  <p>Steve Holden will be the 'teacher' who will get taught by his students on thetopic of Web Testing.</p>
  </div>
  <div class="section" id="details">
  <h1>Details</h1>
  <p>Please bring your knowledge of web testing and the holes you want to fill.
  Steve will attempt to give a convincingdemonstration of almost total ignorance,
  and will be guided in his own questions by others from the audience.</p>
  <p>He hopes that this will be a great chance for everyone to leave knowingmore than
  they did about web testing. As a bonus it may be possible to have a little fun
  along the way. Hopefully the cognoscenti among the audience will be generous in sharingtheir
  knowledge with the rest of us.</p>
  <p>Use the Google Moderator panel below (sorry, we haven't found a way to omit the Google
  authentication yet) to enter your own ideas and to voteother people's up or down.
  The PyCon organizers are hoping that the use of this panel will allow sessions to
  focus on materials of majorityinterest.</p>
  </div>
  <div class="section" id="moderator">
  <h1>Moderator</h1>
  <p>&quot;Teach Me&quot; sessions don't really have a moderator. Steve will attempt to guide
  the session along productive lines, with no realguarantee of success.
  Grig will finagle the web testing community into coming along and helping (and will
  be there to help dispel Steve's ignorance).</p>
  </div>
  </div>


url: /2010/about/summits/
title: Summit Meetings
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="summit-meetings">
  <h1 class="title">Summit Meetings</h1>
  <p>PyCon 2010 will feature two invitation-only summit meetings, intended to
  bring developers of the various implementations togetherto discuss
  technology and strategies.</p>
  <ul class="simple">
  <li><a class="reference external" href="vm">Virtual Machine Summit</a>: Wednesday, March 25, 2010</li>
  <li><a class="reference external" href="language">Python Language Summit</a>: Thursday, March 26, 2010</li>
  </ul>
  <p>Both summitmeetings will be held at the Crowne Plaza Atlanta O'Hare hotel.
  <a class="reference external" href="/2010/registration/hotel/">See the Hotel Reservations page for details.</a></p>
  </div>


url: /2010/tutorials/schedule/2PM7/
title: Python 102
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="python-102">
  <h1 class="title">Python 102</h1>
  <p>This half-day tutorial presents intermediate and some advanced
  features of Python to beginning and intermediate programmers.  It
  pairs wellwith <em>Python 101</em> following a similar outline but at a
  deeper level.</p>
  <p>Rather than starting with &quot;Hello, world!&quot;, we use the interactive
  Python interpreter to get hands-on familiaritywith much of core
  Python before covering blocks and scripts.</p>
  <p>The tutorial is divided into short sections, each with presentation
  and exercises, to quickly cover lots ofground.</p>
  <p>Advanced topics are introduced throughout and covered in &quot;extra
  credit&quot; exercises such that more advanced participants can learn at
  their ownpace.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Stuart Williams lives in Winnipeg, Manitoba, Canada and works in the
  financial services industry.  He taught Python 101 and 102 at PyCon
  2008,taught Introduction to Computer Science in Python as an
  Assistant Professor of Computer Science, developed a Python summer
  camp for high school students, and started the Winnipeg PythonUsers
  Group where he contributes regularly.  He grew up in temperate rain
  but now enjoys four strong seasons and commutes by bicycle even at
  -30.  He and his wife keep happily busy withthree young children.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Bring a laptop computer with Python 2.6 installed.
  Python version 2.5 or prior will do in a pinch.  Try to get as muchof
  an overview of Python before the tutorial as you have time to in order
  to get more out of the tutorial.  Two angles on this are the Python
  Quick Reference athttp://rgruet.free.fr/PQR25/PQR2.5.html and the
  Python website's tutorial at http://docs.python.org/tut/tut.html.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>Numbers and Strings -operators, functions and methods</li>
  <li>Introspection</li>
  <li>Sequences - overview, concepts, and methods</li>
  <li>Objects</li>
  <li>Dictionaries</li>
  <li>Files</li>
  <li>Classes</li>
  <li>Namespaces</li>
  <li>DynamicClasses</li>
  <li>Iterators and Generators</li>
  <li>Functions</li>
  <li>Exceptions</li>
  <li>Standard Library</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM7/
title: Python 101
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="python-101">
  <h1 class="title">Python 101</h1>
  <p>This half-day tutorial presents the basics of Python to beginning and
  intermediate programmers.  It pairs well with <a href="#id1"><span class="problematic" id="id2">*</span></a>Python 102*which
  follows a similar outline but goes much deeper.</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 6); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p>Rather than starting with &quot;Hello, world!&quot;, we use the interactive
  Python interpreter to get hands-on familiarity with much ofcore
  Python before covering blocks and scripts.</p>
  <p>The tutorial is divided into short sections, each with presentation
  and exercises, to quickly cover lots of ground.</p>
  <p>Advancedtopics are introduced throughout and covered in &quot;extra
  credit&quot; exercises such that more advanced participants can learn at
  their own pace.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>StuartWilliams lives in Winnipeg, Manitoba, Canada and works in the
  financial services industry.  He taught Python 101 and 102 at PyCon
  2008, taught Introduction to Computer Science in Python asan
  Assistant Professor of Computer Science, developed a Python summer
  camp for high school students, and started the Winnipeg Python Users
  Group where he contributes regularly.  He grewup in temperate rain
  but now enjoys four strong seasons and commutes by bicycle even at
  -30.  He and his wife keep happily busy with three youngchildren.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Bring a laptop computer with Python 2.6 installed.
  Python version 2.5 or prior will do in a pinch.  Try to get as much of
  an overview ofPython before the tutorial as you have time to in order
  to get more out of the tutorial.  Two angles on this are the Python
  Quick Reference at <a class="reference external" href="http://rgruet.free.fr/PQR25/PQR2.5.html">http://rgruet.free.fr/PQR25/PQR2.5.html</a> andthe
  Python website's tutorial at <a class="reference external" href="http://docs.python.org/tut/tut.html">http://docs.python.org/tut/tut.html</a>.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>Numbers and operators</li>
  <li>Strings - immutability, operators, methods,functions, and formatting</li>
  <li>Introspection</li>
  <li>Tuples and Lists</li>
  <li>List Comprehensions</li>
  <li>Objects and Variables</li>
  <li>Dictionaries</li>
  <li>Loops and Blocks</li>
  <li>Iterables</li>
  <li>GeneratorExpressions</li>
  <li>Functions</li>
  <li>Generators</li>
  <li>Namespaces</li>
  <li>Simple Classes</li>
  <li>Exceptions</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM2/
title: Faster Python Programs through Optimization
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="faster-python-programs-through-optimization">
  <h1 class="title">Faster Python Programs through Optimization</h1>
  <p>Although Python programs may be slow for certaintypes of tasks, there are
  many different ways to improve performance. This tutorial will introduce
  optimization strategies and demonstrate techniques to implement them.
  Another of theobjectives of this course is to give participants the ability
  to decide what might be the optimal solution for a certain performance problem. Participants are strongly recommended to bringlaptops because all techniques
  are introduced with examples and exercises.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Mike Müller lives in Leipzig, Germany and works as a consultant,programmer and
  trainer. He programs scientific software in Python and other languages. He
  teaches Python since 2004 and since 2006 at the <a class="reference external" href="http://www.python-academy.com">Python Academy</a>. His courses
  coverintroductions to Python as well as special topics such as extensions or
  thread programming. Being an engineer who also works in research projects, he
  use numerous scientific Python packageson a daily basis and, therefore, also
  offers a course <a href="#id1"><span class="problematic" id="id2">`Python for Scientist and Engineers`_</span></a>.
  He is an author of <a href="#id3"><span class="problematic" id="id4">PyModelData_</span></a>, a Python package design for reading, writing
  and convertingdata for scientific modeling.
  When he does not program or teach, he spends time with his wife and his two
  kids or works out in the gym and runs.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Allparticipants should bring laptops with Linux, Windows, or Mac OS.
  Python 2.6, 2.5, or Python 2.4 need to be installed as well as an
  editor or IDE.</p>
  <p>The following third-party packagesare needed:</p>
  <ul class="simple">
  <li><a class="reference internal" href="#psyco">psyco</a> (version 1.5.2 or higher)</li>
  <li><a class="reference internal" href="#numpy">numpy</a> (version 1.2 or higher)</li>
  <li><a class="reference internal" href="#pyprocessing">pyprocessing</a> (2.5 or lower only)</li>
  </ul>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul>
  <li><p class="first">How Fast isFast Enough?</p>
  </li>
  <li><dl class="first docutils">
  <dt>Optimization Guidelines</dt>
  <dd><ul class="first last simple">
  <li>Premature optimization</li>
  <li>Optimization rules</li>
  <li>Seven steps for incremental optimization</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Optimization strategy</dt>
  <dd><ul class="first last simple">
  <li>Measuringin stones</li>
  <li>Profiling CPU usage</li>
  <li>Profiling memory usage</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Algorithms and Anti-patterns</dt>
  <dd><ul class="first last simple">
  <li>String Concatenation</li>
  <li>List and Generator Comprehensions</li>
  <li>The RightData Structure</li>
  <li>Caching</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><p class="first">The Example</p>
  </li>
  <li><p class="first">Testing Speed</p>
  </li>
  <li><p class="first">Pure Python</p>
  </li>
  <li><p class="first">Meet Psyco, the JIT</p>
  </li>
  <li><p class="first">Numpy for Numeric Arrays</p>
  </li>
  <li><p class="first">Using multiple CPUs withpyprocessing/multiprocessing</p>
  </li>
  <li><p class="first">Combination of optimization strategies</p>
  </li>
  <li><p class="first">Results of Different Example Implementations</p>
  </li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 69)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <p>.._`PyModelData`: <a class="reference external" href="http://www.pymodeldata.org">http://www.pymodeldata.org</a>
  .. _German: <a class="reference external" href="http://www.python-academy.de">http://www.python-academy.de</a>
  .. _English: <a class="reference external" href="http://www.python-academy.com">http://www.python-academy.com</a>
  .. <span class="target" id="courses-for-beginners">courses for beginners</span>: <a class="reference external" href="http://www.python-academy.com/courses/python_course_nonprogrammers.html">http://www.python-academy.com/courses/python_course_nonprogrammers.html</a>
  .. <span class="target" id="courses-for-programmers">courses for programmers</span> : <a class="reference external" href="http://www.python-academy.com/courses/python_course_programmers.html">http://www.python-academy.com/courses/python_course_programmers.html</a>
  .. <span class="target" id="advanced-courses-on-differenttopics">advanced courses on differenttopics</span>: <a class="reference external" href="http://www.python-academy.com/courses/specialtopics/index.html">http://www.python-academy.com/courses/specialtopics/index.html</a>
  .. <span class="target" id="course-for-scientists-and-engineers">course for scientists and engineers</span>: <a class="reference external" href="http://www.python-academy.com/courses/python_course_scientists.html">http://www.python-academy.com/courses/python_course_scientists.html</a>
  .._`Python for Scientist and Engineers`: <a class="reference external" href="http://www.python-academy.com/courses/python_course_scientists.html">http://www.python-academy.com/courses/python_course_scientists.html</a>
  .. <span class="target" id="pycon-2007-i">PyCon 2007_I</span>: <a class="reference external" href="http://us.pycon.org/TX2007/TutorialsAM#AM4">http://us.pycon.org/TX2007/TutorialsAM#AM4</a>
  .. <span class="target" id="pycon2007-ii">PyCon2007_II</span>: <a class="reference external" href="http://us.pycon.org/TX2007/TutorialsPM#PM4">http://us.pycon.org/TX2007/TutorialsPM#PM4</a>
  .. <span class="target" id="pycon-2008-i">PyCon 2008_I</span>: <a class="reference external" href="http://us.pycon.org/2008/tutorials/PerformatnceIMuller">http://us.pycon.org/2008/tutorials/PerformatnceIMuller</a>
  .. <span class="target" id="pycon-2008-ii">PyCon 2008_II</span>:<a class="reference external" href="http://us.pycon.org/2008/tutorials/PerformatnceIIMuller">http://us.pycon.org/2008/tutorials/PerformatnceIIMuller</a>
  .. <span class="target" id="euroscipy-2008">EuroSciPy 2008</span>: <a class="reference external" href="http://www.scipy.org/EuroSciPy2008">http://www.scipy.org/EuroSciPy2008</a>
  .. <span class="target" id="pymodeldata-presentation">PyModelData presentation</span>:<a class="reference external" href="http://www.scipy.org/EuroSciPy2008Abstracts#mmueller">http://www.scipy.org/EuroSciPy2008Abstracts#mmueller</a>
  .. <span class="target" id="psyco">psyco</span>: <a class="reference external" href="http://psyco.sourceforge.net">http://psyco.sourceforge.net</a>
  .. <span class="target" id="numpy">numpy</span>: <a class="reference external" href="http://numpy.scipy.org">http://numpy.scipy.org</a>
  .. <span class="target" id="pyprocessing">pyprocessing</span>:<a class="reference external" href="http://pyprocessing.berlios.de">http://pyprocessing.berlios.de</a></p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;python for scientist and engineers&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;pymodeldata&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/2PM1/
title: An Introduction to Object-Oriented Programming
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="an-introduction-to-object-oriented-programming">
  <h1 class="title">An Introduction to Object-Oriented Programming</h1>
  <p>Although often used as a &quot;scripting&quot;language, Python is an object-oriented
  programming language at its core. This tutorial is designed for programmers who are
  familiar with Python yet new to the concept of object-orientedprogramming. We also
  welcome programmers who are experienced with other object-oriented languages yet new
  to Python.</p>
  <p>We will begin the tutorial by introducing the generalprinciples of object-oriented
  programming. We then focus on Python's treatment of object orientation. The tutorial
  will be organized as a mix of formal presentations together with hands-on
  demonstrations and exercises.</p>
  <p>Take your Python programming to the next level!</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Drs. Goldwasser and Letscher are Faculty Members in the Departmentof Mathematics
  and Computer Science at Saint Louis University and authors of the book Object-Oriented
  Programming in Python. They have been instrumental in the development of SLU's
  Python-based introductory programming course and are winners of the Jim Korn Award
  for Scholarship of Teaching and Learning at SLU. Components of their curriculum have
  been presented atnational and international conferences on Computer Science Education
  and within the main program of PyCon 2008.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Minimally, attendees should have basicfamiliarity with core programming
  concepts (e.g., variables, control structures, functions).</p>
  <p>Attendees should bring laptops with Python installed (version 2.3 or later) if
  theywant to work through the examples.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>The Object-Oriented Paradigm</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>The pairing of data and behavior</li>
  <li>Encapsulation</li>
  <li>Accessors vs.mutators</li>
  <li>Inheritance hierarchies</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Using Objects</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>The built-in <tt class="docutils literal"><span class="pre">list</span></tt> class as a typical example of a mutable type.</li>
  <li>The built-in <tt class="docutils literal"><span class="pre">str</span></tt> class as a typicalexample of an immutable type.</li>
  <li>Numeric types and operators</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Defining Your Own Classes</li>
  </ul>
  <blockquote>
  <ul>
  <li><p class="first">Example: A simple <tt class="docutils literal"><span class="pre">Point</span></tt> class</p>
  </li>
  <li><p class="first">Example: A more robust <a href="#id1"><span class="problematic" id="id2">``</span></a>Point``class</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 61); <em><a href="#id2">backlink</a></em></p>
  <p>Inline literal start-string without end-string.</p>
  </div>
  </li>
  <li><p class="first">Example: a <tt class="docutils literal"><span class="pre">Television</span></tt> class</p>
  </li>
  <li><p class="first">Example: a <tt class="docutils literal"><span class="pre">Fraction</span></tt> class</p>
  </li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Good Software Practices</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Case Study:  a Mastermind game</li>
  <li>Top-level design;bottom-up implementation</li>
  <li>Naming conventions</li>
  <li>Python docstrings</li>
  <li>Encapsulation</li>
  <li>Unit testing</li>
  </ul>
  </blockquote>
  <p>Break -- refreshments served</p>
  <ul class="simple">
  <li>Inheritance</li>
  </ul>
  <blockquote>
  <p>-Providing new methods</p>
  <ul class="simple">
  <li>Overriding existing methods</li>
  <li>Example: A <tt class="docutils literal"><span class="pre">DeluxeTV</span></tt></li>
  <li>Example: A <tt class="docutils literal"><span class="pre">SortedSet</span></tt></li>
  <li>Multiple inheritance</li>
  <li>When should inheritance(not) be used?</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>A Deeper Understanding of the Management of Objects</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Understanding objects and references</li>
  <li>Aliasing</li>
  <li>Equivalence testing</li>
  <li>Objects thatreference other objects</li>
  <li>Deep vs. shallow copying</li>
  <li>Parameter passing</li>
  <li>Default parameter values</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Python's Internal Mechanisms</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li><tt class="docutils literal"><span class="pre">id</span></tt>, <tt class="docutils literal"><span class="pre">type</span></tt>,``isinstance``</li>
  <li>Python's use of dictionaries (<tt class="docutils literal"><span class="pre">dir</span></tt>, <tt class="docutils literal"><span class="pre">locals</span></tt>, <tt class="docutils literal"><span class="pre">globals</span></tt>, <tt class="docutils literal"><span class="pre">vars</span></tt>)</li>
  <li>Name resolution in an object-oriented framework (local, instance-level, class-level,parent-level namespaces).</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Structural recursion</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Our own (recursive) <tt class="docutils literal"><span class="pre">list</span></tt> implementation</li>
  </ul>
  </blockquote>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM3/
title: ToscaWidgets: Test Driven Modular Ajax
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="toscawidgets-test-driven-modular-ajax">
  <h1 class="title">ToscaWidgets: Test Driven Modular Ajax</h1>
  <p>If you have ever struggled with having to re-create the samecontent in multiple
  places in your web application it might be time to look at ToscaWidgets.
  ToscaWidgets gives the developer the ability to create reusable web content.
  This 3 hourlesson will cover installation, integration, and usage of ToscaWidgets.
  After we have a handle on how to create validated forms with ToscaWidgets, we will spend
  the second half of thislesson creating a working ajax widget, which we will test the
  client side component using ToscaWidget javascript technology.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>As a developer for the past 10years, Chris has worked on everything
  from Joint Strike Fighter engine control test software to creating database applications
  for the National Renewable Energy Laboratory. He has beendeveloping primarily with
  Python for the last 3 years and has contributed to numerous Open Source projects
  including Turbogears, SQLAlchemy, DBSprockets, and ToscaWidgets. He is an active
  member of the Front Range Pythoneers user group, and a pycon attendee for the last 3
  years. Please visit www.percious.com for more information aboutChris.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees will get the most out of this talk if they bring their laptops with Python
  installed (version 2.4 orhigher).</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>ToscaWidgets: Introduction and Motivation</li>
  <li>Installation and Integration</li>
  <li>Setting up Pylons to work with ToscaWidgets</li>
  <li>Creating ValidatedForms with ToscaWidgets</li>
  <li>break</li>
  <li>Developing Tested Ajax with JSon and ToscaWidgets</li>
  <li>Q&amp;A</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM6/
title: An Introduction to Google App Engine
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="an-introduction-to-google-app-engine">
  <h1 class="title">An Introduction to Google App Engine</h1>
  <p>Google App Engine allows you to build scalable web applications andhost them
  on Google hardware. This hands on tutorial will walk you through the steps of
  building a basic web application, from setting up the SDK through to using
  the major APIs thatApp Engine provides.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Joe Gregorio lives in North Carolina with his wife, their four children, two cats,
  and one golden retriever where he works for Google asa Developer Advocate for
  Google App Engine. He is a software engineer, a member of the AtomPub Workgroup
  and editor of the Atom Publishing Protocol. He has a deep interest in web
  technologies, writing “The RESTFul Web” column for the online O’Reilly publication
  XML.com, writing the first desktop aggregator written in C#, andpublishing
  various Python modules to help in putting together RESTful web services, such as
  httplib2.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Difficulty</p>
  <ul class="simple">
  <li>Some familiarity withcoding in Python is required.</li>
  </ul>
  <p>Experience</p>
  <ul class="simple">
  <li>Experience with web development is a prerequisite, technologies like HTML and CSS will be used but not explained.</li>
  </ul>
  <p>A laptop withPython 2.5 installed, and optionally a copy of the latest
  version of the Google App Engine SDK, though that will be available in class.
  A cell phone capable of receiving SMS messages if thestudent wants to deploy
  their application to Google's servers, but that isn't a required part of the
  exercises.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>Intro to App Engine</li>
  </ul>
  <dl class="docutils">
  <dt>Overview of App Engine and its major components, including an overview of the</dt>
  <dd>APIs the SDK provides, the underlying technologies App Engine is built on, and
  the public roadmap offeatures being worked on. (20 minutes)</dd>
  </dl>
  <ul>
  <li><p class="first">Basic Application</p>
  <p>A quick live presentation of the steps to building a simple application,
  starting from the default applicationskeleton and building a quick
  ToDo list tracker application. (20 minutes)</p>
  </li>
  <li><p class="first">SDK Installation</p>
  <p>Get everyone with a laptop up to Python 2.5 and the latest version of the SDK(20 minutes - but really could vary from 2 minutes
  if everyone is prepared to longer if there are issues)</p>
  </li>
  <li><p class="first">Hello World</p>
  <p>Copy the application skeleton, review all threefiles (app.yaml, index.yaml and main.py).</p>
  <p>Run the default application skeleton in the development app server.  (20 minutes)</p>
  </li>
  <li><p class="first">Application Registration</p>
  <p>Covers thesteps required to tegister an application name to run the application under on appspot.com (10 minutes)</p>
  <p>To follow along live with this part of the tutorial will require a cellphone andwill be optional for those people that don't
  want to upload their application at this time.</p>
  </li>
  <li><p class="first">Break</p>
  </li>
  <li><p class="first">Application Configuration</p>
  <p>Cover in more detail theconfiguration of the application through the app.yaml file:  (10 minutes)</p>
  <blockquote>
  <ul class="simple">
  <li>Static Files</li>
  <li>URI Dispatch</li>
  <li>Add static files to demo application</li>
  </ul>
  </blockquote>
  </li>
  </ul>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Templates</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 79); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  Modify demo application to use the Django templating system which is included in the SDK. (10 minutes)</blockquote>
  <ul>
  <li><p class="first">Users</p>
  <p>Introduce user API and add login and logout todemo application, tie into templates. (10 minutes)</p>
  </li>
  <li><p class="first">Datastore</p>
  <p>Introduce the datastore, including the differences from a relational database, how entities are
  stored andindexed, the db.Model class and the various properties that can be added to an
  entity. Also cover expando models which allow the dynamic addition of properties.</p>
  <p>Add data storeinterface to demo application.
  (30 minutes)</p>
  </li>
  <li><p class="first">Dashboard</p>
  <p>Introduce the local SDK dashboard which allows inspecting and manipulating the local datastore
  and memcache.</p>
  <p>Introduce the web application dashboard used to monitor applications that are
  deployed, including errors, warnigns, quotas, and request logs. (10 minutes)</p>
  </li>
  </ul>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>Logging</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 104); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  Introduce the logging API and add logging to demo application. Upload
  application and view log entries via the dashboard.
  (10 minutes)</blockquote>
  <ul class="simple">
  <li>Memcache</li>
  </ul>
  <dl class="docutils">
  <dt>Introduce the memcache API and add to the demo application. Upload</dt>
  <dd>application and view performance difference via dashboard.
  (10 minutes)</dd>
  </dl>
  <ul>
  <li><p class="first">Advanced Datastore Idioms -Sharding and Paging</p>
  <p>Extra material if time permits, covers sharding entities to enable higher write throughput
  while still allowing fast reads. Unique indexes and sharding willalso be used in techiniques to
  address paging through large numbers of items. (20 minutes)</p>
  </li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM8/
title: Scrape the Web: Strategies for programming websites that don't expectit
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="scrape-the-web-strategies-for-programming-websites-that-don-t-expectit">
  <h1 class="title">Scrape the Web: Strategies for programming websites that don't expectit</h1>
  <p>Do you find yourself faced with websites that have data you need to extract?
  Would your life be simplerif you could programmatically input data into web
  applications, even those tuned to resist interaction by bots?</p>
  <p>We'll discuss the basics of web scraping, and then dive into thedetails of
  different methods and where they are most applicable.
  You'll leave with an understanding of when to apply different tools, and learn
  about a &quot;heavy hammer&quot; for screenscraping that
  I picked up at a project for the Electronic Frontier Foundation.</p>
  <p>Atendees should bring a laptop, if possible, to try the examples we discuss
  and optionally takenotes.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>By day, Asheesh Laroia is a software engineer at Creative Commons, where he uses Python extensively. He began scraping web sites in 2001 and honedhis skills in 2008 when confronted with a US Patent Office website the Electronic Frontier Foundation needed information from.
  At other times, he juggles, maintains software in Debian, andleads the Students for Free Culture
  web team. Asheesh lives in San Francisco with his stuffed dog Herbert.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees are welcome to bring theirlaptops with Python installed
  (version 2.5 or higher, preferably 2.6).  You will want BeautifulSoup
  &lt;<a class="reference external" href="http://crummy.com/software/BeautifulSoup">http://crummy.com/software/BeautifulSoup</a>&gt; and mechanize
  &lt;<a class="reference external" href="http://wwwsearch.sourceforge.net/mechanize/">http://wwwsearch.sourceforge.net/mechanize/</a>&gt; installed.
  Having Firefox and Firebug &lt;<a class="reference external" href="http://www.getfirebug.com/">http://www.getfirebug.com/</a>&gt; installed is a bonus.</p>
  <p>Suggestions: Attendees are encouraged toemail (<a class="reference external" href="mailto:scrape-pycon&#37;&#52;&#48;asheesh&#46;org">scrape-pycon<span>&#64;</span>asheesh<span>&#46;</span>org</a>)
  me before the talk with
  suggestions of websites they want to see scraped.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>Introduction: Be nice to theweb, but get the better of it</li>
  <li>Structure of HTML and XHTML</li>
  <li>Extracting information with regular expressions, parsers, and XPath</li>
  <li>HTTP: Setting User-Agent, dealing with cookies, andhandling errors</li>
  <li>Filling out forms with urllib2 and mechanize</li>
  <li>Discuss example applications: Text-to-speech, music store scraping, and more</li>
  <li>In-depth BeautifulSoup querydiscussion</li>
  <li>Expanding to more computers with Python 2.6 multiprocess and keeping your scraping stable across time</li>
  <li>Scraping dynamic &quot;AJAXy&quot; websites by truly automating a webbrowser</li>
  <li>Q&amp;A</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM6/
title: Data Storage in Python - An Overview of Options
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="data-storage-in-python-an-overview-of-options">
  <h1 class="title">Data Storage in Python - An Overview of Options</h1>
  <p>There are many possibilities inPython to store data.
  This tutorials explores some of them: flat file, Excel files,
  NetCDF and HDF5, serialization with pickle and friends, relational databases,
  bsddb and ZODB.
  Theobjective of this course is to give the participants an
  overview over available options as well as there advantages and disadvantages
  for different purposes.
  Participants are stronglyrecommended to bring
  laptops because all topics are introduced with examples and exercises.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Mike Müller lives in Leipzig, Germany and works as aconsultant, programmer and
  trainer. He programs scientific software in Python and other languages. He
  teaches Python since 2004 and since 2006 at the <a class="reference external" href="http://www.python-academy.com">Python Academy</a>. Hiscourses
  cover introductions to Python as well as special topics such as extensions or
  thread programming. Being an engineer who also works in research projects, he
  use numerousscientific Python packages on a daily basis and, therefore, also
  offers a course <a href="#id1"><span class="problematic" id="id2">`Python for Scientist and Engineers`_</span></a>.
  He is an author of <a href="#id3"><span class="problematic" id="id4">PyModelData_</span></a>, a Python package design forreading, writing
  and converting data for scientific modeling.
  When he does not program or teach, he spends time with his wife and his two
  kids or works out in the gym and runs.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>All participants should bring laptops with Linux, Windows, or Mac OS.
  Python 2.6, 2.5 or Python 2.4 need to be installed as well as an editor orIDE.</p>
  <p>The following third-party packages are needed:</p>
  <ul class="simple">
  <li><a href="#id5"><span class="problematic" id="id6">xlrd_</span></a></li>
  <li><a href="#id7"><span class="problematic" id="id8">PyExecelrator_</span></a></li>
  <li><a href="#id9"><span class="problematic" id="id10">NumPy_</span></a></li>
  <li><a href="#id11"><span class="problematic" id="id12">NetCDF_</span></a></li>
  <li><a href="#id13"><span class="problematic" id="id14">Pynetcdf_</span></a></li>
  <li><a href="#id15"><span class="problematic" id="id16">PyTables_</span></a></li>
  <li><a href="#id17"><span class="problematic" id="id18">ZODB_</span></a></li>
  </ul>
  </div>
  <div class="section" id="classoutline">
  <h1>ClassOutline</h1>
  <ul>
  <li><p class="first">Handling flat files</p>
  </li>
  <li><p class="first">Excel Files</p>
  </li>
  <li><p class="first">NetCDF Files</p>
  </li>
  <li><dl class="first docutils">
  <dt>HDF Files</dt>
  <dd><ul class="first last simple">
  <li>pyTables</li>
  <li>Basics</li>
  <li>Advanced features</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Serialization</dt>
  <dd><p class="first last">-Marshal
  - Pickle and cPickle
  - Shelve</p>
  </dd>
  </dl>
  </li>
  <li><p class="first">Relational Databases</p>
  </li>
  <li><p class="first">bsddb</p>
  </li>
  <li><p class="first">ZODB</p>
  </li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 71)</p>
  malformed hyperlink target.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 78)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <p>.._`Python for Scientist and Engineers`: <a class="reference external" href="http://www.python-academy.com/courses/python_course_scientists.html">http://www.python-academy.com/courses/python_course_scientists.html</a>
  .. <span class="target" id="pycon-2007-i">PyCon 2007_I</span>: <a class="reference external" href="http://us.pycon.org/TX2007/TutorialsAM#AM4">http://us.pycon.org/TX2007/TutorialsAM#AM4</a>
  .. <span class="target" id="pycon2007-ii">PyCon2007_II</span>: <a class="reference external" href="http://us.pycon.org/TX2007/TutorialsPM#PM4">http://us.pycon.org/TX2007/TutorialsPM#PM4</a>
  .. <span class="target" id="pycon-2008-i">PyCon 2008_I</span>: <a class="reference external" href="http://us.pycon.org/2008/tutorials/PerformatnceIMuller">http://us.pycon.org/2008/tutorials/PerformatnceIMuller</a>
  .. <span class="target" id="pycon-2008-ii">PyCon 2008_II</span>:<a class="reference external" href="http://us.pycon.org/2008/tutorials/PerformatnceIIMuller">http://us.pycon.org/2008/tutorials/PerformatnceIIMuller</a>
  .. <span class="target" id="euroscipy-2008">EuroSciPy 2008</span>: <a class="reference external" href="http://www.scipy.org/EuroSciPy2008">http://www.scipy.org/EuroSciPy2008</a>
  .. <span class="target" id="pymodeldata-presentation">PyModelData presentation</span>:<a class="reference external" href="http://www.scipy.org/EuroSciPy2008Abstracts#mmueller">http://www.scipy.org/EuroSciPy2008Abstracts#mmueller</a>
  .. _xlrd: <a class="reference external" href="http://www.lexicon.net/sjmachin/xlrd.htm">http://www.lexicon.net/sjmachin/xlrd.htm</a>
  .. _PyExecelrator: <a class="reference external" href="http://sourceforge.net/projects/pyexcelerator">http://sourceforge.net/projects/pyexcelerator</a>
  .. _NumPy:<a class="reference external" href="http://numpy.scipy.org">http://numpy.scipy.org</a>
  .. _NetCDF: <a class="reference external" href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>
  .. _Pynetcdf: <a class="reference external" href="http://sourceforge.net/project/showfiles.php?group_id=1315&amp;package_id=185504">http://sourceforge.net/project/showfiles.php?group_id=1315&amp;package_id=185504</a>
  .. _PyTables:<a class="reference external" href="http://www.pytables.org/moin">http://www.pytables.org/moin</a>
  .. _ZODB: <a class="reference external" href="http://wiki.zope.org/ZODB/FrontPage">http://wiki.zope.org/ZODB/FrontPage</a></p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 19); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;python for scientist and engineers&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 19); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;pymodeldata&quot;.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 40); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;xlrd&quot;.</div>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 41); <em><a href="#id8">backlink</a></em></p>
  Unknown target name: &quot;pyexecelrator&quot;.</div>
  <div class="system-message" id="id9">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 42); <em><a href="#id10">backlink</a></em></p>
  Unknown target name: &quot;numpy&quot;.</div>
  <div class="system-message" id="id11">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 43); <em><a href="#id12">backlink</a></em></p>
  Unknown target name: &quot;netcdf&quot;.</div>
  <div class="system-message" id="id13">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 44); <em><a href="#id14">backlink</a></em></p>
  Unknown target name: &quot;pynetcdf&quot;.</div>
  <div class="system-message" id="id15">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 45); <em><a href="#id16">backlink</a></em></p>
  Unknown target name: &quot;pytables&quot;.</div>
  <div class="system-message" id="id17">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 46); <em><a href="#id18">backlink</a></em></p>
  Unknown target name: &quot;zodb&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM5/
title: Hands on with Trac plugins
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="hands-on-with-trac-plugins">
  <h1 class="title">Hands on with Trac plugins</h1>
  <p>Trac, an open-source project management tool, has been gaining in popularity,
  however few peopletap its true potential. To fully mold Trac to your team and
  project, you must venture into the realm of custom plugins. These short (or
  not so short) bits of code allow you to customizealmost every aspect of Trac
  to your liking. Come learn how to get 110% out of your Trac system, or just
  see what Trac can do for you.</p>
  <p>Attendees should bring a laptop for the hands-onportion or the tutorial.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Noah Kantrowitz is a Trac contributor and prolific plugin producer. By day he
  is a game developer at Cryptic Studios, and is ageneral Python evangelist and
  enthusiast. He lives in Campbell, CA.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>A laptop will be needed for the hands-on portion, though sharing wouldbe
  possible if needed. Python and Trac will be required if the student wished
  to follow along with the examples.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>General Introduction (5minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Exchange names.</li>
  <li>Find experience level of participants.</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Introduction to Trac and plugin system (10 minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>trac.core.* basics (10 minutes)</li>
  </ul>
  </blockquote>
  <ul>
  <li><p class="first">Component</p>
  <blockquote>
  <ul class="simple">
  <li>ExtensionPoint</li>
  <li>implements()</li>
  <li>Interface</li>
  </ul>
  </blockquote>
  </li>
  <li><p class="first">Major interfaces (10 minutes)</p>
  </li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>IRequestHandler</li>
  <li>ITemplateProvider</li>
  </ul>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>INavigationContributor</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 55); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <ul class="simple">
  <li>The Request object</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Exercise 1: HelloWorld plugin (20 minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Break to make sure everyone has time to get caught up</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Anatomy of aplugin (5 minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Naming conventions</li>
  <li>setup.py</li>
  <li>Folder setup</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Templates (15 minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>Genshi primer (10 minutes)</li>
  <li>data dictionary</li>
  </ul>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>includes</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 77); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </blockquote>
  <ul class="simple">
  <li>Exercise 2: HelloWorld with templates (10 minutes)</li>
  <li>Database access (15 minutes)</li>
  </ul>
  <blockquote>
  <ul class="simple">
  <li>DB-API 2</li>
  <li>env.get_db_cnx()</li>
  <li>IEnvironmentSetupParticipantsnippet</li>
  <li>db_default.py</li>
  <li>Core tables</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Break (30 minutes)</li>
  <li>Exercise 3: Display all tickets (15 minutes)</li>
  <li>Request filters (15 minutes)</li>
  </ul>
  <blockquote>
  <p><a href="#id5"><span class="problematic" id="id6">*</span></a>IRequestFilter</p>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 99); <em><a href="#id6">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <ul class="simple">
  <li>ITemplateStreamFilter<ul>
  <li>Transformer</li>
  </ul>
  </li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Exercise 4: Add ticket values (10 minutes)</li>
  <li>Other important interfaces (5 minutes)</li>
  </ul>
  <blockquote>
  <p><a href="#id7"><span class="problematic" id="id8">*</span></a>ITicketActionProvider</p>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 109); <em><a href="#id8">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <ul class="simple">
  <li>IMacroProvider<ul>
  <li>WikiMacroBase</li>
  </ul>
  </li>
  <li>I*ChangeListener</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Q/A (15 minutes)</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/2PM4/
title: Advanced SQLAlchemy
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="advanced-sqlalchemy">
  <h1 class="title">Advanced SQLAlchemy</h1>
  <p>SQLAlchemy is the premier SQL toolkit for Python.  SQLAlchemy exposes
  the full power of SQL while remaining easy touse for the basics, and
  is flexible enough to work with existing database schemas as well as
  fresh designs.  SQLAlchemy is used in production by leading Python web
  frameworks Pylons andTurboGears as well as many other web and non-web
  developers.</p>
  <p>This tutorial discusses current data mapping techniques, advanced
  Query techniques, Session/transaction usage, andmaximizing schema
  usage with SQLAlchemy's event model.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Michael Bayer is a software architect in New York City and is the
  creator ofSQLAlchemy.</p>
  <p>Jason Kirtland is a software developer based in Portland, Oregon USA
  and is an author of SQLAlchemy.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Python experience:intermediate.  You should already have some
  hands-on experience with Python and be comfortable reading modern
  Python code.</p>
  <p>SQL experience: intermediate.  We will use subselects andouter joins
  as part of the SQL layer.</p>
  <p>ORM experience: prior experience with SQLAlchemy or attending the
  Introduction to SQLAlchemy tutorial is recommended.</p>
  <p>For hands-on work,Python 2.4+.  Required software will be provided at
  the session.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <div class="section" id="declarative-mapping-30-minutes">
  <h2>Declarative Mapping (30 minutes)</h2>
  <blockquote>
  <ul class="simple">
  <li>Initialconfiguration</li>
  <li>Basic mapping</li>
  <li>Building a many-to-many relation</li>
  <li>Using late-evaluated configuration arguments</li>
  <li>Mapping to a select with declarative</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="advanced-queries-40minutes">
  <h2>Advanced queries (40minutes)</h2>
  <blockquote>
  <ul class="simple">
  <li>Selecting objects, selecting columns</li>
  <li>Thinking generatively, using values()</li>
  <li>Query as a subquery, from_self()</li>
  <li>New JoinTechniques</li>
  <li>Aliases</li>
  <li>Eager loading, contains_eager()</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="session-techniques-20-minutes">
  <h2>Session Techniques (20 minutes)</h2>
  <blockquote>
  <ul class="simple">
  <li>Transaction lifecycle</li>
  <li>Using SAVEPOINT</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 66)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>-Expiring objects, attributes
  - Using scoped_session</p>
  </blockquote>
  </div>
  <div class="section" id="inheritance-mapping-40-minutes">
  <h2>Inheritance Mapping (40 minutes)</h2>
  <blockquote>
  <ul class="simple">
  <li>Single Table Inheritance</li>
  <li>Joined TableInheritance</li>
  <li>Using with_polymorphic()</li>
  <li>Using as_type()</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="all-about-events-50-minutes">
  <h2>All About Events (50 minutes)</h2>
  <blockquote>
  <ul class="simple">
  <li>MapperExtension</li>
  <li>SessionExtension</li>
  <li>Creatinglifecycle event methods</li>
  <li>Using extensions to populate denormalized views</li>
  <li>AttributeExtension</li>
  </ul>
  </blockquote>
  </div>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM4/
title: Introduction to SQLAlchemy
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="introduction-to-sqlalchemy">
  <h1 class="title">Introduction to SQLAlchemy</h1>
  <p>SQLAlchemy is the premier SQL toolkit for Python.  SQLAlchemy exposes
  the full power of SQL whileremaining easy to use for the basics, and
  is flexible enough to work with existing database schemas as well as
  fresh designs.  SQLAlchemy is used in production by leading Pythonweb
  frameworks Pylons and Turbogears as well as many other web and non-web
  developers.</p>
  <p>This tutorial teaches SQLAlchemy's object-relational mapping to
  automate painlessly loadingand persisting objects from and to your
  database, even when complex relationships exist.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Jonathan Ellis is co-author of the FormAlchemy library and
  theauthor of the SqlSoup extension to SQLAlchemy.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Python experience: intermediate.  You should already have some
  hands-on experience with Python and becomfortable reading modern
  Python code.</p>
  <p>SQL experience: beginning.  You should know how to SELECT, INSERT, and
  DELETE, and how to read queries involving JOINs, but we will onlybe
  reading the SQL generated by SA, not writing our own.</p>
  <p>ORM experience: prior experience with an object-relational mapper is
  not necessary.</p>
  </div>
  <div class="section" id="classoutline">
  <h1>ClassOutline</h1>
  <div class="section" id="introduction">
  <h2>Introduction</h2>
  <blockquote>
  <ul class="simple">
  <li>Philosophy</li>
  <li>SA features</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="fundamentals">
  <h2>Fundamentals</h2>
  <blockquote>
  <ul class="simple">
  <li>Introduction to ORM</li>
  <li>Data Mapper pattern vsActive Record</li>
  <li>Tables</li>
  <li>Mapping basics</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="queries">
  <h2>Queries</h2>
  <blockquote>
  <ul class="simple">
  <li>Conditions, operators</li>
  <li>Joins</li>
  <li>lazy / eager loading</li>
  <li>Relation-based queries</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="sessions-identity-map">
  <h2>Sessions &amp;identity map</h2>
  <blockquote>
  <ul class="simple">
  <li>detatching, attaching objects</li>
  <li>Lifecycle relations</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="more-mapping">
  <h2>More Mapping</h2>
  <blockquote>
  <ul class="simple">
  <li>one to one, many to many</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 70)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>-backreferences</p>
  </blockquote>
  </div>
  <div class="section" id="extensions">
  <h2>Extensions</h2>
  <blockquote>
  <ul class="simple">
  <li>SqlSoup</li>
  </ul>
  </blockquote>
  </div>
  </div>
  </div>


url: /2010/tutorials/schedule/2PM2/
title: py.test II - cross-platform and distributed testing
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="py-test-ii-cross-platform-and-distributed-testing">
  <h1 class="title">py.test II - cross-platform and distributed testing</h1>
  <p>Want to know more aboutadvanced automated testing with Python?
  Use a tool that allows you to ad-hoc distribute tests to multiple
  CPUs for speed and to multiple platforms for compatibility checks?
  With tonsof debugging help in failure situations?</p>
  <p>This tutorial provides in-depth information on advanced usages
  of the popular py.test tool.  We highlight its current feature set
  includingusing and writing extensions for generating HTML pages,
  testing Javascript or ReST documents.  We showcase and discuss ways
  of distributing tests across CPUs and platforms and willleave
  time to discuss and tackle specific scenarios brought up
  during the session.</p>
  <p>The tutorial format will be an interactive lecture with plenty
  of time for questions.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Brian Dorsey is a database and Python developer living in Seattle Washington,
  USA. He mostly writes command line tools, windows services and morerecntly
  simple web apps. He is a long-time user of and occasional contributor to
  py.test. He is a co-organizer of the Seattle Python Interest Group
  (www.seapig.org), a member ofwww.saturdayhouse.org and co-founder of a
  co-working space in Seattle (www.giraffelabs.com). He also loves lunch and
  created www.noonhat.com to help feed that addiction. He doesn't likenatto or
  talking about himself in the third person.</p>
  <p>Holger Krekel is a co-founder of the PyPy project and
  participates on many levels.  He is the initiator and
  maintainer of thepopular py.test and a few other tools.  In
  2004 he founded merlinux, a company focusing on PyPy and py.test
  developments.  Holger has spoken at many EuroPython and
  PyCon confereces andgave well received testing
  tutorials at EuroPython 2008 and Pycon-UK 2008.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>None Listed</p>
  </div>
  <div class="section" id="classoutline">
  <h1>ClassOutline</h1>
  <p>Terminology/Overview (20 minutes)</p>
  <ul class="simple">
  <li>developer and &quot;customer&quot; tests</li>
  <li>small/medium/big tests aka unit/functional/integration</li>
  <li>acceptance tests</li>
  <li>benefits of automated testing</li>
  <li>existing python testing tools</li>
  </ul>
  <p>Walkthrough py.test basic features (30 minutes)</p>
  <ul class="simple">
  <li>example of test module</li>
  <li>working with failures,tracebacks</li>
  <li>generative tests</li>
  <li>skipping chunks within doctests</li>
  <li>looponfailing: run large test set until all tests pass</li>
  </ul>
  <p>Using extensions (40 minutes)</p>
  <ul class="simple">
  <li>integratecollection/run of traditional unit-tests</li>
  <li>run functions in their own tempdir</li>
  <li>testing ReST documents</li>
  <li>running Javascript tests</li>
  <li>running Prolog tests</li>
  <li>html reporting fornightly runs</li>
  </ul>
  <p>Break</p>
  <p>Writing extensions (30 minutes)</p>
  <ul class="simple">
  <li>overview on extensibility</li>
  <li>per-project hooks for customization</li>
  <li>conftest.py mechanism</li>
  <li>global hooks forplugins</li>
  <li>event system for custom reporting</li>
  <li>test collection hooks</li>
  <li>test running hooks</li>
  <li>writing cross-project plugins</li>
  </ul>
  <p>Distributed testing (45 minutes)</p>
  <p>-motivation/vision
  - run your tests on multiple CPUs/multicore
  - running tests on multiple machines at once
  - running tests on windows, driven by Unix
  - do's and dont's for cross-process testing</p>
  <p>Buffer, Q&amp;A (15 minutes)</p>
  </div>
  </div>


url: /2010/tutorials/schedule/2AM2/
title: py.test I - rapid testing with minimal effort
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="py-test-i-rapid-testing-with-minimal-effort">
  <h1 class="title">py.test I - rapid testing with minimal effort</h1>
  <p>This tutorial introduces automated testingfor Python using py.test
  (<a class="reference external" href="http://codespeak.net/py/dist/test.html">http://codespeak.net/py/dist/test.html</a>).  We begin with a very short overview
  of testing in Python and where unit testing py.test fit in.  The rest ofthe
  tutorial is hands on: a short introduction of something new followed by
  exercises to experiment with it.  First is basic usage of py.test and the
  features which simplify your testwriting experience.  We walk through the
  implementation of tests, setup and tear-down of test state,  debugging
  facilities and point out similarities/differences to other test tools.  Wetalk
  about command line options which save time running and debugging your tests.
  We then drop briefly into lecture mode and discuss additional features useful
  in particularcircumstances, such as running Javascript tests, testing the
  format of text documents, or using py.test in a build system.  We will close
  with time to answer questions and discuss topicsfrom the students.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Brian Dorsey is a database and Python developer living in Seattle Washington,
  USA. He mostly writes command line tools, windows servicesand more recntly
  simple web apps. He is a long-time user of and occasional contributor to
  py.test. He is a co-organizer of the Seattle Python Interest Group
  (www.seapig.org), a member ofwww.saturdayhouse.org and co-founder of a
  co-working space in Seattle (www.giraffelabs.com). He also loves lunch and
  created www.noonhat.com to help feed that addiction. He doesn't likenatto or
  talking about himself in the third person.</p>
  <p>Holger Krekel is a co-founder of the PyPy project and
  participates on many levels.  He is the initiator and
  maintainer of thepopular py.test and a few other tools.  In
  2004 he founded merlinux, a company focusing on PyPy and py.test
  developments.  Holger has spoken at many EuroPython and
  PyCon confereces andgave well received testing
  tutorials at EuroPython 2008 and Pycon-UK 2008.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>None listed.</p>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <p>Motivation / whyautomated testing? (10 minutes)
  - what is unit testing and how does it compare to other types of testing
  - why do automated testing? benefits, etc
  - existing python testingtools</p>
  <p>What you get with py.test (10 minutes)
  - overview of all the basic benefits - automatic test discovery, simplicity, 'print' debugging (output redirection), function or class,assert introspection, etc
  - extra benefits, there if you need them, ignore if not - multiple python version, distributed testing, doctests, etc, etc
  - similarities and differences betweennose and py.test</p>
  <p>Installation, basic test functions. (30 minutes)
  - installation
  - test functions
  - 20 minute work time</p>
  <blockquote>
  <ul class="simple">
  <li>Basic setup and working through inevitablesetup problems.  Some people will finish very quickly - ask them to help others get setup.</li>
  </ul>
  </blockquote>
  <p>Basic usage of py.test (40 minutes)
  - reinterpretation of asserts
  - working with failures- debug with print
  - exceptions
  - 10 minute work time - exercises
  - test classes
  - setup and teardown test state
  - skipping tests
  - 10 minute work time -exercises</p>
  <p>Break</p>
  <p>Options (25 minutes)
  - --exitfirst
  - --looponfailing - run large test set until all tests pass
  - -k to run tests matching name or keyword
  - --exec touse different Python interpreters
  - different options to control traceback generation
  - 10 minute work time - exercises</p>
  <p>Branching out (20 minutes)
  - generative tests
  -skipping tests
  - --pdb
  - 10 minute work time - exercises</p>
  <p>Using doctests (25 minutes)
  - what are doctests
  - two usage scenarios - docstrings &amp; stand alone files
  - how theywork demo and examples.
  - 10 minute work time - exercises</p>
  <p>Wrapping up and questions (20 minutes)
  - where to go from here
  - quesitons and student topics</p>
  </div>
  </div>


url: /2010/tutorials/schedule/1PM8/
title: Introduction to Functional Web Testing With Twill &amp;Selenium
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="introduction-to-functional-web-testing-with-twill-selenium">
  <h1 class="title">Introduction to Functional Web Testing With Twill &amp;Selenium</h1>
  <p>This tutorial aims to educate attendees on the the basics of functional testing
  of web applications. Is yourapp rendered as plain HTML? Great! We'll show you
  how to build a test suite for it. Is your app all AJAXy? No problem! We can do
  that too! We're going to write a web application, first instraight html and then
  with AJAX, and show you how to try to break it. At the end of this hands-on session,
  you'll be able to write tests for almost any web site, using all open-sourcetools
  and our favorite language - Python.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Pam Zerbinos lives in Evanston with a handful of cats. She works for Leapfrog Online,
  LLC as a QualityAssurance Manager with her primary focus on developing and managing
  a test suite that tests hundreds of websites with the push of a button. She spends
  most of her free time cleaning upafter her cats and writing scripts for
  delicious.com.</p>
  <p>Terry Peppers lives in Evanston, IL with his wife, son and two cats. He works as
  the Director of Operations for LeapfrogOnline, LLC managing a team of Test and
  System Engineers. His primary use of Python is in the creation of extensive
  automated functional test suites for web applications. He's an activeuser of
  both Nose and Twill. Prior to his functional test infection, Terry was also a
  Project Manager and Producer in the publishing industry. He's been known to
  dabble in music onthe side.</p>
  <p>Kevin Boers lives in Atlanta, IL and is allergic to cats. He is currently a
  Quality Assurance Manager at Leapfrog Online LLC. Kevin's speciality is in
  writing automatedfunctional test suites for Leapfrog's vast array of direct
  marketing websites. Since 2000, he has also worked in QA for Encyclopaedia
  Britannica, Inc., where he built a comprehensivefunctional test architecture
  for their stable of educational and research-based web sites. When not working,
  Kevin likes to rock out on a fake, child-sized, plasticguitar.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <ul>
  <li><p class="first">Hardware</p>
  <ul class="simple">
  <li>Laptop highly recommended; if you don't have one, come prepared to pair up with someone</li>
  </ul>
  </li>
  <li><p class="first">Software</p>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a><a class="reference external" href="http://python.org/download/">Python 2.4.5 - 2.5.2</a>
  * <a class="reference external" href="http://somethingaboutorange.com/mrl/projects/nose/">nose 0.10.4</a>
  * <a class="reference external" href="http://twill.idyll.org">twill 0.9.0</a>
  <a href="#id3"><span class="problematic" id="id4">*</span></a><a class="reference external" href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup 3.0.6</a>
  * <a class="reference external" href="http://selenium-rc.openqa.org/">Selenium RC 1.0 Beta 1</a>
  * <a class="reference external" href="http://selenium-ide.openqa.org/">Selenium IDE 1.0 Beta 2</a>
  * <a class="reference external" href="http://www.mozilla.com/firefox/">Firefox 3</a>
  * Some kind of terminal</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 45); <em><a href="#id2">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 45); <em><a href="#id4">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  </li>
  </ul>
  </div>
  <div class="section" id="class-outline">
  <h1>Class Outline</h1>
  <ul class="simple">
  <li>Introduction:<ul>
  <li>Functional WebTesting</li>
  </ul>
  </li>
  <li>Part I: Testing Straight HTML Sites<ul>
  <li>Basics of nose-style tests with twill</li>
  <li>Coding session: Break our web application</li>
  </ul>
  </li>
  <li>Part II: Upping the Ante WithAJAX<ul>
  <li>Basics of Selenium IDE and Selenium RC</li>
  <li>Coding session: Break our web 2.0 application</li>
  </ul>
  </li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/1PM7/
title: Building Real-time Network applications for the web with Twisted andOrbited
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="building-real-time-network-applications-for-the-web-with-twisted-andorbited">
  <h1 class="title">Building Real-time Network applications for the web with Twisted andOrbited</h1>
  <p>Haven't you always wanted to create a massively multiplayer, real-time game
  for the browser? Orperhaps add chat to your website, or maybe write a real-time
  financial application, collaborative text editor, or network health monitoring
  app, all in the browser. Forget web frameworks;Orbited.TCPSocket lets you
  communicate directly from a browser to any network server, with any protocol you
  want. By tutorial's end, every attendee will have built their own real-timedata
  monitoring application, or multiplayer game, from scratch using Orbited, Twisted,
  and js.io.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Michael Carter is a web technology innovator locatedin Mountain View, CA, currently
  working for OSSLine (www.ossline.org), a Non-profit that provides legal and technical
  infrastructure to Open Source projects. He is the Founder and LeadDeveloper of
  Orbited (<a class="reference external" href="http://www.orbited.org">http://www.orbited.org</a>), a Python-based Comet server, as well as MorbidQ,
  messaging for python (<a class="reference external" href="http://www.morbidq.com">http://www.morbidq.com</a>), and the JavaScript network client
  library js.io (<a class="reference external" href="http://js.io">http://js.io</a>) which aspires to be the Twisted of JavaScript. As an
  officially recognized contributor to the W3C HTML5 specification, he is dedicated
  to standardizinghis technical advances. Michael has spoken about his work
  constantly for the past two years at venues such as Pycon, OSCON, Ajax Experience,
  AjaxWorld, as well as python interest groupsacross the country. He is passionate
  about turning the browser into a first-class network client, and evangelizes Comet
  and Orbited.TCPSocket with bi-weekly publications for the onlinetechnical
  publication CometDaily. (<a class="reference external" href="http://www.cometdaily.com">http://www.cometdaily.com</a>). He thinks web frameworks are
  pretty cool, but believes in wholly discarding them when developing real-time
  applications.</p>
  <p>Frank Salim is a Mountain View, CA based free range programmer who loves the web
  and Free Software. He is a Contributor to Orbited (<a class="reference external" href="http://www.orbited.org">http://www.orbited.org</a>), the
  Python Comet server, and a founding contributor of the JavaScript network client
  library js.io (<a class="reference external" href="http://js.io">http://js.io</a>) which aspires to be the Twisted of JavaScript. Frank's
  most interestingrecent side-project is pickle.js, a python pickle serializer and
  deserializer for JavaScript. Frank is busy inventing the next wave of internet
  technology so that you don't haveto.</p>
  <p>Jacob Rus is a government student at Harvard College. After two years studying
  mathematics at Harvard, he spent a year working for One Laptop per Child, in
  Cambridge, MA,splitting his time between user interface design, Python and C
  programming, and writing. He spent a second year as a full-time developer for
  Orbited, working to bring real-timeapplications to the web. Jacob has since
  returned to complete his degree in Harvard's government department, but continues
  to discuss the future of web standards and the real-time web inthe technical
  publication Comet Daily. Besides mathematics, political science, and web
  programming, Jacob has a passion for information design and visual communication,
  particularlycartography, and is an avid photographer and photo retoucher. He is
  always prepared for a game of volleyball, ping pong, risk, Go, or bughouse.</p>
  <p>Mario Balibrera is the lead developer ofthe dez and rel asynchronous network
  libraries. He is a heave contributor to Orbited (<a class="reference external" href="http://www.orbited.org">http://www.orbited.org</a>), the
  Python Comet server, as well as the JavaScript network library js.io(<a class="reference external" href="http://js.io">http://js.io</a>)
  which aspires to be the Twisted of JavaScript. When not developing python
  software, Mario is playing chess or writing music. Be sure to check out his
  latest work athttp://www.mariobalibrera.com.</p>
  <div class="section" id="requirements">
  <h2>Requirements</h2>
  <blockquote>
  <ul class="simple">
  <li>Programmers should be comfortable with python.</li>
  <li>Programmers are required to have a basic familiarity withJavaScript, HTML, and CSS, though advanced knowledge isn't necessary.</li>
  <li>Laptop strongly recommended, but pair programming encouraged</li>
  <li>Python 2.5+</li>
  <li>Orbited 0.7.1+(<a class="reference external" href="http://cheeseshop.python.org/pypi/orbited">http://cheeseshop.python.org/pypi/orbited</a>)</li>
  <li>Twisted 8.10+ (<a class="reference external" href="http://www.twistedmatrix.com">http://www.twistedmatrix.com</a>)</li>
  <li>Firefox 3.1+ (<a class="reference external" href="http://www.firefox.com">http://www.firefox.com</a>)</li>
  <li>Firebug 1.2+(<a class="reference external" href="http://www.getfirebug.com">http://www.getfirebug.com</a>)</li>
  <li>js.io (<a class="reference external" href="http://js.io">http://js.io</a>) (ships with Orbited, no need to download separately)</li>
  <li>Wireshark</li>
  </ul>
  </blockquote>
  </div>
  <div class="section" id="class-outline">
  <h2>Class Outline</h2>
  <blockquote>
  <p>Part 1: NewArchitecture for the web</p>
  <ol class="upperroman">
  <li><dl class="first docutils">
  <dt>Network programming overview (20 min)</dt>
  <dd><ol class="first last upperalpha">
  <li><p class="first">Sockets ( 5 min )</p>
  </li>
  <li><dl class="first docutils">
  <dt>Protocols ( 10 min )</dt>
  <dd><p class="first last">1. UDP vs. TCP
  2.Framing
  3. Synchronicity
  4. State
  5. Text and Binary</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Architecture ( 5 min )</dt>
  <dd><p class="first last">We examine some basics of networkarchitecture -- this should be review for most network programmers. This isn't the heart of the tutorial, but its very important to have some context on the architecture we are aspiring to mimicin this tutorial.</p>
  </dd>
  </dl>
  </li>
  </ol>
  </dd>
  </dl>
  </li>
  <li><p class="first">Dominant Web Framework style architecture (20 min)
  A. Overview ( 5 min)
  B. Comparison: Django, PHP, Pylons / Turbogears, Java Servlets ( 5min)
  C. Real-time communication - Comet (10 min)</p>
  </li>
  <li><p class="first">The Big Problem: Scalability and Practicality of Real-time applications (30 min)</p>
  </li>
  </ol>
  <blockquote>
  <ol class="upperalpha simple">
  <li>Stateless vs.Stateful. (10 min)</li>
  <li>Scalability and Statefulness ( 10 min)</li>
  </ol>
  </blockquote>
  <ol class="upperroman simple" start="4">
  <li>Practical approach to the problem (20)
  This is the good part! We've already looked at thebackground and basic shape of the problem domain, lets cement that knowledge with hands on software building.
  A. Teaming up (5 minutes)
  B. Workflow (10 minutes)</li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 101)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <ol class="upperalpha" start="3">
  <li><p class="first">Hello World Echo Server and Client with the browser (10 minutes)</p>
  <blockquote>
  <p>BREAK!</p>
  <dl class="docutils">
  <dt>Part 2: Writing the application</dt>
  <dd><p class="first">Choose between two goals:</p>
  <dl class="docutils">
  <dt>GroupA:</dt>
  <dd><p class="first last">Create a real-time monitoring application. This application presents the user with a browser based GUI for monitoring various server analytics data in real-time. We display thedata as graphs, grids, and custom views, as relevant. The tutorial guides developers in building the basic infrastructure for the app, as well as three types of analytics: CPU usage, memoryusage, and log file statistics. The final phase of the tutorial lets each team choose one final data source and GUI element of their choice to implement.</p>
  </dd>
  </dl>
  <p class="last">Group B:</p>
  </dd>
  </dl>
  </blockquote>
  </li>
  </ol>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 112)</p>
  Enumerated list ends without a blank line; unexpected unindent.</div>
  <p>Create a real-time browser-based game. In line with our retro outlook on network architecture, we'll be putting together a simple RPG game which lets users create characters, fight each other,and level up. After we build the basic GUI and features as a group, the last 45 minutes are left to the user</p>
  <blockquote>
  <p>We now split into two separate groups</p>
  <ol class="upperroman">
  <li><dl class="first docutils">
  <dt>Demo (5minutes)</dt>
  <dd><p class="first last">See an example of the finished product.</p>
  </dd>
  </dl>
  </li>
  <li><p class="first">Process Overview (15 minutes)
  This section is a fifteen minute overview that describeshow you are going to build the Demo. You need to see the big picture before we dive directly into code.
  A. Client responsibilities
  B. Server responsibilities</p>
  </li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 123)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <ol class="upperroman" start="3">
  <li><p class="first">Building the Application as a Group (70 minutes)</p>
  <blockquote>
  <blockquote>
  <dl class="docutils">
  <dt>GroupA:</dt>
  <dd><ol class="first last upperalpha simple">
  <li>Character creation</li>
  <li>Building the world</li>
  <li>Worldnavigation</li>
  <li>Chat</li>
  <li>Battle System</li>
  </ol>
  </dd>
  <dt>GroupB:</dt>
  <dd><p class="first last">A. Acquiring data and printing to the command line
  B.Broadcasting data over STOMP with MorbidQ
  C. Receiving Data in the browser and logging it
  D. Visualizing the Data (GUI)
  E. Customizingdata feeds from the client</p>
  </dd>
  </dl>
  </blockquote>
  <ol class="upperroman simple" start="4">
  <li>Adding a custom feature (20 minutes)
  Each group breaks out for 20 minutes to add their own feature.</li>
  </ol>
  </blockquote>
  </li>
  </ol>
  </div>
  </div>
  </div>


url: /2010/tutorials/schedule/1PM6/
title: A Curious Course on Coroutines and Concurrency
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="a-curious-course-on-coroutines-and-concurrency">
  <h1 class="title">A Curious Course on Coroutines and Concurrency</h1>
  <p>If you are a programmer who cares aboutPython and concurrency, then
  you should also care about Python coroutines.  Although they were
  first introduced in Python 2.5, coroutines remain one of Python's most
  overlooked features---often vaguely described as a curious &quot;extension&quot;
  of generator functions with little insight as to how they might be
  applied to real-world problems.  This tutorial examines coroutinesin
  a more practical light by showing how they are actually a very elegant
  way to implement a processing &quot;task.&quot;  Using this task abstraction, it
  is possible to use coroutines toimplement processing pipelines, event
  handling systems, and programs based on cooperative multitasking.
  Moreover, if you define tasks using coroutines, they can be easily
  incorporatedinto more traditional concurrent programs that utilize
  threads or message passing.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>David Beazley is the author of the &quot;Python Essential Reference&quot; andan
  independent Python trainer. A long time member of the Python
  community, David was involved with much of the early work in applying
  Python to high performance scientific software. Hehas also created a
  number of Python-related software development tools including SWIG and
  PLY. David is a member of the Python Software Foundation. He livesin
  Atlanta.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees should bring their laptop computer with Python 2.5 or newer
  installed.  No third party packages are required.</p>
  </div>
  <div class="section" id="classoutline">
  <h1>ClassOutline</h1>
  <ol class="arabic simple">
  <li>An introduction to coroutines.</li>
  <li>An introduction to tasks and concurrency.</li>
  <li>Coroutines as tasks.</li>
  <li>Why coroutines are an elegant taskabstraction.</li>
  <li>Coroutines and data flow processing.</li>
  <li>Coroutines and event dispatching.</li>
  <li>Coroutines and threads.</li>
  </ol>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 43)</p>
  Enumerated list ends without a blank line; unexpected unindent.</div>
  <p>8. Coroutines, subprocesses, and distributed systems.
  9.Coroutine scheduling and cooperative multitasking.
  10. Resources.</p>
  </div>
  </div>


url: /2010/tutorials/schedule/1PM5/
title: Intermediate Turbogears
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="intermediate-turbogears">
  <h1 class="title">Intermediate Turbogears</h1>
  <p>Have you conquered the basics of Pylons/TurboGears2 (or just taken the
  morning class)?</p>
  <p>Do you wantto understand more about how everything works, and how you
  can go beyond the basics to understand how to customize things?</p>
  <p>This class will take you from a basic understanding of how touse the
  framework, to a clear picture of how the framework pieces are put
  together.</p>
  <p>I will also cover how to create REST+JSON based web services, we'll
  focus particularly on howall this works with rich javascript based
  user interfaces, but the techniques should easily apply to Flex, or
  other &quot;Rich Internet Application&quot; tools.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>MarkRamm is the author of Rapid Web Applications with TurboGears, the
  leader of the TurboGears 2 project, and has presented at PyCon for the
  last three years, including a four previoustutorials.  He's a Senior
  Software developer at Predictix, inc, and is the founder of Compound
  Thinking, which focused on Python training, consulting andsoftware
  development.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees should bring their laptops with Python version
  2.5 or 2.6 and TurboGears 2 installed.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Understanding WSGI
  * Middleware, and the WSGI stack
  * Getting started with TurboGears
  * Connecting to databases with SQLALchemy
  * Get your questions answered by the experts!</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 36); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/1PM2/
title: Django in the Real World
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="django-in-the-real-world">
  <h1 class="title">Django in the Real World</h1>
  <p>There's plenty of material (documentation, blogs, books) out there that'll help
  you write a siteusing Django... but then what? You've still got to test,
  deploy, monitor, and tune the site; failure at deployment time means all your
  beautiful code is for naught. This tutorial examineshow best to cope when the
  Real World intrudes on your carefully designed website.</p>
  <div class="section" id="presenters">
  <h1>Presenters</h1>
  <p>Jacob Kaplan-Moss is one of the lead developers of Django. At his day job,he's
  a software architect for Whiskey Media, one of those newfangled Web One-Point-Oh
  companies you've read so much about. A good deal of Jacob's work time is devoted
  to working onDjango. Jacob previously worked for the Lawrence Journal-World, a
  locally-owned newspaper in Lawrence, KS where Django was developed.</p>
  <p>James Bennett is a developer at the LawrenceJournal-World and the release
  manager for Django. He's the proprietor of djangosnippets.org, a site where
  Django users share useful snippets of reusable code, and the author of agrowing
  number of Django add-ons. He blogs at b-list.org and is the author of
  Practical Django Projects (Apress, 2008).</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>None specifically. However,those with Django or Python-based applications in or
  nearing production should expect to get the most out of this tutorial.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul>
  <li><dl class="first docutils">
  <dt>[5 min] Introduction</dt>
  <dd><ul class="first last simple">
  <li>Who weare, and about the sites we'll talking about.</li>
  <li>Overview of the problems that face web operations.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[30 min]  Structuring your app for deployment</dt>
  <dd><ul class="first last">
  <li><p class="first">Laying out settings,applications, and reusable components.</p>
  </li>
  <li><p class="first">Separating pieces for reuse.</p>
  </li>
  <li><dl class="first docutils">
  <dt>Managing reusable components ...</dt>
  <dd><ul class="first last simple">
  <li>... internally developed.</li>
  <li>... externallydeveloped.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Extending external projects ...</dt>
  <dd><ul class="first last simple">
  <li>... without patching.</li>
  <li>... if you must patch.</li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[15 min] Testing</dt>
  <dd><ul class="first last">
  <li><dl class="first docutils">
  <dt>&quot;Internal&quot; tests</dt>
  <dd><p class="first"><a href="#id1"><span class="problematic" id="id2">*</span></a>Unit tests/doctests
  * Functional tests</p>
  <div class="last system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 48); <em><a href="#id2">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>&quot;External&quot; tests</dt>
  <dd><ul class="first last simple">
  <li>Spiders, crawlers, and users.</li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[20 min] Production environments</dt>
  <dd><ul class="first last simple">
  <li>System-levellayout and best practices.</li>
  <li>Cluster design.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[40 min] Deployment</dt>
  <dd><ul class="first last">
  <li><p class="first">Fundamental principles of repeatable deployments.</p>
  </li>
  <li><dl class="first docutils">
  <dt>Getting code onto productionservers...</dt>
  <dd><ul class="first last simple">
  <li>... by hand.</li>
  <li>... with <a class="reference external" href="http://capify.org/">Capistrano</a>.</li>
  <li>... with <a class="reference external" href="http://www.nongnu.org/fab/">Fabric</a>.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Managing dependancies on production servers ...</dt>
  <dd><ul class="first last simple">
  <li>... byhand.</li>
  <li>... with <a class="reference external" href="http://pypi.python.org/pypi/virtualenv">virtualenv</a> and <a href="#id5"><span class="problematic" id="id6">pip_</span></a>.</li>
  <li>... with <a class="reference external" href="http://pypi.python.org/pypi/zc.buildout">zc.buildout</a>.</li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[30 min] Setting up application servers</dt>
  <dd><ul class="first last">
  <li><dl class="first docutils">
  <dt>Apache ...</dt>
  <dd><ul class="first last simple">
  <li>... and <a class="reference external" href="http://www.modpython.org/">mod_python</a>.</li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>... and <a class="reference external" href="http://code.google.com/p/modwsgi/">mod_wsgi</a>.</dt>
  <dd><ul class="first last">
  <li><dl class="first docutils">
  <dt>Other options</dt>
  <dd><ul class="first last simple">
  <li>FastCGI.</li>
  <li>nginx and mod_wsgi.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Load balancing</dt>
  <dd><ul class="first simple">
  <li>Why it's important.</li>
  <li>Perbal.</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 78)</p>
  <p>Bullet list ends without a blank line; unexpected unindent.</p>
  </div>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a><a href="#id7"><span class="problematic" id="id8">nginx_</span></a>.</p>
  <div class="last system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 78); <em><a href="#id4">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[15 min] Monitoring production sites.</dt>
  <dd><ul class="first last simple">
  <li>Uptime monitoring</li>
  <li>Performance monitoring</li>
  <li>Logging and log handing.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>[30 min] Performance andtuning</dt>
  <dd><ul class="first last">
  <li><p class="first">Why performance isn't about optimization.</p>
  </li>
  <li><dl class="first docutils">
  <dt>Caching: the performance secret weapon.</dt>
  <dd><ul class="first last simple">
  <li>Low-level caching.</li>
  <li>Page-level caching.</li>
  <li>Site-widecaching.</li>
  <li>External caching.</li>
  </ul>
  </dd>
  </dl>
  </li>
  <li><p class="first">Application server tuning</p>
  </li>
  <li><p class="first">Database server tuning</p>
  </li>
  <li><dl class="first docutils">
  <dt>Profiling Python apps ...</dt>
  <dd><ul class="first last simple">
  <li>... with cProfile.</li>
  <li>... withDTrace</li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  </dd>
  </dl>
  </li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 103)</p>
  malformed hyperlink target.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 107)</p>
  malformed hyperlink target.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 110)</p>
  malformed hyperlink target.</div>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 65); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;pip&quot;.</div>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 78); <em><a href="#id8">backlink</a></em></p>
  Unknown target name: &quot;nginx&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM8/
title: Working with Excel files in Python
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="working-with-excel-files-in-python">
  <h1 class="title">Working with Excel files in Python</h1>
  <p>Too many people in the Python community think the only way to work withExcel files
  in Python is using COM on Windows.
  This tutorial will introduce xlrd and xlwt, a pair of python packages for reading
  and writing Excel files in pure python that runs on anyplatform.</p>
  <p>We'll go through the process of reading excel files to extract data and formatting,
  writing excel files and filtering existing excelfiles.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Chris has been wrestling snakes for almost a decade now. This has predominantly
  been with Zope but has branched out into the wider world of Python webframeworks
  and general Python programming as Zope has slowly tried to relinquish its status
  as the pariah of the Python world.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>You'll need a laptopwith Python already installed to get the most out of this
  tutorial.
  Feel free to bring along any Excel-related problems you'd like to solve as
  there'll be a section at the end just forthis!</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>Introduction: No need for COM, here's xlrd and xlwt!</li>
  <li>Reading Excel Files</li>
  <li>Writing Excel Files</li>
  <li>Filtering Excel Files</li>
  <li>Workshop for yourproblems</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM5/
title: Introduction to TurboGears2 &amp; WSGI
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="introduction-to-turbogears2-wsgi">
  <h1 class="title">Introduction to TurboGears2 &amp; WSGI</h1>
  <p>Are you interested in building web applications with modern libraries
  andtools?   Do you want to build on top of the work that many others
  have done? Have you done some basic web development, but want to be
  more productive.  If so this is the class foryou.</p>
  <p>TurboGears 2 provides a well defined set of the best libraries for web
  development python has to offer.  But more importantly it brings them
  together in a clean, well documentedway that allows for developing
  reusable TurboGears 2 components. The result is a powerful, flexible,
  set of tools that helps make it easy to build dynamicweb
  applications.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Mark Ramm is the author of Rapid Web Applications with TurboGears, the
  leader of the TurboGears 2 project, and has presented at PyCon forthe
  last three years, including a four previous tutorials.  He's a Senior
  Software developer at Predictix, inc, and is the founder of Compound
  Thinking, which focused on Python training,consulting and software
  development.</p>
  </div>
  <div class="section" id="requirements">
  <h1>Requirements</h1>
  <p>Attendees should bring their laptops with Python version
  2.5 or 2.6 and TurboGears 2installed.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>Understanding WSGI</li>
  <li>Middleware, and the WSGI stack</li>
  <li>Getting started with TurboGears</li>
  <li>Connecting to databases with SQLALchemy</li>
  <li>Get yourquestions answered by the experts!</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/schedule/1AM4/
title: Using Twisted Deferreds
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="using-twisted-deferreds">
  <h1 class="title">Using Twisted Deferreds</h1>
  <p>While the documentation about deferreds is good, it is still not enough
  for many. In thisinteractive tutorial, I will cover both the basics
  of deferreds and many non-trivial use-cases, with discussion of various
  approaches. Common mistakes, gotchas and other issues will beexplained,
  as well as good idioms and techniques to use deferreds without pain.
  Deferreds bring asynchronous APIs the clarity and programming
  power that is sometimes lost when usingevent-based programming. They are an idea taken from many other programming languages,
  and made into a Pythonic solution</p>
  <p>If you are using Twisted, or would like to use Twisted,
  thistutorial can help you
  with one of the most subtle issues inherent in its APIs - Deferreds.</p>
  <div class="section" id="presenter">
  <h1>Presenter</h1>
  <p>Moshe Zadka is a full-time Python programmer working for VMwareIsrael.
  He is one of first developers for the Twisted project and has used it
  ever since. His current job entails using Twisted and helping the other
  programmers in the VMware Israelteam learn and use Twisted. Moshe lives
  in Herzliyah, Israel, near the sea.</p>
  </div>
  <div class="section" id="outline">
  <h1>Outline</h1>
  <ul class="simple">
  <li>Introduction</li>
  <li>Knowing the Rules</li>
  <li>What you always wanted to know and wereafraid to ask</li>
  <li>Returning deferreds</li>
  <li>Deferred chains</li>
  <li>Real-life example</li>
  <li>Deferred Generators</li>
  <li>Deferreds and Threads</li>
  <li>Summary</li>
  <li>Q&amp;A</li>
  <li>Buffer: Deferred-orientedAPI</li>
  </ul>
  </div>
  </div>


url: /2010/tutorials/1AM1/
title: Tutorial 1AM1
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="tutorial-1am1">
  <h1 class="title">Tutorial 1AM1</h1>
  </div>


url: /2010/conference/talks/
title: Scheduled Talks
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="scheduled-talks">
  <h1 class="title">Scheduled Talks</h1>
  <p>The PyCon Program Committee finished selecting talks for the 2010 conference program on December 15th. A list of accepted talks willbecome available on this page in the coming days.</p>
  </div>


url: /2010/chicago/chipy/
title: ChiPy: The Atlanta Python User Group
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="chipy-the-atlanta-python-user-group">
  <h1 class="title">ChiPy: The Atlanta Python User Group</h1>
  <p>ChiPy members are helping to organize PyCon 2010.  Ifyou're
  in the Atlanta area, please drop by!</p>
  <p><a class="reference external" href="http://www.chipy.org">ChiPy home page &amp; meeting announcements</a></p>
  </div>


url: /2010/panels/obama/
title: Panel: Fictitious Obama Panel
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="panel-fictitious-obama-panel">
  <h1 class="title">Panel: Fictitious Obama Panel</h1>
  <p>Just testing the google moderator integration to see if people likeit.</p>
  <p>some other description information here....</p>
  <p>Any wiki page can easily have a moderator section added with no code change.
  Other pages would require a template codechange.</p>
  <p>No I can't change the font size or style. I am cheating and loading the
  'presentation view' in an iframe. That and a link are the only ways to integrate
  moderator into yoursite.</p>
  </div>


url: /2010/site/howto/
title: Maintaining the PyCon Web Site
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="maintaining-the-pycon-web-site">
  <h1 class="title">Maintaining the PyCon Web Site</h1>
  <p>Anyone can help, regardless of your skill level.
  We need raw content, so if youcan type some text, we can use your help.
  If you can edit what someone else has typed and make it look pretty, great!
  If you want to help code the underlying mechanics, we need thattoo.</p>
  <p>You'll need an account on this website, and you should subscribe to the
  pycon-organizers mailing list.  <a class="reference external" href="/2010/helping/">Click here for instructions.</a></p>
  <div class="section" id="reporting-bugs-issues">
  <h1>Reporting Bugs &amp; Issues</h1>
  <p>One of the easiest ways to help is to simply look around the site,
  find things that should be fixed, and reportthem.</p>
  <p>Use the <a class="reference external" href="https://pycon.coderanger.net/">PyCon-Tech issue tracker</a>,
  see <a class="reference external" href="/2010/helping/bugs/">Reporting Bugs</a> for details.</p>
  </div>
  <div class="section" id="editingpages">
  <h1>EditingPages</h1>
  <p>Most of this site is a wiki, so adding/fixing content is very easy.</p>
  <p>First you will need to get an account and site access
  <a href="#id12"><span class="problematic" id="id13">`as described here&lt;/2010/helping/&gt;`_</span></a>.
  Then log in and you will see an &quot;Edit&quot; button on most pages in the bottom left corner.
  That is all you need to do to fix typos or add some descriptions.</p>
  <p>Thereis <a class="reference external" href="https://pycon.coderanger.net/query?status=new&amp;status=assigned&amp;status=reopened&amp;component=website&amp;order=priority">a list of open tickets for the website</a>.</p>
  <p><strong>To add links</strong>, eitherinsert the URL (<tt class="docutils literal"><span class="pre">http://</span></tt> etc.) directly,
  or use this syntax:</p>
  <pre class="literal-block">
  `display text &lt;URL&gt;`_
  </pre>
  <p>The URL may be relative to the page you're editing (<tt class="docutils literal"><span class="pre">subpage/</span></tt>, <tt class="docutils literal"><span class="pre">../sibling/</span></tt>),
  absolute on the site (<tt class="docutils literal"><span class="pre">/2010/.../</span></tt>), or fully qualified (<tt class="docutils literal"><span class="pre">http://...</span></tt>).</p>
  <p><strong>To create a page</strong>, enter the new URL in your browser.
  You'll see a &quot;404: Page not found&quot; messageand a &quot;Create Page&quot; button.
  Click the button and add text.
  Each page should begin with a document title, like this:</p>
  <pre class="literal-block">
  ===============
  Page Title Here
  </pre>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 55)</p>
  Literal block ends without a blank line; unexpected unindent.</div>
  <hr class="docutils" />
  <p>The lines of &quot;=&quot; (equals signs) above &amp; below the title must be the same length,
  at least as long as the title text.</p>
  <p><strong>If you're not sure about the markup,don't worry</strong>;
  someone will add it or clean it up.
  For instructions on <a href="#id14"><span class="problematic" id="id15">reStructuredText_</span></a>, the markup used for these pages,
  please see one or more of the links below:</p>
  <dl class="docutils">
  <dt><a href="#id1"><span class="problematic" id="id2">*</span></a><a href="#id6"><span class="problematic" id="id7">`reStructuredText Cheat Sheet`__</span></a> (text</dt>
  <dd><div class="first system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 68); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p class="last">only; 1 page for syntax, 1 page directive &amp; role reference)</p>
  </dd>
  </dl>
  <ul>
  <li><p class="first"><a href="#id6"><span class="problematic" id="id8">`QuickreStructuredText`__</span></a> (user reference)</p>
  </li>
  <li><p class="first"><a href="#id6"><span class="problematic" id="id9">`A ReStructuredText Primer (HTML)`__</span></a> (or <a href="#id6"><span class="problematic" id="id10">`text source`__</span></a>)</p>
  <p>__http://docutils.sf.net/docs/user/rst/quickstart.html
  __ <a class="reference external" href="http://docutils.sf.net/docs/user/rst/quickstart.txt">http://docutils.sf.net/docs/user/rst/quickstart.txt</a></p>
  </li>
  <li><p class="first"><a href="#id6"><span class="problematic" id="id11">`reStructuredText Markup Specification`__</span></a> (detailed reference)</p>
  </li>
  </ul>
  </div>
  <div class="section" id="editing-menus-navigation-bar">
  <h1>Editing Menus (Navigation Bar)</h1>
  <p>See <a class="reference external" href="https://pycon.coderanger.net/wiki/PyCon08/NavBar">the instructions for the NavBar system</a>.</p>
  </div>
  <div class="section" id="adding-public-files">
  <h1>Adding Public Files</h1>
  <p>To add files to the site (pdf files, images, etc) which are not partof
  the core design, you must add them to public folder in the pycon organizers
  subversion repository at:</p>
  <blockquote>
  svn+ssh://pycon&#64;svn.python.org/pycon/2010/public/</blockquote>
  <p>In order to getaccess to this repository you must send your SSH public key
  to David Goodger &lt;goodger (at) python dot org&gt;. Once you commit changes to
  the repository, you must send an e-mail to DougNapoleone
  &lt;doug.napoleone (at) gmail dot com&gt;
  to update the data on the web server, to make the change visible.</p>
  </div>
  <div class="section" id="rss-feeds">
  <h1>RSS Feeds</h1>
  <p>RSS2 feeds are available for the`Recent Changes`_ page and for the history
  lists of individual pages. The RSS link is the same as the page URL with '?feed=rss2'
  appended (e.g. <a class="reference external" href="/2010/recent/?feed=rss2">/2010/recent/?feed=rss2</a>,`&lt;/2010/about/?feed=rss2&gt;`_).</p>
  <p>Atom feeds can be added later, if someone wants to add them.</p>
  </div>
  <div class="section" id="about-this-site-pycon-tech">
  <h1>About This Site (PyCon-Tech)</h1>
  <p>This site isbased on Django.  That means it is very easy to set up your own
  local copy: install Python, Django, and grab the source to this site from SVN.
  But first you might want to watch
  the30 min screencast Doug Napoleone created about this site,
  <a class="reference external" href="http://www.showmedo.com/videos/video?name=540040;fromSeriesID=54">A ReST Wiki for PyCon2008</a> (slightly out of date; for instance, we no longer
  allow anonymous editing).</p>
  <p>Then follow theSVN instructions: <a class="reference external" href="https://pycon.coderanger.net/#InstallingPyCon-Tech">https://pycon.coderanger.net/#InstallingPyCon-Tech</a>.
  Get the development server running, then poke around on your version of
  the site and in the admin.</p>
  <p>If you'dlike to contribute to the PyCon-Tech development, please subscribe to
  <a class="reference external" href="http://mail.python.org/mailman/listinfo/pycon-tech">the pycon-tech mailing list</a>.</p>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 134)</p>
  malformed hyperlink target.</div>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 138)</p>
  malformed hyperlink target.</div>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id6">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em>backlinks: <a href="#id7">1</a>, <a href="#id8">2</a>, <a href="#id9">3</a>, <a href="#id10">4</a>, <a href="#id11">5</a></em></p>
  Anonymous hyperlink mismatch: 5 references but 3 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id12">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 32); <em><a href="#id13">backlink</a></em></p>
  Unknown target name: &quot;as described here&lt;/2010/helping/&gt;&quot;.</div>
  <div class="system-message" id="id14">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 60); <em><a href="#id15">backlink</a></em></p>
  Unknown target name: &quot;restructuredtext&quot;.</div>
  </div>
  </div>


url: /2010/conference/proposals/rant/
title: Doug's Program Committee Rant from 2007
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="doug-s-program-committee-rant-from-2007">
  <h1 class="title">Doug's Program Committee Rant from 2007</h1>
  <p>..contents:</p>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 7)</p>
  Literal block expected; none found.</div>
  <div class="section" id="who-we-are">
  <h1>Who We Are</h1>
  <p>With most professional technical conferences, proposals and papers are
  peer-reviewed, and often presenters need to be known andpublished
  elsewhere to be recognized.</p>
  <p>PyCon is a volunteer-run &quot;unconference&quot;, of, by, and for the
  community.  In addition to the core developers, project heads,
  corporatesponsors, and published luminaries, the Python community is
  made up of all the people who use Python for everyday tasks, to solve
  real problems.</p>
  <p>PyCon is designed to connect,strengthen, support, and build that
  community.  This is done in many ways:</p>
  <ul class="simple">
  <li>Tutorials provide accelerated learning.</li>
  <li>Open Space (the real soul of the conference in many ways,including the &quot;hallway track&quot;), builds the connections, and provides a crucial means of exchanging knowledge and deep learning withing the community.</li>
  <li>Lightning talks provide a means for arapid dissemination of information, and are a lot of fun.</li>
  <li>The social events build the community.</li>
  <li>The development sprints keep the community strong, many times even reinventing parts ofit.</li>
  <li>The keynotes punctuate and frame the conference.</li>
  <li>The scheduled talks form the core supporting all the rest.</li>
  </ul>
  <hr class="docutils" />
  <p>Actually only about 25% of theconference, the scheduled talks are the
  most visible part, and the most crucial.  The talks are the voice of
  the community.  They are the skeleton which supports and connects all
  theother events.</p>
  <p>Tutorials give people foundations in areas where they lack knowledge.
  The talks build on those foundations, or make people aware that new
  areas of knowledge exist.  Thetalks are kept short to focus the
  information.  It is next to impossible to keep an entire audience
  interested and engaged in a subject for long.  Keeping the talks short
  keeps theaudience hungry.  This leads into the open space talks which
  focus the discussion on areas which are really important to all
  involved.  There the communication is completely interactive,versus
  mostly-unidirectional lectures.  This exchange of ideas and knowledge
  leads into the sprints where this new knowledge is put to use.</p>
  <p>We are the ones who make sure thatskeleton is strong.  We are the
  ones who ensure the voice of the community is heard.  We are the
  Program Committee.</p>
  </div>
  <div class="section" id="proposal-process">
  <h1>Proposal Process</h1>
  <p>The process isabout taking a monumental task, breaking it into
  successively smaller parts, and processing those parts in successive
  refinements.</p>
  <ul class="simple">
  <li>Phase 0: Building the Program Committee.</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 62)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Phase 1: Proposal Submissions - Divide the proposals among reviewers.
  * Phase 2: Review Period - Help elevate the standard of proposal, and identify the talks which do not have consensus.
  <a href="#id3"><span class="problematic" id="id4">*</span></a>Phase 3: Accept/Decline Period - Resolve the contentious talks, and make the acceptance decisions.
  * Phase 4: Feedback &amp; Publication - Allow authors to voice concerns, catch potentialmisunderstandings, make the decisions public.
  * Phase 5: Schedule - Figure out who, when and where.</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 62); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 62); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <div class="section" id="phase-0-build-the-programcommittee">
  <h2>Phase 0: Build the ProgramCommittee</h2>
  <p>We need people from the community to review the proposals, and decide
  which are truly representative of the community.  This can bevery
  hard to do.  It is best to get people with as broad a range of Python
  experience and knowledge as possible.  It is also important to make
  sure you have enough people.  The magicnumber is to have 1 reviewer
  for every 5-6 proposals, with a minimum of 3 reviewers and a maximum
  of 30.  This means each reviewer has about 15 proposals to reviewand
  manage.</p>
  </div>
  <div class="section" id="phase-1-proposal-submissions">
  <h2>Phase 1: Proposal Submissions</h2>
  <p>This is the phase where we accept talk proposals.
  This is also when proposals are divided amongthe
  program committee members, to make things manageable.
  It will take time for the assignments to gel and become final.</p>
  <p>The program committee needs to nurture the proposals at thispoint,
  helping to explain the process, answering questions, and resolving
  problems.  Proposals need not be final, as the authors are allowed to
  modify and flesh out their proposals.  Theprogram committee should
  help authors in this process.</p>
  <div class="section" id="comments">
  <h3>Comments</h3>
  <p>The way the program committee communicates with the authors is via the
  proposal comments.  Tokeep initial reviews and impressions objective,
  the reviewer and author names are masked from each other.  Reviewers
  will be able to see other reviewer names, but authors willsee
  'Reviewer #42'.  Reviewers will see 'Author #52'.   As such names should
  not be used in the proposal, or in comments.  Later in the process, the
  names will be made public.  Allcomments are immediately sent to all
  other people associated with a proposal (authors, reviewers, and
  commenters).   You do not need to be a reviewer for a proposal to make
  a comment.You just need to be part of the program committee.</p>
  <p><em>NOTE: the name masking was only for the first phase of reviewing in past years. For 2010, all the masking has been turnedoff</em></p>
  </div>
  <div class="section" id="reviewers">
  <h3>Reviewers</h3>
  <p>3 Reviewers will be randomly assigned to talks.  This is a true random
  process, so assignments might feel lopsided at first.  Reviewers should
  opt-out of any talks they are not comfortable with, or feel there is a
  conflict of interest.  Another reviewer will be randomly assigned.
  You will not be re-assigned to a talk that youhave opted-out of.
  Reviewers may also opt-in and review any proposal, even those they are
  not assigned to. If you previously opted out of a proposal, you may still opt-in later.
  Theassignment is just to ensure that every proposal
  has at least 3 reviewers and at least 3 votes.  A proposal can have as
  many votes as there are reviewers.</p>
  <p>Reviewers should vote earlyand vote often! Reviews are not set in
  stone, and should be changed over time.  Getting proposals with initial
  reviews and information up front is crucial to a smoothprocess.</p>
  </div>
  <div class="section" id="voting">
  <h3>Voting</h3>
  <p>The votes do not determine if a talk is accepted or declined.
  They are just a means of breaking down the talks into categories later to help organizethe end
  discussion in an organized and meaningful way.</p>
  <p>The review details should include information to help the program committee as a whole make
  a decision on a proposal. If youare an domain expert on the topic of the proposal, please say so.
  If you are an outsider, please say so. This is important information. Even if you have no prior
  knowledge of a topic, yourreview is still important, especially for basic level talks, but the
  program committee as a whole needs to know this.</p>
  <dl class="docutils">
  <dt>Reviewers vote using a +1/+0/-0/-1 scale:</dt>
  <dd><table class="first last docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name">+1:</th><td class="field-body">Goodproposal.  I will champion it at the PC meeting.</td>
  </tr>
  <tr class="field"><th class="field-name">+0:</th><td class="field-body">OK proposal, but I will not champion it.</td>
  </tr>
  <tr class="field"><th class="field-name">-0:</th><td class="field-body">Weak proposal, though I will not fight against it.</td>
  </tr>
  <tr class="field"><th class="field-name">-1:</th><td class="field-body">Serious problems.I will argue to reject this proposal.</td>
  </tr>
  </tbody>
  </table>
  </dd>
  </dl>
  <p>The +1 and -1 votes are special, you are agreeing to be a talk
  Champion (or nemesis).
  A talk champion is someone who will speak up for a talkduring the
  final vote review meeting at the end of the process.
  More on this later.</p>
  </div>
  </div>
  <div class="section" id="phase-2-reviewing-period">
  <h2>Phase 2: Reviewing Period</h2>
  <p>No more proposalsubmissions are accepted.
  Reviewers should be set with their list of proposals they are working on.</p>
  <p>The program committee switched gears a bit here.  the idea behind this
  period isto help the authors refine their proposals and make them as
  good as they can.  Many people have never given a talk before, and will
  need help refining their proposal.  The programcommittee's job here is
  really to help the community produce the best talks possible.  The
  ideal is to get all the proposals the be +1 worthy (i.e. a proposal
  anyone would be willing tochampion).</p>
  <p>Being part of the program committee is not just about deciding which
  talks get accepted.  It is about building the community as well.</p>
  <p>During this phase, the programcommittee should be attempting to get
  all their votes in, with a minimum of 3 votes per talk.
  At the end of this phase, the program committee members should switch
  from looking at theirlist of associated proposals, to the vote
  breakdown.</p>
  </div>
  <div class="section" id="phase-3-accept-decline-period">
  <h2>Phase 3: Accept/Decline Period</h2>
  <p>Authors are locked out of the system.
  Nomore changes will be made to the proposals.
  The comment system will also be disabled.
  Reviewers get to see the author names and proposal associations (many
  authors submit multipleproposals).</p>
  <p>Who the author is and their history can be very important in the final
  decision making process.  We want to accept proposals by authors who
  have not presented before overthose who have.  We may know that a
  certain presenter is not good, or is exceptionally good.  This can
  change a reviewers vote decision.  Reviewers need to factor this new
  information,and update any of their reviews appropriately.  This
  information will also be crucial for the acceptance meeting at the
  very end of this phase.</p>
  <p>In this phase the program committeeswitched from looking at their
  individual proposal assignments over to the proposals which have a
  lack of consensus or contention.  And then make the acceptance
  decisions.</p>
  <p>Eachproposal is discussed and the Champions speak up and arguments are made.
  At the end of the meeting, there should not be any proposals still 'Under Review'.</p>
  <dl class="docutils">
  <dt>Proposals are broken downinto 5 vote categories:</dt>
  <dd><ol class="first last arabic">
  <li><dl class="first docutils">
  <dt>Needs champion</dt>
  <dd><p class="first last">Proposals which need a champion are those with no +1 or -1 votes.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Needs votes</dt>
  <dd><p class="first last">Each proposal requires a minimumof 3 votes before an accept/decline decision can be made.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>All votes positive</dt>
  <dd><p class="first last">Proposals which have at least 3 votes that are all postitive.  These are usually acceptedwithout discussion.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>All votes negative</dt>
  <dd><p class="first last">Proposals which have at least 3 votes that are all negative. These are usually declined.</p>
  </dd>
  </dl>
  </li>
  <li><p class="first">Mixed votes</p>
  </li>
  </ol>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 215)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>Proposals with a mixture of positive and negative votes (at least 3 total).  Many will remain mixed, and the champions will helpmake the final accept/decline decision.</p>
  <p>The proposals inCategory #1 need more voting before the final
  decision meeting.  All reviewers are asked to look at these proposals
  again, to try to find people to champion them (+1 OR -1).</p>
  <p>At thispoint there should not be any votes in category #2.</p>
  <p>Those in Category #4 are usually talked about next to make sure they really are not worth having.</p>
  <p>Those in Category #3 areusually left for the end of the discussion. They are most likely all worth having,
  but most likely have overlap.</p>
  <p>This leaves those proposals in category #5.  These are the talkswhich
  will be discussed at the acceptance decision meeting.  this is a
  meeting where the fate of these proposals is decided.</p>
  <p>Usually more than one pass is given to the proposals.When looking at talks on a subject,
  talks from all categories are considered. The point is to consider everything, but in an organized manner
  which helps to make the bestchoice.</p>
  </div>
  <div class="section" id="phase-4-feedback-publication">
  <h2>Phase 4: Feedback &amp; Publication</h2>
  <p>The authors are given back access to the system.
  The proposals are still locked and cannot be edited.
  The comment system is re-enabled.
  The reviews are made 'public' to the authors, and the authors can now
  see the names of the reviewers, as well as the reviews (but notthe
  review change histories).
  The authors are sent the decision e-mail messages letting them know
  about the program committee decisions.</p>
  <p>This is a feedback period where theauthors get to post comments and
  give feedback.
  At the end of this period, the final list of accepted talks is made
  public with their summaries.</p>
  </div>
  <div class="section" id="phase-5-schedule">
  <h2>Phase 5:Schedule</h2>
  <p>This phase actually starts during phase 2, and is refined throughout
  the process.
  What talks happen when will need to be determined.  Somespeakers might
  have time restrictions.
  This can be quite the rubix cube problem.</p>
  <p>Tutorials need to be fit into the schedule as well.
  In the software, the accepted proposals needassociated events,
  speakers, and scheduling objects created.
  times tables, rooms, etc also need to be created, and events assigned.</p>
  </div>
  </div>
  </div>


url: /2010/conference/proposals/reviewer_instructions/
title: Proposal Review Procedure
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="proposal-review-procedure">
  <h1 class="title">Proposal Review Procedure</h1>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#program-committee-membership" id="id11">Program Committee Membership</a></li>
  <li><a class="reference internal" href="#reviewerinstructions" id="id12">ReviewerInstructions</a><ul>
  <li><a class="reference internal" href="#reviewer-notifications" id="id13">Reviewer Notifications</a></li>
  </ul>
  </li>
  <li><a class="reference internal" href="#program-committee-review" id="id14">Program Committee Review</a></li>
  <li><a class="reference internal" href="#high-profiletalks" id="id15">High-ProfileTalks</a></li>
  <li><a class="reference internal" href="#voting-statistics-page" id="id16">Voting Statistics Page</a></li>
  <li><a class="reference internal" href="#related-pages" id="id17">Related Pages</a></li>
  </ul>
  </div>
  <div class="section" id="program-committee-membership">
  <h1><a class="toc-backref" href="#id11">Program Committee Membership</a></h1>
  <p>The conference will benefit from asdiverse a program committee as
  possible.  Members should be recruited from major projects to ensure
  that they are represented.</p>
  </div>
  <div class="section" id="reviewerinstructions">
  <h1><a class="toc-backref" href="#id12">ReviewerInstructions</a></h1>
  <p>Instructions for authors (and reviewers) can be found in the
  <a href="#id4"><span class="problematic" id="id5">`proposal submission instructions`__</span></a> and in the <a href="#id4"><span class="problematic" id="id6">FAQ__</span></a>.</p>
  <p>__/2010/conference/proposals/
  __ /2010/conference/proposals/faq/</p>
  <p>Reviewers must join the <a href="#id4"><span class="problematic" id="id7">`pycon-pc mailing list`__</span></a>, which is for
  program committee discussions.</p>
  <p>__http://mail.python.org/mailman/listinfo/pycon-pc/</p>
  <p>As a reviewer proposals will be assigned to you randomly, as proposals
  are submitted.  You will receive an automated e-mailnotification when
  this happens.  This random assignment ensures that each proposal is
  assigned to at least three reviewers.  You may choose to &quot;opt-out&quot; of
  any proposal assigned to youbefore you vote, and another reviewer
  will be assigned in your place.  You are also encouraged to vote or
  comment on other proposals, even those not assigned to you.  All
  communicationwith authors should be done via the comments.</p>
  <p>If you see a proposal that you think <em>could</em> be good, but it's lacking
  in some way and
  there is not enough material for you to judge,please ask the author
  to flesh out their proposal, via comments.  Be specific about which
  parts of their proposal are lacking.
  Suggest additions they could make that would improve theproposal.</p>
  <p>Proposals will be assessed using the &quot;<a class="reference external" href="http://www.iam.unibe.ch/~oscar/Champion/index.html">Identify the Champion</a>&quot; process.
  Reviewers vote using a +1/+0/-0/-1 scale:</p>
  <ul>
  <li><p class="first"><strong>+1</strong>: Good proposal.  I will champion it at thePC meeting.</p>
  <p>The reviewer is strongly in favor of the proposal, and is willing to
  argue for the proposal during the accept/decline period (November 24
  to 30).  To be accepted, aproposal must have at least one +1 vote
  (i.e. the proposal must have a champion).</p>
  <p>A +1 vote means that the reviewer is willing to put their reputation
  on the line in favor ofthe proposal.  So if you're not sure about a
  proposal, don't champion it.</p>
  </li>
  <li><p class="first"><strong>+0</strong>: OK proposal, but I will not champion it.</p>
  </li>
  <li><p class="first"><strong>-0</strong>: Weak proposal, though I will not fightstrongly against it.</p>
  <p>+0 &amp; -0 register opinions without affecting the voting, except in
  marginal cases.</p>
  </li>
  <li><p class="first"><strong>-1</strong>: Serious problems.  I will argue to reject thisproposal.</p>
  </li>
  </ul>
  <div class="section" id="reviewer-notifications">
  <h2><a class="toc-backref" href="#id13">Reviewer Notifications</a></h2>
  <p>You will receive e-mail notifications for every proposal that is
  assigned to you. You will also receive e-mails forcomments and reviews
  for proposals you watch.</p>
  <p>In addition to email, there are RSS feeds on just
  about every page in the proposal system. These will not work in readers
  that don'tsupport usr/login for rss feeds, google reader for example.</p>
  </div>
  </div>
  <div class="section" id="program-committee-review">
  <h1><a class="toc-backref" href="#id14">Program Committee Review</a></h1>
  <p>Once all the proposals have received votes from threedifferent
  reviewers, we'll schedule an IRC meeting to make the final selections.
  Not all the committee members show up for this meeting, though all
  members are certainly welcome toparticipate.</p>
  <p>All votes should be reviewed before the meeting.  Many votes will have
  been made before authors made edits to their proposals, and some votes
  may need to be updated bythe reviewers.</p>
  <p>Proposals that have at least one +1 vote and no -1 votes are provisionally accepted, and
  proposals with only -1 and -0 votes are almost invariably rejected.
  Most ofthe discussion is spent looking at proposals with a mix of
  positive and negative votes, or proposals without a +1/champion vote.</p>
  <p>Decisions are provisional at this point only becauseamong the accepted
  proposals we might find essentially the same proposal submitted three times
  by different people, and we might be forced to reject one or two in the
  service ofdiversity.</p>
  <p>Finally we come to the meat of the process: proposals with
  counterbalancing +1/-1 votes or that have several +0 without champion.
  Generally speaking, all such proposalsshould be considered biased
  against accepting, and if the proposals provisionally accepted fill the
  schedule, these gray area proposals should only be mined for critical
  diversityneeds.</p>
  <p>For background, please see the &quot;<a class="reference external" href="http://www.iam.unibe.ch/~oscar/Champion/index.html">Identify the Champion</a>&quot; paper.</p>
  </div>
  <div class="section" id="high-profiletalks">
  <h1><a class="toc-backref" href="#id15">High-ProfileTalks</a></h1>
  <p>Independently of the <a class="reference internal" href="#program-committee-review">program committee review</a> described above, any
  &quot;high profile&quot; talks should be identified and may be accepted by the
  ConferenceChair or the Program Committee Chair (with recommendations
  from reviewers).  &quot;State of the project&quot;-type talks for major projects
  and implementations should be identified and may be treatedspecially.</p>
  </div>
  <div class="section" id="voting-statistics-page">
  <h1><a class="toc-backref" href="#id16">Voting Statistics Page</a></h1>
  <p>On the voting statistics page (&quot;<a class="reference external" href="../votes/">voting</a>&quot; link), proposals are broken
  down into categories:</p>
  <ol class="arabic">
  <li><dl class="first docutils">
  <dt>Needschampion</dt>
  <dd><p class="first last">Proposals which need a champion are those with no +1 or -1 votes.
  +0 &amp; -0 are weak votes, and not enough for a good decision.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Needs votes</dt>
  <dd><p class="first last">Each proposalrequires a minimum of 3 votes before an
  accept/decline decision can be made.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>All votes positive</dt>
  <dd><p class="first last">Proposals which have at least 3 votes that are all postitive.
  Theseare usually accepted without discussion.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>All votes negative</dt>
  <dd><p class="first last">Proposals which have at least 3 votes that are all negative.
  These are usually declined.  Proposals that arenot beyond hope
  may be worked on with the authors (via comments) to make them
  better.</p>
  </dd>
  </dl>
  </li>
  <li><dl class="first docutils">
  <dt>Mixed votes</dt>
  <dd><p class="first last">Proposals with a mixture of positive and negative votes (atleast
  3 total).  These proposals are on the fence.  Reviewers should
  work with authors before the final accept/decline phase to get
  these propsals all positive.  Many willremain mixed, and the
  champions will help make the final accept/decline decision.</p>
  </dd>
  </dl>
  </li>
  </ol>
  </div>
  <div class="section" id="related-pages">
  <h1><a class="toc-backref" href="#id17">Related Pages</a></h1>
  <ul class="simple">
  <li>The &quot;<a href="#id4"><span class="problematic" id="id8">`Proposal Votes`__</span></a>&quot; page (&quot;<a class="reference external" href="../votes/">Voting</a>&quot; link onthe left) is the main
  overview page for the Program Committee (<a href="#id4"><span class="problematic" id="id9">`RSS feed`__</span></a>).</li>
  <li>The &quot;<a class="reference external" href="../myproposals/">My Proposals</a>&quot; pageprovides the main overview for proposals
  which a person is associated with (<a href="#id4"><span class="problematic" id="id10">`RSS feed`__</span></a>).  If you have
  submitted a proposal, are a co-author, are assigned as a reviewer,
  or havecommented on a proposal, those proposals will be listed
  here.</li>
  </ul>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id4">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em>backlinks: <a href="#id5">1</a>, <a href="#id6">2</a>, <a href="#id7">3</a>, <a href="#id8">4</a>, <a href="#id9">5</a>, <a href="#id10">6</a></em></p>
  Anonymous hyperlink mismatch: 6 references but 3 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  </div>
  </div>


url: /2010/tutorials/release/
title: Recording Release Agreement
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="recording-release-agreement">
  <h1 class="title">Recording Release Agreement</h1>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 7)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt><a class="reference external" href="http://us.pycon.org/2010/conference/release/">http://us.pycon.org/2010/conference/release/</a></dt>
  <dd><p class="first"><a class="reference external" href="http://us.pycon.org/2010/conference/proposals/release/">http://us.pycon.org/2010/conference/proposals/release/</a></p>
  <p class="last">All copies must be kept in sync.
  If you edit one copy, you must edit allcopies to match.</p>
  </dd>
  </dl>
  <p>Part of the motivation for PyCon is to help with Python education and
  advocacy around the world, not just in the United States. Accordingly,
  We intend to record allPyCon presentations and release the recordings
  on the web.  By submitting your talk or tutorial proposal, or by
  signing up to give a lightning talk, you agree to give
  permission to thePython Software Foundation to record, edit, and
  release audio and/or video of your presentation.</p>
  <p>To cut down on administration, no exceptions will be made.  If you don't
  want togive the PSF permission to record your presentation and release
  the recording, do not submit a proposal.</p>
  <p>You agree to the following legalese, which certifies that you are the
  authorof your presentation, or otherwise allowed to present it at PyCon,
  and it allows the PSF 1) to perform the necessary audio and video editing
  needed to prepare your presentation, and 2) todistribute the recordings
  to other people, including on YouTube and Google Video.  It also allows
  other people to watch the recordings.</p>
  <p>Legalese:</p>
  <blockquote>
  <p>I certify that I, theSubmitter, am authorized to license this proposal
  and its associated presentation (the &quot;User Submission&quot;) to the Python
  Software Foundation (the &quot;PSF&quot;) for use in association withPyCon 2010.
  Specifically:</p>
  <ul class="simple">
  <li>I, the Submitter, certify that I am either the copyright owner of the
  User Submission or an authorized licensee of the copyright owner.If I
  am an authorized licensee of the copyright owner, I certify that I have
  sublicensable distribution rights.</li>
  <li>Submitter hereby grants the PSF a worldwide,royalty-free, fully
  paid-up, non-exclusive, perpetual (for the duration of the applicable
  copyright), sublicensable and transferable license to exercise the rights</li>
  </ul>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 47)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <p>in the User Submission as follows:</p>
  <blockquote>
  <ol class="arabic simple">
  <li>The PSF is granted a license to reproduce the User Submission,
  to incorporate the User Submission into one or more Collective</li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 51)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>Works, and to reproduce the User Submission as incorporated in</dt>
  <dd><blockquote class="first">
  the Collective Works;</blockquote>
  <ol class="last arabic simple" start="2">
  <li>The PSF is granted a license to create and reproduce Derivative</li>
  </ol>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 55)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>Works;</p>
  <blockquote>
  <ol class="arabic simple" start="3">
  <li>The PSF is granted a license to distribute copies or
  phonorecords of, display publicly, perform publicly, and
  perform publicly by means of a digitalaudio transmission the
  User Submission including as incorporated in Collective Works;
  and</li>
  <li>The PSF is granted a license to distribute copies or</li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 64)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>phonorecords of, display publicly, perform publicly, and</dt>
  <dd><blockquote class="first">
  perform publicly by means of a digital audio transmission
  Derivative Works.</blockquote>
  <ul class="last simple">
  <li>Submitter waives theexclusive right to collect, whether individually
  or via a performance-rights society, royalties for the public
  digital performance of the User Submission, subject to the</li>
  </ul>
  </dd>
  <dt>compulsory license created by 17 U.S.C. Section 114 (or the</dt>
  <dd><blockquote class="first">
  equivalent in other jurisdictions).</blockquote>
  <ul class="last simple">
  <li>Submitter specifically affirms the right to perform the User</li>
  </ul>
  </dd>
  <dt>Submissions on the PSF's web sites or on other web sites</dt>
  <dd><blockquote class="first">
  designated by the PSF (including, but not necessarily limited to
  YouTube and Google Video).</blockquote>
  <ul class="last simple">
  <li>Submitter alsohereby grants each person receiving the User
  Submissions distributed by the PSF a non-exclusive license to
  access, use, display, and perform the User Submissions in a</li>
  </ul>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 82)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>non-commercial, private context.</p>
  </div>


url: /2010/conference/proposals/release/
title: Recording Release Agreement
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="recording-release-agreement">
  <h1 class="title">Recording Release Agreement</h1>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 7)</p>
  Explicit markup ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt><a class="reference external" href="http://us.pycon.org/2010/conference/release/">http://us.pycon.org/2010/conference/release/</a></dt>
  <dd><p class="first"><a class="reference external" href="http://us.pycon.org/2010/conference/proposals/release/">http://us.pycon.org/2010/conference/proposals/release/</a></p>
  <p class="last">All copies must be kept in sync.
  If you edit one copy, you must edit allcopies to match.</p>
  </dd>
  </dl>
  <p>Part of the motivation for PyCon is to help with Python education and
  advocacy around the world, not just in the United States. Accordingly,
  We intend to record allPyCon presentations and release the recordings
  on the web.  By submitting your talk or tutorial proposal, or by
  signing up to give a lightning talk, you agree to give
  permission to thePython Software Foundation to record, edit, and
  release audio and/or video of your presentation.</p>
  <p>To cut down on administration, no exceptions will be made.  If you don't
  want togive the PSF permission to record your presentation and release
  the recording, do not submit a proposal.</p>
  <p>You agree to the following legalese, which certifies that you are the
  authorof your presentation, or otherwise allowed to present it at PyCon,
  and it allows the PSF 1) to perform the necessary audio and video editing
  needed to prepare your presentation, and 2) todistribute the recordings
  to other people, including on YouTube and Google Video.  It also allows
  other people to watch the recordings.</p>
  <p>Legalese:</p>
  <blockquote>
  <p>I certify that I, theSubmitter, am authorized to license this proposal
  and its associated presentation (the &quot;User Submission&quot;) to the Python
  Software Foundation (the &quot;PSF&quot;) for use in association withPyCon 2010.
  Specifically:</p>
  <ul class="simple">
  <li>I, the Submitter, certify that I am either the copyright owner of the
  User Submission or an authorized licensee of the copyright owner.If I
  am an authorized licensee of the copyright owner, I certify that I have
  sublicensable distribution rights.</li>
  <li>Submitter hereby grants the PSF a worldwide,royalty-free, fully
  paid-up, non-exclusive, perpetual (for the duration of the applicable
  copyright), sublicensable and transferable license to exercise the rights</li>
  </ul>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 47)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <p>in the User Submission as follows:</p>
  <blockquote>
  <ol class="arabic simple">
  <li>The PSF is granted a license to reproduce the User Submission,
  to incorporate the User Submission into one or more Collective</li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 51)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>Works, and to reproduce the User Submission as incorporated in</dt>
  <dd><blockquote class="first">
  the Collective Works;</blockquote>
  <ol class="last arabic simple" start="2">
  <li>The PSF is granted a license to create and reproduce Derivative</li>
  </ol>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 55)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>Works;</p>
  <blockquote>
  <ol class="arabic simple" start="3">
  <li>The PSF is granted a license to distribute copies or
  phonorecords of, display publicly, perform publicly, and
  perform publicly by means of a digitalaudio transmission the
  User Submission including as incorporated in Collective Works;
  and</li>
  <li>The PSF is granted a license to distribute copies or</li>
  </ol>
  </blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 64)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>phonorecords of, display publicly, perform publicly, and</dt>
  <dd><blockquote class="first">
  perform publicly by means of a digital audio transmission
  Derivative Works.</blockquote>
  <ul class="last simple">
  <li>Submitter waives theexclusive right to collect, whether individually
  or via a performance-rights society, royalties for the public
  digital performance of the User Submission, subject to the</li>
  </ul>
  </dd>
  <dt>compulsory license created by 17 U.S.C. Section 114 (or the</dt>
  <dd><blockquote class="first">
  equivalent in other jurisdictions).</blockquote>
  <ul class="last simple">
  <li>Submitter specifically affirms the right to perform the User</li>
  </ul>
  </dd>
  <dt>Submissions on the PSF's web sites or on other web sites</dt>
  <dd><blockquote class="first">
  designated by the PSF (including, but not necessarily limited to
  YouTube and Google Video).</blockquote>
  <ul class="last simple">
  <li>Submitter alsohereby grants each person receiving the User
  Submissions distributed by the PSF a non-exclusive license to
  access, use, display, and perform the User Submissions in a</li>
  </ul>
  </dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 82)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <p>non-commercial, private context.</p>
  <div class="section" id="choose-one">
  <h1>Choose one:</h1>
  <blockquote>
  <p class="topic-title"><a class="reference external" href="/2010/conference/proposals/submit/">I have read the above and Iagree.</a>
  Continue to the talk proposal submission form.</p>
  <p class="topic-title"><a class="reference external" href="/2010/conference/proposals/">I disagree.</a>
  Return to the Callfor Conference Talk Proposals.</p>
  </blockquote>
  </div>
  </div>


url: /2010/conference/proposals/settings/
title: Proposal System Settings
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="proposal-system-settings">
  <h1 class="title">Proposal System Settings</h1>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#permissions" id="id5">Permissions</a><ul>
  <li><a class="reference internal" href="#example-settings" id="id6">Example Settings</a></li>
  <li><a class="reference internal" href="#permissiondescriptions" id="id7">PermissionDescriptions</a><ul>
  <li><a class="reference internal" href="#management" id="id8">Management</a></li>
  <li><a class="reference internal" href="#misc" id="id9">Misc</a></li>
  <li><a class="reference internal" href="#proposal-details" id="id10">Proposal Details</a></li>
  </ul>
  </li>
  </ul>
  </li>
  <li><a class="reference internal" href="#features" id="id11">Features</a><ul>
  <li><a class="reference internal" href="#exampleuse" id="id12">ExampleUse</a></li>
  <li><a class="reference internal" href="#featuredescriptions" id="id13">FeatureDescriptions</a></li>
  </ul>
  </li>
  </ul>
  </div>
  <div class="section" id="permissions">
  <h1><a class="toc-backref" href="#id5">Permissions</a></h1>
  <p>There are two primarygroups in the system 'Authors' and 'Reviewers' a user can belong to both goups.
  When you submit a talk (or are assigned as a co-author) you are added to the 'Authors' group.
  Reviewers areassigned by the PC head or other organizers with permissions to do so.</p>
  <div class="section" id="example-settings">
  <h2><a class="toc-backref" href="#id6">Example Settings</a></h2>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name">Authors:</th><td class="field-body"><ul class="first simple">
  <li>can_view_proposal_listing</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 18)</p>
  <p>Bullet list ends without a blank line; unexpected unindent.</p>
  </div>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>can_view_reviewers</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 18); <em><a href="#id2">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  </td>
  </tr>
  <tr class="field"><th class="field-name">Reviewers:</th><td class="field-body"><ul class="first simple">
  <li>add_review</li>
  <li>can_view_authors</li>
  <li>can_view_proposal_listing</li>
  <li>can_view_all_proposals</li>
  <li>can_view_all_reviews</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 26)</p>
  <p>Bullet list ends without a blank line; unexpected unindent.</p>
  </div>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>can_view_all_comments
  * can_view_proposal_stats</p>
  <div class="last system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 26); <em><a href="#id4">backlink</a></em></p>
  <p>Inline emphasis start-string without end-string.</p>
  </div>
  </td>
  </tr>
  </tbody>
  </table>
  </div>
  <div class="section" id="permissiondescriptions">
  <h2><a class="toc-backref" href="#id7">PermissionDescriptions</a></h2>
  <div class="section" id="management">
  <h3><a class="toc-backref" href="#id8">Management</a></h3>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name" colspan="2">change_proposal_status:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">For the PC head (Ivan only) to mark talks accepted or declined.Added to user directly.</td>
  </tr>
  <tr class="field"><th class="field-name">add_review:</th><td class="field-body">reviewers only... really... If not set, then reviewers can only vote on those talks they are assigned to (via admin or automatic selection).Even if this permission is set, a user can not review a talk they are an author of.</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">can_view_proposal_stats:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">reviewers only... improperly named. means you can see all the reviewerviews</td>
  </tr>
  </tbody>
  </table>
  </div>
  <div class="section" id="misc">
  <h3><a class="toc-backref" href="#id9">Misc</a></h3>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name" colspan="2">can_view_proposal_listing:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">searchable summary listing with category filter. Currently exposed to Authors and Reviewers</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">can_view_authors:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body"></td>
  </tr>
  </tbody>
  </table>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 52)</p>
  Field list ends without a blank line; unexpected unindent.</div>
  <p>don't hide the authors from the reviewers (and expose the authors overview  stats page if you have view_stats)</p>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name" colspan="2">can_view_reviewers:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">don't mask the reviewer names from theauthors</td>
  </tr>
  </tbody>
  </table>
  </div>
  <div class="section" id="proposal-details">
  <h3><a class="toc-backref" href="#id10">Proposal Details</a></h3>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name" colspan="2">can_view_all_proposals:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">view the full details of all proposals. If not set for Reviewers then only those Reviewers assignedto the proposal can view it.</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">view_all_comments:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">view all the comments for all proposals (view_all_proposals required). If not set then only the authors and reviewers assigned to aproposal can see the comments, and make comments. If you can see the comments, you can make them.</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">can_view_all_reviews:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">view all the reviews for all proposals (but not if I am anauthor of that proposal) Authors and CoAuthors will still have the reviews hidden in all the pages, this way Reviewers will not see the reviews for talks they havesubmitted.</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">can_view_my_reviews:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">poorly named. view the reviews on my proposal even if it is not 'published' (i.e. before we send the accept/decline). Normally reviews are hiddenfrom Authors until the proposal is marked 'published'.  Will expose review change history to authors, Will turn off vote masking in proposal listing when a reviewer is also a proposalauthor.</td>
  </tr>
  </tbody>
  </table>
  </div>
  </div>
  </div>
  <div class="section" id="features">
  <h1><a class="toc-backref" href="#id11">Features</a></h1>
  <p>While permissions determine if a user of the system can see or do something, features determine when they can do it.
  This is a subtiledistinction. If a user has permissions to make a comment on a proposal, they will see the link to
  add the comment. If the 'AddComment' feature is disabled then when the user clicks the link,they will instead get a
  message explaining why they cannot add a comment. Enabling and disabling features can be used to control</p>
  <dl class="docutils">
  <dt>Features:</dt>
  <dd><ul class="first last simple">
  <li>can be flat out disabled</li>
  <li>can begiven a time to be disabled after or before.</li>
  <li>can be given any message you want</li>
  <li>can have an exception list (i.e. reviewers can access a feature even if its disabled)</li>
  </ul>
  </dd>
  </dl>
  <div class="section" id="exampleuse">
  <h2><a class="toc-backref" href="#id12">ExampleUse</a></h2>
  <p>One way of conducting the proposal submission and review process is to break it into phases, and manage those phases with the features:</p>
  <dl class="docutils">
  <dt>:Phase 1:<em>Submission Period</em> |</dt>
  <dd>allow for talks to be submitted and commented on, but nothing else</dd>
  </dl>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name">Phase 2:</th><td class="field-body"><em>Review Period</em> |
  disable proposal submissions, editing, and allow forreviews</td>
  </tr>
  <tr class="field"><th class="field-name">Phase 3:</th><td class="field-body"><em>Decision Period</em> |
  disable reviews and viewing of the proposals by authors, and mark them accepted or declined</td>
  </tr>
  <tr class="field"><th class="field-name">Phase 4:</th><td class="field-body"><em>Author Commentary</em> |
  allowauthors to see the proposals and re-enable comments</td>
  </tr>
  <tr class="field"><th class="field-name">Phase 5:</th><td class="field-body"><em>Publish</em> |
  enable viewing of accepted talks and disable everything else</td>
  </tr>
  </tbody>
  </table>
  <p>This is just one example, and a ratherdraconian one at that. The point is there is a great degree of flexibility in the system. The process can be as restrictive or as open as you want.</p>
  </div>
  <div class="section" id="featuredescriptions">
  <h2><a class="toc-backref" href="#id13">FeatureDescriptions</a></h2>
  <table class="docutils field-list" frame="void" rules="none">
  <col class="field-name" />
  <col class="field-body" />
  <tbody valign="top">
  <tr class="field"><th class="field-name">SubmitProposal:</th><td class="field-body">allow for proposal submissions (enable only during call for proposalsperiod)</td>
  </tr>
  <tr class="field"><th class="field-name">ViewProposals:</th><td class="field-body">allow author to view proposals (disable during accept/decline meeting)</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">ViewAcceptedProposals:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">allow for the world (even anonymous users) tosee the list of accepted talks (enable after program committee work is none)</td>
  </tr>
  <tr class="field"><th class="field-name">EditProposal:</th><td class="field-body">allow for authors to edit their proposals (disable at the beginning of the accept/declinemeeting)</td>
  </tr>
  <tr class="field"><th class="field-name">ReviewProposal:</th><td class="field-body">allow reviewers to add or edit reviews (disable before/during the accept/decline meeting)</td>
  </tr>
  <tr class="field"><th class="field-name" colspan="2">CommentOnProposal:</th></tr>
  <tr><td>&nbsp;</td><td class="field-body">Allow authors and reviewers tocomment on proposals (disable during the accept/decline meeting and after the program committee work is done)</td>
  </tr>
  </tbody>
  </table>
  </div>
  </div>
  </div>


url: /2010/conference/proposals/faq/
title: Proposal Submission FAQ
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="proposal-submission-faq">
  <h1 class="title">Proposal Submission FAQ</h1>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#outline-of-the-proposal-submissionprocess" id="id1">Outline of the Proposal SubmissionProcess</a></li>
  <li><a class="reference internal" href="#proposal-authors" id="id2">Proposal Authors</a><ul>
  <li><a class="reference internal" href="#how-do-i-submit-a-talkproposal" id="id3">How do I submit a talkproposal?</a></li>
  <li><a class="reference internal" href="#how-about-tutorial-proposals" id="id4">How about tutorial proposals?</a></li>
  <li><a class="reference internal" href="#i-ve-submitted-my-application-now-what" id="id5">I've submitted my application, now what?</a></li>
  <li><a class="reference internal" href="#what-if-the-reviewers-playfavorites" id="id6">What if the reviewers playfavorites?</a></li>
  <li><a class="reference internal" href="#help-i-can-t-edit-my-co-authors" id="id7">Help! I can't edit my co-authors!</a></li>
  <li><a class="reference internal" href="#help-i-can-t-add-xxx-as-a-co-author" id="id8">Help! I can't add XXX as a co-author!</a></li>
  <li><a class="reference internal" href="#what-if-someone-steals-my-paper" id="id9">What if someone steals my paper?</a></li>
  </ul>
  </li>
  <li><a class="reference internal" href="#panel-discussions" id="id10">Panel Discussions</a><ul>
  <li><a class="reference internal" href="#what-is-a-panel-discussion" id="id11">What is a panel discussion?</a></li>
  <li><a class="reference internal" href="#how-do-i-propose-a-panel" id="id12">How do I propose a panel?</a></li>
  <li><a class="reference internal" href="#must-i-have-commitment-from-potential-panelists-before-submitting-myproposal" id="id13">Must I have commitment from potential panelists before submitting myproposal?</a></li>
  <li><a class="reference internal" href="#as-a-panel-moderator-what-are-my-responsibilities" id="id14">As a panel moderator, what are my responsibilities?</a></li>
  </ul>
  </li>
  <li><a class="reference internal" href="#pycon-reviewers" id="id15">PyCon Reviewers</a><ul>
  <li><a class="reference internal" href="#this-idea-is-awesome-can-i-tell" id="id16">This idea is awesome! Can I tell?</a></li>
  <li><a class="reference internal" href="#i-think-this-proposal-could-be-good-but-it-s-lacking-what-should-ido" id="id17">I think this proposal <em>could</em> be good, but it's lacking.  What should Ido?</a></li>
  </ul>
  </li>
  </ul>
  </div>
  <div class="section" id="outline-of-the-proposal-submissionprocess">
  <h1><a class="toc-backref" href="#id1">Outline of the Proposal SubmissionProcess</a></h1>
  <ul class="simple">
  <li>Proposal Submission Phase (Sept 29 to November 3)<ul>
  <li>Authors submit proposals</li>
  <li>Reviewers assigned</li>
  <li>Reviewerspost comments &amp; conduct preliminary reviews</li>
  </ul>
  </li>
  <li>Reviewing Period (through November 17)<ul>
  <li>Submissions are closed</li>
  <li>Editing and comments are still active</li>
  <li>Authors makefinal changes</li>
  </ul>
  </li>
  <li>Accept/Decline period (TBA)<ul>
  <li>No more changes or comments can be made</li>
  <li>Program Committee make accept/decline decisions</li>
  </ul>
  </li>
  <li>Feedback &amp; Publication(December 15th)<ul>
  <li>Authors are sent accept/decline letters</li>
  <li>Reviews can be seen by the authors</li>
  <li>Summary made available to the public</li>
  <li>Authors can make final comments onproposals</li>
  </ul>
  </li>
  <li>Schedule (December 31)<ul>
  <li>Program Committee publishes the schedule</li>
  </ul>
  </li>
  </ul>
  </div>
  <div class="section" id="proposal-authors">
  <h1><a class="toc-backref" href="#id2">Proposal Authors</a></h1>
  <div class="section" id="how-do-i-submit-a-talkproposal">
  <h2><a class="toc-backref" href="#id3">How do I submit a talkproposal?</a></h2>
  <p>See the <a class="reference external" href="../">Call for Conference Talk Proposals</a>.</p>
  </div>
  <div class="section" id="how-about-tutorial-proposals">
  <h2><a class="toc-backref" href="#id4">How about tutorial proposals?</a></h2>
  <p>See the`Call for Tutorial Proposals &lt;/2010/tutorials/proposals/&gt;`__.</p>
  </div>
  <div class="section" id="i-ve-submitted-my-application-now-what">
  <h2><a class="toc-backref" href="#id5">I've submitted my application, now what?</a></h2>
  <p>Now you wait.  Three (or more)reviewers have been assigned to your
  proposal.  The reviewers will look over your document and pass along
  any feedback they feel would be useful.  Working together, you have
  the highestlikelihood of getting accepted.  Note that this doesn't
  guarantee acceptance, but greatly increases your chances.</p>
  </div>
  <div class="section" id="what-if-the-reviewers-playfavorites">
  <h2><a class="toc-backref" href="#id6">What if the reviewers playfavorites?</a></h2>
  <p>Every proposal is reviewed in detail by at least 3 reviewers, and
  the decision to accept or decline a talk is made by the programcommittee
  as a whole. Reviewers are asked to be upfront about conflicts of interest
  and not to give a detailed review of proposals where a conflict exists.</p>
  </div>
  <div class="section" id="help-i-can-t-edit-my-co-authors">
  <h2><a class="toc-backref" href="#id7">Help! I can't edit my co-authors!</a></h2>
  <p>Due to permissions issues, only the primary author (the person who
  created the proposal) has the right to edit co-authors, althoughall
  authors (primary author and co-authors) can edit the proposal.</p>
  </div>
  <div class="section" id="help-i-can-t-add-xxx-as-a-co-author">
  <h2><a class="toc-backref" href="#id8">Help! I can't add XXX as a co-author!</a></h2>
  <p>In order for a person to be aco-author they need to have an account
  on the site. If they are also a reviewer, and are assigned to review
  your proposal, they must first 'opt-out' of reviewing your proposal
  before youcan assign them as a co-author.</p>
  </div>
  <div class="section" id="what-if-someone-steals-my-paper">
  <h2><a class="toc-backref" href="#id9">What if someone steals my paper?</a></h2>
  <p>We take every precaution to keep all of your proposal attachments
  safe.  Weencourage you to attach notes or images to your paper to
  help reviewers get an understanding of the subject matter.  We would
  also like you to feel safe in knowing that the things youattach are
  only seen by the reviewers.</p>
  </div>
  </div>
  <div class="section" id="panel-discussions">
  <h1><a class="toc-backref" href="#id10">Panel Discussions</a></h1>
  <div class="section" id="what-is-a-panel-discussion">
  <h2><a class="toc-backref" href="#id11">What is a panel discussion?</a></h2>
  <p>A panel discussion is one in whicha group of people discuss a
  list of pre-determined topics or bullet points. Due to the
  interaction, panel discussions must be 45min long with the
  last 10-15min dedicated to audiencequestions and interaction. A panel is
  usually made up of 4-6 people with one person being the panel moderator.</p>
  </div>
  <div class="section" id="how-do-i-propose-a-panel">
  <h2><a class="toc-backref" href="#id12">How do I propose a panel?</a></h2>
  <p>Paneldiscussions proposals are made just like any other
  <a class="reference external" href="../">talk proposal</a>, with some requirements:</p>
  <ol class="arabic simple">
  <li>The person making the proposal will be the panel moderator.</li>
  <li>The talk titlemust start with 'Panel: '.</li>
  <li>The duration must be 45min.</li>
  <li>The 'panel' category must be selected.</li>
  <li>The panel members must be assigned as co-authors by the end of the reviewingperiod.</li>
  <li>The proposal description must include talking points.</li>
  </ol>
  </div>
  <div class="section" id="must-i-have-commitment-from-potential-panelists-before-submitting-myproposal">
  <h2><a class="toc-backref" href="#id13">Must I have commitment from potential panelists before submitting myproposal?</a></h2>
  <p>No. You do not need to have solid commitments on the panelists before submitting
  a proposal.You do however need to have a commitment from them by the end of the
  reviewing period, Nov. 23rd. A person will only be considered as a panelist if
  they have been added as a co-author tothe proposal.</p>
  </div>
  <div class="section" id="as-a-panel-moderator-what-are-my-responsibilities">
  <h2><a class="toc-backref" href="#id14">As a panel moderator, what are my responsibilities?</a></h2>
  <p>The moderator is responsible for keeping the discussion ontrack and
  making sure panelists have roughly equal time. The moderator is
  responsible for coordinating the panelists, during the proposal
  submission process and at the conference.This includes getting commitments
  from panelists before the proposal submission deadline, getting
  agreement on the discussion topics, and making sure the panelists
  make it to thetalk. A session chair will be present during the talk
  to make sure the equipment is working, handle microphones, and remind you
  of the time; but they are not responsible for co-ordinatingthe panelists.</p>
  </div>
  </div>
  <div class="section" id="pycon-reviewers">
  <h1><a class="toc-backref" href="#id15">PyCon Reviewers</a></h1>
  <div class="section" id="this-idea-is-awesome-can-i-tell">
  <h2><a class="toc-backref" href="#id16">This idea is awesome! Can I tell?</a></h2>
  <p>No content, reviews, comments or encloseddocuments are to be disclosed to
  individuals not on the reviewing staff.</p>
  </div>
  <div class="section" id="i-think-this-proposal-could-be-good-but-it-s-lacking-what-should-ido">
  <h2><a class="toc-backref" href="#id17">I think this proposal <em>could</em> be good, but it's lacking.  What should Ido?</a></h2>
  <p>Please ask the author to flesh out their proposal, via comments.
  Be specific about which parts oftheir proposal are lacking.
  Suggest additions they could make that would improve the proposal.</p>
  </div>
  </div>
  </div>


url: /2010/conference/proposals/examples/
title: Example Proposals
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="example-proposals">
  <h1 class="title">Example Proposals</h1>
  <ul class="simple">
  <li><a class="reference external" href="../example1/">Example 1</a>: Detailed proposal with a full talk
  outline.</li>
  <li><a class="reference external" href="../example2/">Example 2</a>: A proposal with a simpleoutline but a
  detailed description.</li>
  <li><a class="reference external" href="../example3/">Example 3</a>: A panel proposal.  Panel proposals should
  be 45min long, have the &quot;panel&quot; category, and have a titlestarting
  with &quot;Panel:&quot;.</li>
  <li><a class="reference external" href="../example4/">Example 4</a>: What a proposal might look like after the
  review process is complete, with all fields exposed.</li>
  </ul>
  <p><em>Examples 1, 2, &amp; 3may be edited to try out the proposal submission
  system.  Click &quot;Preview&quot; to view your changes.  Your changes will not
  be saved, but are stored in your browser cache for furtherediting
  (just hit the &quot;back&quot; button in your browser).</em></p>
  </div>


url: /2010/tutorials/proposals/
title: Call for Tutorial Proposals
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="call-for-tutorial-proposals">
  <h1 class="title">Call for Tutorial Proposals</h1>
  <p><strong>The call for proposals is now open through October 31st.</strong></p>
  <p>Do you enjoyteaching classes or tutorials?  Are you good at it?
  PyCon 2010 is looking for proposals for tutorials.  The PyCon Tutorial
  Days will be Wednesday March 25 &amp; Thursday March 26, 2010,followed by three
  Conference Days and four days of Development Sprints.</p>
  <p>There will be morning and afternoon tutorial sessions (3 hours each,
  plus a 30-minute break).  Presenters mayrequest multiple sessions, but must
  submit separate proposals (details below).  Tutorials may be on any topic,
  but obviously should be instructional in nature.</p>
  <p><a class="reference external" href="http://wiki.python.org/moin/PyCon2007/Feedback/TutorialIdeas">Tutorial topic ideasfrom PyCon 2007 attendees can be found here.</a></p>
  <p>Presenters will be notified of the status of their proposal bythe
  proposal acceptance date: November 30, 2008.</p>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#important-dates" id="id5">Important Dates</a></li>
  <li><a class="reference internal" href="#permission-to-record-releasepresentations" id="id6">Permission to Record &amp; ReleasePresentations</a></li>
  <li><a class="reference internal" href="#submission-format" id="id7">Submission Format</a></li>
  <li><a class="reference internal" href="#sessionstructure" id="id8">SessionStructure</a></li>
  <li><a class="reference internal" href="#preparation" id="id9">Preparation</a></li>
  <li><a class="reference internal" href="#honoraria" id="id10">Honoraria</a></li>
  <li><a class="reference internal" href="#cancellation" id="id11">Cancellation</a></li>
  </ul>
  </div>
  <div class="section" id="important-dates">
  <h1><a class="toc-backref" href="#id5">Important Dates</a></h1>
  <div class="system-message">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 31)</p>
  <p>Malformed table.</p>
  <pre class="literal-block">
  +------------+-------------------------------------------+
  | Date| Description                               |
  +============+===========================================+
  | 2008-09-16 | Call for Proposals Opens|
  +------------+-------------------------------------------+
  | 2008-10-31 | Call for Proposals Closes                 |
  +------------+-------------------------------------------+
  |2008-11-30 | Notice of Acceptance                      |
  +------------+-------------------------------------------+
  | 2010-03-01 | Cancellation date: (inadequateattendance)|
  +------------+-------------------------------------------+
  | 2010-03-18 | Handout submission deadline (pdf)|
  +------------+-------------------------------------------+
  | 2010-03-25 | First tutorial day                        |
  +------------+-------------------------------------------+
  |2010-03-26 | Second tutorial day                       |
  +------------+-------------------------------------------+
  </pre>
  </div>
  </div>
  <div class="section" id="permission-to-record-releasepresentations">
  <h1><a class="toc-backref" href="#id6">Permission to Record &amp; ReleasePresentations</a></h1>
  <p>Part of the motivation for PyCon is to help with Python education and
  advocacy around the world, not just in the UnitedStates, and not just
  at PyCon. Accordingly,
  we intend to record all PyCon presentations and release the recordings
  on the web. By submitting your tutorial proposal, you agree togive
  permission to the Python Software Foundation to record, edit, and
  release audio and/or video of your presentation.</p>
  <p>To cut down on administration, no exceptions will be made. Ifyou
  don't want to give the PSF permission to record your presentation and
  release the recording, do not submit a proposal.</p>
  <p>For details, see the <a href="#id3"><span class="problematic" id="id4">`Recording Release Agreement&lt;/2010/conference/release/&gt;`__</span></a>.</p>
  </div>
  <div class="section" id="submission-format">
  <h1><a class="toc-backref" href="#id7">Submission Format</a></h1>
  <p>Proposals should be 800 to 1500 words long (i.e., three to six pages in
  manuscript format).  Multipletutorial sessions may be requested, but
  <strong>a separate proposal must be submitted for each session
  (separate outlines, etc.).  Do not combine two sessions into one proposal.</strong>
  Proposalsmust include the following information:</p>
  <ul class="simple">
  <li>Tutorial title.</li>
  <li>Presenter name(s) &amp; contact information (email, telephone).  If more than one
  person will be presenting the session,please select one person to be the
  primary contact.</li>
  <li>Tutorial format description (lecture, interactive lecture, Q&amp;A
  session [master class], hands-on, etc.).  Bespecific.</li>
  <li>Recording: indicate if you are amenable to your tutorial being
  recorded.  &quot;I give permission to record and publish my PyCon
  tutorial for free distribution.&quot;</li>
  </ul>
  <dl class="docutils">
  <dt><a href="#id1"><span class="problematic" id="id2">*</span></a>Intended audience (difficulty level, experience required):</dt>
  <dd><div class="first system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 92); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p class="last">non-programmers, beginning programmers, advanced users, CPython
  developers, etc.</p>
  </dd>
  </dl>
  <ul class="simple">
  <li>Maximum number of students, ifappropriate.</li>
  <li>Prerequisites: What experience must attendees have in order to
  fully benefit from this tutorial?
  If one tutorial is a prerequisite for another, this must beclearly
  noted in both proposals.
  If you are proposing multiple sessions, indicate your preference
  of either &quot;back-to-back&quot; sessions on one day or split over the
  twodays.</li>
  <li>Attendee Requirements: A list of software and hardware attendees
  will need for the tutorial.
  (Laptop required or recommended?  Python installed?
  Which version?  3rd-party packages required?  Provide links &amp;
  versions.)</li>
  <li>Presenter Requirements: Any special requirements you may have.
  Standard equipment is a 1024x768 projector; you supply thelaptop.</li>
  <li>Notes for reviewers.</li>
  <li>Promotional summary (max. 100 words).</li>
  <li>Detailed tutorial outline, for review (include timing).</li>
  <li>Tutorial outline for websitepublication, if different from the
  above.</li>
  <li>Presenter bio (one paragraph), written in the third person
  (&quot;Presenter Name is...&quot;).  Include where you live, your job, your</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 124)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>projects, books you've written, volunteer activities, family, etc.</p>
  <ul class="simple">
  <li>Previous experience: references of presentation/teaching engagements
  (sessions taught at OSCON, EuroPython, localuser groups, at work,
  etc.).  Extra consideration will be given to presenters with prior
  experience.</li>
  </ul>
  <p>Be specific and detailed.  Your proposal is what we use to determine ifyour
  class should be offered; often we have multiple proposals on the same (or similar)
  topics.  Also, tutorial levels not matching some attendee expectations was a
  significantcomplaint in 2008.</p>
  <p>Plaintext (reST) is preferred, with HTML as a secondary alternative.  Send
  your proposal (and any questions) to &lt;<a class="reference external" href="mailto:pycon-tutorials&#37;&#52;&#48;python&#46;org">pycon-tutorials<span>&#64;</span>python<span>&#46;</span>org</a>&gt;.  You should
  get anacknowledgment from us.  If you do not, please follow up an email
  letting us know.</p>
  <p>See the <a class="reference external" href="example-proposal/">example tutorial proposal</a>.</p>
  </div>
  <div class="section" id="sessionstructure">
  <h1><a class="toc-backref" href="#id8">SessionStructure</a></h1>
  <p>Each session will be 3 hours long, plus a break, broken up as follows:</p>
  <ul class="simple">
  <li>90 minutes: first half of tutorial</li>
  <li>30 minutes: break -- refreshmentsserved</li>
  <li>90 minutes: second half of tutorial</li>
  </ul>
  <p>It is important that you adhere to this structure, to within a few minutes.
  If you break too early, the refreshments may not be readyby the time you resume.
  If you break too late, the refreshments may all be gone.
  Either way, your students would <strong>not</strong> be happy with you.</p>
  <p>So structure your proposal so you caneasily break the session in two halves,
  and stick to it on the day!</p>
  </div>
  <div class="section" id="preparation">
  <h1><a class="toc-backref" href="#id9">Preparation</a></h1>
  <p>PyCon attendees pay extra to register for your tutorial, and you
  are beingpaid to present it.  You are expected to prepare
  professional slides &amp; handouts, and to practice and polish your
  delivery.  Check your code for typos &amp; syntax errors (i.e., run allof
  your code).</p>
  <p>Presenters must supply PDFs for handouts (notes, workbook, etc.),
  maximum 50 pages.  At minimum, handouts must contain a copy of the
  presentation (slides), but youare encouraged to include more details.
  PyCon will reproduce sufficient copies for everyone enrolled.  Please submit
  your PDFs in 8.5x11 format (not A4).</p>
  <p>If you're having troublemeeting the deadlines, please let us know as
  soon as possible.</p>
  <p>Presenters are encouraged to promote their tutorials.  You may submit
  an article for publication on the PyCon blog (theearlier the better).</p>
  </div>
  <div class="section" id="honoraria">
  <h1><a class="toc-backref" href="#id10">Honoraria</a></h1>
  <p>An honorarium of $1,500.00 (USD) will be paid for each tutorial.
  Additional compensation will be made for tutorials scheduled for
  the first day (Wednesday): the equivalent of 1 room-night at a conference hotel.</p>
  <p>Please watch for details on paperwork that will need to be filled out.</p>
  <p>Conference registration,accommodations, and transportation are the
  responsibility of the instructors.
  PyCon is a volunteer-run, low-cost, &quot;everybody pays&quot; community conference.
  However, financial assistancewill be available and instructors who pay their
  own way are encouraged to apply (details TBA).</p>
  </div>
  <div class="section" id="cancellation">
  <h1><a class="toc-backref" href="#id11">Cancellation</a></h1>
  <p>We reserve the right to cancel tutorials withfewer than 10 people
  enrolled as of the cancellation date.  Presenters will not be paid for
  canceled tutorials.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em><a href="#id4">backlink</a></em></p>
  Anonymous hyperlink mismatch: 1 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  </div>
  </div>


url: /2010/helping/bugs/
title: Reporting Bugs
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="reporting-bugs">
  <h1 class="title">Reporting Bugs</h1>
  <p>The site is under active development, and from time to time there will be
  errors, bugs, and other problems. We need to know aboutthem!</p>
  <p>When you run into a problem, please file a <a class="reference external" href="https://pycon.coderanger.net/newticket?component=website">ticket</a>.</p>
  <p>Bugs relating to missing information or pages,
  improper HTML, or other website related issues should be filed under the
  'website' category. All other should be filed under 'pycon-tech' and will
  be triaged. Please provide fullinformation on the problem, including your
  name (PyCon login name or full name). You need not
  provide your e-mail address, or have an account on this or the trac site.</p>
  </div>


url: /2010/sponsors/vendors/
title: Vendors and Exhibitors at PyCon
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="vendors-and-exhibitors-at-pycon">
  <h1 class="title">Vendors and Exhibitors at PyCon</h1>
  <p><em>TBD</em></p>
  </div>


url: /2010/site/
title: Site Management
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="site-management">
  <h1 class="title">Site Management</h1>
  <p>Thissection of the site is for management of the site by organizers.
  Only staff will see the &quot;SITE&quot; menu.</p>
  <ul class="simple">
  <li><a class="reference external" href="howto/">Instructions for maintaining the site</a> (reporting bugs &amp; issues,</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 12)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>editing pages, editing menus, adding public files, RSS feeds, about this site)</p>
  <ul>
  <li><p class="first"><a href="#id2"><span class="problematic" id="id3">`List of open tickets related to website content`__</span></a> (external link)</p>
  <p>__https://pycon.coderanger.net/query?status=new&amp;status=assigned&amp;status=reopened&amp;component=website&amp;order=priority</p>
  </li>
  <li><p class="first"><a href="#id2"><span class="problematic" id="id4">`List of open tickets related to the web framework &amp; HTML`__</span></a> (externallink)</p>
  </li>
  <li><p class="first"><a href="#id5"><span class="problematic" id="id6">`Recent Changes`_</span></a></p>
  </li>
  <li><p class="first"><a href="#id7"><span class="problematic" id="id8">`Page Index`_</span></a></p>
  </li>
  </ul>
  <p>.._Recent Changes: ../recent/
  .. _Page Index: ../index/</p>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id2">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em>backlinks: <a href="#id3">1</a>, <a href="#id4">2</a></em></p>
  Anonymous hyperlink mismatch: 2 references but 1 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 22); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;recent changes&quot;.</div>
  <div class="system-message" id="id7">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 24); <em><a href="#id8">backlink</a></em></p>
  Unknown target name: &quot;page index&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/proposals/example-proposal/
title: Example Tutorial Proposal
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="example-tutorial-proposal">
  <h1 class="title">Example Tutorial Proposal</h1>
  <p>The following is an actual tutorial proposal from 2007, reworked to
  conform to the 2008 proposalrequirements.</p>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#code-like-a-pythonista-idiomaticpython" id="id7">Code Like a Pythonista: IdiomaticPython</a><ul>
  <li><a class="reference internal" href="#notes-for-reviewers" id="id8">Notes for Reviewers</a></li>
  <li><a class="reference internal" href="#promotional-summary" id="id9">Promotional Summary</a></li>
  <li><a class="reference internal" href="#outline-forreview" id="id10">Outline forReview</a></li>
  <li><a class="reference internal" href="#outline-forwebsite" id="id11">Outline forWebsite</a></li>
  <li><a class="reference internal" href="#presenter-bio" id="id12">Presenter Bio</a></li>
  <li><a class="reference internal" href="#presenter-s-previousexperience" id="id13">Presenter's PreviousExperience</a></li>
  </ul>
  </li>
  </ul>
  </div>
  <div class="section" id="code-like-a-pythonista-idiomaticpython">
  <h1><a class="toc-backref" href="#id7">Code Like a Pythonista: IdiomaticPython</a></h1>
  <p>Presenter: David Goodger (<a class="reference external" href="mailto:goodger&#37;&#52;&#48;python&#46;org">goodger<span>&#64;</span>python<span>&#46;</span>org</a>, +1-555-123-4567)</p>
  <p>Intended audience: beginning to intermediate Pythonprogrammers.
  Familiarity with Python's syntax is assumed.</p>
  <p>Tutorial format: Interactive lecture, with lots of short examples that
  attendees can try out on the fly.  I will takequestions throughout
  the tutorial.</p>
  <p>Recording: I give permission to record and publish my tutorial for
  free distribution.</p>
  <p>Requirements: Attendees are welcome to bring theirlaptops with Python
  installed (version 2.4 or higher).</p>
  <div class="section" id="notes-for-reviewers">
  <h2><a class="toc-backref" href="#id8">Notes for Reviewers</a></h2>
  <p>In the tutorial I presented at PyCon 2006 (Text &amp; Data Processing),
  I wassurprised at the reaction to two techniques I used:</p>
  <ul class="simple">
  <li>Advanced string formatting with &quot;%&quot; (&quot;%(name)s&quot;, &quot;locals()&quot;)</li>
  <li>Decorate-sort-undecorate</li>
  </ul>
  <p>Many of the attendees were unawareof these tools that many
  experienced Python programmers use without thinking.  This tutorial
  will present these and many other idioms &amp; techniques that beginning
  programmers can benefitfrom immediately.</p>
  </div>
  <div class="section" id="promotional-summary">
  <h2><a class="toc-backref" href="#id9">Promotional Summary</a></h2>
  <p>Are you comfortable with Python's syntax, but have yet to master its
  idioms?  Does Python still feel a bit likea foreign language?  Are
  you looking for more &quot;elegance&quot; for your programs?</p>
  <p>In this interactive tutorial, we'll cover many essential Python idioms
  and techniques in depth, addingimmediately useful tools to your belt.
  Rationale will be provided for all idioms -- the &quot;why&quot; in addition to
  the &quot;what &amp; how&quot;.  We'll run through lots of small, practical,
  hands-onexamples.  I will take questions throughout the tutorial.</p>
  <p>Attendees should bring a laptop if possible, to try out the techniques
  they learn.</p>
  </div>
  <div class="section" id="outline-forreview">
  <h2><a class="toc-backref" href="#id10">Outline forReview</a></h2>
  <ul>
  <li><p class="first">Introduction: Zen of Python (10 minutes)</p>
  <p>Good &quot;rules of thumb&quot;, open to interpretation.</p>
  <p>When in doubt, <tt class="docutils literal"><span class="pre">import</span> <span class="pre">this</span></tt>.</p>
  </li>
  <li><p class="first">Codingstyle (10 minutes)</p>
  <ul class="simple">
  <li>PEP 8</li>
  <li>Naming:<ul>
  <li>joined_lower for functions, methods, attributes</li>
  <li>joined_lower or ALL_CAPS for constants</li>
  <li>StudlyCaps forclasses</li>
  <li>camelCase only to conform to pre-existing conventions</li>
  <li>Attributes: interface, _internal, __private</li>
  <li>Don't use __private -- you'll regret it later</li>
  </ul>
  </li>
  </ul>
  <p>-Line continuations:</p>
  <blockquote>
  <ul class="simple">
  <li>use parentheses/brackets/braces</li>
  <li>backslashes are fragile; use as last resort</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>spaces; no hard tabs</li>
  <li>docstrings vs. comments</li>
  </ul>
  </li>
  </ul>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Idiom potpourri (30 minutes)</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 94); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul>
  <li><p class="first">swap values (<tt class="docutils literal"><span class="pre">a,</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">b,</span> <span class="pre">a</span></tt>)</p>
  </li>
  <li><p class="first">Build strings as a list and use ''.join at the end.</p>
  </li>
  <li><p class="first">Use <tt class="docutils literal"><span class="pre">key</span> <span class="pre">in</span> <span class="pre">dict</span></tt>, not``dict.has_key()``:</p>
  <pre class="literal-block">
  # do this:
  if key not in d:
      d[key] = []

  # not this:
  if not d.has_key(key):
      d[key] =[]
  </pre>
  </li>
  <li><p class="first">dict.setdefault</p>
  </li>
  <li><p class="first">DefaultDict (2.5)</p>
  </li>
  <li><p class="first">truth vs. <tt class="docutils literal"><span class="pre">==</span></tt>:</p>
  <pre class="literal-block">
  # do this:
  if x:
      pass

  # not this:
  if x== True:
      pass
  </pre>
  </li>
  <li><p class="first">for line in file (modulo mixing .next &amp; .read* methods, exception
  in 2.5)</p>
  </li>
  <li><p class="first">enumerate</p>
  </li>
  <li><p class="first"><tt class="docutils literal"><span class="pre">from</span> <span class="pre">module</span> <span class="pre">import</span> <span class="pre">*</span></tt> -- NOT</p>
  </li>
  </ul>
  </blockquote>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>Advanced string formatting with &quot;%&quot; (10 minutes)</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 131); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul class="simple">
  <li><tt class="docutils literal"><span class="pre">%(name)s</span></tt></li>
  <li><tt class="docutils literal"><span class="pre">locals()</span></tt></li>
  </ul>
  </blockquote>
  <ul>
  <li><p class="first">Decorate-sort-undecorate (15 minutes)</p>
  </li>
  <li><p class="first">List comprehensions &amp; generator expressions(10 minutes)</p>
  <ul class="simple">
  <li>clear &amp; concise, up to a point</li>
  <li>when to use loops instead</li>
  </ul>
  </li>
  <li><p class="first">Generators: simplify sequence/iterator handling (20 minutes)</p>
  <ul class="simple">
  <li>how generators work, underthe hood</li>
  <li>how a <tt class="docutils literal"><span class="pre">for</span></tt> loop really works (including the <tt class="docutils literal"><span class="pre">else</span></tt> clause)</li>
  <li>example with CSV pre-filter &amp; post-filter generators</li>
  </ul>
  </li>
  <li><p class="first">EAFP vs. LBYL (10 minutes)</p>
  <p>-exceptions
  - duck typing</p>
  </li>
  <li><p class="first">Scripts &amp; modules (30 minutes)</p>
  <ul>
  <li><p class="first">Importable module &amp; executable script:</p>
  <pre class="literal-block">
  if __name__ == '__main__':
  </pre>
  <p>When imported, amodule's <tt class="docutils literal"><span class="pre">__name__</span></tt> attribute is the module's
  file name (without &quot;.py&quot;).  When executed as a script,
  <tt class="docutils literal"><span class="pre">__name__</span></tt> is set to &quot;__main__&quot;.</p>
  <p>Except for special cases,don't put any regular executable code at
  the top-level.  Put code in functions, classes, methods, and
  guarded by <tt class="docutils literal"><span class="pre">if</span> <span class="pre">__name__</span> <span class="pre">==</span> <span class="pre">'__main__'</span></tt>.</p>
  </li>
  <li><p class="first">Modulestructure:</p>
  <pre class="literal-block">
  &quot;&quot;&quot;module docstring&quot;&quot;&quot;

  # imports

  # constants

  # exception classes

  # interface functions

  #classes

  # internal functions &amp; classes

  if __name__ == '__main__':
      status = main()
      sys.exit(status)
  </pre>
  </li>
  <li><p class="first">Command-lineprocessing: cmdline.py</p>
  </li>
  </ul>
  </li>
  <li><p class="first">Packages (15 minutes)</p>
  <ul class="simple">
  <li>Used to organize your project.</li>
  <li>Reduces entries in load-path.</li>
  <li>Reduces import name conflicts.</li>
  <li>Absolute andrelative imports in Python 2.5</li>
  </ul>
  </li>
  <li><p class="first">Q&amp;A and time overrun buffer (20 minutes)</p>
  </li>
  <li><p class="first">Extra topic if there's time:
  Classes vs. functions, modules vs. packages</p>
  </li>
  </ul>
  </div>
  <div class="section" id="outline-forwebsite">
  <h2><a class="toc-backref" href="#id11">Outline forWebsite</a></h2>
  <ul class="simple">
  <li>Introduction: Zen of Python</li>
  <li>Coding style</li>
  <li>Idiom potpourri: Strings, dictionaries, booleans, sequences, etc.</li>
  <li>Advanced string formatting with&quot;%&quot;</li>
  <li>List comprehensions &amp; generator expressions</li>
  <li>Sorting, decorate-sort-undecorate</li>
  <li>Generators: simplify sequence/iterator handling</li>
  <li>EAFP vs. LBYL</li>
  <li>Scripts &amp; modules</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 215)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id5"><span class="problematic" id="id6">*</span></a>Packages
  * Q&amp;A</p>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 215); <em><a href="#id6">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </div>
  <div class="section" id="presenter-bio">
  <h2><a class="toc-backref" href="#id12">Presenter Bio</a></h2>
  <p>David Goodger is a full-time Python programmer working in the financial
  sector, founder and architect of theDocutils
  project and reStructuredText, an editor of the Python Enhancement
  Proposals (or PEPs), an organizer of PyCon 2007, a member of the
  Python Software Foundation, a Director of theFoundation for the past
  year, and its Secretary.  David lives near Montreal with his wife and
  two children.</p>
  </div>
  <div class="section" id="presenter-s-previousexperience">
  <h2><a class="toc-backref" href="#id13">Presenter's PreviousExperience</a></h2>
  <ul class="simple">
  <li>Presented a tutorial at PyCon 2006: Text &amp; Data Processing</li>
  <li>As a consultant I have provided training sessions, ranging from</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 237)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>several hours to several days.</p>
  <ul class="simple">
  <li>I worked as an English teacher in Japan for two and a half
  years.</li>
  <li>Regular one-on-one mentoring and occasional in-house group training</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 243)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>sessions are part of my job.</p>
  </div>
  </div>
  </div>


url: /2010/chicago/shopping/
title: Shopping in Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="shopping-in-atlanta">
  <h1 class="title">Shopping in Atlanta</h1>
  <p>(This page is a work-in-progress.  <a class="reference external" href="/2010/helping/">You can help!</a>)</p>
  <p>Need a t-shirt?  Forget your USB cable?  Areyou always on the prowl for a
  good book?  Want to shop the Mag Mile?  Here are some pointers.</p>
  <div class="section" id="computer-stuff">
  <h1>Computer Stuff</h1>
  <p>In case you need to run out and get some oddcomputer cable you forgot, here
  are a few places sort of nearby.</p>
  <ul class="simple">
  <li>Peregrine Systems, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=computers&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=41.98562,-87.860886&amp;sspn=0.600217,0.773163&amp;ie=UTF8&amp;latlng=41988755,-87860232,100867083148005985&amp;ei=SbRAR8inM4zqqgLC6JzKAg&amp;sig2=VcofeEdZ7A_pNFJvf9IOng&amp;cd=1">6133 N. Riber Rd, Rosemont, IL</a>
  (847)954-8100.</li>
  <li>Circuit City, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=circuit+city&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=41.98562,-87.860886&amp;sspn=0.600217,0.773163&amp;ie=UTF8&amp;latlng=42011950,-87770219,11750459277192309650&amp;ei=DrNAR6aKLYTmqgLquYzWAg&amp;sig2=4ZYlnNnAug5Ftx2mTovM_Q&amp;cd=1">5701 Touhy Ave, Niles, IL</a>
  (847)647-1440.</li>
  <li>BestBuy, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=best+buy&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=42.263082,-87.707977&amp;sspn=0.597598,0.773163&amp;ie=UTF8&amp;latlng=41954733,-87807298,950512510390609482&amp;ei=37NAR9OeC5yMrAL1t7jPAg&amp;sig2=PzZ6SSbyNdv9J7_a6uD-xQ&amp;cd=1">4100 N. Harlem Ave, Atlanta, IL</a>
  (708)583-1839.</li>
  </ul>
  <p>and far, but fun.</p>
  <ul class="simple">
  <li>Fry's, <a class="reference external" href="http://maps.google.com/maps?ie=UTF8&amp;oe=utf-8&amp;client=firefox-a&amp;q=fry's+electronics&amp;near=Atlanta,+IL&amp;fb=1&amp;cid=0,0,15485127055130988747&amp;ll=41.827938,-88.026624&amp;spn=0.009034,0.013969&amp;z=16&amp;iwloc=A&amp;om=1">3300 FinleyRd, Downers Grove, IL</a> (630) 390-2100</li>
  </ul>
  </div>
  <div class="section" id="geek-related">
  <h1>Geek-related</h1>
  <p><a class="reference external" href="http://www.apple.com/retail/northmichiganavenue/map/">The Apple Store</a>:
  Located on theMagnificent Mile (Michigan Avenue from the river to Watertower Place, around 900 N.).
  Its an easy taxi ride from anywhere downtown; if you're already on Michigan Avenue near the river,its
  a reasonable walk (from the river probably 10 minutes). There is also an
  <a class="reference external" href="http://www.apple.com/retail/woodfield/week/20071118.html">Apple Store</a> in
  Schaumburg's Woodfield Mall inthe NW suburbs.</p>
  <p><a class="reference external" href="http://www.microcenter.com/at_the_stores/chicago.html">Microcenter</a>:
  This is a great store with lower than average prices (for Atlanta at least).  But, its agoodly
  cab ride and not near an EL stop.  If you take a cab, ask them to wait for you - you're unlikely
  to find an empty cab on the street Microcenter is on.  Its about a 10 minute driveout from downtown.</p>
  <p><a class="reference external" href="http://www.sciplus.com/">American Science &amp; Surplus</a>: A cool source of scientific,
  educational, and entertaining items, often at well below retail prices.
  There's a store at <a class="reference external" href="http://www.sciplus.com/storeDetail.cfm?store=1">5316 N. Milwaukee Avenue</a>, about 5 miles (8 km) from the
  hotel, near the Jefferson Park El station on the Blue line(3 stops away).</p>
  </div>
  <div class="section" id="bibliomania">
  <h1>Bibliomania</h1>
  <p><a class="reference external" href="http://www.quimbys.com/">Quimby's</a>: <cite>Specialists in the importation,
  distribution, and sale of unusual publications , aberrantperiodicals,
  saucy comic booklets and assorted fancies as well as a comprehensive miscellany
  of the latest independent 'zines' that all the kids have been talking about.</cite></p>
  <p><a class="reference external" href="http://myopicbookstore.com/">MyopicBooks</a></p>
  <p><a class="reference external" href="http://www.womenandchildrenfirst.com/">Women &amp; Children First</a></p>
  <p><a href="#id1"><span class="problematic" id="id2">`Centuries &amp; Sleuths&lt;http://www.centuriesandsleuths.com/&gt;`_</span></a></p>
  </div>
  <div class="section" id="general-shopping">
  <h1>General Shopping</h1>
  <p><a href="#id3"><span class="problematic" id="id4">`A fairly nifty map of Magnificent Mile shopping&lt;http://www.chicagotraveler.com/chicago_magnificent_mile_shopping_map.htm&gt;`_</span></a></p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 61); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;centuries &amp; sleuths&lt;http://www.centuriesandsleuths.com/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 67); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;a fairly nifty map of magnificent mile shopping&lt;http://www.chicagotraveler.com/chicago_magnificent_mile_shopping_map.htm&gt;&quot;.</div>
  </div>
  </div>


url: /2010/about/community/
title: PyCon and the Python Community
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="pycon-and-the-python-community">
  <h1 class="title">PyCon and the Python Community</h1>
  <p>The community spirit pervading PyCon has always been one of the most
  attractivefeatures of the conference. This page is here for the community
  to describe itself. Please add information you think will be relevant and
  helpful for new and existing members of the Pythoncommunity.</p>
  <p>Remember, when it comes to PyCon:  <a class="reference external" href="/2010/helping/">you can help!</a> -- and that
  includes maintaining the content of the web site!</p>
  </div>


url: /2010/registration/new/thank-you/
title: Thank You!
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="thank-you">
  <h1 class="title">Thank You!</h1>
  <p>The Python Software Foundation would like to thank you for your support
  of PyCon.</p>
  <p>You can view your invoice and make changes at the <a class="reference external" href="../../view/">My
  Registration</a> page.</p>
  <p>Please assist us further by answering six questions in a <a class="reference external" href="/2010/survey/business/">short
  survey</a>. Thank you again, and have a greatPyCon!</p>
  <div class="section" id="hotel-reservations-information">
  <h1>Hotel Reservations &amp; Information</h1>
  <p><a class="reference external" href="https://www.cteusa.com/pycon1">Make your hotel reservations here (off-site).</a></p>
  <p><a class="reference external" href="../../hotel/">Find hotelinformation here.</a></p>
  </div>
  <div class="section" id="sprints">
  <h1>Sprints!</h1>
  <p>Do you know about the <a class="reference external" href="/2010/sprints/">development sprints</a>?
  Four days for intensive development of Python-related`open-source projects
  &lt;/2010/sprints/projects/&gt;`__, Monday, March 17 to Thursday, March 20.
  You can stay as long as you like, and they're free!</p>
  <p>We'll also have <a class="reference external" href="/2010/sprints/#intro-sessions">introductorysessions</a> on
  Sunday, March 16, including free sprint tutorials.  All are welcome!</p>
  </div>
  </div>


url: /2010/registration/new/sorry/
title: Invoice Pending Payment
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="invoice-pending-payment">
  <h1 class="title">Invoice Pending Payment</h1>
  <p><strong>We are currently experiencing problems with our payment processor.</strong>
  We are working with them to resolve the issue.</p>
  <p>Yourregistration has been saved, and the early-bird price will be honored.</p>
  <p>A PyCon representative will e-mail you in the next few days with instructions
  on completing the checkoutprocess.</p>
  <p>Sorry for any inconvenience this has caused you.</p>
  <blockquote>
  -PyCon Organizers</blockquote>
  <hr class="docutils" />
  <p><a class="reference external" href="../../thank-you/">Proceed to Thank-You</a></p>
  </div>


url: /2010/about/network/
title: Networking At PyCon
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="networking-at-pycon">
  <h1 class="title">Networking At PyCon</h1>
  <p>PyCon will have wireless network coverage of all meeting and &quot;quiet&quot; rooms, and coverage of the main corridor areas around these rooms.  Networkaccess may also be available in other locations, check the Wiki for more information.  Network access is available as 802.11a, 802.11b, and 802.11g.</p>
  </div>


url: /2010/registration/new/
title: Registration Instructions
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="registration-instructions">
  <h1 class="title">Registration Instructions</h1>
  <p><em>TBD</em></p>
  </div>


url: /2010/chicago/transit/
title: Getting Around Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="getting-around-atlanta">
  <h1 class="title">Getting Around Atlanta</h1>
  <p>There's a free shuttle to get to the <a class="reference external" href="../hotel">hotel</a> from the airport.</p>
  <p><a class="reference external" href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=101366992701854199693.0004464acc1cf925e6ad5&amp;z=15">Here's a custom Google mapwith the hotel, airport, restaurants and other points of interest.</a></p>
  <div class="section" id="masstransit">
  <h1>MassTransit</h1>
  <p>Atlanta has an excellent mass transit system including rail and bus service
  from both major airports and around the city.
  You can plan a trip using <a class="reference external" href="http://tripsweb.rtachicago.com/">the tripplanner</a> --
  highly recommended!  The planner doesn't make it obvious how fares work; if you see a fare
  over $2 it's probably inaccurate if you get afare card.</p>
  <p>Atlanta's rapid transit system is called the 'L'; this is run by <a class="reference external" href="http://transitchicago.com">the Atlanta Transit
  Authority (CTA)</a>, who also runs bus service in the
  city.  <a class="reference external" href="http://transitchicago.com/maps/systemmaps.html">You can find system maps here.</a>
  The CTA is a great way to get around if you want to <a class="reference external" href="/2010/chicago/explore/">explore Atlanta</a>.</p>
  <p>The conference hotel is located two blocks south of the Rosemont 'L' station on the
  Blue Line, a short walk away.  The Blue Line runs 24 hours a day.The hotel shuttle
  will drop you off there too.  If you walk, be sure to cross River Road by Bryn Mawr Ave
  as there's no chance after that.</p>
  <p>The 'L' costs $2 per trip, plus $0.25if you transfer to a bus.  You can purchase
  or add money to a fare card using cash at all 'L' stations (no credit cards).  Multiple
  people can share a fare card but you'll only have onetransfer.  The CTA system map
  also makes a decent city map, and they'll usually have free maps at stations.
  Stations all have attendants who can answer your questions (but they can'thandle money
  or generally do anything very useful).</p>
  <p>Note that the 'L' is a very loud train.  If you're sensitive to noise,
  the hotel-provided earplugs may come inhandy!</p>
  <p>See Wikipedia for <a class="reference external" href="http://en.wikipedia.org/wiki/Atlanta_%27L%27">more about the 'L'</a>
  and for <a href="#id1"><span class="problematic" id="id2">`more about the CTA&lt;http://en.wikipedia.org/wiki/Atlanta_Transit_Authority&gt;`_</span></a>.</p>
  <p>The commuter rail system is called Metra, and the suburban bus service is
  called Pace; these are run by the Regional TransitAuthority (RTA).  <a class="reference external" href="http://metrarail.com/schedule.html">The
  Metra schedule is here.</a>
  <a class="reference external" href="http://pacebus.com/sub/bus_system/default.asp">You can find more information on Pace routes here.</a></p>
  <p>If you are coming into Midway Airport, note that taking the Orange Line to the Blue
  Line is slow.  The trip planner recommendstaking the #62 Bus to the Blue Line.
  You'll still want to pick up a fare care at the 'L' station (which you can use on
  the bus).</p>
  </div>
  <div class="section" id="taxis">
  <h1>Taxis</h1>
  <p>If you wish to take a cabfrom O'Hare airport, follow the taxi signs overhead
  in the arrivals area of the terminal.  There will be a taxi stand (often with
  a line of people waiting).
  Here's what Fodor's website has to say about taking a taxi from a Atlanta airport:</p>
  <blockquote>
  &quot;<em>BY TAXI</em>: Metered taxicab service is available at both O'Hare and
  Midway airports. Trips to and from O'Hare mayincur a $1 surcharge to
  compensate for changing fuel costs. Expect to pay about $40-$45 plus
  tip from O'Hare to Near North and downtown locations, about $30-$35
  plus tipfrom Midway. Some cabs, such as Checker Taxi and Yellow Cab,
  participate in a share-a-ride program in which each cab carries up to
  four individual passengers going from the airportto downtown. The
  cost per person is substantially lower than the full rate, which is
  approximately $50.&quot;</blockquote>
  <p>You can flag down cabs along most busy streets in Atlanta.  Ifyou're near
  a hotel or cab stand (there are a few cab stands in the downtown area), you
  may find a taxi more easily.</p>
  <p>If you have a group of people you can call for a taxi andrequest a minivan.
  One possible service is 1-800-TAXICAB.  Yellow Cab Atlanta seems to be in flux and
  haven't been answering their phone.  Note that there is an extra fee of $1 foreach
  passenger after the first (the fare structure is written down in each taxi, so you can
  be pretty confident about what the fare should be).</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 41); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;more about the cta&lt;http://en.wikipedia.org/wiki/atlanta_transit_authority&gt;&quot;.</div>
  </div>
  </div>


url: /2010/chicago/explore/
title: Explore Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="explore-atlanta">
  <h1 class="title">Explore Atlanta</h1>
  <h2 class="subtitle" id="things-to-do-places-to-go-sights-tosee">Things to do, places to go, sights tosee...</h2>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#museums" id="id5">Museums</a></li>
  <li><a class="reference internal" href="#views" id="id6">Views</a></li>
  <li><a class="reference internal" href="#tours" id="id7">Tours</a></li>
  <li><a class="reference internal" href="#travel-guides-for-atlanta" id="id8">Travel Guides for Atlanta</a></li>
  <li><a class="reference internal" href="#shopping" id="id9">Shopping</a></li>
  <li><a class="reference internal" href="#restaurants" id="id10">Restaurants</a></li>
  <li><a class="reference internal" href="#bars" id="id11">Bars</a></li>
  <li><a class="reference internal" href="#package-deals" id="id12">Package Deals</a></li>
  <li><a class="reference internal" href="#neighborhoods" id="id13">Neighborhoods</a></li>
  </ul>
  </div>
  <p>Share your opinions, recommendations, and alternatives <a class="reference external" href="http://wiki.python.org/moin/PyCon2008/Exploring_Atlanta">on the wikipage</a>.</p>
  <p><a class="reference external" href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=101366992701854199693.0004464acc1cf925e6ad5&amp;z=15">Here's a custom Google map with the hotel, airport, restaurants and other points ofinterest.</a></p>
  <div class="section" id="museums">
  <h1><a class="toc-backref" href="#id5">Museums</a></h1>
  <ul class="simple">
  <li><a class="reference external" href="http://www.artic.edu/">The Museum of the Art Institute ofAtlanta</a></li>
  <li><a class="reference external" href="http://www.mcachicago.org/">The Museum of Contemporary Art</a> --
  this museum is good or bad depending on what the current show is.  If the</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 22)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt><a class="reference external" href="http://www.mcachicago.org/exhibitions/index.php">current shows</a> sound</dt>
  <dd>interesting to you then it's great... otherwise, not so much.</dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 24)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <ul class="simple">
  <li><a href="#id14"><span class="problematic" id="id15">`The John G. Shedd Aquarium&lt;http://www.sheddaquarium.org/&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.msichicago.org/">The Museum of Science and Industry</a></li>
  <li><a href="#id16"><span class="problematic" id="id17">`The Field Museum&lt;http://www.fieldmuseum.org/&gt;`_</span></a></li>
  </ul>
  </div>
  <div class="section" id="views">
  <h1><a class="toc-backref" href="#id6">Views</a></h1>
  <ul>
  <li><p class="first"><a class="reference external" href="http://www.the-skydeck.com/">The Sears Tower Skydeck</a></p>
  </li>
  <li><p class="first"><a href="#id1"><span class="problematic" id="id2">`</span></a>The Hancock Observatory &lt;<a class="reference external" href="http://www.hancock-observatory.com/">http://www.hancock-observatory.com/</a>&gt;`_in
  the John Hancock Center, 875 N. Michigan Avenue, in the Magnificent
  Mile shopping area.  Considered by many to be a better deal than the
  Sears Tower Skydeck (cheaper, a shorterwait, and in a shopping area,
  but not quite as high).</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 31); <em><a href="#id2">backlink</a></em></p>
  <p>Inline interpreted text or phrase reference start-string without end-string.</p>
  </div>
  </li>
  <li><p class="first">The bar and lounge in the Hancock building.  Free to enter, and just one floor
  below the Observatory.  You get the same view,and spend your money on a
  drink and a nice atmosphere instead of an entrance fee.</p>
  </li>
  </ul>
  </div>
  <div class="section" id="tours">
  <h1><a class="toc-backref" href="#id7">Tours</a></h1>
  <ul class="simple">
  <li><a href="#id18"><span class="problematic" id="id19">`CAF Architecture river cruise&lt;http://www.architecture.org/tour_view.aspx?TourID=8&gt;`_</span></a>
  -- this might be cold at this time of year, but it's an excellent tour.</li>
  <li><a href="#id20"><span class="problematic" id="id21">`Other Atlanta Architecture Foundation Tours&lt;http://www.architecture.org/&gt;`_</span></a>
  -- they run several other tours every day as well.</li>
  <li><a class="reference external" href="http://www.wrightplus.org/tours/tours.php">Frank Lloyd Wright Tours</a> --
  in Oak Park, thesuburb immediately west of Atlanta where Frank Lloyd Wright
  built a great number of homes.  Many (most?) of them are still occupied, so you
  mostly see the exterior of thebuildings.</li>
  </ul>
  </div>
  <div class="section" id="travel-guides-for-atlanta">
  <h1><a class="toc-backref" href="#id8">Travel Guides for Atlanta</a></h1>
  <ul class="simple">
  <li><a href="#id22"><span class="problematic" id="id23">`Fodor's Guide to Atlanta&lt;http://www.fodors.com/miniguides/mgresults.cfm?destination=chicago&#64;49&amp;cur_section=ove&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.lonelyplanet.com/worldguide/destinations/north-america/usa/chicago">The Lonely Planet Guide to Atlanta</a></li>
  <li><a class="reference external" href="http://wikitravel.org/en/Atlanta">WikiTravel Atlanta</a></li>
  </ul>
  </div>
  <div class="section" id="shopping">
  <h1><a class="toc-backref" href="#id9">Shopping</a></h1>
  <p>See <a href="#id24"><span class="problematic" id="id25">`Shopping in Atlanta&lt;../shopping/&gt;`_</span></a>.</p>
  </div>
  <div class="section" id="restaurants">
  <h1><a class="toc-backref" href="#id10">Restaurants</a></h1>
  <p>If you're going to shop, you've got to eat - see <a class="reference external" href="../restaurants">Atlanta Restaurants</a>.</p>
  </div>
  <div class="section" id="bars">
  <h1><a class="toc-backref" href="#id11">Bars</a></h1>
  <p>Because, well...because.  See <a class="reference external" href="../bars">Atlanta Bars</a>.</p>
  </div>
  <div class="section" id="package-deals">
  <h1><a class="toc-backref" href="#id12">Package Deals</a></h1>
  <p>If you are going to tack on some real vacation time, these can save you a few bucks.</p>
  <ul class="simple">
  <li><a href="#id3"><span class="problematic" id="id4">`CityPass&lt;http://www.citypass.com/city/chicago.html&gt;`__</span></a> ($49.50 adults, $39 children)
  includes the Shedd Aquarium VIP, The Field Museum &amp; Underground Adventure,
  Adler Planetarium, Museum ofScience and Industry plus OMNIMAX,
  and The Hancock Observatory</li>
  </ul>
  </div>
  <div class="section" id="neighborhoods">
  <h1><a class="toc-backref" href="#id13">Neighborhoods</a></h1>
  <p>On the Blue Line, before you get to the Loop (aka Downtown), there are twointeresting
  neighborhoods you might want to explore.</p>
  <p>The first is <a class="reference external" href="http://en.wikipedia.org/wiki/West_Town,_Atlanta#Wicker_Park">Wicker Park</a>
  (and immediately to the north,`Bucktown &lt;<a class="reference external" href="http://en.wikipedia.org/wiki/Logan_Square%2C_Atlanta#Bucktown">http://en.wikipedia.org/wiki/Logan_Square%2C_Atlanta#Bucktown</a>&gt;`_).
  The Damen stop is at the center of Wicker Park.  There are interesting things southeast on Milwaukee
  (to theMilwaukee stop), or north on Damen (which takes you towards Bucktown).  Wicker
  Park is kind of artsy and hip.  The neighborhood is a little rough despite the strong
  pressure ofgentrification.</p>
  <p>Closer to the hotel is <a class="reference external" href="http://en.wikipedia.org/wiki/Logan_Square">Logan Square</a>,
  which is a neighborhood with a large hispanic population.  You can get off atthe
  Logan Square station.</p>
  <p>There are several interesting north-side neighborhoods in Atlanta.  To get to these
  with mass transit you'll have to take a bus (or a taxi of course).`Fullerton and Clark
  &lt;<a class="reference external" href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=fullteron%20and%20clark%2C%20chicago&amp;ie=UTF8">http://maps.google.com/maps?f=q&amp;hl=en&amp;q=fullteron%20and%20clark%2C%20chicago&amp;ie=UTF8</a>&gt;`_
  may be a good starting point.  All of Clark Avenue is interesting (as is itsneighboring
  street Broadway).  At Addison and Clark you are in Wrigleyville, home to many sports bars
  and some improv theater.  This area is generally fun to wander around in, day
  ornight.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em><a href="#id4">backlink</a></em></p>
  Anonymous hyperlink mismatch: 1 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id14">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 24); <em><a href="#id15">backlink</a></em></p>
  Unknown target name: &quot;the john g. shedd aquarium&lt;http://www.sheddaquarium.org/&gt;&quot;.</div>
  <div class="system-message" id="id16">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 26); <em><a href="#id17">backlink</a></em></p>
  Unknown target name: &quot;the field museum&lt;http://www.fieldmuseum.org/&gt;&quot;.</div>
  <div class="system-message" id="id18">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 42); <em><a href="#id19">backlink</a></em></p>
  Unknown target name: &quot;caf architecture river cruise&lt;http://www.architecture.org/tour_view.aspx?tourid=8&gt;&quot;.</div>
  <div class="system-message" id="id20">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 44); <em><a href="#id21">backlink</a></em></p>
  Unknown target name: &quot;other atlanta architecture foundation tours&lt;http://www.architecture.org/&gt;&quot;.</div>
  <div class="system-message" id="id22">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 53); <em><a href="#id23">backlink</a></em></p>
  Unknown target name: &quot;fodor's guide to atlanta&lt;http://www.fodors.com/miniguides/mgresults.cfm?destination=chicago&#64;49&amp;cur_section=ove&gt;&quot;.</div>
  <div class="system-message" id="id24">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 60); <em><a href="#id25">backlink</a></em></p>
  Unknown target name: &quot;shopping in atlanta&lt;../shopping/&gt;&quot;.</div>
  </div>
  </div>


url: /2010/chicago/explore/
title: Explore Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="explore-atlanta">
  <h1 class="title">Explore Atlanta</h1>
  <h2 class="subtitle" id="things-to-do-places-to-go-sightstosee">Things to do, places to go, sightstosee...</h2>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#museums" id="id7">Museums</a></li>
  <li><a class="reference internal" href="#views" id="id8">Views</a></li>
  <li><a class="reference internal" href="#tours" id="id9">Tours</a></li>
  <li><a class="reference internal" href="#travel-guides-for-atlanta" id="id10">Travel Guides for Atlanta</a></li>
  <li><a class="reference internal" href="#shopping" id="id11">Shopping</a></li>
  <li><a class="reference internal" href="#restaurants" id="id12">Restaurants</a></li>
  <li><a class="reference internal" href="#bars" id="id13">Bars</a></li>
  <li><a class="reference internal" href="#package-deals" id="id14">Package Deals</a></li>
  <li><a class="reference internal" href="#neighborhoods" id="id15">Neighborhoods</a></li>
  </ul>
  </div>
  <p>Share your opinions, recommendations, and alternatives <a class="reference external" href="http://wiki.python.org/moin/PyCon2008/Exploring_Atlanta">on thewikipage</a>.</p>
  <p><a class="reference external" href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=101366992701854199693.0004464acc1cf925e6ad5&amp;z=15">Here's a custom Google map with the hotel, airport, restaurants and other pointsofinterest.</a></p>
  <div class="section" id="museums">
  <h1><a class="toc-backref" href="#id7">Museums</a></h1>
  <ul class="simple">
  <li><a class="reference external" href="http://www.artic.edu/">The Museum of the Art InstituteofAtlanta</a></li>
  <li><a class="reference external" href="http://www.mcachicago.org/">The Museum of Contemporary Art</a> --
  this museum is good or bad depending on what the current show is.  Ifthe</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 22)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt><a class="reference external" href="http://www.mcachicago.org/exhibitions/index.php">current shows</a> sound</dt>
  <dd>interesting to you then it's great... otherwise, not so much.</dd>
  </dl>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 24)</p>
  Definition list ends without a blank line; unexpected unindent.</div>
  <ul class="simple">
  <li><a href="#id16"><span class="problematic" id="id17">`The John G. SheddAquarium&lt;http://www.sheddaquarium.org/&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.msichicago.org/">The Museum of Science and Industry</a></li>
  <li><a href="#id18"><span class="problematic" id="id19">`The FieldMuseum&lt;http://www.fieldmuseum.org/&gt;`_</span></a></li>
  </ul>
  </div>
  <div class="section" id="views">
  <h1><a class="toc-backref" href="#id8">Views</a></h1>
  <ul>
  <li><p class="first"><a class="reference external" href="http://www.the-skydeck.com/">The Sears Tower Skydeck</a></p>
  </li>
  <li><p class="first"><a href="#id1"><span class="problematic" id="id2">`</span></a>The Hancock Observatory &lt;<a class="reference external" href="http://www.hancock-observatory.com/">http://www.hancock-observatory.com/</a>&gt;`_in
  the John Hancock Center, 875 N. Michigan Avenue, in the Magnificent
  Mile shopping area.  Considered by many to be a better deal than the
  Sears Tower Skydeck(cheaper, a shorterwait, and in a shopping area,
  but not quite as high).</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 31); <em><a href="#id2">backlink</a></em></p>
  <p>Inline interpreted text or phrase reference start-string without end-string.</p>
  </div>
  </li>
  <li><p class="first">The bar and lounge in the Hancock building.  Free to enter, and just one floor
  below the Observatory.  Youget the same view,and spend your money on a
  drink and a nice atmosphere instead of an entrance fee.</p>
  </li>
  </ul>
  </div>
  <div class="section" id="tours">
  <h1><a class="toc-backref" href="#id9">Tours</a></h1>
  <ul class="simple">
  <li><a href="#id20"><span class="problematic" id="id21">`CAF Architecture rivercruise&lt;http://www.architecture.org/tour_view.aspx?TourID=8&gt;`_</span></a>
  -- this might be cold at this time of year, but it's an excellent tour.</li>
  <li><a href="#id22"><span class="problematic" id="id23">`Other Atlanta Architecture FoundationTours&lt;http://www.architecture.org/&gt;`_</span></a>
  -- they run several other tours every day as well.</li>
  <li><a class="reference external" href="http://www.wrightplus.org/tours/tours.php">Frank Lloyd Wright Tours</a> --
  in Oak Park,thesuburb immediately west of Atlanta where Frank Lloyd Wright
  built a great number of homes.  Many (most?) of them are still occupied, so you
  mostly see the exterior ofthebuildings.</li>
  </ul>
  </div>
  <div class="section" id="travel-guides-for-atlanta">
  <h1><a class="toc-backref" href="#id10">Travel Guides for Atlanta</a></h1>
  <ul class="simple">
  <li><a href="#id24"><span class="problematic" id="id25">`Fodor's Guide toAtlanta&lt;http://www.fodors.com/miniguides/mgresults.cfm?destination=chicago&#64;49&amp;cur_section=ove&gt;`_</span></a></li>
  <li><a class="reference external" href="http://www.lonelyplanet.com/worldguide/destinations/north-america/usa/chicago">The Lonely Planet Guide to Atlanta</a></li>
  <li><a class="reference external" href="http://wikitravel.org/en/Atlanta">WikiTravel Atlanta</a></li>
  </ul>
  </div>
  <div class="section" id="shopping">
  <h1><a class="toc-backref" href="#id11">Shopping</a></h1>
  <p>See <a href="#id26"><span class="problematic" id="id27">`Shopping inAtlanta&lt;../shopping/&gt;`_</span></a>.</p>
  </div>
  <div class="section" id="restaurants">
  <h1><a class="toc-backref" href="#id12">Restaurants</a></h1>
  <p>If you're going to shop, you've got to eat - see <a class="reference external" href="../restaurants">Atlanta Restaurants</a>.</p>
  </div>
  <div class="section" id="bars">
  <h1><a class="toc-backref" href="#id13">Bars</a></h1>
  <p>Because,well...because.  See <a class="reference external" href="../bars">Atlanta Bars</a>.</p>
  </div>
  <div class="section" id="package-deals">
  <h1><a class="toc-backref" href="#id14">Package Deals</a></h1>
  <p>If you are going to tack on some real vacation time, these can save you a few bucks.</p>
  <dl class="docutils">
  <dt><a href="#id3"><span class="problematic" id="id4">*</span></a><a href="#id5"><span class="problematic" id="id6">`CityPass&lt;http://www.citypass.com/city/chicago.html&gt;`__</span></a> ($49.50 adults, $39 children)</dt>
  <dd><div class="first system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 79); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <p class="last">includes the Shedd Aquarium VIP, The Field Museum &amp; Underground Adventure,
  Adler Planetarium,Museum ofScience and Industry plus OMNIMAX,
  and The Hancock Observatory</p>
  </dd>
  </dl>
  </div>
  <div class="section" id="neighborhoods">
  <h1><a class="toc-backref" href="#id15">Neighborhoods</a></h1>
  <p>On the Blue Line, before you get to the Loop (aka Downtown), there aretwointeresting
  neighborhoods you might want to explore.</p>
  <p>The first is <a class="reference external" href="http://en.wikipedia.org/wiki/West_Town,_Atlanta#Wicker_Park">Wicker Park</a>
  (and immediately to thenorth,`Bucktown &lt;<a class="reference external" href="http://en.wikipedia.org/wiki/Logan_Square%2C_Atlanta#Bucktown">http://en.wikipedia.org/wiki/Logan_Square%2C_Atlanta#Bucktown</a>&gt;`_).
  The Damen stop is at the center of Wicker Park.  There are interesting things southeast on Milwaukee
  (totheMilwaukee stop), or north on Damen (which takes you towards Bucktown).  Wicker
  Park is kind of artsy and hip.  The neighborhood is a little rough despite the strong
  pressureofgentrification.</p>
  <p>Closer to the hotel is <a class="reference external" href="http://en.wikipedia.org/wiki/Logan_Square">Logan Square</a>,
  which is a neighborhood with a large hispanic population.  You can get offatthe
  Logan Square station.</p>
  <p>There are several interesting north-side neighborhoods in Atlanta.  To get to these
  with mass transit you'll have to take a bus (or a taxi ofcourse).`Fullerton and Clark
  &lt;<a class="reference external" href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=fullteron%20and%20clark%2C%20chicago&amp;ie=UTF8">http://maps.google.com/maps?f=q&amp;hl=en&amp;q=fullteron%20and%20clark%2C%20chicago&amp;ie=UTF8</a>&gt;`_
  may be a good starting point.  All of Clark Avenue is interesting (asis itsneighboring
  street Broadway).  At Addison and Clark you are in Wrigleyville, home to many sports bars
  and some improv theater.  This area is generally fun to wander around in,day
  ornight.</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em><a href="#id6">backlink</a></em></p>
  Anonymous hyperlink mismatch: 1 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id16">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 24); <em><a href="#id17">backlink</a></em></p>
  Unknown target name: &quot;the john g. sheddaquarium&lt;http://www.sheddaquarium.org/&gt;&quot;.</div>
  <div class="system-message" id="id18">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 26); <em><a href="#id19">backlink</a></em></p>
  Unknown target name: &quot;the fieldmuseum&lt;http://www.fieldmuseum.org/&gt;&quot;.</div>
  <div class="system-message" id="id20">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 42); <em><a href="#id21">backlink</a></em></p>
  Unknown target name: &quot;caf architecture rivercruise&lt;http://www.architecture.org/tour_view.aspx?tourid=8&gt;&quot;.</div>
  <div class="system-message" id="id22">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 44); <em><a href="#id23">backlink</a></em></p>
  Unknown target name: &quot;other atlanta architecture foundationtours&lt;http://www.architecture.org/&gt;&quot;.</div>
  <div class="system-message" id="id24">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 53); <em><a href="#id25">backlink</a></em></p>
  Unknown target name: &quot;fodor's guide toatlanta&lt;http://www.fodors.com/miniguides/mgresults.cfm?destination=chicago&#64;49&amp;cur_section=ove&gt;&quot;.</div>
  <div class="system-message" id="id26">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 60); <em><a href="#id27">backlink</a></em></p>
  Unknown target name: &quot;shopping inatlanta&lt;../shopping/&gt;&quot;.</div>
  </div>
  </div>


url: /2010/chicago/transit/
title: Getting Around Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="getting-around-atlanta">
  <h1 class="title">Getting Around Atlanta</h1>
  <p>There's a free shuttle to get to the <a class="reference external" href="../hotel">hotel</a> from the airport.</p>
  <p><a class="reference external" href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=101366992701854199693.0004464acc1cf925e6ad5&amp;z=15">Here's a custom Googlemapwith the hotel, airport, restaurants and other points ofinterest.</a></p>
  <div class="section" id="masstransit">
  <h1>MassTransit</h1>
  <p>Atlanta has an excellentmass transit system including rail and bus service
  from both major airports and around the city.
  You can plan a trip using <a class="reference external" href="http://tripsweb.rtachicago.com/">the tripplanner</a> --
  highly recommended!  The planner doesn't make it obvious how fares work; if you see a fare
  over $2 it's probably inaccurate if you get afare card.</p>
  <p>Atlanta's rapid transit systemis called the 'L'; this is run by <a class="reference external" href="http://transitchicago.com">the Atlanta Transit
  Authority (CTA)</a>, who also runs bus service in the
  city.  <a href="#id1"><span class="problematic" id="id2">`You can find system maps here.&lt;http://transitchicago.com/maps/systemmaps.html&gt;`_</span></a>
  The CTA is a great way to get around if you want to <a class="reference external" href="/2010/chicago/explore/">explore Atlanta</a>.</p>
  <p>The conference hotel is locatedtwo blocks south of the Rosemont 'L' station on the
  Blue Line, a short walk away.  The Blue Line runs 24 hours a day.The hotel shuttle
  will drop you off there too.  If you walk, be sureto cross River Road by Bryn Mawr Ave
  as there's no chance after that.</p>
  <p>The 'L' costs $2 per trip, plus $0.25if you transfer to a bus.  You can purchase
  or add money to a fare cardusing cash at all 'L' stations (no credit cards).  Multiple
  people can share a fare card but you'll only have onetransfer.  The CTA system map
  also makes a decent city map, and they'llusually have free maps at stations.
  Stations all have attendants who can answer your questions (but they can'thandle money
  or generally do anything very useful).</p>
  <p>Note that the 'L'is a very loud train.  If you're sensitive to noise,
  the hotel-provided earplugs may come inhandy!</p>
  <p>See Wikipedia for <a href="#id3"><span class="problematic" id="id4">`more about the 'L'&lt;http://en.wikipedia.org/wiki/Atlanta_%27L%27&gt;`_</span></a>
  and for <a href="#id5"><span class="problematic" id="id6">`more about the CTA&lt;http://en.wikipedia.org/wiki/Atlanta_Transit_Authority&gt;`_</span></a>.</p>
  <p>The commuter rail system is called Metra, and thesuburban bus service is
  called Pace; these are run by the Regional TransitAuthority (RTA).  <a class="reference external" href="http://metrarail.com/schedule.html">The
  Metra schedule is here.</a>
  <a class="reference external" href="http://pacebus.com/sub/bus_system/default.asp">You can find moreinformation on Pace routes here.</a></p>
  <p>If you are coming into Midway Airport, note that taking the Orange Line to the Blue
  Line is slow.The trip planner recommendstaking the #62 Bus to the Blue Line.
  You'll still want to pick up a fare care at the 'L' station (which you can use on
  thebus).</p>
  </div>
  <div class="section" id="taxis">
  <h1>Taxis</h1>
  <p>If you wish to take a cabfrom O'Hare airport, follow the taxi signs overhead
  in the arrivals area of the terminal.  There will be a taxi stand (often with
  a line of people waiting).
  Here's what Fodor's website has to say about taking a taxi from a Atlanta airport:</p>
  <blockquote>
  &quot;<em>BY TAXI</em>: Metered taxicab service is available at both O'Hareand
  Midway airports. Trips to and from O'Hare mayincur a $1 surcharge to
  compensate for changing fuel costs. Expect to pay about $40-$45 plus
  tip from O'Hare to Near Northand downtown locations, about $30-$35
  plus tipfrom Midway. Some cabs, such as Checker Taxi and Yellow Cab,
  participate in a share-a-ride program in which each cab carries up to</blockquote>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 69)</p>
  Block quote ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>four individual passengers going from the airportto downtown. The</dt>
  <dd>cost per person is substantially lower than the full rate, which is
  approximately $50.&quot;</dd>
  </dl>
  <p>You can flag downcabs along most busy streets in Atlanta.  Ifyou're near
  a hotel or cab stand (there are a few cab stands in the downtown area), you
  may find a taxi more easily.</p>
  <p>If you have agroup of people you can call for a taxi andrequest a minivan.
  One possible service is 1-800-TAXICAB.  Yellow Cab Atlanta seems to be in flux and
  haven't been answering their phone.  Notethat there is an extra fee of $1 foreach
  passenger after the first (the fare structure is written down in each taxi, so you can
  be pretty confident about what the fare should be).</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 20); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;you can find system maps here.&lt;http://transitchicago.com/maps/systemmaps.html&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 41); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;more about the 'l'&lt;http://en.wikipedia.org/wiki/atlanta_%27l%27&gt;&quot;.</div>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 41); <em><a href="#id6">backlink</a></em></p>
  Unknown target name: &quot;more about the cta&lt;http://en.wikipedia.org/wiki/atlanta_transit_authority&gt;&quot;.</div>
  </div>
  </div>


url: /2010/about/network/
title: Networking At PyCon
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="networking-at-pycon">
  <h1 class="title">Networking At PyCon</h1>
  <p>PyCon will have wireless network coverage of all meeting and &quot;quiet&quot; rooms, and coverage of the main corridor areas around these rooms.Networkaccess may also be available in other locations, check the Wiki for more information.  Network access is available as 802.11a, 802.11b, and 802.11g.</p>
  </div>


url: /2010/registration/new/sorry/
title: Invoice Pending Payment
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="invoice-pending-payment">
  <h1 class="title">Invoice Pending Payment</h1>
  <p><strong>We are currently experiencing problems with our payment processor.</strong>
  We are working with them to resolve theissue.</p>
  <p>Yourregistration has been saved, and the early-bird price will be honored.</p>
  <p>A PyCon representative will e-mail you in the next few days with instructions
  on completing thecheckoutprocess.</p>
  <p>Sorry for any inconvenience this has caused you.</p>
  <blockquote>
  -PyCon Organizers</blockquote>
  <hr class="docutils" />
  <p><a class="reference external" href="../../thank-you/">Proceed to Thank-You</a></p>
  </div>


url: /2010/registration/new/thank-you/
title: Thank You!
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="thank-you">
  <h1 class="title">Thank You!</h1>
  <p>The Python Software Foundation would like to thank you for your support
  of PyCon.</p>
  <p>You can view your invoice and make changes at the <a href="#id4"><span class="problematic" id="id5">`My
  Registration&lt;../../view/&gt;`_</span></a> page.</p>
  <p>Please assist us further by answering six questions in a <a class="reference external" href="/2010/survey/business/">short
  survey</a>. Thank you again, and have a greatPyCon!</p>
  <div class="section" id="hotelreservations-information">
  <h1>HotelReservations &amp; Information</h1>
  <p><a class="reference external" href="https://www.cteusa.com/pycon1">Make your hotel reservations here (off-site).</a></p>
  <p><a href="#id1"><span class="problematic" id="id2">`Find hotelinformation here.&lt;../../hotel/&gt;`__</span></a></p>
  </div>
  <div class="section" id="sprints">
  <h1>Sprints!</h1>
  <p>Do you know about the <a class="reference external" href="/2010/sprints/">development sprints</a>?
  Four days for intensive development of Python-related`open-sourceprojects
  &lt;/2010/sprints/projects/&gt;`__, Monday, March 17 to Thursday, March 20.
  You can stay as long as you like, and they're free!</p>
  <p>We'll also have <a href="#id1"><span class="problematic" id="id3">`introductorysessions&lt;/2010/sprints/#intro-sessions&gt;`__</span></a> on
  Sunday, March 16, including free sprint tutorials.  All are welcome!</p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>); <em>backlinks: <a href="#id2">1</a>, <a href="#id3">2</a></em></p>
  Anonymous hyperlink mismatch: 2 references but 0 targets.
  See &quot;backrefs&quot; attribute for IDs.</div>
  <div class="system-message" id="id4">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 7); <em><a href="#id5">backlink</a></em></p>
  Unknown target name: &quot;my registration&lt;../../view/&gt;&quot;.</div>
  </div>
  </div>


url: /2010/about/community/
title: PyCon and the Python Community
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="pycon-and-the-python-community">
  <h1 class="title">PyCon and the Python Community</h1>
  <p>The community spirit pervading PyCon has always been one of the most
  attractivefeaturesof the conference. This page is here for the community
  to describe itself. Please add information you think will be relevant and
  helpful for new and existing members of thePythoncommunity.</p>
  <p>Remember, when it comes to PyCon:  <a class="reference external" href="/2010/helping/">you can help!</a> -- and that
  includes maintaining the content of the web site!</p>
  </div>


url: /2010/chicago/shopping/
title: Shopping in Atlanta
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="shopping-in-atlanta">
  <h1 class="title">Shopping in Atlanta</h1>
  <p>(This page is a work-in-progress.  <a class="reference external" href="/2010/helping/">You can help!</a>)</p>
  <p>Need a t-shirt?  Forget your USB cable?Areyou always on the prowl for a
  good book?  Want to shop the Mag Mile?  Here are some pointers.</p>
  <div class="section" id="computer-stuff">
  <h1>Computer Stuff</h1>
  <p>In case you need to run out and get someoddcomputer cable you forgot, here
  are a few places sort of nearby.</p>
  <ul class="simple">
  <li>Peregrine Systems, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=computers&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=41.98562,-87.860886&amp;sspn=0.600217,0.773163&amp;ie=UTF8&amp;latlng=41988755,-87860232,100867083148005985&amp;ei=SbRAR8inM4zqqgLC6JzKAg&amp;sig2=VcofeEdZ7A_pNFJvf9IOng&amp;cd=1">6133 N. Riber Rd, Rosemont, IL</a>
  (847)954-8100.</li>
  <li>Circuit City, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=circuit+city&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=41.98562,-87.860886&amp;sspn=0.600217,0.773163&amp;ie=UTF8&amp;latlng=42011950,-87770219,11750459277192309650&amp;ei=DrNAR6aKLYTmqgLquYzWAg&amp;sig2=4ZYlnNnAug5Ftx2mTovM_Q&amp;cd=1">5701 Touhy Ave, Niles, IL</a>
  (847)647-1440.</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 20)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <dl class="docutils">
  <dt>-BestBuy, <a class="reference external" href="http://www.google.com/maps?f=l&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=best+buy&amp;near=5801+N.+River+Rd,+Rosemont,+IL&amp;sll=42.263082,-87.707977&amp;sspn=0.597598,0.773163&amp;ie=UTF8&amp;latlng=41954733,-87807298,950512510390609482&amp;ei=37NAR9OeC5yMrAL1t7jPAg&amp;sig2=PzZ6SSbyNdv9J7_a6uD-xQ&amp;cd=1">4100 N. Harlem Ave, Atlanta, IL</a></dt>
  <dd>(708)583-1839.</dd>
  </dl>
  <p>and far, but fun.</p>
  <ul class="simple">
  <li>Fry's, <a class="reference external" href="http://maps.google.com/maps?ie=UTF8&amp;oe=utf-8&amp;client=firefox-a&amp;q=fry's+electronics&amp;near=Atlanta,+IL&amp;fb=1&amp;cid=0,0,15485127055130988747&amp;ll=41.827938,-88.026624&amp;spn=0.009034,0.013969&amp;z=16&amp;iwloc=A&amp;om=1">3300FinleyRd, Downers Grove, IL</a> (630) 390-2100</li>
  </ul>
  </div>
  <div class="section" id="geek-related">
  <h1>Geek-related</h1>
  <p><a class="reference external" href="http://www.apple.com/retail/northmichiganavenue/map/">The Apple Store</a>:
  Located ontheMagnificent Mile (Michigan Avenue from the river to Watertower Place, around 900 N.).
  Its an easy taxi ride from anywhere downtown; if you're already on Michigan Avenue near theriver,its
  a reasonable walk (from the river probably 10 minutes). There is also an
  <a class="reference external" href="http://www.apple.com/retail/woodfield/week/20071118.html">Apple Store</a> in
  Schaumburg's WoodfieldMall inthe NW suburbs.</p>
  <p><a class="reference external" href="http://www.microcenter.com/at_the_stores/chicago.html">Microcenter</a>:
  This is a great store with lower than average prices (for Atlanta at least).  But, itsagoodly
  cab ride and not near an EL stop.  If you take a cab, ask them to wait for you - you're unlikely
  to find an empty cab on the street Microcenter is on.  Its about a 10 minutedriveout from downtown.</p>
  <p><a class="reference external" href="http://www.sciplus.com/">American Science &amp; Surplus</a>: A cool source of scientific,
  educational, and entertaining items, often at well below retailprices.
  There's a store at <a class="reference external" href="http://www.sciplus.com/storeDetail.cfm?store=1">5316 N. Milwaukee Avenue</a>, about 5 miles (8 km) from the
  hotel, near the Jefferson Park El station on theBlue line(3 stops away).</p>
  </div>
  <div class="section" id="bibliomania">
  <h1>Bibliomania</h1>
  <p><a class="reference external" href="http://www.quimbys.com/">Quimby's</a>: <cite>Specialists in the importation,
  distribution, and sale of unusual publications ,aberrantperiodicals,
  saucy comic booklets and assorted fancies as well as a comprehensive miscellany
  of the latest independent 'zines' that all the kids have been talkingabout.</cite></p>
  <p><a class="reference external" href="http://myopicbookstore.com/">MyopicBooks</a></p>
  <p><a class="reference external" href="http://www.womenandchildrenfirst.com/">Women &amp; Children First</a></p>
  <p><a href="#id1"><span class="problematic" id="id2">`Centuries &amp;Sleuths&lt;http://www.centuriesandsleuths.com/&gt;`_</span></a></p>
  </div>
  <div class="section" id="general-shopping">
  <h1>General Shopping</h1>
  <p><a href="#id3"><span class="problematic" id="id4">`A fairly nifty map of Magnificent Mileshopping&lt;http://www.chicagotraveler.com/chicago_magnificent_mile_shopping_map.htm&gt;`_</span></a></p>
  </div>
  <div class="system-messages section">
  <h1>Docutils System Messages</h1>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 61); <em><a href="#id2">backlink</a></em></p>
  Unknown target name: &quot;centuries &amp;sleuths&lt;http://www.centuriesandsleuths.com/&gt;&quot;.</div>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 67); <em><a href="#id4">backlink</a></em></p>
  Unknown target name: &quot;a fairly nifty map of magnificent mileshopping&lt;http://www.chicagotraveler.com/chicago_magnificent_mile_shopping_map.htm&gt;&quot;.</div>
  </div>
  </div>


url: /2010/tutorials/proposals/example-proposal/
title: Example Tutorial Proposal
content:
  <!-- DO NOT EDIT! this content is generated from restructuredtext -->
  <div class="document" id="example-tutorial-proposal">
  <h1 class="title">Example Tutorial Proposal</h1>
  <p>The following is an actual tutorial proposal from 2007, reworked to
  conform to the 2008proposalrequirements.</p>
  <div class="contents topic" id="contents">
  <p class="topic-title first">Contents</p>
  <ul class="simple">
  <li><a class="reference internal" href="#code-like-a-pythonista-idiomaticpython" id="id7">Code Like a Pythonista:IdiomaticPython</a><ul>
  <li><a class="reference internal" href="#notes-for-reviewers" id="id8">Notes for Reviewers</a></li>
  <li><a class="reference internal" href="#promotional-summary" id="id9">Promotional Summary</a></li>
  <li><a class="reference internal" href="#outline-forreview" id="id10">Outline forReview</a></li>
  <li><a class="reference internal" href="#outlineforwebsite" id="id11">OutlineforWebsite</a></li>
  <li><a class="reference internal" href="#presenter-bio" id="id12">Presenter Bio</a></li>
  <li><a class="reference internal" href="#presenter-spreviousexperience" id="id13">Presenter'sPreviousExperience</a></li>
  </ul>
  </li>
  </ul>
  </div>
  <div class="section" id="code-like-a-pythonista-idiomaticpython">
  <h1><a class="toc-backref" href="#id7">Code Like a Pythonista:IdiomaticPython</a></h1>
  <p>Presenter: David Goodger (<a class="reference external" href="mailto:goodger&#37;&#52;&#48;python&#46;org">goodger<span>&#64;</span>python<span>&#46;</span>org</a>, +1-555-123-4567)</p>
  <p>Intended audience: beginning to intermediatePythonprogrammers.
  Familiarity with Python's syntax is assumed.</p>
  <p>Tutorial format: Interactive lecture, with lots of short examples that
  attendees can try out on the fly.  I willtakequestions throughout
  the tutorial.</p>
  <p>Recording: I give permission to record and publish my tutorial for
  free distribution.</p>
  <p>Requirements: Attendees are welcome to bringtheirlaptops with Python
  installed (version 2.4 or higher).</p>
  <div class="section" id="notes-for-reviewers">
  <h2><a class="toc-backref" href="#id8">Notes for Reviewers</a></h2>
  <p>In the tutorial I presented at PyCon 2006 (Text &amp; DataProcessing),
  I wassurprised at the reaction to two techniques I used:</p>
  <ul class="simple">
  <li>Advanced string formatting with &quot;%&quot; (&quot;%(name)s&quot;, &quot;locals()&quot;)</li>
  <li>Decorate-sort-undecorate</li>
  </ul>
  <p>Many of theattendees were unawareof these tools that many
  experienced Python programmers use without thinking.  This tutorial
  will present these and many other idioms &amp; techniques thatbeginning
  programmers can benefitfrom immediately.</p>
  </div>
  <div class="section" id="promotional-summary">
  <h2><a class="toc-backref" href="#id9">Promotional Summary</a></h2>
  <p>Are you comfortable with Python's syntax, but have yet to master its
  idioms?Does Python still feel a bit likea foreign language?  Are
  you looking for more &quot;elegance&quot; for your programs?</p>
  <p>In this interactive tutorial, we'll cover many essential Pythonidioms
  and techniques in depth, addingimmediately useful tools to your belt.
  Rationale will be provided for all idioms -- the &quot;why&quot; in addition to
  the &quot;what &amp; how&quot;.  We'll run throughlots of small, practical,
  hands-onexamples.  I will take questions throughout the tutorial.</p>
  <p>Attendees should bring a laptop if possible, to try out the techniques
  theylearn.</p>
  </div>
  <div class="section" id="outline-forreview">
  <h2><a class="toc-backref" href="#id10">Outline forReview</a></h2>
  <ul>
  <li><p class="first">Introduction: Zen of Python (10 minutes)</p>
  <p>Good &quot;rules of thumb&quot;, open to interpretation.</p>
  <p>When in doubt,``import this``.</p>
  </li>
  <li><p class="first">Codingstyle (10 minutes)</p>
  <ul class="simple">
  <li>PEP 8</li>
  <li>Naming:<ul>
  <li>joined_lower for functions, methods, attributes</li>
  <li>joined_lower or ALL_CAPS forconstants</li>
  <li>StudlyCaps forclasses</li>
  <li>camelCase only to conform to pre-existing conventions</li>
  <li>Attributes: interface, _internal, __private</li>
  <li>Don't use __private --you'll regret it later</li>
  </ul>
  </li>
  </ul>
  <p>-Line continuations:</p>
  <blockquote>
  <ul class="simple">
  <li>use parentheses/brackets/braces</li>
  <li>backslashes are fragile; use as last resort</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>spaces; no hard tabs</li>
  </ul>
  <p>-docstrings vs. comments</p>
  </li>
  </ul>
  <p><a href="#id1"><span class="problematic" id="id2">*</span></a>Idiom potpourri (30 minutes)</p>
  <div class="system-message" id="id1">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 94); <em><a href="#id2">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul>
  <li><p class="first">swap values (<tt class="docutils literal"><span class="pre">a,</span> <span class="pre">b</span> <span class="pre">=</span> <span class="pre">b,</span> <span class="pre">a</span></tt>)</p>
  </li>
  <li><p class="first">Build strings as a list and use ''.join at the end.</p>
  </li>
  <li><p class="first">Use <tt class="docutils literal"><span class="pre">key</span> <span class="pre">indict</span></tt>, not``dict.has_key()``:</p>
  <pre class="literal-block">
  # do this:
  if key not in d:
      d[key] = []

  # not this:
  if not d.has_key(key):
      d[key]=[]
  </pre>
  </li>
  <li><p class="first">dict.setdefault</p>
  </li>
  <li><p class="first">DefaultDict (2.5)</p>
  </li>
  <li><p class="first">truth vs. <tt class="docutils literal"><span class="pre">==</span></tt>:</p>
  <pre class="literal-block">
  # do this:
  if x:
      pass

  # not this:
  ifx== True:
      pass
  </pre>
  </li>
  <li><p class="first">for line in file (modulo mixing .next &amp; .read* methods, exception
  in 2.5)</p>
  </li>
  <li><p class="first">enumerate</p>
  </li>
  <li><p class="first"><tt class="docutils literal"><span class="pre">from</span> <span class="pre">module</span> <span class="pre">import</span> <span class="pre">*</span></tt> --NOT</p>
  </li>
  </ul>
  </blockquote>
  <p><a href="#id3"><span class="problematic" id="id4">*</span></a>Advanced string formatting with &quot;%&quot; (10 minutes)</p>
  <div class="system-message" id="id3">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 131); <em><a href="#id4">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  <blockquote>
  <ul class="simple">
  <li><tt class="docutils literal"><span class="pre">%(name)s</span></tt></li>
  <li><tt class="docutils literal"><span class="pre">locals()</span></tt></li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Decorate-sort-undecorate (15 minutes)</li>
  <li>List comprehensions &amp; generatorexpressions(10 minutes)<ul>
  <li>clear &amp; concise, up to a point</li>
  <li>when to use loops instead</li>
  </ul>
  </li>
  <li>Generators: simplify sequence/iterator handling (20 minutes)<ul>
  <li>how generatorswork, underthe hood</li>
  <li>how a <tt class="docutils literal"><span class="pre">for</span></tt> loop really works (including the <tt class="docutils literal"><span class="pre">else</span></tt> clause)</li>
  <li>example with CSV pre-filter &amp; post-filter generators</li>
  </ul>
  </li>
  <li>EAFP vs. LBYL (10 minutes)</li>
  </ul>
  <table class="docutils option-list" frame="void" rules="none">
  <col class="option" />
  <col class="description" />
  <tbody valign="top">
  <tr><td class="option-group">
  <kbd><span class="option">-e<var>xceptions</var></span></kbd></td>
  <td><ul class="first last simple">
  <li>duck typing</li>
  </ul>
  </td></tr>
  </tbody>
  </table>
  <ul>
  <li><p class="first">Scripts &amp; modules (30 minutes)</p>
  <ul>
  <li><p class="first">Importable module &amp; executable script:</p>
  <pre class="literal-block">
  if __name__ == '__main__':
  </pre>
  <p>When imported,amodule's <tt class="docutils literal"><span class="pre">__name__</span></tt> attribute is the module's
  file name (without &quot;.py&quot;).  When executed as a script,
  <tt class="docutils literal"><span class="pre">__name__</span></tt> is set to &quot;__main__&quot;.</p>
  <p>Except for specialcases,don't put any regular executable code at
  the top-level.  Put code in functions, classes, methods, and
  guarded by <tt class="docutils literal"><span class="pre">if</span> <span class="pre">__name__</span> <span class="pre">==</span> <span class="pre">'__main__'</span></tt>.</p>
  </li>
  </ul>
  <p>-Modulestructure:</p>
  <pre class="literal-block">
  &quot;&quot;&quot;module docstring&quot;&quot;&quot;

  # imports

  # constants

  # exception classes

  # interface functions
  </pre>
  </li>
  </ul>
  <p>#classes</p>
  <blockquote>
  <blockquote>
  <p># internal functions &amp; classes</p>
  <dl class="docutils">
  <dt>if __name__ == '__main__':</dt>
  <dd>status = main()
  sys.exit(status)</dd>
  </dl>
  </blockquote>
  <ul class="simple">
  <li>Command-lineprocessing: cmdline.py</li>
  </ul>
  </blockquote>
  <ul class="simple">
  <li>Packages (15 minutes)<ul>
  <li>Used to organize your project.</li>
  <li>Reduces entries in load-path.</li>
  <li>Reduces import name conflicts.</li>
  <li>Absoluteandrelative imports in Python 2.5</li>
  </ul>
  </li>
  <li>Q&amp;A and time overrun buffer (20 minutes)</li>
  <li>Extra topic if there's time:
  Classes vs. functions, modules vs. packages</li>
  </ul>
  </div>
  <div class="section" id="outlineforwebsite">
  <h2><a class="toc-backref" href="#id11">OutlineforWebsite</a></h2>
  <ul class="simple">
  <li>Introduction: Zen of Python</li>
  <li>Coding style</li>
  <li>Idiom potpourri: Strings, dictionaries, booleans, sequences, etc.</li>
  <li>Advanced string formattingwith&quot;%&quot;</li>
  <li>List comprehensions &amp; generator expressions</li>
  <li>Sorting, decorate-sort-undecorate</li>
  <li>Generators: simplify sequence/iterator handling</li>
  <li>EAFP vs. LBYL</li>
  <li>Scripts &amp;modules</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 215)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p><a href="#id5"><span class="problematic" id="id6">*</span></a>Packages
  * Q&amp;A</p>
  <div class="system-message" id="id5">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 215); <em><a href="#id6">backlink</a></em></p>
  Inline emphasis start-string without end-string.</div>
  </div>
  <div class="section" id="presenter-bio">
  <h2><a class="toc-backref" href="#id12">Presenter Bio</a></h2>
  <p>David Goodger is a full-time Python programmer working in the financial
  sector, founder and architect oftheDocutils
  project and reStructuredText, an editor of the Python Enhancement
  Proposals (or PEPs), an organizer of PyCon 2007, a member of the
  Python Software Foundation, a Director oftheFoundation for the past
  year, and its Secretary.  David lives near Montreal with his wife and
  two children.</p>
  </div>
  <div class="section" id="presenter-spreviousexperience">
  <h2><a class="toc-backref" href="#id13">Presenter'sPreviousExperience</a></h2>
  <ul class="simple">
  <li>Presented a tutorial at PyCon 2006: Text &amp; Data Processing</li>
  <li>As a consultant I have provided training sessions, rangingfrom</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 237)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>several hours to several days.</p>
  <ul class="simple">
  <li>I worked as an English teacher in Japan for two and a half
  years.</li>
  <li>Regular one-on-one mentoring and occasional in-house grouptraining</li>
  </ul>
  <div class="system-message">
  <p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 243)</p>
  Bullet list ends without a blank line; unexpected unindent.</div>
  <p>sessions are part of my job.</p>
  </div>
  </div>
  </div>


