27.03.2009

Google Projekt "Unladen-Swallow" für eine neue Python - VM

ProjectPlan - unladen-swallow - Plans for optimizing Python - Google Code

Google hat unter dem Namen "unladen swallow" ein Projekt gestartet, um eine neue Python VM zu entwickeln.

In erster Linie geht es den Entwicklern um eine schnellere Ausführung von Python Code. Langfristig soll die CPython VM durch eine JIT auf Basis einer LLVM ersetzt werden. Dabei soll aber die Python Runtime Umgebung intakt gelassen werden.

Als Basis für die Entwicklung dient die Python Version 2.6.x

Interessant ist der Projektplan und dabei, mit welchem Tempo die Leute ans Werk gehen. Auch das immer wiederkehrende Thema GIL wird nicht ausgespart.

Seien wir gespannt, ob Python den geplanten Performance Boost bekommt. Toll wäre es.

23.03.2009

Benchmark: Parsen eines JSON Strings in ein JSON Objekt

JSON Performance comparison of eval, new Function and JSON - gOODiDEA.NET

Hier ein guter Benchmark über die Geschwindigkeit beim parsen eines JSON Strings in ein JSON Objekt. Wichtig ist das, wenn man via AJAX viel JSON Strings hin- und hersendet.

Bemerkenswert dabei, wie der Firefox abschneidet. Trotzdem ist er dank Firebug der Browser der Wahl, wenn man entwickelt.

21.03.2009

NGINX unter Windows installieren und benutzen

