Update auf Debian

Während die meisten Kubuntu Nutzer gerade ihr Upgrade auf Karmic machen, bin ich nach vier Jahren Kubuntu auf Debian Squeeze/Sid (und teilweise Experimental) gewechselt. Die Gründe hab ich eigentlich schon mal ausführlich hier aufgeführt. Um sie noch mal kurz zusammenzufassen:

  • Übersetzungen: ich weiß, dass es diesmal besser ist, dennoch war mit den 4.3 Paketen für Jaunty endgültig die Schmerzgrenze überschritten. Auch musste ich sehen, dass sämtliche Kubuntu Anpassungen, wie das Notify-OSD, nicht übersetzt sind. Ein Problempunkt auf den ich den zuständigen Entwickler vor mehr als einem Monat aufmerksam gemacht hatte, dass das passieren wird.
  • Ayatana: mich stören ganz stark die Anpassungen von Canonical an KDE. Es ist Canonicals gutes Recht ein neues Benachrichtigungssystem zu entwickeln und dies ohne Community Mitarbeit zu machen. Dies dann aber teilweise an die Nutzer auszuliefern (wie den MessageIndicator) finde ich aber nicht gut und das ist nichts was ich noch nutzen will (vor allem mit obigen Punkt). Hinzu kommt, dass der MessageIndicator als Plasmoid meiner Meinung nach völlig falsch implementiert ist (auch darauf hab ich den Entwickler hingewiesen). Dass man dies besser hätte mit KStatusNotifierItem umsetzen können, wurde diese Woche erneut auf den Mailinglisten diskutiert. Scheine hier also nicht ganz alleine mit meiner Meinung zu sein ;-)
  • Plasma Netbook Shell: Kubuntu liefert in Karmic eine “technical Preview” der mit KDE 4.4 kommenden Plasma Netbook Shell aus. Dies ist aktuell pre-alpha und benötigt an vielen Stellen KDE 4.4 und ist daher nicht das was aktuell in trunk ist. Auch hier ist es wieder Canonicals gutes Recht das zu tun, aber ich denke nach dem 4.0 Debakel, an dem Distributionen nicht ganz unschuldig waren, hätte man so etwas besser sein lassen sollen. Wie man darauf 18 Monate Support geben soll, ist mir unklar. Aussagen wie “This is a supported release just like Kubuntu or Ubuntu” macht mir in dem Zusammenhang Angst für den allgmeinen Fall.

Interessant ist, dass ich zwei mal bisher die Distribution gewechselt habe und beide Male nicht ein Vorteil der neuen Distribution der ausschlaggebende Faktor war, sondern eher die Unzufriedenheit mit der zuvor verwendeten. Das letzte Mal war es SUSE und ich war nicht wirklich mit YAST und RPM zufrieden.

Die Debian Installation hatte mehr Probleme verursacht als ich erwartet hatte. Mein Testsystem funktionierte einwandfrei. Jedoch hatte ich nicht mehr an die Probleme mit EFI auf dem MacBook gedacht und konnte dann das System nicht starten. Erst nachdem ich mehrmals erfolglos war, kam ich auf die Idee mal im Internet zu schauen ;-) Danach funktionierte dann GRUB, nur um beim Update auf testing (hab mit einer Lenny CD installiert) erneut vor einem nicht bootenden System zu stehen wegen dem Update auf GRUB2. Da ich mittlerweile angenervt war und keine Lust hatte mich mit GRUB2 auseinanderzusetzen, wurde wieder grub-legacy installiert und System läuft wieder.

Nun konnte endlich auch mal eine grafische Oberfläche installiert werden und hab prompt vergessen apt-pinning einzurichten und hab nun mehr sid als squeeze. Da ich mittlerweile sehr angenervt war, bleibt es nun dabei ;-)

