Archiv 6.1.2005 - 14.1.2005

VW-Zahlungen: Bundestagsabgeordneter tritt zurück

Wieso sind Politiker eigentlich grundsätzlich so blöd zu glauben das ihre Lügen nicht rauskommen? Oder wieso versuchen sie jedes Mal bei solchen Sachen wie den Nebeneinkünften, bei irgendwelchen Miles-and-More-Geschichten oder was sonst auch immer an Kleinkorruption so am kochen ist sich mit wirklich banalsten Lügen rauszuwinden?

Caching für PHP Systeme

Es gibt ja grundsätzlich zwei Wege wie man in einem PHP-basierten System caching betreiben kann. Ok, es gibt viel mehr, aber zwei Hauptwege sind deutlich erkennbar. Ich hab mal zusammengeschrieben was in dem Zusammenhang interessant ist - gerade weil im Moment ein paar Kollegen unter hoher Serverlast zu leiden haben. Das ganze ist allgemein gehalten, betrachtet aber aus begreiflichen Gründen auch die speziellen Folgen für WordPress.

  • Caching von vorkompilierten PHP Seiten
  • Caching von Seitenoutput

Zu beiden Hauptwegen gibt es eine ganze Reihe von Varianten. Die PHP Seiten selber liegen bei Webservern ja als Source vor - unverarbeitet und nicht irgendwie optimiert für den Ladeprozess. Hat man komplexe PHP Systeme laufen, fällt also bei jedem PHP-File das parsen und kompilieren in den internen Code an. Das kann bei Systemen mit vielen Includs und vielen Klassenbibliotheken durchaus beachtlich sein. An diesem Punkt setzt die erste Hauptrichtung des Cachings an: der erzeugte Zwischencode wird einfach weggespeichert. Entweder in shared Memory (Speicherblöcke die vielen Prozessen eines Systems gemeinsam zur Verfügung stehen) oder auf die Festplatte. Hier gibt es eine Reihe von Lösungen - ich selber setze turck-mmcache ein. Der Grund ist hauptsächlich das es nicht im shared Memory cached, sondern auf der Platte (was aber meines Wissens die anderen ähnlichen Lösungen auch tun) und das es für turck-mmcache ein Debian-Paket gibt. Und das ich bisher relativ wenig negative Erfahrungen damit gemacht habe (jedenfalls bei Debian stable - bei Debian testing sieht das anders aus, da fliegt einem die PHP Anwendung um die Ohren). Da WordPress auf einer grösseren Menge von Bibliotheksmodulen mit recht grossem Sourceinhalt basiert, bringt ein solcher Cache eine ganze Menge um die Grundlast von WordPress zu mindern. Da diese Caches in der Regel vollkommen transparent - ohne sichtbare Auswirkungen ausser der Beschleunigung - sind, kann man einen solchen Cache auch generell aktivieren.

Die Zweite Hauptrichtung für das Caching ist das Zwischenspeichern von Seiteninhalten. Hier kommt als Spezialität hinzu, das Seiten ja oft dynamisch abhängig von Parametern erstellt werden - und daher eine Seite nicht immer den gleichen Output erzeugt. Man denke nur an so banale Sachen wie die Anzeige des Benutzernamens wenn ein Benutzer angemeldet ist (und einen Cookie dafür gespeichert ist). Auch aufgrund von HTTP Basic Authentication (die Anmeldetechnik bei der das Popup-Fensterchen für Benutzer und Passwort kommt) können Seiteninhalte unterschiedlich sein. Und POST-Requests (Formulare die ihre Inhalte nicht über die URL mitschicken) produzieren auch wieder Output der von diesen Daten abhängig ist.

Grundsätzlich muss also ein Output-Cache diese ganzen Eingangsparameter berücksichtigen. Eine gute Strategie ist oft die POST-Ergebnisse garnicht zu cachen - denn dort würden auch Fehlermeldungen etc. auftauchen, die abhängig von externen Quellen (Datenbanken) sind und daher sogar bei identischen Eingabewerten unterschiedliche Ausgaben produzieren könnten. Man kann also eigentlich nur GET-Anfragen (URLS mit Parametern direkt in der URL) sinnvoll cachen. Hierbei muss man aber sowohl die gesendeten Cookies als auch die gesendeten Parameter in der URL berücksichtigen. Sofern das eigene System mit basic-Authentication arbeitet, muss auch das mit einfliessen in den Cache-Begriff.

Ein zweites Problem ist, das Seiten selten rein statisch sind - auch statische Seiten enthalten durchaus Elemente die man eigentlich lieber dynamisch haben möchte. Hier muss man also eine wesentliche Entscheidung treffen: reicht rein statischer Output, oder muss ein Mix kommen? Desweiteren muss man noch die Entscheidung treffen, wie sich Seitenaktualisierungen auswirken sollen - wie merkt der Cache, das etwas geändert wurde?

Ein Ansatz den man verfolgen kann ist ein sogenannter reverse-Proxy. Man packt einfach einen normalen Web-Proxy so vor den Webserver, das jeglicher Zugriff auf den Webserver selber technisch durch diesen Webproxy gezogen wird. Der Proxy steht direkt vor dem Webserver und ist somit für alle Benutzer verbindlich. Da Webproxies das Problem der Benutzerauthentifizierung, der Parameter und der POST/GET-Unterscheidung schon gut beherrschen sollten (in der normalen Anwendungssituation für Proxies sind die Probleme ja die gleichen), ist das eine sehr pragmatische Lösung. Auch die Aktualisierung wird von solchen Proxies meist recht gut gelöst - und im Notfall kann der Benutzer durch einen erzwungenen Reload den Proxy ja überreden die Inhalte neu zu ziehen. Leider geht diese Lösung nur dann, wenn man den Server selber unter Kontrolle hat - und der Proxy zieht noch weitere Resourcen, weshalb unter Umständen dafür kein Platz auf dem Server ist. Auch ist es stark von der Anwendung abhängig wie gut sie mit Proxies klar kommt - wobei Probleme zwischen Proxy und Anwendung auch bei normalen Benutzern aufstossen würden und deshalb sowieso gelöst werden müssen.

