Artikel - 3.7.2005 - 26.7.2005

es gibt Tage da hasst mein Computer mich

Zum Beispiel wenn ich mit Flup spiele und statt des threaded Servers einen forked Server nehmen will. Und feststelle, das der dann aber die Funktion socketpair benötigt. Die aber dummerweise nur ab Python 2.4 verfügbar ist, welches zwar auf Debian Sarge da ist, aber dafür gibts in der Debian Sarge für Python 2.4 keinen Psycopg - welcher wiederum Voraussetzung für Django und PostgreSQL ist, weshalb ich mich überhaupt ja nur mit FastCGI beschäftige. PsycoPG selber installieren macht keinen Spaß, da man dafür nicht nur die PostgreSQL Header braucht, die normal installiert werden, sondern auch ein paar interne Header - also im Prinzip einen Build-Tree. Und dann braucht man noch die egenix-mx-base Header, die man nur für Python 2.3 kriegt, also müsste man das auch selber installieren. Backports aus der nächsten Debian geht auch nicht, da die gerade auf PostgreSQL 8.0 umbauen und Sarge ja noch 7.4 benutzt und ich nicht gleich das ganze System upgraden wollte. Und so dreht man sich im Kreis und kommt sich leicht verarscht vor vor lauter Abhängigkeiten und Versionskonflikten.

Und was macht man also als Lösung, weil der threaded Server dummerweise nur Segfaults im Psycopg produziert? Man nimmt den threaded Server, verbietet ihm das threaden und startet ihn über den spawn-fcgi vom lighttpd, oder direkt vom lighttpd. Was aber irgendwie auch wieder dämlich ist, da dann immer pro FCGI-Server 3 Threads rumgammeln, von denen 2 nur in der Prozessliste stehen und nix zu tun haben. Und das alles nur weil mod python2 (was für Django gebraucht wird) Apache2 voraussetzt, der wiederum mod perl2 voraussetzt, welches inkompatibel zum alten mod perl ist, weshalb bei mir eine ganze Reihe von meinen Sites nicht mehr laufen würden, würde ich auf Apache2 umstellen. Was ich eh nicht will, weil Apache2 mit mod python arschlangsam ist. Und schon wieder verarscht worden. Ich hätte mir echt einen sinnvolleren Beruf suchen sollen.

Wer nix kapiert hat: macht nix, ist Technik, ist nicht wichtig, wollte das einfach nur mal gesagt haben.

Running Django with FCGI and lighttpd

Diese Dokumentation ist für einen grösseren Kreis als nur .de gedacht, daher das ganze in Neuwestfälisch Englisch. Sorry. Update: I maintain the actually descriptions now in my trac system. See the FCGI+lighty description for Django. There are different ways to run Django on your machine. One way is only for development: use the django-admin.py runserver command as documented in the tutorial. The builtin server isn't good for production use, though. The other option is running it with mod_python. This is currently the preferred method to run Django. This posting is here to document a third way: running Django behind lighttpd with FCGI.

First you need to install the needed packages. Fetch them from their respective download address and install them or use preinstalled packages if your system provides those. You will need the following stuff:

  • [Django][2] itself - currently fetched from SVN. Follow the setup instructions or use python setup.py install .
  • [Flup][3] - a package of different ways to run WSGI applications. I use the threaded WSGIServer in this documentation.
  • [lighttpd][4] itself of course. You need to compile at least the fastcgi, the rewrite and the accesslog module, usually they are compiled with the system.

First after installing ligthttpd you need to create a lighttpd config file. The configfile given here is tailored after my own paths - you will need to change them to your own situation. This config file activates a server on port 8000 on localhost - just like the runserver command would do. But this server is a production quality server with multiple FCGI processes spawned and a very fast media delivery.


 # lighttpd configuration file
 #
 ############ Options you really have to take care of ####################

server.modules = ( "mod_rewrite", "mod_fastcgi", "mod_accesslog" )

server.document-root = "/home/gb/public_html/"
 server.indexfiles = ( "index.html", "index.htm", "default.htm" )

 these settings attch the server to the same ip and port as runserver would do

server.errorlog = "/home/gb/log/lighttpd-error.log"
 accesslog.filename = "/home/gb/log/lighttpd-access.log"

fastcgi.server = (
"/myproject-admin.fcgi" => (
"admin" => (
"socket" => "/tmp/myproject-admin.socket",
"bin-path" => "/home/gb/public_html/myproject-admin.fcgi",
"min-procs" => 1,
"max-procs" => 1
 )
 ),
"/myproject.fcgi" => (
"polls" => (
"socket" => "/tmp/myproject.socket",
"bin-path" => "/home/gb/public_html/myproject.fcgi"
 )
 )
 )

url.rewrite = (
"^(/admin/.*)$" => "/myproject-admin.fcgi$1",
"^(/polls/.*)$" => "/myproject.fcgi$1"
 )

This config file will start only one FCGI handler for your admin stuff and the default number of handlers (each one multithreaded!) for your own site. You can finetune these settings with the usual ligthttpd FCGI settings, even make use of external FCGI spawning and offloading of FCGI processes to a distributed FCGI cluster! Admin media files need to go into your lighttpd document root.

The config works by translating all standard URLs to be handled by the FCGI script for each settings file - to add more applications to the system you would only duplicate the rewrite rule for the /polls/ line and change that to choices or whatever your module is named. The next step would be to create the .fcgi scripts. Here are the two I am using:


 #!/bin/sh
 # this is myproject.fcgi - put it into your docroot

export DJANGOSETTINGSMODULE=myprojects.settings.main

/home/gb/bin/django-fcgi.py

 #!/bin/sh
 # this is myproject-admin.fcgi - put it into your docroot

export DJANGOSETTINGSMODULE=myprojects.settings.admin

/home/gb/bin/django-fcgi.py

These two files only make use of a django-fcgi.py script. This is not part of the Django distribution (not yet - maybe they will incorporate it) and it's source is given here:


 #!/usr/bin/python2.3

def main():
 from flup.server.fcgi import WSGIServer
 from django.core.handlers.wsgi import WSGIHandler
 WSGIServer(WSGIHandler()).run()

if name == 'main':
 main()

As you can see it's rather simple. It uses the threaded WSGIServer from the fcgi-module, but you could as easily use the forked server - but as the lighttpd already does preforking, I think there isn't much use with forking at the FCGI level. This script should be somewhere in your path or just reference it with fully qualified path as I do. Now you have all parts togehter. I put my lighttpd config into /home/gb/etc/lighttpd.conf , the .fcgi scripts into /home/gb/public_html and the django-fcgi.py into /home/gb/bin . Then I can start the whole mess with /usr/local/sbin/lighttpd -f etc/lighttpd.conf . This starts the server, preforkes all FCGI handlers and detaches from the tty to become a proper daemon. The nice thing: this will not run under some special system account but under your normal user account, so your own file restrictions apply. lighttpd+FCGI is quite powerfull and should give you a very nice and very fast option for running Django applications. Problems:

  • under heavy load some FCGI processes segfault. I first suspected the fcgi library, but after a bit of fiddling (core debugging) I found out it's actually the psycopg on my system that segfaults. So you might have more luck (unless you run Debian Sarge, too)

  • Performance behind a front apache isn't what I would have expected. A lighttpd with front apache and 5 backend FCGI processes only achieves 36 requests per second on my machine while the django-admin.py runserver achieves 45 requests per second! (still faster than mod_python via apache2: only 27 requests per second) Updates:

  • the separation of the two FCGI scripts didn't work right. Now I don't match only on the .fcgi extension but on the script name, that way /admin/ really uses the myproject-admin.fcgi and /polls/ really uses the myproject.fcgi.

  • I have [another document online][6] that goes into more details with regard to load distribution

Idiotische Patente die elfundelfzigste

Immer wenn man meint, man hätte schon das idiotischste Patent geseheh, kommts garantiert noch dämlicher - Microsoft will Smileys patentieren:

