Saturday, February 28, 2009

11. Deutscher Perl-Workshop - persönlicher Rückblick

Langer Anlauf, kurzer Sprint und schon ist alles vorbei. So könnte man den 11. Deutschen Perl-Workshop aus meiner Sicht beschreiben...

Im Juni 2008 haben wir (Frankfurt.pm) angefangen, die ersten Dinge für den Workshop zu sondieren: Wo könnten wir den Workshop abhalten? Tagungshaus? Uni? Hotel? Welche Restaurants kommen für den Social Event in Frage? Wen können wir wegen Sponsoring fragen?

In den nächsten Wochen und Monaten hat sich eins nach dem anderen ergeben; der Veranstaltungsort wurde ausgewählt, der CfP wurde verschickt und Sponsoren gesucht. Ab November bin ich dann auf die Suche nach einer Buchhandlung gegangen, die den Büchertisch auf dem Workshop machen kann. Schließlich bin ich fündig geworden: die Buchhandlung Hector hat zugesagt, den Büchertisch zu machen.

Dann musste über die Vortragsvorschläge abgestimmt werden und ein Zeitplan erstellt werden. Das hat WsOrga, die "große" Orga, die die "lokale Orga" unterstützt, übernommen. Genauso wie den Tagungsband zu erstellen.

Natürlich musste dann auch überall angekündigt werden, dass man sich zum Workshop anmelden kann.

Der letzte Monat vor dem Workshop war dann etwas stressiger: Welche Unterlagen brauchen wir? Wie viele Leute kommen? Kommen alle zum Social Event? Haben wir die ganze Technik, die wir benötigen? Wie sieht es mit Schildern etc. aus? Die Teilnehmerzahlen mussten an Catering und Restaurant weitergegeben werden. Die Namensschilder mussten noch erstellt werden und vieles mehr.

Die USB-Karten, die uns von gesponsort wurden, mussten mit MiniCPAN, StrawberryPerl, Padre, Kephra, Tagungsband und Sponsoreninformationen bespielt werden. Mein Drucker stand quasi nicht mehr still, weil alle möglichen Listen und Dokumente gedruckt werden mussten. Die Post hat Pakete von der WsOrga mit Büromaterial und den Taschen geliefert. Das "Carepaket" von O'Reilly kam pünktlich zum Workshop.

Mittwoch morgen wacht man dann auf mit der Ungewissheit, ob alles klappt. Ich war dann schon sehr früh am "Haus der Jugend" und habe mit einigen anderen die restlichen Sachen aufgebaut und Schilder aufgehängt. Dann kamen die ersten Teilnehmer...

Als die Tutorials liefen, war der erste große Ansturm vorbei. Dann gab's Mittagspause und danach die ersten Vorträge. Abends war der Social Event, an dem ich leider nicht teilnehmen konnte. Der erste Tag war geschafft und es gab eigentlich nichts, was nicht geklappt hätte.

Die anderen beiden Tage waren dann für mich sehr ruhig. Ich habe einen Vortrag und einen Lightning-Talk gehalten und einen Teil war ich Session Chair. Insgesamt habe ich zwar nur ganz wenige Vorträge gehört, aber trotzdem war es ein schöner Workshop für mich. Soweit hat alles geklappt und die Teilnehmer waren auch sehr zufrieden.

An dieser Stelle möchte ich mich bei allen Danken, die zum Erfolg des Workshops beigetragen haben:

* Frankfurt.pm - die lokale Orga
* WsOrga - die "große" Orga
* Teilnehmer
* Vortragende
* Sponsoren
* alle anderen, die mit dem Workshop zu tun hatten

Ach ja, hier gibt's die Links zu einigen der Vorträgen: http://conferences.yapceurope.org/gpw2009/wiki?node=Slides

Friday, February 27, 2009

Vortrag auf dem 11. Deutschen Perl-Workshop

Ich habe gestern einen Vortrag über Module für nützliche Informationen gehalten. Gerade habe ich die Folien online gestellt.

Links zu anderen Vortragsfolien sind im Wiki des Perl-Workshops zu finden (das wird sich nach und nach noch füllen).

