2009-11-29

Neues Theaterstück: „Antony and Cleopatra“

Zeit für einen Theaterbesuch? Die BUSC bringt ab 11. Dezember „Antony and Cleopatra“ von William Shakespeare. Die Inszenierung lehnt sich an brasilianische Telenovelas an. Mit dabei: ich mit ein paar kurzen Auftritten als schmieriger Anwalt Thidias.

2006-09-30

Wurzelzertifikat von CAcert in Psi unter Mac OS X installieren

Ich benutze den Instant-Messenger Psi (version 0.10) unter Mac OS X 10.4.8 mit einem Jabber-Server, der ein SSL-Zertifikat hat, das von CAcert signiert ist. Deren Wurzelzertifikat ist aber nicht standardmäßig in Psi installiert, sodass ich bei jeder Verbindung zu meinem Server eine Warnung über ein ungültiges Zertifikat bekam. Ich habe folgende Schritte durchgeführt, um die CAcert-Zertifikate in Psi zu installieren:

  1. Lade die Class-1- und Class-3-Zertifikate von der CAcert-Wurzelzertifikatseite im PEM-Format herunter.
  2. Führe folgenden Befehl im Terminal aus:
    openssl x509 -in root.crt -fingerprint
    Die erste Zeile zeigt den MD5-Fingerabdruck an. Überprüfe ihn anhand des Fingerabdrucks auf der Wurzelzertifikatsseite.
  3. Öffne die Datei rootcert.xml von Psi in einem Editor. In der Standardinstallation lautet der Pfad /Applications/Psi.app/Contents/Resources/certs/rootcert.xml
  4. Füge zwei neue <certificate>-Elemente hinzu und darin jeweils ein <data>-Element.
  5. Bearbeite root.crt und class3.crt, heruntergeladen in Schritt 1. Entferne in jeder Datei die erste und letzte Zeile und alle Zeilenende-Zeichen. Heraus kommt jeweils eine lange Zeile Kauderwelsch. :-)
  6. Kopiere jedes modifizierte Zertifikat in eines der <data>-Elemente aus Schritt 4 in rootcert.xml.
  7. Starte Psi. Die Warnung über ein ungültiges Zertifikat ist verschwunden.

2006-05-09

Offline-Spam

Folgender Zettel fand sich im Briefkasten:

Sofort-Geld-Verdienen-Angebot in wüstem Deutsch à la E-Mail-Spam

Da hat wohl jemand noch nichts von den Segnungen des elektronischen Zeitalters gehört – oder die Spammer wollen sich neue Kundschaft erschließen; es ist ja noch nicht jeder online. Dürfte aber ins Geld gehen.

2006-02-02

OpenCV unter Mac OS X

Vor einer Weile habe ich es geschafft, die „Open Computer Vision“-Bibliothek von Intel unter Mac OS X zu kompilieren. In diesem Artikel beschreibe ich, wie das funktioniert. Ich führe einige Voraussetzungen auf und erkläre dann, wie ihr die OpenCV kompilieren und installieren sowie ein Beispielprogramm ausführen könnt. Ich beschreibe Eigenheiten bei der Nutzung von OpenCV auf dem Mac, soweit ich auf welche gestoßen bin. Ich gehe bei der Beschreibung der Installation davon aus, dass ihr euch mit der Benutzung der Kommandozeile im Terminal auskennt.

Ich freue mich über alle Rückmeldungen, Korrekturen oder Hilfegesuche. Schickt mir eine E-Mail, besonders wenn ihr eine Antwort erwartet, oder benutzt den Kommentar-Link unten rechts am Ende des Artikels.

Aktualisierungen

2006-02-02
Erste deutschsprachige Fassung

Voraussetzungen

Auf meinem Mac läuft zurzeit Mac OS X „Tiger“ 10.4.4 mit XCode 2.2. Die Anweisungen gelten aber auch für Mac OS X „Panther“ mit XCode 1.5. Ich habe die X11-Version von Apple installiert (X11User.pkg auf der Betriebssystem-CD/DVD) sowie das X11-SDK (X11SDK.pkg, liegt XCode bei).