Der am Donnerstag veröffentlichte Patentantrag beschreibt ein Verfahren, um selbst erzeugte Emoticon-Bildchen als Zeichenfolgen zu kodieren, die sich in Textnachrichten einbetten lassen.

Scotland Yard erschiesst Unschuldigen

Mitlerweile ist ja klar das der von der britischen Polizei Erschossene unschuldig war. Und trotzdem: Scotland Yard verteidigt Kopfschuss-Praxis. Der frühere Scotland Yard Leiter:

"Es gibt nur einen sicheren Weg, einen Selbstmordattentäter zu stoppen, der davon überzeugt ist, seine Mission auszuüben - sein Gehirn sofort zu zerstören, vollständig", schrieb er in der Sonntagszeitung "News of the World". "Das heißt, ihn mit zerstörerischer Wucht in den Kopf zu schießen, ihn sofort zu töten."

Man muss dabei bedenken, das waren Polizisten in Zivil - eine Panikreaktion wenn eine Gruppe bewaffneter Menschen in Zivilkleidung hinter einem her sind ist ja wohl vorprogrammiert. Das dann als Begründung für einen gezielten Kopfschuss zu nehmen ist mehr als nur Zynismus.

Hinrichtungen auf Verdacht als Antwort auf Terror - damit wird der angebliche Schutz der Gesellschaft selber zum Terror und zur Gefahr für jeden Bürger. Die Unmenschlichkeit der Polizei-Vertreter in der Verteidigung dieser Praxis - Police chief 'sorry' over death - ist einfach nur abstoßend.

verpflichtetes Versicherungssponsoring durch den Staat?

Bundesaussenminister Fischer will eine verbindliche Riester-Rente - fragt sich natürlich der Leser was der Aussenminister damit zu tun hat, aber egal:

Bundesaußenminister Joschka Fischer hat sich für die Einführung einer verpflichtenden privaten Rentenversicherung ausgesprochen. "Das Rentensystem muss bezahlbar sein. Ich wünsche mir, dass die Riester-Rente endlich verbindlich eingeführt wird und wir die Menschen zur privaten Vorsorge ermutigen"

Soso. Zur privaten Vorsorge ermutigen. Dazu dann eine verpflichtende Teilnahme an der grössten Versicherungsabzocke aller Zeiten - der Riester-Rente, deren Renditen bescheiden sind und deren Zahlungsabsicherungen mehr als fragwürdig sind.

Man könnte natürlich auch einfach ein Modell einer Bürgerversicherung wählen, bei dem jeder in die staatlichen Sozialversicherungen einzahlt, ohne Besserverdienenden ein Schlupfloch nach draussen zu lassen - gerade im Rahmen der tollen Ideen wie Ich-AG und vermehrter Selbstständigkeit wird nämlich das Sozialversicherungssystem noch weiter ausgehöhlt. Aber das wäre ja eine intelligente Lösung. Die Staatlichen Sozialversicherungen haben nämlich den Vorteil das sie durch die Verfassung gewissen Regeln unterworfen sind - und der Staat sicherstellen muss, das auch die entsprechenden Leistungen erbracht werden.

Statt dessen wird also weiter die private Versicherungsbranche gesponsort und nach Fischers Vorstellungen auch noch mit ner Pflicht für den Bürger. Ja sowas bringt Aufschwung, sowas macht Sinn. Das die Bürger da nur über den Tisch gezogen werden und viele Modelle reine Beutelschneiderei sind und eine Auszahlungssicherheit in keinster Weise gegeben ist, ignorieren wir einfach mal.

Eins ist sicher: bei der Idiotie unserer Politiker gibts demnächst viel zu verdienen in der Versicherungsbranche. Die dann vermutlich nichts besseres zu tun hat als unsere dann privaten Zwangsrenten an der Börse zu verzocken und an Hedgefonds zu verhökern.

Verrückter Vinokourov ...

... schnappt der einfach den Sprintermannschaften den Sieg in Paris vor der Nase weg. Damit hat nun wirklich niemand gerechnet. Erst greift er sich noch zwei Sekunden Gutschrift im Kampf um die Gesamtwertung und da den 5. Platz ab und dann will er einfach sich nicht einreihen und den Sprintern das Feld überlassen. Klasse Aktion, solche Überraschungen mag ich

Da wird Otto wieder schäumen

Owl Content

Jetzt muss er warscheinlich gegen die EU wettern, denn die EU-Kommission pocht auf Unabhängigkeit der Datenschutzbehörden:

Die EU-Kommision hat gegen Deutschland ein Vertragsverletzungsverfahren wegen Missachtung der EU-Datenschutzrichtlinie eingeleitet. Sie beanstandet, dass die Aufsicht über die Gewährleistung der Privatsphäre hierzulande in staatlicher Hand ruht. Die "derzeitige Organisation der für die Überwachung der Datenverarbeitung im nicht-öffentlichen Bereich zuständigen Kontrollstellen" sei "nicht mit Gemeinschaftsrecht vereinbar", heißt es in einem heise online vorliegenden Schreiben der Generaldirektion für Justiz, Freiheit und Sicherheit.

In wieweit man in Anbetracht der Bestrebungen zu längeren Speicherzeiten für Komunikationsdaten innerhalb der EU viel auf das plötzliche Eintreten der EU-Kommission für den Datenschutz geben sollte ist eine ganz andere Sache ...

Von Pechvögeln und Favoriten

Naja, heute war eines auf jeden Fall ganz klar (neben der Tatsache das Armstrong halt immer noch besser als Ullrich fährt, auch beim Zeitfahren): Rasmussen ist der Pechvogel des Tages. Zwei Stürze, 5 Defekte und über 7 Minuten eingetütet bekommen, das tut weh. Zum Glück ist er angekommen und er kann sich trösten: auch heute bekommt er ein gepunktetes Trikot übergestreift.

Die nächste Tour zeichnet sich mit den Favoriten auch ab: Ullrich und Basso ganz oben in der Liste. Vinokourov sicherlich auch ein Favorit, aber definitiv mit deutlichem Abstand. Mag ja sein das irgendwann ein neuer Fahrer nachkommt - aber die drei sind auf jeden Fall beim Kampf um den Sieg dabei.

Interessanter wird es allemal wenn Armstrong nicht mehr antritt - die Favoriten fürs nächste Jahr liegen definitiv deutlich enger beieinander und damit dürften die Kämpfe auch wieder spannender werden. Ullrich und Vinokourov klar die deutlich stärkeren Zeitfahrer, Basso der deutlich bessere Bergfahrer - das wird mit Sicherheit spannend.

Nur eins kapier ich auch am Ende der Tour nicht: wieso T-Mobile den Zabel nicht mitgenommen haben. Diese Pfeifen.

Und wieder mal Django

Django - das kommende Webframework für Python - hat jetzt SQLite 3 Support. Damit ist eine Installation einer Entwicklungsumgebung für Django-Projekte jetzt extrem simpel geworden: Python 2.3 oder Python 2.4 muss da sein und ansonsten noch SQLite3 und PySQLite2. Auf dem Mac ist also im Prinzip schon alles da, ausser PySQLite2 - letzteres kann man sich aber von www.pysqlite.org holen und einfach mittels sudo python setup.py install installieren. Und schon kann man mit Django loslegen und die Tutorials durcharbeiten. Kein Apache mehr nötig, kein PostgreSQL (zwar die netteste aller SQL-Datenbanken, aber trotzdem für eine Entwicklungsumgebung auf Notebook manchmal einfach Overkill) und vor allem nicht psycopg - dessen Installation leider einen fast vollständigen PostgreSQL-Source-Tree erfordert. Es gibt also keine Ausrede für Pythonistas mehr sich nicht mit Django zu beschäftigen

Internet-Pranger der US-Strafverfolgungsbehörden

Scheiss auf Persönlichkeitsrechte, im Land der Mutigen und Freien stellt das US-Justizministerium eine Sexualstraftäter-Datenbank ins Netz. Und wer glaubt das wär ja nicht so schlimm, trifft ja nur Vergewaltiger und Pädophile:

Die Online-Aktivitäten der US-amerikanischen Strafverfolger richten sich nicht nur gegen verurteilte Straftäter. Die Polizei von Chicago hat kürzlich eine Site in Betrieb genommen, auf der Personen abgebildet und mit Namen veröffentlicht werden, die der "Unterstützung der Prostitution" verdächtigt werden. Auf der Site findet sich der Hinweis, dass die aufgeführten Personen als unschuldig gelten, bis ein Gericht ihre Schuld festgestellt hat.

Toll, nicht war? Hängen wir dein Bild einfach mal an den Pranger, den kleinen Nebensatz wird der Lynchmob sicherlich lesen bevor er das Seil auspackt und mit deinem Arsch zum nächsten Baum zieht. Und sowieso, Sexualstraftäter kann man als Begriff ja garnicht weit genug fassen ...

Grosser Lauschangriff auch in Sachsen Verfassungswidrig

Owl Content

Sachsens Verfassungsgerichtshof kippt in Teilen den "Großen Lauschangriff" und natürlich fühlen die Poltiker sich trotzdem bestätigt, es müssen ja nur die Gesetze geändert werden - sorry, aber das sehe ich anders. Die Denke muss geändert werden und es ist schade das die Verfassungsrichter nicht da deutlicher werden.

Doohan alias Scotty gestorben

Scotty wurde zum letzten Mal hochgebeamt - und diesmal wird ihn wohl keiner aus dem Musterpuffer seines Transporters rekonstruieren können. Trinken wir ein Gläschen Scotch auf ihn.

Wie die BWLer unter Bertelsmann in die Bildungspolitik einziehen

Bei Telepolis gefunden: TP: Durchsetzung von Controlling und Ranking auf allen Ebenen:

Wäre ein kritischer Ökonom zum Kongress geladen gewesen, er hätte die Strategie der Bertelsmänner wohl so formuliert: Demokratische Entscheidungsfindung und offene Diskussion wird ersetzt durch Steuerungsverfahren aus der neueren Betriebswirtschaftslehre. Überzuckert wird alles mit dynamischen Anglizismen aus dem Marketing-Babbel, dahinter aber stecken oft Ideen aus dem BWL-Fach Controlling. Früher sprach man prosaischer vom Rechnungswesen/Interne Revision, meinte aber dasselbe: die innerbetriebliche Steuerung und Kontrolle von Produktionsprozessen. Die erfolgt mittels Nutzwertanalyse, Erfolgsrechnung, Budgetierung, Profit Center, Kennzahlen für alles und jedes etc.

Meine persönliche Abneigung gegen die BWL als meines Erachtens viel zu kurzsichtige Vision von Markt sollte ja mitlerweile bekannt sein. Die Verknüpfung mit einem recht scheinheilig agierenden Grossverlagshaus macht das ganze aber dann wirklich brisant - denn solche Konzerne haben nunmal in erster Linie eigene wirtschaftliche Interessen und sollten daher aus Bildungspolitischen Diskussionen rausgehalten werden, ganz besonders sind sie definitiv die falschen um sie in bildungspolitische Entscheidungsfindungen als Berater einzubinden. Aber im Zuge der Privatisierungsgeilheit der Politiker werden immer wieder solche Böcke geschossen - verbunden mit den dabei automatisch entstehenden Marketinglügen die von solchen Unternehmen dann zur Festigung der eigenen Route aufgebaut werden (wie z.B. die im Text zitierte Umfrage über Studiengebühren, bei der einfach der Weg des kostenlosen Studiums ausgeschlossen wurde - und dann behauptet wurde, das Studenten mehrheitlich für Studiengebühren wären).

Das grösste Problem bei dieser engen Verknüpfung mit der Wirtschaft - egal ob jetzt Bertelsmann in der Bildungspolitik oder andere Firmen in anderen Bereichen - ist die fehlende demokratische Kontrolle. Politiker werden noch rudimentär kontrolliert, öffentliche Einrichtungen sind durch das neue Informationsgesetz zur Offenlegung vieler Bereiche gezwungen, aber Entscheidungsfindungen in privatwirtschaftlichen Einrichtungen unterliegen diesen Kontrollen nicht. Wenn Politiker sich aber zum Beispiel auf Untersuchungen aus der Wirtschaft berufen wird man über das Informationsfreiheitsgesetz zwar bis zu dem Punkt kommen - das die Entscheidung auf einer Studie von Institut Sowieso basiert - aber über die Struktur und den eigentlichen Inhalt der Studie erfährt man unter Umständen garnichts. Und damit ist die Kontrolle durch die Bevölkerung stumpf ausgehebelt.

Gerade bei der Wichtigkeit der Bildungspolitik muss meines Erachtens jeder Einfluss von Wirtschaft und Industrie ausgeschlossen werden. Völlig egal was diese fordern - sie haben in der politischen Gestaltung der Bildungspolitik nichts verloren. Aber leider verkaufen unsere Politiker die politische Steuerung immer wieder an privatwirtschaftliche Institute, anstatt die Arbeit selber zu machen. Und sie verkaufen damit unsere Zukunft und unsere Souveränität als Gesellschaft an die Wirtschaft.

EU-Haftbefehl verfassungswidrig

Das Bundesverfassungsgericht fällt eine Entscheidung zum EU-Haftbefehl - und die fällt negativ aus. Der EU-Haftbefehl verstösst gegen das Grundgesetz. Und unsere Regierung? Bezeichnet das als Schlag gegen die Terrorbekämpfung und mokiert sich über die Bürokratisierung. Bitte was? Das Grundgesetz einzuhalten ist keine Prinzipienreiterei und Bürokratisierung, sondern eine Notwendigkeit. Aber das interessiert Frau Zypries genausowenig wie die Entscheidung des Bundestags gegen die Softwarepatentrichtlinie - und sie kündigt gleich eine Gesetzesinitiative an, die den EU-Haftbefehl wieder möglich macht.

Ich finds zum Kotzen. Wohlgemerkt, der Verdächtige ist in Deutschland nicht überführt oder verurteilt worden - die Abschiebung/Auslieferung basiert allein auf einem EU-Haftbefehl aus Spanien. Und es ist nicht so das nicht versucht worden wäre ihn hier zu verurteilen - es reichte einfach nur nicht, was vorgelegt wurde.

Also wird einfach mal die Unschuldsvermutung ausgehebelt und das Grundgesetz als alberne Bürokratie abgetan - alles im Namen der Terrorbekämpfung.

Wer schützt uns eigentlich vor den Wahnsinnigen in Berlin?

Jython 2.2 in der Mache

Die Jython Webseiten geben noch nix her, aber in der Mailingliste gabs vor ein paar Tagen eine Info das eine neue Alpha für Jython 2.2 raus ist - und zwar diesmal (war ja schon Ende 2004 mal so weit) eine die funktioniert. Viele Features der neueren Python-Versionen sind drin, auch Generatoren/Iteratoren. Von daher ist es nicht identisch mit Python 2.2, sondern eher ein gutes Stück auf den Weg zu Python 2.3 von den Features her. Da der Entwickler mit OS X arbeitet und dort entwickelt ist es relativ problemlos dort zu installieren.

Zur Installation, da das nirgendwo explizit erwähnt wird:


java -jar [jython .version.elend.langer.name.jar]

Dann kommt ein grafischer Installer der alles auf die Platte kippt. Dann in dem Zielverzeichnis noch zusätzlich folgende Befehle eingeben:


chmod 755 jython
chmod 755 jythonc

Dann sind die beiden (jython ist der Interpreter und jythonc ein Compiler) auch aufrufbar und es kann losgehen. Beim ersten Start von jython wird eine ganze Reihe von Systempaketen aktiviert, also nicht wundern über die vielen Meldungen vom sys-package-mgr.

