Archive for February, 2008

The cross(domain.xml) I bear

Tuesday, February 26th, 2008

Note to self: When manipulating the BitmapData of JPGs loaded from another domain via ActionScript 2.0, make sure to call System.security.loadPolicyFile("http://whatever.domain.com/crossdomain.xml") first. Oh, and make sure that the domain of the policy file is an exact match with the domains of the policies. Meaning: Don’t load the JPGs from whatever.domain.net and the policy file from whatever.domain.de, even if they both point to the same data.

Oh. And this works only in Flash Player 9 or newer AFAIK.

Dumm gelaufen

Monday, February 25th, 2008

Kann mir bitte mal jemand erklären, wie man als Jogger (auch mit Musik auf den Ohren) derart weggetreten sein kann, dass man so dicht auf ein Pferd aufläuft, so dass selbiges sich erschrickt und einen tatsächlich noch mit dem Huf am Arm erwischt? Hallo? Wir reden hier von einem 1,50 m großen, breiten Freiberger-Heck, nicht von einem kniehohen Shetty, über das man mal aus Versehen drüberstolpern kann… *koppschüttel*

Analyze this (video)!

Sunday, February 24th, 2008

Oh je… Dass man meistens ein etwas rosigeres Bild von sich und den eigenen Fähigkeiten hat, war mir eigentlich klar. Sich dann aber tatsächlich selbst auf Video gebannt zu sehen, wie man völligen Murks zusammenreitet ist auf jeden Fall - hm, wie drücke ich das noch irgendwie positiv aus? - ein großes Aha-Erlebnis. Nicht unbedingt motivationsfördernd, aber ok, wenn’s was bringt…

Am Sonntag haben wir (das Publikum beschränkte sich gottseidank auf meine RL und mich) dann die knapp 10 Minuten an Videoaufnahmen vom Samstag gesichtet. Und mit Kritik wurde nicht gespart… *seufz* Ehrlichgesagt bin ich schon beim ersten Anschauen immer kleiner geworden: die Beine viiiiel zu weit hinten, schlackernde Zügel, der Wechsel zwischen den Zirkeln unsauber, die Übergänge holprig, eingeknickte Hüfte (meine, nicht Ponys)… die Liste ließe sich zwar noch fortsetzen, aber ich belasse es mal dabei.

Dem angekratzten Ego hat es dann nicht gerade gut getan, dass die besonders gruseligen Stellen gerne im Standbild gezeigt wurden. (”Kuck mal hier…”- “Siehst du das…?” - “Die Sporen sind ja schon hinter dem Cantle*!” Und so weiter und so fort.) Und im langsamen Bildvorlauf. Und weil’s so unschön war, auch gleich noch mal im langsamen Bildrücklauf. Und nochmal. Und nochmal. Und…? Jawoll. Nochmal.

Jetzt weiß ich zwar wirklich, an welchen Baustellen ich noch am meisten arbeiten muss, aber mal ehrlich: ein bisschen weniger rumreiten auf den Fehlern (ja, saublödes Wortspiel, ich weiß…) und ein paar mehr Lösungsvorschläge hätten mir an der Stelle vielleicht ein bisschen weitergeholfen, zumal ich die nächsten Wochen noch ohne RL in Eigenregie mit dem Pony bestreiten*** darf. Vielleicht sollte ich mich nach der Prüfung lieber einem anderen Hobby zuwenden. Gärtnern zum Beispiel. Oder dem Züchen von Renn- oder Kampf-Schnirkelschnecken. Es werden noch Vorschläge angenommen…

*) “Cantle” für Nicht-Westernreiter: Hinterzwiesel**

**) “Hinterzwiesel” für Nichtreiter: das hintere Ende vom Sattel

***) Zur Zeit streiten Jonnypony und ich immer ziemlich heftig. Wo sein Kopf zu sein hat. Wo die Zirkellinie langläuft. Wo genau die Gangart gewechselt wird. Um nur ein paar der Diskussionspunkte zu nennen.

Tod eines Tamagotchi… oder ActionScript 3 From the Ground Up Tour

Thursday, February 21st, 2008

Wir (d.h. Frank, Andreas, ich und noch ca. … äh…60? andere Opfer Interessierte) konnten nicht behaupten, wir seien nicht gewarnt worden: “Remember, this course […] runs for a grueling 9 hours, so get a good night sleep and be ready for a heavy onslaught of ActionScript 3.0 info!”

