Teenage suffering

The recent news coverage about the case of a 23 year old female teacher having sex with a 14 year old boy made me think about the problems you face as when being a 14 year old boy.

Honestly I think if you do a poll among 14 year old boys if they would be willing to trade in their acne, bracers, school bullies and exam problems with having sex with a 23 year old good looking blond woman, I think the poll would come out fairly unanimous. Could of course be that I am misremembering my priorities when I was 14, but I don’t really think so.

Adventures in Solaris – Chapter 2

Ok, first of all thanks to those who posted to my previous blog mentioning pkg-get, it somewhat like what I wanted (but my experience so far wants me to label it the paralympics version of apt-get).

Anyway my Solaris goal of the day was to get GStreamer installed and working. Which turned out to be easier said than done. First of all Solaris seems to be a system where no matter how many ‘bin’ directories you add to your PATH you always seem to need some more.

Secondly configure fails to find a working C compiler, even if I install Sun Studio 11. Just getting a message about my compiler not being able to create binaries. The reason for this according to my config.log seems to be being unable to access a libdwarf.so file. Which doesn’t suprise me as the libdwarf.so file is in a directory called amd64. Which either means I got the wrong version of Sun Studio 11 installed or it is missing this file for my 32 bit system.

Got a little disapointed in pkgbuild too, but I guess that was due to having to high expectations. It is not like I am able to use my Fedora SPEC files on Mandriva or Novel Linux either without editing it.

Trying out Solaris

I installed Solaris 10 on a extra machine at work in order to be able to do some tests in regards to a customer of Fluendo. The experience so far has been mixed. The main issue is the utter lack of drivers bundled with Solaris, especially since this includes network drivers this is a pain. There is actually a large driver writing community around Solaris, but Sun doesn’t seem to bother pulling those drivers back upstream. So after a lot of extra effort spent downloading drivers, compilers and so on, burning cd’s and getting the driver installed I also found that Solaris features absolutely no tools for configuring anything. So getting my new network driver to work was about creating lots of files in /etc using online howto’s.

The pleasant experience is that JDS on Solaris is fast, much faster than GNOME is on my GNU/linux system. So either there are patches in JDS optimising some stuff (like the gnome menu always snapping open with all icons instantly) or its just some underlaying Solaris processes being better able to drive GNOME.

A point of frustration now is the lack of an update tool. Nothing like apt-get, yum, red-carpet or redhat-agent.

So if Sun manages to get more drivers included in Solaris, get some configuration tools working (like port the GNOME Setup Tools) and integrate one of the many update tools out there then Sun could have a winner on their hand.

Making product and sales materiel

Been working this week mostly on writing some kick as product brochures and leaflets. People are constantly writting us asking for information about our current and upcoming products and the information materiel I have had so far hasn’t been as nice as I wanted it, nor as informative. Been a suprisingly fun thing to do as our products and goals materalize very well through the process too.
It can be compared to when Dom asked me about GStreamer 0.10 last week, listing the improvements up for Dom helped me ‘remember’ how much nice stuff we have actually got into GStreamer 0.10 (plan on doing a proper writeup soon). And writing these brochures helped me ‘remember’ how much great stuff we have done in Flumotion for instance, it is easy when you are closely involved with the development to get overly focused on the bugs being worked on or features you have planned, instead of lifting your eyes and seeing the beautiful landscape of what have already been acomplished.

Maybe something a lot of people both in GNOME, but also in the community at general should do. Take a look up from their day to day hackery and see what great things we have achieved already.

Moosecock

Every group of people have their core topics. In our little social group the topic of eating cheese and the topic of eating moosecock seems to resurface at regular intervals. As mentioned in an earlier blog my uncle is in town these days for the annual meeting of EU vetrinarian group for poultry. Having worked with Norwegian food production all his life he can get hold of almost any kind of food. So he brought a box of moose-cheese which I had the pleasure of handing over to Wingo today.
So the next time he tells the joke about the two hunters the answer will not be moosecock, but moosecheese.

ESD to GStreamer: The Road Ahead

