Remoting für Runaways

Ein jeder, der sich noch vage an Dinge wie Corba erinnern kann weiß, welch nette Idee hinter verteilten Objekten steckt: Ein Objekt wird als verteilt gekennzeichnet und wenn es mit einem geeigneten Parameter erzeugt wird, entsteht es auf einem anderen Rechner. Für die Anwendung sieht es aber wie ein lokales Objekt aus, auf das ganz normal zugegriffen werden kann. Hört sich toll an, führt in der Praxis jedoch zu allerlei Problemen, da die Zugriffe von den Launen des Netzwerks abhängig sind. Unter .NET wurde das Rad nochmal unter der Bezeichnung remoting neu erfunden.

Der Zugriff auf ein entferntes Objekt ist einfach, ein paar Zeilen genügen:

string url = string.Format("tcp://{0}:40506/LPT_IO_Server",

                    this.address);

this.remoteObj = (BaseRemoteObject)

   Activator.GetObject( typeof(BaseRemoteObject), url);

Aber jetzt kommt das dicke Ende: Wenn der Server unten ist, bleibt die Anwendung beim Zugriff auf eines der Felder einfach hängen. Es gibt keine Möglichkeit, einen connection timeout einzustellen. Es dauert dann etwa 45 Sekunden, bevor eine SocketException anzeigt, daß da was schiefging. Nicht gut für eine Anwendung mit Benutzerinteraktion. Man kann sich allerdings "dreckig" behelfen, indem man den Zugriff in einen eigenen Thread packt:

Exception setException = null;

System.Threading.Thread setThread = new System.Threading.Thread( delegate()

{

    try

    {

        this.remoteObj.setValue(value);

    }

    catch (Exception ex)

    {

        setException = ex;

    }

});

setThread.Start();

if (setThread.Join((int)5000))

{

    if (setException == null)

    {

        // everything seems to be A-OK

        return true;

    }

}

return false;

Das sieht nicht nur scheußlich aus sondern ist es auch. Aber so funktioniert es wenigstens. Jetzt bekommt man zwar auch eine Exception, aber asynchron. Ich finde es verwunderlich, daß M$ hier auf ein besseres Interface verzichtet hat. Hat man sich aber soweit vorgewühlt, ist die remoting Lösung eine sehr praktische Sache. Keine Socketprogrammierung, kein Marshaling, einfach nur die Objekte deklariert und es kann losgehen.
Meine Anwendung sieht folgendermaßen aus: Auf bis zu 8 entfernten Rechnern laufen Windows Services, die die Datenkanäle des LPT Ports schalten können. Das Interface besteht aus einer einzigen Funktion: setValue(byte). Auf einem zentralen Rechner kann man in einem Fenster alle entfernten Ports einzeln oder gleichzeitig schalten. Aus Remoting-Sicht ist dieser Rechner also der Client, der zu den entfernten Servern eine Verbindung aufbaut. Es ist wirklich phänomenal, wie schnell man zu einem Ergebnis kommt: Hätte ich o.g. Probleme nicht gehabt, wäre ich nach 5 Stunden (einschließlich der Setups) fertig gewesen.

Das Ende der Birne

Minister Gabriel zum Thema "Glühbirne" als politischer Trittbrettfahrer (hatte ich das nicht ein paar Tage vorher woanders gelesen? Welches Land will nochmal gleich die Glühbirnen abschaffen?) Was im Grunde richtig ist, ist aber genauso Lobbyarbeit wie das Editorial des ADAC Vizepräsidenten in der meistgelesenen Zeitschrift Deutschlands. Richtig, das ADAC-"Blättle". Da fordert er, daß die KfZ Besteuerung "umweltgerecht" nach CO2 Ausstoß berechnet werden soll. Das ist zwar auch nicht verkehrt, aber was soll das Ganze, wenn der CO2-reduzierte Neuwagen trotzdem 15l Super zieht? Das hilft höchstens als Daseinsberechtigung für die Bürokratie, neue Vergabeschlüssel für die KfZ zu vergeben und sich im allgemeinen wichtig zu machen. Es ginge doch so viel einfacher: Die KfZ-Steuer, so sie denn sein muß einfach über die Tankstellen einziehen! Die bei der Verbrennung entstehende Gasmenge ist direkt proportional zum Kraftstoffverbrauch. Ganz simpel, das muß man dem Wähler nicht mal extra erklären.
Allem Gemecker hier zum Trotz bin ich froh, daß das Thema Energie endlich die Medienpräsenz hat, die es schon lange verdient hat. Auch wenn meine Elterngeneration die Aufregung nicht nachvollziehen kann und sich gleich bevormundet fühlt, nur weil irgendjemand fordert, man solle nicht mehr nach Bangkok sondern umweltschonend in den Bayrischen Wald fliegen. Der Erholung wegen. Inzwischen müßten wir uns doch an die politischen Aktivisten gewöhnt haben um zu erkennen, daß hier nur jemand ganz schnell oderhochwassertypisch Punkte ziehen will.

OpenId

OpenId ist eine neue Technik zur Verwaltung von Online Identitäten. Dieser Artikel beleuchtet die Sache ein bißchen. Man muß sich beim Besuch anmeldepflichtiger Webseiten nicht mehr zig Id's und Passwörter merken, eine Anmeldung reicht. Diese muß man auch nicht bei Microsoft hinterlegen (weshalb deren letzter Versuch "Passport" wohl auch scheiterte), sondern kann sich dafür einen beliebigen Server aussuchen. Das dementsprechend dezentrale System soll helfen, daß jeder einen für seine Bedürfnisse passenden Service findet.
In den sog. online communities sorgt oft ein ausgeprägtes Karma-System dafür, den Troll-Faktor der Teilnehmer realistisch zu bewerten. Das Karma wird durch die Bewertung der Beiträge eines Mitglieds durch andere Mitglieder berechnet. Mitglieder mit viel Karma dürfen z.B. unmoderiert kommentieren oder erhalten lustige bunte Sterne (ebay).
Die Idee von OpenId ist es nun, nicht nur Id's und Passwörter zu vereinfachen, sondern auch Karma zentral zu speichern und damit anderen Sites zugänglich zu machen. Bei mir geht hier aber die Big Brother Lampe an. Ist ein Benutzer vertrauenswürdig, wenn er auf Site X 100 Punkte hat? Wenn es möglich ist, aus der OpenId direkt auf eine reale Person zu schließen, muß diese nun fürchten, daß zukünftige Arbeitgeber ihre Punktzahl als Indikator für soziale Verträglichkeit heranzuziehen? Wie geht das System mit Mißbrauch um? Kann ich einen OpenId Server faken oder andersherum ausgedrückt: Wie kann ein Anbieter einen OpenId Server verifizieren? Ein Hack einer OpenId oder schlimmer noch, eines Servers hat nun nicht mehr örtlich begrenzte Konsequenzen. Schneier würde sagen, das System wird dadurch brittle (spröde/brüchig). Ein Hack birgt die Gefahr eines class breaks, nicht nur die Kompromittierung einer Site. Ich denke man merkt es: Ich halte das Ganze für riskant und nicht zu Ende gedacht.

3 Char Produktname

Mein Arbeitgeber verfolgt eine etwas eigenartige Strategie die hauseigenen Kreationen zu benennen. Jedes Produkt hat nämlich keinen Namen, sondern eine Abkürzung. Damit der Kunde sich nichts darunter vorstellen kann. Die erste Ziffer muß natürlich dem Anfangsbuchstaben des Unternehmens entsprechen. Neulich durchzitterte das Beben einer Revolution die Firma: Die Produkte haben jetzt keine 4-stellige, sondern nur noch eine dreistellige Bezeichnung (der Kunde tat sich vielleicht doch etwas schwer mit dem Merken). Kurzerhand mußten wir uns ein paar griffige Namen ausdenken:

ABT, ALT, ABI, AXT, AOL, AXE, AUA, ARA, AYE, APO, ART, AUS, AUF, ANT, AST, AKA, ABC, AVE, ADE, AJA, ADA, ACK

Gibt's noch mehr Worte oder Abkürzungen mit 3 Buchstaben, die mit "A" anfangen?

EDIT:
ABM, ABS, ABB, ABO, AHA, ALI, ALG, AMI

Der Zeitmörder

Frank Tallis: Der Zeitmörder https://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_n.gif

Eine äußerst unterhaltsame Geschichte eines Londoner Mathematikdoktoranden, der eine großartige Erfindung macht: Er baut eine Maschine, mit der er die Vergangenheit fotografieren kann. Aufgrund der äußerst begrenzten Platzverhältnisse muß er die Konstruktion im Schlafzimmer aufbauen. Sein erster Versuch liefert den Beweis, daß seine Freundin doch nicht so treu ist, wie er gedacht hatte.. Bis auf ein paar Bugs die nahelegen, daß der Übersetzer keine besondere technische Affinitäten hat ("er klickte die Maus an..") ist es sehr flott zu lesen.

