Artikel - 5.2.2005 - 15.2.2005

WordPress 1.5 ist raus

und ich hab mal upgedated (ich hatte eine relativ aktuelle CVS-Version laufen). Ein ziemlicher Berg an Änderungen in den letzten 5 Tagen, aber scheinbar funktioniert alles weitestgehend. Bisher nur einen Bug gefunden und reported, aber auch noch nicht so viel hier getestet. Wem was komisches auffällt (ich mein damit komischer als es sonst hier ist), hier als Kommentar abladen oder über das Feedback-Formular melden.

Des oanzige was zählt auf dera Welt

Paula, oh Paula Mir fanga jeden Tag von vorn o Und des oanzige was zählt auf dera Welt, is a Geld Paula, Paula Es is zwar traurig aber es is wahr des oanzige was wirklich zählt auf dera Welt für di is Geld Duitam Ditam Ditam

Haindling, Paula

Es wirkt ein wenig wie Flucht

Es wirkt ein wenig wie Flucht wie sich in Dresden die Menschen verhalten. Alles orientiert sich im Bezug zu den Nazis. Aber wieso muss dieses Gedenken an den Angriff auf Dresden öffentlich gemacht werden?

Ja, der Angriff auf Dresden war fürchterlich - und in seiner Art warscheinlich sinnlos und übertrieben. Genauso wie der Hamburger Feuersturm. Oder andere Angriffe auf deutsche Städte. Hier in Münster wurde die Innenstadt zerlegt - die Militärkommandos waren aber am Rande der Innenstadt, gut durch Schloss und grossen Exerzierplatz auch aus der Luft kenntlich - und blieben unzerstört. Noch Fragen?

Aber was war der Anlass? Kann man einfach ignorieren das diese Angriffe ein direktes Resultat des Wahnsinns des Nationalsozialismus und des zweiten Weltkrieges waren? Ich bin der Meinung das die eigenen Toten des zweiten Weltkrieges etwas sind, das wir still betrauern müssen. Man kann nicht alles in die Öffentlichkeit tragen und trotzdem meinen man distanziere sich von denen die diese Ereignisse für ihren mentalen Müll instrumentalisieren wollen.

Die Familie meiner Mutter wurde in alle Winde zerstreut - viele getötet, verschleppt, viele sind an direkten und indirekten Kriegsfolgen gestorben. Trotzdem nehme ich keinem Polen, keinem Russen und keinem Alliiertem etwas übel - und wiege nichts davon gegen anderes Leid auf. Es wäre einfach Wahnsinn und eine gefährliche Überheblichkeit diese Verluste (und für das Individuum sind es natürlich Verluste) gegen die fatalen Folgen des deutschen Verhaltens aufzuwiegen.

Nein, manche Trauer muss still von statten gehen, ohne grosse Zeremonien. Denn genau dadurch kann man sich von den Nazis distanzieren - deren Instrumentalisierung funktioniert nur gerade weil die Menschen in Dresden ihre eigene Zerstörung in die Mitte einer öffentlichen Veranstaltung stellen. Und damit für den rechten Dreck eine Plattform bildet.

No Tears vor Krauts? Halte ich für falsch. Aber Tränen dürfen auch leise fliessen.

Etomite Content Management System

Das Etomite Content Management System(gefunden via Netbib) ist eine recht interessante Angelegenheit. Was mir an dem CMS nicht so gut gefällt: das Standardtheme. Sorry, aber das ist bunt und sieht für mich aus wie Windows . Ausserdem benutzt es ein Tabellenlayout, was mir auch nicht so gut gefällt. Aber ansonsten muss ich schon sagen, das Teil hat was. Das Backend vor allem ist sehr interessant - es benutzt massiv JavaScript und DHTML, was natürlich erstmal nicht so gut ist wenn man JavaScript nicht mag. Aber es bietet darüber eine ganze Menge interaktiver Features die sehr nett sind - zum Beispiel Feedback über die laufende Aktion, automatische Aktualisierung der diversen Oberflächenelemente und insgesamt eine recht runde Bedienung.

Auch gut gefällt die Idee der Snippets - sowas wie in PyDS die Nuggets. Kleine Schnipsel von Code die man einfach in der Datenbank speichert und die dann über Tags in den Templates abgerufen werden. Sehr praktisch, da man so oft einfache kleinere Erweiterungen bauen kann, ohne extra ein grosses Rad zu drehen.

Ebenfalls recht interessant ist das automatische Caching - nichts wirklich neues, aber in diesem Fall eine nette Idee: man kann an den Elementen selber festlegen ob sie gecached werden sollen oder nicht. Und zwar für jedes Element einzeln. Deutlich besser als die üblichen Sekt-oder-Selters-Ansätze anderer CMS.

Insgesamt ist Etomite wesentlich stärker Full-CMS-orientiert als Blog-orientiert. Das stellt es funktional eher in eine Gruppe mit Drupal als z.B. WordPress. Es gibt auch schon eine Reihe von Snippets zur einfachen Erweiterung, genauso wie Themes. Auch verschiedene Sprachfiles existieren schon. Die Dokumentation existiert auch schon, ist sogar nach erstem überfliegen schon recht brauchbar für den Start.

Die Lizenz ist GPL, was schon mal gut ist. Allerdings kommt beim ersten Login ein spezieller Hinweis, der nicht entfernt werden darf - eigentlich beisst sich sowas mit der GPL, denn die GPL sagt ja gerade das ich mit dem Paket alles mögliche machen darf, sofern ich den geänderten Source zur Verfügung stelle. Ok, ich darf nicht behaupten das es von mir ist und muss ursprüngliche interne Copyright-Hinweise erhalten, aber ansonsten kann ich alles ändern. Und das umfasst normalerweise auch Hinweistexte. Zwangslinks und Zwangshinweise beissen sich nunmal mit der GPL. Entweder muss man dann die GPL explizit um diesen Hinweis erweitern - womit es eine GPL+Zusatz wird, die dann allerdings zur normalen GPL inkompatibel wird - oder man verkneift sich Zwangshinweise. Das ganze ist ein nicht unbekanntes Problem der Leute mit der GPL, aber stören kann sowas bei kommerziellem Einsatz definitiv.

Hat jemand Kubrick auf Etomite portiert? Ich bräuchte für meine Spielereien noch ein etwas hübscheres Theme als das mitgelieferte

Filter soll Internet-Filmtausch stoppen

Filter soll Internet-Filmtausch stoppen - weitere Moppelkotze der Rechteverwerter. In diesem Fall frag ich mich allerdings, was sie dem Journalisten für diesen Artikel bezahlt haben, selten sowas tendenziöses gelesen in der Netzzeitung. Egal, Mumpitz ist es allemal - wer Files schieben will, wird es machen. Ohne das irgendwelche Filter oder Signaturen an den Dateien dabei irgendetwas verhindern. Dieses ganze Filtergelaber und die ganzen Verfahren der Filmindustrie und Musikindustrie ist doch nix weiter als vorpubertäres Rumstolzieren im Sandkasten. Guck mal meine Muskeln, boah watt bin ich cool. Dahinter steckt dann nur ein kleines Bürschen das von nix Ahnung hat.

Eine Lösung? Hab ich nicht. Ist auch nicht mein Job. Ich sitz nur am Rand und lach mich über diese ganzen tollen Lösungsansätze schlapp, deren kindlicher Optimismus maximal noch vom Glauben an Weihnachtsmann und Osterhase übertroffen wird. Zu Zeiten von Techniken wie Onion Routing und Peer-2-Peer-Netzen wie Freenet ist es jedenfalls albern zu glauben man könne mit Filtern und Überwachungen was erreichen. Das einzige was man erreicht: die angesprochenen Techniken werden immer besser. Letzten Endes sogar ein positiver Effekt - wenn auch nicht der, den sich die Rechteverwerter vorstellen.

Ärgerlich an der ganzen Sache ist nur, das auch die guten Filetransfertools wie Bittorrent Ärger kriegen, weil ein paar Geldsäcke nicht kapieren wollen das der Zug für sie abgefahren ist und sie einfach zu blöd waren einzusteigen. Und das sich immer wieder Politiker nicht entblöden sich vor diese Industrie mit ihren absurd aufgepumpten Gewinnmargen spannen zu lassen.

Die Künstler? Sorry, Kinners, aber irgendwann müsst ihr der Realität mal ins Auge sehen: die Verlage zocken euch ab und sind einen Dreck an euch und euren Gewinnen interessiert. Also setzt euch lieber zusammen und baut gemeinsam was auf - das an den bisherigen Verwertern vorbei geht. Nutzt die Chancen des Internet direkt an eure Zuhörer und Zuschauer zu kommen. Ja, das heisst das sich das System Kunstverwertung ändern muss - muss es aber sowieso.

