You are currently browsing the monthly archive for November 2008.

…mit schlechtem Bier, möchte ich sagen. Ich gehöre ja zu den Menschen die, wenn sie Bier kaufen, vornehmlich auf die lokalen Sorten zurückgreifen. Man weiß ja nie, welche Überraschungen so auf einen warten (lauern in diesem Fall…). Daher erstand ich im Systemet mehrere Flaschen und Dosen schwedischer Brauerein, in der Hoffnung und im besten Vertrauen darauf, dass davon ja wohl was schmecken wird. Das Rökporter (frei übersetzt: Rauchbier) von Nils Oscar haben wir glücklicherweise zuerst getrunken. Wie der Name, so der Geschmack, könnte man sagen. Als ob man abgebranntes Holz, Holzkohle oder andere dem Feuer überlassene Gegenstände direkt mit in die Sudkessel gegeben hätte. Na ja, danach war das Schlimmste überstanden, sehr viel besser wurde es leider trotzdem nicht… . Ich bleibe daher erstmal beim schwedischen Bier aus dem Supermarkt oder dem 6,0 (ja, so heißt das Bier), das auch noch verwertbar geschmeckt hat.

Nichtsdestotrotz war der Freitagabend sehr gelungen. Nicht nur dass das Sushi hervorragend geschmeckt hat, auch die Gespräche waren wieder sehr interessant. Dafür den besten Dank an meine Gastgeber! Es hätte bestimmt noch eine Weile länger gehen können, aber gegen 0:00 Uhr habe ich dann doch lieber den Bus genommen, da wir auf Nummer sicher gehen wollten und ich auch ja wieder nach Stockholm komme. Darüber darf der geneigte Leser jetzt mal nachdenken… . 😀

Nachdem ich von so vielen Shoppingtouren gelesen hatte, habe ich mir einen Ruck gegeben und bin am nächsten Tag mal einkaufen gegangen. Recht schnell bemerkte ich das Fehlen weiblicher Begleitung (ich erspare mir das Kompetent, meine Begleitung war das bisher immer), die mich in gewohnter Weise bei der Entscheidungsfindung unterstützt oder auch das eine oder andere Kleidungsstück in einer anderen Größe liefert, während ich schon die nächsten Sachen in der Umkleide probieren kann. Na ja, so musste ich das halt alleine regeln, war ja auch schnell erledigt. Voll das Klischee männlichen Einkaufsverhaltens erfüllend, habe ich nach dem Besuch eines Geschäfts nach 20 Minuten (inklusive Überlegen und hadern mit den Selbstzweifeln) 3 Teile erstanden (die auch passen und gut aussehen… also mir gefallen sie…). 8)

Heute habe ich dann kurz den Weihnachtsmarkt in Gamla Stan besucht. Dieser unterscheidet sich nicht wesentlich von seinem deutschen Pendant, man kriegt die üblichen Leckereien und handwerklichen Erzeugnisse. Auch das Gedränge ist das gleiche… . So gönnte ich mir noch einen Glögg (ohne Alkohol – ich erinnere an Systemet – aber mit Rosinen 😕 ) in einem Espressobecher (in Deutschland kriegt man schon so kleine Tassen für 2 EURO, in Schweden ist es noch weniger…) und verschwand wieder.

Spontan habe ich dann noch an einer Führung durch das Riksdagshuset teilgenommen. Nach der obligatorischen Sicherheitskontrolle ging es ca. 45 Minuten lang durch das Gebäude (Fotos dazu werde ich später hochladen, wie auch zum Weihnachtsmarkt). Das parlamentarische System scheint, soweit ich das verstanden habe, dem deutschen nicht ganz unähnlich zu sein. Koalitionen sind auch ein natürlicher Bestandteil dessen, dass diese aufgrund von unterschiedlichen Positionen aber auseinanderbrechen und zu Neuwahlen führen, ist eher unüblich. Unsere Schwedischlehrerin meinte mal, dass die schwedische Gesellschaft sehr konsensorientiert ist, etwas das sich auch in der Politik widerzuspiegeln scheint.

Ein leckeres Detail möchte ich hier noch erwähnen, dass ich leider zuvor vergessen habe. Es handelt sich um die Prinsesstårta, ein Traum aus Sahne, Biscuit, Vaniliepudding und Marzipan (das sind jedenfalls die Sachen die ich identifizieren konnte). Ja, einige werden staunen, selbst das Marzipan bereitet mir bei dieser Leckerei keine Probleme, es passt einfach alles sehr gut zusammen. Wer die Folgen solchen Genusses nicht scheut, dem empfehle ich diese schwedische Backspezialität einmal selbst zu probieren.

