await!

Bisher habe ich um das async/await Pattern in C# eher einen Bogen gemacht. Grundsätzlich war mir mehr oder weniger klar, was da vor sich geht, aber wozu syntaktischer Zucker, wenn es auch so geht? Es sieht schöner aus. Zumindest für diejenigen, die “Schönheit” für uns festlegen. Aber inzwischen trifft man auf Konstellationen, in denen man gar nicht mehr drumherum kommt, z.B. wenn eine Bibliothek, die man verwenden möchte nur noch LalaBlaBlubAsync(...) Aufrufe hat, wobei die Vorversion noch mit LalaBlaBlub(...) auskam. Tja.

Ich wollte dann doch mal etwas tiefer gehen und stieß auf diesen interessanten Artikel (Achtung MSDN Link). Ich finde, das Konzept wird hier wirklich schön erklärt. Das Beste daran ist jedoch dieses herrliche Zitat:

“Asynchronous code reminds me of the story of a fellow who mentioned that the world was suspended in space and was immediately challenged by an elderly lady claiming that the world rested on the back of a giant turtle. When the man enquired what the turtle was standing on, the lady replied, “You’re very clever, young man, but it’s turtles all the way down!”

Better late than never!

Kürbislampe, revisited

Das Thema gab es hier schon mal. Auf dem Markt habe ich letztes Jahr doch noch zwei brauchbare Flaschenkürbisse ergattert. Leider waren beide EXTREM groß, so dass ich gewisse Befürchtungen für die Trocknung hatte. Nicht unbegründet: Dieser vor allem ist beim Trocknen ordentlich angeschimmelt, was man später durch sorgfältiges Schleifen im getrockneten Zustand wieder korrigieren kann. Leider nicht ganz optimal: Dieses Exemplar hat dadurch eine extrem dünne (und damit zerbrechliche) Haut bekommen.
Merke: Größe spielt eine Rolle, diesmal: je kleiner, desto besser ;-)
Die kleineren kann man durch die Gegend werfen, sie haben eine etwa 4mm dicke Holzschale, der hier nur etwa 2mm.


Aus Grün wird Grau

Ich habe mit zwei Schnitten gearbeitet, damit ich das ganze Material überhaupt heraus bekomme. Es ging auch gut. Ich kann allerdings das Tragen einer Staubschutzmaske nur wärmstens empfehlen.

Bereits leicht angehölt

Das Innenleben war reine “Resteverwertung”: Etwas übrig gebliebenes RGB-LED Band, zusammen mit einer Konstantstromquelle aus einer defekten Chinaschrott-Deckenlampe.

Dezente^^ Innenbeleuchtung

Die Batterien in der (ebenfalls Chinaschrott-) Fernbedienung sind nicht mehr so toll, oder die Ansteuerungs-elektronik hat hier auch schon einen Schaden: Es funktionieren leider nur noch ein paar Farben. Du drückst drauf und bist erstaunt, was passiert.

Schnittstellen scheinen durch: hier muss ich nochmal bei

Sieht man deutlich: Weißleim ist zwar ein klasse Fugendichter, aber leider transparent.

Sieht ganz lustig aus im Regal..

Die weiße Lackierung kommt daher, dass noch eine Dose übrig war, und der Kürbis “natur” nicht mehr so ganz toll aussah. Ich weiß, es ist nicht der Weisheit letzte Schluß, aber eine ganz interessante Abwechslung.

errorMode Custom

Hier eine kleine Anmerkung zu einem kleinen Ärgernis, AKA ungooglebarer Fehler:

Man betreibt man eine Site oder einen Webservice mit dem IIS (Version 7 in meinem Fall) möchte man in seltenen Fällen im Code explizit den StatusCode setzen. Das kann z.B. so aussehen:

WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.ServiceUnavailable;

Diese Zeile führt dazu, dass der Aufrufer 503 Busy zurückerhält. Neulich hatte ich die Situation, dass der Client stattdessen immer 500 bekam und die betr. Zeile ignoriert wurde. Weshalb? Es war zum Verrücktwerden. Offensichtlich war folgender Abschnitt in der web.config dafür verantwortlich:

<system.webServer>
<httpErrors errorMode="Custom" />
<system.webServer>