In KDE selbst, gibt es wie bei Debian nicht anders zu erwarten keine negativen Erfahrungen. Nein ich bin sogar positiv – sehr positiv – überrascht. Die KWin Effekte fliegen geradezu. Ich hab es selten so flüssig erlebt. Ich weiß nicht ob das bei Karmic nun auch der Fall wäre aber es ist sehr angenehm. Selbst unter den harten Belastungen wie ich kompiliere gerade mal KDE und benutze den Würfel zum Wechseln der Arbeitsfläche treten keine Ruckler auf. Das ganze System fühlt sich viel reaktiver an und ich frage mich zum ersten Mal ob an dem ganzen “KDE ist in Kubuntu langsam” doch was dran ist. Nun mal abwarten wie das aussieht, wenn der Rechner ein paar Tage Uptime hat mit Kdevelop & Co. ständig geöffnet.

Die nächste unangenehme Überraschung trat am Folgetag (gestern) auf. Wegen Bauarbeiten in meinem Zimmer (neue Fenster) musste ich mit meinem Rechner umziehen nur um feststellen zu müssen, dass ich noch keine WLAN Treiber installiert hatte. Wie sich später rausstellte, ist dieser proprietär (also nicht überraschend). Ich wollte eigentlich an meinem “geheimen” Programmierprojekt arbeiten, aber zum Kompilieren von kdepimlibs fehlte mir noch ein Paket, daher können sich jetzt die KDE Nutzer freuen, denn ich hab mal wieder einen halben Tag KWin Bugs behoben – dank git und meinem guten Gedächtnis geht das auch ohne Internet. Und da ich dabei war, hab ich heute gleich weiter gearbeitet und es gibt nun einen schnellen Fenstervergrößerungsmodus (wie in Compiz) und ein MacOS like Alt+Tab (nur Anwendungen).

Mittlerweile ist das System ganz gut aufgesetz. Alles wichtige ist installiert. Leider musste ich häufiger zum selbst Handanlegen wechseln als mir Recht war. Da hat der Pragmatismus von Ubuntu zu proprietären Treibern doch Vorteile. (Ich muss unbedingt alle Treiber sammeln, damit ich nicht ohne X dastehe, beim nächsten Kernelupdate). Das einzige was mich aktuell stört, ist, dass ich den Bildschirm in der Helligkeit nicht verstellen kann. Unter Ubuntu ging das. Muss ich mich mal genauer auf die Suche des Problems machen. Der Treiber ist eigentlich im Kernel vorhanden.

=-=-=-=-=
Powered by Blogilo

Wikipedia im Vergleich zum Ubuntuusers Wiki

Die aktuelle von Fefe angestossene Diskussion zur Lösch(un)praktik der Wikipedia ist für mich mal ein Grund die Wikipedia mit dem Wiki von Ubuntuusers zu vergleichen. Ich denke bei der Wikipedia – zumindest der Deutschen – läuft seit einiger Zeit einiges falsch. Es ist ja nicht die erste Löschdiskussion und gerade die “Relevanzkriterien” sind bei mir schon öfter mal sauer aufgestossen. Mittlerweile schaue ich bei jedem Artikel auch auf die Englische Wikipedia. Zum Vergleich: wenn ich ein Linux “Problem” habe, ist meine erste Anlaufstelle das Ubuntuusers Wiki und erst wenn ich dort nicht fündig werde, gehe ich zur Suchmaschine.

Nun lässt sich überhaupt die Wikipedia mit dem uu Wiki vergleichen? Auf den ersten Blick nein. Die Wikipedia ist eine Enzyklopädie, das uu Wiki ist eine kleine Sammlung von technischen Artikeln. Jedoch gibt es große Übereinstimmungen:

  • Beides sind Wikis
  • Beide leben vom Mitmachen der Leute
  • Beide sind freie Projekte
  • Beide haben eine selbstgeschriebene Softwarelösung
  • Beide sind in ihrem Umfeld die Nummer 1 in Deutschland
  • Bei beiden gibt es eine Gruppe Ausgewählter, die das letzte Wort haben

Ich denke bei Ubuntuusers läuft es besser. Aber warum? Ich sehe da zwei Gründe:

  1. MediaWiki eignet sich nicht zur Diskussion
  2. Ubuntuusers hat das Baustellen Konzept

Die Diskussion bei der Wikipedia erfolgt im Rahmen der Möglichkeiten von MediaWiki und das ist ein Wiki. Es gibt daher zu jedem Artikel einen Anhang als Diskussion, welcher wiederum eine Wiki Seite ist. Ein Wiki ist aber kein Diskussionsmedium. Schaut man sich die aktuell so schönen öffentlichen Diskussionen an, sieht man, dass man mit einer Wiki Seite keine sinnvolle Diskussion erreichen kann.

Ubuntuusers verwendet zur Diskussion verknüpfte Forenthreads. Ein Forum ist ein Diskussionsmedium und bietet damit eine gute Grundlage um konstruktiv und sinnvoll zu diskutieren. In einem Forum sieht man sofort wer wo wann gepostet hat, es steht nicht alles untereinander, sondern ist sinnvoll strukturiert. Man sieht bei ubuntuusers sofort ob der Schreiber gerade eine Wikimoderator, Supporter, ehemaliger oder sonstwas ist. Dazu gibt es noch den Postcounter und das Anmeldedatum, die angezeigt werden. Klar nicht wirklich aussagekräftig, aber es hilft doch die Sockenpuppen aufzudecken. Gäbe es bei uns eine Diskussion wie die zum Löschantrag von Fefes Blog würde sofort auffallen, dass es Sockenpuppen sind und wir könnten mit den Forenmoderatoren zusammen eine gute Reaktion ausarbeiten.

Den zweiten Vorteil von Ubuntuusers ist das Baustellenkonzept. D.h. neue Artikel können nicht direkt im Wiki angelegt werden, sondern nur in der Baustelle. Das ist bei einem technischen Forum essentiell wichtig, da nur so sichergestellt werden kann, dass keine fehlerhaften oder gefährliche Anleitungen ins Wiki eingebaut werden. Für den Schreiber hat es auch den Vorteil, dass er sich erst mal austoben kann und erst wenn er fertig ist, sich den Moderatoren stellen muss ;-) Ich denke dieses Konzept wäre auch für die Wikipedia nützlich. Der aktuelle Fall zeigt es ja wieder: würde zuerst der Artikel komplett erarbeitet werden inklusive der Relevanzbeweise, dann hätte man nicht schon nach wenigen Minuten eine Löschdiskussion. Größere Überarbeitungen werden übrigens auch nur in der Baustelle vorgenommen und solange wird der eigentliche Artikel gesperrt. Das hat den Vorteil für den Schreiber, dass er sich austoben kann und auch den kompletten Artikel erst mal kaputt machen kann und für den Wikimod, der die Änderungen korrigiert (vielen Dank an der Stelle noch mal an das Webteam für den RSS Fead – dafür gibt’s ein Bier beim nächsten Teamtreffen), dass er diese Änderungen erst mal ignorieren kann. Wäre für die Wikipedia auch interessant.

Nun klingt das alles ja ganz toll, aber woher soll man nun wissen, dass es wirklich besser ist? Dazu möchte ich einfach mal anmerken, dass wir in den etwa 1,5 Jahren, die ich im Wikiteam nun bin, keine einzige Seite sperren mussten wegen einem Editwars. Wir haben auch meines Wissens nach noch nie einen User sperren müssen. Gut wir zwingen die Anmeldung am Portal um Änderungen vornehmen zu können – muss aber auch sein, sonst könnte der User nicht mitdiskutieren.

Auch bietet uns die Software noch mehr nette Möglichkeiten. So haben wir – ja man glaubt es kaum – einen internen Diskussionsbereich und einen geschützten Wikibereich. Dass unsere interne Diskussion nach Außen getragen wird und plötzlich bei Fefe verlinkt ist, kann uns nicht passieren ;-) (Nein wir diskutieren nichts schlimmes intern, meistens geht es nur um Sachen wie Verbesserungen an unseren Vorlagen. Das geht im kleinen Kreis halt einfacher. Wikiartikel selbst diskutieren wir öffentlich).

Nun und jetzt noch etwas zum Löschen. Ja wir löschen auch. Aber nur ganz selten. Wir löschen eigentlich nie Artikel aus dem Wiki. Ist ein Artikel veraltet so wird er ins Archiv verschoben. D.h. er ist immer noch vorhanden. Gründe für so etwas ist nicht mehr vorhandene Software wie z.B. Beryl. Gelöscht werden maximal Artikel, die unsere “Relevanzkriterien” nicht erfüllen und das sind dann “nur” Artikel in der Baustelle. Das kommt sehr selten vor und wird immer nur nach dem Vielaugen Prinzip angewandt (und wir bieten dem Autor immer auch an den Artikel auf seine Benutzerseite zu stellen). Ein Beispiel wäre ein Artikel zu einem Windowsspiel welches ohne Anpassung mit Wine läuft. Dafür braucht man einfach keinen Artikel ;-)

Auch wenn das uu Wiki viel kleiner ist, könnte die große Wikipedia meiner Meinung nach von uns Lernen. Ich hoffe auch dass die Löschdiskussion nicht abebbt, sondern zum Umdenken in der Wikipedia führt. Ich denke die Wikipedia schadet sich selbst. Wenn in der englischsprachigen Wikipedia mehr steht zu aktuellen deutschen politischen Ereignissen, dann ist das für mich ein deutliches Indiz dass was falsch läuft. Ich denke für die Wikipedia sollte gelten: “Verbessern statt Löschen”

=-=-=-=-=
Powered by Blogilo

Lügen über Lügen

Da ja aktuell im Planet von ubuntuusers einige Posts zum Betriebssystemtest der Chip sich sammeln, möchte ich auch noch meinen Senf dazu abgeben.

Was mich am meisten stört, ist dass von Kubuntu eine Alpha Version verwendet wurde. Ist im Artikel nicht erwähnt kann man aber leicht am Screenshot erkennen. So ist klar ein KDE 4.3 erkennbar. Dies gibt es erst in Karmic oder über Backports für Jaunty. Da man aber hervorhob, dass es eine neue KDE Version in dem Kubuntu gibt, gehe ich davon aus, dass es Karmic ist. Die Screenshots erlauben übrigens eine ziemlich genaue Datierung. Im Panel fehlt das “Message Indicator” Plasmoid welches in Alpha 4 eingefügt wurde – also vor dem 13. August. Eine Alpha Version in einem so frühen Stadium zu testen, nun ja, kann sich jeder selbst sein Bild von machen. [Update]Zumindest die beigelegte Live-CD ist ein Jaunty mit 4.3 über Backport Quellen und weiteren Fremdquellen. Was nun zum Einsatz kam für den Test, kann ich nicht sagen. Eine Backport Quelle wäre jedoch noch fahrlässiger als eine Alpha.[/Update]

Was man an den Screenshots auch schön erkennen kann, ist, dass Compositing nicht aktiviert ist. In dem Abschnitt “Fazit” steht “die fehlenden Treiber bei Kubuntu sind klare Nachteile”. Da sehe ich doch einen Zusammenhang: fehlende Treiber und kein Compositing. Bei Jaunty wäre mir keine moderne Grafikkarte bekannt, die keinen Treiber hat. Wenn es eine Ati oder NVIDIA Karte ist, würde man im Systemabschnitt der Kontrollleise einen Hinweis sehen, dass Treiber verfügbar sind. Wie man im Screenshot erkennen kann, ist dieses Symbol nicht zu sehen und es gibt auch keine ausgeblendeten Symbole. Dies bestätigt meinen Verdacht der verwendeten Alpha Version.

Der Screenshot verrät viel mehr als man denkt. So sieht man, dass noch die KDE 3 Version von K3B verwendet wird, im kommenden Karmic ist aber die KDE 4 Variante. Selbst das Icon ist noch die KDE 3 Variante, in Jaunty mit Backports hat man die Oxygen Variante. [Update]Es reicht nicht nur nach dem Symbol in KRunner zu schauen – in Jaunty wird auch das KDE 3 Icon angezeigt.[/Update] Der Screenshot wurde am 09.09. aufgenommen. Interssant ist das Dolphin Fenster, dort sieht man einen Geändert Zeitstempel welcher 3 Minuten vor der aktuellen Zeit liegt. Die Kubuntu CD ist eingehängt, eine vorhandene Festplatte jedoch nicht. Wenn in der Titelleiste nicht “chipuser” stehen würde, würde ich behaupten das ist ein Screenshot aus einer Live-CD. Jedoch macht mir “Wir haben für Sie eine angepasste CHIP-Edition von Kubuntu auf die Heft-DVD gepackt” in dem Zusammenhang Angst. Eine Live-CD zu remastern und den kubuntu User in chipuser umzubenennen ist nicht wirklich schwer, daher gehe ich davon aus, dass es eine Live-CD ist.

Die Bildunterschrift ist natürlich der absolute Hammer: “Eine Übersichtsfunktion für offene Fenster gibt es nicht”. Das ist eine dreiste Lüge. Hätten sie eine stabile Version verwendet, hätten sie auch die Übersichtsfunktion gesehen. Ganz toll, dass man gerade zwei Funktionen der Konkurrenz gezeigt hat, die wir beide unterstützen.

Wäre ich Autor der entsprechenden Effekte Present Windows oder Taskbar Thumbnails, dann wäre der Presserat informiert und die Chip dürfte eine Gegendarstellung veröffentlichen. Leider bin ich aber von diesen Funktionen nicht der Autor. Dennoch wurde eine Gegendarstellung im Forum erarbeitet und eine Unterschriftenaktion gestartet. Wer sich an dieser – aus meiner Sicht sinnreichen und korrekten – Aktion beteiligen möchte, kann sich im Forum zuschalten oder sich wohl auch gerne bei AlphaX2 melden.

=-=-=-=-=
Powered by Blogilo

KWin Cube Gears

Ich hab ein Versprechen gebrochen, das Versprechen niemals den sinnlosesten Compiz Effekt in KWin zu implementieren: cube gears. Ich war gestern nicht motiviert genug um produktiv zu arbeiten und hab gedacht “schau dir doch einfach mal an wie Compiz die Zahnräder darstellt”. Ich hab’s mir angeschaut und es gibt nicht viele Compiz Abhängigkeiten, es werden einfach Zahnräder gezeichnet. Also hab ich den Code genommen und in den KWin Würfel eingefügt und ein Zahnrad war da. Irgendwie witzig, dass der unwichtigste Effekt portierbar ist, und alle nützlichen an Unmöglichkeit grenzen ;-)

Hier das Beweisviedeo:

Für die, die das eingebettete Flash nicht sehen: Download

Es gibt ein paar Unterschiede zum Compiz Effekt: die Rotation ist ausgeschaltet weil sie schlecht aussieht. Im Gegensatz zu Compiz nutzen wir keinen Tiefenbuffer und daher kann es zu Darstellungsfehlern kommen. Man sieht sie auch wenn man manuell den Würfel rotiert. Daher bin ich mir unsicher, ob ich den Effekt in KDE 4.4 einfügen werde. Vielleicht ist es ja an der Zeit den Tiefentest in KWin auch zu verwenden (wäre auch in anderen Effekten nützlich – z.B. FlipSwitch und CoverSwitch).

Cube Gears

I broke a promise, the promise to never ever implement the most useless Compiz effect in KWin: cube gears. Well I was not motivated enough to work in a productive way yesterday and thought “just have a look on how Compiz does the gears”. I looked at it and there aren’t many Compiz dependencies, it’s just painting gears. So I just took the code added it into cube and there was a gear. Kind of funny, that the most useless effect can be ported while the useful ones seem to be impossible ;-)

Here the video as proof:

For those who don’t see the embedded flash: download

There are some differences to the Compiz effect: the rotation is disabled as it looks very bad. In opposite to Compiz we don’t use the depth buffer and so there can be glitches. You can see them when rotating the cube manually. Because of that I’m unsure if I will add the gears effect to 4.4. Perhaps it’s time to use depth test in KWin as well (would be useful in other effects as well – e.g. FlipSwitch and CoverSwitch).

