nasauber.de

Blog: Einträge 25.01–25.03.2006

Laaangweilig

Ich glaube, ich habe mir im letzten halben Jahr, in dem ich auf's Physikum gelernt habe, nichts sehnlicher gewünscht, als daß mir mal wieder langweilig ist. So richtig. Tja … Physikum ist (endlich!!!) vorbei, und jetzt kommt es ab und an tatsächlich vor, daß mir langweilig ist. Und was soll ich sagen? Langeweile nervt. Also sucht man sich doch einfach mal was, was man tun kann.

Was ich schon lang machen wollte: das Menüsystem meiner Homepage mal ordentlich schreiben. Das stammt noch aus der Zeit, als ich abi2002amschiller.de gemacht habe. Und da hatte ich – milde gesagt – nur grundlegende Programmierkenntnisse. Also los! Okay … einen Nachmittag später war der Zauber vorbei und das neue Menüsystem fertig. Sieht genauso aus, wie das alte, aber jetzt isses schön geschrieben. Ist doch toll, oder?
Also, was jetzt? Die Fachschaftshomepage will doch schon lang mal überarbeitet werden und vor allem mal aufgeräumt. Also: neues Menüsystem eingebaut, alles neu strukturiert. Da wäre auch noch viel zu tun … aber irgendwie hab ich keine Lust.

Langeweile macht träge. Ich wollte auch schon lang mal den Bauplan und Fotos vom Bau meines Liegefahrrads online stellen. Oder überhaupt mal ein paar Informationen über mich – für die, die's interessiert. Wenn's denn einen interessiert ;-)

Naja, immerhin hab ich ja noch 4 Wochen Zeit, bevor die Klinik losgeht. Und da wird schon noch ein bißchen was werden. Und vielleicht auch das eine oder andere, was jetzt nichts mit Computer-Kram zu tun hat ;-)


bayes-php

Gesagt, getan: nachdem ich meinen Bayes-Filter in php geschrieben und einige Zeit getestet habe, stelle ich ihn jetzt der Allgemeinheit zur Verfügung. Dem ganzen habe ich den höchst kreativen Namen „bayes-php“ gegeben, das Programm steht ab jetzt zum Download bereit.

Standardmäßig benutzt bayes-php eine BerkeleyDB, um die statistischen Daten der gelernten Texte zu speichern. Falls diese nicht verfügbar sein sollte, kann alternativ auch eine MySQL-Tabelle benutzt werden.

Nach ca. 100 gelernten Spam-Einträgen schätzt der Filter so gut wie alle Spam-Texte, die ich ihm anbiete, mit 90 % Wahrscheinlichkeit oder mehr als Spam ein. Den Rest meist mit zumindest mehr als 70–80 %. Wo man die Grenze setzt, ab wann ein Eintrag als Spam gehandhabt wird, bleibt jedem selbst überlassen.

Also auf jeden Fall viel Spaß damit! Ich würde mich freuen, wenn jemand den Filter benutzen und mir evtl. auch Feedback bezüglich der Leistungsfähigkeit zukommen lassen würde :-)


Thomas Bayes [Update]

… so heißt der nette Mathematiker, der das nach ihm benannte Bayessche Theorem über bedingte Wahrscheinlichkeit aufgestellt hat. Gut so! Weil das ist die Grundlage für die Textkategorisierung aufgrund statistischer Daten der Bayes-Filter, die (z. B. in Thunderbird, Spamassassin oder Bogofilter) zur Identifizierung und Bekämpfung von Spam eingesetzt.

Bedingt dadurch, daß in letzter Zeit einige meiner Bekannten bzw. Betreiber von Seiten, die ich öfters besuche, ihr Gästebuch geschlossen haben, weil es von Spam überschwemmt wird, hab ich mir gedacht, daß es vielleicht nicht dumm wäre, vorzusorgen.
Auf der französischsprachigen Seite http://www.xhtml.net/ habe ich dann nach kurzem Suchen eine php-Implementation eines Bayes-Filters gefunden: den PHP Naive Bayesian Filter. Das Programm schien mir ein bißchen „zu“ objektorientiert und komplex zu sein, aber nach ein paar Änderungen ist der Quellcode dann doch kleiner und übersichtlicher geworden. Jetzt läuft das ganze erstmal auf meinem lokalen Server zum Testen. Das einzige, was ich jetzt noch brauche, sind Spameinträge ;-)
Die ersten Versuche sehen sehr vielversprechend aus. Sollte mein Gästebuch oder Weblog also demnächst auch zugespammt werden, könnte es passieren, daß ein Bot (oder sonstwer) statt eines „Eintrag gespeichert“ ein „Mein Bayes-Filter denkt, daß dieser Eintrag Spam ist, deswegen wird er nicht sofort gespeichert. Sollte dem nicht so sein, wird der Eintrag nachträglich veröffentlicht.“ zu sehen bekommt.