Und mit dieser Empfehlung wünsche ich den treuen Lesern sowie allen anderen einen guten Start in die kommende Woche!

Bis denne!!! Hej då!!!

Advertisements

Der Schnee, so schnell wie er kam, ist auch schon wieder weg. Selbst für einen sonnenverwöhnten Südländer, wie mich, war die ungewohnte Hitze förmlich zu spüren. Dass will schon was heißen. Na ja, schade, dann halt wieder Schlamm, der gibt wenigstens Farbe im Gesicht, wenn man hineinfällt… .

Aber mal davon abgesehen steht heute Sushi auf dem Programm. Die beiden Slowaken von denen ich schon berichtet hatte, haben eingeladen zum Verzehr selbstgemachten Sushis. Einzige Bedingung, die Gäste haben das Bier mitzubringen und so werde ich gleich eines dieser ominösen Systemet besuchen, die hier in Schweden dafür zuständig sind stark alkoholhaltige Getränke zu vertreiben. Es ist hier halt nicht so, dass man mal schnell in den Laden rennt, um einen Wein zu holen. Bitter entäuscht wird man dann zu 3,5%igem Bier greifen, weil mehr im Supermarkt nicht zu finden ist.

Ansonsten sind die Schokoladenreserven, die ich dank meiner Mutti wieder aufrischen konnte (danke nochmal 🙂 ), auch schon fast wieder weg, wie der Schnee. Das Zeug hällt sich auch einfach nicht bei mir, sei es im Kühlschrank oder verzehrt.

Damit soll es denn auch nun genug sein und wie immer wünsche ich dem/der Leser/in ein erholsames und vor allem schönes Wochenende!

Bis denne!!! Hej då!!!

Disclaimer: This blog post is going to summarise the experiences I made while implementing animation for the GtkVBox< widget and my thoughts about widget animation in Gtk+ so far. This blog post is not going to be about animation in themes because this is another issue. Of course there are intersections, I’ll point to them when they arise.
 

By the way, this is one of the longer posts. If you’re interested in this topic you should bring a bit of time with you. 😉
 

The question is how can we support the application developer to create dynamic user interfaces and at the same time increase the user experience while preserving the advantages of Gtk+‘s box model? Let’s have a look on this short video to motivate this idea with a working example of how animation for widgets in Gtk+ can look like.

What have I done? First I derived from so the original implementation is not touched directly. Then I slightly modified the size_alloc function by saving the computed GtkAllocations and removing direct calls of gtk_widget_size_allocate. I modified add and remove so I can start the animation at the right time. I also added a function called my_vbox_pack_start_n which inserts a widget at a given position so one is able to preserve the original packaging order. You trigger the animation by simply adding or removing widgets to the vertical box as usual.
 

You find to code here: http://github.com/troja84/af/tree/master/

  • tests/myvbox_a.h

  • tests/myvbox_a.c

  • tests/test-vbox-animated.c

Let me talk about some points in regard to the main topic.
 

Implementation

In the example I derived my animated version of GtkVBox from the original one. The advantage is that the animation code is well separated so when an application developer wants an animated widget she has to explicitly select that version. On the other hand you increase the amount of redundant code because you have to slightly modify some functions in order to implement animations. The question is if an additional gtkvbox_animation.[h|c] would be more suitable in case of maintainability. Personally, I like the current implementation very much and I would prefer to add the slight modifications to the original class because these are not so harmful.

May you have noticed the problems when the widgets overlaped each other. At the moment I don’t know how to influence the, let’s call it z-position (the code draws the animated widget first but as you can see this doesn’t help…). That is why I’ve implemented the second animation which is more Gtk+ like (in the way that the widgets do not overlap each other while the animation is running) but this doesn’t work well with widgets which have a minimum size like the buttons in the example.

A further issue is artistic freedom. Should we provide standard animations or do we have to provide an API which enables artists to modify the animations in a significant way? The current implementation is following the first approach. I’m not sure if other widget toolkits or OSs offer more freedom so references are very welcome. 🙂

 

Infrastructure

Animations are not suitable at any place at any time be it by computing power, battery power or personal taste. That is why a discussion about the infrastructure is important. Furthermore, this is something which also affects the discussion about animation in themes.

Infrastructure in this case means an API which offers functions to influence the state of animation on the system level in a way that is transparent for the application and application developer. At least one should be able to turn animations on/off. 😉 There is already a property called gtk-enable-animations in GtkSettings which might be useful for the beginning.

 

