Older blog entries for zeenix (starting at number 133)

git-svn quirks

Although git is a little more than perfect now a days (git >= 1.5), git-svn however has a few quirks. Lately I got into a few frustrating problems and it turned out to be caused by how git-svn bridges the two very different worlds. What happens is that when you `git-svn rebase` (which is implicitly implied in `git-svn dcommit`), git-svn modifies the commit messages to contain an id, a git-svn-id to be precise using which it track down stuff like which latest commits haven't been committed to upstream svn repo etc. To cut the story short, here are is my advice for people who want to use git-svn on regular bases and branch (which they should):

  1. To make life simple, only have one branch sync with upstream svn repo (master branch is the most obvious choice).
  2. `git-rebase master` your branches each time after a `git-svn rebase` happens (implicitly or explicitly).
  3. Don't ever try to merge a branch once you have done that already and did a `git-svn dcommit` after you first merged it, unless you have followed point#2 above.
4 Sep 2007 (updated 4 Sep 2007 at 12:25 UTC) »
GUPnP Tools

Thanks to Lapo Calamandrei, now i have quite perfect images for the network light and it looks much better than that of Intel, IMO:

While Lapo was busy making the icons, I implemented the UI for the network light and also made the universal control point use icon from the device, if available to represent it in the device treeview. If things keep going on this pace, expect a 0.2 release of gupnp-tools anytime soon.


I am no expert on GPG and SSH keys and MTAs but should that mean that I should be denied write-access to projects hosted on freedesktop.org? For me that is precisely what it meant. Another sin of mine is that I have already used popular web-based email clients, first yahoo and then gmail. So the punishment i get for all these sins is the inability to get my SSH keys uploaded to freedesktop. I first tried the web interface of both gmail and yahoo to send the GPG-signed payload but both did some formating and that screwed the message. Then i tried to use thunderbird and exim4 using gmail's SMTP server, then my office exchange server (both with thunderbird and MS Outlook) but none of them worked. If it was the matter of my project, I would have decided to host it somewhere where they have something as basic as a webpage to upload the SSH key, working but unfortunately the projects i need to work on (e.g gstreamer) have been hosted on f.d.o for years now and why would anyone even consider moving to some other service for a small contributer like me.

Implementing UPnP Services just got easier

So jorn has commited my patch that implements the magic of autoconnecting action and state-variable query signals to GUPnPService. I am too lazy to write all about it so I'll just copy&paste the doc-comment:

 * gupnp_service_signals_autoconnect
 * @service: A #GUPnPService
 * @user_data: the data to pass to each of the callbacks
 * @error: return location for a GError, or NULL
 * A convenience function that attempts to connect all
 * possible "action-invoked" and "query-variable" signals to
 * appropriate callbacks for the service @service. It uses
 * service introspection and GModule's introspective
 * features. It is very simillar to
 * glade_xml_signal_autoconnect except that it attempts to
 * guess the names of the signal handlers on its own.
 * For this function to do its magic, the application must
 * name the callback functions for "action-invoked" signals
 * by striping the CamelCase off the action names and either
 * prepend "on_" or append "_cb" to them. Same goes for
 * "query-variable" signals, except that "query_" should be
 * prepended to the variable name. For example, callback
 * function for "GetSystemUpdateID" action should be either
 * named as "get_system_update_id_cb" or
 * "on_get_system_update_id" and callback function for the
 * query of "SystemUpdateID" state variable should be named
 * "query_system_update_id_cb" or
 * "on_query_system_update_id".
 * Note that this function will not work correctly if
 * GModule is not supported on the platform or introspection
 * is not available for service @service.
 * WARNING: This function can not and therefore does not
 * guarantee that the resulting signal connections will be
 * correct as it depends heavily on a particular naming
 * schemes described above.
GUPnP Network Light

Thanks to all the people who made and sent icons since this morning. I think I'll use the modification from Markus Berg though but I need to sort out the legal problems (since the original icon is under cc-by-sa) first.

GUPnP Network Light

Jorn has designed such an easy API for GUPnP that I've already implemented the UPnP part of the network light. Now I'll turn towards the GUI which is quite simple now that I've these images:

The first one I borrowed from the Tango project and it's obviously made by some professional but the second one is a modification on my own using Gimp. I'll still be thankful to anyone who can make me a nicer version of the second image. Note that I've removed the shadow from the second one and I did that because the shadow becomes quite dark when i alpha-composite the two images with alpha set to max.


Didn't realize until yesterday that I had screwed-up the treeview column headers while fixing the device treeview, so had to make a quite minor release.

Network Light

I'll be mostly finished with UPnP part of the Network Light sooner than later. For the GUI part, I desperately need an image of a light bulb, actually two images of the same bulb in two different states (on and off). Any graphics artist out there who would want to contribute to this project, please contact me at zeenix @ gmail.

GUPnP Tools now under GUPnP SVN

Don't ask why would any sane person move from git to svn and just accept the fact that GUPnP Tools is now under the GUPnP SVN. I'll still mostly be using git on my side using git-svn though and i strongly suggest others to do the same since it's still much better than using SVN directly.

gupnp-tools 0.1.1 released

Minor release.

- BUGFIX: Pack the text and pixbuf in the same column of device treeview.
- Require libglade 2.6.0 rather than 2.6.1.
- Print a warning when introspection creation fails.
- Some more english fixes with the help of Robert McQueen.

Download from: http://www.gupnp.org/sources/gupnp-tools/gupnp-tools-0.1.1.tar.gz

23 Aug 2007 (updated 24 Aug 2007 at 22:27 UTC) »
GUPnP tools released

I am pleased to announce the first release (0.1) of GUPnP Tools, featuring GUPnP Universal Control Point. Here are some screenshots:

I must point out at that GUPnP tools is part of the GUPnP project despite the fact that it's source repo is at a different location under a different SCM. Users should use the gupnp bugzilla and mailing-list for reporting bugs and asking questions.

Also I realized that writing a CLI for the universal control point isn't really worth the trouble so I'll start working on the network light now.


The fever played quite some tricks on me last week: there used to be no sign of it in the morning but it used to slowly come back as the day passed. Ultimately, I had to take 2 days off. Together with weekend, I rested for 4 days and now the fever is all gone.

When ansku was going through the pictures and videos from bcn trip on her camera, she found a clip I accidently took in which Andy Wingo is caught saying "oh shit!". Bids for this video starts from 100€.

GUPnP tools

I am done with the universal-cp (gui frontend). At least Jorn seem to like it. Thanks to him, the action invocation dialog is quite GNOME HIG compliant now. I will start working on the CLI frontend now and after I am done with that, I'll make the first release as these are the only two client-side binaries that i currently intend to provide.

124 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!