Aber vermutlich müssen wir erstmal noch ein paar Jahren menschenverachtende Werbebotschaften (Privatkopierer = Kinderschänder) und menschenverachtende Gesetzgebung (Verbot der Privatkopie, generelle Kriminalisierung von Internetbenutzern) über uns ergehen lassen, bis die Rechteverwerter an ihrer Arroganz und Unfähigkeit eingegangen sind. Dann gibts vielleicht eine Chance auf Neuanfang.

Freitag 06 - Die Plünderer kommen

Freitag 06 - Die Plünderer kommen. Vom Ausverkauf des Wirtschaftsstandorts Deutschland durch die Arroganz, Dummheit und Borniertheit der Politiker und Wirtschaftsbosse in Deutschland:

Mögen Politiker wie Schröder noch so oft von wichtigen Investitionen für den Standort Deutschland reden und die Arbeitsplätze beschwören, die dadurch geschaffen werden - die Wirklichkeit sieht anders aus. "Die Statistik trügt", stellt das Handelsblatt fest. "Der steile Anstieg der Investitionen ist durch Fusionen und Firmenübernahmen geprägt. Und die haben unterm Strich mehr Arbeitsplätze vernichtet als neue geschaffen." Dies hindert dieselbe Zeitung ebenso wenig wie die Bundesregierung, die zielstrebigen Jongleure der Wall Street willkommen zu heißen, die man in den USA einfach "Raider", Plünderer, nennt. Völlig falsch - sagt der Bundeskanzler. Diese Firmen haben "Mut, Prinzipien und Visionen".

Wie stehts in Uhus Weblog so schön:

Wirtschaft - zumindest auf lange Sicht - den Menschen dienen muß, das Prinzip der Wirtschaft um der Wirtschaft Willen aber illegitim und somit irrsinnig ist?

Tja. Nur wer erklärt das dem Industriekanzler und seinen Schergen? Oder den ganzen anderen Trollen, die auf ihren Geldsäcken sitzen und nur drauf gucken das ihr Sack grösser und fetter wird? Arbeit muss sich lohnen - das ist das einzige was man von der Richtung hört. Ja, richtig - aber wenn sich die Arbeit der Mehrheit der Gesellschaft nur für eine kleine Minderheit lohnt, der Teil der die Arbeit macht aber in den Arsch getreten wird - dann ist was oberfaul. Und wenn Arbeit muss sich lohnen so umdefiniert wird, das es eigentlich Such dir Arbeit, egal wie beschissen, sonst verreckst du bedeutet, dann sind wir über die Grenzen einer sinnvollen Gesellschaftsordnung schon hinaus. Und deshalb hat der Uhu warscheinlich Recht: erstmal muss es wieder knallen. Nur knallt es in Deutschland oft auf die denkbar widerlichste Art und Weise - und die Ansätze zu einem sinnvollerem Knall werden einfach umgebracht ...

Aus gegebenem Anlass ...

... weise ich darauf hin das ich Trackbacks von Blogs einfach lösche, wenn deren einziger Zweck die Promotion von irgendwelchen obskuren Amazon-Shops ist. Sorry, aber bloss weil der Werbemüll in einer Weblogsoftware abgelegt ist heisst das nicht, das ich jeden unpassenden Trackback durchwinke. Und nein, nur weil ein Stichwort aus dem Posting auch bei mir in einem Posting vorkommt ist das noch lange kein interessanter Trackback sondern einfach nur Spam.

CSS und IE und Safari 1.0

Ich poste ja immer mal wieder Source-Schnipsel und Logfileauszüge und son Zeug. Dafür benutze ich das PRE Tag, damit der Kram vorformatiert angezeigt wird und in einem monospaced Font. Mit alle Browsern klappt das gut. Nur machen mir da ein paar Browser ziemlich Ärger. Und zwar zum Einen Safari 1.0 - ok, der stirbt zwangsweise aus und ist nur in sofern ein Problem, als das der horizontale Scrollbalken die unterste Zeile überschreibt. Das kann man notfalls mit einer Leerzeile ausgleichen.

Aber IE für Windows zickt auch rum - User sagen mir, das die Breite immer komplett ist, ohne Scrollbalken. Ich hab hier kein Windows, ich kann das hier nicht testen, aber doof wär das natürlich schon - ich kann so in der Frontseite keine PRE benutzen, sonst zerfetzt es das Layout.

Ganz krass ist der IE 5.5 Mac: der blendet die PRE komplett aus. Und ich kapier nicht warum. Die werden schlicht und einfach nicht angezeigt. Die Seite validiert natürlich. Nunja, der IE Mac 5.5 ist hoffentlich auch bald ausgestorben und die armen Würstchen die den noch benutzen haben mein Bedauern, aber eben keine Sourcen

Aber für den Windows IE wär ich für einen Tipp zum CSS Problem dankbar. Sofern man das mit normalen CSS-Mitteln und ohne allzu heftige Hacks fixen kann, könnte ich das ja einbauen. Hier ist ein Beispielartikel mit PRE-Blöcken.

Gravatars in den Kommentaren

So, ich hab in den Kommentaren mal Gravatars eingebaut. Wer einen hat, wird jetzt mit Bild angezeigt. Im Moment ist es aber noch etwas mau mit der Verbreitung von Gravataren - ich find die irgendwie witzig, dadurch werden Kommentatoren etwas persönlicher erfassbar. Nicht nur anonyme Namen im Hintergrund.

Da Gravatare ja aufgrund der eingegebenen eMail-Adresse herangezogen werden: diese wird bei mir auf keinen Fall veröffentlicht. Gravatare benutzen einen MD5-Hash der eMail-Adresse, aus dem Link ist also die Adresse nicht rekonstruierbar. Und auch ansonsten wird in WordPress die eMail nirgends veröffentlicht.

Wer aber trotzdem seine normale Adresse nicht eingeben will: ich hab noch 50 Google-Mail-Invites über, wer mir über mein Feedback-Formular eine Nachricht zukommen lässt kann einen kriegen und den dann benutzen. Google-Mail hat einen recht brauchbaren Spam-Filter und mit 1 GB Plattenplatz dauerts sehr lange bis der voll gelaufen ist, wenn man ihn nicht ausleert. Ideal also als Wegwerf-Account ...

Und wer auch das nicht will, der kriegt halt mein Default-Gravatar verpasst und sieht dann eben etwas blass aus

mozdev.org - conkeror

Das nenne ich Aufopferung - n der Dokumentation zu einem rein tastenbedienten Mozilla:

You should never have to reach for your mouse. To make sure Conkeror remains pure, I do not own a mouse.

Wer also Maus-Phobiker ist, kann sich vielleicht mit dem Browser Erleichterung verschaffen.

Und weil ich ein experimentierfreudiges Kerlchen bin, hab ich das natürlich gleich mal ausprobiert. Ok, Emacs-Tastenbelegungen stinken (hey, ich bin VI-Man ) aber trotzdem ist das ganze durchaus benutzbar - man könnte sich dran gewöhnen, wenn denn die anderen Anwendungen im System eine ähnliche Bedienung hätten. Und noch ein Tipp für Mac-User: ja, das ganze funktioniert auch bei euch. Allerdings müsst ihr ja den Browser mit einem Parameter starten, der wird aber von Firefox.App nicht unterstützt. Statt dessen einfach folgendes Kommando im Terminal eintippen (Achtung, eine Zeile!): /Applications/Firefox.App/Contents/MacOS/firefox -chrome chrome://conkeror/content

Eventuell muss der Pfad zur Firefox.App angepasst werden. Danach geht ein kleines Fenster mit einer recht spartanisch gehaltenen Hilfedatei auf. Gut durchlesen, denn wenn man sich nicht wenigstens merkt wie man die Hilfeseite aufruft, wirds eng. Das grosse B geht zurück in der History, wenn ihr euch also vertüddelt, damit kommt ihr immer wieder zur Hilfe. Achja, und beenden geht nicht mit Apfel-Q - schliesslich ist es ja Emacs. Also die beiden Tasten Ctrl-X und C nacheinander drücken.

Und nochmal Logfiles

Da ich ja nun ein interessantes Studienobjekt hatte, wollte ich mal gucken inwieweit ich mit ein bischen Clusteranalyse in meinen Logfiles irgendwas interessantes zutagefördern würde. Ich habe also eine Matrix angelegt aus Referrern und zugreifenden IP-Adressen und mir damit mal einen Überblick über typische Userszenarien gemacht - also wie sehen normale User aus im Log, und wie sehen Referrer-Spammer aus und wie sieht unser Freund aus.

Alle drei Varianten lassen sich gut unterscheiden, auch wenn ich im Moment da noch eher davor zurückschrecken würde das algorithmisch zu fassen - das lässt sich nämlich alles recht gut simulieren. Trotzdem sind ein paar Auffälligkeiten zu sehen. Zuerst mal ein ganz normaler Benutzer:


aa.bb.cc.dd: 7 Zugriffe, 2005-02-05 03:01:45.00 - 2005-02-04 16:18:09.00
 0065*-
 0001*http://www.tagesschau.de/aktuell/meldungen/0,1185,OID4031994 ...
 0001*http://www.tagesschau.de/aktuell/meldungen/0,1185,OID4031612 ...
 0001*http://mudbomb.com/archives/2005/02/02/wysiwyg-plugin-for-wo ...
 0001*http://www.heise.de/newsticker/meldung/55992
 0001*http://log.netbib.de/archives/2005/02/04/nzz-online-archiv-n ...
 0001*http://www.heise.de/newsticker/meldung/56000
 0001*http://a.wholelottanothing.org/2005/02/no_one_can_have.html

Man sieht schön wie dieser User von meinem Weblog weggeklickt hat und wieder zurückgekommen ist - die Referrer sind nämlich mitnichten alles Links auf mich, sondern falsche Referrer die die Browser schicken, wenn der Benutzer von einer Site auf eine andere wechselt. Eigentlich sollen Referrer ja nur dann geschickt werden, wenn auch wirklich ein Link geklickt wird - kaum ein Browser macht das aber richtig. Der Besuch war an einem definierten Tag und er ist direkt eingestiegen durch Eingabe des Domainnamens (die "-" Referrer stehen oben und oben steht der früheste Referrer der vorkommt).

Oder hier mal ein Zugriff von mir:


aa.bb.cc.dd: 6 Zugriffe, 2005-02-04 01:11:56.00 - 2005-02-03 08:27:09.00
 0045*-
 0001*http://www.aylwardfamily.com/content/tbping.asp
 0001*http://temboz.rfc1437.de/view
 0001*http://web.morons.org/article.jsp?sectionid=1&id=5947
 0001*http://www.tagesschau.de/aktuell/meldungen/0,1185,OID4029220 ...
 0001*http://sport.ard.de/sp/fussball/news200502/03/bvb_verpfaende ...
 0001*http://www.cadenhead.org/workbench/entry/2005/02/03.html

Ich erkenne mich daran, das Referrer mit temboz.rfc1437.de vorkommen - das ist mein Online-Aggregator. Sieht ähnlich aus - ne Menge falsch geschickter Referrer. Noch ein anderer User:


aa.bb.cc.dd: 19 Zugriffe, 2005-02-12 14:45:35.00 - 2005-01-31 14:17:07.00
 0015*http://www.muensterland.org/system/weblogUpdates.py
 0002*-
 0001*http://www.google.com/search?q=cocoa+openmcl&ie=UTF-8&oe=UTF ...
 0001*http://blog.schockwellenreiter.de/8136
 0001*http://www.google.com/search?q=%22Rainer+Joswig%22&ie=UTF-8& ...
 0001*http://www.google.com/search?q=IDEKit&hl=de&lr=&c2coff=1&sta ...

Dieser kam öfter (also mehrere Tage) über meine Update-Seite auf muensterland.org und zusätzlich hat er noch nach Lisp-Themen gesucht. Und vom Herrn der Schockwelle ist er auch mal gekommen. Absolut typisches Verhalten.

Jetzt mal im Vergleich ein typischer Referrer-Spammer:


aa.bb.cc.dd 6 Zugriffe, 2005-02-12 17:27:27.00 - 2005-02-02 09:25:22.00
 0002*http://tramadol.freakycheats.com/
 0001*http://diet-pills.ronnieazza.com/
 0001*http://phentermine.psxtreme.com/
 0001*http://free-online-poker.yelucie.com/
 0001*http://poker-games.psxtreme.com/

Alle Referrer sind direkte Domain-Referrer. Keine "-" Referrer - also keine Zugriffe ohne Referrer. Keine sonstigen Zugriffe - würde ich es genauer analysieren nach Seitentyp, würde auffallen das keine Bilder etc. zugegriffen werden. Leicht zu erkennen - sieht einfach mager aus. Typisch ist auch das jede URL nur einmal oder zweimal angegeben ist.

Jetzt unser neuer Freund:


aa.bb.cc.dd: 100 Zugriffe, 2005-02-13 15:06:16.00 - 2005-02-11 07:07:55.00
 0039*-
 0030*http://irish.typepad.com
 0015*http://www208.pair.com
 0015*http://blogs.salon.com
 0015*http://hfilesreviewer.f2o.org
 0015*http://betas.intercom.net
 0005*http://vowe.net
 0005*http://spleenville.com

Was auffällt sind die Referrer ohne abschliessenden / - untypisch für Referrer-Spam. Ausserdem halt ganz normale Sites. Was auch auffällt, es werden Seiten zugegriffen ohne Referrer - dahinter verstecken sich die RSS-Feeds. Auch dieser ist also leicht von Usern zu unterscheiden. Vor allem da ein gewisser Rhythmus drin ist - scheinbar immer 15 Zugriffe mit einem Referrer, dann den Referrer wechseln. Entweder ist die Referrer-Liste recht klein, oder ich hatte Glück das er zweimal den gleichen bei mir probiert hat - einer ist nämlich 30x da.

Normale Bots braucht man nicht gross zu vergleichen - die wenigsten schicken Referrer mit und sind deshalb völlig uninteressant. Ich hatte einen, der mir aufgefallen war:


aa.bb.cc.dd: 5 Zugriffe, 2005-02-13 15:21:26.00 - 2005-01-31 01:01:07.00
 2612*-
 0003*http://www.everyfeed.com/admin/new_site_validation.php?site= ...
 0002*http://www.everyfeed.com/admin/new_site_validation.php?site= ...

Eine neue Suchmaschine für Feeds die ich noch nicht kannte. Scheinbar hat der Admin gerade vorher irgendwo meine Adresse eingetragen und dann hat der Bot losgelegt die Seiten zu sammeln. Danach hat er dann im Administrationsinterface meine von ihm neu gefundenen Feeds freigeschaltet. Scheint ein kleines System zu sein - der Bot läuft von der gleichen IP wie das Administrationsinterface. Die meisten anderen Bots kommen von ganzen Botfarmen, Webspidern ist halt eine aufwändige Sache ...

Zusammenfassend lässt sich also feststellen, das die derzeitige Generation von Referrer-Spammer-Bots und anderen Mal-Bots noch recht primitiv aufgebaut ist. Sie benutzen keine Botnetze um viele unterschiedliche Adressen zu verwenden und sich dadurch zu verstecken, sie benutzen reine Server-URLs statt Seiten-URLs und haben auch sonst recht viele typische Kennzeichen wie z.B. bestimmte Rhythmen. Ausserdem kommen sie fast immer mehrfach.

Leider sind das keine guten Merkmale um sie algorithmisch zu fassen - ausser man lässt seine Referrer in eine SQL-Datenbank laufen und prüft jeden Referrer mit entsprechenden Selects auf die typischen Kriterien. Darüber könnte man dann durchaus die üblichen Verdächtigen erwischen und gleich auf dem Server blocken. Denn normale User-Zugriffe sehen deutlich anders aus.

Allerdings sind auch schon neue Generationen in der Mache - wie mein kleiner Freund, der mit dem fehlenden /, zeigt. Und dank der dämlichen Browser mit ihren falsch erzeugten Referrern (die viel mehr über die History des Browsers aussagen als über tatsächliche Link-Verfolgung) kann man nicht einfach die referenzierten Seiten gegenchecken, da viele Referrer reine Blindreferrer sind.

vermutlich verkleideter Bot in den Logs

Ich hab gerade mal in meinen Referrern einige Referrer gefunden, auf denen ich absolut nichts finden konnte das auf mich verweist. Soweit nichts ungewöhnlich - Referrer-Spam wäre die erste Vermutung. Aber die in den Referrern genannten Seiten sind ganz normale Weblogs und andere Sites - keine Leute die Grund hätten für ihre Site zu spammen (zum Beispiel ein Blog mit ca. 1 Post pro Monat, oder eine Irin und noch so ein paar seltsame Referrer). Auch sind die Anzahlen anders als bei normalem Referrer-Spam: der kommt normalerweise entweder nur 1-2x oder wenn dann mit vielen Adressen und jede dann gleich 100x oder ähnliches. Dieser kommt ca. 15 mal.

Also habe ich mal in den Logs etwas gewühlt, ob ich da was finde. Und siehe da, die Referrer haben ungwöhnliche Merkmale: sie schliessen nicht mit einem / ab. Normalerweise wird eine Adresse die nicht auf / endet automatisch umgeleitet auf die /-Variante. Referrer sind also normaleweise /-terminiert oder direkte HTML-Seiten oder etwas vergleichbares. Reine Site-Angaben ohne / hinten dran sind eher selten.

