The Wayback Machine - https://web.archive.org/web/20170701060456/http://www.advogato.org/person/zeenix/diary.html?start=142

Older blog entries for zeenix (starting at number 142)

Mango and Lassi, two separate objects

There is no such thing as Mango Lassi. There is Lassi and then there is Mango, both very delicious but separate objects and both lose their taste as soon as you combine them. Unfortunately, many Indian/Nepalese restaurants in europe are spreading the wrong message just to simply their task of selling both on the same ignorant (of Indian cuisine) customer. I was already annoyed enough by the Waiter bringing me a Mango Lassi each time I order a Lassi in Nepalese restaurant and now I'll be seeing (maybe also using) a nice free software project by the same name. :(

Syndicated 2007-10-09 22:03:00 (Updated 2007-10-09 22:04:01) from zeenix

GUPnPResourceFactory

As soon as I started to write gupnp-av-cp, I realized that I need to subclass resource (device and service) proxy classes but the resource proxies are created by the control point object on discovery and there was no way of telling control point to create objects of your subclass instead. The obvious solution that comes to mind is to add an API to control point for registering your subclass' gtype against a UPnP resource type. Unfortunately, that won't work since device proxies also create device proxies for embedded proxies and services.

So the final solution, which is already implemented and committed to svn is a separate class, GUPnPResourceFactory whose sole responsibility is to create resource and resource proxy objects and to provide an API for registering and unregistering UPnP resource type to gtype assignments. Each GUPnPControlPoint and GUPnPDeviceInfo-derived object is assigned a GUPnPResourceFactory object on creation. You can get a pointer to the factory used by the control point or root device by using the appropriate getter function. Once you have the factory, you can simply register and unregister your subclasses to it.

Syndicated 2007-10-09 21:57:00 (Updated 2007-10-09 22:03:19) from zeenix

I hate Philip Van Hoof

What was he thinking when he mentioned this cool toy on planet gnome? Didn't he know that a few of p.g.o readers can't possibly resist it. Believe me i tried very hard but failed miserably to convince myself that I can't afford it yet. So I placed the order today. I should get it in a week or two. If I get lost in this toy, please send lots of hate mails to Philip, subscribe him to lots of porn websites etc etc.

Seems I'll be flashing the brick with brickOS at some point but I guess in the beginning I'll keep it's 'mind' running on my laptop, controlling it's body over bluetooth.

Syndicated 2007-10-01 20:25:00 (Updated 2007-10-01 20:34:38) from zeenix

GUPnP Release announcements


GUPnP Tools 0.2
===============

This release features Network Light, a UPnP-enabled software-based light bulb
that provides Switch Power and Dimming services, as defined by UPnP forum as
'DimmableLight v1.0". It is mainly intended to be a simple example of a UPnP
device based on GUPnP, and a demonstration of simplistic yet powerful GUPnP
API. It can also be used to debug generic and DimmableLight control points.

Changes to Universal Control Point in this release:

- Use of gtk stock icons wherever appropriate.
- New cool icons from Lapo Calamandrei, licensed under GPL
- Use icon from the Device, if available, to represent it.
- Subscribe to services, by default.
- Ability to copy&paste details and events.
- Lots of code cleanup and refactoring and misc fixes.

GUPnP 0.6
=========

- Added service signal autoconnection feature in the spirit of
glade_xml_signal_autoconnect(). [Zeeshan Ali]
- Fixed various bugs related to object destruction. Fixes #500, 503.
[Jorn Baayen]
- Accept 'yes' and 'no' boolean values. [Zeeshan Ali]
- More information in error messages. [Zeeshan Ali, Jorn Baayen]
- Mark GUPnPServiceIntrospectionCallback() 'error' argument as 'const'.
[Jorn Baayen]
- Fixed gupnp_device_info_get_model_number() to return the right value.
[Zeeshan Ali]
- Moved the uuid dependency to Requires.Private, and removed the
shared-mime-data build dependency. [Jorn Baayen]
- Various other minor fixes. [Zeeshan Ali, Jorn Baayen]

Special thanks to Stéphane Loeuillet for stress-testing the library and
discovering many bugs. (Which are all fixed in this release. :) )

GSSDP 0.4.1
===========

- Pass the correct value to n_columns argument of gtk_list_store_new().
Fixes bug#501. [Zeeshan Ali]
- Move libsoup requirement to Requires.Private. [Jorn Baayen]
- Fix compiler warning. Fixes #421. [Priit Laes]


Downloads from: http://gupnp.org/sources/

Syndicated 2007-09-23 20:23:00 (Updated 2007-09-24 08:28:19) from zeenix

16 Sep 2007 (updated 17 Sep 2007 at 12:07 UTC) »
DAAP vs UPnP MediaServer