Und ja, es war ein anstrengender Tag. Obwohl von uns Teilnehmern nicht viel mehr verlangt wurde als uns pünktlich unter den Kronleuchtern des Festsaals im Künstlerhaus einzufinden und uns einen Tag lang von einer geballten Ladung Fachkompetenz - nämlich Colin Moock - die Geschichte vom Pferd Basics der objektorientierten Programmierung mit AS3 erzählen zu lassen. Zugegeben, für mich persönlich war nicht sehr viel Neues dabei, obwohl ich bisher noch nicht allzuviel mit AS3 gemacht habe. Aber die Informationen wurden verständlich und unterhaltsam präsentiert, so war ich nur selten in Versuchung, von Colins anfänglichem Angebot Gebrauch zu machen (sinngemäß: “Wenn ihr ne Runde pennen wollt, während ich hier rede, nur zu - ich bin eh immer noch hier am reden, wenn ihr wieder wach werdet…”).

Das gezeigte Beispiel (”Wir basteln uns ein Tamagotchi”) war gut nachzuvollziehen, und ich fand es äußerst beruhigend, dass ich etliche Teile des Programms ähnlich (wenn auch nicht unbedingt haargenauso) aufgebaut hätte. Gut zu wissen, dass auch die Profis nur mit Wasser kochen. Ebenfalls gut zu wissen, dass auch Leute wie der große AS-Meister es lästig finden, sich um so profane Dinge wie die Anzeige von grafischen Elementen kümmern zu müssen, wenn es doch viel spannendere Aufgaben gibt. :-)

Im Laufe des Tages wurde allerdings nicht nur erklärt, wie man ein Tamagotchi bastelt, sondern es gab auch etliche Tipps zur generellen Vorgehensweise wie z.B.

  • “Magische Zahlen” vermeiden, d.h. hartcodierte Werte nach Möglichkeit als Konstanten, Klassen- oder Instanzvariablen deklarieren. Also nicht einfach die Werte irgendwo im Code verteilen und sich dann wundern, wenn das Programm nicht mehr richtig läuft, weil man mal vergessen hat, den Wert an einer Stelle zuändern.
  • Immer erst überprüfen, ob ein Programmteil sauber funktioniert, bevor man den nächsten anfängt.
  • Zunächst die Funktionalität fertigstellen, dann erst die Grafiken einsetzen, wenn der Code einwandfrei funktioniert.

Außerdem haben wir gelernt, dass Tamagotchis sich unter anderem von Sushi ernähren und keine wurmigen Äpfel mögen. Der AS3-Part endete bezeichnenderweise mit dem Abnibbeln des Tamagotchi, bevor wir noch einen kurzen, aber heftigen Überblick über mögliche Neuerungen in AS4 bekamen. Ganz schön starker Tobak, und ich muss zugeben, bei dem Thema hat sich mein Hirn etwa auf halber Strecke komplett verknotet (wie war das noch mit Makramee, Herr MR?). *seufz*

Über den Tag verteilt wurden immer mal wieder O’Reilly-Bücher verschenkt; leider konnte keiner von uns dreien eins davon abgreifen. Auswahlkriterien hierfür wären nämlich unter anderem gewesen: “Wer von euch ist schon mal schneller als 250 km/h auf der Autobahn gefahren?” oder auch “Ich mag den Namen Günther. Heißt zufällig jemand von euch Günther?” Nunja. Bis zum nächsten Seminar brauche ich wohl ein schnelleres Auto oder einen neuen Vornamen… :-)

Nachtrag: Die Unterlagen zum Seminar gibt’s übrigens auch beim Mutterschiff, die komplette Präsentation bei Meister Moock zum Download. 

Ja, wenn ein Tor fällt…

Sunday, February 17th, 2008

… dann stellt man es zwar wieder auf, aber man weiß dann als angehender Westernreiter auch, dass man zumindest diesen Part des Trail-Parcours noch heftig üben muss. Schließlich möchte man nicht als einziger durch die Prüfung rasseln, weil man das Pony aus Versehen mit dem Hindernis erschlagen hat… :-/

Okay, unser Übungs-Tor ist tatsächlich eine etwas wackelige Konstruktion. Und ja, beim Öffnen des Tors war ich wohl etwas zu schwungvoll, und habe es dabei etwas aus den Angeln gehoben. Und ja, es ist dabei in Richtung Jonnypony gepurzelt. ABER es besteht schließlich nur aus fünf zusammengenagelten Latten und wiegt nicht mehr als ein paar Kilo. Also kein Grund für Jonny, gleich einen auf “Sterbender Schwan” zu machen… Schade, dass meine Reitlehrerin diese Aktion nicht auf Video festhalten konnte - sie war viel zu sehr damit beschäftigt, nicht vor Lachen umzufallen… :-)

Ansonsten haben wir diese Woche wieder viele Übergänge geübt, außerdem möglichst saubere Wechsel von einem Zirkel auf den anderen. Mit leider nur mäßigem Erfolg. Dafür habe ich den Eindruck, dass unsere geraden Linien tatsächlich etwas gerader werden. Immerhin ein kleines Erfolgserlebnis. Denn das Angaloppieren funktioniert leider immer noch nicht akzentfrei. Mit Erfrischungsstäbchen geht das irgendwie einfacher… *seufz* Auch die “neue” Beinhaltung mit den Sporen macht mir noch zu schaffen. Die Beine liegen dabei etwas weiter vorne als üblich, so dass es eine Linie Schulter-Hüfte-Sporenende gibt. Das fühlt sich für mich irgendwie instabil an, und meine Haxen rutschen dementsprechend automatisch wieder nach hinten. An sich ja schön, aber in dieser Situation leider völlig unpassend. *grummel*

Ein Teil der Stunde wurde auf Video gebannt, die Manöverkritik folgt heute Nachmittag. Ich bin ja schon sehr gespannt… Wenn es auch nur annähernd so übel aussieht, wie es sich z.T. angefühlt hat, sollte ich mir die Sache mit der Reiterei wahrscheinlich doch noch mal lieber überlegen und mir vielleicht ein anderes Hobby suchen. Gärtnern soll ja auch ganz nett sein… ;-(

Mercury Silverlight Training, Part II

Saturday, February 16th, 2008

Am zweiten Tag des Silverlight Trainings wurde wesentlich mehr Tempo vorgelegt - es wurden noch ein paar der “interessanteren” (;-)) 1.0-Features gezeigt (und z.T. nachgebastelt) wie z.B. die Fullscreen-Funktionalität, Videos als Füllmuster oder auch skriptgesteuerte Animationen. Schön, dass es bereits in Silverlight 1.0 möglich ist, Objekte dynamisch per Skript zu erzeugen - weniger schön, dass man den kompletten XAML-Code im JavaScript zusammensetzen muss und dass es keine vorgefertigten JavaScript-Objekte dafür gibt. So etwas gibt’s leider erst ab 1.1 (z.B. in C#).
Vor der Mittagspause wurden noch die allerletzten fehlenden Installationen angeschubst, und danach ging’s dann (endlich ;-) ) los mit Silverlight 1.1 2.0.

Nach einem groben Überblick über die zusätzlichen Features und den generellen Projektaufbau eines Silverlight 2.0-Projekts, durften wir bald schon wieder mitbasteln. Gerade in diesen Praxis-Parts machte sich die geringe Teilnehmerzahl angenehm bemerkbar (von angemeldeten 10 waren am zweiten Tag nur noch 6 Leute übrig). Wenn’s dann tatsächlich mal bei jemandem hakte, war genug Zeit für die Fehlersuche da. Und ein weiterer Vorteil der geringen Teilnehmerzahl bei der Mercury-Veranstaltung war sicherlich auch, dass ich unzählige nervige Zwischenfragen stellen konnte (die meistens auch zufriedenstellend beantwortet wurden), ohne gleich gelyncht zu werden. :-)

Obwohl ich C# nicht wirklich kann, waren die gezeigten Beispiele dennoch leicht zu verstehen und nachzubauen. Dabei half Visual Studio dank IntelliSense nicht unwesentlich mit :-) Auch in C# haben wir dynamisch Objekte erzeugt, und obwohl man nicht wie in JavaScript den kompletten XAML-Code angeben muss, ist die Schreibweise zum Setzen der Objektproperties für meinen Geschmack immer noch leicht umständlich. Wer bislang eher kurze und knackige Zuweisungen wie z.B. myRect._x = 10 gewöhnt ist, der freut sich nicht übermäßig über Konstrukte wie myRect.SetValue(Canvas.LeftProperty, 10).

Obwohl ich vorher doch recht skeptisch war, muss ich sagen, dass sich diese zwei Tage für mich allemal gelohnt haben. Ich weiß zwar nicht, wie weit die Bootcamper an ihrem zweiten Tag tatsächlich gekommen sind (ich könnte meinen “Informanten” noch mal ausführlicher dazu befragen), aber ich gehe einfach mal davon aus, dass das Mercury Training das Bootcamp in Sachen Informationsgehalt und Spaßfaktor um Längen geschlagen hat… ;-)

Mercury Silverlight Training, Part I

Wednesday, February 13th, 2008

Nach einigen wenig schmeichelhaften Kommentaren zum Silverlight Bootcamp, das gerade mal zwei Wochen vorher stattgefunden hatte, war ich zugegebenermaßen skeptisch, was das zweitägige “Mercury”-Training bringen würde - zumal man mir auf meine Nachfrage hin bestätigt hatte, dass diese Veranstaltung mit dem Bootcamp vergleichbar sei. Keine besonders guten Aussichten…

Ein Kritikpunkt am Bootcamp - eine wahre Installationsorgie am ersten Tag, bis bei allen Teilnehmern auch wirklich alle benötigten Programme reibungslos funktionierten - schien schon vermeidbar, da wir vorab gebeten wurden, das Expression Studio und das Visual Studio zu installieren. Leider waren nicht die genauen Versionen der Programme angegeben, ebeno fehlten diverse Servicepacks, Toolkits oder ähnliches, und so verbrachten wir dann leider doch einen guten Teil des Vormittags damit, diverse DVDs, USB-Sticks und externe Platten rumzureichen, auf denen die erforderlichen Setups verteilt waren…

Der restliche Vormittag wurde mit allgemeinen Erläuterungen zu Silverlight, den verwendeten Tools und dem generellen Workflow gefüllt. Ich weiß nicht, wie viel die anderen Teilnehmer davon hatten. Da ich mich schon ein bisschen mit dem Thema befasst habe (*hüstel*), war für mich nicht viel Neues dabei. Aber immerhin konnte man die Zeit hervorragend dazu nutzen, doch noch schnell das ein oder andere zu installieren (”Wer hat den Stick mit dem Drei-Fünfer-Framework?!”)

Zur Mittagspause lag der Zwischenstand “Bootcamp vs. Mercury Training” folglich bei 0: 0.

Nach der Mittagspause (mmmh, lecker Steak…) ging es dann ans praktische Ausprobieren des Workflow: Wie zeichne ich eine Grafik in Design, wie exportiere ich die XAML-Daten, und wie bekomme ich diese wiederum in Blend importiert? Und wie bringe ich Bewegung in das Ganze, wo kann ich auf welche Events reagieren und wie verknüpfe ich diese Events mit JavaScript? Alles noch nicht wirklich neu, aber wenigstens etwas interessanter, da wir selbst ein bisschen rumbasteln konnten und nicht nur einfach beschallt wurden.

Da die Bootcamp-Leute am ersten Tag den Button nur gebastelt, aber noch nicht programmiert hatten, betrug der Tagesendstand “Bootcamp vs. Mercury” also 0:1 für Mercury.

Das lag wahrscheinlich auch daran, dass unser Schulungsleiter aus der WPF-Ecke kam und (im Gegensatz zu eher “marketing-belasteten” Silverlight-Menschen) auf jeden Fall fachlich fit war - auch wenn er die Schulung heute zum ersten Mal hielt und manchmal erst nachlesen musste, was er uns zu bestimmten Themen denn überhaupt alles erzählen sollte. :-)

Ich bin auf jeden Fall auf morgen gespannt, wenn wir Silverlight 1.1 2.0 etwas genauer unter die Lupe nehmen.

Mach disch loggä!

Wednesday, February 13th, 2008

“Sie haben Probleme damit, geradeaus zu reiten.” - “Äh, ja, woher wissen Sie…?” - “Ihre Beckenschaufel ist völlig verbogen. Dadurch sitzen Sie schief; das Pferd meint ständig, dass es Sie gleich verliert, und versucht das dann auszugleichen.” - “Oh.”

Mit dieser Feststellung (einer unter vielen) traf der Heilpraktiker Physiotherapeut Ostepath Wunderheiler voll ins Schwarze. Einer Empfehlung meiner lieben Reitlehrerin folgend, hatte ich mir einen Termin geholt, in der Hoffnung, danach vielleicht wieder einmal einen ordentlichen Rechtsgalopp hinzubekommen. Ich hatte ja geglaubt, das Problem sei eine Blockade rechts im Kreuz. Doch die ist - angeblich - nur “die Spitze des Eisbergs”. Autsch!

“Das eigentliche Problem sitzt in der Halswirbelsäule.” Na gut, dass die nicht so reibungslos funktioniert und bei bestimmten Bewegungen gleich verkanntet, hatte ich bisher als gegeben hingenommen. Ebenso, dass ich an der Stelle, wo die meisten Menschen so etwas wie Schultern haben, einen versteinerten gordischen Knoten spazieren trage. Ungefähr hunderttausend Masseure, Krankengymnastinnen, Ergotherapeuten und Yogalehrerinnen konnten zumindest bisher nichts daran ändern. Eigentlich darf ich gar nicht dran denken, wie lange ich an diesen ganzen Problemen schon rumgedoktert habe, und wie viel Zeit und Geld ich schon in vergebliche Beserungsversuche gesteckt habe… *seufz*

Und dann kommt dieser harmlos aussehende Mensch daher *zupfdrückknirsch* und ich kann zum ersten Mal seit achtzehn Jahren die Schultern lockerlassen. (Locker? Ich weiß fast schon gar nicht mehr, wie man das schreibt…) Meinen Kopf kann ich auch wieder drehen, ohne dass es gleich klemmt. Und die Problem-Gräten (sprich: Hände und Arme) sind - ebenfalls so ziemlich das erste Mal seit 1990 - schmerzfrei und entspannt. Man kann sich wahrscheinlich vorstellen, dass ich nach der Behandlung quasi auf rosa Wölkchen aus der Praxis geschwebt bin. :-)

Nach ein paar Stunden fing dann zwar der Muskelkater an (und das nicht zu knapp), aber: ich bin mehr als beeindruckt!  Jetzt bleibt nur zu hoffen, dass der Erfolg laaaaange anhält, damit sich die nicht ganz günstige Behandlung auch gelohnt hat.

Und am Freitag wird berichtet, ob Jonnypony immer noch meint, dass ich ihm unterwegs verlorengehe, wenn er nicht aufpasst, oder ob wir tatsächlich mal eine ganze gerade Linie schaffen. Und einen sauberen Rechtsgalopp…

Auf den Zahn gefühlt

Sunday, February 10th, 2008

Der Pferdezahnarzt war da. Daher haben Jonnypony und ich vorher nur eine gemütliche Runde durchs Gemüse gedreht, damit das Pelztier nicht völlig verschwitzt und asusgepowert (ausgepowert? Jonnypony?! *kopfschüttel*) narkotisiert werden muss.

Der Doc war sehr nett, wunderte sich aber, dass das harmlos wirkende Jonnypony ihm beim Spritzen auf einmal mit dem Hinterteil entgegen kam. Ja, nu. Spritzen mag er nicht wirklich… Kann ich ihm aber auch nicht verübeln. ;-p

Die Spritze wirkte recht schnell, und als dem Pony so ziemlich alles egal war, wurde das Maulgatter angelegt, damit das Pony während der Behandlung nicht plätzlich einen auf “Der weiße Puschelhai” macht und dem Doc den halben Arm abbeißt.

Diese schönen bunten Farben…

Damit der Ponykopf an Ort und Stelle bleibt, wird das Pony quasi an einem Strick über der Boxentür “aufgeknüpft”, wie hier von Tough demonstriert:

Hang him (or her) higher…

Das Abschleifen der Backenzähne sah ganz schön fies aus, wenn der Doc mit dem “schweren (und vor allem lauten) Gerät” anrückte…

Doc (and patient) at work

… und Ausspülen bitte!

… now spit!

Danach wurden noch die Schneidezähne in Form gebracht, und das Pony durfte in Nachbarbox erst mal seinen Drogenrausch ausschlafen. :-)

Bei Jonnyponys Kollegen Nando mussten außerdem noch die zwei Wolfszähne (naja, -zähnchen) gezogen werden. Bei den zusätzlichen Spritzen in den Gaumen hat’s die Nadeln gründlich verbogen, bis die Betäubung endlich im Pony gelandet ist… *grusel* Gut, dass man sowas im Normalfall nicht sieht, wenn man selbst im Behandlungsstuhl sitzt!

Für uns Zahnarzthelferinnen war das Ganze auf jeden Fall ein Full-time-Job: Beate hat fotografiert, Regine musste immer mit dem Spucknapf zur Stelle sein, und ich habe mich als Flaschenzug betätigt oder bin mit den Patienten in spe noch eine Runde um den Block gelaufen, bis die Folterkammer das Behandlungszimmer wieder einsatzbereit war. Anstrengend - aber wesentlich angenehmer, als selbst zum Zahnarzt zu müssen! ;-)

Return of the sailboat

Wednesday, February 6th, 2008

This morning, sailboat guy was back. Hmmm. Maybe one of these days… :-)

(I probably should stop reading stories by Tony Hawks. Somehow a lot of harebrained ideas seem to make an awful lot of sense after reading one or two of his books… - More on those later :-) )