OpenCV benötigt einige Werkzeuge und Bibliotheken. Es ist das Einfachste, sie mit Hilfe von Fink zu installieren; jedenfalls benutze ich das (binäre Distribution, Version 0.7.2 unter Panther, 0.8.0 unter Tiger). Ihr müsst die folgenden Pakete installieren (deren Abhängigkeiten Fink automatisch handhabt):

Außerdem braucht ihr FFmpeg, das nicht in Fink enthalten ist (jedenfalls nicht in der stabilen Version). Ihr könnt entweder versuchen, die Version aus dem instabilen Zweig von Fink zu verwenden (habe ich nicht probiert), oder diese Anweisungen befolgen:

  1. Ladet den Quellcode der Version 0.4.9-pre1 von FFmpeg (1.5 MiB) herunter. Ich benutze diese Version, weil ich keine Zeit habe, der CVS-Version zu folgen, in der sich die API so verändern könnte, dass OpenCV nicht mehr funktioniert.
  2. Entpackt das Archive, wechselt auf der Kommandozeile zum Quellverzeichnis und wendet meinen kleinen Patch an (1 KiB, MD5-Prüfsumme: 41b2d644b9d82f38d3a75c88d9054e4b bei der komprimierten Datei, 4be5f172eefd5aa1945a2c35d3cda31f bei der unkomprimierten Datei – ihr müsst die Datei eventuell selber entpacken, wenn der Browser das nicht schon tut):
    patch -p1 < /Pfad/zu/ffmpeg-0.4.9-pre1-macosx.patch
    Ich habe diesen Patch auf Basis des Fink-Patches für 0.4.8 entwickelt; er ist aber weniger umfangreich.
  3. Konfiguriert FFmpeg mit folgendem Befehl:
    ./configure --cc=gcc-3.3 --enable-shared --enable-pthreads --disable-vhook
  4. Kompiliert und installiert es (in /usr/local):
    make
    sudo make install

Dadurch erhaltet ihr eine FFmpeg-Version ohne optionale Fähigkeiten oder Codecs, aber bisher hat das für meine Zwecke ausgereicht.

Ich benutze übrigens keine Kamera und habe keine Ahnung, ob und wie man unter Mac OS X per OpenCV darauf zugreifen kann.

Installation

  1. Ladet den Linux-Quellcode von OpenCV 0.9.7 (10 MiB) herunter, entpackt ihn irgendwohin und wechselt auf der Kommandozeile ins Quellverzeichnis.
  2. Konfiguriert den Quellcode wie folgt:
    ./configure --with-apps CPPFLAGS="-I/sw/include -I/usr/include/malloc" LDFLAGS=-L/sw/lib CC=gcc-3.3 CXX=g++-3.3
  3. Kompiliert den Quellcode und installiert ihn in /usr/local:
    make
    sudo make install
  4. Wenn ihr die mitgelieferten Testprogramme laufen lassen wollt, kompiliert sie mit:
    make check

Schnellstart

Um gleich loszulegen, kompiliert und startet ein Beispielprogramm im Terminal:

  1. Kopiert die Dateien morphology.c und baboon.jpg vom Beispielverzeichnis in euer Heimatverzeichnis:
    cd ~
    cp /usr/local/share/opencv/samples/c/{morphology.c,baboon.jpg} .
  2. Übersetzt den Quellcode:
    g++ -bind_at_load `pkg-config --cflags opencv` morphology.c -o morphology `pkg-config --libs opencv`
  3. Startet X11, wechselt zurück zum Terminal, startet dann das Beispielprogramm und spielt damit:
    ./morphology
  4. Lest zum Einstieg in die OpenCV-Programmierung die (englischsprachige) Dokumentation, angefangen mit der Datei /usr/local/share/opencv/doc/index.htm.

Eigenheiten

IE zu Firefox

Ich habe eine Methode implementiert, Benutzer von IE zum Wechsel zu Firefox zu ermutigen, nach der Beschreibung in Olis Blog.

2006-01-13

Kampf dem Blog-Spam

Ich habe vom writeback-Plugin für Blosxom auf das feedback-Plugin gewechselt. Damit kann ich hoffentlich dem Blog-Spam beikommen.

2005-12-07

Nobel

Ich empfehle mit Nachdruck, Harold Pinters Nobelpreisrede zu lesen: Kunst, Wahrheit & Politik.

2005-10-29

Diplomarbeit

Ach ja, vor knapp zwei Wochen habe ich meine Diplomarbeit abgegeben …