Der zweite Ansatz ist die Software selber - letzten Endes kann die Software ja genau wissen wann Inhalte neu erstellt werden und was für das Caching berücksichtig werden muss. Hier gibt es wieder zwei Richtungen der Implementierung. MoveableType, PyDS, Radio Userland, Frontier - diese erzeugen alle statische HTML Seiten und haben deshalb das Problem mit der Serverlast bei Seitenzugriffen nicht. Der Nachteil liegt auf der Hand: Datenänderungen erzwingen ein Neuerstellen der Seiten, was bei grossen Sites nervig werden kann (und dazu geführt hat das ich von PyDS auf WordPress gewechselt habe).

Die zweite Richtung ist das Caching aus der dynamischen Anwendung selber: beim ersten Zugriff wird der Output unter einem Cache-Key gespeichert. Beim nächsten Zugriff auf den Cache-Key wird einfach geguckt ob der Output schon vorliegt, wenn ja wird er ausgeliefert. Der Cache-Key setzt sich aus den GET-Parametern und den Cookies zusammen. Wenn Datenbankinhalte geändert werden, werden die entsprechenden Einträge im Cache gelöscht und damit die Seiten beim nächsten Zugriff neu erstellt.

WordPress selber hat mit Staticize ein sehr praktisches Plugin für diesen Einsatzzweck. In der aktuellen Beta ist es schon im Standardumfang mit drin. Dieses Plugin erzeugt wie oben beschrieben für Seiten einen Cache-Eintrag. Und berücksichtigt dabei die Parameter und Cookies - basic Authentication wird bei WordPress ja nicht benutzt. Der Clou ist aber, das Staticize die Seiten als PHP speichert. Die Cache-Seiten sind also selber wieder dynamisch. Diese Dynamik kann jetzt dazu benutzt werden um Teile der Seite mit speziellen Kommentaren zu markieren - wodurch für diese Teile der Seite dann wieder dynamische Funktionsaufrufe eingesetzt werden. Der Vorteil liegt auf der Hand: wärend die grossen Aufwände für die Seitenerstellung wie das Zuladen der diversen Bibliotheksmodule und das Lesen der Datenbank komplett erledigt sind können einzelne Teilbereiche der Site weiterhin dynamisch bleiben. Natürlich müssen die Funktionen dafür dann so aufgebaut sein das sie nicht das ganze Bibliothekswerk von WordPress brauchen - aber zum Beispiel dynamische Counter oder Anzeigen der gerade aktiven Benutzer oder ähnliche Spielereien lassen sich auch in den Cacheseiten somit weiter dynamisch halten. Matt Mullenweg benutzt es zum Beispiel um auch auf Seiten aus dem Cache ein Zufallsbild aus seiner Bibliothek anzuzeigen. Staticize löscht bei Erstellung oder Änderung eines Beitrags einfach den ganzen Cache - sehr primitiv und bei vielen Files im Cache kann das dann schon mal etwas länger dauern, aber dafür sehr wirksam und pragmatisch.

Welche Caches setzt man sinvollerweise jetzt wie ein? Ich würde bei komplexeren Systemen immer gucken ob ich nicht einen PHP Codecache einsetzen kann - also turck mMCache oder Zend Optimizer oder phpAccelerator oder was es sonst noch so gibt.

Den Anwendungscache selber würde ich persönlich nur dann aktivieren wenn er auch wirklich nötig wird durch die Last - bei WordPress kann man ja ein Plugin vorhalten und nur bei Bedarf aktivieren. Denn Caches mit statischer Seitenerstellung haben nunmal so ihre Probleme - Layoutänderungen sind erst nach Löschung des Cache aktiv etc.

Wenn man einen Reverse-Proxy einsetzen kann und die Resourcen auf der Maschine dafür auch ausreichen ist er sicherlich immer zu empfehlen. Alleine schon weil man so selber die Probleme mitbekommt, die in der eigenen Anwendung eventuell bezüglich Proxies drin sind - und die jedem Benutzer hinter einem Webproxy auch Ärger machen würden. Gerade wenn man zum Beispiel Zope benutzt gibt es sehr gute Möglichkeiten in Zope die Kommunikation mit dem Reverse Proxy zu verbessern - dazu ist ein Cache Manager in Zope verfügbar. Auch andere Systeme bieten dafür gute Grundlagen - aber im Endeffekt sollte jedes System das saubere ETag und Last-modified Header produziert und korrekt conditional GET (bedingte Zugriffe die mitschicken welche Version lokal schon vorliegt und dann nur aktualisierte Inhalte sehen wollen) behandeln geeignet sein.

Vesper gegen Ausbau von FMO

Wer einmal am FMO abgeflogen oder angekommen ist, der weiss Landesbauminister Vesper Recht hat mit der Einschätzung das die Erweiterung der Landebahn Blödsinn ist - denn ich kenne keinen anderen derartig toten Flughafen wie den von Münster und Osnabrück. Da ist einfach nur tote Hose. Und dagegen hilft auch keine längere Landebahn - auch nicht der tolle Terminalausbau. Jetzt ist die Halle in der nix los ist einfach nur grösser als vorher. Und mit der längeren Landebahn könnten halt grössere Flugzeuge nicht landen und nicht starten.

Apple - iLife

Das neue iLife05 klingt auch gut - vor allem natürlich das neue iPhoto mit RAW File Unterstützung. Was letztendlich ziemlich fies für mich ist: ich muss mich dann noch mehr fragen wieso ich mir eigentlich iView Media Pro gekauft habe - vor allem wo bei iPhoto 5 ja auch die Kalendersicht mit drin ist und Schlüsselwortsuche gibts ja auch schon lange.

böse heimliche Vaterschaftstests

Ich nehm die Reaktion bei Pepilog mal als Aufhänger. Einfach weil er einer ist den ich im Aggregator lese. Angesprochen sind aber alle Männer.

Was mich absolut fasziniert an der Diskussion ist die reichlich verquere Argumentation des Themas. Es taucht immer wieder das Argument des Kuckuckskindes und er bescheissenden Mutter auf - und wie ein Mann sich dagegen wehren könne, wenn nicht durch heimliche Vaterschaftstests.

