<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel rdf:about="http://base-art.net">
<description>Phil's blog</description>
<link>http://base-art.net</link>
<title>Base-Art / Articles</title>



<items>
<rdf:seq>

<rdf:li rdf:resource="http://base-art.net/Articles/118/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/112/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/117/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/116/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/115/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/114/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/113/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/111/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/110/"/>

<rdf:li rdf:resource="http://base-art.net/Articles/109/"/>

</rdf:seq>
</items>


</channel>





<item rdf:about="http://base-art.net/Articles/118/">
<dc:date>2011-04-08T09:57:51.000004+01:00</dc:date>
<title>Gajim in your GNOME3 Shell</title>
<link>http://base-art.net/Articles/118/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;The IM integration in the &lt;a class="reference" href="http://gnome3.org"&gt;GNOME3&lt;/a&gt; is interesting, but only for
the people using Empathy :) Because my personal preference goes
to another client called &lt;a class="reference" href="http://gajim.org"&gt;Gajim&lt;/a&gt; I wanted it to fit more in the
Shell. To reach this goal I worked on 2 small projects partly
during my &lt;a class="reference" href="http://igalia.com"&gt;Igalia&lt;/a&gt; hackfest hours and partly during my free time.&lt;/p&gt;
&lt;p&gt;The first bit is a &lt;a class="reference" href="http://trac-plugins.gajim.org/wiki/GnomeSessionManager"&gt;Gajim plugin&lt;/a&gt; integrating with the GNOME
Session-Manager and synchronizing your status in GNOME with your
Gajim status.&lt;/p&gt;
&lt;p&gt;The second part is a &lt;a class="reference" href="http://git.gnome.org/browse/gnome-shell-extensions/tree/extensions/gajim"&gt;Shell extension&lt;/a&gt; hooking to Gajim via
D-Bus to monitor chat notifications and allow chatting in the
Shell without directly using the Gajim window. This behaves
exactly as the Empathy integration.&lt;/p&gt;
&lt;p&gt;There's still some work to do, like inhibiting notifications
coming from Gajim because currently when a incoming chat appears
the user gets a notification from the builtin Shell IM and a
notification from Gajim itself. A workaround is to disable some
notifications in the Gajim preferences.&lt;/p&gt;
&lt;p&gt;As I needed some &lt;a class="reference" href="http://trac.gajim.org/ticket/6787"&gt;new D-Bus API in Gajim&lt;/a&gt; the Shell extension
requires Gajim-nightly &amp;gt;= 20110326.&lt;/p&gt;
&lt;p&gt;Congrats to the GNOME Team for this awesome GNOME3 release and
happy chating :)&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/112/">
<dc:date>2010-08-20T12:58:24.000004+01:00</dc:date>
<title>WebKitGTK+ Hackfest!</title>
<link>http://base-art.net/Articles/112/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;This was a nice week in A CoruÃ±a, Spain. The WebKitGTK+ &lt;a class="reference" href="http://live.gnome.org/WebKitGtk/Hackfest2009"&gt;Hackfest&lt;/a&gt;
went well I think :) The &lt;a class="reference" href="http://www.igalia.com"&gt;Igalia&lt;/a&gt; office is great for such an
event, the organization/infrastructure was well done, the hotel
near the office was awesome, what else? We managed to get things
done code-wise! Even though the list is big some items were
proudly erased from the TODO like:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Dan started a rewrite of some parts of libsoup with gio and worked on the soup URI loader&lt;/li&gt;
&lt;li&gt;Xan and Gustavo worked on form authentication saving in WebKitGTK+/Epiphany&lt;/li&gt;
&lt;li&gt;Xan did some good progress on DOM bindings&lt;/li&gt;
&lt;li&gt;User-Agent support in Epiphany&lt;/li&gt;
&lt;li&gt;Page cache control support in WebKitGTK+ was merged by Alex&lt;/li&gt;
&lt;li&gt;Alex did some work on a11y support for WebKitGTK+&lt;/li&gt;
&lt;li&gt;Bedhad and Evan worked on Harfbuzz integration (instead of Pango)&lt;/li&gt;
&lt;li&gt;Reinout built a list of Epiphany regressions to fix&lt;/li&gt;
&lt;li&gt;Evan and Benjamin worked on improving the build process (size and time)&lt;/li&gt;
&lt;li&gt;Martin and Cody worked on ARGB windows support for WebKitGTK+&lt;/li&gt;
&lt;li&gt;Benjamin went on war against crashers&lt;/li&gt;
&lt;li&gt;and I worked on merging HTML5 video controls and the media tests&lt;/li&gt;
&lt;li&gt;probably a lot more I didn't catch during all the discussions ;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Still some work to do though, like for HTML5 audio/video support:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;on-disk buffering&lt;/li&gt;
&lt;li&gt;fullscreen view&lt;/li&gt;
&lt;li&gt;closed captions (this seems very specific to SMIL)&lt;/li&gt;
&lt;li&gt;pitch control (when scrubbing)&lt;/li&gt;
&lt;li&gt;enhanced controls UI&lt;/li&gt;
&lt;li&gt;and still some media tests to fix :)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So thank you to Igalia, &lt;a class="reference" href="http://collabora.co.uk"&gt;Collabora&lt;/a&gt; and the &lt;a class="reference" href="http://gnome.org"&gt;GNOME&lt;/a&gt; foundation for
sponsoring this event!&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/117/">
<dc:date>2010-08-20T12:47:26.000004+01:00</dc:date>
<title>WebKitGTK+ and HTML5 fullscreen video</title>
<link>http://base-art.net/Articles/117/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;&lt;a class="reference" href="http://www.w3.org/TR/html5/video.html#video"&gt;HTML5 video&lt;/a&gt; is really nice and all but one annoying thing is the
lack of fullscreen video specification, it is currently up to the
User-Agent to allow fullscreen video display.&lt;/p&gt;
&lt;p&gt;WebKit allows a fullscreen button in the media controls and
Safari can, on user-demand only, switch a video to fullscreen and
display nice controls over the video. There's also a
webkit-specific DOM API that allow custom media controls to also
make use of that feature, as long as it is initiated by a user
gesture. Vimeo's HTML5 player uses that feature for instance.&lt;/p&gt;
&lt;p&gt;Thanks to the efforts made by &lt;a class="reference" href="http://igalia.com"&gt;Igalia&lt;/a&gt; to improve the WebKit GTK+ port and its GStreamer media-player, I have been able to implement support for this fullscreen video display feature. So &lt;a class="reference" href="http://trac.webkit.org/wiki/ApplicationsGtk"&gt;any application&lt;/a&gt; using WebKitGTK+ can now make use of it :)&lt;/p&gt;
&lt;p&gt;The way it is done with this first implementation is that a new
fullscreen gtk+ window is created and our GStreamer media-player
inserts an autovideosink in the pipeline and overlays the video
in the window. Some simple controls are supported, the UI is
actually similar to Totem's. One improvement we could do in the
future would be to allow application to override or customize
that simple controls UI.&lt;/p&gt;
&lt;p&gt;The nice thing about this is that we of course use the
&lt;a class="reference" href="http://www.gstreamer.net/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html"&gt;GstXOverlay&lt;/a&gt; interface and that it's implemented by the linux,
windows and mac os video sinks :) So when other WebKit ports
start to use our GStreamer player implementation it will be
fairly easy to port the feature and allow more platforms to
support fullscreen video display :)&lt;/p&gt;
&lt;p&gt;&lt;a class="reference" href="http://blogs.gnome.org/otte/2009/10/05/cairo-is-slow/"&gt;Benjamin&lt;/a&gt; also suggested that we could reuse the cairo surface of
our WebKit videosink and paint it in a fullscreen GdkWindow. But
this should be done only when his Cairo/Pixman patches to enable
hardware acceleration land.&lt;/p&gt;
&lt;p&gt;So there is room for improvement but I believe this is a first
nice step for fullscreen HTML5 video consumption from &lt;a class="reference" href="http://live.gnome.org/Epiphany"&gt;Epiphany&lt;/a&gt;
and other WebKitGTK+-based browsers :) Thanks a lot to &lt;a class="reference" href="http://blog.kov.eti.br/"&gt;Gustavo&lt;/a&gt;,
Sebastian DrÃ¶ge and &lt;a class="reference" href="http://abandonedwig.info/blog/"&gt;Martin&lt;/a&gt; for the code-reviews.&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/116/">
<dc:date>2010-04-22T06:13:18.000003+01:00</dc:date>
<title>Bay Area, California!</title>
<link>http://base-art.net/Articles/116/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;Writting this post from San Francisco where I am spending some
volcanic, work and little sightseeing time :)&lt;/p&gt;
&lt;div class="section"&gt;
&lt;h1&gt;&lt;a id="work-hacking" name="work-hacking"&gt;Work/Hacking&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I initially came here for the first &lt;a class="reference" href="http://trac.webkit.org/wiki/April%202010%20Meeting"&gt;WebKit Contributor Meeting&lt;/a&gt; with
my &lt;a class="reference" href="http://igalia.com"&gt;Igalia&lt;/a&gt; coworkers &lt;a class="reference" href="http://blogs.igalia.com/alex"&gt;Alex&lt;/a&gt;, &lt;a class="reference" href="http://blogs.igalia.com/juanjo"&gt;Juanjo&lt;/a&gt; and &lt;a class="reference" href="http://blogs.gnome.org/xan"&gt;Xan&lt;/a&gt;. We used the time here to
also meet a customer we have in Bay Area and some of us attended &lt;a class="reference" href="http://www.embeddedlinuxconference.com/elc_2010"&gt;ELC&lt;/a&gt;
and &lt;a class="reference" href="http://events.linuxfoundation.org/events/collaboration-summit"&gt;Linux Collab&lt;/a&gt; Summit too. I was meant to attend the last day of ELC
but we were a bit late asking for it so it was dropped from the long
queue of people wanting to attend as well :/&lt;/p&gt;
&lt;p&gt;People attending ELC and/or Linux Collab got a free Google Nexus. I
was kinda sad to not get one because of that registration issue and
Juanjo kindly gave me the one he got. So I will try it for a while,
write a little N900 vs NexusOne blog post and probably give the phone
back to some Igalian ;). Thanks Juanjo!&lt;/p&gt;
&lt;p&gt;The WebKit meeting was interesting. Although I didn't make much
talking I attended the session about moving to git, the one about how
to deal with experimental features, the WebKit2 one and finally the
one about the Media Elements. The last one was interesting for me
especially because I work on the MediaPlayer stuff in WebKitGTK+ ;)&lt;/p&gt;
&lt;p&gt;This last session motivated me again to work on video fullscreen for
WebKitGTK+. I have now a working patch and hope to share some
FullscreenController code with the windows port (and mac maybe). The
way I did it is the following:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;create a bin which will serve as video-sink for playbin2&lt;/li&gt;
&lt;li&gt;link a ghost pad of the bin to a tee&lt;/li&gt;
&lt;li&gt;in one branch of tee I added a queue and our internal webkit
videosink&lt;/li&gt;
&lt;li&gt;when the user requests fullscreen I create a new branch with a
ffmpegcolorspace, queue and autovideosink&lt;/li&gt;
&lt;li&gt;overlay is handed of to a window created by the fullscreen
controller&lt;/li&gt;
&lt;li&gt;when user exits from fullscreen I remove the branch from the tee.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I can now enter fullscreen by clicking on the fullscreen button of the
media controls and leave fullscreen by pressing escape of f. So the
next step is to draw some media controls over the video and handle the
actions. Not sure what to do with the browser window when fullscreen is
activated... hide? pause? Suggestions welcome :) Safari for instance
animates the video box so it nicely takes all the screen estate, not
sure I can do that with GTK...&lt;/p&gt;
&lt;p&gt;Lately I've also been working on astracting some things away from the
MediaPlayer backend so it can eventually be reused by other ports. I
even started experimenting on mac! More to come on this. So what I
needed to fix/abstract:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;I moved the cairo calls from the paint method to new ImageGstreamer
abstractions&lt;/li&gt;
&lt;li&gt;The libsoup calls in the webkitsrc element have been ifdef'd. The
message pausing/resuming needs to be abstracted away.&lt;/li&gt;
&lt;li&gt;If the underlying application doesn't run on a gmainloop the
gstreamer messages need to be processed with a synchronous handler.&lt;/li&gt;
&lt;li&gt;ports implementing fullscreen need adaptations as well (use overlay
when possible, see above).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm not yet really proud of all these patches so this seems to appear
as teasing-only, sorry for that ;) I will blog about this again when the
patches land in trunk.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section"&gt;
&lt;h1&gt;&lt;a id="tourism" name="tourism"&gt;Tourism&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I was supposed to leave SF on the 15th of april but a volcano with a
name a french guy like me can't pronounce decided otherwise! Alex,
Juanjo and Xan managed to fly back because Madrid airport wasn't
closed. So &lt;a class="reference" href="http://netzflocken.de/"&gt;Frank&lt;/a&gt; and I went on a little road trip towards Muir Woods
and Reyes point. This is an amazing landscape, we even saw a reserve
of elephant seals :) In SF we also went to the Golden Gate park and
the Japanese park inside, very nice. All the week was the occasion of
eating japanese food, burritos, cable-car(ing) and walking endless
miles on the hills of SF. Last saturday was Mike's birthday party and
I was supposed to leave on sunday. The flight was cancelled for the
second time. Mike kindly accepted to let me sleep in the guest room
and I worked from a cafe in Oak street.&lt;/p&gt;
&lt;p&gt;This time in SF was also a good occation to see other people stranded
like Christian, Robert, Philippe (all 3 from Collabora), Marc (fellow
fluendo coworker) and some locals like Brandon Lewis, David Shleef.&lt;/p&gt;
&lt;p&gt;My next attempt (hopefully the last!) to reach Spain is scheduled for
this friday, the Ashing seems somehow to let planes fly (or is it the
airlines lobbying over politics?) so I have good hopes this time.&lt;/p&gt;
&lt;p&gt;Dude this is the longest post I ever wrote. Thanks for reading (or
skipping :)&lt;/p&gt;
&lt;/div&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/115/">
<dc:date>2010-02-11T16:20:39.000003+01:00</dc:date>
<title>Mirabeau on Maemo</title>
<link>http://base-art.net/Articles/115/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;At FOSDEM Frank and I showed the work we did on &lt;a class="reference" href="http://coherence.beebits.net/wiki/Mirabeau"&gt;Mirabeau&lt;/a&gt;, a
screencast was made few days before FOSDEM and we showed it but I
wanted to add some comments and re-arrange some parts of it, so
here it is now, re-arranged with PiTiVi :)&lt;/p&gt;
&lt;video controls&gt;
 &lt;source type="video/ogg" src="http://base-art.net/static/mirabeau2.ogg" codecs="theora, vorbis"&gt;
 Please install a HTML5 compliant browser. Meanwhile you can download the video from http://base-art.net/static/mirabeau2.ogg
