WordPress, PHP, JavaScript, Web 2.0, Gaming, Fotografie, Piratenpartei, Schießsport, Privates

Dezember, 2009

Per RegEx geraden und ungeraden Tabellen-Zeilen ensprechende CSS-Klassen zuweisen

Mi 23 Dez. 09 # Permalink

Wer vor dem Problem steht, dass ein Kunde bei einer Web-Anwendung unbedingt Tabellen-Zeilen mit wechselnden Farben je gerader und ungerader Zeile wünscht und dafür ca. 200 Kilobyte Quellcode überarbeiten müsste, der kann es sich ein wenig vereinfachen, wenn folgender Code vor der Ausgabe auf den auszugebenden Inhalt angewendet wird. Weiterlesen…

Twempy der Twitter Bot: Source Code Release 0.2a

Fr 18 Dez. 09 # Permalink

Ich habe mir mal kurz die Zeit genommen, die Quellen und die aktuelle Datenbank von Twempy zu einem Release zu verarbeiten. Wer interessiert ist, der kann sich den Bot hier herunterladen: http://www.codemonster.de/source/twempy_0.2a.rar (Lizenz: GPLv3)

Die Installation wird in der Datei INSTALL.txt beschrieben, der Code ist ausreichend kommentiert. *hust*

Es hat sich inzwischen übrigens gezeigt, dass der Bot sehr viele Tweets lernen muss, um wirklich gute Antworten liefern zu können, und auch, dass bestimmte Worte besser nicht mit in die Suche nach einer Antwort mit einbezogen werden können. In einigen Bereichen bringt Twempy bereits jetzt treffende Ergebnisse, doch bis wirklich ein breites Spektrum an Themen abgedeckt werden können, wird vermutlich eine Antwort-Basis von wenigstens 20.000 Tweets oder noch mehr benötigt. Leider stoße ich mit dem Bot bereits jetzt oft an das Rate-Limit der Twitter API, ich muss dem Twitter Team wohl mal eine E-Mail schreiben.

Viel Spaß mit dem Bot. Wer Verbesserungsvorschläge hat, immer her damit!

CODE IS POETRY.

Neue Masche: co.de schreibt per Brief an und versucht überteuerte Subdomains zu verkaufen [Update 2]

Mo 14 Dez. 09 # Permalink

Was für eine Frechheit: Heute hatte ich einen Brief in der Post, Absender war die ominöse Firma co.de, die der Meinung ist, ich müsse ja unbedingt die Domain “das-motorrad-blog.co.de” für 99 € pro Jahr bestellen. Hier der Brief im Wortlaut:

Rechtliche Klärung wegen das-motorrad-blog.co.de

Sehr geehrte Damen und Herren,

wie Sie wissen gibt es in sehr vielen Ländern der Welt Domains mit einem .co. vor dem Ländercode der Domain (z.B. in Großbritannien co.uk). In Kürze wird dies auch in Deutschland möglich sein. Derzeit läuft die Vorvergabe von .co.de-Domains an Markeninhaber zur Vermeidung juristischer Probleme (Sunrise-Phase). Nach dieser Phase steht jedem die Domainendung .co.de für die Registrierung von Domains offen (Landrush-Phase).

Das Sie mit www.das-motorrad-blog.de eine der wichtigsten Seiten im deutschen Markt betreiben, möchten wie Sie mit diesem Schreiben über diese Sunrise-Phase informieren. Sie sind jetzt berechtigt, die Domains das-motorrad-blog.co.de zu bestellen, um Ihre bestehende Präsenz im Internet noch weiter auszubauen. Diese können Sie ganz einfach mit dem rückseitigen Antwortformular per Post oder Fax erledigen. Die Domain das-motorrad-blog.co.de würde mit Ihrer Bestellung zunächst als Weiterleitung auf Ihre bestehende Seite eingerichtet. Zugangsdaten mit denen Sie die Domain auch anders konfigurieren können, senden wir Ihnen umgehend zu.

Bitte antworten Sie uns auch, wenn Sie die Domain nicht registrieren möchten: Wir bieten Ihnen gerne an, die Domain das-motorrad-blog.co.de kostenlos für die Registrierung komplett zu sperren, sofern Sie uns kurz mitteilen, auf welcher Markeneintragung Ihre Rechte an “das-motorrad-blog” basieren und bestätigen, dass es Ihres Wissens nach keine anderen Markeninhaber gibt, die “das-motorrad-blog” in anderen Themenbereichen/Markenklassen verwenden dürfen.