Tuesday, February 24, 2009

Auch das noch...

Ich sitze seit zwei Tagen an jeder Menge Sachen für den 11. Deutschen Perl-Workshop, der morgen beginnt. Und gerade hat mich Sören angerufen und gesagt, dass morgen die VGF streiken will. Deshalb ging gerade die folgende Mail über WsInfo raus:

Hallo liebe Teilnehmer des 11. Deutschen Perl-Workshops,

das hatten wir in der Geschichte des Perl-Workshops wahrscheinlich auch
noch nicht, aber da sind wir machtlos:

Die Lokführer und Busfahrer der VGF streiken morgen (Aschermittwoch).

Das heißt: KEINE U-Bahnen, KEINE Straßenbahnen und teilweise fallen auch
Busse aus.

Nach jetzigem Kenntnisstand wird allerdings die wichtige Buslinie 46
fahren. Diese fährt vom Hauptbahnhof nach Sachsenhausen.

Oder ihr fahrt mit der S-Bahn zur Konstablerwache und lauft.

Mehr zu dem Streik: http://www.vgf-ffm.de/vgf/6052.jsp

Google-Map, damit ihr euch einen Eindruck davon verschaffen könnt, wie
ihr laufen müsstet:

http://tinyurl.com/KarteDPW11

Ich hoffe, wir sehen uns morgen trotzdem pünktlich

Viele Grüße,
Renée

Thursday, February 19, 2009

Perl 6 Training/Workshop nach dem Deutschen Perl-Workshop

Am Wochenende nach dem 11. Deutschen Perl-Workshop möchte Gabor Szabo eine Perl 6 Training/Workshop-Kombination machen.

Gabor setzt dabei seine Perl 6 Trainingsmaterialien ein und Ziel ist, mit dem aktuellen Stand von Perl 6 herumzuspielen. Wer interesse hat, soll sich doch bitte im Wiki des Perl-Workshops 2009 eintragen. Zu den Kosten: Teilnahmegebühr an sich wird es nicht geben. Aber die Kosten für einen Raum - wenn einer gemietet werden muss - werden auf alle Teilnehmer aufgeteilt.

Mehr dazu auch im Blog von Gabor.

Ich selbst werde wohl eher nicht teilnehmen: Die Organisation des Deutschen Perl-Workshops hat genug Zeit gekostet und am Wochenende brauche ich einfach mal etwas Zeit zum Regenerieren...

Sunday, February 15, 2009

9. Ausgabe von $foo

Mmhhh... ist zwar leicht verspätet, aber irgendwie habe ich es total verpeilt, die 9. Ausgabe von $foo hier vorzustellen. Naja, besser spät als nie ;-)

Neben den News aus der Perl Foundation, Terminen und anderen Neuigkeiten, gibt es diesmal diese Themen:

* 110% DBIx::Class

DBIx::Class bietet viel mehr als nur die Standardsachen, die in den meisten Projekten eingesetzt werden. Dieser Artikel startet eine kleine Serie von Artikeln, in denen nützliche Features von DBIx::Class vorgestellt werden.

* Website Intrusion Detection mit PerlIDS

Webanwendungen sind immer häufiger Ziele von manuellen oder automatisierten Angriffen wie Cross-Site-Scripting, SQL-Injections und dergleichen. Der Artikel von Hinnerk Altenburg zeigt eine Möglichkeit, wie man solche Angriffe frühzeitig erkennen kann

* autodie

Das Pragma von Paul Fenwick wird in diesem Artikel vorgestellt. Darin wird gezeigt, wie man Fehlerbehandlung einfach machen kann

* Backendmodule

Dieser Artikel zeigt die Anwendung von drei Backendmodulen und was man mit diesen Informationen anfangen kann.

* Typeglobs

Der dritte und abschließende Teil des Typeglob-Tutorials von Ferry Bolhar zeigt den Umgang mit Handles und wie man Wrapper bauen kann.

* XS-Tutorial Teil 2

Marcus Holland-Moritz zeigt im zweiten Teil des XS-Tutorials, wie man mit Typemaps arbeitet und wie man XS-Module debuggen kann. Außerdem zeigt er einen (Geschwindigkeits-)Vergleich zwischen einer Perl- und einer XS-Version eines Algorithmus.