Auch noch was anderes fällt auf: die Seiten wurden wirklich angesurft - bzw. mindestens runtergeladen. Und die zu einem Referrer gehörigen Seiten sind recht wild gewürfelt - bei normalen Usern erwartet man eigentlich eher irgendeine Form von Konsistenz in dem was per Referrer rüberkommt. Vor allem kommen selten 15 Links auf einen Schlag auf eine Seite ...

Und das wesentliche Kriterium: die IP des zugreifenden Rechners ist bei den verschiedenen immer die gleiche. Eine Auswertung ergab dann folgendes Bild:


 15 betas.intercom.net
 15 blogs.salon.com
 15 hfilesreviewer.f2o.org
 30 irish.typepad.com
 5 spleenville.com
 5 vowe.net
 15 www208.pair.com

Alles eindeutig falsche Referrer. Zusätzlich noch 34 Zugriffe auf meine RSS-Feeds ohne Referrer. Zugriffe waren nur auf direkte Postings und RSS-Feeds - nicht auf Übersichtsseiten oder Archivseiten. Sieht sehr danach aus, das der Bot hier wie folgt vorgehen: RSS-Feeds suchen, diese abgreifen, da drin dann nach Permalinks auf Artikel suchen und diese runterziehen um z.B. an die Kommentarformulare zu kommen. Das ganze schön getarnt als angebliche Besucher, inkl. gefälschten Referrern die unverdächtig wirken. Auch nicht zu viele zugriffe eines Referrers, lieber das ganze öfter gewechselt.

Eigentlich nichts neues, beim eMail-Spam sind ja gefälschte echte Absender durchaus üblich und gängig um schwerer zu filtern zu sein. Aber bei Sammelbots sehe ich diese Art der Mimikry zum ersten Mal life - die Symptome beobachte ich auch erst ca. 1-2 Wochen bei mir.

Für Admins ist das ganze natürlich ziemlich nervig, da man die Referrer-Logs noch weniger gebrauchen kann als bisher schon. Bisheriger Referrer-Spam war zwar ein Ärgernis, aber aufgrund der ziemlich dämlichen Namen der Referrer leicht zu erkennen. Diese Form von Logphänomen verfälscht auch die Referrer - fällt aber wesentlich weniger auf. Könnte für Weblogs interessant sein die ihre Referrer direkt im Beitrag anzeigen.

Und natürlich bleibt auch noch das Problem, das ich ja noch nicht weiss was der Bot mit den gesammelten Erkenntnissen anfangen will. Wobei ich stark auf Spam tippe, aber das ist nur eine Vermutung - könnte auch ein Bot sein, der nach typischen Sicherheitslöchern sucht. Auf jeden Fall ist es ein Bot und auf jeden Fall hat er nichts gutes vor - denn sonst bräuchte er sich nicht zu verstecken.

DGB-Chef akzeptiert Umbau des Sozialstaats

DGB Chef akzeptiert Umbau des Sozialstaats und macht damit die Gewerkschaften obsolet. Hier hatte ich einen längeren Text geschrieben, aber irgendwie hab ich nach meiner aktuellen Inhaltsvernichtung den nicht mehr parat. Wenn jemand den noch im RSS-Reader stecken hat, bitte melden, ansonsten ist er halt futsch.

Nicht über den Inhalt meines Weblogs wundern ...

... da ist nur ein amoklaufender Admin mit einem saublöden Script drübergedengelt und hat alle Inhalte vernichtet. Wird irgendwie alles wieder rekonstruiert und repariert und gebügelt und gefaltet. Irgendwie. Und danach stell ich mich in die Ecke und geissel mich ...

Update: jetzt ist alles wieder weitestgehend restauriert. Was war passiert: ich habe von Exhibit für die Bilder auf ein eigenes Plugin umgestellt. Und dabei halt per Script alle Postings mit Bildereinträgen umgeschrieben. Bei dem generierten UPDATE habe ich aber dummerweise die WHERE-Klausel vergessen ...

Verluste: mein Posting zum DGB und die Formulierungen in den Postings von heute. Alles andere war aus einem Backup zu rekonstruieren. Und ein paar Nerven. Und mir zum x-ten Mal hinter die Ohren geschrieben, das ich demnächst vor der Bastelei einen aktuellen Backup machen sollte. Was natürlich nix nutzen wird, weil hinter den Ohren kann ich ohne zwei Spiegel nicht lesen ...

Update 2: und natürlich war ich so klasse bei der Rekonstruktion des Weblogs die geänderten Bilderpostings auch zu überschreiben, weshalb jetzt sämtliche Beiträge im Bilderblog ohne Fotos sind. Ich fasse es nicht. Irgendwie ist heute Vollmond oder sowas ...

Was bedeutet, das ich noch mal kreativ werden muss, um die Bilder wieder in die Postings zurückzupulen, denn natürlich habe ich mir die Zuordnungstabellen alle gelöscht, da ich diese ja nicht mehr brauche. Aber die hab ich ja alle noch im Backup, so schlimm wie vorher wirds also nicht

Update 3: jetzt sollte alles wieder weitestgehend so sein wie vorher. Und die letzte Reparatur ging tatsächlich ohne grössere Katastrophen von statten

Microsoft Interoperability

Ian Bicking beschreibt was Microsoft Interoperability wirklich heisst. Ein Zitat des Support-Mitarbeiters von Microsoft:

Microsoft isn't in the business of integrating with non-Microsoft software.

Schilys neue Initiative für Flüchtlingslager in Afrika

Schilys neue Initiative für Flüchtlingslager in Afrika - Kommentare dazu verkneife ich mir jetzt mal, da vermutlich die meisten davon zu einer Beleidigungsklage führen könnten

Deep Links finden in Logfiles

Weil mich der Pepino gerade danach fragte hab ich mal mein Deep Link Finder Script online gestellt. Es ist ein einfaches Python Script. Sollte ab Python 2.2 laufen, möglicherweise sogar mit Python 2.1 (ist aber nicht getestet). Das Script wird im Source konfiguriert (ich hab Kommentare dazu geschrieben) und dann einfach mit mehreren Logfiles als Parameter aufgerufen. Es sammelt aus Apache Combined Logs raus welche Sites wie oft auf angegebene Dateitypen (konfigurierbar, eingestellt sind einige Bildertypen) deep linked. Es spuckt dazu ein HTML Fragment raus das man mit Header und Footer garnieren kann um es online zu stellen - zum Beispiel entstehen so meine Zeitgeist-Seite für Deep Links. Die anderen Seiten haben ähnlich aufgebaute Scripte, nur das halt Suchbegriffe und generelle Referrer eingesammelt werden.

Ich guck mir ab und an die Deep Linker Liste an und wenn dann da jemand auftaucht der recht viel deep linkt und kein Aggregator oder News-Service ist, dann kriegt derjenige ein entsprechendes Austauschbild vorgesetzt. Aber eben auch wirklich nur diese Sites. Mich stört das nämlich auch immer wenn mir in meinem Feedreader unterstellt wird ich sei ein Bilderdieb oder Traffic-Räuber

Mach mir den Ackermann

Hotel Falckenstein: Mach mir den Ackermann - und womit? Mit Recht! Diese Oberabzocker auch noch zum Honorarprofessor für Wirtschaftswissenschaften an der Frankfurter Goethe-Universität zu machen ist einfach nur eine Frechheit.

Podcasts? Nö.

podcast.jpg

Weiteres zu Drupal

Was mir bei meinen Spielereien mit Drupal noch aufgefallen ist: im Unterschied zu WordPress ist das Datenbankmodell recht komplex. WordPress ist ziemlich stumpf - einfach ein paar Tabellen mit Daten drin, das meiste recht straight forward. Wenn man was ändern will kann man jederzeit auf SQL Ebene damit rumwurschteln und z.B. Importscripte, Reparaturscripte etc. schreiben. Alles wird immer on the fly ermittelt - Zähler, Listen etc.

Drupal hingegen benutzt recht aufwändige Caching-Mechanismen in der Datenbank. Auch Sachen aus dem Filesystem werden gecached. Dadurch hat man mit kleinen Scripten höheren Aufwand, da man wesentlich mehr Stellen berücksichtigen muss - mindestens den Cache beseitigen, damit er rekonstruiert wird. Auch ist das Datenmodell wesentlich stärker ausnormalisiert. Das ist natürlich gut vom Design her - aber für kleine Scripte natürlich aufwändiger, da man an mehr Stellen anpacken muss.

Das ist jetzt keine Wertung, nur eine Beobachtung - beides hat Vor- und Nachteile. Die Vorteile des Drupal-Ansatzes scheinen sich in der Performance zu zeigen, die nicht nur wegen der etwas aufgeräumteren PHP-Struktur etwas besser als die von WordPress scheint (wobei ich da keine harten Zahlen habe - erst brauche ich ein brauchbares Import-Script für meine Postings um mit gleichen Ansätzen zu arbeiten).

