Older blog entries for zeenix (starting at number 125)

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.

Life

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.

14 Aug 2007 (updated 14 Aug 2007 at 18:27 UTC) »
The Barcelona story

Me and Ansku had quite a good time in Barcelona; saw some museums and churches, hanged around with fluendo and ex-fluendo guys. The Friday evening we had some delicious tapas at Ciudad Condal and on Saturday we enjoyed a good BBQ party at Andy's place. Christian had been a very good host, despite his illness. On the way back, I started to feel sick and I am still trying to recover.

GUPnP tools

Action invocation is already working <tada> and now i mostly need to do some code-cleanups and GUI fixing. I hate writing GUIs but to make my life even more miserable some dude tells me that the bug I reported is so low priority that he considers it a waste of time to explain why or how that is so.

9 Aug 2007 (updated 9 Aug 2007 at 20:31 UTC) »
GUPnP tools

Many thanks to Rob Taylor for providing me a publically-accessible git repo to host GUPnP Tools. This evening i pushed all the commits I had accumulated during the past 6 days. Also many thanks to jorn for adding the mutants of gupnp_service_proxy_send_action*() that take hash tables for in and out arguments which would ease things quite a lot for me since a generic client like the one i am writing wouldn't know the arguments at build time. While most of the functionality (not the eye-candy) is already implemented, the method invocation dialog turned out to be much more difficult to implement than i thought so looks like I wouldn't be able to complete it by the end of this week after all. :(

Barcelona! Here i come

After a few hours, I am flying to Barcelona with my sweetheart for a weekend-trip. Looking forward to spend some quality time with employees and ex-employees of fluendo.

3 Aug 2007 (updated 3 Aug 2007 at 11:02 UTC) »
The new Spock:

Guess who is going to play the role of Spock in the coming Star Trek movie? No! wait! don't waste your precious time and brain resources because you simply can't guess this one. The person chosen for this role is none other than Zachary Quinto. Who is that? he is the 'Sylar' in Heroes. :) We had some fun over this fact after i found it out last night:


<zeenix> guess who has been selected for the role of
spock in the coming star trek?
<jumpula> matt damon?
<zeenix> no no
<zeenix> that was for kirk
<zeenix> it's it's it's
<zeenix> 'Sylar' :)
<jumpula> noeees...
<zeenix> i am having trouble imaging him saying 'Live
long and prosper' :)
<jumpula> i'll bet he eats kirk's brains first chance
he gets
<jumpula> and kirk is matt damon?
<jumpula> this is bad :D
<zeenix> :D
<zeenix> and he'll say 'logic dictates that i eat your
brain' :)
<jumpula> :)
<jumpula> the needs of the one outweigh the needs of
the many
<jumpula> wonder if he get's the kirk's luck with the
ladies from the brain
<zeenix> lol

GUPnP tools

