FedEx woke me up today…

…and brought the new Google Summer of Code Shirt:
New GSoc T-Shirt

The main feature of the T-Shirt is being not black and actually really looking kind of non-geeky which makes it possible to wear it outside geek areas.

Glom on maemo fremantle

Glom now bascially starts up on maemo fremantle which means that gtkmm, libgda, libgdamm and pygda are working together now on the maemo platform. Of course lots of bug-fixing and UI work left to make this really cool.

Screenshot:glom-shot

This thing called “European Union”

(Disclaimer: This is a political statement, so only read on if you can cope with it)

It all came into my mind again when seeing all the reports about the phase out of light bulbs starting from 1st of september in European countries. Apparently this isn’t a major issue for most people except the Germans who always fear to loose something.

Anyway, in all this reports it was talked about that this moster called “EU” has decided that no more light bulbs may be purchased. It was never talked about that the EU doesn’t decide anything but contrary as in every democracy, it is the people who decide.

In this case the proposal was made from the european commission which consists of 27 commissioners from the European countries approved by the European Parliament. A few months ago all Europeans had the right to elect their MPs though actually not so many did (less than 50%). If they had wanted to keep the light bulbs then they could have voted for it, but they didn’t.

I am writing this to conscientize people that sentences like “Brussels has decided…”, “the EU demands…”, etc. simply are not the truth. YOU ARE THE EU, YOU DECIDE!. And if you are dissatisfied with the decision it is up to you to change the European government.

Do you really want a light bulb to light your room that needs more energy than your laptop?

Update:  Some people state correctly that this is an indirect democracy so you can’t influence the decisions directly – that’s true. But it is the way most countries are governed because otherwise things become difficult to organize. And yes, you don’t vote the commissioner directly, but indirectly through your local parliament.

Update2: About this Mercury thing – there is excellent information available on this -  please use google.

in ehttp://en.wikipedia.org/wiki/Phase-out_of_incandescent_light_bulbs

Formula Student 2009 in Silverstone

In case someone is wondering why I am not responding to mails or in general constributed only very few things in the last weeks I was mostly full-time working on our second year formula student car:

This is the first year we are participating both in Silverstone (FSAE UK) and Hockenheim (Formula Student Germany). After we failed horribly in Hockenheim last year with a half-finished overengeenered car our big aim this year was to have a running car. And actually things worked really good, we finished all disciplines.

We had some technical problems in acceleration and the drivers need more practice for skid pad, so we did not yet get good results there (look for car 74 – University of Erlangen). But after we already had a good pace in the sprint, we managed to offer an absolutely fantastic endurance result in difficult (english) weather conditions and finished in 3rd position. Overall this puts us on the 16th place in the overall results which is better than we could ever dreamt off.

We have two busy test weeks until Hockenheim and hope to be lucky again there and probably even improve our results further!

Links:

IBE 3516 (aka Why I spent a night at Frankfurt Airport)

Things started nice with a normal flight from Las Palmas to Madrid yesterday even though the organisation could have been better on the Gran Canaria Airport. After arriving in Madrid I was heading to the gate for the flight to Frankfurt. I eventually made it in time and boarded Iberia flight 3516 schedules on 16:00. We then taxied to the runway and the aircraft was accelerating and suddenly after about 1/4 or the runway, the pilot reduced thrust and the takeoff was aborted.

While this was not really a quite nice thing to notice, things started getting worse now. After some discussion with people from the technical department of Iberia we taxied back to the gate with the pilot speaking of not further defined technical problems (he probably said some more interesting things in spanish though, which I didn’t understand).  After another half and hour we were asked to leave the airplane and proceed to another gate at the other end of the airport.

About an hour later we borded another aircraft there and things looked like it could finally work out. After the usually security advise we taxied again to the runway but in the end never reached it and got back to the gate which a rather annoyed and angry pilot telling us that we have technical problem again. (Some people metioned to me that he said “I won’t fly with this aircraft” in spanish but I cannot say that for sure). Half an hour later we also left this aircraft and where still stuck in Madrid with people getting nervous and others that suffer of aviophobia starting to cry.

Sorting out our options that using the train to Frankfurt would take about 19 hours and that a proper Lufthansa flight would cost us more than 1000 Euros most of the people got back to waiting for things to come while the first now decided to leave Iberia forever and try to find some more luck elsewhere.

Two and a half hours later and after we got a free sandwhich from Iberia (which was never announced but people found out somehow) yet another aircraft (the third one…) left Madrid at 22:00 and luckily arriving in one piece at about 24:00 in Frankfurt. This of course made me miss the last possibility to go home by train by about 2 hours so I was stuck in Frankfurt until the first train left in the early morining. Luckily by that time I knew most of the passengers of the flight personally and spent the time having a nice conversation with a girl who had started her journey 48 hours earlier in Honduras and was now also waiting for finishing the last 200km

Just a few of the reasons I will never use Iberia for any flight again:

  • There was absolutely no information on the technical problems nor was there any member of the crew which could make announcements in proper english
  • Service was bad on all flights and they didn’t even give people something to drink for free after getting stuck in two aircrafts
  • They refused to give any reimbursement for the inconvenience (have to go into that though)
  • The seat pitch is absolutely ridiculous