Wer Jython nicht kennt: das ist eine Reimplementierung von Python auf der Java Virtual Machine. Dadurch lassen sich sehr elegant alle Java-Libraries benutzen und durch die interaktive Shell von Jython lässt sich auch mit Java-Klassen interaktiv spielen. Sehr schön um mal schnell Sachen auszuprobieren. Aber natürlich auch sehr schön um zwar die Portabilität von Java zu haben, aber nicht die kranke Sprache

Und es ist halt einfach witzig so Sachen wie die hier zu machen:


Jython 2.2a1 on java1.4.2_07 (JIT: null)
Type "copyright", "credits" or "license" for more information.
>>> import java.lang
>>> dir(java.lang.Number)
['byteValue', 'doubleValue', 'floatValue', 'intValue', 'longValue', 'shortValue']
>>> import java
>>> dir(java)
['__name__', 'applet', 'awt', 'beans', 'io', 'lang', 'math', 'net', 'nio', 'rmi', 'security', 'sql', 'text', 'util']
>>> ```

Erste Django Tutorials online

Die Django-Programmierer legen mit den Tutorials los. Das erste Tutorial beschäftigt sich primär mit der Erstellung des Datenbankmodells und des Grundcodes für die zu verwaltenden Objekte und das zweite Tutorial beschäftigt sich mit der automatisch generierten Administrationsoberfläche. Sehr nett, das ganze.

Das System ist natürlich stark auf Content-Erstellung und Verwaltung ausgerichtet - aber trotzdem allgemein genug, so das man es auch für anders gelagerte Inhalte nutzen kann. Die ganze Administration wird automatisch aus dem Objektmodell und einigen Hints erstellt, orientiert sich also immer an den realen Daten im System. Und die Default-Optik ist auch recht ansprechend.

Die Serverintegration geschieht einfach über mod python - also über den Apache. Was ebenfalls ein Vorteil ist, denn mod python bietet sehr hohe Performance schon von Hause aus. Und für heftigere Fälle gibts ja das Caching in Django. Ich muss sagen, was ich bisher von Django sehe gefällt mir ausgesprochen gut.

Ein wichtiger Hinweis fehlt in der Installationsanleitung: Apache2 ist zwingend nötig, und daher auch ModPython in der entsprechenden Version. Mac OS X liefert aber nur Apache 1.3 und viele andere Server haben auch nur den 1.3er Apache zur Verfügung, da hat Django also noch ein echtes Manko.

Wer übrigens auf Debian von Apache zu Apache2 upgraden will: wenn mod perl im Einsatz ist, vergesst es. Das mod perl2 für den Apache2 in der Debian Sarge ist kompletter Schrott - als ob die API-Änderungen in mod perl2 im Vergleich zum alten mod perl nicht schon nervig genug wären. Im Prinzip kriegt man damit keine Perl-Module mehr so einfach zum Laufen.

Update: Übrigens ist gerade im Subversion zu Django eine Menge Aktivität drin um die Pflicht für Apache zu beseitigen. Ein einfacher Entwicklungsserver ist schon drin, man wird also in Zukunft für erste Spielereien keinen Apache mehr benötigen. Und auch das Deployment könnte man damit auf Dauer auch auf andere Beine stellen - z.B. FCGI hinter lighttpd.

Update 2: Das dritte Tutorial ist da und beschäftigt sich mit der Sicht für den Besucher. Die haben ein ganz schön heftiges Tempo im Moment bei Django.

Erster Etappensieg für Gerolsteiner in der Tour

Wow. Das war ne Etappe - die Top-Fahrer haben klar gezeigt wie das Leistungsniveau liegt. Armstrong und Basso mit den besten Beinen, Ullrich sehr stark und damit auch eine klare Ansage an Klöden und Vinokourov, wer der Kapitän ist. Aber definitiv nicht stark genug für Armstrong. Ob Basso Armstrong knacken kann weiss ich auch nicht - heute haben ihm seine Helfer doch deutlich gefehlt, Sastre und Julich fehlt halt doch das letzte Stückchen Kraft.

Aber die absoluten Stars sind Gerolsteiner. Zum Einen natürlich die immer noch super Platzierung von Leipheimer, ihrem Kapitän. Aber den Vogel abgeschossen hat Georg Totschnig mit seinem Etappensieg. Dem ersten in der Tour für Gerolsteiner überhaupt und auch dem ersten Etappensieg in der Tour für Totschnig. Ich hab schon lang keinen Fahrer und sportlichen Leiter mehr sich dermaßen über einen Sieg freuen sehen wie Totschnig und Holczer. Klasse Leistung, dicke Gratulation an die beiden dafür.

Übrigens ist Gerolsteiner gerade der Typo3-Server (jau, Gerolsteiner benutzt Open Source) gestorben - könnte das vielleicht am Etappensieg und den vielen neugierigen Besuchern liegen?

Django - neues Webframework für Python

Mal wieder ein weiteres Web-Framework für Python, diesmal mit dem markigen Namen Django. Ich bin zwar skeptisch was weitere Webframeworks angeht - gibt schon haufenweise, und ich muss gestehen das ich zu dem einen oder anderen auch was beigetragen habe - aber dieses bietet einige interessante Ansätze.

Zum Einen addressiert es ähnliche Lösungen wie Ruby on Rails - erwähnt Ruby on Rails aber mit keinem Wort. Das ist schon mal positiv, man hat in letzter Zeit fast den Eindruck das die Python-Programmierer wegen ROR in Panik verfallen und meinen alles müsse sich nur noch daran orientieren.

Zum Anderen bietet Django automatisch generierte Backendseiten. Das ist etwas das ich sehr mag und was ich z.B. an Zope so nett finde - man hat gleich einen Weg mit dabei mit dem man mit den eigentlichen Daten rumspielen kann, noch bevor das eigentliche Frontend steht. Sehr praktisch gerade in der ersten Entwicklungsphase.

Auch einige der anderen Ideen sind ganz witzig - zum Beispiel das Mapping von URLs zu Handlern im Python-Code über regular Expressions. Erinnert ein bischen an mod_rewrite im Apache (wobei bei solchen Lösungen immer die Frage der Priorisierung von sich überlappenden regulären Ausdrücken bleibt). Und ein integrierter object-relation-Manager ist auch nicht schlecht, auch wenn man da natürlich auch genausogut auf fertige Lösungen zurückgreifen kann. Und das die Entwickler gleich daran gedacht haben das man effiziente Cache-Systeme braucht und dabei dann auf memcached setzen ist auch nett - viele Projekte sterben irgendwann den Tod der Load, nur weil nicht rechtzeitig an Caching gedacht wurde.

Die Template-Sprache sieht allerdings etwas gewöhnungsbedürftig aus und irgendwie frage ich mich dabei schon warum es davon fast noch mehr geben muss als von Webframeworks

SCO stolpert über die eigenen Füsse

Zumindestens scheint es so wenn es eine eMail über No 'smoking gun' in Linux code gibt.

The e-mail, which was sent to SCO Group CEO Darl McBride by a senior vice president at the company, forwards on an e-mail from a SCO engineer. In the Aug. 13, 2002, e-mail, engineer Michael Davidson said "At the end, we had found absolutely nothing ie (sic) no evidence of any copyright infringement whatsoever."

Die Mail ist schon länger bekannt, aber jetzt erst veröffentlicht worden - vorher war sie als Teil der Gerichtsunterlagen noch unter Verschluss. Schon peinlich für SCO wenn so nach und nach die ganzen traurigen Details zum Vorschein kommen. Vor allem peinlich: SCO argumentiert mit dem gleichen Consultant der wohl hier nix gefunden hat aber vorher mal behauptet hat es gäbe gleichen Code. Irgendwie sollte SCO mal so langsam die Argumentation auf die Reihe bringen, sonst bringts das ganze Gelüge und Erpressen auf Dauer nicht ...

Patentierte Menschen

Mal wieder ein Alleingang des Europäischen Patentamtes gegen alle Gesetze:

Das Europäische Patentamt (EPA) hat im Februar 2005 ein Patent erteilt, das zur Auswahl des Geschlechts von Kindern dient, die aus künstlicher Befruchtung hervorgehen. Patentinhaber ist die US-Firma XY Inc, USA. Dies belegt eine aktuelle Recherche von Greenpeace. Laut Patentschrift mit der Nummer EP 1257 168 B werden Samenzellen tiefgekühlt und nach den Geschlechts-Chromosomen getrennt. Das Patent umfasst das technische Verfahren und die Samenzellen selbst. Menschen werden damit auf eine Ebene mit Verfahren in der Tierzucht gestellt.

Schon idiotisch zu welchem Unfug sich die Beamten im EPA hergeben lassen und vor welche noch so idiotischen Karren sie sich spannen lassen. Nachdenken scheint jedenfalls nicht Bestandteil deren Stellenbeschreibung zu sein ...

Integrationssicherung oder Fremdenfeindlichkeit?

Tolle Idee aus Bayeren (hey, ich bin in München, da kann ich auch mal bayrische Themen aufgreifen): Integration von Ausländerkindern: Nur wer Deutsch kann, darf in die Schule. Die Frage die sich mir stellt: trifft die Regelung nur Ausländerkinder, oder werden generell alle Kinder mit schlechten Deutschkenntnissen zurückgeschickt? Und wenn zurückgeschickt wird - ist sichergestellt, das die Kindergartenplätze mit den Sprachförderungskursen auch existieren? Oder werden so einfach nur Ausländerkinder aus der Schule gehalten damit alles schön deutsch bleibt?

Durchschnittlich zehn Prozent aller Volksschüler in Bayern haben eine nicht-deutsche Muttersprache.

Sorry, aber das dürften deutlich mehr als 10 Prozent sein - denn wenn ich hier in Bayern mir anhöre was die Leute sprechen, dann ist das beileibe nicht immer Deutsch, auch wenns so ähnlich klingt. Also wie siehts aus - werden auch die Dialektgeschädigten Kinder zu Sprachkursen geschickt, oder triffts nur die unbeliebten Ausländer?

robots.txt als angeblicher Kopierschutz

Es gibt keine Idee die blöd genug wäre das nicht Anwälte oder Politiker sie haben könnten: Eignet sich die Datei robots.txt als Kopierschutz? fragt sich jetzt eine Kanzlei in den USA, weil über das Internet Archiv auf historische Daten zugegriffen werden konnte, obwohl in neueren Versionen der Website per robots.txt dem Internet Archiv der Zugriff untersagt wurde:

Harding, Earley, Follmer & Frailey, mit denen sich Healthcare Advocates zuvor im einem Rechtsstreit auseinander gesetzt hatte, wirft Healthcare Advocates nun Verstöße gegen dem DMCA vor, dem Internet Archive hingegen Vertragsbruch, da diese nicht wie erklärt den Zugriff auf die historischen Daten gesperrt hätten. Daher verlangt Healthcare Advocates auch vom Internet Archive Schadensersatz.

Nicht nur das da jemand die Funktion von robots.txt falsch versteht - es ist kein Kopierschutz, sondern eben nur ein Hint für Robots, ob sie die Daten abgreifen dürfen oder nicht - zusätzlich sind die auch noch extrem dreist. Das Internet Archiv bringt seine Leistung kostenlos - aber man kann ja mal auf Vertragsverletzung klagen und Schadensersatz fordern.

Irgendwie ziemlich bescheuert das ganze. Die Vorstellungen von solchen Technik-Versagern sind immer wieder erheiternd ...

(und ja, auch in München gibt es Internet-Zugang )

Tour trotz Armstrong spannend

Und zwar weil eine ganze Reihe Fahrer mich echt mit Leistung beeindrucken. Da ist zum Beispiel heute natürlich Vinokourov, aber ganz besonders die Leistung von Jörg Jaksche - den hat da wohl keiner im direkten Umfeld von Armstrong erwartet. Auch die Platzierung von CSC mit drei Topfahrern ganz vorne - Basso, Sastre und Julich - ist klasse. Aber richtig nett ist die gute Position von Botero und Moreau - beide haben definitiv zu alter Form zurückgefunden. Und Vinokourovs Sieg wird ihn vielleicht für seine Schwäche gestern entschädigen.

Nur das ich die Etappe nur mit gelegentlichen Blicken in den Ticker mitbekommen habe ist irgendwie schade. Aber ich bin ja zum Arbeiten hier, da will ich mal nicht zu laut meckern

Nachtrag: traurig stimmt mich aber schon das Jens Voigt wegen 42 Sekunden Zeitüberschreitung aus dem Rennen genommen wurde - meines Erachtens hätte die Rennleitung da schon ein Auge zudrücken können. Andererseits hatte er ja wohl eine Bronchitis, von daher ist es für seine Gesundheit vielleicht garnicht so abträglich wenn er nicht weiter fährt. Ob er freiwillig aufgegeben hätte ist bei seinem Angriffswillen ja eher fraglich.

Der Berg ruft

Naja, nicht wirklich. Berge gibts ja direkt in München nicht. Also ruft wohl eher das Hofbräuhaus. Oder vielmehr die Kollegen. Jedenfalls bin ich mal für zwei Tage weg. Macht hier nicht alles kapputt ...

Kaum mit sauberen Mitteln

kann die Übergabe der .net Registrator an VeriSign abgegangen sein, wenn man sich ansieht wie ICANN unter VeriSigns Knute ist:

VeriSign kann ab 1. Januar 2007 nach Belieben die Preise der .net-Adressen erhöhen. Außerdem sicherte ihnen die Internet Corporation for Assigned Names and Numbers (ICANN) eine automatische Verlängerung der Laufzeit nach sechs Jahren zu.

Wer jetzt noch glaubt das da kein Geld geflossen ist, dem verkaufe ich gerne ne Waschmaschine mit Gummibandantrieb ...

Microsoft liebt SpyWare

Jedenfalls klassifiziert Microsoft diese jetzt anders:

Demnach empfiehlt das Programm seit dem Update von Ende März, verschiedene als mäßig gefährlich klassifizierte Claria-Produkte ebenso wie solche der Spywareschmieden WhenU und 180solutions zu ignorieren.

Sorry, aber Nachrichten aufpoppende Hintergrundprogramme sind grundsätzlich abzulehnen, dabei interessiert mich auch nicht die Bohne welche Samtpfotenargumentationen die Hersteller dieses Mülls sich einfallen lassen.

Sorry, aber ein Hersteller von Betriebssystemsoftware der mit einer Anti-Spyware-Prüfung solchen Schrott nicht als zu deinstallieren vorschlägt ist schlichtweg unglaubwürdig.

Strafverfolger fordern Zugang zu Whois-Daten

Owl Content

Tja, IP-Adressen und Domains nicht auseinanderhalten können, aber unbeschränkten Zugang zu Whois-Datenbankinhalten fordern. Tolle Strategie. Dabei ist es hochgradig dämlich: ich kann mir beim besten Willen keine Situation konstruieren wo der Domaininhaber wirklich die interessante Information ist. Im Gegenteil, fast immer gehts um IP-Adressen - und die sind den Registries und darüber den Providern zugeordnet, aber diese Zuordnungen sind öffentlich. Die Zuordnungen danach - wie also die Provider die Adressen weiter vergeben - sind eh nicht in irgendwelchen Whois-Datenbanken mit öffentlichem Zugang drin, sondern bei den Providern gespeichert. Überlegen wir uns mal ein paar Fälle: illegaler Upload oder Download geschützer Werke um sowas aufzuklären benötigt es die IP-Adresse des Nutzers und die Zuordnung über die Zeit - denn oft sind das dynamische Adressen. Die Informationen kann nur der Einwahlprovider liefern, in dessen Bereich die IP liegt. Diese Zuordnung zum Provider ist öffentlich über whois abfragbar, alles weitere geht eh nur beim Provider. illegal betriebener Server Die Domain unter der der läuft ist erstmal wurscht - interessanter ist die IP des Hosts auf dem der Kram liegt. Klar, die Domain liefert unter Umständen Hinweise auf Mitverantwortliche, aber interessant ist die IP - denn darüber kriegt man den Hoster für das System und der hat Unterlagen wem er diesen Server zur Verfügung gestellt hat. Ausserden kann auch nur der die Zugriffsprotokolle auf diesen Server haben über den z.B. festgestellt werden könnte welche IP den Upload gemacht hat - und dann sind wir wieder beim oberen Fall. eMail mit Beleidigungen, Drohungen oder anderem verbotenen Inhalt auch hier hilft die Domain höchstwarscheinlich recht wenig - interessanter ist die IP der Server auf denen die Mails eingetütet und ausgeliefert wurden. Denn darüber kann man über Zugriffsprotokolle die IP des einliefernden oder abholenden Systems bekommen und dann mit dem ersten Punkt wieder an den Nutzer herankommen.

Sorry, aber ich sehe wirklich keinen Grund warum die Domaindaten öffentlich sein sollten oder warum Strafverfolgungsbehörden einen dringenden Zugang zu den Daten haben müssen - klar, Markenrechtsanwälte würden das gerne haben, aber ich glaub nicht das es hier um erleichterten Zugriff für Markenrechtsanwälte gehen würde ...

Für mich klingt das ganze arg danach das hier mal wieder einfach gefordert wird, ohne das wirklich konkreter Bedarf vorliegt. So wie auch immer wieder Abhörmaßmahmen ohne triftigen Grund bekannt werden - und dann die Ermittlungsbehörden mal wieder in die Schusslinie bringt. Irgendwie wäre es schon schön wenn bei den ganzen Forderungen der Behörden mal konkrete Anlässe drin stünden, warum denn diese Forderung erhoben wird, denn dann könnte man mal über wirkliche Lösungen für deren Probleme nachdenken - schliesslich gehts bei der Weigerung der Datenherausgabe nicht darum die Ermittlungsbehörden zu behindern, sondern den Datenschutz zu gewährleisten.

JavaScript-Aktionen über CSS Selektoren zuordnen

Cool stuff: Behaviour ist eine JavaScript Library mit der man JavaScript-Aktionen an CSS Selektoren binden kann. Der Vorteil: die Aktionen verschwinden aus dem HTML-Code - der so deutlich schlanker wird. Und die Aktionen lassen sich durch Änderung der Selektoren jederzeit an neue Gegebenheiten anpassen.

In meinen ersten Anwendungen von Ajax bin ich genau über das Problem gestolpert: die JavaScript-Aktionen müllen den gerade erst mühsam auf semantisches HTML reduzierten Code voll. Genau das was mich vorher an den ganzen Table-Layouts geärgert hat, ärgert mich jetzt an der ganzen JavaScript-Geschichte. Eine saubere Trennung von Code, Semantik und Stil ist also genau das was ich brauche. Eigentlich würde sowas in den HTML-Standard gehören.

Muss ich ganz dringend mal ausprobieren, denn wenn das von der Performanz her brauchbar ist, sollte ich ein paar der letzten Ajax-Aktionen nochmal näher angucken und ändern ...

Jens Voigt in Gelb

Sowas liebe ich. Ein wirklich starker Etappensieger mit einer super Leistung. Ein technisch perfektes Paarzeitfahren von Voigt und Moreau. Einmal das Gesamtklassement durchgerührt und das gelbe Trikot bei einem meiner Lieblingsfahrer (der andere darf ja dieses Jahr nicht mitfahren). Hey, wegen meiner kann Jens Voigt die Farbe gerne noch ein paar Tage länger tragen

Plash: the Principle of Least Authority shell

Interessantes Konzept: Plash ist eine Shell die Programmen eine Library unterschiebt über die alle Zugriffe auf das Filesystem schicken. Dadurch kann man kontrollieren welche Funktionen ein Programm wirklich ausführen darf. Das dient diesmal nicht dem Schutz vor Aktivitäten des Benutzers, sondern dem Schutz des Benutzers vor Aktivitäten des Programms. Gerade wenn man Programme installiert die man nicht kennt kann man unter Umständen sich Trojaner einfangen - Plash hilft da, indem man explizit nur die Bereiche der Platte für das Programm freischaltet, die dieses auch braucht.

Dazu werden alle Zugriffe auf das Dateisystem intern über einen eigenen Miniserver geroutet - das eigentliche Programm wird unter einem frisch allozierten Benutzer in einem eigenen chroot-Jail ausgeführt, hat also gar keine Chance irgendwas ausserhalb zu machen das nicht explizit erlaubt wird.

Sehr interessantes Konzept, vor allem für Systemadministratoren. Funktioniert leider (erwartungsgemäß) nicht mit grsecurity zusammen - klar, grsecurity soll ja gerade einige der in Plash verwendeten Tricks genau verhindern helfen. In diesem Fall scheitert es an der Anforderung von executable Stack.

Die katholische Kirche und die Evolution

Keine Kirche!

Noch nicht in anderen Medien gesehen, daher ein Link auf die New York Times: Leading Cardinal Redefines Church's View on Evolution - New York Times:

The cardinal, Christoph Schönborn, archbishop of Vienna, a theologian who is close to Pope Benedict XVI, staked out his position in an Op-Ed article in The New York Times on Thursday, writing, "Evolution in the sense of common ancestry might be true, but evolution in the neo-Darwinian sense - an unguided, unplanned process of random variation and natural selection - is not."

Soso. Die katholische Kirche will also mal wieder gegen Darwin und seine Lehren angehen? Statt dem stumpfen Kreationismus jetzt also das verbrähmte Intelligent Design? So eine Moppelkotze. Was nicht kompatibel ist, ist die Realität und die katholische Kirche ...

grössere Haskell-Sourcen

Wer wie ich lieber Sourcen durchwühlt um Sprachen zu lernen, hier ein paar grössere Haskell-Projekte zur Auswahl:

  • [Haskell User-Submitted Libraries][0] ist eine Sammlung von teilweise schon älteren aber trotzdem interessanten Haskell-Projekten. Downloadbar ist ein IRC-Bot und im CVS ist auch noch ein Webserver mit Plugin-Schnittstelle.
  • [Pugs][1] ist eine Perl 6 Implementation in Haskell. [Hatte ich schon mal][2], ist immer noch cool |:-)|
  • [darcs][3] ist ein verteiltes Sourceverwaltungssystem. [Hatte ich auch schon mal][4], ist aber auch immer noch cool.

Helium - Haskell-Lehr-System

Helium ist ein Haskell-Subset-Compiler der speziell für die Lehre entwickelt wurde. Er liefert ausführlichere Fehlermeldungen und analysiert Sourcen weitergehend um diese Meldungen möglich zu machen. Allerdings ist es wirklich nur ein Subset von Haskell - und da Typklassen fehlen, fehlt ein ziemlich wichtiger Teil. Um aber überhaupt erstmal in die funktionale Programmierung reinzuschnuppern ist das ganz brauchbar.

Als Textbücher bieten sich The Craft of Functional Programming und The Haskell School of Expression an. Hab mir beide mal bestellt - meine Haskell-Kenntnisse sind mehr als primitiv und hoffnungslos veraltet (sofern das bei einer doch recht jungen Sprache wie Haskell überhaupt geht ).

Manchmal treibt mich DarwinPorts zur Verzweiflung

Zum Beispiel wenn ich ghc (einen Haskell-Compiler) installieren will, aber der als erstes mal Perl 5.8 installieren will. Als ob ich unter Tiger nicht schon ein durchaus brauchbares Perl 5.8.6 auf der Platte hätte, nein, die DarwinPorts wollen eigene Versionen davon. Und dann hab ich je nach Pfadeinstellung mal das Apple-Perl oder eben das von DarwinPorts aktiv. Ziemlich dämlich - ich finde da müssten in die DarwinPorts Pseudopakete rein, die dann auf die vorinstallierten Versionen von Apple verweisen.

Das macht ganz besonders dann Probleme, wenn man selber auch Pakete so von Hand installiert. Denn dann wird teilweise das über den Pfad erreichbare Perl genommen - und mit aktiven DarwinPorts ist das halt das dort. Was aber absolut nicht der gewünschte Effekt ist - schliesslich ist das Perl in diesem Fall nur deshalb reingekommen, weil der Port für ghc eine build-dependency hat. Ich will aber garnicht das DarwinPorts Perl benutzen ...

Aus dem gleichen Grund sind die ganzen Python und Ruby Module in DarwinPorts IMHO unbrauchbar: sie ziehen automatisch eine neue Installation von Python und Ruby nach sich und nutzen nicht die vorinstallierte Version. Selten dämlich ...

Im Ergebnis kann man DarwinPorts auf einer OS X Kiste nur für gut isolierte Tools benutzen - was aber irgendwie schade ist, denn die Idee und die Umsetzung an sich ist ziemlich klasse. Nur wird halt zu wenig Rücksicht auf die schon installierten Sachen genommen.

ghc hab ich übrigens einfach über das Binary-Paket von haskell.org installiert. Da steht zwar das sei für 10.3, tuts aber auch mit 10.4 - jedenfalls das was ich damit mache. Und erspart mir das ganze Zeugs zu builden.

Bombenserie in London

Bombenserie in London: Explosionen in mehreren U-Bahnhöfen und Bussen haben London am Donnerstag im Chaos versinken lassen. Anscheinend drei Explosionen in U-Bahnhöfen und drei Explosionen in Doppeldeckerbussen. Die Vermutung von Terroranschlägen liegt natürlich nah - immerhin ist der G8 Gipfel in England.

Shiira - alternativer WebKit Browser

Shiira Project ist ein interessanter Webbrowser für den Mac der auf dem WebKit aufbaut. Das besondere an Shiira (neben Kleinigkeiten wie einem mehr Cocoa-ähnlichem Layout anstelle der Blechkistenform vom Safari) ist die Möglichkeit per Hotkey mal eben alle in einem Fenster geladenen Tabs in einer Übersicht verkleinerter Seiten anzuzeigen - ähnlich dem Exposé. Sehr schick, könnte mir auch als Funktion in Safari gefallen ...

Zusätzlich unterstützt Shiia als Alternative zum WebKit-Downloader auch cUrl - aber leider hat der Browser da noch einige seltsame Eigenschaften, zum Beispiel klappt der Login bei WordPress-Blogs nicht immer damit und ab und an werden alte Daten angezeigt. Auch mit normaler Authentifikation klappts nicht immer - ich krieg dann einen Fehler angezeigt, anstatt das der Browser nach dem Passwort fragt. Mit dem WebKit-Downloader siehts aber alles recht ordentlich aus.

Da ich allerdings einen recht kleinen Bildschirm habe (in der Regel auf 1024x768 eingestellt, da das Notebook auch diese Grösse hat und ich so 100 Hz bei der Anzeige habe) wird das wohl nicht mein Standardbrowser - die Seitenleiste für die Lesezeichen und den Verlauf ist einfach unpraktisch bei kleinen Bildschirmen. Mir wäre daher eine Darstellung dieser Informationen in der Hauptseite ala Safari oder Camino deutlich lieber.

SSL-VPN mit Browsersteuerung

Kollege hat ein ziemlich geniales Teil gefunden: SSL Explorer, ein kleiner https-Server der mit einem Java-Applet im Browser zusammen ein VPN realisiert. Und zwar werden beim Appletstart (der bestätigt werden muss, da das Applet zusätzliche Fähigkeiten braucht) Tunnelverbindungen über https aufgebaut und darüber dann diverse Anwendungen integriert. Zum Beispiel kann man dann per Klick auf einen Link eine VNC-Verbindung zu einem internen Server aufbauen, oder über Webformulare im lokalen Windows-Netz browsen, Files transferieren oder z.B. per SSH auf Linux-Server hinter der Firewall zugreifen. Und das ganze funktioniert mit einem einfachen Java-fähigen Webbrowser - ich habs zum Beispiel mit dem Safari getestet, klappt problemlos. Ganz ohne extra zu installierende Client-Software. Ideal für Roaming-User die nicht immer ein eigenes Gerät mit dabei haben.

Achso, und das ganze ist dann auch noch unter der GPL.

Hardened-PHP project

Keine Ahnung wie gut das wirklich ist, aber das Hardened-PHP Projekt klingt schon mal ganz nett. Gerade durch die hohe Verbreitung von PHP für Webanwendungen ist es ein zentraler Einbruchsweg in Server. Sollte ich mir mal auf die ToDo-Liste schreiben.

Musikindustrie will Allofmp3.com tabuisieren

Eigentlich ist es schon eher Zensur positiver Berichte über allofmp3 was die Musikindustrie da anstrebt. Wer also mal was gutes über allofmp3 gesagt hat, oder die verlinkt hat oder gar empfohlen: Waldorf und Stettler werden euch sicherlich Post schicken. Und so wird der Abmahnwahnsinn weiter gehen und die Musikindustrie wird weiter Anwälte finanzieren aber nichts gegen ihren Abstieg tun und deshalb irgendwann ganz bedeutungslos sein. Aber Schuld sind ja immer die anderen ...

Softwarepatente erstmal aufgehalten

Ab und an gibts auch mal was positives: Europaparlament sagt Nein zu Softwarepatenten. Allerdings:

Nun muss das europäische Patentamt demokratisiert werden, damit nicht weiterhin ohne rechtliche Grundlage Softwarepatente in Europa vergeben werden. Und es muss aufgepasst werden, dass Softwarepatente nicht durch irgendeine andere HIntertür eingeführt werden, wie beispielsweise bei den Bestrebungen nach einem gemeinsamen EU-Patent.

Das ist das Problem - wir müssen höllisch aufpassen das jetzt nicht einfach auf anderem Wege versucht wird das gleiche zu realisieren. Ich glaube nicht das der EU-Rat seine Ideen einfach zurückstellt, im Gegenteil, ich vermute gerade ein Ausweichen auf andere Lösungsansätze. Von daher wäre auch mir eine angenommene Patentrichtlinie mit den angestrebten Änderungen lieber gewesen als die generelle Ablehnung, denn so ist das Thema immer noch offen. Und schlussendlich hätte eine Richtlinie mit klaren Definitionen die reine Software-Patente verhindern helfen können zum Beispiel so Patente wie das MP3-Patent zu entfernen - denn schliesslich gibt es schon eine ganze Reihe von reinen Sofware-Patenten in Europa, und die muss man ja auch mal irgendwie los werden.

Sozialabzocke verschärft

Damit jedem klar wird, was es bedeuten würde wenn Schwarz/Gelb statt Rot/Grün regiert: CDU-Ministerin will Angehörige ALG II bezahlen lassen:

Die hessische Sozialministerin sprach sich laut "Berliner Zeitung" vom Mittwoch dafür aus, den so genannten Unterhaltsrückgriff beim Arbeitslosengeld II (ALG II) wieder einzuführen. Wie bereits beim Sozialgeld würden dann erst auch nicht im selben Haushalt wohnende Eltern oder erwachsene Kinder für den Unterhalt eines Arbeitslosen herangezogen, bevor er staatliche Unterstützung bekommt.

Damit würden dann durch Arbeitslosigkeit nicht nur dem Arbeitslosen das Leben zerstört, sondern auch noch gleich die Sippenhaft eingeführt. Wohin das alles zielt ist ja auch klar. Und die Ministerin macht kein Hehl daraus:

Das Wahlprogramm der Union werde deutlich machen, "dass wir den Niedriglohnsektor beleben wollen", so Lautenschläger weiter.

Die Union stellt sich vermutlich sowas wie Indien in Deutschland vor. Sind doch echte Perspektiven für die Bürger der Bundesrepublik ...

Mexikos Besiedlung älter als bisher angenommen

Denn es wurden 40.000 Jahre alte Fußspuren in Mexiko gefunden:

In Mexiko haben Forscher menschliche Fußspuren entdeckt. Die Abdrücke sind älter, als sie nach der Theorie von der Besiedlung Amerikas sein dürften.

Hingegen ist es nur ein Gerücht das neben den Fussspuren an der Wand eine Grafitti mit den Worten Kilroy was here gefunden wurde

PHP-Serialize für Python

Hurring.com : Code Vault : Python : PHP-Python Serialize : v0.3b ist eine Implementation des PHP serialize() Zeugs in Python. Sehr praktisch für WordPress: in den Optionen werden oft serialisierte Strukturen gespeichert die man so wieder auflösen kann - man kann so z.B. Tools schreiben, die direkt auf der Datenbank aufsetzen, aber in Python geschrieben sind. Der Autor hat das gleiche auch noch mal für Perl gemacht - man kann also zwischen Python, Perl und PHP einfache Datenstrukturen hin und her schieben.

Quengelköppe und Open Source

IT-Entscheider fordern in einem offenen Brief mehr Konzentration auf die ihnen wichtigen Bereiche:

In einem offenen Brief an "die" Open-Source-Community haben IT-Entscheider aus verschiedenen Bereichen dazu aufgefordert, sich mehr an den tatsächlichen Bedürfnissen von Nutzern aus dem Unternehmensbereich zu orientieren.

Ich finds ja immer wieder faszinierend mit welcher Dreistigkeit manche Menschen Forderungen an freiwillige Arbeit stellen, um dann diese für eigene Zwecke zu nutzen. Die einen fordern die Abschaffung der GPL, weil ihnen die Bedingungen nicht passen, die nächsten fordern die Konzentration auf den Desktop, weil sie halt was als Alternative zu Microsoft wollen, andere fordern mehr Konzentration auf Hochleistungsserver, weil ihnen SUN-Maschinen mit Solaris oder IBM-Server mit AIX zu teuer sind.

Komischerweise höre ich aber immer nur in offenen Briefen irgendwelche Forderungen - es wäre aber wesentlich sinnvoller schlicht und einfach das entsprechende Projekt finanziell und mit Manpower zu unterstützen. Aber das wäre ja eigene Leistung, das will man ja gerade vermeiden. Dazu passen dann auch Forderungen nach besserem Support und bessere Dokumentation - beides Sachen, die Firmen ohne weiteres selber auf die Beine stellen könnten. Aber man ist sich da zu fein zu.

Sorry, aber für mich klingen solche offenen Briefe an Open Source Entwickler immer wie quengelige kleine Kinder, die unbedingt ein Eis wollen.

Sorry, Leute, aber so läuft das nicht. Ein grosser Teil der Open Source Community besteht eben noch aus Hackern und begeisterten Amateuren und Fricklern. Das produziert oftmals grosse Scheisse und immer wieder mal geniale Lösungen. Und es produziert eben nur das, wozu die Leute Lust haben - wenn Dokumentation schreiben für jemanden langweilig und nervig ist, wird er seine Freizeit nunmal nicht darauf verwenden.

You have an itch? Scratch it. Yourself.

Sodann will in den Bundestag

Und meine Stimme hätte er. Aber natürlich haben die etablierten Politiker was zu meckern und fordern von ihm die Aufgabe seines Schauspielerberufes. Dabei wäre das Gegenteil - das die Berufspolitiker mal sich den Realitäten des Lebens stellen müssten - viel wünschenswerter.

Sodann hat mit seinem sozialen Engagement und dem Einsatz für sein Theater gezeigt das er weitaus mehr Antworten hat als die tollen Prolethiker in Berlin. Also gebt dem Mann eine Chance. Schlimmstenfalls haben wir einen im Bundestag sitzen dessen Auftreten wesentlich menschlicher ist und der noch weiss was die kleinen Menschen auf der Strasse eigentlich sind.

Update: Peter Sodann hat seine Kandidatur zurückgezogen. Da ich ihn als Kommissar Ehrlicher im Tatort sehr mag, weiss ich nicht mal ob ich darüber traurig sein soll

Softwarepatent-Richtlinie vor dem Aus?

Es wäre ja wirklich schön wenn die Softwarepatent-Richtlinie vor dem Aus stünde:

Laut Lehne wollen vier kleinere Fraktionen in der für den morgigen Mittwoch geplanten Abstimmung über die Richtlinie und mögliche Änderungen den Vorschlag des Europäischen Rates komplett zurückweisen, heißt es in einer AFP-Meldung, die unter anderem bei der Berliner Zeitung zu finden ist.

Leider glaube ich das erst wenn ich es sehe. Denn bisher wurde ja schon öfter der bevorstehende Abgesang proklamiert, aber real ist das Teil trotzdem weiter gekommen. Ausserdem würde ich mich nicht wundern wenn der Rat die gleiche Direktive einfach wieder vorne losschickt, ohne wirkliche Änderungen. Oder wenn das Gerede vom Aus einfach nur der Versuch ist die Softwarepatentgegner in Sicherheit zu wiegen und dazu zu bringen in den Bemühungen nachzulassen.

Von daher: weiter gegen Softwarepatente schreiben und sprechen. Mal den eigenenen EU-Abgeordneten anschreiben. Auch mal die anschreiben, mit denen man sonst nix zu tun haben will - und darauf hinweisen, das durch die Softwarepatentrichtlinie Europa an die Riesen der Softwareindustrie verschachert wird.

Verstrickungen des Märzhasen?

Über Sodann regen sich die Prolethiker in Berlin auf, aber über das Possenspiel der Besetzung des Aufsichtsrates der Deutschen Börse wird natürlich nix gesagt. Und das obwohl da klare Konflikte erkennbar sind:

Im Hauptberuf ist Merz Anwalt und vertritt als Rechtsberater den Chef des britischen Hedge-Fonds TCI, Christopher Hohn. Der Hedge-Fonds-Manager hatte die geplante Übernahme der Londoner Börse (London Stock Exchange/LSE) durch die Deutsche Börse verhindert.

Und dann soll der Märzhase demnächst noch irgendwas im Kabinett Merkel sein. Tolle Idee, tolle Zukunft.

Every smile you fake ...

... we'll be watching you. Sting rules

Und Pink Floyd natürlich auch. Aber die sind eh ausser Konkurrenz.

Objekte und Funktionen mit JavaScript

Da immer mal wieder der OO-Aspekt von JavaScript ignoriert wird, hier mal ein Text über Object Hierarchy and Inheritance in JavaScript.

Ich selbst bin seit meinen ersten Kontakten mit Prototyp-OO-Sprachen wie Self und NewtonScript ein Fan dieser Denkrichtung von OO - das Schubladendenken der klassenbasierten OO Ansätze ist oft einengend, gerade bei der Modellierung von Realwelt-Objekten.

Übrigens hat JavaScript auch noch eine ganze Menge anderer netter Eigenschaften die gerne übersehen werden - allen voran die netten anonymen Funktionen, über die Closures in JavaScript realisiert werden. Und higher-order programming lässt sich damit auch realisieren.

Wenn man jetzt Prototype-OO und Higher-Order-Programming zusammenpackt, kommt unter Umständen sowas wie Prototype heraus - einer Bibliothek für JavaScript mit einer Menge interessanter Erweiterungen wie z.B. eleganter Ajax-Bindings, einfacherer Callback-Konstruktion und noch vielen anderen Spielereien. Eine weitere Möglichkeit könnte sich aus Bob Ippollitos MochiKit ergeben, wenn es denn mal veröffentlicht ist (und es dem Hype standhält).

Prototype erfordert übrigens eine Menge an Vorstellungskraft was damit gemacht werden kann - es gibt nämlich keine Dokumentation