Wiki Dateisystem
Heute schreibe ich etwas über ein Dateisystem
. Warum? Ganz einfach, mir ist mal wieder etwas bei Plan 9
aufgefallen, und zwar wikifs
. Plan 9 integriert ein Dateisystem mit einer Wiki-Unterstützung. Dadurch lassen sich Wikiseiten entweder über einen Webserver oder innerhalb von Acme
, einem Multiwindow Editor, betrachten und editieren. Der Wikiserver bindet beim Starten wikifs in das Dateisystem ein und verwaltet die einzelnen Wikiseiten, indem eine Historie angelegt wird. Für die Browser-Darstellung werden zusätzliche HTML
Seiten angelegt.
... für Linux
gibt es Wily
als "Acme-Ersatz". Einen wikifs-Ersatz habe ich leider nicht gefunden.
Was ist Dynix?
Letzte Woche hat Golem
in einem Artikel (Kleiner Erfolg für SCO im Streit mit IBM
) darüber berichtet, dass SCO das Verfahren gegen IBM weiter verzögern darf. Erreicht wird dies dadurch, dass "IBM ... alle Versionen und Veränderungen an AIX und Dynix vorlegen" muss.
Der Name AIX
ist im Zusammenhang von SCO gegen den Rest der Welt
des öffteren erwähnt worden. Während DYNIX
mir bisher noch nicht über den Weg gelaufen ist. Aus diesem Grund wollte ich doch mal wissen, was das eigentlich ist und bei dieser Gelegenheit gleich ein bischen Symantik zum UNIX Betriebssystem
sammeln.
DYNIX
ist ein Betriebssstem, das 1984 von der Firma Sequent Computer Systems
entwickelt wurde und auf BSD Unix
(4.2BSD
) basiert. 1993 wurde DYNIX
durch DYNIX/ptx
ersetzt. Unix System V Release 4
beeinflusste diese Version.
Sequent Computer Systems
war (unter anderem mit AT&T
) einer der Vorreiter von SMP
und wurde 1999 von IBM
übernommen. Wenn ich das richtig verstanden habe, dann soll es bei der Geschichte SCO vs. IBM
zum Teil genau um diesen SMP
Code gehen. Dieser ist angeblich über Unix System V
nach DYNIX/ptx
und von IBM
in Linux
gewandert? Um aber dieses Thema detailiert und semantisch auseinander zu nehmen könnte man sich und einen eigenen Blog beschäftigen.
Google gegen Kommentarspam
Google
berücksichtig bei Links das rel Attribut. Kommentarspammer
können zwar fleißig weiter spammen, Google wird aber diese Links ausfiltern. Um dies zu realisieren muss die BlogSoftware
einfach nur das rel Attribut mit einem nofollow hinzufügen.
Für meine Idee mit der Black-Gray-White-Liste würden dann alle "grauen" Links ein rel bekommen. Die Links auf der weißen Liste sind sauber, und die schwarzen werden geblockt. Dadurch könnte ich den umständlichen Weg über einen Button umgegehn.
Den Google Anti-Kommentarspam
Artikel habe ich bei Golem
(Google: Neues Tag gegen Spam
) gefunden.
SBlog23 mit Tags
Bei Moe
habe ich im PlasticWiki
gelesen (PlasticWiki:TagBlogs
), dass TagBlogs
dieses Jahr megatrendig werden sollen. Da nur in Blogs gelogen wird, glaub ich natürlich alles was in Wikis steht und habe sBlog23
mit Tags
ausgerüstet. Beim betrachten der Liste sieht man, wenn hätte es gewundert, dass sBlog23
mit fünf Einträgen - ich korriere, da dieser hier noch nicht dazu gezählt wurde: sechs Einträgen - führt. Ich glaub, dass sBlog23
als einziges die Anzahl der Einträge als Title anzeigt (ist das vielleicht patentiert und deshalb machen es die anderen nicht?).
Über die gewichteten Stichwortlisten schreibt zum einen pixelgraphix
: Worum geht es wirklich?
... und Moe
selber schreibt auch über Tags: Technorati goes tagging
Die großen Vorbilder sind technorati/tags
, flickr/tags
und del.icio.us/tag
.
ATI Proprietary Linux x86 Driver
Wahnsinn, ATI
hat es wirklich dieses Jahr geschafft einen Treiber für X.Org
rauszubringen. Eigentlich hätte dieser schon letztes Jahr / letzte Woche der Weltöffentlichkeit präsentiert werden soll: ATI Linux x86 Treiber für X.Org
Titan in Farbe
Während die Welt das erste Bilder vom Saturn-Mond Titan
in Schwarz-Weiß betrachtet, habe ich, um die Bildanzeige von sBlog23
zu testen, das Bild genommen und mit Gimp
bearbeitet. Hierzu habe ich den Filter Alien Map 2
(wie passend) benutzt:
... Titan Fakten
gibt es auch.
Spam zieht Spam an
Über status404
habe ich den Artikel Spam breeds more spam
gefunden. Dort schreibt Kasia Trapszo
, dass sie bei zwei Kommentaren den Kommentarspam nicht entfernt hatte und keine 24 Stunden später hatte sie dann 356 neue Spameinträge. Die nicht entfernten Spameinträge wurden über Google
gefunden, indem nach einer bereits gespammten URL
gesucht wurde.
Was lernen wir daraus? Die Kommentare sollten auf einer eigenen Seite stehen. Am besten in einem Unterverzeichnis. Durch einen Eintrag in der robots.txt
kann man dieses Verzeichnis für die Suchmaschinen ausschließen.
... ob der Umkehrschluß vielleicht auch möglich ist? Verkriecht sich der Spammer, wenn er seine URL nicht findet?
Weitere Tipps gegen Kommentarspam
pixelgraphix
gibt Tipps zum Kampf gegen Kommentarspam
. Dabei wird auf das Six Apart
Dokument Six Apart Guide to Comment Spam
verwiesen. In diesem wird der JavaScript
Mechanismus gegen Kommentarspam (Kommentarspammer laufen hinter her) als Form Obfuscation
bezeichnet. Dies fällt unter die Bezeichnung security through obscurity
. Dazu gehört auch die Umbenennung der Kommentardatei oder das Hinzufügen und Verändern von ein paar Eingabefeldern. Ebenso könnte man das Anpingen an weblogs.com and blo.gs unterlassen, da vermutet wird, dass Spambots dadurch angelockt werden.
Ein Turing Test
ist eine weitere Möglichkeit, um den Spambots das Leben schwer zu machen. Es werden Aufgaben gestellt, die der Mensch zu meist einfach lösen kann, eine Maschine (z.B. Spambot) jedoch so gut wie nicht. Hierzu gehören einfache Fragen, wie zum Beispiel den Nachnamen des Autors zu nennen. Der CAPTCHA
Mechanismus, bei dem ein (sehender) Mensch Bilder erkennen muss, auf denen Zahlen und Buchstaben stehen, ist auch ein Turing Test
.
Die Idee hinter der Authentifizierung und Identifizierung ist es, dem Spammer die Anonymität zu nehmen. Im Six Apart Guide to Comment Spam
Dokument werden hierfür TypeKey
und Tiny Orwell
erwähnt, die ich aber nicht näher betrachtet habe.
Durch das Content Filtering
wird versucht den Spam anhand des Inhalts zu identifizieren. Sei es anhand der URL
, wie das Blacklist
Plugin oder anhand der DNS
beim DSBL
Plugin oder durch Bayesian, wie es bereits bei den Emails benutzt wird.
Als letzte Möglichkeit (im Dokument) wird auf das Throttling eingegangen. Bei diesem werden nur eine bestimmte Anzahl an Kommentaren pro Stunde und Tag erlaubt. Danach werden keine weiteren Kommentare zugelassen.
Welche Konsequenzen für sBlog23
ziehe ich nun aus diesem Dokument? Pingen kann ich zwar noch nicht, jedoch wird diese auch Spambots nicht abhalten. Eine Suche bei Google
nach "Blog" wird genügend Futter liefern. Einen Turing Test
, insbesondere CAPTCHA
lehne ich ab, da hier Menschen mit einer Sehschwäche benachteiligt werden. Bei der Authentifizierung und Identifizierung sehe ich den Aufwand für einen kleinen Kommentar als zu übertrieben an. Throttling hingegen wird dann zuschlagen, wenn mehrere Leute mal etwas kommentieren wollen, wobei dies aus der bisherigen Erfahrung dann sein wird, wenn zwei Leute am Tag kommentieren (mehr waren es bisher nicht).
Bleibt nur noch das Content Filtering
. Beim bisherigen Movabletype
Blog hat dies aber dazu geführt, dass ich alles gefiltert habe und letzten Endes die Kommentardatei nicht nur umbenannt, sondern gelöscht habe. Dadurch wurde das Leben langweilig, ich hatte nichts mehr zu tun und beschäftigte mich mit der Entwicklung von sBlog23
:)
Die Unterscheidung beim Blacklist
Plugin sehe ich als zu sehr "schwarz-weiß" an. Meine Idee liegt darin, eine Grauzone einzuführen. Gewisse Wörter und URLs landen automatisch in einer Schwarzenliste, während bestimmt URLs in einer Weißenliste stehen. Die URLs mit den schwarzen Wörtern werden gefiltert und aussortiert. Die mit den weißen Wörtern können ohne Probleme angezeigt werden. URLs die von keinem abgedeckt werden, befinden sich in einer Grauzone. Sie werden als Buttons angezeigt, deren Beschriftung nichts sagen ist, wie zum Beispiel "Link", und deren URL als md5
verschlüsselte ID an ein Skript übergeben wird. Das serverseitige Skript wird durch das Drücken des Buttons aufgerufen, sucht die URL anhand von der ID und verweist auf die Seite. Durch diesen Mechanismus wird die URL für die Suchmaschine unbrauchbar und verliert somit ihren Wert. Zusätzlich kann das Skript überprüfen, ob es sich um eine Suchmaschine handelt, die den Link aufrufen möchte. Wobei ich mir nicht sicher bin, ob zum Beispiel Google
ein Formular aufruft. Nachteilig daran ist, dass der Anwender nicht weiss wohin die Reise gehen wird, wenn er den Button drückt. Vielleicht sollte ich deshalb Internet Explorer
benutzer daran hintern, dass sie weitergeleitet werden?
Zum Schluß noch zu erwähnen wäre, dass das Blogsystem Textpattern
bis jetzt von Spambots verschohnt geblieben ist. Ein Grund hierfür könnte die Vorschautechnik sein, bei der erst im zweiten Schritt der Inhalt übernommen wird. Solange Textpattern
nicht so weit verbreitet ist wie Movabletype
und Wordpress
, wird sich keiner die Mühe machen dafür ein Skript für seinen Spambot zu schreiben. Aber natürlich gibt es auch hier Kritiker, die ihre Maustaste unnötig beansprucht sehen.
... und falls man mir etwas dazu sagen will (kommentieren geht ja noch nicht), dann trifft man mich vielleicht im IRC
:
.
Kommentarspammer laufen hinter her
Über status404
(Gestern war ein schwarzer Tag
) habe ich einen Artikel (Die Spam-Rettung?
) gefunden, bei dem der angebliche Killercode gegen Kommentarspam gefunden wurde. Dieser funktioniert, wenn ich das auf die schnelle so richtig verstanden habe, indem beim Abschicken des Formulars JavaScript
eine Funktion aufruft und einen Code übergibt. Die Funktion sucht nach einem Feld mit dem Name hashcash_secret_code. Der übergebene Code wird mit md5
verschlüsselt und als neuer Feldname benutzt. Danach überträgt der Browser die Formulardaten inkl. dem veränderten Feld. Serverseitig wird wahrscheinlich geprüft, ob der Feldname mit dem verschlüsselten Code übereinstimmt.
Dieser Mechanismus funktioniert aber nur deshalb, weil die Benutzer JavaScript aktiviert haben müssen und die Spambots mit JavaScript noch nicht umgehen können. Dies ist aber alles nur eine Frage der Zeit. Sollte dieser Mechanismus sich weit verbreiten, dann lohnt es sich für den Kommentarspammer
seinen Spambot mit einer JavaScript Bibliothek, wie zum Beispiel Rhino
, auszurüsten.
Solange dies eine individuelle Lösung ist und die großen Blogsysteme dies noch nicht standardmäßig anbieten, laufen die Kommentarspammer
erst einmal hinter her.
Das ist das Ende von Trackback
Zu einem Blogsystem, wie zum Beispiel Movabletype
, gehört der Trackback (noch) dazu. Aus diesem Grund wollte ich ihn auch für sBlog23
implementieren. Andereseits erklärt bwolf
mit dem Artikel Groovy Trackback Of Death
, nicht nur mit einfachen Worten (verfasst in Groovy
) wie der Trackback-Mechanismus funktioniert, sondern er zeigt auch wieso "trackbacks are not good for you" sind.
Während man beim Kommentarspam alle möglichen Versuche unternehmen kann, um dem Kommentarspammer
bzw. dem Spambot die Arbeit zu erschweren, sei es mit Capchas oder JavaScript
, lässt sich dies bei Trackbackspam
schlecht realisieren.
Das Problem ist, dass der Trackback-Mechanismus ein automatisierter und vor allem anonymisierter Prozess ist. Bei diesem wird an die Trackback Adresse
neben Titel und Text, auch die angebliche URL
des Blogs geschickt. Ein Spambot würde aber nicht nur eine URL, sondern verschieden URLs übertragen. Sollte das Blogsystem keine einfache Möglichkeit bieten, um den Trackbackspam zu entfernen, so wie bei Drupal
(siehe Groovy Trackback Of Death
), kann dies eine heitere Angelegenheit werden.
Andererseits besteht der Trackback-Mechanismus nicht nur darin Spam zu empfangen, sondern selber anderen Seiten seine Gedanken, Ideen und die URL des Blogeintrags mitzuteilen. Deshalb habe ich schnell die Ping-Funktionalität eingebaut, bevor die Trackbackspammer es schaffen, dass der Trackback im Jahr 2005 stirbt.
... mehr über den Abschied von der freien Kommunikation
schreibt DerJoern, dem ich jetzt erst einmal meinen ersten Trackback schicke.
Reallife Blogsystem?
Vor lauter Semantik und rumgebastel an sBlog23
stellt man bei
doch glatt die Frage, was "reallife für nen blogsystem" ist. Da wir aber nicht im Reallife sind, kommt die Antwort natürlich als URL: Die ultimative ... Antwort!
.
Groovy
Dies ist ein kleines semantisches Beispiel über Groovy
, um dessen sprachlichen Einflüssen aufzuzeigen.
Groovy
ist auf der Homepage folgendermaßen beschrieben: "Groovy is ... combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax."
In den Präsentationsunterlagen zu Groovy (für die OSCON 2004
) ist zu lesen, dass Groovy "Features of Ruby, Python, Dylan
and Smalltalk" benutzt.
Des weiteren baut Groovy auf ASM
auf. "ASM is a Java bytecode manipulation framework
." und "offers similar functionalities as BCEL
or SERP
"
Eine Liste über Skriptsprachen für Java findet sich bei Oreilly im Artikel Groovy, Java's new Scripting Language
von Ian F. Darwin
. Er schreibt folgendes über die JavaSkriptsprachen: "We already have, after all, JavaScript
and Rhino
, Jython, Jelly, BeanShell, JRuby, Tcl/Java
, Sleep, ObjectScript, Pnuts, Judoscript, the Bean Scripting Framework
(BSF
)--which gives access to Perl, TK/Tcl
, and more--and many others. But other developers have been hoping for a scripting language with the power of Perl, Python, or Ruby but without having to re-learn everything from the ground up."
Mittlerweile ist auch schon die Beta 8 von Groovy
erschienen, wie es bereits bwolf
gebloggt (Groovy 1.0 beta 8
) hat.
... und bei Langreiter
wurde kürzlich (2004-12-21
) Dylan
erwähnt.