2005-09-05

Animierter Kurzfilm über „Trusted Computing“

Ein früherer Kollege hat einen animierten Kurzfilm (in Englisch) über das so genannte Trusted Computing gemacht. Anschauen – der Film und das Thema verdienen Aufmerksamkeit!

2005-04-13

Kekse!!! Kekse?

Wie herzlos kann man sein? Krümelmonster auf Diät? Wer sagt, dass der Metabolismus von Krümel nicht auf Kekse angewiesen ist?

2005-03-04

Teergehalt

Bei WDR 2 ging es heute um die Verbrennung von geschmuggelten Zigaretten durch den Zoll. Daraus gewinnt man unter anderem „etwas Schlacke für den Straßenbau“.

Mein erster Gedanke: Das ist also mit „Nikotinpflaster“ gemeint …

(Keine Angst. Der Schmerz lässt gleich nach.)

2005-03-03

Phischers Phritz phischt phrische Phische

Ich erhielt heute eine sehr informative Nachricht:

Geehrte Deutsche Bank Abnehmer

Fällig zur letzte Anfälle fort unserer online Bankgeschäft Systeme wir sind dressiert insgesamt Wertpapier Aktualisierung. Bitte einrasten die anbinden beneiden zu Logik nachdein Deutsche Bank online Bankgeschäft abrechnen so wir könnt anreichern es ist Wertpapier.

[Phishing-Link]

Bedauernd als beliebig incovenience dieses hat veranlaßte aber wir sind eben schwierig zu sichern unserer Kunden ab Hochstapelei Versuche.

Rita Weiser
Hochstapelei Hundert

Wenn da ernsthaft jemand glaubt, damit Erfolg zu haben, ist die Welt in einem noch schlechteren Zustand als ich bisher dachte. ;-)

2005-01-13

Du kannst nicht entkommen

Schöne Selbsterkenntnis zum Thema „Gute Vorsätze im neuen Jahr“ heute Morgen auf WDR 2: „Ich habe gemerkt, dass drastische Trennungen von Schokoriegeln einfach nicht möglich sind.“

2004-12-31

Fair geht vor

Microsoft hat jetzt auch die Webseite geändert (zumindest die amerikanische: Bildschirmfoto (JPEG, 111 KB), falls es wieder weg ist). Apples Version gefällt mir nach wie vor besser.

2004-12-30

Apple gegen Microsoft

www.apple.de (Bildschirmfoto (PNG, 110 KB), falls es schon geändert wurde)

www.microsoft.de (kein Bildschirmfoto, weil es nicht besonders zu sehen gibt)

Das sind die kleinen Dinge, die für mich den Unterschied ausmachen …

2004-12-04

“Kundendienst” bei T-Com

Sollte der rosa Riese Mitarbeiter einsparen wollen, sollte er direkt beim E-Mail-Support ansetzen: Ich habe auf mehrere detaillierte Anfragen bisher nur vollkommen nutzlose Standardantworten bekommen. Es geht darum, dass es nun meines Wissens Sache der T-Com ist, meinen Anschluss wieder für DSL freizuschalten, nachdem 1&1 endlich meiner Kündigung stattgegeben hat. Nach eigener Aussage hat 1&1 die T-Com beauftragt, den Anschluss wieder freizugeben. Wenn die Leute von T-Com mir erklären würden, warum sie der Ansicht sind, nicht zuständig zu sein, würde mir das ja schon weiterhelfen, aber nicht einmal das kriegen sie auf die Reihe.

2004-11-09

Firefox 1.0 veröffentlicht

Genug geredet.

2004-11-03

Firefox-Anzeige in einer deutschen Zeitung

Und noch ’ne Spende, diesmal über „Firefox kommt“. Hier wird per Überweisung gespendet; wer also keine Kreditkarte hat und trotzdem was für die Verbreitung von Firefox tun will, hat hier die Gelegenheit.

2004-10-27

Firefox-Anzeige in der New York Times

Ich habe gerade $10 für die Firefox-Anzeige gespendet, die in der New York Times erscheinen wird – über Olis Link, bevor ich gemerkt habe, dass ich mein eigenes Benutzerkonto hätte verwenden und die Bonuspunkte selber hätte abstauben können. Naja, ab und zu kann ich es mir erlauben, aus Versehen altruistisch zu sein statt absichtlich. ;-)