Jetzt denken wir einfach mal aus der anderen Richtung über die Sache nach. Was wäre denn, wenn heimliche Vaterschaftstests legal wären. Was wären die Auswirkungen: Väter können ohne Zustimmung und Wissen der Mutter Material des - potentiell gemeinsamen - Kindes zur Genanalyse geben. Wohlgemerkt, das Kind wird vermutlich auch nicht gefragt, was im Säuglingsalter eh nicht ginge. Das gilt dann allerdings für alle Väter - auch da, wo der Vater nur glaubt er wäre nicht der Vater weil er krankhaft eifersüchtig ist oder sich aus der Verantwortung verpissen will oder sonstwie auf den Trichter kommt das Kind wär nicht von ihm. Ich überspitze jetzt bewusst - immerhin bringt die Gegenseite ja auch ständig die bescheissende Mutter als wär das die normalste Situation der Welt. Unterhaltsverweigerungen durch Väter sind aber durchaus eine - nachweisbar - übliche Situation ...

Es wird argumentiert, das man ja nicht das Recht zu der Analyseerlaubnis alleine der Frau geben könnte, weil dann ja der Mann benachteiligt wäre - er könnte sich nicht gegen Kuckuckskinder wehren. Andererseits wird durch den heimlichen Test die Frau komplett ausgeschlossen - wie passt das in die angeblich so gerechte Diskussion? Bei einem heimlichen Test wird sowohl die Frau als auch das Kind soweit ausgeschlossen, das sie nichtmal über das ganze informiert sind - ausser der Vater entscheidet selbstherrlich was er macht.

Der heimliche Vaterschaftstest missachtet das Mitbestimmungsrecht der Frau (es geht nicht um das alleinige Recht der Frau zur Entscheidung - sondern um die Mitbestimmung!) in dem es diese Mitbestimmung komplett negiert. Es missachtet auch das Recht des Kindes - wobei man darüber diskutieren kann ob zu dem Zeitpunkt wo diese Situation wohl üblicherweise auftritt (Kind im Säuglingsalter) das Selbstbestimmungsrecht des Kindes höher einzuordnen wäre als das Mitbestimmungsrecht der Eltern.

Zusätzklich stört mich wirklich gewaltig mit welcher Selbstverständlichkeit von der bescheissenden Mutter ausgegangen wird - hier wird etwas gefordert, das warscheinlich in 90 Prozent der Fälle garnicht zutrifft - die meisten Paare werden wohl immer noch ziemlich gut wissen das ihre Kinder von ihnen gemeinsam sind.

Eigentlich ist das ganze die archetypische Selbstversicherungssucht der Männer, die in jeder Einschränkung einer absoluten Freiheit ihrerselbst gleich vermuten das sie diskriminiert werden - sowas wie ein Emanzipationsneid der sich breit macht seit Frauen um ihre Rechte kämpfen.

Sorry, aber ich muss uns Männern mal eines sagen: eine Einschränkung der Freiheiten zur Wahrung der Rechte Anderer ist nicht zwangsweise eine Diskriminierung von einem selbst!

Und genau um die Wahrung der Rechte der Frau - nämlich der Mitbestimmungsrechte was das Kind angeht - werden durch heimliche Vaterschaftstests definitiv missachtet. Denn ganz egal ob der Vater der Vater ist oder nicht: die Frau ist nachweislich die Mutter. Ihre Rechte stehen auf keinen Fall in Zweifel. Aber sie werden durch den heimlichen Test missachtet und ihr abgesprochen - mit der Begründung das der Mann sich ja anders nicht wehren könne. Arme Mann schaft, wenn solche Ängste uns bewegen ...

Passend sagt der Bundesgerichtshof das er auch nichts von heimlichen Vaterschaftstests hält. Zumindestens vor Gericht sind sie nicht als Beweis zulässig.

Geheime VW-Richtlinie für Zahlungen an Politiker?

Ist doch beruhigend zu sehen wie Parteien für die Versorgung ihrer Politiker sorgen. Nein, das ist ganz bestimmt keine Korruption, sowas kann man sich doch garnicht vorstellen, das Politiker korrupt sind und das Konzerne sich Vorteile davon versprechen wenn sie Politikern Geld in den Arsch blasen.

Glossary für WordPress

Ich habe ein kleines Wordpress Plugin geschrieben das ein Glossary ähnlich wie bei Radio Userland oder PyDS implementiert. Mit dem Glossary werden einfach Texte die durch | (Pipe) Symbole begrenzt werden durch einen Ersatztext (der auch XHTML Markup enthalten kann) ersetzt. Spart Tipperei ...

Das Plugin installiert eine kleine Managementseite im Wordpress-Backend, das ganze funktioniert also nur mit Wordpress 1.5 (oder evtl. 1.3). Die nötige Datenbanktabelle wird nach Aktivierung des Plugins automatisch erstellt beim ersten Zugriff auf die Managementseite.

heise Security - News - Aufgedeckt und angeklagt

Wie Unternehmen ihre Inkompetenz durch Macht auszugleichen versuchen. Ich hoffe das französische Gericht entscheidet gegen diese absurden Forderungen. Full Disclosure ist oft die einzige Möglichkeit für Kunden sich gegen Sturheit und Unwillen von Herstellern zu wehren - man kann das schön in der Historie sehen, wie Firmen (selbst Branchenriesen wie SUN) sich über Jahre weigerten Fehler anzuerkennen und erst durch Listen wie Bugtraq dann letztendlich dazu gezwungen wurden was zu unternehmen.

Firmen müssen endlich einsehen das Sicherheit nicht im stillen Kämmerlein funktioniert, sondern nur dann wirkliche Sicherheit ist, wenn sie auch einer öffentlichen Betrachtung und Analyse standhält. Security by obscurity is no security at all ...

Kommentarspam

Da Kommentarspam auch bei Wordpress-Blogs in letzter Zeit vermehrt auftritt und ich nicht erst in den Spamtopf fallen muss um zu reagieren, habe ich mal vorsorglich Spam-Karma installiert. Das ist ein ziemlich mächtiges Tool bei dem man zum Glück einen Haufen Optionen auch abschalten kann. Ich hoffe das damit ein sicherlich irgendwann anstehender Sturm auf meine Kommentarfunktion abgewendet wird.

