Ted Leung on the air: Open Source, Java, Python, and ...
By the time we got to the restaurant, my head was already buzzing, because Bob gave me a 5 line (well, more than that) explanation of PyProtocols and why they were as useful thing. Contrary to the name, PyProtocols doesn't enforce protocols, as someone coming from Java might expect. Instead it provides a mechanism for mixing in API to a Python class, and then allowing to you provide the implementation from a separate class or even on an instance by instance basis. By itself this seemed to be a pretty useful notion. I'd seen the name PyProtocols, but haven't had time to look into it. I guess I'd better now.
Donovan works on Quotient, a web based PIM written in Python. Their team is fully geographically distributed and uses their own VOIP software to do twice a day VOIP conference calls. We spent a little bit of time comparing notes on working distributed. The solution of asterisk might work well for having VOIP conference calls with the rest of OSAF (Ducky and I were discussing this in IRC sometime last week), particularly on days when folks are working at home. Donovan also pointed me at QuickSilver, which is a free (an possibly open source) competitor to Launchbar. More on this in the future.
The discussion ranged all over Python, and was really useful to me. Bob filled us in a bit on the Stackless sprint. Apparently the Stackless web page is out of date and there's a version of Stackless that runs on OS X. I was cautioned to wait few months till the dust raised at the sprint settles. One interesting(?) thing I learned is that you'll be able to pickle tasklets, which could be used to simulate continuations (this seems like it would be slow), and could also be used to migrate tasklets to a different machine where they could be unpickled and resumed.
Bob and Donovan told me about this hack that they did at last PyCon which eventually became a part of Nevow. From looking at Donovan's slides, the feature is now called stan, and looks very similar to the MarkupBuilder in Groovy. It's interesting that it's accomplished in Python without the use of special closure calling syntax.
I asked the gentleman to recommend projects that I could look at in order to find interesting/advanced uses of Python. The list included (I may have forgotten some) Zope3, Twisted, PyProtocols, and PEAK. That should keep me busy for a while after PyCon. I wanted to meet Bob in person after corresponding with him a bit electronically. I'm very glad that I invited myself to dinner with the entire group.

Posted by Darryl at Mon Mar 22 07:26:44 2004
http://peak.telecommunity.com/
Posted by Phillip J. Eby at Mon Mar 22 08:20:42 2004
In effect, the 'adapt()' function supplied by PyProtocols either returns the same object (like a Java typecast), or it calls an adapter function to return a replacement object (like Eclipse's 'getAdapter()').
The actual mechanics are quite a bit different than Eclipse's, though. See PEP 246 for the basic mechanisms; PyProtocols just adds a framework for specifying and registering adapters on top of the basics prescribed by PEP 246, and a way to spell "implements" (as opposed to "extends") in Python.
Posted by Phillip J. Eby at Mon Mar 22 08:26:10 2004
Posted by oier at Tue Mar 23 03:33:15 2004

Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are: <a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk