Tuesday, November 30, 2010

Perl-Adventkalender

Kurz vor Weihnachten werden überall die Adventkalender ausgepackt, für Kinder häufiger mit Süßigkeiten. Aber auch für Perl-Programmierer gibt es Adventkalender. Hier ein paar Links:

* Uwe wird in seinem Blog Module vorstellen
* Der Dancer-Adventkalender
* Der Catalyst-Adventkalender
* Perl 6 Adventkalender
* Ricardos Adventkalender
* Perl Adventkalender
* Plack Adventkalender

Und wer Japanisch kann, kann sich am JPerl-Adventkalender versuchen, die 5 Tracks anbieten werden. Wenn man Github glauben darf, wird auch perlchina.org einen Adventkalender anbieten.

Naja, und einen Weihnachtsmarkt gibt es auch in Perl ;-)

Monday, November 29, 2010

Frankfurter Perl-Workshop 2010 - Tag 2

... und der zweite Teil des Workshops beginnt - wie gestern schon - um kurz nach 10. Bis jeder eingetrudelt ist, ist es kurz vor 11, aber wir haben ja Zeit. Außerdem hat Eric heute Mikros und ein kleines Mischpult mit dabei. Außerdem haben Eric und Wieland die Vorträge mit kleinen Kameras aufgenommen. Die Vorträge wirds dann hoffentlich bald in irgendeiner Form geben. Sobald es da was Neues gibt, werde ich das hier posten...

Ich beginne mit dem Vortrag über Moose, der einen groben Überblick über die Möglichkeiten mit Moose liefert. Eigentlich wollte ich den Vortrag noch etwas aufbohren, aber da ich als erstes dran war, hatte ich keine Zeit mehr. Beim nächsten Mal sollte ich vielleicht früher mit den Änderungen anfange ;-) So war es die Version, die ich auch auf dem FrOSCamp gehalten habe (Video).

Nach mir hat Rolf die Arbeit der letzten Nacht vorgestellt: Er hat mit B::Deparse eine Art Makros für Perl 5 entwickelt. Da er direkt mit B::Deparse arbeitet, ist das Ganze ohne Sourcefilter zu lösen. Um an Variablen von Closures zu kommen, benutzt er PadWalker. Da nicht jeder PadWalker kannte, habe ich aus einem alten Vortrag die Folien über dieses Modul gezeigt.

Herbert hat dann zwei Vorträge gehalten. Der erste war über Kephra. Er hat hier seine Ideen für die Zukunft des Editors gezeigt. Da waren echt einige Nettigkeiten drin.

Im zweiten Vortrag hat der Rebol vorgestellt. Ich persönlich werde mich mit dieser Programmiersprache eher nicht beschäftigen, auch wenn es da einige witzige Ansätze gibt (z.B. ein extra Datentyp "money"). Aber man muss ja auch mal über den Tellerrand schauen.

Nach der Mittagspause habe ich dann meinen Vortrag über Log::Log4perl gehalten. Leider wollte "recordmydesktop" nicht so wie ich wollte, so dass es hier erstmal keinen Screencast gibt.

Um IPC á la Erlang ging es in Max' Vortrag. Er hat dabei das Modul AnyEvent::MP und seine Pläne für ein AEMP::Queue vorgestellt. Ich überlege, ob ich das nicht für eines meiner aktuellen privaten Projekte mal ausprobieren sollte, weil ich da die Sachen gut an "Worker" aufteilen könnte.

Die Sprache Erlang war dann Thema von Haralds Vortrag. Ich hatte mich vorher noch nicht mit der Sprache auseinander gesetzt, aber was Harald vorgestellt hat, fand ich sehr interessant. Damit werde ich mich wohl mal beschäftigen. Nicht in den nächsten Wochen, aber ich hoffe, im nächsten Jahr mehr Zeit für so etwas zu finden.

Vielen Dank an Harald und Thomas für die Organisation des Events und an die anderen Vortragenden für tollen Talks. Ich hoffe, ich werde die Gäste auch beim nächsten Frankfurter Perl-Workshop sehen.

Frankfurter Perl-Workshop 2010 - Tag 1