2004-10-24

Warum einfach, wenn’s auch umständlich geht?

Gerade wollte ich mich bei audible.de eintragen, um eine Nachricht zu bekommen, sobald das Angebot an den Start geht. Zurzeit wird man da auf eine Ankündigungsseite geleitet. Eigentlich eine einfache Seite, die aber schonmal kein gültiges HTML verwendet. Die Krönung ist aber das Formular für die E-Mail-Adresse (auf das ein Link mit dem aussagekräftigen Text „hier“ verweist): Wie kann man so eine einfache Sache so verhauen? Das Ding funktioniert nur mit JavaScript, in Camino kann man nicht per Tab von Feld zu Feld springen und Zeichen löschen geht auch nicht. Oh, Moment, das geht nur in den Feldern für Name und Vorname nicht. Wahrscheinlich weil eine übereifrige Validierungsfunktion nur Klein- und Großbuchstaben zulässt. Geld haben sie auch noch dafür bezahlt – verbrochen hat das die Firma Quask.

Ich habe mich trotz allem registriert, habe aber im Feld für Anregungen meine Kritik hinterlassen:

Ich interessiere mich sehr für das zukünftige Angebot von audible.de. Leider wirkt die technische Umsetzung ihrer Ankündigungsseite und dieses Formulars unprofessionell. Die Ankündigungsseite ist in ungültigem HTML geschrieben. Die Formularfelder „Name“ und „Vorname“ lassen nur die Eingabe von Groß- und Kleinbuchstaben zu - die Korrektur mittels der Löschen-Taste ist damit ebensowenig möglich wie die Verwendung der Tab-Taste, um zum nächsten Feld zu springen. Desweiteren ist das Formular nur mit eingeschaltetem JavaScript zu verwenden, was Sicherheitsbedenken hervorruft. Ich hoffe, dass der zukünftige WWW-Auftritt von audible.de solche Fehler vermeidet.

2004-10-23

Erste Rezension bei Amazon

Meine Rezension des Spiels „Ohne Furcht und Adel“ ist jetzt bei Amazon zu sehen. Nun kann es ja bis zu den Top 1000 nicht mehr weit sein. ;-)

2004-10-13

2 und 2

Langsam reicht’s. Die Firma, deren Namen man erhält, indem man von den Ziffern in der Überschrift je 1 abzieht, schickt mir heute zwei E-Mails (im Abstand von 5 Sekunden), die sich für eine angebliche Bestellung bedanken. Selbstredend habe ich gar nichts bestellt – warum sollte ich auch, wo sie ja nicht mal meine erste und einzige Bestellung korrekt abwickeln konnten. Ich will doch nur meine Kündigung bestätigt kriegen und dann nie mehr was mit denen zu tun haben … Welcher DSL-Anbieter ist überhaupt empfehlenswert, was den Kundendienst angeht?

Update: Jetzt schicken sie mir auch noch eine Rechnung über die Grundgebühren, als ob nichts wäre! Aaaaaaaaaaaaaaaaah! Bin mal gespannt, ob sie auch noch die Unverfrorenheit besitzen, den Betrag abzubuchen. Schließlich habe ich ihnen längst die Einzugsermächtigung entzogen, per Einschreiben mit Rückschein versteht sich. Langsam werde ich doch ein Fall für die c’t-Rubrik „Vorsicht Kunde!“ (ganz zu schweigen von der Klapsmühle – oder besser noch, ich ziehe zu Wonko dem Verständigen).

2004-10-12

Duschen am Morgen …

… bringt Kummer und Sorgen. Jedenfalls wenn man nachträglich feststellt, dass man das Badetuch vergessen hat und sich mit dem kleinen Handtuch abtrocknen muss, das am Waschbecken hängt. Seufz. Ich bin wohl immer noch kein Typ, der weiß, wo sein Handtuch ist.

2004-10-09

Häh?

Muss ich diese Meldung verstehen? Warum will AOL den hoffnungslos veralteten Internet Explorer so aufmotzen, dass er einem schlecht kopierten Firefox gleicht? Wo sie alle Trümpfe in der Hand hatten? Ich glaube, ich bin zu hoch entwickelt, um mich auf das Niveau herunterdenken zu können …

