Archive for September, 2005
CPS Platform R&D paper from EuroPython 2005 has been published
We published today the EuroPython
2005 CPS Platform R&D paper
on cps-project.org that has been
written as a
refereed
paper for this event.
(Post originally written by Julien Anguenot on the old Nuxeo blogs.)
OOoCon2005 – Koper Day 1
OpenOffice.org conference takes place this year at Koper in Slovenia (Near
Trieste – Italy)
Sessions will focus on different main directions:
- development (red)
- eductional (green)
- community (orange)
- general (blue)
Today, a lot of interresting topics wil be covered and i plan attend mainly
to the developpers ones
http://marketing.openoffice.org/ooocon2005/schedule/thursday.html
I haven’t tested it, but you can see the live stream :)
http://ooocon-arnes.kiberpipa.org/
OOoCon as if you where there
Moreover, it is the time and place to meet people and finalize the
scripting project. A lot of ideas are exchanged and i’m confident we will
end with an efficient process to drive addons production from developpers to
end-users.
This is a strong way to create a dynamic community proposing OpenOffice.org
enhacement without diving into th core sources that don’t attract
newcomers.
Btw, if you’re a core developper, you’re welcome !! we need you
http://development.openoffice.org/todo.html
The list is not … Read more
YADI, part 3: timedtest, a decorator for time performance tests
Grig Gheorghiu has released
a pretty cool tool, called pyUnitPerf. It’s
a
port of Mike Clark’s JUnitPerf.
This tool runs your tests cases, and measure the time they take to run.
It
can pop a Failure when the tests lasts too long. It also has a Load
runner,
but nothing comparable to the amazing funkload tool
Thats quite useful in some cases, when your test fixture does not make
the
code run slower, like it happens in ZopeTestCase.
So since pyUnitPerf associates a max time with a TestCase class, and
since
test fixture can slow down the tests, it makes it really hard to use it,
to
measure a distinct test method.
So I have taken back the idea and put it in a decorator that I can use
on
all test methods I want to control, performances wise.
The timedtest decorator
import unittest
import time
# might … Read more
Perspectives 2006 : un grand merci à tous !
Nuxeo a organisé aujourd’hui le séminaire Perspectives 2006, destiné à nos principaux clients et contacts. Ce séminaire, aujourd’hui dans sa première édition, sera renouvelé chaque année et sera l’occasion, comme aujourd’hui, de faire un bilan de Nuxeo, de CPS et de l’Open Source ainsi que d’exposer notre vision, notre stratégie et les faits marquants à venir. Les slides et des photos de l’évènement seront publiées sous peu sur nuxeo.com.
Perspectives 2006 a reçu un accueil très favorable et je souhaite remercier vivement les participants, nombreux, qui ont répondu favorablement à notre invitation. Nous avons passé un très bon moment et espérons que cela a été le cas pour tous !
Les premiers retours ont confirmé notre motivation et conforté notre stratégie. Nous espérons pouvoir renouveler cet évènement chaque année, et pour de nombreuses années ! :-)
Merci à tous ceux qui nous ont fait confiance et à ceux qui … Read more
blogs @ nuxeo.com updated !
http://blogs.nuxeo.com has been updated
and runs now against :
(Post originally written by Julien Anguenot on the old Nuxeo blogs.)
wikimailing
I am thinking about a feature that could link portal knowledge in a very
simple way, about the same way CPSSharedCalendar and CPSSubscriptions does
when they send emails.
I keep on trying to find such features in existing tool, it has to
exists.. Whenever I find it, i’ll remove this stupid blog entry ;)
Well, here’s what I’ve taught of:
- Provided that the portal members are actually using the webmail to talk
to each other about their work, - Provided that users are gathered in work groups, and therefore share a
common knowledge:
Mails beeing sent for this private circle could have meta content, by using
wiki notation, the webmail could then parse these mail bodies to display
internal links to wikipages or to future wikipages.
This feature would also make the mail writing easier, since it can refers to
common knowledge, and consolidate this knowledge because it is the central… Read more
YADI, part 2: a simple Psyco decorator
Psyco is a pretty cool tool from
Armin Rigo, that can really speed up the code in some cases. It relies on
generating machine code by writing the corresponding bytes directly into
executable memory.
For language lawyers and people interested in the subject, the website has
a lot of papers on how Psyco works.
But the caveats makes
it quite unusable as a global application directive and it’s better to
target the code where we want Psyco to do the speed.
Psyco comes with a handy set of API, and the proxy() function, that takes a
callable object and returns a psychoed-callable object, makes it easy to
create a decorator that can be used whenever needed.
import psyco # decorator psycoed def psycoed(function): try: return psyco.proxy(function) except TypeError: return function
The TypeError thing just prevents errors on objets that can’t be proxied.
The psyco-effect is quite cool:
def normal(): a … Read more
YADI, part 1: Memento Pattern
YADI ?
“YADI” stands for Yet Another Design pattern Implementation, because
GoF design patterns have been reviewed and implemented a bunch of people
already, all over the web. I’d like to present my own implementation for
some of them, though, in this blog.
This first post is about Memento, inspired from Zoran Isailovski’s one on
ASPN, (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/413838)
but with a slightly different approach to simplify its use.
Memento: What for ?
Memento DP says: a state of the program data can be saved and reloaded,
thus allowing to make safe transactionnal operations. In other words, some
program data changes can be rolled back at some point, or commited.
The code pattern that describes it the best is:
begin_transaction()
try:
...
except:
rollback_transaction()
raise
else:
commit_transaction()
Depending on what the program does, the scope of data that are to be saved
can vary a lot. Transactions in RDBMS … Read more
CPSGeo : Simple GIS for CPS
What is it ?
information with a spatial component, and many CPS documents have a spatial
component: events happen at places, and reports are often concerned with
places. With the addition of a few simple properties, CPS documents can be
promoted to GIS (Geographic Information System) features. The CPSGeo
product provides a new geolocation schema for documents, and a lightweight
web GIS application for locating and displaying document features
cartographically. CPSGeo builds upon open standards for GIS
interoperability such as GML, the Geography Markup Language, and WMS, the
Web Map Service specification. The body which oversees these standards is
the Open Geospatial Consortium (http://www.opengeospatial.org).
Documentation
You may check the CPSGeo manual over there :
http://www.cps-project.org/sections/projects/cpsgeo_simple_gis_for/doc/cpsgeo_manual
And as well the doc sub-folder of the product :
https://svn.nuxeo.org/trac/pub/browser/CPSGeo/trunk/doc/
Download
We released a first devel version of CPSGeo (0.1.1-1) that you
Nuxeo et l’Open Source : Monsieur Zapolsky, Linagora est toujours bienvenue…
Update: Alexandre Zapolsky m’a depuis contacté et une rencontre est prévu pour éclaircir et régler tout cela. Je tiens à ajouter qu’il n’est pas question ici question d’une critique du modèle de Linagora ni de choix de cette société d’utiliser d’autres technologies que CPS. Il est uniquement question du caractères Open Source, parfois injustement contesté, de CPS.
Depuis quelques temps, on nous rapporte régulièrement les échos de propos
tenus par Monsieur Zapolsky (PDG de la société Linagora, société de service en logiciel
libre) concernant l’attitude de Nuxeo
par rapport au monde du logiciel libre / Open Source. Ces propos, injustes et
diffamants, commencent à être trop présents pour que je prenne le temps de
répondre publiquement et d’en profiter pour faire un bref état de
l’implication de Nuxeo dans le monde du libre et de l’Open Source (je tiens
d’ailleurs à préciser que ce billet a été précédé … Read more