* Perl 6 Tutorial - Teil 6

Im sechsten Teil des Perl 6 Tutorials geht es um Objekte und Rollen. Dabei zeigt Herbert Breunung unter anderem einen Vergleich zwischen der Perl 5- und der Perl 6-Objektorientierung und wie Vererbung funktioniert.

* Foswiki

Mit Foswiki gibt es einen Fork vom beliebten Wikisystem TWiki. Martin Seibert geht in diesem Artikel darauf ein, warum sich die Entwicklung getrennt hat und wie es mit Foswiki weitergeht.

* F*EX

F*EX ist ein Datei-Austauschprogramm, das Nachteile von herkömmlichen Programmen und Protokollen ausbessert. Ulli Horlacher stellt F*EX in $foo vor und zeigt was man damit machen kann.

* Videomixer mit Perl

Max Maischein zeigt in diesem Artikel wie man mit Perl und anderen Programmen einen Videomixer und verschiedene Filter implementieren kann.

Wednesday, February 11, 2009

Kleine Änderung -> große Wirkung

Tja, so was passiert halt, wenn man "mal eben" etwas ändert: Kaum hat man ein paar kleine Änderungen am Quellcode durchgeführt, funktioniert es nicht mehr. Aber es ist nicht so schlimm, dass das Programm abbricht... Es liefert "nur" nicht die Ergebnisse, die es liefern sollte.

Was habe ich gemacht? Ich habe für ein Projekt ein Modul geschrieben, in dem auch Reguläre Ausdrücke verwendet werden. Ich hatte es als

$var =~ /.../;

geschrieben. In dem Projekt soll aber immer die Schreibweise

$var =~ m{ }xms;

genommen werden.

Dumm nur, wenn man einfach alles abändert, ohne sich den Regulären Ausdruck anzuschauen, denn der sa so aus:

/^\Q$check/

und wenn man daraus jetzt

m{ ^\Q$check }xms

macht, dann wird das letzte Leerzeichen gequotet. Normalerweise werden - dank dem 'x'-Modifier - die Leerzeichen nicht für den Regulären Ausdruck berücksichtigt. Da das letzte Leerzeichen dank dem \Q vorher gequotet wird, wird es im Regulären Ausdruck berücksichtigt.

Naja, ich bin dann doch relativ schnell auf den Fehler gekommen und jetzt habe ich überall noch das \E hinzugefügt.

m{ ^\Q$check\E }xms

In dem Zuge habe ich auch noch das ^ durch \A ersetzt...

Aber das zeigt mal wieder, dass kleine Änderungen durchaus große Wirkung haben können.

Monday, February 02, 2009

Leerzeichen in Pfaden *grrr*

Ich habe mich gerade an einer OTRS-Installation auf meinem Windows-Laptop versucht. Allerdings habe ich nicht den Windows-Installer genommen, sondern direkt die Quellen. Natürlich habe ich einen Pfad mit Leerzeichen genommen und schon ging nix mehr...

Schnell stieß ich auf folgenden Code:

my $Dir = $Self->{ConfigObject}->Get('TemplateDir') . '/HTML/';
if ( -e $Dir ) {
my @Files = glob("$Dir/Layout*.pm");
}

Dazu muss man wissen, dass glob den String an den Leerzeichen "aufteilt", also wird z.B. aus "C:\Program Files" das hier:

glob('C:\Program','Files/Layout*.pm');

glob liefert bei einem String ohne Wildcard einfach diesen String zurück...

Jetzt gibt es zwei mögliche Lösungen:

Erstens die alte 8.3-Schreibweise verwenden, da es dabei keine Leerzeichen gibt. Der Pfad würde dann so aussehen: "C:\PROGRA~1". Die "guten" alten DOS-Zeiten lassen grüßen.

Zweitens: Die Installation einfach in ein Verzeichnis ohne Leerzeichen schieben.

Ich habe mich für zweitens entschieden, weil das jetzt schneller ging, der Windows-Installer nimmt die erste Möglichkeit.