Was mir noch aufgefallen ist: die PostgreSQL-Unterstützung (ja, ich habs jetzt endlich laufen!) in Drupal ist definitiv hinter der von MySQL zurück. Zum Teil gibts mit PostgreSQL Fehlermeldungen die mit MySQL nicht auftreten. Zum Beispiel beim Passwort-Wechsel gabs Probleme weil ein nicht existentes Feld angesprochen wurde. Oder bei der Übersicht der im Newsreader abonnierten Quellen gabs ne Meldung weil ein nicht-aggregiertes Feld eines komplexen SELECTs nicht als Gruppierungsfeld aufgeführt wurde. Oder beim ersten Zugriff, wo für das Feld uid in der Tabelle sessions kein Wert angegeben wurde, obwohl es als NOT NULL deklariert ist. PostgreSQL ist halt deutlich pingeliger als der Karteikasten. Mit PostgreSQL wird man definitiv Hand an den PHP-Code legen müssen. Mal schauen, wenn ich fertig bin mache ich vielleicht mal einen Patch fertig, der diese Probleme behebt. Bis jetzt sinds nur Kleinigkeiten, die aber für Nicht-Programmierer durchaus eine Hürde darstellen können. Zum Teil basieren die aber sicherlich auch auf den etwas älteren Versionen aus der Debian Stable (z.B. ist das PgSQL API in PHP in neueren Versionen deutlich anders benannt als in der 4.1.2).

Wordpress Dateien und Ladereihenfolge

Wordpress file loading beschreibt in welcher Reihenfolge welche PHP-Files von WordPress geladen werden um eine Blogseite zu produzieren. Ganz interessant wenn man plant was zu verändern an Dateien - es gibt eine erste Orientierung wo man was finden könnte. Was allerdings auch auffällt: dafür das WordPress eigentlich recht schlanke Seiten produziert hat WordPress selber schon ganz schön Speck auf den Hüften

Wordpress to Drupal Migration Script

Wordpress to Drupal Migration Script - kann aber im Moment wohl nur von Karteikasten nach Karteikasten migrieren - eine richtige Datenbank als Ziel muss man ihm unter Umständen erst beipulen.

Update: naja, das Script macht wirklich nur die Übertragung der Postings. Keine Post-Slugs (also kein Erhalt der URLs), keine Kategorien, nix. Kann man vielleicht benutzen wenn man nur ein sehr einfaches WP-Blog hatte, aber ansonsten ist es doch arg mager. Und bei grossen Blogs fliegt es einem nach einer Weile mit einem Fehler um die Ohren - der erlaubte Speicher ist erschöpft. Denn PHP benutzt von der Kommandozeile die Einstellungen für das CGI - und auch da ist der Speicherbedarf begrenzt. Dazu kommt dann noch, das es keinerlei Duplikateerkennung hat und deshalb lustig beim zweiten Lauf alles nochmal importiert.

Klingt so als ob ich mir da wohl doch was eigenes schreiben müsste, wenn ich das ganze mal ernsthaft ausprobieren wollte.

Arbeitgeber wollen neue Studienfinanzierung

Arbeitgeber wollen neue Studienfinanzierung - eigentlich gehe ich ja davon aus das diejenigen die etwas ändern wollen entweder direkt dieses Etwas verwalten, oder zumindestens bereit sind es demnächst zu finanzieren. Sprich: wenn die Arbeitgeber die Studienfinanzierung ändern wollen, sollen sie zu erst mal die Studienfinanzierung, Kindergeld etc. auch bezahlen. Denn so ist das nur hohles Phrasendreschen - die Arbeitgeber haben mit den genannten Sachen nämlich nix zu tun und schreien nur mal wieder populistisch was in die Runde.

Ist doch wirklich faszinieren wie sie Zahlungen die sie selber nicht leisten reglementieren wollen und dazu dann ein Kreditinstitut einsetzen wollen, das sie nicht finanzieren. Hätte Hundt was davon gesagt das die Arbeitgeber eine Sozialkasse zur Stützung der Studienfinanzierung einrichten und bestücken, dann wäre das ein innovativer Vorschlag gewesen. So ist es nur Blah-Blah.

Unsere Arbeitgeberverbände sind halt wirklich auf den Hund gekommen.

Google-Suche: gemölter

Ich wollte nur mal drauf hinweisen das ich bei der Suche nach gemölter bei google.de auf dem ersten Platz bin

liquid design auf em/ex Basis

Aus dem CSS Zen Garden: ein liquid Design das sich an em und ex orientiert und deshalb im Layout mit einer geänderten Fontgrösse mitwächst und schrumpft. Das wäre eventuell eine brauchbare Basis für mein Blog, denn gerade die Tatsache das ein fixed Design bei Fontgrössenänderung nicht sonderlich stabil reagiert stört mich an Kubrick.

Jetzt muss ich nur noch rauskriegen wie ich das vernünftig umsetze. Vor allem die Kopfgrafik muss ich dann wohl deutlich anders einbringen - Bilder wachsen ja nunmal nicht sinnvoll mit. Mal schauen ob ich irgendwann Lust zum Basteln finde.

Wer hat Schuld am braunen Mann?

Wer hat Schuld am braunen Mann?

Wann, wenn nicht jetzt will die Union diese an, nein, über den rechten Rand der Vernunft und Humanität in die Nazischeiße geratenen Schäfchen denn wieder einfangen? Sachlicher ausgedrückt: was macht die bürgerliche Opposition derzeit für die von der Regierung Enttäuschten derart abschreckend, dass sie lieber hergelaufenen Verbrechern und ewig Gestrigen nachlaufen? Das ist die große politische Frage der Gegenwart, viel wichtiger als jene, ob man Parteien wie NPD oder DVU verbieten sollte oder nicht.

Chefvolkswirt Walter liest Deutschen die Leviten

Chefvolkswirt Walter liest Deutschen die Leviten - ach ja, wenn die Schergen der Geldsäcke jammern ist es Analyse und angeblich konstruktive Kritik. Was dann hinten rauskommt - worauf es ja, wie wir seit Kohl alle wissen, ankommt - ist nur Scheisse. Aber was wird man schon vom Chefvolkswirt eines der grössten Abzockunternehmen (wir erinnern uns: die haben gerade trotz Rekordabschluss einen Abbau von ein paar tausend Mitarbeitern geplant - was sicherlich der Volkswirtschaft ganz doll gut tun wird) anderes erwarten.

zorniges Gesicht

Die arme Filmindustrie und die Bagetellgrenze

Filmindustrie macht gegen "Raubkopierer-Klausel" mobil - wenn ich mir das geheule so ansehe, dann vergeht mir sowieso schon mal wieder die Lust auf Filme. Ins Kino geh ich eh kaum noch seit es nur noch die Monsterkinos gibt, in denen man sich ungefähr so gemütlich fühlt wie in der Bahnhofsvorhalle. Und auf DVD - sorry, aber was soll ich mit Filmen, die mich im Heimkino dann mit 15 Minuten Werbung für anderen Filme-Schrott den ich nicht will - und wollte ich ihn, dann hätte ich ihn wohl schon längst - malträtieren?

Statt sich mal Gedanken zu machen wie man sinnvoll auf moderne Techniken reagiert macht sich die Filmindustrie lieber Gedanken darüber, wie sie ein überholtes Denkmodell weiter zementieren kann. Und schreit nach Hilfe durch den Staat. Was für eine Moppelkotze.

Don't reset existing password on request, prevent DoS password reset abuse | drupal.org

Don't reset existing password on request, prevent DoS password reset abuse - tja, genau das Problem hab ich auch bemerkt und konnte nicht fassen das tatsächlich jemand sowas in ein CMS eingebaut hat. Man kann in Drupal für einen Benutzer das Passwort wechseln - und zwar für jeden. Das neue Passwort wird dann diesem Benutzer per Mail zugeschickt. Man kann also darüber keinen illegalen Zugriff erlangen, ausser man kann die Mails des Benutzers abfangen (was in der Regel wohl hoffentlich nicht der Fall sein wird). Aber man kann einen Admin aussperren: einfach einen Job aufsetzen der minütlich das Passwort des Admins zurücksetzt. Und dann diese zwangsweise Abwesenheit des Admins dazu nutzen um das Drupal vollzuspammen zum Beispiel.

Sowas ist wirklich ein peinlicher Patzer. Wird leider viel zu gerne und viel zu häufig gemacht. Wer also Drupal betreibt, dem sei der Patch empfohlen (aufpassen, der Autor hat zwei Patches reingereicht, der erste war noch buggy). Liess sich problemlos installieren und behebt zumindestens die Aussperrung des Admins. Nervige Mails kriegt man natürlich trotzdem dabei.

Firefox - IDN - 0 Info - 0 Transparenz

Kai schimpt über Firefox - IDN - 0 Info - 0 Transparenz - und er hat Recht mit seinem Rant. Von kommerziellen Providern ist man ja dieses Security-Gemauschel gewöhnt, aber bei Open-Source-Projekten nervt es mich auch jedes Mal ganz besonders. Wann kapieren die Leute endlich mal das nur eine frühe Disclosure den Usern überhaupt die Chance gibt sich zu sichern? Geheimhaltung von Fehlern basiert auf der absurden Annahme das man der erste sei der diesen Fehler bemerkt hat. Was schlicht albern ist: ein Blackhat der diesen Fehler bemerkt wird ganz sicher nichts an die grosse Glocke hängen sondern diesen Fehler so lange wie möglich ausnutzen. Und damit profitiert von einer zu langen Geheimhaltung nur derjenige, dem man nicht helfen sollte.

Im Fokus der Überlegungen rund um Security muss der Benutzer stehen - und zwar der mündige Benutzer, der in der Lage ist die Informationen in sinnvolles Handeln umzusetzen. Den unmündigen Benutzer scherts eh nicht, der klickt auf alles. Aber ein Sysadmin der ein Problem kennt kann zumindestens durch eigene Aufklärung seiner User dazu beitragen das diese vielleicht für eine gewisse Zeit etwas vorsichtiger sind. Ein nicht informierter Sysadmin hat dazu nicht mal die Spur einer Chance.

Gen-Pflanzen Forschung in Münster

Die Uni hat ein Gewächshaus zur Forschung an gentechnisch veränderten Pflanzen gebaut. Ich kann irgendwie nicht behaupten das ich da sonderlich begeistert von bin, das es in der Nachbarschaft steht. Nicht unbedingt wegen des Gewächshauses - aber wo ein Gewächshaus ist, will irgendwann auch jemand Freilandversuche machen.

verwirrtes Gesicht

Jupp, Drupal will mich in den Wahnsinn treiben

Ganz eindeutig. Ich weiss nicht was es gegen mich hat, aber es hasst mich heute. Ganz massiv.

Ich hab mir das kubrick-Theme einfach unter einen eigenen Namen kopiert, damit ich es anpassen kann ohne das Kubrick-Theme selber zu ändern. Witzigerweise benutzt es jetzt aber nicht mehr die phptemplate-Engine. Oder genauer: der Eintrag in der Tabelle system (type='theme' und dann für das page.tpl.php) zeigt nicht auf phptemplate.engine, sondern auf phptemplate - das .engine fehlt. Wenn ich es per Update anhänge, funktioniert das genau ein mal. Danach wird dieser Eintrag in der Tabelle system überschrieben und .engine ist futsch und das Template kaputt. Mit Kubrick tuts das natürlich alles. Und natürlich findet man nirgendwo eine Info wo verflixt nochmal das Theme sagt welche Template-Engine benutzt werden soll - und wie dieser Eintrag in der Tabelle system entsteht. Nein, so einfach nach phptemplate.engine grepen bringt nix.

Ok, mir ist jetzt klar das die Engine die Einträge erzeugt - jedenfalls nachdem ich mir den Source zur Engine mal näher angeguckt habe. Da wird nach page.tpl.php gesucht und wenn das gefunden wird, wird mit der phptemplate.engine verbunden. Aber warum sollte die Engine ihren eigenen Namen falsch eintragen? Zumal sie es bei Kubrick ja richtig macht. Das hab ich ja auch einfach nur ausgepackt in das themes-Verzeichnis.

Jut, also weiter forschen. Ein grep -r auf INSERT in Kombination mit system findet dann im system.module die Funktion system_obtain theme info, in der diese Sätze geschrieben werden. Aber wie und wo genau da jetzt was damit gemacht wird - sorry, aber das findet man nicht raus ohne längeres Studium. Irgendwie wird das description Attribut mit einem Wert gefüllt der beim Kubrick-Theme mit .engine endet und bei allen anderen nicht. Kubrick referenziert die Theme-Engine exakt und korrekt, aber eine beliebig benamste Kopie von Kubrick mit identischem Inhalt referenziert eine Theme-Engine ohne .engine im Namen und tuts nicht. Toll. Aber Kubrick umbenennen funktioniert. Hä?

Ok, nächster Ansatz. Mein Template umbenennen in was anderes und Kubrick umbenennen in meinen eigentlich gewünschten Namen. Verwirrung komplett: mein Template tut nicht, aber das jetzt kubrick heissende und vorher nicht funktionierende tut jetzt auch nicht. Äh .. Also das Kubrick in was anderes umbenannt. Und mal mein zwischengelagertes ausprobiert. Das tuts jetzt. Unter einem Namen der nicht Kubrick ist. Hä? Hütchenspiel? Benenne jetzt die Themes so lange um bis ich irgendwann unter dem von mir gewünschten Namen ein funktionierendes habe und dann ist gut?

Also mal versucht das Hütchenspiel aufzulösen. Computer sind doch deterministische Kisten, das muss doch gehen. Ok, beide Templates (originales Kubrick und mein Hugo) umbenannt. In aa und bb. Und welches funktioniert? Das was bb heisst. Nochmal das ganze, nur jetzt die Rollen vertauscht. aa wird bbb und bb wird aaa. Welches funktionert jetzt? Das was "bbb" heisst. Wenn zwei phptemplate.engine basierte Themes im System installiert sind, funktioniert nur das zuletzt im System gefundene zum Zeitpunkt wo nach den Themes gesucht wird. Die anderen gehen kaputt.

Also muss ich jetzt erstmal rauskriegen was eigentlich mit den alten Themes los ist, warum die nicht zum Funktionieren zu kriegen sind. Erster Ansatz: einen Dump der Datenbank machen und mit grep gucken wo überall meine Freunde auftauchen. Dabei hab ich dann gleich gefunden was mit dem ominösen phptemplate ohne .engine ist: die entsprechenden Einträge enthalten statt des Punktes einen chr(0). Ascii-Null. Wird von MySQL zwar gespeichert, aber von PHP wohl abgeschnitten beim Zugriff. Und für die ganzen alten Templates sind diese ganzen kaputten Einträge da. Ausserdem hat sich noch die engine im Eintrag phptemplate extra templates in der Tabelle variable gemerkt welche Themes sie schon gesehen hat.

Noch mal ein clean room Test: die Einträge in der Tabelle system mit type='theme' und description like 'themes/engine/phptemplate%' rauswerfen. Dann weiss er nix mehr von den Themes und ihren Namen. Dann nur mein gewünschtes Template haben und dieses dann aktivieren. Und siehe da, es funktioniert auf Anhieb. Dann mal kubrick ausgepackt. Und es funktioniert. Danach tuts aber mein eigenes Theme nicht mehr. Wie erwartet - kubrick kommt im Alphabet nach hugo. Kubrick wieder löschen und schon tuts mein eigenes Theme wieder - nach entsprechendem Refresh.

Also nachforschen wo zum Kuckuck diese Geschichte passiert und wieso. Es passiert ja nur mit den phptemplate.engine Themes. Die xtemplate.engine Themes tuns ja problemlos. Wobei sich herausstellt das die es trotz des Bugs tun - er betrifft sie auch. Denn im system.module in system_theme data (wie ich das rausgefunden habe erspare ich den Lesern mal - es war einfach sukzessives Einsetzen von echo Befehlen um zu gucken wann wo was kaputt geht) wird im letzten Schritt - im Aufruf von system obtain theme info - an den Files das description-Element zerstört. Und das ist es, das in die Systemtabelle gespeichert wird um auf die Theme-Engine zu referenzieren. Nur das letzte Theme einer Engine behält den korrekten Eintrag, alle anderen sind kaputt.

Hmm. Der basename-Aufruf in Zeile 336 ist der einzige Kandidat - er liefert eigentlich nur die Theme-Engine ohne das .engine hinten dran raus. Aber er sollte das eigentliche Feld nicht verändern, deshalb hatte ich ihn vorher nicht sonderlich beachtet - die PHP-Doku sagt nix über Seiteneffekte dieser Funktion. Aber wenn ich den Eintrag auskommentiere, funktinioniert mein Theme und Kubrick auch - gleichzeitig. Im PHP Handbuch steht aber nix davon, das basename den ursprünglichen String verändert.

Also ein kleines Testscript geschrieben, das nur einen basename-Aufruf macht. Örks. Ja, das ist es - basename verändert den Ursprungsstring, und zwar haut es einen chr(0) anstelle des Punktes rein. Und siehe da, es gibt einen Bugreport aus 2002 dazu - ja, ich hab ne alte PHP 4.1.2 Version laufen, da Debian Stable. Beim Bugreport steht eine brauchbare Lösung für mein Problem - einfach die Variable in "" setzen und so mit String-Interpolation arbeiten. Und siehe da, Problem gelöst. Und Knoten ins Ohr machen: bei 4.1.2 macht basename die Quellvariable kaputt.