Am Feierabend



Hätt ich tausend Arme zu rühren!
Könnt ich brausend die Räder führen!
Könnt ich wehen durch alle Haine!
Könnt ich drehen alle Steine!
Dass die schöne Müllerin
merkte meinen treuen Sinn!

Ach wie ist mein Arm so schwach!
Was ich hebe, was ich trage,
was ich schneide, was ich schlage,
jeder Knappe tut's mir nach.

Und da sitz ich in der großen Runde,
in der stillen kühlen Feierstunde,
und der Meister spricht zu allen:
Euer Werk hat mir gefallen;
und das liebe Mädchen sagt
allen eine gute Nacht.

(Wilhelm Müller)

css Kuriositäten

Seit ich die neue WordPress Version installiert habe, (2.1) funktioniert ein Teil der Bilder im Textverlauf nicht mehr. Bisher hatte ich diese immer in ein div eingeschlossen. Das Bild wird jetzt aber nicht mehr angezeigt, außer wenn man das width Attribut setzt. Seltsam. Setze ich "float:left;" z.B. direkt im Image, funktioniert es wie erwartet. Ich finde das nicht so besonders zufriedenstellend.

Iraqi freedom?

John Keegan: "The Iraq War" https://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f_blue.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f_blue.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f_blue.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_f_blue.gifhttps://www.puls200.de/wp-content/plugins/Sterne/img/icon-rating-star_n_blue.gif

Hierbei handelt es sich um ein brilliant recherchiertes Buch, das den gesamten Hergang des derzeit ablaufenden Irakkriegs beleuchtet. Der erste Teil holt weit aus, erklärt die historischen und theologischen Grundlagen, angefangen von der antiken Frühgeschichte, über das Osmanische Reich zu der Kolonialverwaltung durch die Engländer. Ebenso enthalten eine detaillierte Schilderung der Amtszeit von Saddam Hussein.
So genau auf die militärischen Details eingegangen wird, so unerklärt bleibt die politische Zielsetzung. Die Opposition der Europäer zu dem Krieg wird als "Olympianism" abgetan. Das sei die Verblendung, alle Konflikte diplomatisch lösen zu wollen (und die damit verbundene Zahnlosigkeit). Im Falle Europas mag das stimmen, aber zwei wesentliche Argumente Europas gegen den Krieg wurden weggelassen:
- Der Beweis für die Existenz der sog. "weapons of mass destruction" (TM) wurde nie erbracht
- Ein Konzept für die politische Neuordnung nach der Invasion wurde nicht vermittelt (siehe derzeitiger Zustand)
Es bleibt daher ein etwas halbseidener, hurra-patriotischer Geschmack zurück. Man mag Keegan zwar gern zustimmen, daß die Invasion ein brilliant ausgeführtes militärisches Manöver war, bei dem die Invasoren sich redlich bemühten zivile Opfer zu vermeiden. Aber danach? Skepsis bleibt. Es wird auch keine Vision einer möglichen politische Neuordnung der Region vermittelt, außer eines aktualisierten Nachwortes (von 2005, das Buch ist aus 2003). Darin aber im wesentlichen nur interessant die Beschreibung der Partikularinteressen der anderen Grenzstaaten.

Neue Glotze

Die Größe ist manchmal doch entscheidend. Vor allem bei der zur Verfügung stehenden Bildschirmfläche, höhö. In diesem Zusammenhang habe ich mich kurzfristig zu einer Neuanschaffung entschieden, die das vorhandene 17'' TFT ergänzt. Ne, andersherum: In Zukunft darf das alte TFT ergänzen :) Angeregt durch einen Artikel in der C't hab ich mir angeschaut, was für mich ein sinnvolles Preis-Leistungsverhältnis darstellt. Das ging schnell, 22'' für knapp 400€ sind für mich ok, mit 2 Eingängen einschl. HDMI.

Es wurde dann ein Samsung SyncMaster 225BW, der mich trotz etwas durchwachsenen Bewertungen bisher voll überzeugt. Vor allem mit Entwicklungsumgebungen, Eclipse oder VisualStudio. Die Auflösung beträgt 1680x1050, also 16:9 Breitbild. Das erscheint vielleicht etwas wenig, aber durch die relativ hohe Pixelgröße ist die Lesbarkeit optimal. Für mich als angehenden Rentner sehr wichtig :) Auf dem anderen Display habe ich jetzt entweder den "verlängerten" Desktop oder den Linux-Server.