Document Actions
10/29/2005
We'll miss you Zyon
Jérôme Sandarnaud from the french Zope community (aka Zyon),
who was just one of the greatest guy out there, is gone.

 

We'll miss you so bad my friend !


Posted by Tarek Ziadé @ 10/29/2005 04:20 PM. -  0 comments
10/16/2005
Merging RSS and Atom feeds from various sources
I have a lot of Python rss/atom feeds in my aggregator and entries are doubled all over the place.

Could'nt find any tool that would merge entries from several sources out there, in a smart way, by trying to find doublons.

I wrote a little script, extending Mark Pilgrim's feedparser we use in CPSRSS, to merge several sources, using the difflib module and the rss rendering we have in CPSBlog.

It calculates the diff ratio on the title and content of each entry to decide wheter
it's the same entry. When the ratio is <= 0.2 it's the same entry (hopefully :) )

Here's an example ran on these:

The result is here
(It's a one-shot xmlfile, made today, so it's not a real feed
 it is still readable by any client though)

Now I've been told that this was pretty useless, and that i would better make some clean in my feeds and do more interesting stuff in my spare time.

But i can't help it: everytime i see a feed related to python I just add the stuff
 to my client :'). So for an unorganized person like me, a CPRSS personnal website with this merging capability, where i can drop tons of feeds would be perfect.

Posted by Tarek Ziadé @ 10/16/2005 10:14 AM. - Categories: python, semantic_web, web -  0 comments
10/11/2005
Neckar Zope 3 sprint - summary
I went to the Neckar Sprint last week in Tubingen, Germany.

A lot of cool things were done/started there for Zope 3:
  • Twisted integration
  • Http publisher puggable sub-protocol
  • Viewlet/portlet framework
  • A static version of apidoc
  • Some Zope3.org work
  • Customizable container views, from the proposal here
  • XML-RPC introspection integration, from the proposal here

I guess I will decorate these points with some links when people that have worke on each tasks start to publish about it. The wiki page is definitly the place where all info will be added i guess.

I have worked on two tasks with Andreas Jung, the puggable publisher and the introspection stuff.

Http publisher pluggable sub-protocol


The main idea of this task was to change the publisher so anyone who wants to add a new publication class (to handle json for example) can do it smoothly by adding some configuration.

You needed to modify the publisher code to do so.

So we did a change based on a study of the incoming request, deciding
 which publication was best fitting, with registered utilities that would link a
publication class to a couple of interfaces that represented:

  • The mimetype of the request
  • The method

So we had our list of Interfaces a developer could gather to provide a publication configuration. This was done here.

I spent a part of the evening finishing up the work, as Andreas went home.
Friday morning when he came back he came up with a better idea:
"why don't we just create a new directive that would let the user configure the publication picker, without having to add all those IGet, IPut, etc.. interfaces"

Yup, brilliant idea ! So we refactored everything to let the user extend the publisher by simply giving a zcml "publisher" directives and a publication class.

Look how the default publication is, it is very intuitive to extend this way.
 

XML-RPC Introspection


The introspection stuff was very easy to code, based on some code greping from zope.app.apidoc. So we implemented it here.

The fact that Python does not (yet) have static typing (i am saying yet because I've seen some proposal for Python 3000) was a problem for the methodSignature API, so after a discussion with the others, we came up with the conclusion that a decorator would be the best pick for this static typing.

All is explained here.

Performance regression tester


On the last day, we had a very interesting discussion with Stephan Richter about a performance regression tester. I had a first shot on this a while ago here.

He came up with the conclusion that this would be perfect if it was based on Pystone so it can work the same for all boxes. Simple and Brilliant. :)

It's still visible here, but I have reverted this commit, as we need to discuss more on this and it relies on deep structural changes, so it is more likely to become a proposal.

Conclusions


I had a great experience there, met a lot of incredible people.
I came back home with this conclusion in mind: 
Zope 3 is absolutely terrific. I could literaly feel the power of it. You can do anything you want with it, as long as the design is well thaught.

But most important point: I had terrific chocolate pretzels at the Hotel, need to try to find some in Paris.



Posted by Tarek Ziadé @ 10/11/2005 05:07 PM. - Categories: sprint, zope3 -  0 comments
10/03/2005
Looooooong Python thread
There are some subjects in the Python mailing list that can fire up people interest.

The way Python implements the object model is one of those,
and the history and use of leading underscore in the langage and in Zope too..

http://www.forbiddenweb.org/viewtopic.php?id=51090


Gosh, (+100 answers) :-)

Posted by Tarek Ziadé @ 10/03/2005 11:32 AM. - Categories: python -  0 comments
Last modified: 01/25/2005 06:15 PM

Nuxeo Bloggers: Log in!
Nuxeo - Indesko - Nuxeo 5 Project
All content is copyrighted by their author.
CPSSkins is Copyright © 2003-2006 by Jean-Marc Orliaguet. | CPS is Copyright © 2002-2006 by Nuxeo SAS.