Wie man E-Mail-Adressen richtig im Web sichern sollte

Dies ist ein Folgeartikel zu meinem gestrigen Artikel, dass das Verschleiern von E-Mail Adressen nicht funktioniert und nutzlos ist. Viele Kommentare zu dem Artikel sagen, dass sie meinen dass die Verschleierung doch hilft, weil sie der Meinung sind, dass Bots nicht an den verschleierten Adressen interessiert sind.

Um noch mal zusammenzufassen: wir nutzen Verschleierung um zu verhindern, dass Spam Bots E-Mail-Adressen ernten. Wir verschleiern auf eine Art, so dass

  • Menschen die E-Mail-Adresse lesen können
  • Computer die E-Mail-Adresse nicht lesen können

Das klingt nach einem CAPTCHA. Falls ihr die “was erlaubt ist und was nicht” zu CAPTCHAs nicht kennt, empfehle ich die Lektüre der Informationen auf captcha.net. Eine der wichtigsten Fakten ist, dass man kein CAPTCHA verwenden sollte, dass nicht mehr funktioniert, sobald alle es benutzen. Also in dem Augenblick wenn die Bots das CAPTCHA unterstützen.

Kommen wir zurück zu den verschleierten E-Mail-Adressen.Ich denke wir können uns darauf einigen, dass Verschleierung vom Konzept her nicht funktioniert. Ich denke wir können es mit Kryptographie vergleichen: obwohl es noch keinen wirklichen Anwendungsfall zum Angriff auf MD5 gibt, würde wohl niemand MD5 noch verwenden um wichtige Dokumente digital zu signieren.

So bald die Harvester anfangen nach verschleierten E-Mail-Adressen zu suchen, werden sie sie finden. Wenn man heute eine E-Mail-Adresse im Web verschleiert und in fünf Jahren die Harvester anfangen Adressen zu entschleiern, werden sie die Adresse finden. Pech gehabt.

Also anstatt ein nicht funktionierendes CAPTCHA wie die Verschleierung zu verwenden, sollte man ein sicheres CAPTCHA wie den Mailhide Dienst von reCAPTCHA verwenden. Es existieren Plugins für viele Programmiersprachen und es könnte verwendet werden um z.B. automatisch alle E-Mail-Adressen in Mailman Archiven durch einen Link zum CAPTCHA zu ersetzen. Dies sieht wie folgt aus: jsm@example.com

Das Lösen von reCAPTCHAs ist meistens bedeutend leichter als von normalen CAPTCHAs, weil man ein komplettes Wort lösen muss und es ist wahrscheinlich auch einfacher zu lösen als eine komische Verschleierungsregel. Und es hilft Bücher und Zeitungen zu digitalisieren und am Ende bekommt man einen anklickbaren E-Mail-Link.

Ich weiß, dass ihr jetzt sagt “reCAPTCHA gehört zu Google und Google ist böse. Ich möchte Google nicht meine E-Mail-Adresse geben”. Falls ihr das denkt, denkt nach. Denkt ihr wirklich, dass der größte Web Harvester der Welt die einfache Verschleierung nicht brechen kann? Habt ihr noch nie eine E-Mail an eine gmail/googlemail Adresse gesendet? Ihr nutzt kein Jabber mit Google Talk Nutzern? Ihr habt keinen Google Account? Denkt ihr wirklich Google hat nicht schon längst eure E-Mail-Adresse? Und wenn ihr wirklich reCAPTCHA nicht vertraut, dann kann man immer noch scr.im verwenden um eine CAPTCHA gesicherte Kurzurl zu erhalten. Aber ich empfehle die Verwendung eines gut getesteten CAPTCHA Systems.

Zusammenfassend: Ich stimme zu, dass man die E-Mail-Adressen auf Webseiten schützen soll. Aber bitte macht euch den Gefallen und macht es richtig. Verschleierung ist gebrochen und es ist nur eine Frage der Zeit, bis die Harvester anfangen verschleierte Mails abzugrasen. Es gibt Dienste welche ein sicheres CAPTCHA zum Schutz der E-Mail-Adressen anbieten. Bitte diese verwenden. Und nein dies ist keine Werbekampagne für reCAPTCHA – es ist einfach nur der beste CAPTCHA Dienst den ich kenne. Falls jemand einen besseren kennt, der sicherer ist und nicht Google gehört: bitte Kommentar hinterlassen – ich bin interessiert.