2004-10-08

Verfickte Fliegen! (2)

Neuigkeiten: Sie bewegen sich doch, aber sehr langsam. Vielleicht Tantra-Sex. Heiße Bilder in Aktion!

Verfickte Fliegen!

Im Ernst! Ich komme gerade an mein Notebook zurück, und da haben zwei Fliegen auf der oberen rechten Ecke des Bildschirms Sex … Scheint nicht so toll zu sein; sie bewegen sich beide nicht.

2004-10-07

Meins & deins

Ich habe vor zwei Monaten einen DSL-Anschluss bestellt, bei der Firma, deren Namen sich auf die Überschrift reimt. Sie hat bisher weder den Auftrag ausgeführt noch meiner inzwischen erfolgten Kündigung entsprochen. Der Kundendienst hat sich mit seiner Vogel-Strauß-Politik auch nicht gerade bei mir beliebt gemacht. Heute erreicht mich eine Mail mit dem Betreff „Zufrieden mit unserem Support?“ … Sehr witzig. Meine Bewertung im angegebenen Formular fiel entsprechend weniger schmeichelhaft aus.

2004-10-01

Mathematiker-Weisheit

φ macht auch Mist!

2004-01-21

Aufwachen!

Zwei sehr coole Wecker (die Seiten sind in englischer Sprache): Ein Puzzle-Wecker (wenn man zu den Leuten gehört, die ihren Wecker im Schlaf abschalten können, was das Ganze nutzlos macht), und ein Sonnenaufgang-Wecker.

2003-11-12

Ich bin kein Vegetarier, aber:

“What is the Meatrix?” (englischsprachiger Flash-Film)

2003-10-08

Klingeling …

Habe gerade einen sehr coolen Klingelton gefunden, offensichtlich für ein neues Mobiltelefon von SonyEricsson: Ring ring ring (MP3)

2003-10-06

Auf die harte Tour

Ich habe gerade einen üblen Bug in einem meiner Java-Projekte gefunden. Ich benutzte einen StringTokenizer, um einen String in eine Liste einzulesen, der aus per Semikolon getrennten Teilstrings bestand:

StringTokenizer tokenizer = new StringTokenizer(tokenString, ";");
List tokens = new ArrayList();
for(int i = 0; i < tokenizer.countTokens(); i++) {
    tokens.add(tokenizer.nextToken().trim());
}

Wer findet den Fehler? Die Methode countTokens gibt nicht etwa die Gesamtanzahl an Tokens zurück. Sie berechnet, wie viele Tokens noch übrig sind, d.h. wie oft man nextToken() noch aufrufen kann, ohne eine Exception zu bekommen! Natürlich war die Liste dadurch nicht vollständig.

Nun bin ich ja ein guter Junge, also hatte ich natürlich einen JUnit-Test für die entsprechende Klasse geschrieben. Der Test prüft unter anderem, ob eine Liste, die ich aus einem wohldefinierten String erstellt habe, mit der Liste übereinstimmt, die von der zu testenden Klasse aus einem externen String erstellt wird. Und natürlich hatte ich eine ähnliche Schleife benutzt …

Und die Moral von der Geschicht': Schreibt Unit-Tests, aber vertraut ihnen nicht blind. Denn jemand muss auch die Kontrollinstanz kontrollieren.

Übrigens, die korrekte Schleife sieht so aus:

while(tokenizer.hasMoreTokens()) {
    tokens.add(tokenizer.nextToken().trim());
}

2003-09-15

König der Berge

Mit dem Fahrrad zur Arbeit gefahren. Zum ersten Mal ohne abzusteigen den Berg geschafft. Gefreut.

2003-08-29

Neues Design

Streng genommen ist es natürlich das erste Design, das diesen Namen überhaupt verdient. Ich habe es noch nicht im IE getestet; wahrscheinlich macht der wieder das übliche Chaos.

Randbemerkung: Die Farbe #AA0 sieht auch so aus, wie sie heißt …

2003-06-02

Warum? Warum nicht?

Weblogs sind schwer in Mode. Warum soll ich also nicht auch eins haben? Wo ich doch auf dieses nette Blogging-Tool namens blosxom gestoßen bin … Natürlich muss ich noch an den Templates basteln, damit es nicht ganz so langweilig aussieht.