#format rst

===========================
 Library of Video Lectures
===========================

A collection of video lectures suitable for projection at fledgling
usergroup meetings to supply initial presentation material.

The video should be of high quality - readable on a large screen with
audible sound, and given by a speaker who knows his stuff and presents
well.  Flash-based video, as found on youtube.com, is often of low
resolution.  Use the downloadable video formats for presentation.

You can find a list of audio-only presentations
on the
`PythonAudioMaterial <http://wiki.python.org/moin/PythonAudioMaterial>`__
page.

Other collections of Python-related video:

 * `PyCon 2009 talks <http://pycon.blip.tv/>`__
 * `Chicago Python User Group talks <http://chipy.blip.tv/>`__
 * `EuroPython talks <http://europython.blip.tv/>`__

----

`Iterators, Generators, and Descriptors <http://lang.stanford.edu/courses/ee380/2003-2004/031029-ee380-100.wmv>`_
-----------------------------------------------------------------------------------------------------------------

:By: Guido van Rossum
:Date: October 29, 2003
:Length: 1 hr 24 min 38 sec

This is a `"What's New in Python [2.3]" talk
<http://www.stanford.edu/class/ee380/Abstracts/031029.html>`_
delivered to the `EE380 course
<http://www.stanford.edu/class/ee380/ay0304.html>`_ at Stanford.

Python 2.2 and 2.3 added significant power to Python's competence in
the construction of highly advanced class libraries, primarily through
the introduction of two new concepts: iterators (a generalization of
for loops) and descriptors (a generalization of customizable
attributes). This talk presents the principles and some examples of
these additions, and shows how they are useful for lowly scripting
tasks as well as for advanced class library authors.

`Python 3000 <http://video.google.com/videoplay?docid=-6459339159268485356>`_
-----------------------------------------------------------------------------

:By: Guido van Rossum
:Date: July 2006
:Length: 1 hr 6 min 41 sec

The next major version of Python, nicknamed Python 3000 (or more
prosaically Python 3.0), has been anticipated for a long time.  For
years I have been collecting and exploring ideas that were too radical
for Python 2.x, and it's time to stop dreaming and start coding. In
this talk I will present the community process that will be used to
complete the specification for Python 3000, as well as some of the
major changes to the language and the remaining challenges.

`Better, faster, smarter: Python yesterday, today ... and tomorrow <http://video.google.com/videoplay?docid=4539942226071440048>`_
----------------------------------------------------------------------------------------------------------------------------------

:By: Alex Martelli
:Date: October 12, 2006
:Length: 1 hr 2 min 35 sec

A presentation to the Bay Area Python Interest Group, giving some
historical introduction on Python 2.x and how it is developed, and
then moving on to the features of Python 2.5.

`Introducing Python <http://video.google.com/videoplay?docid=9023849479319414382>`_
-----------------------------------------------------------------------------------

:By: Arlington Career Center Multimedia and Yorktown High School
:Date: November 2006
:Length: 23 min 50 sec

A light-hearted introductory activity for a computer science course,
this video contains interviews with luminaries from the Python
community interspersed with A Python Love Story.

A joint, interdisciplinary project between Arlington Career Center
Multimedia and Yorktown High School Drama and Computing, the Python
Project builds on the successful use of Python as a teaching tool in
Yorktown's Computer Science Program. It was shown at the 9th and 10th
International Python Conferences.

`How Open Source Projects Survive Poisonous People <http://video.google.nl/videoplay?docid=-4216011961522818645>`_
------------------------------------------------------------------------------------------------------------------

:By: Ben Collins-Sussman & Brian W. Fitzpatrick
:Date: January 2007
:Length: 54 min 55 sec

By two of the authors of Subversion, Ben and Brian present on the
social and organizational elements involved in protecting the
attention and focus of your group, and how to build a healthy
community.  They relate the bikeshed story and then launch into how to
deal with those people who, often unintentionally are selfish,
uncooperative, and disrespectful.  These people can silently poison
the atmosphere of a happy developer community. Come learn how to
identify these people and peacefully defuse them before they derail
your group.  Told through a series of (often amusing) real-life
anecdotes and experiences.

Although the talk is focused on development teams, many of the
principles relate to general communities such as usergroups.  And of
course many usergroups will run a group project or two and could
benefit from these tips in that way as well.

`Python 3000 (2) <http://video.google.com/videoplay?docid=1189446823303316785>`_
--------------------------------------------------------------------------------

:By: Guido van Rossum
:Date: February 14, 2007
:Length: 1 hr 25 min 54 sec

Since the renewed Python 3000 effort was announced at PyCon 2006, a
lot has happened.  We've implemented about half of the promised
changes in a branch, we've solidified the schedule, there's a
refactoring tool that can do source-to-source translations, and we've
produced several gigabytes of discussion about language change
proposals (most of which were deemed too radical in the end :-). In
this talk, a preview of a keynote to be given at PyCon 2007, I'll
discuss the Python 3000 road map, status, and what this means for the
average Python user.

`Advanced Python or Understanding Python <http://video.google.com/videoplay?docid=7760178035196894549>`_
--------------------------------------------------------------------------------------------------------

:By: Thomas Wouters
:Date: February 21, 2007
:Length: 1 hr 15 min 43 sec

The Python language, while object-oriented, is fundamentally different
from both C++ and Java.  The dynamic and introspective nature of
Python allow for language mechanics unlike that of static languages.
This talk aims to enlighten programmers new to Python about these
fundamentals, the language mechanics that flow from them and how to
effectively put those to use.  Among the topics covered are
duck-typing, interfaces, descriptors, decorators, metaclasses,
reference-counting and the cyclic-garbage collector, the divide
between C/C++ data and Python objects and the CPython implementation
in general.

Python Design Patterns
----------------------

:By: Alex Martelli

`Part 1 <http://video.google.com/videoplay?docid=-3035093035748181693>`_
````````````````````````````````````````````````````````````````````````

:Date: March 2007
:Length: 58 min 47 sec

`Part 2 <http://video.google.com/videoplay?docid=-288473283307306160>`_
```````````````````````````````````````````````````````````````````````

:Date: April 2007
:Length: 44 min 28 sec

Design Patterns must be studied in the context on the language in
which they'll get implemented (the Gang of Four made that point very
strongly in their book, though almost everybody else seems not to have
noticed :-). This talk explores several categories of classic
"elementary" DPs in a Python context -- Creational, Masquerading,
Adaptation, and Template.