That’s it for now. Remarks are very welcome! 🙂

 

Cheers!!!

Gestern hatte ich eine kurze Korrespondenz mit einer Kommilitonin, die zur Zeit in Großbritannien ihr Praktikum absolviert. Ich hatte ihr geschrieben, dass es etwas umständlich war hier Anschluss zu finden, soll heißen eine gewisse kritische Masse von Leuten zu kennen mit denen man mal etwas unternehmen kann, wenn Zeit und Lust es zulassen.

Sie fragte dann, ob meine Kollegen etwa alle schon zu alt wären, um mit ihnen etwas zu unternehmen. Sicherlich ist das nicht das Hauptproblem und vielleicht sollte ich etwas zur Struktur von Imendio sagen, um mich zu erklären. Imendio hat elf Mitarbeiter (elfeinhalb mit dem Praktikanten 😉 ), davon arbeiten zwei in Stockholm, zwei in Göteborg, einer in den Niederlanden, vier in Deutschland, einer in Großbritannien und einer in Spanien. Wie unschwer zu erkennen ist, wird es da schwer sich mal auf ein Bierchen zu treffen… . Von den Zweien die in Stockholm also verbleiben, ist Pia diejenige die nicht durch familiäre Verpfichten gebunden ist und mit ihr besuche ich dann auch immer die unterschiedlichsten Parties, so wie auch letztes Wochenende.

Aber natürlich kann das nicht alles sein. Da ich zum Totalverweigerer von Social Networks mutiert bin, kam Facebook und Co. natürlich nicht in Frage für mich (ich weiß, selber schuld…). Zum Glück gibt es hier aber eine weitere Fremdsprache zu erlernen und der Kurs hat auch gehalten, was ich mir in sozialer Hinsicht von ihm versprochen hatte. Nach der ersten Woche, genauer gesagt letzten Montag, traf ich mich also mit zwei Slowaken und einer Polin zum Bier, quasi als die East European Connection. Das war mal richtig lustig, wir hätten noch den ganzen Abend miteinander sprechen können, aber wir mussten es dann abbrechen, arbeiten soll man ja am nächsten Tag auch noch können.

Also um es mal kurz zusammenzufassen, es hat ein wenig gedauert aber nun ist das alles geregelt und genug Leute gefunden, mit denen man was unternehmen kann.

Bis denne!!! Hej då!!!

…my first approved bug report for an open source project. I am a little bit proud of it. 🙂 So for the sake of documentation I want to write down what I’ve done.

The task was to add a feature to Librsvg which enbles developers to get the size of a SVG element. Robert Staudinger, the developer of the gtk-css-engine, wants to have this feature, so artists can provide a single SVG file instead of several files to describe their theme.

Librsvg had already a function but it only provides the size of the whole SVG file not of a single element. So the first thing I’ve done was to have a look on the already existing code. My hope was to get the feature implemented by adapting the already existing code. This worked only at the first sight. There have been several inaccuracies which became more obvious when I’ve used the function on elements which uses Bézier curves to define their shape.

So I had a further look on the code especially on the part where the function determines the size. It came out that the function applies the same function on lines and curves which is obviously the wrong way to determine the size of a curve.  So I wrote an email with possible solutions for the problem.

The maintainer of Librsvg preferred the mathematical approach and so far it was the only opinion I was aware of. So I started to find a mathematical formula which determines the height of a Bézier curve and implemented it. The problem with a mathematical approach is that you also have to keep the stroke width in mind because a mathematical formula assumes an infinitesimal small stroke width. So the new function worked well as long as your lines were not too thick.

Emmanuel Pacaud pointed out that it doesn’t make sense to reimplement all the functions to determine the bounding box when Cairo does these things already. Cairo is the backend used by Librsvg to draw the images. So I changed my code according to Emmanuels suggestion and my second solution I had pointed out in my mail.

Now the code passes a dummy surface to the drawing function of Librsvg. So every time one wants to have the size of an element of a SVG file Librsvg draws this specific element and returns the bounding box we get when we put the bounding boxes provided by Cairo together. Easy, isn’t it? 😀

After bothering the maintainer for several weeks he applied the patch just yesterday.

With these few lines about my first patch I want to finish my post and wish you a good start into the following week!

Cheers!!! Hej då!!!

In Schweden gibt es eine große Einkaufskette names Coop, die ist etwa vom Aufbau und Feeling mit unserem, aus Deutschland bekannten Kaufland zu vergleichen. Na ja, jedenfalls habe ich so einen Coop in meiner Nähe und gehe da auch immer fleißig einkaufen.

Seit einer Woche hat man nun dort die Möglichkeit eine der zahlreichen elektronischen Kassen zu benutzen. So eine elektronische Kasse ist etwa so breit wie ein Schreibtisch, hat drei Waagen, mehrere Einwurfmöglichkeiten, Schlitze u.s.w. für Zahlungsmittel und Coupons, einen Laserscanner und natürlich einen Touchscreen.

Beim ersten Mal hatte ich Unterstützung, da ging das auch alles ganz gut. Man scannt die Ware ein, legt diese dann in seinen Beutel, den man an einer Halterung befestigen kann und bezahlt. Alles ganz einfach, selbst mit schwedischer Menüführung gut zu meistern… dachte ich jedenfalls.

Das sah dann heute ganz anders aus, als ich frohen Mutes an das Gerät trat, denn nun offenbarten sich Bedienungsdetails, die mir bei der Einweisung verborgen geblieben sind. So muss man die Ware in den Beutel, den den man an der Halterung befestiegen kann, packen oder zumindest auf die Waage darunter. Ja, werte Leserinnen und Leser, man muss die eingescannte Ware auf eine Waage packen, ansonsten streikt das Gerät und fährt nicht fort… . Ich musste sogar meinen Rucksack von der Waage packen, da das Gerät den fremden Gegenstand moniert hatte. Nachdem nun die anwesende Angestellte das Gerät übersteuert hatte, konnte ich fortfahren. Danach kam dann mein Flaschen-Coupon an die Reihe. Den habe ich eingescannt, danach muss man diesen in ein Fach packen, damit man ihn nicht erneut verwenden kann. Problem, das Gerät hat nicht erkannt, dass ich meinen Coupon in das Fach gelegt habe. Also wieder zur freundlichen Angestellten, die dann ein weiteres Mal die Warnmeldung übersprungen hat. Darauf konnte ich dann auch endlich bezahlen.

Darauf brauchte ich auch erstmal einen strammen Max extended, denn die ganze Prozedur hat viel Zeit gekostet und ich war ja schon hungrig!

Was man aber diesen schwedischen Apparaten zu Gute halten muss, ist die Möglichkeit per Bargeld zu bezahlen. In Kai Raven’s Blog wurde schon mehrere Male über sogenannte Future Stores in Deutschland berichtet, also Supermärkte in denen zukünftige Methoden, wie zum Beispiel elektronische Kassen, am Kunden ausprobiert werden. Diese boten eine Zeit lang keine Möglichkeit mit Bargeld zu bezahlen, was ein anonymes Bezahlen quasi auschließt. Zusammen mit getaggten (mit RFID-Transpondern ausgerüstete) Waren rückt dann der gläserne Kunde ein gutes Stück näher, denn durch die bargeldlose Bezahlung weiß man auch, wer die Waren eingekauft hat.

Mit diesem Hinweis möchte ich nun meinen Beitrag schließen und wünsche der werten Leserin\dem werten Leser ein schönes und erholsames Wochenende.

Bis denne!!! Hej då!!!

There has been at least one comment who stated that only sliding pictures around is not so exciting. Indeed, it isn’t when we want to talk about animation in GTK+ and don’t want to miss the point which is that GTK+ handles widgets and not images!

So I started to create a second application which does nearly the same like the picture slider but with mature GTK+ widgets (at least for the widgets I used 😉 ).

I’m sorry for the bad text quality! Google video applies some aggressive algorithm on my videos… .

Anyway, have fun!

Repository: http://github.com/troja84/af/tree/master

Ein ruhiges und entspanntes Wochenende liegt (fast) hinter mir. Aber nach der Woche habe ich das auch mal richtig genossen. So kann ich diesen Blogpost mal dazu nutzen nicht von meinen Erlebnissen in der Stan zu berichten, sondern nochmal was Interessantes loszuwerden, für das ich bisher keine Zeit gefunden hatte.

Zuerst einen Link, den ich meinem lieben Schwesterherz zu verdanken habe (vielen Dank nochmal dafür an dieser Stelle 🙂 ). Die Sendung Quarks & Co. hatte sich mit dem Thema Geschwister beschäftigt und welchen Einfluss die Geburtenfolge auf die Persönlichkeitsentwicklung der Kinder hat. Sehr interessante Schlussfolgerung, die die Sendung dort präsentiert, auch wenn ich mich selbst nicht als allzu konservativ bezeichnen würde. 😉