Wenn Sie auf dieses Schreiben überhaupt nicht antworten, ist es möglich, dass die Domain das-motorrad-blog.co.de in der Landrushphase durch einen Dritten registriert wird.

Mit freundlichen Grüßen

[eine nicht handschriftlich geschriebene Unterschrift]

Hintergrund ist folgender: Kürzlich war es ja zum ersten Mal möglich, .de-Domains mit nur zwei Buchstaben im Domainnamen zu registrieren. Davor musste der Domainname wenigstens drei Buchstaben umfassen. Diese windige Firma “co.de”, oder genauer “Websuche Search Technology GmbH & Co. KG” hat nun die co.de Domain für einen vermutlich sehr horrenden Preis gekauft und versucht nun mit diesen Briefen ihre überzogen teueren Subdomains an den Mann zu bringen. Wie billig!

Allein der Betreff des Briefes ist eine Frechheit, denn er klingt im ersten Moment nach “Abmahnung”. Vermutlich wird hiermit versucht den Leser ein wenig zu schocken, um auf geistige Verwirrung zu hoffen, die eine Bestellung auslöst. Im Brief wird dann auch noch ein wenig auf das Markenrecht eingegangen, vermutlich um zu verhindern, dass Jemand auf die Idee kommt ebay.co.de zu registrieren, bzw. sich im Falle dessen rechtlich abzusichern. Im Grunde total bescheuert und absolute Verarsche.

Ich bitte darum, dies möglichst publik zu machen, nicht damit irgendein Domainbesitzer noch auf die Idee kommt sich für 99 € (inkl. Mwst) pro Jahr eine Domain an die Backe zu binden. Eine normale .de-Domain kostet immerhin nur ~ 6 € pro Jahr.

[Update]

Bei Heise ist das Thema auch schon angekommen. Also am Besten den Brief sofort in die Tonne und nicht reagieren.

[Update 2]

Folgende E-Mail habe ich soeben an info@co.de geschickt:

Sehr geehrte Damen und Herren,

Sie haben mir heute einen Brief geschrieben, der mich ziemlich verärgert hat. Da taucht bei mir natürlich die Frage auf, woher Sie meine Daten haben, und wie mit meinen persönlichen Daten umgegangen wird.

Deswegen verlange ich hiermit auf Basis von § 34 BDSG (siehe: http://dejure.org/gesetze/BDSG/34.html) Auskunft über folgende Sachverhalte:

1. Welche Daten werden über meine Person von Ihnen gespeichert?

2. Was ist die Herkunft dieser Daten?

3. Zu welchem Zweck werden diese Daten gespeichert?

4. An wen werden oder wurden diese Daten weitergegeben?

Sollten Sie meiner Anfrage nicht entsprechend Bundesdatenschutzgesetz nachkommen, behalte ich mir rechtliche Schritte gegen Sie vor und werde zudem den Datenschutzbeauftragten Ihres Landes von Ihrem Tun in Kenntnis setzen und die Bundesnetzagentur informieren.

Desweiteren verfüge ich, dass meine Daten umgehend zu löschen sind und ich von Ihnen nicht weiter durch Kontaktversuche belästigt werde, außer die Kontaktversuche betreffen diese E-Mail.

Mit freundlichen Grüßen,

Marc Schieferdecker
Autor von: das-motorrad-blog.de, thegeek.de, patchwork-family-blog.de

Das gleiche Verfahren empfehle ich jedem Betroffenen. Es ist euer Recht! Nehmt es wahr!

Twempy der twitternde Software Roboter

Sa 12 Dez. 09 # Permalink

Ich habe meine Idee, ein selbstständig twitterndes Programm zu schreiben, nun weitgehend in die Tat umgesetzt. Twempy arbeitet im Augenblick an seiner Antwort-Datenbank, antwortet aber bereits auf Anfragen, gibt gelegentlich seinen Status bekannt und twittert sogar manchmal seine Gedanken und Gefühle. ;-)
Die Qualität der Antworten lässt im Moment teilweise noch etwas zu wünschen übrig, da die Datenbank der Antworten erst rund 220 Einträge umfasst, aber in der Stunde kommen im Schnitt 20 bis 30 neue Antworten hinzu.

Und so funktioniert es: Twempy sucht alle 5 Minuten nach Tweets mit bestimmten Schlüsselwörtern wie “und, er, sie, das, …”. Findet er einen passenden Tweet, ermittelt der Bot, ob es eine Antwort auf einen anderen Tweet war. Ist dies der Fall wird die Ursprungnachricht geladen und die Wörter extrahiert. Die Wörter werden danach verknüfpt mit dem Antwort-Tweet in einer Datenbank gespeichert. So bildet sich eine Relation von Wörtern zu tweets. Das schöne dabei ist, das Twempy im Grunde jetzt Sprache lernen kann, denn seine Datenbasis wird nicht durch den Programmierer beeinflusst, sondern ausschließlich aus echten Konversationen gebildet.