Über das Jahr verteilt gibt es eher selten Vorträge bei Frankfurt.pm, dafür haben wir dann immer am Ende des Jahres ein ganzes Wochenende nur für Vorträge. Zum Teil benutzen wir diesen Workshop auch als Testumgebung für Vorträge, die auf dem Deutschen Perl-Workshop oder anderen Veranstaltungen gehalten werden sollen.

In diesem Jahr war es am gerade vergangenen Wochenende (27./28.11.) soweit. Wir sind in diesem Jahr mal nicht im Club Voltaire - unserem Veranstaltungsort der letzten Jahre - gewesen, sondern im DGB-Jugendclub U68. Ich persönlich halte den Raum im Jugendclub für besser geeignet.

Nicht nur Frankfurter nahmen an dem Workshop teil: Wir hatten auch Gäste aus dem Rheinland, aus der Nähe der holländischen Grenze und noch einige andere. Ingesamt waren wir am Samstag 13 Teilnehmer.

Wir sehen die Einteilung des Workshops eher gelassen und haben keinen festen Zeitplan. Am Anfang haben wir erstmal die Vortragsvorschläge gesammelt und Max hat freiwillig den Anfang gemacht. Mit dem Thema "Webautomation mit WWW::Mechanize::Firefox" wurde der Workshop begonnen. Man kann mit dem Modul sehr interessante Sachen machen. Max hat dabei auch nochmal kurz seinen Multiuserfähigen Editor Zaphod in einer neuen Version gezeigt. Als Hauptproblem bei der Automation hat er Probleme mit dem Encoding hervorgehoben.

Im Laufe des Vortrags kam dann das Gespräch auch auf Selenium, so dass ich im Anschluss an Max' Vortrag in einem improvisierten Lightning Talk Selenium kurz vorgestellt habe. Wer sich mehr für Selenium interessiert kann auch meinen drei Jahre alten Vortrag oder einen älteren Screencast anschauen. Auf Rolfs Frage, ob man damit auch dynamisch zusammengebaute Formulare testen/ausfüllen kann, haben wir das kurzerhand an der OTRS 3.0 Demoseite ausprobiert und mussten feststellen, dass es nicht ohne das manuelle Nachbearbeiten der aufgenommenen Aktionen geht. Man muss in der Aufnahme der Selenium IDE ein "waitForElement" einbauen, weil die IDE die Aktionen zu schnell abspielt.

Herbert hat dann noch Perl 6 Operatoren gezeigt und dabei auch den "lol"-Kontext (List of Lists) vorgestellt. Was ich bei Perl 6 wirklich gut finde ist, dass es einen dedizierten numerischen und Stringkontext gibt, den man auch direkt abfragen kann.

Vor der Pause habe ich dann noch einen Vortrag über "Perl für Vortragende" gehalten, in dem ich ein paar Module vorgestellt habe, mit denen man sich Vorträge erleichtern kann. Danach sind wir zur Mittagspause in unser "Stammlokal" MoschMosch gegangen.

Nach der Mittagspause ist Harald auf das Thema "UTF-8" eingegangen. Aber nicht wie man mit Encode etc arbeitet, sondern was dahinter steckt. Welcher Aufwand dahintersteckt, wenn man die Sortierreihenfolge ändern will und was das mit DUCET und CLDR zu tun hat. Ich fand das sehr interessant mal einen Einblick in die Tiefen solcher Dinge zu erhalten.

Danach haben wir eine IDE/Editor-Session angefangen. Den Einstieg hat Rolf gegeben, indem er emacs gezeigt hat und seine Ideen von "Standards" für Editoren/IDEs vorgestellt. Ich habe danach Padre vorgestellt. Das ganze war *kein* Editorenkrieg, sondern einfach die Vorstellung der Editoren/IDEs und was man gegenseitig lernen kann.

Damit war der erste Tag zu Ende...

Wednesday, November 10, 2010

Hamburger Perlmongers

