Chef de Cambuse, cruising and wine

Entries in the Category “software”

Droidcamp Stuttgart 18. - 19. Juni

written by Frank, on Jun 18, 2010 12:38:00 PM.

I’ll be there on Saturday and am particularly interested in the sessions:

  • Android for Business, the Dalvik VM and and the Java language
  • Android and Privacy - I like Android but don’t want to use my Google account
  • Smartspace - Indoor Localisation on Android
  • AndEngine - 2D OpenGL Game Engine
  • AndAR - Augmented Reality on Android

Pont Mirabeau - an UPnP bridge

written by Frank, on Jun 30, 2009 10:56:00 PM.

What started over a year ago as a vague idea and got more concrete in a first prototype last October, is now ready for a first public beta - Mirabeau, an application level proxy for UPnP devices using XMPP as a transport to establish a connection between two or more local networks over the Internet.

Or in less technical terms, it allows the DLNA capable TV at your parents place to access for instance the images of your last vacation stored on an UPnP MediaServer in your home.

Mirabeau is part of Coherence and utilizes the D-Bus interface there to create a transport layer over XMPP with the help of Telepathy’s tubes.

Philippe and I will give a presentation about it during this years Gran Canaria Desktop Summit.

Mirabeau addresses the issue that UPnP is only meant to be used in a local network. With Mirabeau we are able to easily interconnect two or more networks and the UPnP devices therein. All that with a simple, well-used setup - Jabber, and without the need for complicated VPN-tunnels or similar techniques.

Philippe wrote already about our first successful - world premiere - connection with our two networks in Spain and here in Germany, where we tested the whole infrastructure with the UPnP-Inspector.

What I would like to highlight here is the point that arbitrary UPnP devices do participate in this.
Mirabeau is a transparent bridge for UPnP devices on the application level, not only an ‘I can share my media collection between two instances of the same software’ setup.
Which is of course nice too, but we lifted that to a more higher level and instantly integrate everything that can talk UPnP - PS3, Xbox 360, Totem

Nokia MediaStreamer browsing Phil's server in Spain

An unmodified UPnP application on the N810 - Nokia’s MediaStreamer is browsing Phil’s server in Spain.

And the same by a Playstation 3:

PS3 browsing Phil's server in Spain PS3 browsing Phil's server in Spain

So if you are interested in this or want to know more don’t miss our talk @ GCDS, or join us on IRC freenode #coherence.

Now running on Zine

written by Frank, on Mar 26, 2009 1:00:00 PM.

I finally lashed myself to replace my very, very old, first-adopter instance of TextPress by new and shiny Zine, its enhanced successor.

Thanks to the awesome work of the guys behind Zine that transition was an easy, painless task.


written by Frank, on Mar 25, 2009 10:26:00 PM.

I stumbled upon these two thinks the last days, which both I’m immediately ready to sign.

Even if they are - but only on a first glance - a bit contradictorily.

Coherence and Nautilus - Brothers in Arms

written by Frank, on Oct 26, 2008 10:30:00 PM.

One of the things I had on my list - unfortunately that list is quite long atm - was bringing Nautilus - Gnomes filemanager - and Coherence together.
Nautilus has the possibility to add something via an extension - luckily these extensions can be in Python too.

So it was pretty straight forward to add to Nautilus:

  • sharing one or more folders as a DLNA/UPnP MediaServer, allowing clients like the PS3 or the Nokia N810 to access these files
  • accepting files send from an ControlPoint
  • uploading files itself to other DLNA/UPnP MediaServers that allow media to be imported
  • instruct a MediaRenderer to playback a given file
You can watch the demonstration video here:

the link to Google Video, just in case that embedded player isn’t working

More details, download and install instructions as usual on the Coherence site.

As you might notice, there is one part missing - having Nautilus display and access the content of other MediaServers in the network.
This can’t be done with an extension, here the gvfs backend needs to be modified. But as Coherence exposes the MediaServers via DBus, a small layer mapping Nautilus’ requests to Coherence’ signals and methods shouldn’t be that difficult?

Coherence 0.5.2 - the "little leap"

written by Frank, on Feb 29, 2008 10:06:00 PM.

I'm happy to announce a new release of

Coherence 0.5.2 - the "little leap"

on this 29th of February 2008.

This is on the one hand an interim release to get into the distributions an updated package providing support for new features used by the upcoming versions of Rhythmbox and Elisa.

On the other hand there are some enhancements that are of general interest too:

  • rework of the XBox 360 support
  • refinements and improvements on the client side API, incorporating things we learned on extending the Rhythmbox UPnP plugin
  • some efforts on smoothing the "just use it as a MediaServer/-Renderer" user experience
  • rearrangements in the way multiple res elements are ordered, fixes issues which we had with some UPnP stacks and their 'wayward' interpretation of the specs
  • and the usual bugfixes and improvements

More details at the Coherence site

The best showcase for what can be done with Coherence is at the moment for sure the Rhythmbox UPnP plugin.

It enables Rhythmbox

  • to act as an UPnP MediaServer, serving its media files to other UPnP clients
  • be an UPnP client itself
  • and handing over control to an UPnP ControlPoint, announcing itself as an UPnP MediaRenderer
A demonstration can be viewed in a little video over here.

what to test the tests?

written by Frank, on Oct 16, 2007 8:36:00 PM.

A contributed test in t/05_links.t creates softlinks to several directories and then deletes them to test that remove() does NOT follow the softlinks.
Unfortunately, one of the places the test links to is File::Spec::rootdir().
As a result, when the test FAILS it will recursively delete the root directory.
This happened with an innocent Perl CPAN module only a few days ago.

Ok, finding joy in another's misfortune isn't the greatest virtue - but anyway, it is funny and something to think about.

Update: And while thinking I recalled a paper I read years ago - Reflections on Trusting Trust by Ken Thompson. Read it!