How to secure your email address correctly on the web

This is a follow-up post to my yesterdays post that obfuscating an email address does not work and is useless. Many comments on the blog post stated that they think that obfuscation helps because the bots are not interested in the obfuscated email addresses.

So let’s recap: we use obfuscation to prevent spam bots from harvesting email addresses. So we obfuscate in a way that

  • Humans are able to read the email address
  • Computers are not able to read the email address

That sounds like a CAPTCHA. If you don’t know the do’s and dont’s of CAPTCHAs I recommend to read the information on captcha.net. One of the most important facts is that you shouldn’t use a CAPTCHA which will break as soon as everybody uses it. That is in the moment the bots start to support it.

Now let’s get back to the obfuscated email addresses. I think we can agree that the obfuscation is conceptually broken. I think we can compare it with cryptography: even that there is no real usecase to attack MD5, nobody would use it to digitally sign important documents any more.

As soon as the harvesters start to search for obfuscated addresses they will find them. If you obfuscate an email address on the web today and in five years the harvesters start to unobfuscate addresses they will find your address. Bad luck.

So instead of using a broken CAPTCHA like obfuscation we should use a secure CAPTCHA like the Mailhide service provided by reCAPTCHA. There are plugins for many programming languages and it can be used to e.g. automatically replace all email addresses in a Mailman archive with a link to the CAPTCHA. It looks like that: jsm@example.com

And solving reCAPTCHAs is mostly much easier than solving the normal CAPTCHAs as you have a complete word and it is probably much easier than solving some obscure obfuscation rule and it helps to digitize books and newspapers and in the end you get a link to click on.

So I know, that you will say “reCAPTCHA belongs to Google and Google is evil. I don’t want Google to give them my email address”. If you think that, rethink. You think that the world’s biggest web harvester is unable to break your used obfuscation? You have never ever sent an email to a gmail/googlemail account? You don’t use Jabber with Google Talk users? You do not have a Google account? Do you really think that Google doesn’t already know your email address? And if you really don’t trust reCAPTCHA, you could still use scr.im to get a tiny, CAPTCHA protected URL. But I recommend to use a well tested CAPTCHA system.

To summary: I agree that you should secure your email addresses on websites. But please do yourself the favor and do it properly. Obfuscation is broken and it is only a matter of time till harvesters start to harvest the email addresses. There are services which provide a secure CAPTCHA to protect email addresses. Please use those. And no this is not an advertisement campaign for reCAPTCHA – it is just the best CAPTCHA service I know. If you know a better and more secure which doesn’t belong to Google, please leave a note :-)

Über das Verschleiern von E-Mail Adressen

Viele Leute verschleiern ihre E-Mail-Adresse auf Webseiten in der Hoffnung, dass Bots diese nicht aus der Webseite extrahieren können. Das könnte wie folgt aussehen:

email [AT] example [dot] tld

Diese Vorgehensweise wird zum Beispiel von Mailmans Archiv Pipermail und der MARC E-Mail Schnittstelle, welche von KDE Mailinglisten verwendet wird, angewendet. Manche Leute bitten sogar darum “E-Mail-Adressen nicht unverschleiert im E-Mail Text zu zitieren”.

Ist das Verschleiern von E-Mail-Adressen überhaupt sinnvoll? Gewinnt man dadurch mehr Sicherheit?