As I write this I got a message from André that after waiting 90 minutes in Las Palmas their aircraft got eventually evacuated.

Have a nice flight – but use sane companies…

Anjuta UI work

Based on the awesome work from Joel Holdsworth making it possible to add custom widgets to the dock item grips, I finally patched anjuta to use this ability. This can save quite a bunch of pixels:

Anjuta with new buttons in grip feature

Anjuta with new buttons in grip feature

Old pixel-wasting version

Old pixel-wasting version

There may be still some style issues especially for the message window tabs. Suggestions welcome!

PPA for current anjuta releases

I just created a tiny ppa which contains anjuta and gdl 2.26.2 as Ubuntu is a bit slow in updating those. If you are a jaunty user I really recommend an update to the latest stable version which contains some important bug-fixes:

PPA for Johannes Schmid

Clutter tutorial update

As Murray already mentioned we updated the Clutter Tutorial over the last weeks for the upcomming Clutter 0.9/1.0 release. Clutter 0.9 makes some hacks obsolete that were necessary to archieve some functionality in the past so we could concentrate more on straight-forward ways this time.

The tutorial features some new sections:

  • The new GtkClutterViewport widget allows scrolling of GtkClutterEmbed widgets and is decribed in the new Stage Widget Scrolling section.
  • Some notes were added for using Timeline markers.
  • ClutterAnimation has replaced the obsolete ClutterEffects API and thus ended up in the new Animations section. This section also explains how to use ClutterAlpha properly.
  • The biggest new API is probably the new ClutterText widgets that allows use-cases from a simple label over a single-line entry to a full-featured multi-line text input box.

Unfortunately some links to the API documentation are not working yet because the clutter-gtk API documentation for 0.9 is not yet available online. The tutorial is also available as pdf.

Development of the tutorial happens in the clutter-tutorial module on GNOME git.

Please don’t fork (and esspecially don’t fork forks)

So, from the little hacker in me I am a bit annoyed about forking strategies some projects have. I have been (co-)maintaing gdl for about 4 years know, brought it into GNOME, fixed lots of deprecated stuff and got rid of all the non-docking stuff in the library and lots of other people helped there.

Now what happend:

  • inkscape* has a fork of gdl that is probably quite old.  They made some additions that are probably useful
  • Niepce forked the inkscape fork
  • MonoDevelop made yet another fork of gdl, ported in to C# and dropped it again later

Nobody ever popup up in bugzilla, the mailing list or on IRC to ask if they could put some patch upstream that they needed. I am quite sure the upstream version fixes lots of problems still present in other versions and I am also sure the other versions contain some useful additions to gdl and that it would be no big deal to merge them. But as long as nobody from the projects steps up and says “Hey, here is our patch, can you have a look at it” it’s unlikely that upstream will ever be able to fill their needs. On the other hands they will never profit from upstream bug-fixes in any way.

* I think an inkscape dev once asked for a non-gnome version of gdl which was added later (and is now obsolete as there are only gtk+/glib dependencies left). But there was no further conversation.

So, please STOP this!

Act like Joel Holdsworth from the Lumiera Project. He poped up on the mailing list and said he would need gdl but would need some small additions. Afterwards he put in lots of patches, documentation updates and bug-fixes to make life easier for everybody.

That being said, both inkscape and Niepce are in C++ so it would make lots of sense for them to share a common gdlmm binding. Inkscape uses some non-standard binding method for gdl with lots of hand-written code.

Some people might say that gdl should be merge into gtk+. This may be done someday but gdl is not in a stage where it makes sense to consider it. It does a good job but it is far from perfect and it is even the question from a UI perspective if the averange application really needs to have such a heavy docking library in a general-purpose toolkit.

Migrate from libglade to GtkBuilder – Quick’n'dirty

Some instructions here because the porting guide in the Gtk+ docs is quite short at the moment:

Convert the files

gtk_builder_convert <old_glade_file> <new_gtkbuilder_file>

Code changes

  • Remove #include <glade/glade.h>
  • GladeXML* => GtkBuilder*
  • glade_xml_new (FILE, “first_widget”, NULL) becomes

    GError* error = NULL;
    GtkBuilder* builder = gtk_builder_new();
    if (!gtk_builder_add_from_file (builder, FILE, &error)
    {
    g_warning ("Couldn't load builder file: %s", error->message);
    g_error_free(error);
    }
  • glade_xml_get_widget (gxml, “widget_name”) becomes GTK_WIDGET (gtk_builder_get_object (builder, “widget_name”))
  • glade_get_widget_name (widget) can be replaced by gtk_widget_get_name(widget)
  • glade_xml_get_widget_prefix (gxml, “prefix”) can be emulated by gtk_builder_get_objects(builder) together with manual filtering. It returns a GSList* instead of a GList* though.

That’s it basically. Don’t forget to adjust your Makefile.am to install the correct files and update POTFILES.in!