Natürlich hat so ein Tool immer auch potentielle negative Auswirkungen. Wer also keinen Kommentar los wird, es gibt immer noch das normale Feedback-Formular das dann eine ganz normale - und ungefilterte - Mail an mich absetzt. Sofern diese dann durch meinen Mail-Spamfilter durchkommt, weiss ich bescheid was los ist (bei 300-400 Spams am Tag alleine zu Hause kann ich nicht garantieren das ich eine fälschlich als Spam erkannte Mail bemerke - allerdings geht mir scheinbar recht wenig dabei verloren, statistische Spamfilter regeln halt).

Irgendwie schon strange wie wir unsere Kommunikationsmittel künstlich kastrieren müssen, nur weil Menschen grundsätzlich alles was auszunutzen ist auch irgendwann ausnutzen ...

Update: nachdem es einen Trackback vom Schockwellenreiter gefressen hat, hab ich es erstmal abgeschaltet. Das Hauptproblem dabei war, das der Trackback mit einer Meldung gefressen wurde, die angeblich in genau der von mir eingesetzten Version behoben sein soll.

Noch ein sinnvolles Urteil!

Rund und gesund: Jan Ullrich auf Mallorca

Business as usual beim Team Telekom T-Mobile. Wilde Gerüchte, alberne Ideen (Zabael nicht zur Tour? Was für ein Blödsinn) und ein zu fetter Jan Ullrich. Und die Konkurrenz lacht sich wieder ins Fäustchen ... Nunja, wenn Armstrong wirklich die Tour nicht fährt, hat wenigstens einer der anderen Fahrer (Klöden oder Basso?) eine Chance.

Second p0st: cElementTree hat jetzt eine C-Variante zur Beschleunigung des Ablaufs. Damit wird es eine echte Alternative zu anderen DOM Implementierungen.

symbolics.com ist die älteste noch registrierte Domain. Very cool. Ich hab übrigens eine Symbolics bei mir im Zimmer stehen

Und mal wieder Handy-Krampf

Mein Handy-Vertrag war mal wieder kurz vor Ende und die T-Mobile begierig darauf das ich verlängere. Also haben sie mit Handys nach mir geworfen. Ein Motorola E398 ist es geworden - hey, mein modernstes Handy war ein Nokia 6110 und das hat Jutta sich gegriffen so das für mich nur das S3 Com blieb, wenn ich das Firmenhandy nicht nutzen wollte ...

Nunja, das E398 ist nett - es hat alles was man sich vorstellen kann. Und noch ein bischen mehr. Wer die technischen Daten wissen will, Motorola verrät die sicherlich gern. Mich interessiert eigentlich nur eines an dem ganzen Gesumsel: das Apple mit dem Handy zwar Daten austauschen kann und es als Modem benutzen kann, aber iSync nur über Kabel damit synchronisiert. Warum nur muss alles im Umfeld von Handys immer völlig unlogisch, kompliziert und wirr sein?

Achja, und das das Handbuch zum Motorola zwar ne Menge Text enthält, aber in weiten Teilen nichts erklärt, muss ich ja nicht extra erwähnen. Prall ist die Dokumentation der ganzen Optionen die man einstellen kann: im Handbuch sind diese Optionen nochmal aufgeführt. Und benannt. Und das wars. Keinerlei Erklärung was man da jetzt genau eintragen soll und wo man die Informationen her bekäme. Und unter APN, IMPS, etc. kann sich jeder natürlich was auf Anhieb vorstellen. Genauso wie man natürlich spontan weiss welche IM-Technik der IM-Client benutzt, wenn das nirgendwo steht. Nur mit Hilfe von Google habe ich einiges rausfinden können.

Handys sind doof.

Wired News: Verizon's E-Mail Embargo Enrages

Verizon beweist mal wieder seine Inkompetenz. Der Pressesprecher von Verizon, Edwards schlägt auf Mail aus Europa wartenden Kunden alternative Kommunikationswege vor: "If it's really important you might want to make a phone call," he said. Sorry, aber wenns wirklich wichtig ist, wechselt man wohl besser gleich den Anbieter ... (via Schockwellenreiter)

Andere Apple-Neuigkeiten

Der Apple - iPod shuffle ist schnuffig - könnte eigentlich auch iPod Schnuffel heissen, so niedlich wie der ist. Ich hätte nur Angst das Jutta den mit einem Feuerzeug verwechselt und genauso verschludert wie dieselbigen ...

Und iWork macht auch einen netten Eindruck. Ok, nur Textverarbeitung und Präsentation - trotzdem mal ein Anfang für eine Apple-eigene Office-Anwendung die etwas moderner als das alte AppleWorks ist. Und ganz ehrlich: alleine schon das es billiger ist als die bisherige Keynote Lizenz finde ich schon bemerkenswert.

Gut, und warum ist noch nicht Weihnachten, damit man eine Ausrede hat das ganze Zeugs zu kaufen?

Apple - Mac mini

Los, jetzt verratet schon welcher Torfkopf bei Apple versehentlich auf einen Cube getreten ist

dirtSimple.org: CLOS-style Method Combination for Generic Functions

Phillip J. Eby beweist einmal mehr das jede Programmiersprache die was werden will dazu verdammt ist irgendwann Common Lisp zu werden

Mir gefällt was er macht - gerade das Objektsystem von Python ist doch etwas primitiv und generische Funktionen und Methodenkombinationen im CLOS Stil sind sehr praktische Mittel bei der Programmierung. Auch seine erweiterte Objektadaption in PyProtocols war schon interessant, aber das recht vollständige Objektmodell mit Anlehnung an CLOS ist definitiv reizvoll.

Ich würde mir ja wünschen das sich Guido van Rossum mehr Gedanken darüber macht wie er PJEs Zeug in Python integriert als darüber wie er optional statische Datentypen einführt.

IBM on Software Patents

IBM's Aktion ist sehr interessant: nicht nur das Patente der freien Software frei zur Verfügung gestellt werden, auch wird klar eine Kampfansage gegen Klagegeister gemacht. Wer mit Klagen gegen Open Source vorgeht, gerät in die Gefahr die Rechte an der Nutzung der IBM Patente zu verlieren. Natürlich ist es jetzt interessant was genau IBM da an Patenten verfügbar macht, aber ich könnte mir bei IBM durchaus vorstellen das da ein paar Knaller dabei sind. IBM ist immerhin eines der Unternehmen mit dem grössten (wenn nicht sogar das Unternehmen mit dem grössten) Patentportfolio.

Creative Communists