Gegenlenken

Ich fahre mit dem Wagen auf einer Pass-Straße. Immer wieder gibt es scharfe Kurven, auf der Talseite geht es bedrohlich weit runter. Ich gehe vom Gas, lenke etwas ein und tippe vielleicht die Bremse kurz an. Völlig gefahrlos das alles, die Familie im Fond schläft selig. Oder spielt Handy. Oder schaut sogar raus.
Szenenwechsel. Diesmal kein Auto, sondern ein Kies-Laster, das ganze bergab und mit defekter Bremsanlage. Mit kurz vom Gas gehen und vorsichtig einlenken ist es hier nicht getan. Drastische Maßnahmen müssen schnell ergriffen werden, wenn die Katastrophe vermieden werden soll.
Gnadenlos runterschalten ohne Rücksicht auf das Getriebe, die defekten Bremsen malträtieren, Ausschau halten nach einer Abzweigung, vielleicht sogar einen geplanten Crash herbeiführen. Lkw-Fahrern fallen hier sicherlich noch bessere Optionen ein.
Das ist natürlich alles wieder nur ein weit hergeholter Vergleich zu dem, was in einer Firma ablaufen kann, die sich aktuell auf einem wirtschaftlich nicht vorteilhaften Kurs befindet, um es einmal vorsichtig auszudrücken. Kleine Änderungen oder drastische Maßnahmen? Dabei sind für mich zwei Fragen interessant, die ich versuche, in dasselbe Bild zu setzen:
1. In welchem Fahrzeug sitzen wir überhaupt? Rauscht hier der Kieslaster bergab oder nur ein Tuk-Tuk? Was kann maximal passieren, wer und was ist überhaupt betroffen?
2. In welchem Verhältnis stehen die Maßnahmen zu der befürchteten Situation? Müssen Radfahrer bergab jetzt Bremsfallschirme tragen? Oder werfe ich eine Schippe Schotter vom bereits vorher bemühten Laster und hoffe, dass er dadurch deutlich langsamer wird?
Wie man sich denken kann, kommt es also sowohl auf das richtige Verhältnis an, als auch auf die Art der Gegenmaßnahme. Wenn man beschließt, statt Kies nun einfach Stahlbrammen zu befördern ändern sich dadurch nicht die Fahreigenschaften des Lkw.
Das ganze ist natürlich in einem Unternehmen viel komplizierter als in meinem dämlichen Beispiel. Aber die Mechanik ist durchaus vergleichbar. Für drastische Maßnahmen ist vor allem eine gewisse Risikobereitschaft notwendig. Diese ist natürlich bei bestellten Führungskräften höher als bei den Eigentümern, die einen echten Verlust zu verkraften haben, wenn die Sache schiefgeht. Dennoch: Eine falsche Maßnahme verzögert möglicherweise nur das Unausweichliche oder macht es am Ende tatsächlich unausweichlich. Wie den Crash zwei Serpentinen weiter unten.

BÖLLER!!


Abschuss-Vorrichtung

Hier wieder einer aus der Reihe: “Mit zweierlei Maß gemessen – aber diesmal richtig.”
Seit 2009 ist das Abbrennen von Feuerwerk in der Innenstadt untersagt und durch eine ziemlich bedrohliche Bußgeldverordnung gesichert. Dieses Jahr war das Brandrisiko mit dem ganzen Schneematsch sicherlich absolut minimal. Aber wer in der Innenstadt unterwegs war oder sich wie ich die optische und akustische Darbietung von zuhause angeschaut hat, dem wurde klar: Das Verbot wird … .. ignoriert. :-)
Und damit man das zweite Maß daneben hält (sonst macht es auch keinen Spaß): Die jahrelange Schowo-Band “The Cash” wurde geschasst, weil an einem Abend auf der Bühne ein (verglichen mit gestern) winziges Bühnenfeuerwerk abgebrannt wurde. Ja was jetzt? Ich wette der Zustand an Silvester wird nur deswegen ignoriert, weil sich keiner von den Herren in der Verwaltung über die Durchsetzung der Verordnung den Hauch eines Gedankens gemacht hat. Und das ist dann ein Fall für den Gemeinderat. Ich habe heute einen von ihnen getroffen, der das in Kürze ansprechen wird… ^^