Am 06. Dezember werde ich beim Treffen der Hamburger Perlmongers vorbeischauen. Ich werde auch zwei Vorträge mitbringen. Der erste Vortrag ist über "Selbstvermarktung" (gewünscht von Uwe Völker) und der zweite Vortrag ist ein Überraschungsvortrag.

Ich würde mich freuen, wenn das Haus "voll" wird.

XING-Termin für das Treffen: https://www.xing.com/events/perl-mongers-hamburg-treffen-595548
Vorschau auf das Treffen in Uwes Blog: http://blog.uwevoelker.de/2010/11/vorschau-perl-monger-hamburg-treffen-im.html

Tuesday, November 09, 2010

Frankfurter Perl-Community Workshop 2010

Auch in diesem Jahr machen die Frankfurt-Perlmongers wieder einen kleinen Workshop. Dieser findet in diesem Jahr am 27./28. November im DGB-Jugendclub statt. Wir würden uns über neue Gesichter bei dem Workshop freuen.

Die Teilnahme an sich ist kostenlos. Man muss sich nur um Essen, Getränke und ggf. Unterkunft kümmern.

Wer vorbeikommen will, sollte sich im Wiki eintragen.

Der Workshop findet in ganz lockerer Atmosphäre statt und wir haben auch keinen festen Zeitplan für die Vorträge. Auch ganz spontane Vorträge und Diskussionen sind keine Seltenheit.

Monday, November 08, 2010

Nachtrag FrOSCamp 2010

Ich bin es irgendwie gewohnt, dass Aufzeichnungen von Vorträgen erst Monate nach der Veranstaltung oder sogar gar nicht im Netz auftauchen. Deshalb habe ich es total verpasst, dass die Aufzeichnungen der FrOSCamp-Vorträge schon wenige Tage nach der Veranstaltung online waren.

Mit dabei sind auch meine drei Vorträge und der RDF-Vortrag von Thomas Kappler.

Hier noch die URL zu den ganzen Vorträgen: http://www.multimedia.ethz.ch/conferences/2010/froscamp

Sunday, November 07, 2010

Zwei Erdbeeren bitte...

Ich schreibe hin und wieder Artikel für das Perl-Magazin, in denen es um Programme für Windows geht. Die meisten Artikel kommen aus meinen alltäglichen Programmierarbeiten heraus. Damit ist auch sichergestellt, dass die Codebeispiele funktionieren, die die Leser herunterladen können.

Bei der Recherche für meinen Artikel, der in der nächsten Ausgabe (Nr. 18 - Frühjahr 2011) erscheinen wird, bin ich auf einen Hinweis gestoßen, dass eines der verwendeten Modul unter neueren Perls nicht funktioniert. Unter Windows verwende ich ein StrawberryPerl 5.8.9, was mich seit langer Zeit treu begleitet und mich noch nie im Stich gelassen hat ;-)

Neue Perl-Versionen habe ich unter Ubuntu laufen, so dass ich meine Programme, die beruflich entstehen, sowohl unter Windows als auch unter Ubuntu und auch mit verschiedenen Perl-Versionen testen kann. In dem Artikel geht es aber um ein Modul speziell für Windows. Da bringen mir die neueren Perl-Versionen unter Ubuntu nicht wirklich was.

Also muss eine neue Perl-Version unter Windows her. Zum Glück gibt es StrawberryPerl auch in den Versionen 5.10.1 und 5.12.1. Die 5.10er-Version scheidet im Prinzip aus, weil dort entweder der Pfad unter C:\ oder der Pfad unter D:\ hardcodiert drinsteht.

Mit Perl 5.12.1 ist es aber endlich möglich, StrawberryPerl an einen beliebigen Ort zu installieren.

Also das Perl installiert. Naja, Installation ist zu viel gesagt. Die .zip-Datei heruntergeladen, entpackt und die Batchdatei "portableshell.bat" gestartet und schon kann man loslegen. Richtig installieren will ich das Perl nicht, da ich Standardmäßig weiterhin mein altes StrawberryPerl benutzen will.

Wenn die Batchdatei gestartet wird, kann man alles machen: Perl-Programme starten, Module installieren, ...

Wie es mit dem oben erwähnten Modul weitergeht, werde ich noch nachreichen...

