Today was day 1 of PyCon 2007. It started with a talk by Ivan Krstić which I
can only describe as inspiring. Ivan works for the One Laptop Per Child (OLPC)
project and he described the focus of the project, its current state, and its
heavy reliance on Python. With the exception of a few low-level components,
the OLPC laptop is built entirely using Python. It was inspiring to hear the
desire of this group to provide such a tool and an opportunity to those who
would otherwise have missed out. It was also inspiring to hear Ivan speak of
overcoming “impossible” barrier after barrier. I would recommend anyone who is
able and willing to support this project with their time and talent to visit
the OLPC website and look for a spot to
fill.

The next session I attended was “Writing your Own Python Types in C” by Jack
Diederich. This was a good overview of porting Python code to C code and using
Python’s C API to do so.

Following the talk on Python types in C, I attended “Parsing revisited: a
grammar transformation approach to parsing” by Ernesto Posse. Ernesto walked
through his project aperiot.
From the website, “aperiot is a grammar description language and a parser
generator for Python. Its purpose is to provide the means to describe a
language’s grammar and automatically generate a Python parser to recognize and
process text written in that language. It is intended to be used mainly for
programming and modeling languages.” What I found particularly interesting in
this talk was Ernesto’s quest to trim back the parser to make it more
efficient while removing redundancy and ambiguity.

Next, I attended “Using Stackless” by Andrew Dalke. I would classify this talk
as enlightening. I knew very little about Stackless before attending this
session. The general idea is that stackless can be used to accomplish
concurrent programming without resorting to threads. Stackless tasklets
correspond to threads and Stackless channels correspond to queues. I’m looking
forward to Christian’s talk on Stackless on Sunday.

Next was a talk by Ian Bicking on WSGI. This is another topic which I’ve
learned a little about, but never dug into very deeply. Ian did a great job of
giving an overview of this protocol.

Following up the WSGI discussion was the much-anticipated Web Frameworks Panel.
On the panel were Kevin Dangoor of TurboGears, Jonathan Ellis of spyce, Robert
Brewer of cherrypy, Duncan McGreggor of nevow, Jim Fulton of Zope, Adrian
Holovaty of Django, Ben Bangert of Pylons, and James Tauber of pyjamas. There
were a few tense moments, but overall, these guys played very well together.

After the Web Frameworks Panel, I attended a talk on Sony’s use of Python in
their Imageworks division. It’s always interesting to hear how other companies
are using Python, especially when the result is as cool as Spiderman 3.

Jim Baker delivered the next talk I attended. It was entitled “Iterators in
Action” and it was fantastic. I wish Jim had been given another half hour to
get into some of the other topics he had prepared, but alas. Maybe next PyCon.

The last session I attended today was “The State of Python Advocacy” by Jeff
Rush. This talk showed the passion of the Python people to promote their
language of choice. This was clear both in Jeff’s presentation as well as the
questions and comments at the end of the session. It seems that things are
brewing to facilitate enlarging Python’s borders. I definitely welcome that.

I can’t wait for day 2. More later.