While I believe that Lennart's work on free implementation of Apple protocols is very important for the wide-spread acceptance of free software, I fail to see any fact(s) that could support his claims like "I believe that DAAP is the superior protocol in comparison to UPnP MediaServer". When he was visited our office for his presentation on Avahi, he claimed that Zeroconf is better than UPnP itself, his argument being that Zeroconf uses simple ASCII text files and that makes it much more compatible with other Internet protocols, while UPnP uses XML (corrections welcomed). Here are a few points for him to consider:

  • UPnP is much more than addressing and discovery: Zeroconf defines standards for the addressing and discovery of services on a network but do no define any means for description, control, event notification and presentation. While this allows the services to choose any mechanism for any or all of these, the point being that UPnP itself isn't really comparable to Zeroconf but only two of it's parts.

  • ASCII is superior to XML?: how come? Just because MS supports XML or other Internet protocols didn't choose to use it?

  • "Microsoft/Intel started to include a similar technology in UPnP, the UPnP MediaServer". Media Server is based on UPnP not part of it in any way.

  • It's pronounced GUPnP, not gUPnP (thats the logo). :)

  • GUPnP is *not* an implementation of any particular service or device but a framework to create control-points, devices and services on top of it.

  • RAOP is obviously not superior to Media Renderer as it uses modified RTSP/RTP, while Media Renderer (and Media Server) standards allow you to implement any number of protocols for streaming the media, while it mandates the HTTP protocol so all devices have at least one protocol in common. Since these technologies target streaming of non-live media between devices connected to local LAN, I really don't see any reason not to just use HTTP.
Blog moved to blogger.com

I am moving my blog to blogger.com so that people can comment on my blog. Nothing should change for subscribers of my blog as advogato has blog syndication feature.

Syndicated 2007-09-16 12:33:00 (Updated 2007-09-17 11:36:29) from zeenix

13 Sep 2007 (updated 13 Sep 2007 at 22:10 UTC) »
Nothing personal against anyone

Olav! I've nothing against you personally, I merely said what i felt and apparently Kalle felt the exact same thing. You presented several different arguments, some i found good enough and some not so good but I don't see anything that could make me change the conclusion I derived from that statement of yours that i quoted, neither in that discussion nor in your reply to my last blog entry. Unless you can provide such an explanation, anyone who reads that statement would come to the same conclusion as i did.

13 Sep 2007 (updated 14 Sep 2007 at 13:35 UTC) »
git vs svn debate

I must confess that it was me who (unintentionally) started the git vs svn debate on gnome foundation mailing list. It was just that when Damien announced his extreme anger over not being able to get a developer write access to the svn repo, I couldn't resist my temptation to point out the fact that Damien wouldn't have found it a problem if either gnome was using git (or some other distributed SCM) or Damien had decided to use git together with git-svn on his end. OTOH, The discussion went very well until the biggest opponent of git, Olav Vitters admitted that "It translates to: I really care about not needing to learn an SCM.". From that point onwards, I completely lost the interest in the discussion.

UPnP Stuff

Looking at the screenshot from Christian, it seems that the Universal Control-Point looks much better on fedora than my debian testing laptop. :) Although almost all the icons are being replaced currently so it will soon look quite different. Also, Stéphane Loeuillet had been testing our UPnP stack on his Ubuntu Gutsy and have filed a couple of critical bugs against Jorn's and my code so we needed to fix them as well before the release. Today I played with the Intel's MediaRenderer running on my windows machine using the Universal CP on my linux machine and it felt so nice to be able to do that, play, pause, seek, setting volume etc. :)

I have decided with Jorn and Matthew that we will also implement a simple AV control-point, MediaServer and MediaRenderer as part of GUPnP Tools, so soon after the next release of GUPnP Tools, I'll get onto the AV control-point.

Regarding 9/11

I have no doubt that all the people who died in this incident were innocent and deserve our deepest sympathies but remembering this incident and not the many other bigger incidents isn't very humane thing to do. We must not forget that USA is directly responsible for the destruction of Afghanistan by aiding and funding in all possible ways the terrorist who were at that time called "Freedom Fighters" during and *before* the Soviet Invasion. It's quite understand that western people are unable to believe me when i tell them that Soviet Union was the hero in Afghanistan as they were not only introducing modern infrastructure, education, liberal values but were also crushing the religious fundamentalism.

In fact it were these 'liberal values' the pro-soviet students in Afghanistan were going towards, that made many of the religious fanatics angry with the coming change (talking of 60 and 70's) and they became what they became. They were just random small gangs in the beginning who would sometimes commit an act of violence at random but all that changed when the CIA contacted them and started to organise and fund them.

UPDATE 14-09-2007 16:30

I only have one blog for everything in my life and it's not everyday that I feel like saying anything about politics. I saw some people expressing themselves about 9/11 and I felt the need to point everyone at the other (most impost IMHO) side of the picture as well. If someone have something to say about my political opinion, there is no need to start a debate through blog, you can always email me and if i find your arguments convincing enough I'll change my opinion.

That said, if planet gnome has some policy on this matter, just let me know and I won't talk about politics (at least not the one that doesn't concern free software) anymore on my blog that gets syndicated to planet gnome.

Hackergotchi

Thanks to everyone who made me hackergotchis but I would take either of the following made by Sean Wilson, though I would prefer the later as i really like to show off my "GObject" t-shirt :)

GUPnP stuff

Have been polishing different stuff in Universal Control Point and Network Light. Also I found some potential segfaults in GUPnP and the patches have been sent and comitted already. Now i am mostly waiting for Lapo to come-up with replacements for icons used by Universal Control Point. Here is a screenshot:

Can anyone make a hackergotchie for me from this image:

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.

133 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!