Bevor hier einer was falsch versteht: Ich bin weder eine Spaßbremse noch habe ich etwas gegen Feuerwerk. Ich habe nur etwas gegen Verordnungen, die sich nicht durchsetzen lassen oder die nicht durchgesetzt werden wollen. Entweder, oder. Das geht einfach nicht mit der halben Arschbacke!

Hörschbachschlucht

In der Zeitung erscheinen hin und wieder Wandertips. Ich schnibbel diese gerne aus und lege sie (zusammen mit einem Haufen anderem Krempel) ab, auf dem Haufen: “Könnte mal interessant werden”. Gestern gab es dann den Zugriff. Auf der Suche nach einem passenden Ziel entschieden wir uns für einen spontanen Besuch in Murrhardt. Man kommt sich ein bisschen cheesy vor, wenn man mit einem Zeitungsausschnitt in der Hand durch den Wald trabt, aber die Tour hatte es in sich. So schön, das möchte ich an dieser Stelle gerade mal weiterempfehlen.
Es ist eine Rundwanderung mit 11km Länge, für die wir etwas mehr als 3 Stunden unterwegs waren, inklusive einem Stopp für ein Radler mit “Worrschtsalat” beim Gasthof zum Wasserfall, der etwa auf halber Strecke gelegen ist. Der Aufstieg erfolgt über die Franzenklinge, ein eng ausgewaschenes Tal durch schönste Landschaft, kurz übers Feld, und wieder hinunter durch die Hörschbachschlucht, vorbei an zwei nicht unwesentlichen Wasserfällen. Durch die starken Regenfälle der letzten Tage war dieser Abstieg allerdings ziemlich matschig und für kleinere Kinder aus diesem Grund m.E. nicht geeignet. Mit gewisser Trittsicherheit allerdings ohne Probleme machbar, wer Wert auf saubere Schuhe legt sollte allerdings ein paar regenfreie Tage abwarten!

Klebstoff! :-)

Für die häusliche Eisproduktion wird Invertzucker empfohlen. Damit wird das Eis cremiger und kristalliert nicht so leicht aus, wie bei der Verwendung von herkömmlichem Zucker beim Anrühren der Masse. Den Tip, wie man das selbst macht habe ich gleich ausprobiert, es ist ein chemischer Prozeß und hat nicht viel mit Kochen zu tun.
Zu Beginn kippt man ein Kilo Zucker und Zitronensäure (ja, man kann das Putzmittel verwenden, wenn “lebensmittelecht” auf der Packung steht!) in einen Topf, fügt einen Viertelliter Wasser dazu und lässt das Zeug eine ganze Weile heiß vor sich hin wabern (nicht kochen!).

Das sieht dann so aus. Irgendwann stoppt man den Prozess ab, wenn die Lösung einigermassen klar geworden ist. Am Anfang kann man eigentlich nicht glauben, daß das jemals passiert.

Dann neutralisiert man die Säure unter Zugabe von Natron. Dabei entsteht Gas, das ordentlich schäumt. Macht aber nix. G’hört so. Man rührt eine Weile und der Schaum verschwindet dann von selbst, bis schlußendlich eine fast klare, ziemlich zähe Flüssigkeit übrigbleibt.

Abgefüllt und im Kühlschrank geparkt reicht das für zig Zubereitungen. Für einen Liter Eis braucht man nur wenige cl. An der gelblichen Färbung erkennt man übrigens, daß unser Zucker doch nicht so gereinigt ist, wie man das immer glaubt.

Einfach, effektiv und praktisch. Ich liebe solche Sachen :-)

Heart failure

Gestern habe ich die OpenSSL Lib in unserer iOS App gepatcht. Die verwendete Version hatte den Heartbleed.

Am Tag 2 fragen sich jetzt alle wie das nur sein kann, daß so ein eklatanter Bug jahrelang unentdeckt in einer Open Source Software versteckt bleibt. Und .. ogott jaaa.. wer den wohl schon alles für seine finsteren Machenschaften ausgenutzt hat?!

