Notifixious – A notification platform

I’ve recently registered to Notifixious home page, a notification platform that integrates XMPP natively. Though the application is not looking as polished as one might hope it already provides interesting features.

Overall I think any work towards better notification system is the right idea. We need better ways to notify people or get notified about relevant piece of information. From a technology’s perspective transport protocols (well at the application’s level) already exist to perform the task of carrying the information, they are namely HTTP and XMPP. However there is still quite a large gap to fill about what to carry exactly. Notifixious doesn’t solve that gap per se but offers at least a good base for playing around with some floating ideas. For instance I’ve introduced today the Notifixious’s crowd to LLUP which has been initiated and carried on for a few years now to answer that specific problem. Perhaps it’ll make it way through.

Update: The guys at Notifixious just posted a message about how PubSub is heavily used by their service.

Posted in python, xmpp | Tagged , , | 2 Comments

amplee 0.6.1

I’ve just released amplee 0.6.1.
This release is a minor release that fixes a few annoying defects and improves overall performances of the internal of amplee:

  • removes many of the usage of the copy.copy function (thanks to Mohanara Gopala Krishnan for his previous help)
  • drops the cmemcache module in favor the python-memcached one
  • adds a prune(member) method to the indexer API
  • extends with a few helpful functions the atompub API
  • adds more unit tests
  • drops the graph subpackage from the egg distribution (and I will remove it altogether for license issue in the next release)

If you’re using 0.6.0 I would advise to upgrade. The API is fully compatible and you’ll experience a more stable product.

I really wish to thank Mohan for his feedback, patience and will to send patches.

I will release a next version to clean out some remaining issue and than I will move toward amplee 0.7 that’ll support Amara 2.0 and will see some internal refactoring.

Posted in atompub, python | Tagged , | Leave a comment

Maintenance and time zone

I have recently subscribed to the excellent Good Reads network and today I went to it only to see a message saying:

The system is down for maintenance as of 00:51 PDT.
It’ll be back shortly.

That’s okay, I mean it’s not such an essential website in my life that I have to get connected to it. I’ll visit it back. That being said I realised that if you plan on creating the next social network that everyone speaks about [1], make sure that you do your maintenance on a per-time zone basis. It’s cool to wait night in the USA to be the as little disruptive as you can but the rest of the World might not appreciate being put off in such fashion.

Of course scheduling maintenance based on a time zone means your infrastructure is designed to support it. Well, you said you wanted to be the next D.
[1] I don’t believe that’s something Good Reads is after mind you.

Posted in python, xmpp | Leave a comment

Freebase Parallax

I knew Freebase was great but this rules.

Posted in python | Leave a comment

Release day: bridge, headstock and jlib

I’ve decided to make an official release of a few of my currently most active projects so that it’ll be easier for anyone to try out. So today I’ve released:

  • bridge 0.3.6: Simple library for handling XML. This one is just a fix release and won’t break any of your application if you were using it.
  • headstock 0.2.0: XMPP library using Kamaelia and bridge. My main focus on this release was the support of PubSub.
  • jlib 0.1.0: Python library of PyQt4 widgets to add XMPP to your applications. This one is rather new and still pretty limited but it’s already fun to use.

There you go, neither headstock nor jlib are considered to be production ready but are stable enough in terms of design and implementation so that you may already start playing with them. I hope you’ll have fun.

Posted in python, xmpp | Leave a comment

jlib preview – PyQt4 library for XMPP

I’ve been recently working on a library called jlib that providing PyQt4 objects and widgets that can be integrated to a PyQt4 application. In other words jlib is not a new Jabber client but a toolbox to enjoy the benefit of XMPP. The XMPP work is performed by headstock, jlib only glues headstock to PyQt4 through the use of signals/slots.
jlib is not ready yet but here is a preview of a few widgets I’ve already started working on. Ultimately my main interests is in creating a decent toolbox of widgets centered towards XMPP PubSub.

Posted in python, xmpp | Tagged , , | Leave a comment

CherryPy 3.1 has been released

Yesterday Robert Brewer released version 3.1 of the CherryPy product and I think this calls for a hurray! For those who’ve been using 3.0 they’ll be happy to know that the upgrade will be rather smooth and straightforward. The main API changes have taken place on the engine thanks to the new process bus but the rest of the API is pretty much identical. Overall the fantastic work Robert and many contributors have done was to fix remaining and new bugs making this release the most stable and high-performance of the CherryPy releases. Get it while it’s hot.

Posted in python | Tagged | Leave a comment

AtomPub data model for music metadata storage and indexing

Noah Gift described a cool project he had started recently named Pylesystem. The idea was to monitor the filesystem for events regarding the creation and deletion of files, more specifically media files like music audio files. Noah explained he wanted to provide a simple metadata storage so that he could query it for getting information about his media library. He decided to use SQLAlchemy to abstract the storage as well as the query mechanism as much as possible whilst providing an easy and high level query interface.

I thought it’d be cool to give it a go using the AtomPub data model to store metadata. I therefore hacked a small example within a few hours this weekend using amplee.

I was quickly able to associate a collection per artist and album and a member per track. I used hachoir-metadata to get a few basic metadata about tracks as well as a couple of simple queries to the Musicbrainz web service to get more advanced information like tags, related URLs, etc.
Finally I used the basic indexing mechanism provided in amplee to perform simple query on the AtomPub store and then generate atom feeds on the fly based on the query result.
Overall it was really fun and I’m happy that it shows how to use AtomPub and amplee in a context that is not directly related to the web. The source code is of course available here.

Note that if you wish to run the code you’ll need the latest trunk of amplee. Otherwise you’ll need the current stable release of amara, hachoir-metadata and pyinotify.

Posted in atompub, python | Tagged , | Leave a comment

Microblogging with XMPP and AtomPub. Dumping code.

Alright I haven’t been able to move as fast as I wanted on this one for a whole set of reason but if you’re interested in having a look at where I’m heading at please read this.

Posted in python, xmpp | Tagged | Leave a comment

They made me do it…

I had to.
More seriously though since the work I’m doing with XMPP and AtomPub these days, I thought it be a nice idea to try and plug into Twitter somehow. I guess I won’t be using Twitter much for anything else than testing. We’ll see.

Posted in oss | Leave a comment