Dank an Curtis Jewell, der sich immer um die StrawberryPerl-Releases kümmert.

Friday, November 05, 2010

Perl Ecosystem Group

Zusammen mit Gabor Szabo habe ich die Perl Ecosystem Group gestartet. Diese Organisation soll die Verbindung zwischen Unternehmen, die Perl einsetzen, und der Perl Community verbessern.

Unsere Ziele sind:
  • Unternehmen helfen mehr gute Perl-Programmierer zu finden.
  • Spenden von Unternehmen an die Perl-Community weiterleiten.
  • Perl und Perl-basierte Open Source Projekte promoten.
  • Finanzielle Unterstützung der Entwicklung von Perl und Perl-basierten Projekten (z.B. durch die Organisation von Hackathons)
  • Vereinfachen von Finanzierungen für Entwicklung und Wartung von einzelnen CPAN-Modulen oder Perl-Projekten (z.B. über "Bug-Bounties")
  • Organisation von Perl-Trainings an verschiedenen Orten.
  • Unternehmen helfen, die Qualtiät ihres Perl-Codes zu verbessern (mit Perl::Critic und anderen Tools).
  • Perl als anerkannte Sprache in führenden Unternehmen etablieren.
Wir haben also viel vor.

Die Organisation wird über die Beiträge der Mitglieder und über Einmalspenden finanziert. Zur Zeit haben wir 3 Mitglieder: Uri Bruck, Jonathan Hogue und Oded S. Resnik von Raz Information System

Wir brauchen natürlich noch mehr Unterstützung. Zum Einen über Mitglieder und zum Anderen sind wir für jeden Kontakt zu Unternehmen froh, die Perl einsetzen.

Monday, November 01, 2010

Winter-2010-Ausgabe des Perl-Magazins "$foo" ist da!

Pünktlich zum 1. November 2010 erscheint die Winter-Ausgabe des Perl-Magazins. Wir haben wieder viele interessante Themen.

Inhalt dieser Ausgabe:

* Zeitbasierte Konfiguration

Bis 20 Uhr soll diese Konfiguration gültig sein, danach jene Konfiguration. Kein Problem. Dieser Artikel zeigt einen Lösungsansatz für zeitbasierte Konfigruation.

* Perl wird bunt - Simple DirectMedia Layer

Anhand des Spiels Solitaire zeigt Tobias Leich, wie man mit SDL und Perl auch Spiele und Multimedia-Anwendungen programmieren kann.

* Moose Tutorial II - Methoden mit Moose

Zu Objekten gehört auch ein "Verhalten" - was in der Objektorientierten Programmierung über Methoden dargestellt wird. In diesem Artikel werden Möglichkeiten von Moose gezeigt, die die Standard-Methoden von Perl 5 erweitern.

* WxPerl Tutorial V - Fenster

Herbert Breunung zeigt im fünften Teil des WxPerl Tutorials wie in WxPerl-Anwendungen mit Fenstern umgegangen wird.

* Wie erweitere ich Perls Syntax - List Comprehensions

Rolf Langsdorf zeigt in diesem Artikel, wie mit Funktionen und Perls Prototypen die Syntax von Perl erweitert werden kann.

* Zentyal

Zentyal ist ein Linux Server, hauptsächlich für kleine und mittlere Unternehmen. Wie Zentyal mit eigenen Module erweitert werden kann, zeigt Javier Amor Garcia in diesem Artikel.

* Regelmäßige Backups

... sind mit dem Tasksystem von Windows kein Problem mehr. In dem Artikel wird das Modul Win32::TaskScheduler vorgestellt, mit dem regelmäßige Aufgaben für Windows eingrichtet werden können.

* HowTo: App::perlbrew

In seinem HowTo stellt Thomas Fahle das Modul App::perlbrew vor, das die Installation und Verwendung mehrerer Perl-Versionen in einem eigenen Verzeichnis stark erleichtert.

* und vieles mehr...

CPAN-News: Sechs Modul-Neuvorstellungen, TPF-News: Was gibt's neues bei der Perl Foundation und natürlich die Termine der nächsten 3 Monate