Und mit so einem Scheiss (damit mein ich den Bug, nicht Drupal) beschäftigt sich ein Programmierer beim Debugging

Ich hätte auch einen anständigen Job erlernen können. Whisky-Fass-Bewacher bei Jack-Daniels zum Beispiel ...

Manche Projekte wollen mich in den Wahnsinn treiben

oder so könnte man zumindestens meinen. Heute im Programm: Drupal 4.5.2. Nettes Paket, gefällt mir vor allem weil es jetzt auch Kubrick als Theme für Drupal gibt und weil es recht mächtig ist und trotzdem noch einigermaßen überschaubar. Nur falle ich jedesmal wenn ich mich nach längerer Zeit wieder damit beschäftige auf die gleichen Sachen rein: zum Beispiel die Aktivierung von Übersetzungen. Ist ja toll das es Übersetzungen gibt. Aber wenn es nirgendwo auf der Website auch nur Andeutungen darauf gibt was man machen muss, dann sitzt man schon ziemlich doof da. Ok, ja, man muss nur das locale.module aktivieren. Und wo bitte steht das? In der x-ten Hierarchie im Administrationsmenü. Genauso toll: es wird eine Datenbankanbindung für PostgreSQL mitgeliefert. Dummerweise ist die aber erst ab PHP 4.3 brauchbar - ältere Versionen werden nicht unterstützt, obwohl Drupal ab 4.1 läuft. Nachdem ich alles umeditiert habe auf die alten Funktionsnamen liefs immer noch nicht: da fehlte scheinbar ein default für die Spalte uid in der Tabelle sessions. Nachdem ich das gesetzt hab, hängte sich das PHP auf beim Zugriff auf die Site. Ok, ja, ich weiss, MySQL nehmen (ich mag MySQL aber nicht ...). Fein, jetzt bin ich drin, ich hab auch Kubrick als Layout und deutsche Übersetzungen. Ok, einen Teil des Systems in Deutsch - da fehlen Berge von Strings. Also weiss ich was ich demnächst mal wieder machen werden. Toll. Genauso toll wie der Default-Wert für das Fileverzeichnis, der einfach nur "files" ist. Was nicht funktioniert wenn man Bilder upload für Benutzer erlauben will, weil dann "files" und "pictures" ohne / aneinandergehängt werden. Und nein, der / darf nicht vor "pictures" stehen, sondern muss hinter "files" stehen. Das bei Kubrick das Menü in der rechten Spalte bei der Aktivierung von Blöcken natürlich als "links" ausgewählt werden muss, brauche ich sicherlich nicht extra zu erwähnen. Und das das Handbuch alles andere als aktuell ist - sorry, aber das ist einfach lachhaft. Da wird noch von Verzeichnisstrukturen zum Teil gesprochen, die gibts garnicht mehr. Nein, die Einstellungen sind nicht in sites/default/settings.php - die sind in includes/conf.php.

Menno. Das ist so ein schönes Projekt. Und das ganze System ist wirklich leistungsfähig und stabil. Aber die Dokumentation ist wirklich ein Witz. Manchmal hab ich das Gefühl die Leute dokumentieren garnicht Drupal sondern irgendwas anderes

Schön ist es trotzdem, also will ich mal nicht zu laut meckern. Andere machens ja auch nicht wirklich besser. Trotzdem - könnte so schön sein, wenn der Hinweis auf das Online-Handbuch wirklich helfen statt verwirren würde ...

Spreeblick: Sweety Records

Spreeblick erklärt uns die Musikindustrie: Sweety Records

Teufelsgrinsen

Hartz-IV-Urban-Legend

Urban Legends Reference Pages: Media Matters (Hot Jobs) beschreibt wie aus einer hypothetischen Überlegung der TAZ und einem Bericht über einen Bordellbetreiber der keine Prostituierten für sein Bordell findet (und sie nicht über das Arbeitsamt suchen darf, weil sich dieses weigert solche Jobs auszuschreiben) dann Tatsachenberichte in der englischsprachigen Presse wird, in denen dann behauptet wird das Frauen die sich weigern Jobs als Prostituierte anzunehmen ihr Arbeitslosengeld verlieren würden.

Soviel zum professionellen Journalismus

Teufelsgrinsen

Wobei ich allerdings hoffen möchte das nicht durch unsere ach so tollen Prolethiker irgendwann aus der Zeitungsente nachträglich die Wahrheit wird ...

Neuer Phishing-Angriff in vielen Web-Browsern möglich

Bei golem gelesen: Neuer Phishing-Angriff in vielen Web-Browsern möglich. Klasse. Wieder mal schludrig implementierte Lösung und schludriger Standard. Das ganze Umlaut-Domain-Geraffel ist eh so ein Unfug das man sich fragt wieso das überhaupt umgesetzt wurde - allein schon die Tatsache das der Mist nur für Webseiten funktiniert und die IDNs nicht für irgendwas anderes sinnvoll nutzbar sind hätte jeden drauf stoßen müssen was für ein Quatsch das ist. Und jetzt ist es auch noch ein Phishing-Loch.

Clement für Anhebung des Rentenalters

Clement für Anhebung des Rentenalters - klasse Idee. Erstmal werden die Wochenarbeitszeiten hochgedreht. Dann die Lebensarbeitszeit. Und dann sind wir wieder da, wo wir mal waren: Arbeiter treten sozialverträglich vor Erreichen des Rentenalters den Weg in den Sarg an. Und schon gehts der Rentenversicherung wieder besser.

Doing the GNUstep two-step

Doing the GNUstep two-step ist ein schon älterer Bericht über die GNUStep Live CD. Ich verlink den nur, weil dort ein Problem drin beschrieben ist, das mich selber auch schon genervt hat: die CD bootet nicht. Was für eine Live-CD ziemlich dämlich ist. Und nein, die Argumentation das es auf einigen alten Rechnern nicht bootet zieht nicht - der Rechner der hier das Problem hat ist gerade mal ein Jahr alt.

Die GNUStep Live CD Entwickler sollten wirklich das Problem mal angehen und lösen - denn wenn auf einem Rechner alle möglichen Knoppix-Varianten booten, auch die Gnoppix-CD bootet - dann gibt es keinen Grund, das die GNUStep CD nicht booten sollte. Und nein, Disketten sind keine Alternative - der Rechner hat kein Diskettenlaufwerk. Dafür ist er einfach zu neu ...

GeoURL ist wieder da

GeoURL ist neu belebt worden - bzw. es ist ein neuer GeoURL Service aufgebaut worden. Einfach hingehen, die eigene Site anmelden und dann einen Link wie meinen in der Nähe Link einbauen. Und schon können wir wieder sehen wer in der Nähe sitzt. Das ganze ist noch etwas spartanisch, aber es reicht um Nachbarn zu finden (Grüsse rüber nach Paderborn en Groetjes naar Enschede!).

Um meinem eingerostetes Niederländisch (ich kanns zwar relativ fliessend lesen, aber nur extrem holperig schreiben) zu helfen hat mir übrigens das deutsch-niederländische Wörterbuch bei pauker.at geholfen.

Update: cool, kaum postet man darüber, schon kommen auch andere Nachbarn wieder zum Vorschein. Und was stelle ich fest: die Gedankenschnipsel sind jetzt auch mit WordPress unterwegs.

Optimization Surprises

In dirtSimple.org: Optimization Surprises schreibt Phillip J. Eby über Optimierungen die er an seiner Implementation von generischen Funktionen in Python gemacht hat. Ich finde es immer wieder faszinierend wenn er über dieses Projekt schreibt, weil mir generische Funktionen gut aus Common Lisp bekannt sind. Faszinierend ist allerdings auch wie er halbe Mikrosekunden an Performance rausquetscht

In seinem Fall macht das übrigens durchaus Sinn, da es ja um eine zentrale Maschinerie geht die bei generischen Funktionen ständig aufgerufen wird. Minimale Performancesteigerungen machen in engen Schleifen eine ganze Menge aus.

Auch sehr interessant ist was er über die inneren Mechanismen von Python herausfindet und welche Auswirkungen z.B. alleine die Existenz von Closures in einer Funktion auf die Abläufe hat.

Spannend. Absolut spannend.

Oralux: Linux für Blinde

Wo wir gerade bei Live-CDs sind: Oralux ist eine Live-CD mit einer Debian-basierten Distribution die speziell auf Menschen mit Sehbehinderung ausgelegt ist. Sie fragt sehr früh nach einem Sprachinterface und ist insgesamt darauf ausgelegt das man mit Sprache gesteuert wird.

Spongebob promoted Schwulsein?

