Donnerstag, 23. Oktober 2008

Perl Dprof and POE

Hey,
for all those who wants to use the Devel::DProf (the Perl code profiler,
perl -d:DProf
) together with POE (portable multitasking and networking framework for Perl) and are getting the error:

panic: Devel::DProf inconsistent subroutine return at /usr/lib/perl5/site_perl/5.10.0/POE/Kernel.pm line 822.


and also waiting on for the Bug fix (the label-goto-jump situation), may use the following workaround:

- change in the file /usr/lib/perl5/site_perl/5.10.0/POE/Kernel.pm the

POE::Resources->load();


with

# POE::Resources->load();
eval "package POE::Kernel; use POE::Resource::Aliases";
eval "package POE::Kernel; use POE::Resource::Events";
eval "package POE::Kernel; use POE::Resource::Extrefs";
eval "package POE::Kernel; use POE::Resource::FileHandles";
eval "package POE::Kernel; use POE::Resource::SIDs";
eval "package POE::Kernel; use POE::Resource::Sessions";
eval "package POE::Kernel; use POE::Resource::Signals";
eval "package POE::Kernel; use POE::Resource::Statistics";


Ok thats not the fine art, but it is working. Possibly the Statement:

sub load {
my $package = (caller())[0];

in file /usr/lib/perl5/site_perl/5.10.0/POE/Resources.pm triggers the DProf Bug. But that does only the maintainer know ;-)

Sonntag, 19. Oktober 2008

Wo ist die Bandbreite hin?

Hallo,
toll ist das Web 2.0 schon. AJAX auch eine gute Idee um Bandbreite zu sparen und Internetseiten zu beschleunigen (um wirklich das Gefühl zu bekommen, schnelleres Internet zu haben).

Allerdings scheinen auch einige Webseitenbetreiber (wie www.flybmi.com) dies negativ auszunutzen. Was ich auch an dieser Stelle einmal kritisieren muss, ist das diese Seite jeden einzelnen Click den der Webseitenbesucher tätigt auch tatsachlich nach Hause, zur Auswertung, schickt (Schäuble lässt grüßen, Willkommen Stasi 2.0). Mag sein das die Webprogrammierer "nur" die Applikation testen wollen (da diese Webpräsentation im "Debug"-Modus gefahren wird).
Jedoch ist das nicht die feine Art, die Bandbreite zu schmälern.

Also, wer das nicht glauben mag, der kann sich das Paket "Wireshark" (vormals Ethereal) herunterladen und während eines Webseitenbesuches bei dieser Fluggesellschaft mal den Datenverkehr mit schneiden (am Besten mit der Filtereinstellung 'http').

Wenn wir schon einmal bei der Frage nach der verlorenen Bandbreite sind, kann ich empfehlen sich den Source Code jener Beispielseite anzuschauen.
Welch Greul!

Ich verstehe schon die Argumentation für den Einsatz eines Frameworks. Aber haben sich die Webprogrammierer jemals den Quellcode angesehen?
Traurigerweise vermisst man (wie so oft) die W3C-Konformität. Schwerwiegender ist aber die Vergeudung der Bandbreite mit dem sinnfreiem Übertragen von "\n" (Newlines). Beispiel (die Ergebnisseite wird betrachtet): gibt für einen einfachen Flug 246 Zeilen (von insgesamt 398) mit Müll aus (Zeilen die nur am Zeilenanfang ein Newline haben).
Es mag durchaus nicht viel sein, doch überlegt man sich einmal die die Größenordnung für einen Tag bzw. für viele Nutzer.
So passiert es also, das man trotz steigender verfügbare Bandbreite nicht unbedingt auch schnelleres Internet bekommt.

Grüße,