Older blog entries for Uraeus (starting at number 460)

Old GNOME hackers

Discovered what must be the the oldest gnome hackers in the world, I mean they where around when black and white was the only thing around :)


Noticed Zeenix assigning me a rather bastardized version of a theory. First of all I did tell him about it, but I was refering to a danish professor who was the originator. Secondly the represenation of the professor's theory was oversimplified a bit by Zeenix presentation of it. What the professor said (and considering this was two years ago even my memory of it is vague) was that since most people survive today due to medicines, social support etc., there was little natural selection going on anymore. If you combine that with the assumption that people who are successful are smart in some way (not necesarilly IQ) also tend to have few children, compared to people who are not very successful tending to have more children (Poor people having more children than rich) then the conclusion would be that we the human race where now devolving as a whole.

Wether I personally subscribe to the idea or not; I don't know. There are some plausability with the concept, but then again there are still a lot of stuff about the process of evolution we don't know yet. The professor did get shouted at a lot for being very politically incorrect with his idea, but I think that was going to far considering it did not target any specific race or group of people; of course the concept of successful people being smarter than less successful is a very broad generalization and a bit touchy.

The language debate - Don't forget Python has gotten the nod

One thing that people seem to be missing, and I had to some degree put into the forgotten drawer myself until Murray reminded me, is that there was a decision reached that Python is valid language to use for all GNOME development. This means that if you want to write something to go into the official GNOME you can write it in Python as long as the owner of the module you want to check it into is ok with it. This means that if you write something which is supposed to go into gnome-media or gnome-games or Nautilus for intance you CAN write that it Python as long as the gnome-media, gnome-games or Nautilus maintainer(s) are ok with it.

So while the fate of Java and C# is still not finalized in regards to GNOME you can start hacking with Python today if using C is not your cup of tea.

That said there where some good reasons for GNOME choosing to go with C when the project started up, and those reasons are still valid. C is highly portable, You can compile C code with almost any compiler and expect to to work with a library compiled with another C compiler or another version of the compiler (unlike C++ for instance). It is very easy to use C libraries in applications using other languages as most languages and compilers have taken into account that your probably want to interface with some C stuff at some level. The basic building blocs of GNOME will be done in C for the forseeable future, just like many of the other major components of free software; like glibc, the GNU/Linux kernel, gcc, X Windows and many many more. Python, Java, C#, Perl, Ruby, C++ and others are great tools for many kinds of applications and tools, but there is still no better choice than C for something like libraries.

11 May 2005 (updated 11 May 2005 at 15:07 UTC) »
Java continued