In einem neuen Anlauf auf den Titel der bescheuertsten Schwulenhasserorganisation der USA schiesst sich Focus on the Family auf Spongebob Schwammkopf ein. Ja, genau, dieser kleine gelbe Schwamm mit seinem etwas dämlichen Freund Patrick den Seestern. Oh Mann. Was sind das für bekloppte Leute, wenn ihrem Experten für Erkennung von Homosexualität Spongebob komisch vorkommt. Ok, es ist schon bescheuert genug wenn man meint einen Experten für die Erkennung von Homosexualität haben zu müssen. Irgendwie wäre diese Paranoia der Amerikaner vor den Schwulen ja direkt lustig, wenn nicht die Homosexuellen in den USA so darunter zu leiden hätten. Nunja, im Land der Redefreiheit darf man eben ungestraft ein Nazi sein, aber Schwul - nene, das ist doch böse.

Bloglines an Ask Jeeves verkauft

Bloglines ist an Ask Jeeves verkauft - und wie seht ihr das jetzt mit der Verwendung eures Feeds in Bloglines? Ist das immer noch genauso ok wie vorher? Oder ist da jetzt ein Unterschied, wo plötzlich grösseres Geld fliesst?

Bookmarklets und FireFox

Da ich mal testweise meine Umgebung etwas umgebaut habe und CodeTek Virtual Desktop rausgeflogen ist konnte ich mal ein bischen mit FireFox spielen (der ist ja mit dem CodeTek-Teil inkompatibel und macht ziemlich viel Murks wenn man ihn damit benutzt). Dabei ist mir was seltsames aufgefallen: wenn ich das Bookmarklet von WordPress benutze, mit dem ich eine Seite bloggen kann, dann wird das kleine Fenster immer in den Hintergrund gestellt. Irgendwie blöd - man muss die grosse Webseite vorne wegklappen um dranzukommen. Hat sowas noch jemand mal gesehen und weiss vielleicht eine Lösung?

Erstmal bin ich beim Browser wieder auf Camino zurück. Ist ja vom Renderer her sowieso das gleiche.

Pentagon-"News"-Webseiten

Das Pentagon bezahlt Newsseiten im Internet mit leicht tendenzieller Berichterstattung. Ziel: das Image der amerikanischen Politik zu verbessern. Selbst CNN berichtet da schon drüber. Und nein, sowas ist nicht lustig - eher im Gegenteil.

Pentagon officials say the goal is to counter "misinformation" about the United States in overseas media. - klar, glauben wir alle, die wollen nur falsche Informationen richtigstellen. Und auf keinen Fall eigene Lügen verbreiten. Sowas würden wir doch nie vermuten.

Spammer in Vorbereitung

Aus gegebenem Anlass eine Info und Warnung: wer in seinem Weblog in den Kommentaren im Moment so Sachen mit Inhalt I agree with you findet, kann unter Umständen Vorbesuch eines Spammers haben. Und zwar haben auch die Spammer geschnallt das man in manchen Blogs (speziell neuere Wordpress-Versionen) erst einen freigeschalteten Kommentar haben muss um dann mit dieser Adresse weitere Kommentare abzuladen - die dann natürlich nur noch Spam sind. Von daher: auch wenn es nett ist wenn einem jemand zustimmt, in diesem Fall könnte man sich mit der Freischaltung des Kommentars ein Kuckucksei gelegt haben.

Stoiber: Rot/Grün schuld am NPD-Erfolg

Stoiber meint Rot/Grün sei am NPD-Erfolg schuld - natürlich liegt deren Erfolg garantiert nicht an der ständigen Rechts-Kokettiererei der Unionsparteien und der FDP. Nein, es ist absolut abwegig zu glauben das Wähler die von der Opposition ständig verbale Angriffe auf Ausländer lesen und immer wieder eingetrichtert bekommen wie schlimm die vielen Zuwanderer sind irgendwann einfach eine Etage weiter rechts wählen.

In Zeiten in denen Bundeskanzler Kohl Brandreden gegen Ausländer gehalten hat, gabs auch Brandbomben gegen Asylbewerberheime.

Natürlich ist die Arbeitslosigkeit und generelle wirtschaftliche Situation dieser Menschen ein wesentlicher Faktor - aber der wird nicht unerheblich von den unionsregierten Ländern mitbestimmt. Wie viele Ansätze wurden im Bundesrat blockiert, weil sie den Unionsparteien nicht weit genug gehen? Ich kann nicht erkennen wo in der Ausländerhetze der CSU und den ständigen Forderungen nach noch mehr Sozialabbau der CDU und FDP irgendwo Perspektiven stecken sollen, die NPD-Wähler dazu motivieren sollen eine andere Partei zu wählen.

Sorry, aber die NPD-Erfolge können sich alle grossen Parteien anheften, die haben sie gemeinsam verbockt. Da ist auch die Blauäugigkeit von Müntefering einfach nur noch lächerlich - natürlich sind die Wähler die Verursacher des NPD-Erfolges. Aber die grossen Parteien legen die Grundlagen genauso mit wie der Rest der Gesellschaft. Etwas anderes zu behaupten hieße das die Tagespolitik kein Bestandteil der Gesellschaft und der gesellschaftlichen Entwicklung wäre - und das ist hochgradig absurd.

Und sorry, aber Allgemeinplätze wie von unserem Bundespräsidenten helfen da auch nicht weiter - wenn das wirklich ein Weckruf war, was in Sachsen passiert ist - wo sind dann die aufgewachten Politiker? Verstecken die sich jetzt vor Angst unterm Bett? Wo ist die sachliche Auseinandersetzung, wo ist die kategorische Ablehnung - wenn in Sachsen immer wieder die NPD-Politiker Sympathiestimmen erhalten? Wenn ein Ministerpräsident eines gewissen Hessens Vorworte in Ultrarechte Bücher schreibt? Wenn Unionspolitiker selber Brandreden halten oder Parteimitglieder unterstützen, die immer wieder deutlich antisemitische Äusserungen vom Stapel lassen?

Der Realitätsverlust mancher Politiker nimmt erschreckende Ausmaße an. Leute, ihr seid Teil der Gesellschaft - und eure Handlungen bestimmen die Richtung der Gesellschaft wie die Handlungen keiner anderen Bevölkerungsgruppe. Und als Teil der Gesellschaft seid ihr ein Teil des Problems.

Tagging bei blogg.de

blogg.de macht jetzt auch Tagging - und nach Rückfrage von mir jetzt auch so wie Technorati. Also mit dem category-Tag im RSS-Feed, wenn dort eines vorkommt. Da ich bei mir die Kategorien sowieso schon immer wie Tags benutze ist das also ausgesprochen praktisch - mein Postings landen in der richtigen Ecke bei blogg.de. Fein. Übrigens ist das auch meiner Meinung nach die intelligentere Alternative zu den einfach aufzusetzenden Gruppenblogs wie sie über Topicexchange realisiert werden sollten - einfach einen zentralen Pingdienst und entsprechende Einträge im RSS Feed.

Und wieder mal Markenwahnsinn

Der Hermenschauer wurde aufgefordert einen Artikel zu entfernen der auf diesen Artikel bei Feuerwehr.de verweist. Im dem Artikel geht es um eine Firma die eine kombinierte Word+Bild Marke auf First Responder hat und versucht gegen einfache Nennungen des Wortanteils in Domains und Onlinepräsentationen vorzugehen. Und das obwohl sie schon - laut Beschreibung bei Feuerwehr.de - vor Gericht dafür Abfuhren erteilt bekommen hat und es eine klare Aussage gibt, das deren Marke eben nur in Kombination gültig ist.

Für mich sieht das ziemlich nach Zensurversuchen aus. Wobei der Sinn sich mir nicht erschliessen will - die Markeninhaberin hat scheinbar ein Online-Magazin rund um das Thema aufgezogen. Oder will das aufziehen. Sowas funktioniert aber wohl kaum wenn man vorher die Leute, die mit dem Thema effektiv zu tun haben, vor den Kopf stösst. Wer soll denn Interesse an so einem Online-Magazin haben, wenn er vorher von denen eine Abmahnung bekommen hat?

Klar, die teilweise privat aufgezogenen Feuerwehr-Seiten sind mögliche Konkurrenten - aber so ist es eben im Internet, man ist da nicht alleine. Da helfen auch keine Anwälte.

US-Musikindustrie hat Verstorbene des Dateitauschs bezichtigt

US-Musikindustrie hat Verstorbene des Dateitauschs bezichtigt - die haben sich bestimmt von Kanther beraten lassen Aber sehr nett finde ich es von der Musikindustrie das sie die Klage jetzt vielleicht fallen lassen wollen. Man muss hartnäckig sein - auch toten Frauen oberhalb der 70 kann man Musiktauscherei ohne Computer nicht durchgehen lassen ...