Creative Communists

Dank Bill Gates wissen wir ja jetzt endlich was wir sind. Kreative Kommunisten. Da bekenne ich mich doch gerne zu und habe gleich mal dieses Weblog unter eine Creative Commons Lizenz gestellt.

Friendly Fuedalism - The Tibet Myth

Friendly Fuedalism - The Tibet Myth ist ein Artikel der sich kritisch mit den Mythen über Tibet auseinandersetzt, die immer wieder von diversen Pro-Tibet-Gruppen erzählt werden. Passt gut zum Buch von Colin Goldner.

Eine Liste von Domainregistries für verschiedene Topleveldomains hab ich schon länger gesucht, jetzt eine gefunden. Sie scheint auch vollständig zu sein. Wer also auf der Suche nach exotischen Spoilerdomains ist, wird dort vielleicht fündig.

Mile-high Konto [zeitwissen:log]

Vielfliegermeilen sind die meistverbreitete Währung auf Erden - aber auch die unpraktischste. Ausser vielleicht an Flughäfen kann man damit keine Brötchen kaufen, keinen Kinobesuch bezahle und die Produktion erzeugt noch mehr Schadstoffe als die Metall-Münze

:: t e k t o n i c a ::

mo:Blog sollte ich mir nach meinem Wechsel auf Wordpress nochmal angucken, könnte jetzt noch interessanter sein. Vor allem weil es sich jetzt besser integrieren sollte. Vielleicht fange ich ja doch noch irgendwann das mobloggen an, bevor der Trend schon wieder veraltet ist ...

Update: Also erste Spielereien sind eigentlich schon sehr positiv. Was mich noch stört ist die Tatsache das bei einem Bildupload am Ende ein HTTP Timeout kommt. Aber wenn man in den Menüs etwas rumsucht findet man eigentlich alle nötigen Einstellungen. Etwas spartanische Oberfläche, aber es ist ja auch ein Palm.

Was mir allerdings garnicht passt: der Timeout geht auch bei entsprechender Konfigurationsänderung nicht weg. Und gelegentlich crasht das Programm meinen Clie. Das habe ich in der ganzen Zeit noch kein einziges Mal gehabt, erst mit mo:Blog hatte ich schon zwei Systemhänger. Und das wiederum ist ein Grund die Software nicht zu mögen ...

Canned !! -- my Atropine » iG:Syntax Hiliter - und hier gleich noch ein Plugin für Wordpress das Geshi benutzt.

. clare fader & the vaudevillains . cabaret for the 21st century .

Clare Fader bringt wirklich klasse Musik. Ich hab mir gerade die Elephants Baby gekauft, mit Cabin Fever und Isle of Summer drauf. Herrlich.

doom3.jpg (JPEG Image, 800x600 pixels)

Und ich sach noch: zu viel Ballern ist ungesund.

Teufelsgrinsen

GeSHi - Generic Syntax Highlighter :: Home - ein Syntaxhighlighter in PHP. Könnte ich benutzen wenn ich hier Sourcecode poste ...

hobix&you!! feel yeah!!

hobix&you!! feel yeah!! ist eine Weblogsoftware in Ruby geschrieben. Sie stammt vom Autor des Why's (Poignant) Guide to Ruby und die Homepage des Projektes ist dementsprechend durchgeknallt. Eines muss man ihm lassen: entweder er ist völlig neben der Spur oder er ist ein Genie. Irgendwas dazwischen passt definitiv nicht (gefunden bei but she's a girl)

kasia in a nutshell: Spam breeds more spam

Kasia macht ein faszinierendes Experiment: sie lässt einfach mal zwei Kommentarspameinträge stehen und wartet das Google sie indiziert hat. Keine 24 Stunden später wurde dieser Eintrag bombardiert mit Spam - mehrere hundert Stück.

Man kann also daraus folgern das die Spambots zumindestens teilweise zweistufig arbeiten und das es wirklich um das Googleranking geht. Der erste Eintrag ist sozusagen ein Testeintrag. Bleibt er stehen so das er über Google wiedergefunden werden kann, ist es ein Eintrag wo man gut spammen kann - er ist unbeaufsichtigt und wird von Google schnell indiziert. Ideales Futter für Spammer.

Google ist also integrales Werkzeug und Ziel gleichzeitig für die Spammer. Man kann auf jeden Fall durch technische Abtrennung der eigenen Kommentare (so wie es mein altes Weblog hatte wo die Kommentare nicht nur auf einer eigenen Seite hinter einem Popup-Link waren, sondern zusätzlich auch noch auf einem ganz anderen Webserver) und durch Indizierungsverbot für diese Kommentaradressen den Spammern den Wind aus den Segeln nehmen. Man würde zwar von den Testproben noch erwischt, aber der gigantische Schwung hinterher sollte ausbleiben.

Das könnte unter Umständen auch die Probleme des Schockwellenreiters begründen: aufgrund seiner exponierten Stellung dürfte Google ihn sehr oft besuchen und wenn erstmal ein Spamkommentar länger stehen bleibt und indiziert werden konnte (kann ja auch nur durch Glück des Spammers passieren, der einfach kurz vor Googles Besuch gespammed hat) hat sich der Spammer den Server in die Spamlisten eingetragen. Im Prinzip muss er ja nur einmal den Schockwellenreiter über Google bezüglich seiner Testspams gefunden haben.

Jetzt müsste ich nur noch eine gute Idee bekommen wie ich das ganze für Wordpress umsetzen kann. Popupkommentare gibts schon, aber ich müsste das ja auch noch auf eine andere virtuelle Adresse legen und dort per robots.txt die Suchmaschinen ausschliessen.

Linux: Tuning The Kernel With A Genetic Algorithm

Cool - Genetische Algorithmen zur Kernel-Optimierung einzusetzen, das hat was.

It's cool, man!

Allerdings kommt dann irgendwann das Problem das der Kernel schlauer ist als sein Benutzer ...

N Korea wages war on long hair

Korea auf dem Krieg gegen zu langes Haar:

It stressed the "negative effects" of long hair on "human intelligence development", noting that long hair "consumes a great deal of nutrition" and could thus rob the brain of energy.

Wenn die Autoren der Aktion jetzt langes Haar hätten, hätten Sie ihre Behauptung prompt bewiesen

sYp » Syntax Highlighting with Enscript in WordPress ist ein weiteres Plugin für Wordpress, das hier benutzt enscript zur Formatierung.

Test für das Syntax-Highlighting

Das hier ist ein Test für Syntaxhighlighting mit dem enscript-basierten Plugin. Mal gucken obs klappt:


def anton(a,b):
 return a+b

Jau! Sieht gut aus!

Validierung von Wordpress Postings und Kommentare - könnte ich mir mal angucken. Wenn man schon ein validierendes Weblog hat, sollte es ja besser auch so bleiben ...

Wonko

"Hier", sagte Wonko der Verständige, "sind wir außerhalb des Irrenhauses." Er zeigte wieder auf das rohe Ziegelwerk, die weißen Fugen und die Dachrinnen. "Gehen Sie durch die Tür dort", er zeigte auf die Tür, durch die sie eben reingekommen waren, "und Sie gelangen ins Irrenhaus. Ich selbst gehe jetzt nie mehr hinein. Sollte ich jemals in die Versuchung kommen, was jetzt selten geschieht, dann gucke ich einfach auf das Schild über der Tür und lasse es bleiben."

"Das da?" fragte Fenchurch und zeigte ziemlich verdutzt auf eine blaue Platte, auf der ein paar Anweisungen standen.

"Ja, das sind die Worte, die mich schließlich zu dem Eremiten machten, der ich heute bin. Es geschah ganz plötzlich. Ich sah sie und wußte, was ich zu tun hatte."

Auf dem Schild stand:

Stäbchen nahe seiner Mitte packen. Spitzes Ende im Mund anfeuchten. In Zahnzwischenraum einführen, stumpfe Seite dicht am Zahnfleisch. Vorsichtig hin und her bewegen.

"Mir schien", sagte Wonko der Verständige, "eine Zivilisation, die so weit den Verstand verloren hat, daß sie eine Reihe detaillierter Anweisungen nötig hat, um ein Päckchen Zahnstocher zu benutzen, ist keine Zivilisation, in der ich noch leben und bei Verstand bleiben kann."

aus Douglas Adams "Macht's gut, und danke für den Fisch" - 4. Teil der Trilogie "Per Anhalter durch die Galaxis"

Oh, und übrigens, so eine Anleitung ist Realität...

Clement rechnet mit 20 Prozent weniger Arbeitslosen

Wäre es nicht sinnvoller er würde nicht sowas versprechen was er eh nicht einhalten kann? Bisher sind seine Prognosen doch eh immer daneben gegangen. Man könnte doch einfach mal die Klappe halten ...

Plugins/Staticize « WordPress Codex - Minianleitung zum Staticize. Nur geblogmarkt damit ich das mit dem mfunc wiederfinde.

Steves Digicams - Konica Minolta MAXXUM 7D - User Review

Der Testbericht der Minolta Dynax 7D klingt schon sehr interessant. Vor allem finde ich die stark klassisch ausgelegte Bedienung der Kamera sehr gut. Leider gabs die noch nicht als ich meine alte Kodak DCS 520 ausrangieren musste - sonst hätte möglicherweise die Minolta vor der Canon EOS 10D bei mir das Rennen gemacht.

Alleine schon die Tatsache das die albernen Motivprogramme fehlen finde ich ausgesprochen sympatisch

Was ist denn hier passiert?

Tja, dem einen oder anderen wird es aufgefallen sein: hier hat sich was geändert. Und zwar habe ich mein Weblog von meiner eigenen Software - PyDS - auf WordPress umgestellt. Warum? Nunja, es gibt viele Gründe. Der nicht mal schlechteste ist: weil ich es kann. Die mehr technischen sind dann allerdings etwas komplizierter:

Es fängt an mit der Datenbank. PyDS benutzt eine recht eigenartige Datenbank, nämlich Metakit. Metakit ist nett wenn man kleine und kompakte Datenbestände hat, aber nicht so nett wenn diese wachsen. Irgendwann fängt es dann an sich seltsam zu verhalten. Unter Umständen schreddert es die Daten. Zwar bin ich mit meinen noch nicht ganz 4000 Artikeln da noch weit von entfernt, aber man muss es ja nicht herausfordern und auf den letzten Drücker an gehen, oder?

Dann ist da das Konzept von PyDS alle Artikel als statischen Content zu rendern. Das ist auch ganz klasse, weil die Dateien natürlich wesentlich schneller ausgeliefert werden als wenn sie aus einer Datenbank kommen. Dummerweise muss man bei knapp 4000 Beiträgen schon eine ganze Weile warten bis alles generiert ist, wenn man mal eine Layoutänderung macht. Ich hab aus dem Grund schon einen Cronjob der jede Nacht alles durchgeneriert. Aber irgendwie ist das trotzdem ziemlich gaga, also wech damit.

Ausserdem will ich mal irgendwann natürlich wieder auf eine eigene Software wechseln - aber dafür müsste ich so oder so die Daten migrieren. Jetzt habe ich sie nicht mehr in dem etwas wackeligen Metakit, sondern in MySQL. Ja, ich weiss, MySQL saugt tote Hamster durch verstopfte Strohhalme. Sag ich ja selber immer. Egal, es ist immer noch deutlich besser als Metakit. Und meine neue Software ist im Moment noch ein reines Hirngespinst. Ich weiss ja nicht einmal ob ich wirklich Lust haben werde das zu schreiben ...

Zusätzlich hat WordPress eine Reihe von netten Eigenschaften und PyDS wurde in der letzten Zeit doch ein bischen Barock in der internen Struktur - z.B. kann PyDS keine hierarchsichen Kategorien und die Kategorien von Blogmarks und Weblog überlappen sich. Jetzt ist alles in einem gemeinsamen Topf und gut ist.

Ansonsten habe ich WordPress ja schon länger im Einsatz gehabt und war mit der 1.2 sehr gut zufrieden - allerdings war sie noch von den Funktionen sehr spartanisch. Die 1.5 ist jetzt aber ein ziemlicher Hammer. Ok, noch ist es eine reine Beta, aber die ist schon gut genug für den normalen Einsatz. Ein paar kleine Bugs habe ich bisher bemerkt, nichts ernstes oder kritisches.