Ok, got some responses to my Java rant which deserves some replies. First of all I guess there are two discussions going on. The first is where should something new be added to GNOME, and the answer to this have consequences for which discussion we are actually having. One of my reasons for prefering Mono (and be aware that I say Mono and not C# on purpose) apart from the lack of mindshare for Java is that it seems a more natural replacement/evolvement of C as a language neutral core. Because I think that a logical step after allowing core applications to be written/extended with a non-c language would be to allow non-c code also in the platform at some point (but maybe limited to some specific languages due to maintainability concerns). This might be a question where I disagree a bit with Mikael.

People will say that there are possible to also use other languages with the java vm's and point to stuff like Jython as proof. And yes this is true, any maybe its just marketing that the difference here, but for Mono being multilanguage seems to be a core issue while for the Java camp it seems more like research/fun hacks. I have for instance yet to see any official encouragement from Sun towards efforts to make the JVM a multi-language vm.

Of course the multilanguage issue is non-important if going into the core is out of the question and not what most of us want. If the discussion is about just adding a second official language to the stack for applications in gnome-utils, gnome-media, gnome-applets etc., then of course its more a choice of which language again, and at which point Python and Java (or even Ruby) is a more real alternative from a technical standpoint.

But even so apart from the multilanguage issue my initial rant was not about the technical qualities or characteristics of the languages in question, but about mindshare and developer interest.

Mark Wielaard, classpath maintainer, said I am taking the fun out their achievements and I am sorry for that, it was not my goal. First of all I am sure Harmony, Classpath and so on will have an important impact serverside, but I am highly sceptical about its future of dominance on the desktop side. And if you are willing to relicense classpath to the Apache license to be able to work with the Apache crew then I appologize for assuming that this will cause even further splintering of the free Java community and instead will say thank you for taking the high road.

I am not beyond convincing that Java do have such a future, but for it to happen the Java camp needs to get their ass moving on the issue. Havoc in his post did some good Java advocacy mentioning some nice stuff, but the question is why nobody else is doing it and why its so rare. I mean Havoc posting some nice things in his blog about Eclipse every 9 months is not enough to create interest and buzz about whats happening in the free Java community. And to reply to an old post of Havoc's, I am not asking him or Red Hat to 'outcode' Novell in terms of amount of code produced, but I think it should be obvious to everyone involved that when Mono hackers including Novell use every opportunity to talk about cool stuff from their side, while the Java side keeps their claptrap shut, it can only be interpreted as a negative for the Java side. Interpretations could be that either nothing cool is happening on the Java side for the desktop or those on the Java side is there on a forced march. And I am not saying this is the truth, it is meant as a clear message to those in the Java community out there who want to see more GNOME and Java interaction; start promoting whats happening to the communtiy, don't let Jeffrey Morgan and Havoc been the only ones who ever mention the words Java and GNOME together in public.

If Mark and others in the Java community is working on GNOME and Java related stuff please start mentioning it in your blogs and ask that your blogs gets syndicated onto planet.gnome.org. Start announcing stuff onto the gnome-announce mailing list, start posting stories to gnomedesktop.org when something cool appear. The same goes to other people at Red Hat and Sun who obviously should be excited about Java on the desktop, start telling us why you are excited instead of expecting magic to happen by itself.

Havoc also mentioned the reasons for Mono's non-inclusion by Red Hat. As someone working for a company where I know or hear about things I would love to tell the community about, but which I can't due to NDA's etc, I understand the problem you have. On the other side Havoc, you place the community in an impossible situation here asking us to take your word for it that there is a problem. I mean we have on one side Miguel saying there is no problem and on the other side we have you saying there is a problem. Knowing you both, I trust you both and feel confident that none of you are lying, so there is obviously some information I don't have yet to understand the issue fully. Question is what am I or anyone else to do? Let these issues paralyze us? And I think here we have the essence of the 'fun' killing part for many, to go back to an earlier discussion. We have this big dark unknown hanging over us hindering us from doing what we want. Our trust in your integrity Havoc is such that if you say that something is a problem we are willing to put things on hold to have the issue be resolved, but without knowing and understanding the reasons for this decision it doesn't provide any motivation for going in another direction. Which creates a situation of stalemate. And here is a point where I think the GNOME community as a community needs to figure out how we resolve this issues on a general basis. How do we balance the needs our of partners like Red Hat, Sun, Novell, Imendio, Fluendo etc., against our needs as a community. If every company who have have GNOME hackers employed gets an implicit veto on future development we have a problem, on the other side some sensitivity on the side of the community for these kind of issues is probably not a bad thing. Question is just how do we balance these things out in a way that keeps the will and interest of the community at front without completely trampling our commerical partners.

That said where we are currently is not a bad place and we can easily continue working from our current situation for quite some time without it being a real problem technically or competitivly. I don't want to crisis maximize, as there is not a real short term crisis here, just a feeling that we are not able to scratch all the itches we want they way we want to scratch them. And itches you can't scratch tend to be rather annoying (of course there is the claim that scratching and itch makes it itch even more so maybe its a good thing ;)

10 May 2005 (updated 10 May 2005 at 13:17 UTC) »
Time to stop kidding ourselves about Java?
Warning: rant mode

Reading some discussion on the latest move by Apache about the proposal for yet another open source jvm implementation I got a rude awakening to the fact that the idea that Java offers a credible option for GNOME is a joke. When it comes down to it the only reason Java has been put onto the table have been due to worries about Microsoft holding submarine patents on Mono. Java's mindshare in the wider GNOME community is close to non-existant today and there aren't really anything on the horizon that could plausibly alter that.

While Red Hat's work on gcj and Eclipse is interesting its a far step from being something anyone is excited about. I mean considering that both Red Hat and Sun are failing to make even their own desktop developers excited about Java says a lot. There is a big difference between something fitting corporate vision and policy and something actually being attractive to developers.

The real question facing the GNOME community is not a choice between Java or Mono. If that is the choice then Mono have already won. The question is wether we should allow Mono into the platform or not. Personaly I have come to the conclusion that we should, and I have yet to see a convincing argument why we shouldn't apart from some rather foggy arguments about Microsoft threats. The showdown between Microsoft and free software in the field of patents is coming no matter what; when that day comes we need to have the financial, legal and political clout to carry the day. I don't see that Mono is a more likely candidate for being at the heart of that battle than a lot of other things.

GStreamer 0.9
Seems we have managed to kick of 0.9 GStreamer hacking now. Getting the build system cleaned up and Wim and I sending out mails with some information in addition to a little IRC pimping and kicked of some good effort. Ronald is working on porting playbin now, Zaheer is working on lame and the libshout2 plugins, Zeshan ported the libcaca color asci art plugin, Wingo implemented the new query system and gcc4 cleaned the modules, Tim cleaned up some of the core docs, David Schleef cleaned up the videotestsrc plugin and updated plugins-base to use latest version of liboil. Arwed have started looking into oss and nas plugins porting. And Stefan is continuing hos work on getting dparams improved for 0.10.x All in all good stuff happening now, if we manage to keep up progress for the coming weeks I think 0.9.0 will be a very good preview.

More GStreamer 0.9 fixing and porting work done today. Now the three 0.9 modules (gstreamer head, gst-plugins head, gst-plugins-base) all build, install only stuff that is supposed to work and lets you build rpms. All steps also do not interfere with your 0.8 using stuff so anyone can try this out now without touching the 0.8 using parts of their desktop.

Ronald and Zaheer have joined in the 0.9 hacking fun already and hopefully even more will soon. Still lots of plugins to be ported before 0.9 is suitable as a replacement for most of our applications, but I am getting very postitive we can have some nice demo's ready for GUADEC.

Also I recommend everyone read the blog entry from David Neary about GUADEC registration fees etc. Should clear up some misunderstandings which have popped up over the last weeks.

GStreamer 0.9 - Spent quite some time today making sure the 0.9 branch of GStreamer and gstreamer-plugins-base dists and builds correctly. Currently have 0.9 installed on my machine now as RPMS (in parallel with the 0.8 packages). Hope this cleanup will encourage other people to check out and build the 0.9 branch too as getting the basics up and running is much simpler now.

Germany sucks

Ok, so Andy, Wim, Thomas and myself pooled our resources to pay for Zeeshan flying in from Pakistan so he could attend GUADEC in Stuttgart. Zeeshan have never been outside Pakistan so we thought it would be a cool experience for him and a thank you from us for his contributions to GStreamer over the last few years. So far so good. So I ask him to check locally if there will be no visa problems, which he do and report back that he checked locally and it should be no problem. So we buy an airplane ticket for him and send a letter saying we will take care of his expenses while at GUADEC. Tim Ney sends a letter on behalf of GNOME Foundation saying he is asked to come on special invitation of GNOME. The local Stuttgart government which is co-hosting GUADEC also sends a letter stating that he is an invited guest to GUADEC.

Then the run-around treatment starts. As Zeeshan lives in Karachi he is in touch with the German consulate in Karachi. After calling them and being told he can come in to file his application he arrives there only to be told that he have to come back some other time as you only get in if you come early in the morning and get a ticket for the day in question.

So he comes back a few days later early in the morning and is let in. Then they tell him that they can't accept his papers as they need to have those letters faxed to them directly. It turns out their fax machine doesn't work most of the time, so in the end I fedex the letter to them. The Stuttgart representive have more luck than me and faxes it down, and also calls them on the phone.

After this he once again goes to the consulate, this time he is told that they can't accept his application as he is not a native of Karachi, so he have to go to the embassy in Islambad instead to file his application.

Going to Islambad costs Zeeshan quite some money considering his local salary, but he takes a day of work and goes there on a Sunday so he can go to the embassy when it opens on Monday. Everyone involved also re-fax our letters to the German embassy for this. So on Monday after having called ahead and booked a timeslot he goes to the embassy. There they tell him that he can't apply for the visitors visa, instead he needs to register for a business visa. The documentation needs for that is different from the visitors visa so his current documentation doesn't allow him to apply.

So now he is back in Karachi, with limited resources in terms of being able to travel back to Islamabad again. Due to limit time they didn't have time to explain what he needed, only to give an URL to a website with information. This website turns out to be inaccessibile from outside Pakistan.

All hope is not out, but now we need to figure out how to sort out the new needed paperwork, how I can transfer him some money to help with a new trip to Islambad and hopefully manage to get that all done before GUADEC happens at the end of the month.

Considering we started on this process in March I am quite frustrated atm. Feels like we are chasing moving target with the consulate and now embassy coming up with new demands for every step of the way.

Just for the Fun of it

As far as being fun I think GNOME have managed to keep things fun better than most. If you look at the list of people involved in GNOME that have been here since the early days I see few other projects who can compare.

Things change however and from being part of an marginal effort set up to take on the establishment we are becoming a central piece of the establishment. We have today a large host of companies and private persons depending on GNOME to make a living and get their job done. This do have some cultural implications on how development is done. New 'cool' stuff tends to not get top priority in competition with polish.

I guess GNOME in the 0.x and 1.x days where a lot more fun for me than GNOME is today. On the other side GNOME 2.x is a much better work tool than GNOME 1.x ever was. Every new release add's more consistency, better speed and new essential functionality to core applications. GNOME is not a toy anymore, which of course makes it less fun, but much more useful.

For example I had a lot of fun with Sawfish themes that could make my window borders look like a cow or have one theme per window. Metacity is much more boring, but it gets the job done in a more stable and effective way. A dialog to kill your application when the close button doesn't work is a much better approach than a 'kill' choice in the menu IMHO.

Have fun in the where fun can be had

That said I still enjoy GNOME. My suggestion to people feeling a little worn out is that maybe you shouldn't be hacking on 'the core'. People writing music players with GStreamer have fun, the Inkscape people have fun, the Abiword and Gnumeric developers are enjoying themselves. Maybe taking a step back and getting involved with one of the many sub/side projects is the way to bring the fun back. Working in a smaller target project lets you cut away a lot of the politics and considerations that working at the heart of the system brings. I mean if you are hacking on Inkscape you don't have to worry about if your change is ABI stable with what was done 5 years ago or wether change xy makes the GNOME panel crash for people running GNOME on their Irix systems.

What to do going forward

That said I can understand that the Java vs Mono debate which ebbed out into nothing have made many developers feel that the future is a bit foggy atm. The problem is that the debate set up the idea that we had to adopt something in order to go forward, while it provided no final decree on what that something is supposed to be. So we know have a situation where 'everyone' feels that we have to do something, while no-one knows how the decision to do 'something' should happen.

I think it is somewhat of a false premise. No matter what decision eventually might be made for most situations it will matter little. The choice of Java vs Mono will have no or little implication for the development of GStreamer, GTK+, glib, ATK, libxml, gnome-panel, HAL and many of the other core parts of GNOME. Its not like Daniel will one morning wake up and think 'well since GNOME have now decided on going with Mono I will have to rewrite libxml in C#'

So while the decision is not as important or critical as one would think, I still think it needs to made in some fashion. Or rather I think its being made for us, lets not fool ourselves into thinking we have full control on whats happening. People are working on applications in Mono, Java, Python, Ruby and more and through that making the decision for us. There are currently really nice tools being developed with both Java and C# for instance and I think that when it comes down to it they will both be allowed into the desktop. And as soon as applications which are official part of the desktop are using a certain technology, then I think new library developers etc., will follow.

I think Beagle for instance will end up opening the door for Mono and C# in GNOME and I think Red Hat's Java based admin tool will open the door for Java as two examples.

If people don't think that is enough I will not oppose a GNOME board vote to resolve it. I think however that it is more in the tradition of free software that the community makes it choices based on their efforts than for it to be chosen by an entity like the board. For everyone hour you put into working on a GNOME application in Mono, Python, C++, C, Ruby, Java and so on you are making the decision.

CRM Discovered the LUGradio planet today. Was quite fun to see that Jono is not looking into CRM like I was a while ago. His greatest frustration with Sugar was the same one I had, that it was lacking in existing client support, which caused me to start looking into opengroupware and Noodle, which in the end lead to my effort stranding a bit.

Office cleanup After buying a truckload of new hardware Thomas ended up cleaning up the office today in terms of getting cabling more sane. I ended up going out to buy more power extension cables which means that Edward and me can stop fighting over power sockets as a scarce resource. Between 3 laptops, 2 cell phones, my usb mouse dock, firewire cameras and a printer, 5 sockets was simply to little. We also got a new 64 bit server which enabled us to merge a 64 bit fix from Zaheer into Flumotion and verify it worked. Yay Zaheer!

Norwegian taxes Did my Norwegian tax declaration yesterday. Not that it was much to do as the Norwegian system is very highly automated these days. The government collects all data about you from your employeer, banks, stock traders etc., then sends you a report which you either accept as correct or edit if there are some mistakes. If you are ok with the version they send you (and you are legally responsible for it being correct) you can just send a SMS to a specific number with a pin code that came with your declartion and you are done. Or you can do what I did and submit it through the tax authorities web page. (snail mail is also possible for those not into modern technology :) Happy to find that according to the government estimates they will pay me back 11 000 kroners in June.

Barcelona Temprature is increasing quickly here now and daytime temprature is going above 20 almost every day now. Since the legendary Ralph Giles is moving into my appartment with his familiy in June I have been trying to find a suitable place for myself to stay while they are here (my place is to small for 4 people). Found one on Wednesday, with a young couple here in Barcelona. If I don' t find something else before middle of next week I will take that (the reason I am still looking is that it will probably be more fun to share an appartment with someone for a month who do not have a small infant kid). Not that I don't like kids, but they are not the most suitable companions for going to bars and getting drunk.

GUADEC Put some work in to clean up the GUADEC speakers page, now you can look at it without the text jumping up and down as the images load and all the images are the same width. There are even images of Wim and Ralph there now. Think we have a good set of speakers for GUADEC this year and I am sure we will manage to have as good a time as we had earlier years. Some unhappines on my own part and others due the way the fee system is set up, but hopefully everyone will get the message that they can register as hobbyists if they want and that for next year we can make sure the pricing and presentation has a clearer message.

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