Die Antwort ist Nein. Die Verschleierung ist eine CAPTCHA Variante (Completely Automated Public Turing test to tell Computers and Humans Apart). Ein CAPTCHA erfordert, dass ein Computer das Künstliche Intelligenz Problem nicht lösen kann, wenn er Zugriff auf alle Informationen hat, welche benötigt werden um den Test zu erstellen. Gestern hab ich versucht zu beweisen, dass diese Art von CAPTCHAs geknackt ist und hab dazu eine kleine Anwendung geschrieben, welche die E-Mail-Adressen von einem öffentlichen Pipermail Archiv extrahiert. Die Anwendung besteht aus weniger als 300 Zeilen Code und kann automatisch alle E-Mails für einen gegebenen Monat und Jahr herunterladen und die Sender Adresse extrahieren durch das Rausziehen aller a Elemente der online abrufbaren E-Mail. Auf diese Elemente wird ein regulärer Ausdruck angewendet um die E-Mail Adresse zu erhalten. Ich wollte eigentlich nur etwa eine halbe Stunde daran arbeiten, am Ende hab ich dafür Qt 4.6 kompiliert, weil ich das neue QWebElement benötigte ;-) Falls jemand Interesse am Quellcode hat, kann ich ein Repository auf gitorious anlegen.

Das folgende Bild zeigt das Ergebnis eines “Angriffs” auf das plasma-devel Archiv. Aus Datenschutzgründen hab ich den Nutzerteil der E-Mail-Adressen unlesbar gemacht.

Picasaweb

Ich bin der Meinung, dass keine verlässliche Möglichkeit existiert E-Mail-Adressen nur durch Text zu verschleiern. Wenn es einen Algorithmus zum Verschleiern gibt, dann gibt es auch einen regulären Ausdruck um die Verschleierung aufzuheben. Die einzige Möglichkeit eine E-Mail-Adresse zu schützen, ist sie nirgends anzugeben wo ein Bot sie aufsammeln könnte. Dazu könnte man sie durch ein “echtes” CAPTCHA ersetzen, welches die E-Mail-Adresse nach dem Lösen preisgibt. Für Webseiten existiert zum Beispiel die Mailhide API von reCAPTCHA. Für Mailinglisten ist das ganze komplett nutzlos, da die Adresse sowieso unverschleiert in den E-Mail Headern steht. Anstatt Webseiten zu parsen könnten Bots auch einfach die Mailingliste abonnieren.

Also bitte hört auf die E-Mail Adressen zu verschleiern. Es ist nutzlos und man kann nicht mehr auf E-Mail Links klicken. Stattdessen muss der Leser ein nutzloses CAPTCHA lösen.

About obfuscating email addresses

Many people obfuscate their email address on web sites in the hope that bots are unable to extract their address from websites. That could look like the following:

email [AT] example [dot] tld

This approach is for example used by Mailman’s archiver pipermail and the MARC mail interface used by the KDE mailing lists. Some people even ask to “not quote the e-mail address unobfuscated in message bodies”.

So is it useful to obfuscate the email address? Does that add any security?

The answer is No. This obfuscation is a kind of a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) which requires that a computer cannot solve the Artificial Intelligence problem when it has access to all information required to create the test. Yesterday I tried to proof that this kind of CAPTCHA is broken and wrote a small application which is able to extract the email addresses from a public pipermail archive. The application is less than 300 lines of code and can automatically download all emails for a given month and year and extract the sender’s address by just extracting all a elements from the online accessible emails and applying a regular expression on the text to get the email address. I only wanted to work half an hour on that. In the end I had to compile Qt 4.6 because I needed the new QWebElement ;-) If someone is interested in the source code I could create a repository on gitorious.

The following image shows the result of an “attack” on the plasma-devel archive. For privacy reasons I blurred the user part of the mail address.

Picasaweb

I don’t think there is any reliable way to obfuscate an email address using simple text. If there is an algorithm to obfuscate the address, there is a regular expression to unobfuscate the email. The only way to protect an email address is to not include it anywhere where a bot could harvest. That is replace it by a “real” CAPTCHA that will reveal the email address when solving it. For websites there is for example the Mailhide API of reCAPTCHA. For mailinglists that is completely useless as the email address is already included in plain text in the email headers. Instead of parsing websites bots could just subscribe to the mailinglists.

So please stop obfuscating your email addresses. It is useless and makes it impossible to just click on an email link. Instead the reader has to solve the useless CAPTCHA.