So I put up a Wiki page on live.gnome.org at the suggestion of Stefan Kost (who deserves a lot of gratitude from the community for his steadfast work on the GStreamer API docs). Anyway, anyone who have some input on this should edit that Wiki page with your scenarions, suggestions and ‘I will work on this’ statements :)

Updating the 770

Anyone who have a 770 I recommend you upgrade your firmware by downloading the latest image from maemo.org. It is much more stable and seems faster than the normal production image for me. Also be sure to grab some extra Applications.

GNOME 2.14 and GStreamer

One question posted to my last blog entry which also pops up on IRC at times is the question of when GNOME will be ported over from esound to using GStreamer everywhere, so people can get sound events etc. and so on without using esound. I also noticed the issue being mentioned in the Ubuntu wiki of things they hoped for. The reason it hasn’t happened yet is due to both the eternal lack of developer resources, but probably more importantly some uncertainty about how to do it in a way which not likely to cause tons of issues.

Today esound provides three things to libgnome: a simple play_file API, sound sample caching and remote sound playback. It also provides some well tested backends for a lot of different platforms.

GStreamer could easily provide the play_file API, and at the same time improve format support a lot, so that part is relativly easy to address. Since GStreamer have a esound plugin and also plugins for other popular soundservers the third item is also taken care of.
The problem is what to do with the sample caching. When this has been discussed in the past the idea proposed was that there is some sort of API added in GStreamer which provides abstraction for sample caching with some kind of fallback when the underlaying system don’t support it.

Especially this last item could be a lot of work, depending on how ambitious you are. The simples solution is not to cache when the underlaying system don’t support it, and I am starting to feel this is the approach we should go for.

So anyway the job is relativly well defined, but since it touches core modules in GNOME which calls for extra carefullness and needs some GStreamer devel design work and implementation it has so far been something no-one either confident enough for and/or felt they have time for. So in terms of developer resources we are stuck between new contributors feeling the task a bit overwhelming and experienced contributors being swamped with items they feel are more critical.

Anyway, I still hope we get around to doing this switch soon, we know it is much wanted.

DVD, Totem and GStreamer 0.10

Ok, my last mention that there probably wouldn’t be DVD support in the next version of GStreamer/Totem/GNOME seems to have made quite a few people worried. Got comments about it to my previous blog and also comments about it on IRC.

Anyway, what is needed for DVD support with GStreamer 0.10 is simply some people coming into on irc.freenode.net or contacting the mailing list saying that want to work on this and asking what plugins needs porting. Currently dvdread, libcss, dvdnav and dvdsubdec are the plugins I know about. Updating these plugins from the GStreamer 0.8 API’s to the GStreamer 0.9 API’s. The GStreamer team have been working a lot on improving the API and development documentation for this release and there are even porting help in the plugins writers guide.

That said both Martin Soto and Tim Muller stated that they are planning and working on it and try to have it ready for GNOME 2.14. Martin is already working on getting the mpeg/dvd demuxer ported and fixed which is an important first step. So with these two and hopefully more joining in, we will not only have DVD support in 2.14 it will work even better than in 2.12.

Hacking on Flumotion and Totem

We have Tim Müller staying and working with us here in Barcelona since yesterday. We have been doing some focused hacking and testing with the result that we have Flumotion working with GStreamer 0.9 now and a new release is imminent. Currently we are doing a Totem hacking and testing session. With latest CVS most of the files in our testsuite plays with Totem. Some stuff remains though, mostly adding seeking support to the demuxers and porting a couple of more plugins to fill out the format support. Hopefully we can within a couple of weeks start asking the wider community to start hammer the media playback in Totem.

Only area which is mostly unported yet is DVD support and I think we might end up with GStreamer/Totem not supporting DVD’s in the next GNOME release. Of course it being Free Software we never know what will happen, maybe someone will appear and start porting over the DVD plugins.

Brian Cameron is already working on porting the SunAudio plugin so hopefully GStreamer 0.10 will be a good story also for OpenSolaris users.

Also got a nice reply today to a mail I had sent Michael Roitzsch of Xine fame. Hopefully we can find ways to work togheter to the benefit of the members of both projects.