&lt;/video&gt;&lt;p&gt;(&lt;a class="reference" href="http://base-art.net/static/mirabeau2.ogg"&gt;Video here&lt;/a&gt; in ogg/theora/vorbis if your browser fails to play it).&lt;/p&gt;
&lt;p&gt;This is still work in progress, we have some issues with
&lt;a class="reference" href="http://telepathy.freedesktop.org"&gt;Telepathy&lt;/a&gt; MUC Tubes, I promised Sjoerd from Telepathy fame to
create some new bugs in bugzilla. Also the UI itself still needs
work, especially the MediaRenderer UI. I will also at some point
add a chatroom window.&lt;/p&gt;
&lt;p&gt;Oh and we also won a N900 at the XMPP developer contest thanks to
this application! Thanks a lot to the &lt;a class="reference" href="http://www.xmpp.org/xsf/"&gt;XSF&lt;/a&gt; and Nokia :)&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/114/">
<dc:date>2010-01-29T12:59:03.000004+01:00</dc:date>
<title>Guess what</title>
<link>http://base-art.net/Articles/114/</link>
<author>Philippe Normand</author>
<description>
&lt;a class="reference image-reference" href="http://fosdem.org"&gt;&lt;img alt="http://base-art.net/static/fosdem-2010.png" src="http://base-art.net/static/fosdem-2010.png" /&gt;&lt;/a&gt;
&lt;p&gt;Arriving friday morning and leaving monday evening! I will do a &lt;a class="reference" href="http://live.gnome.org/Brussels2010/Devroom"&gt;quick presentation about WebKitGTK+&lt;/a&gt; and a talk with my friend &lt;a class="reference" href="http://netzflocken.de/"&gt;Frank&lt;/a&gt; about Mirabeau and personal media networks in the &lt;a class="reference" href="http://xmpp.org/summit/summit8.shtml#saturday"&gt;XMPP room&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will be a whole &lt;a class="reference" href="http://igalia.com"&gt;Igalia&lt;/a&gt; gang hanging out there at Fosdem, looking forward socializing around beers :) Oh and don't miss &lt;a class="reference" href="http://www.joaquimrocha.com/2010/01/28/going-to-fosdem-2/"&gt;Joaquim&lt;/a&gt; and &lt;a class="reference" href="http://blogs.igalia.com/vjaquez/2010/01/24/ping-dsp-task-node/"&gt;Victor&lt;/a&gt;'s talks!&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/113/">
<dc:date>2010-01-22T09:51:42.000004+01:00</dc:date>
<title>GStreamer and on-disk videos buffering</title>
<link>http://base-art.net/Articles/113/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;A really nice feature every video player using GStreamer and playbin2
should have is media on-disk buffering. Even though it is supported
only for Quicktime and Flash videos currently it remains one good
improvement of the user experience if you are an avid consumer of
Apple trailers and flv :)&lt;/p&gt;
&lt;p&gt;Under the hood the magic is in queue2 and uridecodebin but you mostly
interface with playbin2. Here is the action plan:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Add the &amp;quot;download&amp;quot; flag to the playbin2 flags property&lt;/li&gt;
&lt;li&gt;Upon reception of GST_MESSAGE_BUFFERING messages on the bus, add an
idle source to the main loop (for instance)&lt;/li&gt;
&lt;li&gt;In that source create a gst_query_new_buffering() query with
GST_PERCENT_FORMAT format perform the query to playbin2&lt;/li&gt;
&lt;li&gt;Use gst_query_parse_buffering_range() to get the stop value and
compute the fill_status value&lt;/li&gt;
&lt;li&gt;Notify your UI of the fill level&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Additionally you can allow the user to save the buffered media for
later off-line consumption :) The media is buffered by queue2 in the
tmp folder, the exact file location, temp-location queue2 property,
can be retrieved by connecting to the &amp;quot;deep-notify::temp-location&amp;quot;
signal of playbin2. You also need to make sure that the temporary file
is removed when the user exits from your application, GStreamer
doesn't automatically take care of that, as far as I could see.&lt;/p&gt;
&lt;p&gt;This is what Totem does, as far as I could understand its code. This
is also how I implemented (&lt;a class="reference" href="https://bugs.webkit.org/show_bug.cgi?id=30004"&gt;yet to merge&lt;/a&gt;) it in WebKitGTK+:&lt;/p&gt;
&lt;a class="reference image-reference" href="/static/iron2_buffering.png"&gt;&lt;img alt="/static/iron2_buffering-thumb.png" src="/static/iron2_buffering-thumb.png" /&gt;&lt;/a&gt;
&lt;p&gt;And to provide a simple example I added this feature to the gst-python play.py example, available in a &lt;a class="reference" href="http://gist.github.com/271334"&gt;gist&lt;/a&gt; after the break!&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/111/">
<dc:date>2009-09-23T20:29:12.000002+01:00</dc:date>
<title>Goodbye Fluendo, hello Igalia!</title>
<link>http://base-art.net/Articles/111/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;After more than 3 years at Fluendo it was time for me to change
and work on new projects/technologies. Elisa, now known as
Moovida, has gone a long way since 2006 and I'm sure the project
will continue to evolve nicely :)&lt;/p&gt;
&lt;p&gt;At the beginning of the week I started working for Igalia, in the
Desktop/Mobile team. I will be working from home but this week I
am in La CoruÃ±a to know my new co-workers, the great office there
and the city :) I am very lucky it seems: even the weather is
great so far! This Friday we celebrate the 8 years of Igalia in a
nice place, as I heard, good opportunity to meet most of the
Igalians, I think most of us will be here excepted Claudio and
Xan, at least. I started working on WebKitGtk+ and GStreamer with
Xan and the other hackers of the WebKit fame that I don't know
yet ;) This is cool, but quite a big change for me after nearly 5
years of Python! But I will keep on hacking in Python, at least on
Coherence :)&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/110/">
<dc:date>2009-08-15T11:56:34.000005+01:00</dc:date>
<title>Python and gobject-introspection</title>
<link>http://base-art.net/Articles/110/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;I've recently been playing with pygobject and
&lt;a class="reference" href="http://live.gnome.org/GObjectIntrospection"&gt;gobject-introspection&lt;/a&gt;. There's currently a GSoC project for this,
&lt;a class="reference" href="http://simon.vanderlinden.eu.org/"&gt;Simon Van Der Linden&lt;/a&gt; is working on this, and I must say,
progressing fast!&lt;/p&gt;
&lt;p&gt;Simon does the work on a &lt;a class="reference" href="http://git.gnome.org/cgit/pygobject/log/?h=gsoc2009"&gt;pygobject branch&lt;/a&gt; and also wrote some
&lt;a class="reference" href="http://git.vanderlinden.eu.org/cgi-bin/gitweb.cgi?p=glib;a=summary"&gt;patches for glib&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here's a little g-i Clutter code sample, just to show how easy it
is to use the runtime bindings:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
import sys
import pygtk
pygtk.require('2.0')