Naja, warten wir's mal ab!

Update:

Das Script hat mir doch nicht so gefallen, bzw. es hat doch nicht so gut funktioniert, wie ich mir das vorgestellt hatte. Also hab ich kurzerhand meinen eigenen Bayes-Filter geschrieben. Viel kleiner und übersichtlicher – und vor allem mit einer BerkeleyDB statt MySQL als Datenbank. Ob's funktioniert, wird man sehen …
Die ersten (Test-)Ergebnisse machen auf jeden Fall einen guten Eindruck und liefern bessere Ergebnisse, als es PHPNaiveBayesian getan hat. Wenn ich das ganze noch etwas getestet habe, dann werde ich den Filter auch hier veröffentlichen. Ich denke mal, es besteht einiger Bedarf an einem kleinen, effektiven Bayes-Filter, der in php geschrieben ist ;-)


Opera Mini

Endlich gibt es jetzt für alle Leute, die von der Gesellschaft ausgeschlossen und geächtet werden, keine Freunde und Bekannte haben, keine neuen Kontakte zu anderen knüpfen können und nie in ihrem kümmerlichen, bedauernswerten Leben an Frauen kommen werden, weil sie im Café nicht mit ihrem Web-'n'-Walk-Handy bei Google nach Soul Melon suchen können, die lang ersehnte Abhilfe: Opera Mini.
Somit sollte es auch Losern (wie mir ;-), die immer noch, in der festen Überzeugung, daß ein Handy primär zum Telefonieren gut ist und keine mutimediale Unterhaltungsmaschine für den kommunikationsgestörten Menschen von Heute sein sollte, mit einem Uralt-Handy wie dem Nokia 6610 rumlaufen (wofür man in der Grundschule vermutlich mittlerweile verprügelt wird …), möglich sein, eine Reintegration in die Gesellschaft zu erfahren. Man bedenke: Dieses Handy hat noch nicht einmal eine Kamera! Aber es kann WAP. WAP? Okay, davon hatte ich mal was gehört … also, was soll's, probieren wir die Spielerei halt mal aus.

Die schöne, neue, glitzernde Welt des Internet-überall-Gefühls vor Augen schicke ich also mein Handy auf die oben genannte Adresse. Promt wird mir der Download des 64 KB (!) großen Browsers angeboten. Also gönnen wir uns doch mal den Spaß!

Opera Mini So stellt sich danach das Programm vor. Also: Los geht's!
Der erste Eindruck nach dem Starten ist schonmal gut: sofort sticht einem die Google-Search-Bar ins Auge. Damit man die ganzen bereits nach Karten für Soul Melon lechzenden, zu allem bereiten Frauen auch mit eben solchen beglücken kann, ohne weitere unnötige Klicks machen zu müssen. Also dann!
Wissend, daß ich nicht dringend Karten für Soul Melon brauche, um meine Freundin glücklich zu machen, wird dennoch erstmal die eigene Homepage angeschaut. Also ab zu www.nasauber.de!

Und siehe da: Ich komme, nachdem der Opera-Server sich meine Seite geholt und für die Darstellung auf sagenhaften 128x128 Pixeln aufbereitet hat, tatsächlich auf meiner Startseite raus! Navigieren funktioniert auch, sogar kleine Bilder werden angezeigt:

nasauber.de – Startseite nasauber.de – Startseite weiter unten nasauber.de – Webdesign

Nun gut … was haben wir jetzt daraus gelernt? Ich wurde danach nicht, wie in der Werbung, von einem Duzend mich bewundernder Frauen umringt, und ehrlich gesagt: es war kein Erlebnis, das mein Leben für immer umkrempeln wird. Aber für die 10 Minuten, die es gedauert hat, war es eine nette Spielerei, auch wenn sich die GPRS-Kosten für die paar KB wahrscheinlich auf einen Euro (für im Endeffekt nichts) belaufen werden.
Immerhin kann man aber nun dank Opera also auch mit einem „normalen“ Handy „das ganze Internet“ haben. Ob das in Anbetracht der Eingabemöglichkeit mittels einer T9-Tastatur so eine riesige Freude ist, sei dahingestellt …

Aber vielleicht kann ich ja demnächst einem armen, alleingelassenen Teufel, dessen einzige Chance, noch zum Glück zu finden, die Suche nach Soul Melon bei Google im Café ist, aus der Patsche helfen … ;-)