Nachdem ich mit dem Django WSGI Server und statischen Files immer wieder Probleme hatte, habe ich mich entschlossen, nginx unter Windows auszuprobieren. (http://www.kevinworthington.com/nginx-for-windows/) Auf meinen Rootservern funktioniert das problemlos.

Die Installation ist einfach, der Server ist unheimlich klein (ca. 6MB im Speicher!) und rasend schnell.
Bei der Konfiguration kann man sich an die offizielle Dokumentation für Linux / UNIX halten. Das einzige Problem ist die Angabe von Windows Pfadnamen in der nginx.conf.

In einem Forenbeitrag fand ich den entscheidenden Hinweis, wie in der Datei nginx.conf unter Windows die Pfadangabe zum Rootverzeichnis der Website anzugeben ist:
Windows installation - setting root - Ruby Forum
Wichtig ist, dass alle Backslashes (\) in normale Slashes (/) geändert werden. Der Pfad selbst steht in einfachen Hochkommas ('), damit Leerzeichen keinen Ärger machen.

nginx ist statisch unter Cygwin kompiliert und liegt unter c:/nginx. Die Pfade sind immer im Verhältnis zu c:/nginx angegeben. Durch das ../mein_pfadname erreicht man, dass in das Wurzelverzeichnis des Laufwerks c: gewechselt wird. Man erspart sich somit auch die Angabe des Laufwerksbuchstabens.

Hier der Abschnitt server aus meiner nginx.conf:

server {
listen 80;
server_name localhost;

access_log logs/host.access.log main;

location / {
proxy_pass http://127.0.0.1:8000;
}

location /media/ {
root '../Dokumente und Einstellungen/akaiser/dev/';
}
}

14.03.2009

Kostenloser vServer Betatest bei EUserv

EUserv vServer kostenloser Test

Der Webhoster EUserv bietet als Betatest bis voraussichtlich Ende 2009 einen kostenlosen vServer an. Seit heute habe ich meine Zugangsdaten. Hier nun einige Infos zu dem Angebot.

Technische Details:

  • CPU-Leistung 100% (vergleichbar mit einem P3, nutzbar bis zu 1000MHz)
  • Arbeitsspeicher (garantiert) 512 MB
  • Arbeitsspeicher (dynamisch) 1.024 MB
  • Festplatte 10 GB
  • Netzwerkanbindung 1x 100 Mbit/s (shared über Hostsystem)
  • Bandbreite 100 Mbit/s (shared über Hostsystem)
  • Traffic inklusive
  • 1 feste IP
Es stehen folgende Betriebssysteme zur Auswahl:
  • CentOS 4.0 minimal
  • CentOS 4.7 minimal
  • CentOS 5.0 minimal
  • CentOS 5.2 minimal
  • Debian 4.0r4 minimal
  • Debian 4.0r4 minimal 64Bit
  • Debian 4.0r4 SysCP 64Bit
  • Debian 5.0 minimal
  • Debian 5.0 minimal 64Bit
  • Fedora Core 10 minimal
  • Fedora Core 10 minimal 64Bit
  • Gentoo 2008.0 minimal
  • Gentoo 2008.0 minimal 64Bit
  • OpenSuSE 10.0 standard
  • Ubuntu 8.04LTS minimal
  • Ubuntu 8.04LTS minimal 64Bit
Über eine aufgeräumte Oberfläche im EUserv Kundencenter kann man seinen Server neu installieren, starten/stoppen, rebooten sowie den angefallenen Traffic einsehen.

Sobald es die Zeit zulässt, werde ich mich mit den vServer beschäftigen. Meine Ergbnisse werde ich hier dann veröffentlichen.

Zur Bestellung benötigt man einen Gutscheincode. Bei Interesse bitte melden, ich werde dann diesen Code verschicken.

11.03.2009

Frei vs. proprietär

Die 3-Sat Serie Sixtus vs. Lobo hat einen schönen kurzen Beitrag zum Thema frei versus proprietät gemacht. Ich persönlich gebe Herrn Sixtus diesmal recht.







Sixtus vs. Lobo – Frei oder proprietär

08.03.2009

Blueprint CSS Framework Tutorial

Eine schöne Einführung in das Blueprint CSS Framework. Blueprint CSS ist ein gridbasiertes CSS Framework, welches einem viel Arbeit beim Layouten einer Webseite abnimmt. Es ist auf jeden Fall einen Blick wert.

http://net.tutsplus.com/tutorials/html-css-techniques/a-closer-look-at-the-blueprint-css-framework/

03.03.2009

Heute ist Square Root Day!

Nach dem 02.02.2004 ist endlich mal wieder Square Root Day! Die Quadratwurzel der letzten beiden Stellen des Jahres (9) entspricht sowohl dem Monat (3) als auch dem Tag (3).

Also: kräftig feiern, denn der nächste Square Root Day kommt erst in 7 Jahren!

01.03.2009

Verbreitung von Django / Python in Deutschland

Seit einiger Zeit benutze ich Django als Webframework für meine Arbeit bei Webprojekten. Immer wieder muss ich aber feststellen, dass man als Python Programmierer komisch angeschaut wird. Es kommen dann die Fragen:


  • Wieso benutzen Sie kein PHP? Damit sind doch fast alle Webprojekte realisiert.
  • Wieso sollten wird etwas einsetzen, was kaum bekannt ist? Dafür bekommen wir doch keine Entwickler.
  • Wir möchten keine exotischen Produkte / Technologien. Wir möchten dass was alle einsetzen. Das muss ja schließlich gut sein.
  • ...
Also beginnt man jedesmal aufs Neue, mit Argumenten, seinen Kunden zu überzeugen. Meistens funktioniert das dann auch, doch der Weg dahin ist nicht einfach. Eine PHP Lösung muss man selten rechtfertigen.
Woran liegt es also, dass in Deutschland Django (als auch Python) nicht so sehr bekannt ist wie z.B. in den USA? Es existieren viele deutsche Anlaufstellen für Python Programmierer (siehe Linkliste), viele Dokumentationen sind (mehr oder weniger gut) ins Deutsche übersetzt. Doch es fehlt das gewisse Etwas.
Ende des Letzten bis Anfang des neuen Jahrtausends habe ich die Entwicklung im Bereich PHP mitverfolgt. Zu dieser Zeit etablierte sich der PHP Verein um nach aussen hin einen geschlossenen Auftritt zu gewährleisten. Es kamen neue Zeitungen zum Thema PHP auf den Markt und die PHP Nutzergemeinschaft wuchs immer schneller. Den PHP Verein gibt es nicht mehr (so steht es auf der Webseite), nichts desto trotz ist PHP am Markt seit einigen Jahren vollends angekommen.

Was ist mit Python / Django? Woran liegt es, dass oftmals in den Entscheideretagen RubyOnRails bekannter ist?
Und ganz wichtig: Was kann man machen, damit Python / Django im selben Atemzug genannt werden, wie die o.g. Sprachen / Frameworks?

http://www.python-forum.de
http://wiki.python.de (die Anlaufstelle)
https://www.django-de.org