from gi.repository import  Clutter

Clutter.init(sys.argv)

stage = Clutter.Stage()
stage.set_size(200, 200)
stage.set_color(Clutter.Color(0, 0, 0, 255))
stage.show()

Clutter.main()
&lt;/pre&gt;
&lt;p&gt;Pretty self-explanatory, create an empty stage and show
it. That's quite cool, this new pygobject version will
potentially allow Python developers to directly use libraries
like Gtk, GStreamer, Clutter and the like without the need of
specific bindings.&lt;/p&gt;
&lt;p&gt;I have some more examples in a &lt;a class="reference" href="http://gist.github.com/167714"&gt;gist&lt;/a&gt;. The animation example
doesn't work yet because gi doesn't know how to marshal python
callable arguments, but... it's getting there! Many kudos to
Simon, keep up the good work!&lt;/p&gt;

</description>
</item>


<item rdf:about="http://base-art.net/Articles/109/">
<dc:date>2009-07-09T12:58:30.000003+01:00</dc:date>
<title>Coherence team at GCDS</title>
<link>http://base-art.net/Articles/109/</link>
<author>Philippe Normand</author>
<description>
&lt;p&gt;I gave a &lt;a class="reference" href="http://www.grancanariadesktopsummit.org/node/203"&gt;talk&lt;/a&gt; about &lt;a class="reference" href="http://coherence-project.org"&gt;Coherence&lt;/a&gt; and &lt;a class="reference" href="http://telepathy.freedesktop.org"&gt;Telepathy&lt;/a&gt; at Gran Canaria
Desktop Summit with &lt;a class="reference" href="http://netzflocken.de"&gt;Frank&lt;/a&gt; on tuesday. It went well, there were
about 50 people. I think most of the people got the concept we
tried to explain: UPnP devices and services are not bound to
local network anymore, thanks to the combination of Coherence and
XMPP through Telepathy. The slides should be online soon, will post
an update to this post when I know the url ;)&lt;/p&gt;
&lt;p&gt;Part of the Coherence gang including Benjamin, Frank and me is
here at Las Palmas, feel free to grab us if you have any
question. It was also nice to meet Karl Vollmer, the &lt;a class="reference" href="http://ampache.org"&gt;Ampache&lt;/a&gt;
lead developer :)&lt;/p&gt;
&lt;p&gt;So we are quite excited about Mirabeau, work on it will continue
during the summer and a first release should happen in
september. I'm writing a little howto explaining how to easily
try the current (work-in-progress) version of Mirabeau, it will
land in the wiki in the coming days ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: Slides are &lt;a class="reference" href="http://coherence-project.org/download/mirabeau-guadec-2009.odp"&gt;there&lt;/a&gt;&lt;/p&gt;

</description>
</item>



</rdf:RDF>