Schaun mer mal was passiert. Ich müsste alles mögliche aus dem alten Zeug umgeleitet haben auf das neue Zeug. Von daher sollten RSS Feeds weiter funktionieren und Links zu alten Postings sollten auch ordentlich umgeleitet werden. Wenn jemandem was auffällt das nicht tut und doch tun sollte oder sonstwas an Kommentaren fällig ist: ihr wisst wo ihr hier die Kommentarfunktion findet

Abgesehen davon hab ich ja PyDS schon seit fast 2 Jahren in Existenz. Da wirds Zeit das sich mal wieder was tut - PyDS selber wird natürlich weiterentwickelt. Und ist natürlich auch weiterhin verfügbar, daran ändert sich nix. Ich habe es ja noch bei diversen anderen Sites im Einsatz. Nur dieses Weblog-Monster hier ist einfach dem System entwachsen.

Grüne gegen Verbot heimlicher Vaterschaftstests

Oh Mann, die Diskussion enthält so viel Moppelkotze, da weiss ich garnicht wo ich anfangen soll zu wettern.

Nehmen wir einfach mal das Szenario um das es geht: eine Frau. Ein Mann. Ein Kind. Mann glaubt nicht, das er der Vater ist - es liegt also eine Misstrauenssituation vor. Der Mann lässt einen heimlichen Vaterschaftstest machen - ohne Wissen der Frau und vermutlich (da das Kind ja sicherlich noch ein Baby ist) ohne Einwilligung des Kindes. In meinen Augen ein klarer Vertrauensbruch. Im Endeffekt ist die Beziehung schon kaputt - durch das Misstrauen.

Warum wird jetzt gegen die strafbarkeit des heimlichen Vaterschaftstest gewettert? Weil die alternative zum heimlichen Vaterschaftstest das Gerichtsverfahren wäre und das die Familie zerstören würde. Bitte was? Also erstmal ist eine Alternative auch der freiwillige und gemeinschaftliche Test. Wenn aber tatsächlich der gemeinschaftliche Test nicht gemacht werden kann, dann ist die Familie schon kaputt - das Gericht macht dann nur noch die Lage offensichtlich, mehr nicht.

Für mich ist der heimliche Vaterschaftstest nur ein Ausdruck der Paranoia und der Minderwertigkeitskomplexe der Männer. Und wieder einmal eine praktische Generalverdächtigung der ach so bösen Frauen: die huren ja doch alle nur rum. Passt gut zu den Meisner-Sprüchen, denn danach sind Frauen ja alles nur Mörderinnen.

Wenn Frauen wirklich so mies sind - warum wollen dann so viele Männer mit denen zusammenleben?

Heimliches Hintergehen, Nachspionieren und Verdächtigungen haben noch keine Beziehung gerettet. Von daher gibt es keinen Grund sie besonders zu fördern - sie sind defakto ein Eingriff in das Selbstbestimmungsrecht und von daher wäre ein unter Strafe stellen völlig korrekt.

Aber vermutlich gäbe es dann einen Generalstreik der Genlabore, weil denen eine einträchtige Einnahmequelle wegbrechen würde ...

Bei tagesschau.de - Die Nachrichten der ARD gibts den Originalartikel.

Heftige Kritik an Meisners Vergleich

Keine Kirche!

Kardinal Meisner vergleicht Abtreibung mit den Verbrechen von Hitler und Stalin. 1 Und wer ist angepisst? Der Zentralrat der Juden in Deutschland.

Sorry, aber ich finde Meisners Vergleich aus einem ganz anderen Grund absolut unverschämt: er stellt damit die Frauen auf eine Stufe mit Diktatoren und Massenmördern. Und das wirkt deutlich schwerer als die Verletzung des jüdischen Leidensmonopols ... Von daher stellt sich Paul Spiegels Frage - Was soll man von einer Jugend erwarten, wenn ein katholischer Würdenträger auf diese Weise und ungestraft den millionenfachen Mord an Juden relativieren kann - für mich ganz anders: was kann man von einer Kirche erwarten, die potentiell 50% ihrer Mitglieder unter Generalverdacht des Massenmordes stellt? Aber Tante Katholika war ja schon immer eher beschränkt in ihrem Weltbild.

Genauso bedenklich finde ich aber die Haltung von Paul Spiegel - macht er sich keine Gedanken darüber, das Kardinal Meissner mit seinem Ausspruch Frauen heftigst beleidigt hat? Ist ihm dieser Aspekt der ganzen Geschichte weniger wichtig als darauf hinzuweisen, das ja niemand ihr Leid im zweiten Weltkrieg mit irgendwas anderem vergleicht, weil ihr Leid ja einmalig ist? In diesem Punkt ist das Weltbild des Zentralrats der Juden leider auch sehr eingeschränkt. Was mich ganz besonders wurmt, weil das dem leider immer noch viel zu stark in Deutschland vertretenem rechten Nazipack immer wieder Argumentationsfutter liefert. 2 Und mit Hitler und Stalin verglichen zu werden hat keine Frau verdient - auch wenn Abtreibung nicht in das Weltbild dieser Männerorganisationen passt.

Ganz zu schweigen natürlich von der Tatsache das ich der katholischen Kirche wegen ihrer rein patriarchalischen und völlig weltfremden Struktur sowieso jedes Recht auf Mitsprache in Themen des allgemeinen Lebens verweigere.

[1] Wann werden wir eigentlich lernen die geschichtsfälschende Totalitarismusidee - nach der Hitler und Stalin und diverse andere Diktatoren in einen Topf geworfen werden - zu überwinden? Hitler und Stalin haben in etwa so viel gemeinsam wie Pest und Cholera - beide sind tödlich, beide sind krank, aber das wars auch schon. Mir rollen sich immer die Fussnägel auf wenn ich jemand angeblich gebildeten so einen Unfug reden höre ...

[2] Es treibt auch sehr absurde Stilblüten, wie z.B. die Verweigerung der Anerkennung anderer Opfer des Nazi-Regimes, wie Sinti, Roma oder kommunistische Widerständler (die übrigens auch unter Stalin nichts zu lachen hatten). Was dann in Kombination eines Gedenkmals der Opfer des Nationalsozialismus insgesamt eigentlich nur noch ein äusserst peinliches Bild hinterlässt.

Bei WDR.de gibts den Originalartikel.