Erhält Twempy eine @reply (mention), extrahiert er die Wörter und schlägt in der Datenbank nach, welche Antworten passen könnten. Gibt es mehrere gleichwertige Antwortmöglichkeiten, wird zufällig eine mögliche Antwort ausgewählt und getwittert. Ich hoffe, dass die Qualität der Antworten mit wachsender Datenbank besser wird.

Ein weiteres nettes Feature ist, dass beim Lernen die Tweets, die nicht an einen anderen Twitter-Account gerichtet waren ebenfalls in der Datenbank gespeichert werden. Von Zeit zu Zeit twittert Twempy zufällig einen dieser Tweets. Danach wird die Nachricht gelöscht, damit er auf keinen Fall zwei Mal das gleiche sagt.

Offen ist noch, ob ich dieses Verfahren auch auf die Antworten, die der Bot sendet anwenden sollte, so dass auch niemals zwei Mal die gleiche Antwort gesendet werden könnte. Twempy würde seinen Antworten damit wieder verlernen, was aber auch das Risiko birgt, dass er irgendwann keine Antworten mehr parat hat. Da bin ich noch unschlüssig.

Wenn der Quellcode ausgereift ist, werde ich ihn veröffentlichen, aber ich muss noch etwas abwarten. Einige Dinge sind noch unklar, zum Beispiel die Frage, ob die Datenbasis besser wird, wenn nur Anworten gespeichert werden, die einen Ursprungstweet als Auslöser hatten, der nicht selbst ebenfalls eine Antwort auf einen anderen Tweet war. Mir ist nämlich aufgefallen, dass diese mitten aus der Konversation gegriffenen Antworten teilweise in keinem logischn Zusammenhang zu den verwendeten Wörtern stehen.

Es wird noch einige Tests benötigen, warten wir mal ab…

Selbstlernender Chat-Bot mit der Twitter API?

Fr 11 Dez. 09 # Permalink

Ich habe mich schon immer für künstliche Intelligenzen und selbstlernende System interessiert. Die Spielereien mit der Twitter API hat mich nun auf folgende Idee gebracht.

Es ist jetzt erstmal nur ein Gedankenspiel, viel nachgedacht habe ich darüber noch nicht, aber könnte man die Twitter API nicht dazu nutzen einen Chat-Bot zu entwickeln, der aus Konversationen auf Twitter lernt? Nehmen wir doch mal eine wahllos ausgewählte Konversation aus meiner Timeline:

vjstephan: Sich selber mal für ein paar Stunden ohne Internetz und Handy in den Schnittraum einsperren wirkt wahre Wunder. #twitaly
motorradblogger: @vjstephan Oh darf man gespannt sein? #twitaly
vjstephan: @motorradblogger Wieso solltest du gespannt sein? Du warst doch dabei.
motorradblogger: @vjstephan Das ist so lang her. Hab schon wieder alles vergessen. ;-)

Ein Bot könnte über die Twitter API solche Konversationen suchen und bis zum Ursprung zurückverfolgen. Dafür wird in den Tweets extra eine “in reply to” ID gespeichert. Ist der Ursprungstweet gefunden, werden die einzelnen Wörter (ohne Links und Hashtags) herausgeschnitten und in einer Datenbank mit der Antwort (oder den Antworten) auf den Tweet verknüpft. Dieses Verfahren wird auf alle Tweets der Konversation angewendet.

Hat dieser Bot eine große Datenbasis angesammelt, könnte man ihm selbst einen Tweet schicken. Auch hier werden die einzelnen Wörter wieder ausgeschnitten und mit der Datenbank verglichen. Es ergeben sich dann aufgrund der Worthäufigkeit verschiedene Antwortmöglichkeiten, von denen die passenste, oder manchmal auch eine zufällige, als Antwort gesendet wird.

Das System würde von echten Konversationen lernen und möglicherweise würden die Antworten des Bots dadurch auch sehr echt wirken.

Ich werde das am Wochenende mal ausprobieren. Mal sehen was daraus wird. Vielleicht knackt so ein Bot ja endlich den Turing Test. ;-)

Einen Account und einen Namen hat der Bot jedenfalls schonmal: http://twitter.com/twempy