My plan is to spend a lot of time next week making some really nice brochures and information pdf files for customers intersted in either Flumotion or the Flumotion Streaming Platform. Hopefully we can also move a bit forward on our beta program so we can start having people test our GStreamer plugins.

Ogg on the 770

So Edgard Lima have done an initial port of the Tremor/iVorbis plugin to GStreamer 0.9. Today I tested it on the Nokia 770. It played my testfile back with a CPU usage between 30% and 40% percent.

Still quite a few bugs though, like support for playing a streamed file, and also being able to use the lowmem Tremor version which should reduce resource usage.

Also borks out at playing for a while. Not sure why yet, could be related to the power saving stuff.

Pipeline used for testing is : gst-launch-0.9 gnomevfssrc location=”http://192.168.1.70/u2.ogg” ! tremor ! audioconvert ! esdsink

Ubuntu stuff

I have become aware of some cool stuff relating to Ubuntu over the last few days. The first thing I saw was the project called Nexenta which is putting Ubuntu on top of the OpenSolaris kernel. I have been of the opinion that this is exactly the kind of thing Solaris needs to get people to test it out.

Another thing I discovered was the launchpad stuff. Which I have seen before, but I guess I sort of resdicovered it now as the form have solidified a bit. Anyway seeing it now I was amazed and impressed with the openness of the Ubuntu development process, a big kudos to the Ubuntu team for this. As a Fedora user I wish my distro was developed in the same open manner.

SVG stuff

Came accross this Open Office SVG theme today by Pinheiro, which was made to give OO a KDE’ish look. Anyway I tried viewing the full set with librsvg/nautilus and they all rendered perfectly for me (afaict). It gave me a good feeling as it is not that many releases ago that every new icon set released uncovered a few rendering bugs. Pinheiro also mentioned that TrollTech is working on integrating SVG support into Qt, which was nice to hear. Things have come a long way over the last couple of years, when I started looking into SVG the setup was a very spec uncompliant librsvg and a crash prone sodipodi. Today the picture looks so much better, and Inkscape especially have really caused the usage of SVG to take off. I hope the Synfig team adds SVG support to their app, it would rock to have Synfig to make SVG animations.

gnomedesktop.org stuff

I have been an editor at gnomedesktop.org for the last couple of years, posting stories as time have allowed. Before that I was the editor for the gnome hosted newsite. I always felt that while gnomedesktop.org was GNOME biased in the same manner that linux journal is linux biased or Windows magazine is windows biased, we where still editorially indepdent. Learned yesterday that not everyone else in the community are willing to accept that. I haven’t discussed the issue much with Stro, who is gnomedesktop.org editor-in-chief so I don’t know how he sees it. Stro ended up pulling a story yesterday, which I have no issue with as he is the chief editor and as such it is his call, but I do not want us to end up as the GNOME version of Pravda.

Bloat and the measurement of it

Ok, so after some mail activity Benoit created a patch which displays ‘writeable memory’ in the GUI, which gives a better approximation of actual usage compared to the older numbers. Waldo Bastien pointed me to a blog entry from Lubos Lunak about a tool called exmap which displays something its calls ‘effective memory’ which Lubos thinks is a relativly decent value for describing how much memory an application actually use. I made a screenshot showing both the patched gnome system monitor and exmap displaying the memory usage of the clock applet. If those numbers are to believed the clock applet uses somewhere between 3 and 6 MB of memory, which might seem a bit on the high side. (but lets remember that the ‘clock applet’ is not just a clock, its a calendering application integrating with evolution data server giving you an overview of your monthly meetings etc.).

Anecdotaly exmap is the first app I ever used outside the Mandrake admin tools which use the perl-GTK2 bindings to write its GUI. Maybe there still is some hope for Perl :)

Not sure panel-applets are a good/easy testcase for memory measurement, so I looked at X-Chat using these new numbers too, exmap reports effective memory usage of 3.6 MB, g-s-m reports writeable memory at 8MB and resident memory of 11.6MB (resident memory number seemed to be the ‘old’ number people tended to be using when discussing memory usage).