Optional Static Typing -- Stop the Flames!

Na also, geht doch. In seinem dritten Artikel über optionale statische Typdeklarationen für Python nimmt Guido van Rossum die ganzen Kommentare auf und bringt einen meiner Meinung nach kompakten und sinnvollen Vorschlag. Interfaces sind eine sinnvolle Einrichtung für stringenteres Duck-Typing - natürlich optional, also nur dort wo man es braucht. Und automatische Typadaption ist eine gute Idee - wird auch Zeit, das der PEP 246 in Python integriert wird.

Das wichtigste aber ist und bleibt: es wird optional. Wer es nicht braucht, lässt es weg.

Hier gibts den Originalartikel.

Probleme mit Firefox und Thunderbird auf OS X 10.2

Ich hab da ja letztens ( P2984) drüber geschrieben, das ich Probleme mit Firefox auf OS X habe. Mitlerweile hat sich herausgestellt woran es liegt. Es ist der Codetek Virtual Desktop Manager. Sobald der aktiv ist (ich hab ständig haufenweise Fenster offen und find sonst in dem Gewuse nix wieder - und nein, Expose wäre da auch keine wirkliche Hilfe), haben sowohl Firefox als auch Thunderbird diverse Fehlverhalten:

  • nach dem Start ist das Menü leer. Man muss erst in den Hintergrund und dann wieder auf das Anwendungsfenster klicken, damit das Menü stimmt
  • der Keyboardfokus stimmt nicht immer. Dann muss man das gleiche wie beim fehlenden Menü machen.
  • nach dem Wechseln des Desktops (oder auch bei normalem Ausblenden und wieder Einblenden der Anwendung) ist das Fenster komplett leer - erst eine Grössenänderung bringt den Inhalt zurück.

Wie gesagt, das tritt nur mit dem Desktopmanager auf. Leider kann ich Expose nicht benutzen, da ich kein 10.3 habe. Ausserdem würde es mein Problem nicht lösen: ich brauche viele parallele Arbeitsbereiche in denen ich die ganzen Fenster für die jeweilige Aufgabe offen habe. Expose würde das nur sehr unzureichend erledigen.

Mift.

verwirrtes Gesicht

QEMU CPU Emulator

Hey, den kannte ich noch nicht: ein Emulator für verschiedene CPUs mit Just-in-Time-Compilation und Support für einen ganzen Mix von Target und Host CPU. Zum Beispiel einen Intel-Chip auf PPC emulieren. Oder umgekehrt einen PPC auf Intel. Oder ARM auf PPC. Und Sparc als Target ist auch schon angefangen.

Besonders interessant für Linux-User: es kann User-Emulation oder System-Emulation. Letztere macht das was Virtual PC macht - einen virtuellen Rechner darstellen. Erstere bietet einfach nur die Möglichkeit Binaries für eine andere CPU auf dem eigenen Rechner laufen zu lassen, auch wenn man eine andere CPU hat. Zum Beispiel Intel-Binaries auf einem Linux PPC starten - ohne grosse Systememulation.

Aufgrund der Just-in-Time-Compilation sollte das ganze auch deutlich schneller als Bochs sein. Für OS X gibts einen grafischen Launcher der auch gleich die Installation von qemu erledigt. Leider erst ab OS X 10.3. Hier gibts den Originalartikel.

RBL Prüfungsseiten für viele RBLs auf einmal

Wer wie ich keine Zeit hat hinter den tausenden von RBLs (Liste über mögliche oder angebliche Spam-Relays) hinterher zu rennen um zu prüfen ob wieder jemand einen eigenen Server fälschlicherweise dort gelistet hat, bieten diese zwei Links gute Dienste: sie prüfen einen grossen Satz von RBLs auf einen Schlag. Der erste Link ist der schnellere:

The Implementation of Functional Programming Languages

Klasse. Ein Klassiker der Informatikliteratur (ok, ein moderner Klassiker ) ist jetzt online lesbar. Das Buch ist deshalb interessant, weil es viele Aspekte der Realisierung einer für Haskell oder Miranda geeigneten Systemumgebung erläutert.

Es ist allerdings leider nur als Scans im JPG-Format online, also etwas mühsam zu benutzen - vor allem Suchen klappt natürlich nicht. Aber immerhin ist das Inhaltsverzeichnis mittels Imagemap verlinkt.

Hier gibts den Originalartikel.

Flying Meat: VoodooPad

Viel kommerzielle Software wird bei mir ja nicht besonders erwähnt. Aber in diesem Fall mach ich mal eine Ausnahme. Ja, ich weiss, die Software ist nicht neu und nicht mal in einer neueren Version verfügbar als das was schon lange in den Weblogs besprochen wurde. Aber ich bin bei VoodooPad (für die die es nicht kennen: es ist sowas wie ein Desktop Wiki) über ein Feature gestolpert das für mich den Ausschlag gegeben hat: man kann eine WikiSeite direkt als Shellscript starten. Und noch wichtiger: man kann konfigurieren, welchen Prozessor man dort einhängen möchte. Ich hab dort einfach Python eingetragen. Und kann jetzt aus meinem Notizzettelsammelsurium gleich fix kleine Scripte anwerfen und mir den Output im GUI kopieren und in andere Programme übertragen. Für jemanden wie mich der primär in Programmen denkt und nicht in manuellen Prozessen ist das einfach nur genial praktisch

Hier gibts den Originalartikel.

Gaspreise steigen wohl noch weiter

Jaja, die Lügenbarone der Energieunternehmen zocken weiter den Markt ab. Und das wird so langer weiter gehen bis diese absurden Monopole und gekoppelten Preise vom Kartelamt zerschlagen werden. Es ist einfach absurd und lächerlich wie Politiker auf der Einen Seite ständig davon reden Einrichtungen zu privatisieren und Märkte zu deregulieren um durch Konkurrenz die Preise zu drücken und andererseits mitten im Energiesektor - einem der Zentralnerven unserer Industrie - die fetten Bosse sitzen und weiter fleissig den Markt auspressen können. Aber wenn man sich anguckt wie viele Politiker noch von den Energieunternehmen Geld in den Arsch geblasen werden ist einem auch klar was der Grund ist - schlichte Korruption.

Bei tagesschau.de - Die Nachrichten der ARD gibts den Originalartikel.