In my last communication with jorn regarding the universal control-point, he suggested to keep this in a separate package and it made sense since there shall be two binaries of the control-point provided, a console-based and gtk+ one and I am thinking of adding at least one more tool: a simple light-bulb, a free replacement for Intel's light-bulb, which would be a very nice and simple example of a gupnp-based control-points. All this combined with the fact that a separate package would allow me to use git all the way. :P There were two problems however:

  1. How do you move a particular directory from one git repo/project to another with all the history intact? I asked daniels if there is way to do that and he advised me to try out git-format-patch and git-am and that is what i did. After playing with git for a while last night, I was able to achieve my goal before 2am. :) Turns out that it's very simple if you know what to do:

    git-format-patch -o /tmp --binary <commit1> [commit2]

    where 'commit1' is the id of the last commit before the first commit to that dir and 'commit2' is the last one which you can skip if all commits after 'commit1' are to the same dir. You can find the commit ids to use through 'git-log' command. You'll get a bunch of patches in your cwd after this step. Skim through those patches and remove/edit them if necessary. Then go to the directory of the repo/project where you want to move your stuff to and:

    git-am /tmp/*.patch

    And you are done. :) Make sure there are no other patches in /tmp.

  2. I'll need to setup my git repo on a machine visible to everyone, which is static.fi for me. The admin told me that he is going to set it up but after he is finished with assembly (which is next week). The problem is that I (and some other git users either) don't know how to clone a repo. from my machine (which is always behind a NAT) to a remote machine. I heard it's only possible if there is a git daemon running on the other machine and I don't know if that admin friend of mine would allow that.
29 Jul 2007 (updated 29 Jul 2007 at 23:10 UTC) »
Feature-complete GUPnP released:

Although a bit of old news now but for those who haven't heard, GUPnP's first feature complete release is out. Since it now provides the same level of API that intel's libupnp provides, all the projects out there that were using libupnp until now can (and must) start using gupnp now if they want to be gmainloop-friendly and don't want any threads to be launched behind their backs.

To be (a git) or not to be

I tried git for the first time some two years ago when all i wanted to do was to grab a branch of linux source tree. That experience was enough for me to be really scared of using git ever again.

A month back, I ran into a typical problem in centralised SCMs when a contributer doesn't have write access to the repo: I sent a patch of my changes to Jorn and he committed the patch with some changes but before he actually committed it, I had made further changes on the bases of my previous changes so when i updated my working dir, SVN was able to detect conflicts but conflict report wasn't a very correct one and quite confusing to say the least. So despite my efforts, I ended-up overwriting Jorn's changes.

Matthew Allum advised me to use git-svn to avoid this problem in future but I just didn't want to use git again until i had a beer with Timo Savola a week back. He told me that the user-interface of git has improved quite a lot over the last few years and he sees no reason anyone should use any other SCM anymore. So on his advice I played with git and git-svn for the whole day on Friday. It was quite a frustrating experience at first but in the end when I got a hold of the basics, I realized that I was thinking in terms of other SCMs. So now I am also a proud supporter of git and what convinced me were strong arguments from Timo and this presentation by Linus himself (which was also pointed out by Timo).

GUPnP Universal Control Point progress:

Here is a screenshot of latest gupnp-universal-cp which have icons:

I tried to find the icons from the tango project gallery which best resembles that used by the Intel's device spy. I still couldn't find an icon to represent state variables. I am writing this email in the hope that some reader out there might have a clue and would contact me.

20 Jul 2007 (updated 20 Jul 2007 at 09:14 UTC) »
Adventures with the new computer

Now I am also amongst the elite who run a 3D desktop on their machines. With the proprietary drivers from Nvidia, it was just a matter of `apt-get install gnome-compiz-manager` and then enable/configure the 3D desktop through the intuitive GUI provided. The only problem was that I wasn't getting the window decorations although the gtk-window-decorator was running but it turned out in the end to be a simple matter of restarting gdm/gnome. I thought I'll be able to impress my windows-using GF but she seems to be more unix-like than i thought as her comment was: "Why? whats the use for this?" rather than "wow! thats cool".

I had to a buy a new MS wireless keyboard as I lost hope to get the apple bluetooth keyboard to work with my machine. Now that i have the M$ wireless keyboard and mouse, i have been told that they are not bluetooth and are not encrypted either, wow! scary. They both worked out of the box and seems for the PC they are like normal usb keyboard and mouse. Another problem is that the Fn keys don't work in ubuntu so i have to use the usb keyboard when i need to use them (e.g to switch the VT). I'll try to dig into the problem during the weekend.

GUPnP Universal Control Point:

I mentioned that I'll soon start working on GUPnP Device Spy that will be a free replacement of the Device Spy bundled in the Intel tools for UPnP, I have actually started to write it now but I thought the Device Spy isn't a very nice name for it as it's much more than that, so I naming it as GUPnP Universal Control Point. I'll stick to his name unless someone else have a better idea? Here is a screenshot of work in progress:

For those who are not familiar with the Intel Device Spy, this control point will enable user to easily perform three important functions:

  1. Discover UPnP devices on the network and report all (that includes service introspection info) the information regarding them.
  2. Ability to subscribe/unsubscribe to state-variables change notifications.
  3. Invoke actions on the services

The last one will be completely dependent on the introspection information available so you can't call a method on a service that doesn't list that method in it's SCPD.

The new darling

Last Monday evening, i finally received my darling the new AMD64. It already came with a dual boot, 32-bit windows XP and 64-bit Ubuntu feisty. The windows part was mostly already ok and it was really easy to switch the resolution to 1360x768 which is not exactly the same as my TV's default resolution (1366x768) but it's close enough, but the ubuntu side is another story:

It had open source nvidia drivers installed on it, so it couldn't do anything near to 1366x768, but after getting connected to internet, it was very easy to install and configure the proprietary drivers. Now my X/gnome is also running at 1360x768. Also GL and Xv seems to be working perfectly.

Since my ADSL modem and the TV/computer are on the opposite sides of the room, I had been using wifi on my mac mini and I thought i will do the same with this computer as i don't want to spend money on laying the telephone wire. I bought an A-Link PCI WLAN adaptor as it claimed to have Linux drivers but i failed to build the drivers they provide because of some linux kernel build problem. I must point out that when other people are busy making their builds easier to use, the linux kernel hackers seems to be going in the other direction. Building a module was far more simpler in the olden days than it is now, at least i used to understand what was happening. Yesterday, Naba told me about this cheap conduit that can be laid down on the floor easily so I bought that along with a 10m long ethernet cable and tada now my computer is connected to high-speed internet.

Then there is the problem of having a mac bluetooh keyboard. I thought it'll work with the bluetooth dongle i bought but seems i have to put some firmware provided by apple on it and that can only be done from a mac, which i don't have anymore. Now I have to ask a favour from some mac owning friend. :)

The Microsoft remote mouse and Microsoft usb keyboard that i bought worked out of the box on both OSes. Yes yes! I am supporting Microsoft but I am not ashamed of buying hardware from them as i think they are good at that and I want to encourage them to go into that business instead. :P

The company I bought it from, created an account by the name 'zeeshan' whereas i prefer 'zeenix' so i created another account and added it to the 'admin' group. All went fine but i couldn't access my sound card. aplay would tell me that there are no sound cards and I got a bit worried if the sound card has a working alsa driver. After an hour of struggling, it turned out that the newly added user 'zeenix' doesn't have permission to use the devices since he is not part of the 'audio' gang. It would be really nice if alsa and/or it's utils can tell me the actual reason is so i can correct it the easy way.

Half Life 2

I also bought a DVD of HL2 as ever since it's release I wished for a computer that is capable of running it and now I have one. Last night, after getting sound working in ubuntu, I installed it and played it for a while. The object manipulation capability is really awesome and gives the HL experience a new life. The game has quite a bit of nostalgic value for me too since at one time I was deep into it and felt quite the same as Gordon Freeman himself was, while being trapped in a big underground lab.

GUPnP work:

I didn't get much time lately for working on GUPnP because of some office work and the new computer of course but hopefully the only thing that is really left in the GUPnPServiceIntrospection is documentation and that is what i am working on currently. For those who have some UPnP devices at their disposal, please do try the latest 'test-introspection' from the gupnp svn trunk and let me know if you see any problems.

GUPnPServiceIntrospection is here:

So I finally completed the GUPnPServiceIntrospection object this weekend and jorn has already reviewed and applied the patch to svn with some changes. Also included in the patch was a test application (test-introspection) that simply attempts (many services just won't provide the needed SCPD document) to create the introspection object for a discovered service and on success prints the details of all the actions and state variables. Jorn recommended a set of changes that might be a good idea and currently i am at that.

Feeling a bit lonely again:

Ansku left for her summer place on monday morning for two weeks and now i am feeling a bit lonely again. To add to the problem, i sold out my mac mini this morning (which was more like a media center at my house) for 200e. I am supposed to get my new AMD64 soon but i was told by the seller today that I'll get it in this week if I am lucky as many people are on summer vacation these days. I am buying windows xp with it <cough> as most of the existing UPnP software out there is written for windows and I really need those software to test my UPnP code all the time. Right now it's only at the office that i can test it where i have a windows machine. Having said that, I will mostly be using linux on it and only boot into windows if there is no other choice.

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