New year’s Python meme

1. What’s the coolest Python application, framework or library you have discovered in 2009 ?

Coherence. Coherence is a really cool framework for Audio/Video on your local network.

Coherence is a server that has has plugins for multimedia storage, for interfacing with multimedia servers, for its own renderer (player) based on GStreamer, interfaces to BBC radio shows, to TED talks. I giggled with excitement yesterday when I realised that in the Coherence UPnP inspector you can right click on devices discovered on the network to get relevant user interfaces for them and start dragging and dropping stuff between them: Drag a BBC Q & A session with Derek Walcott served from a Coherence server on my server machine, with a GUI provided by the UPnP Inspector onto the GUI, again provided by the Inspector, of a Gstreamer player on another machine and it just starts to play.

2. What new programming technique did you learn in 2009 ?

Tarek Ziadé wrote Network Programming in his meme. I will do the same, although I started learning Coherence only last week, it is within 2009 :-)

3. What’s the name of the open source project you contributed the most in 2009 ? What did you do ?

play-next-pause is a simple remote control for UPnP/DLNA devices that I wrote over Christmas. It is crude, only 55 lines of code and built on top of Coherence. It is for providing me with a remote control for Rhythmbox here and now, scratching that itch quickly.

Some of the code for Plone products I 've contributed to during the year will surely be released as open source during 2010.

4. What was the Python blog or website you read the most in 2009 ?

Planet Plone. Through the web.

5. What are the three top things you want to learn in 2010 ?

Python wise it would be to deal with more dynamic network high level stuff of the kind that Twisted is made for. Coherence is built on Twisted.

In connection with that, a more agile framework in connection with Plone, might be inside it with Dexterity and other stuff, might be Repoze.bfg or something else.