Open Source muss doch sicher sein, es ist offener Quellcode, jeder kann reinschauen und damit sollten Fehler doch sofort entdeckt werden! Das klappt aber nur dann wenn es eine kritische Masse Leute gibt, die das auch tun und die verstehen, was sie dort vorfinden. Und das ist im Fall von OpenSSL sicherlich nicht so ganz leicht. Jeder der diese Lib schon verwendet hat weiß, wie gräßlich kompliziert das Ding ist. Und ich spreche hier nur von der korrekten Verwendung, vom Griff in den Code selbst ist das meilenweit entfernt. Das ist auch, was man z.B. bei Fefe lesen kann. Der sich selbst nicht zutraut, das Ding zu auditieren, weil, tja, einfach zu kompliziert das Ganze. Lieber selbst schreiben(!). Ich nehme zwar an, daß das ironisch gemeint war aber das ist eher einer der Cracker auf dem Gebiet.

Ich stelle dasselbe Phänomen auch bei uns fest: Je komplizierter ein Code-Komponente aufgebaut ist, desto länger halten sich darin die haarsträubendsten Fehler. Sitzen einem direkt vor der Nase, aber man kann sie nicht erkennen, weil man vor lauter Bäumen den Wald nicht sieht. Aus diesem Grund kann ich immer wieder nur eins meiner Dauer-Mantras wiederholen. Warum einfach, wenns auch kompliziert geht! Ne halt, das war jetzt nicht ganz richtig..

Wer wissen will wie Heartbleed funktioniert klickt einfach mal hier.

Rätselhaft

Das wirkt ja wie ein Weihnachtsmärchen: Putin läßt den Chodorkowski 3 Tage vor Weihnachten nach 10 Jahren Haft frei. Bin ich der einzige, der sich jetzt fragt, was Gensch-Man dafür verkauft hat, daß der jetzt (ausgerechnet) hier frei herumläuft? Komischer Zufall auch die Meldung desselben Tages, dass die Russenmafia in ganz großem Stil am europäischen Strommarkt zockt. Mein Gutglaub-Konto ist langsam überzogen. Wer jetzt immer noch keine schlechte Laune hat, schaut mal bei Fefe rein, das dürfte dann endgültig reichen :-)

Postturm erblaut

Beauty lies in the eye of the beholder” wie der Engländer sagt. Da kommen einem die Zweifel an der Sehkraft unserer Stadt-Oberen, Rathaus-Funktionären und generell Groß-Kopferten. Was ist passiert?

In meiner Heimatstadt Schorndorf tut man alles, um sich sicher möglichst weit vom guten Geschmack zu entfernen, was die Ausgestaltung der öffentlichen Flächen angeht. Im 17. Jahrhundert, als das meiste hier aufgebaut wurde, fing man wirklich aussichtsreich an. Seither ist leider ein kontinuierlicher Abwärtstrend zu verzeichnen. And die vielen stationären Kunstwerke hat man sich bereits gewöhnen müssen, eins schöner als das andere. Der “Mondscheinbrunnen” (über den ich mal eine gesonderte Serie bringe), der entzückende Catwalk am Tuscaloosa-Kreisel, ein versteinerter Van-Carrier (zum Vergleich hier klicken) auf dem Bantel-Parkplatz – an Höhepunkten der Entsetzlichkeit haben wir fürwahr keinen Mangel. Die Lektüre der dazu aufgelegten Betriebsanleitung verleitet mich zu einem hysterischen Lachen. Die Weihnachtszeit setzt den Grausamkeiten aber noch einmal die sprichwörtliche Mütze auf. Man glaubt’s nicht, oder? Das weithin sichtbare Wahrzeichen, das hier eine größere Horde Deppen hausen muß.
Jetzt kommt aber der Nachbrenner, das nagelneue, typisch weihnachtliche Blaulicht an unserem super Feig-Porsche-Post-Tower! Geil, wa? Vis á vie des Weihnachtsmarkts.. da kommt man gleich ganz derbe in Weihnachtsstimmung, geht nicht anders.. Glühwein,… schnell.. . Schorndorf, zur blauen Stunde. Meine Güte, jetzt brauch ich ganz dringend ein Getränk, sonst hol ich die nicht mehr ein.