Am Mittwoch habe ich mich mit Claes getroffen, den ich bei der FSCONS kennen gelernt hatte. Wir haben uns über die unterschiedlichsten Themen unterhalten, quasi über Gott und die Welt. Dazu gehörte auch das Thema Mietvertrag, das in Schweden etwas anders gehandhabt wird als bei uns, denn in Schweden ist es nicht unüblich einen solchen zu besitzen, bei dem Wasser und/oder Strom pauschal mit eingerechnet sind. Außerdem erklärte er mir, dass es normal ist, das der Vermieter z.B. die Küche stellt. Nachdem er mir das gesagt hatte, erklärte ich ihm, dass es mich nicht wundert, dass die Mietpreise in Schweden so hoch sind. 😀

Nachdem sich das Wetter nicht entscheiden konnte, was es nun vom Himmel fallen lässt, konnte ich doch glatt Schnee identifizieren! Und so ist es mir eine Freude, ein erstes winterliches Foto aus Schweden zu posten.

SchneeInVällingbyZwischenzeitlich hat es dann auch leider wieder aufgehört, damit es ja kein Schnee bleibt und Schneepampe wird, die dann heute Abend gefriert, auf dass man sich wieder ordentlich auf die verschiedensten Körperteile fallen lasse. 2° C aktuelle Außentemperatur machen das bestimmt nicht besser… . 😐

Na dann hoffen ich mal, dass die nächste Woche nicht allzu rutschig wird. 😀 Damit wünsche ich dem geschätzten Leser einen guten Start in diese und viel Erfolg!

Bis denne!!! Hej då!!!

Dass man einer Kultur näher kommt, indem man dessen Sprache spricht (oder es zumindest versucht 😉 ), sollte hinlänglich bekannt sein. Allein schon deswegen, weil man in der Lage ist mit den Trägern der Kultur zu kommunizieren. Mal von den tausend Sachen abgesehen, die sich durch Wortherkunft, Aussprache u.s.w. sonst noch finden lassen.

Aber allein schon ein Sprachkurs, geleitet durch einen Angehörigen (oder im meinem Fall eine Angehörige) der kennenzulernenden Sprache und Kultur, kann in kürzester Zeit tiefe Einblicke ermöglichen. Nun ist es nicht so, dass ich vorher nichts gewusst hätte, aber was ich diese Woche komprimiert an Informationen über die schwedische Gesellschaft aufgenommen habe, wiegt das Bisherige fast schon auf. 😀

Um mal konkret zu werden, wie ich schon gesagt hatte, hat Schweden eine ziemlich hohe Scheidungsrate, aber dass diese so hoch ist, hätte ich dann doch nicht gedacht, über 50%! Dann gibt es 7 Wörter (aber es wurde wohl schon ein neues Wort ausgesprochen) die in sich schon beschreiben, in welcher Beziehung zu anderen Menschen, fast ähnlich dem Familienstand, man lebt. Ein(e) Sambo z.B. ist jemand der\die mit einem\einer anderen zusammen lebt. Ein(e) Mambo ist eine Person die bei ihrer Mutter lebt. Ein(e) Delsbo ist eine Person die nur ab und zu zusammen mit einer anderen Person lebt und so weiter und so fort… . Na ja, und außerdem lernt man, dass die Ehe im Schwedischen Gift heißt und außerdem noch die vom Deutschen her bekannte Wortbedeutung besitzt (was wiederum die Scheidungsrate erklären könnte).

Mal davon abgesehen macht der Sprachkurs bisher ziemlich viel Spaß! Ich fahre immer nach der Arbeit zum Kurs, denn er Beginnt um 18.30 und endet um 21.00 Uhr. Wir sind eine ziemlich bunt gemischte Truppe, die aus folgenden Ländern stammt: Australien, Deutschland, Großbritannien, Indien, Niederlanden, Polen, Russland, der Slowakei und einem Land das ich nicht verstanden habe. Mal schauen, was sich daraus noch so ergibt… .

Nun wünsche ich jedoch dem wertgeschätzten Leser einen guten Start in ein hoffentlich erholsames Wochenende!

Bis denne!!! Hej då!!!

Sometimes this is natural and clear; at other times it can be cryptic.

  • Grab the nearest book.
  • Open it to page 56.
  • Find the fifth sentence.
  • Post the text of the sentence in your journal along with these instructions.
  • Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

In reference to Damn memes. An english explanation here and a german one here.

Have fun! 😀

Vellocet Club

A blog not only about my time in Sweden and Мiнск but also about the things I am concerned about.

RSS Dinge, die man so liest…

  • An error has occurred; the feed is probably down. Try again later.
November 2008
M T W T F S S
« Oct   Dec »
 12
3456789
10111213141516
17181920212223
24252627282930