Saturday, December 27, 2008

Mein Perl-Jahr 2008...

Für 2007 habe ich etwas gemacht, das ich auch für 2008 machen will: Ein Jahresrückblick.
Hier möchte ich kurz darstellen, was das Jahr 2008 in Sachen "Perl" so gebracht hat...

* 1. Februar: 1. Geburtstag von $foo

* 13.-15. Februar: Der 10. Deutsche Perl-Workshop findet in Erlangen statt. Aus Zeitmangel höre ich bei WsOrga auf. Ironischerweise beschließt Frankfurt.pm, den Perl-Workshop 2009 zu organisieren. Also bin ich doch wieder bei der Organisation dabei.

* April/Mai: brian d foy kommt nach Deutschland und ich bin einige Tage mit ihm in Deutschland unterwegs: Stuttgart.pm , Ruhr.pm, Frankfurt.pm und Kloster Eberbach.

* Juli: Ich bin jetzt hin und wieder bei e-tecture, um über verschiedene Perl-Sachen zu sprechen. Ich fühle mich dort wohl!

* Juli: Es gibt manchmal echt Zufälle... Da schreibe ich "mal schnell" ein Modul namens Sub::Called (danke an betterworld für die Bugreports) und am gleichen Tag überlegt sich ein anderer Programmierer auch ein Modul names Sub::Called zu schreiben. Da war ich wohl einfach ein paar Minuten schneller.

* Juli: Dank guter ICE-Verbindung war ich kurzfristig bei einem Treffen der Kölner Perlmongers, bei dem auch Nick Clark und Andrea waren

* August: Der Mietvertrag mit dem "Haus der Jugend" ist unterschrieben und somit steht fest wo der 11. Deutsche Perl-Workshop stattfinden wird.

* 13.-15. August 2008: YAPC::Europe 2008 in Kopenhagen. Super organisiert, sehr gute Vorträge, Larry Wall und Damian Conway mal wieder getroffen, aber leider zu wenig Zeit um mit "alten" Freunden zu reden.

* Oktober: Meine ersten Schritte mit wxWidgets und dem Perl-Binding wxPerl. Da ich mit einigen Perl/Tk-Sachen nicht so ganz glücklich bin, habe ich mich nach einem anderen GUI-Framework umgesehen. Mittlerweile sind daraus auch schon Module geworden.

* November 2008: Aufgrund der Finanzkrise, wird eines meiner Projekte gestrichen. Kurz nachdem ich aufgehört habe, wurde ich gefragt, ob ich in der gleichen Firma an der gleichen Codebasis nur an einem anderen Teil des Tools weiterarbeiten will. Da ich aber schon bei OTRS zugesagt habe, lehne ich ab.

* 15. Dezember 2008: Perl 5.8.9 wird veröffentlicht. Das ist die letzte "große" Version in der Perl 5.8.x-Reihe. Ab jetzt gibt es nur noch Security-Fixes. Aber Perl 5.10 ist sowieso besser und Anwender sollten umsteigen.

* 26. Dezember 2008: Ein kleines "Weihnachtsgeschenk" am letzten Weihnachtstag: Ich wurde als Grant Manager der Perl Foundation gewählt. Damit werde ich in Zukunft - mit ein paar anderen zusammen - Grants betreuen.

* Juni - Dezember: Die Organisation des 11. Deutschen Perl-Workshops nimmt einiges in Anspruch: Sponsoren müssen gesucht werden, ein Büchertisch soll auch vorhanden sein, Social-Event wird im "Zimt und Koriander" gebucht.

* das ganze Jahr über: Ich habe mich relativ viel mit alten Bugs in Perl beschäftigt. Dank den Perl 5 Porters komme ich immer besser mit den "Innereien" von Perl zurecht. Da ich bis zu diesem Jahr noch nicht allzuviel in den Quellen des Compilers gestöbert habe, war das relativ viel Arbeit.

Thursday, December 04, 2008

Einladung zum Entwicklergolf

Ich habe folgende Nachricht von Martin Seibert bekommen:

Im Weblog von //SEIBERT/MEDIA findet bis Ende Dezember ein Entwicklergolfturnier statt. Wir laden alle Programmierer herzlich ein, ihr Können und ihre Effizienz unter Beweis zu stellen.

Die Aufgabe: Programmiert in einer beliebigen Sprache einen ansehnlichen Weihnachtsbaum, der in ASCII ausgegeben wird. Es gilt: In der Kürze liegt die Würze und der schlankste Code gewinnt.
Unter den Teilnehmern verlosen wir einen nagelneuen iPod Shuffle.

Alles zum Turnier und Code-Beispiele unserer eigenen Entwickler findet Ihr im Blog-Artikel "Entwicklergolf bei //SEIBERT/MEDIA: Alle Programmierer sind eingeladen". Wir würden uns sehr über Eure Vorschläge freuen!

Zum Blog-Eintrag

Mit CGI.pm einen Parameter auf "undef" setzen.

Damit ich nicht immer wieder testen muss, wie man mit CGI.pm einen Parameter auf undef setzt, poste ich es schnell mal hier...

Weder $cgi->param( 'name', undef ) noch $cgi->param( -name => 'name', -value => undef ) funktioniert. Aber das hier:

#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use Data::Dumper;

my $cgi = CGI->new;

my %params = $cgi->Vars;

print Dumper \%params;

if( is_invalid( $params{name} ) ){
warn "ungueltig";
$cgi->param( -name => 'sid', -values => [] );
}

my %test = $cgi->Vars;
print Dumper \%test;

Monday, December 01, 2008

Adventskalender

Die Weihnachtszeit hat angefangen. Und was ist typisch für die Weihnachtszeit?

Weihnachtsmarkt, Glühwein, Nikolaus, Engel,... Und schon als Kind habe ich mich darauf gefreut - der Adventskalender. Jeden Tag ein Türchen öffnen und etwas Schönes dahinter finden - sehr aufregend.

Und auch Perl-Programmierer dürfen sich richtig freuen, denn es gibt zwei Adventskalender, die sehr interessant sind:

Erste wxPerl-Ergebnisse: App::Wx::PodEditor

Ich hatte ja letzt mal darüber geschrieben, dass ich mich an einen Einstieg in wxPerl wage. Jetzt habe ich die ersten Ergebnisse auf CPAN gestellt:


Ich habe schon mehrfach gehört, dass Dokumentation schreiben sehr lästig ist (ich mach es auch nicht besonders gern ;-) ) und dann muss man auch noch die ganzen Anweisungen lernen. Deshalb habe ich mit dem PodEditor angefangen. Wx::Perl::PodEditor ist ein RichText-Feld, in dem man den Text schreiben und dann ziemlich einfach formatieren kann. So muss man nicht wissen, wie in Pod die Anweisung für "Überschrift 1" heißt.

Das ganze ist natürlich noch in der Anfangsphase, aber vielleicht hat ja der eine oder andere Lust, sich das mal anzuschauen und mitzuhelfen.

Wednesday, November 26, 2008

8. Ausgabe von $foo ist da!

Nach langem Warten ist jetzt endlich $foo Nr. 8 (http://perl-magazin.de) aus der Druckerei gekommen. Die Abonnenten sollten also in den nächsten Tagen ihre Hefte mit der Post bekommen.

Die PDF-Version im Abonnentenbereich ist auch schon freigeschaltet.

Die Inhalte dieser Ausgabe:

# Perl::AI
# Kein SQL dank SQL::Abstract
# CPAN in der Hostentasche
# Logging mit Log::Log4perl
# Spezialklassen in Perl
# Typglobs
# XS - Perl mit C erweitern
# Perl 6 Tutorial - Teil 5
# Googles Summer of Code - und Perl war dabei
# Die unendlichen Tiefen von $_
# Aarau.pm
# CPAN-News

Themenvorschläge, allgemeines Feedback und neue Autoren sind jederzeit willkommen.

Thursday, November 20, 2008

Es werden noch Vorträge für den 11. Deutschen Perl-Workshop gesucht

Ich habe gestern folgende Mail bekommen:

Hallo Interessenten am Deutschen Perl-Workshop 2009!

Danke für eure Vortragsvorschläge. Wir sind noch dabei, weitere Vorschläge zu acquirieren, bisher haben wir knapp 30, wir wünschen uns allerdings noch ein paar mehr. Die Deadlines verschieben sich daher noch etwas und eine finale Auswahl müssen wir auch noch festlegen. Bitte habt noch etwas Geduld.

Sagt gerne auch weiter, dass wir noch suchen.

Danke.

Steffen Schwigon,
wsorga
Also immer her mit Vorschlägen!

Tuesday, November 11, 2008

Release Candidat 1 für Perl 5.8.9

Nicholas Clark, Pumpking für Perl 5.8, hat einen ersten Realease Kandaten für Perl 5.8.9 veröffentlicht. Es wäre schön, wenn möglichst viele den RC1 testen und die Ergebnisse an die Perl 5 Porters mailen würden

Thursday, November 06, 2008

Perl vs. PEAR

Dies wir nur ein ganz kurzer Blogeintrag...

Ich wollte heute bei einem Hoster ein Perl-Modul installiert bekommen. In die Mail schrieb ich als Betreff "Installation eines Perl-Moduls". Bei dem Hoster ist so etwas in der Regel sehr schnell erledigt. Auch heute hatte ich nach nur wenigen Minuten eine Antwort: "Modul wurde installiert".

Ging ja wieder richtig schnell. Dann wollte ich das Module einbinden, aber was war das?? "Can't locate Modulname.pm in @INC". Die Pfade in @INC schienen in Ordnung zu sein. Also wieder Mail an den Hoster mit Fehlermeldung.

Dann bekam ich die Antwort: "Das ganze wurde als PEAR Modul installiert. Jetzt wurde auch das Perl-Modul installiert".

Mmhhh. Was hat Perl mit PEAR zu tun?? Ich sollte noch viel mehr "Werbung" für Perl machen, damit wieder jeder Bescheid weiß wenn ich mal wieder ein Perl-Modul brauche...

Tuesday, October 07, 2008

Schwieriger Start mit wxPerl (PPM)

Ich bin gerade dabei, mich in wxPerl einzuarbeiten. Ich habe zwei, drei Sachen in der Hinterhand, die mit einer GUI versehen werden sollen. Perl/Tk sieht teilweise etwas veraltet aus und so ist es gekommen, dass ich mit wxPerl beschäftige.

wxPerl ist das Perl-Binding zu wxWidgets, einer Cross-Plattform GUI-Library. Da mein Standard-Editor - kephra - mit wxPerl arbeitet, habe ich auch einiges an Beispielcode.

Ich habe mir vor längerer Zeit mal wxPerl installiert. Jetzt habe ich festgestellt, dass es seitdem doch einige wichtige Änderungen gegeben hat. Da ich unter Windows arbeite und mit ActivePerl entwickle, dachte ich "kein Problem, machst Du ganz schnell mit PPM ein Upgrade". Naja, extra das wxPerl-Repository eingefügt und los gings... Installation klappt. Test auf der Kommandozeile... Fehler! Irgendwelche DLLs nicht gefunden. Pfad zu den DLLs zu der PATH-Umgebungsvariablen hinzugefügt.

Scheinbar funktioniert alles. Kontrolle der Version... Ähm, das ist aber nicht die neueste aus dem Repository. Komisch. Naja, dann lassen wir die PPM-GUI weg und machen das auf der Kommandozeile. Also dort

C:\>ppm install http://www.wxperl.co.uk/repository/Wx.ppd

eingetippt.

Wurde installiert. Kontrolle... Gleicher Fehler wie vorhin. Komisch, diese DLLs gibt es gar nicht. Und warum wurde das mit gcc kompiliert? ActivePerl ist mit Visual C++ kompiliert worden.

Im Internet gesucht und einen Hinweis darauf gefunden, dass das neueste Alien::wxWidgets installiert werden muss. Warum nur löst PPM diese Abhängigkeit nicht richtig auf? Naja, ein

C:\>ppm install http://www.wxperl.co.uk/repository/Alien-wxWidgets.ppd

hat dann geholfen. Jetzt kann ich richtig loslegen!

Tuesday, September 30, 2008

MySQL treibt mich zum Wahnsinn

Hier habe ich ja so schön geschrieben, dass der Wechsel von Datenbanksystemen mit DBI so schön einfach ist. In den letzten Tagen habe ich dann aber ein Problem gehabt, das mir rätselhaft erscheint und die Lösung des Problems ist nicht so toll.

Aber worum geht es? Ich benötige Informationen aus einer Datenbank - eine MySQL-Datenbank. So weit kein Problem. Mit dem mysql Client funktioniert alles einwandfrei. Dann möchte ich die Informationen in einem Skript verwenden. Ich habe also so wie immer

my $dbh = DBI->connect( "DBI:mysql:$db:$host", $user, $password ) or die $DBI::errstr;

geschrieben.

Bei der Ausführung des Skripts taucht dann aber ein Fehler auf:

DBD driver has not implemented the AutoCommit attribute

Komisch. Mit einer anderen Datenbank klappt alles und es ist ein und das selbe Skript. Also kann ich unterschiedliche DBI- oder DBD::mysql-Versionen ausschließen.

Mit AutoCommit habe ich hier direkt nichts zu tun. Also heißt es auf Spurensuche gehen. Was ist unterschiedlich bei den zwei Datenbanken...

* Unterschiedliche Hosts - ok, das ist eher nicht das Problem
* Datenbank, bei der es funktioniert hat der User alle Rechte, bei der es nicht funktioniert nur Leserechte
* Datenbank-Version, mit der es klappt ist eine 4.x, die andere eine 3.22.x

Nach drei Tagen Suche habe ich dann den entscheidenden Hinweis gefunden: Die Parameter bei connect müssen anders sein:

my $dbh = DBI->connect( "$db:$host", $user, $password, 'mysql' ) or die $DBI::errstr;

Da soll mal einer drauf kommen, dass man bei so veralteten MySQL-Versionen die Parameter umstellen muss.

Schade, dass ich keinen Einfluss auf die Versionen von MySQL habe, sonst hätte ich zu einem Upgrade geraten...

Thursday, September 18, 2008

11. Deutscher Perl-Workshop -> Call for Papers

Vom 25.02.2009 bis 27.02.2009 findet der 11. Deutsche Perl-Workshop im "Haus der Jugend" in Frankfurt statt. So ein Workshop steht und fällt mit den Vorträgen. Dabei sind alle Themen, die in irgendeiner Weise mit Perl oder dem Perl-Umfeld zu tun haben, als Vorträge für den Workshop interessant.

Du hast im Moment nur eine vage Idee für ein Thema? Kein Problem: uns interessieren im Prinzip alle Themen, die in irgendeiner Weise mit Perl zu tun haben. Frag' im Zweifelsfall einfach früh genug bei uns (wsorga@perl-workshop.de) nach. Wir helfen gerne dabei, ein vages Thema zu konkretisieren.

Es gibt verschiedene Längen von Vorträgen. Das geht von 5-Minuten-Lightning-Talks bis zu 40-Minuten-Langvorträgen. Auch 3 stündige Tutorials soll es geben.

Wenn Du einen Vorschlag für einen Vortrag hast, reiche ihn bitte bis spätestens Montag, den 27.10.2008 als Abstract über die Webseite des Perl-Workshops ein.

Thursday, August 14, 2008

YAPC::EU 2008 - Tag 1

Gestern war der erste Tag der YAPC::EU 2008. Nach der Begrüßung durch jonasbn wurde der Veranstaltungsort der YAPC::EU 2009 bekanntgegeben: Lissabon. Das ist dann auch auf jeden Fall eine Reise Wert.

José Castro hat seinen "Standard-Vortrag" gehalten. Allerdings ändert er die Geschichten in dem Vortrag immer passend zur Konferenzstadt und aktuellen Sachen. Dadurch wird es nie langweilig.

Vor der Kaffeepause gab es eine Keynote von Larry Wall. Für mich persönlich war es zu technisch und es war für mich einer der schlechteren Vorträge von Larry Wall. Von ihm mag ich eher die Nicht-technischen Vorträge.

Copenhagen.pm hat die YAPC wirklich sehr gut organisiert. Super Räume und gutes Essen. In der Kaffeepause gab es neben Kaffee und Kaffeestückchen auch andere Getränke und Obst.

Ich habe die Pause etwas verlängert, weil es keinen Vortrag gab, der mich interessiert hat. Ich habe dann lieber mal das WLAN getestet und meine Mails abgerufen.

Danach habe ich mir den Vortrag über "geheime" Perl-Operatoren von BooK angehört. Die meisten der Operatoren kannte ich, aber ein paar neue Operatoren gab es dann doch noch.

Weitere Vorträge, die ich gestern gehört habe: "Perl Logging Practices" von Mike Fragassi, "From XML Schema to Application" von Mark Overmeer.

Ein weiterer Super-Vortrag war "‎Nothing Can Possibly Go Wrong... Again" von Adam Kennedy.

Zum Tagesabschluss gab es noch 12 Lightning-Talks.

Abends ging es wieder in den Pub "The Globe", wo es eine "Vertical meter of beer"-Party gab: Adam Kennedy hat ein Modul geschrieben, von dem er behauptete, dass es nicht geladen werden kann und er hat einen Meter Bier für denjenige versprochen, der es als erster schafft, das Modul zu laden.

Jos Bousmans hat es geschafft und Adam hat seine "Schulden" eingelöst. Da Jos so viel Bier gar nicht alleine trinken kann, hat er es für die Allgemeinheit freigegeben... Als das gesponsorte Bier alle war, hat jeder wieder selbst bezahlt...

Wednesday, August 13, 2008

YAPC::EU 2008 - Tag 0

Gestern bin ich nach Kopenhagen gekommen. Auf dem Flughafen habe ich noch Adam Kennedy getroffen, der den gleichen Flug genommen hat wie ich. Wir haben uns ein wenig unterhalten.

In Kopenhagen angekommen hat es nur geregnet! Und es gab Probleme, die Brücke an das Flugzeug anzudocken, so dass wir erst nach einiger Verzögerung aus dem Heck des Flugzeugs aussteigen konnten. Und ohne Brücke mussten wir durch den Regen laufen...

Mit der Bahn sind Adam und ich dann in die Stadt gefahren. Nicht weit vom Bahnhof ist mein Hotel. Relativ teuer und das Zimmer ist ok. Zum Schlafen ist es ok...

Durch den Regen bin ich dann zum Preconference-Meeting in einem Irish Pub gefahren. Als ich dort angekommen bin, war ich total durchnässt.

Auf dem Meeting habe ich dann wieder einige Bekannte getroffen...

Thursday, July 31, 2008

7. Ausgabe von $foo ist da!

Gestern aus der Druckerei gekommen: Die neue Ausgabe von $foo. In den nächsten Tagen werden die neuen Hefte bei den Lesern ankommen.

Die Themen diesmal:

# Selenium
# Web::Scraper
# Scaffolding
# autobox
# Rezension - Higher Order Perl
# Typeglobs
# Debugger
# Perl 6 Tutorial - Teil 4
# Rechnungen mit Perl erstellen
# Tipps und Tricks: Der Flip-Flop-Operator
# Usergruppen: Stuttgart.pm
# CPAN-News

An der URL hat sich nix geändert: http://foo-magazin.de ;-)

Tuesday, July 22, 2008

Gedanken über "Zeit"

Ooops, ist es wirklich schon fast zwei Monate her, dass ich zum letzten Mal hier etwas eingetragen habe? Wahnsinn wie die Zeit vergeht...

In der Zwischenzeit habe ich folgendes gemacht (was mit Perl zu tun hat):

  • An der neuen Ausgabe vom $foo-Magazin gearbeitet
  • Endlich mal wieder anderen etwas über Perl erzählt ("(Fast) alles über OO-Perl")
  • Ein Besuch bei Cologne.pm als Nick und Andrea dort waren
  • Den Ort begutachtet, an dem der 11. Deutsche Perl-Workshop stattfinden wird

Und - was der eigentliche Grund für diesen Eintrag ist - ein Perl-Modul geschrieben. Aber warum ist das einen Eintrag wert?

Es gibt manchmal echt Zufälle... Da schreibe ich "mal schnell" ein Modul namens Sub::Called (danke an betterworld für die Bugreports) und am gleichen Tag überlegt sich ein anderer Programmierer auch ein Modul names Sub::Called zu schreiben. Da war ich wohl einfach ein paar Minuten schneller.

Thursday, May 29, 2008

Warum ich DBI so mag...

Heute morgen stand bei einem Projekt eine Migration von SQLite auf MySQL an. Ich verwende SQLite ganz gerne für schnelle Prototypen. Jetzt soll aber MySQL verwendet werden. Nachdem die Datenbank in MySQL angelegt war und einige Testdaten übertragen waren, musste ich noch das Perl-Programm anpassen. Schön wenn man die Datenbanksachen in ein Modul auslagert und noch DBI verwendet. So musste ich exakt 1 Zeile anpassen.

Aus

my $dbh = DBI->connect('DBI:SQLite:Datenbank','','') or die $DBI::errstr;

wurde

my $dbh = DBI->connect('DBI:mysql:Datenbank:Host','user','passwort') or die $DBI::errstr;

und schon lief alles mit der MySQL-Datenbank statt der SQLite-Datenbank. So einfach kann alles sein.

In anderen Programmiersprachen ist das nicht immer so schön einfach. Danke @Tim Bunce für das geniale Modul. Ich hatte in den 6 Jahren, in denen ich das Modul einsetze, noch nicht einmal ein wirkliches Problem.

Tuesday, May 20, 2008

Perl-Nachrichten in der Zusammenfassung

Ich schreibe hier ja nur noch selten, was auch damit zu tun hat, dass ich viele Neuigkeiten bei Perl-Nachrichten.de reinstelle. Deshalb hier die 3 wichtigsten News der letzten paar Wochen. Das sind längst nicht alle, aber meiner Meinung nach mit die wichtigsten.
Ich bin immer über Hinweise auf Neuigkeiten aus der Perl-Welt dankbar...

Was finden die Leute nur an Perl?

brian d foy hat vor ein zwei Wochen in seinem use.perl.org-Journal die Leser aufgefordert, eigene Blog-Einträge unter dem Titel "Why people are passionate about Perl?" zu schreiben. Dem sind einige gefolgt:
und wahrscheinlich noch einige mehr, die ich aber auf die schnelle nicht finden konnte.

Vielleicht kann ja hier noch der eine oder andere die Fragen beantworten...

Sunday, May 04, 2008

Vorschläge für TPF-Grants öffentlich diskutieren

Die Perl-Foundation schlägt bei der Vergabe der Grants neue Wege ein: Einen Monat lang werden Vorschläge gesammelt und intern diskutiert und danach werden die Vorschläge veröffentlicht.

Das wird dazu beitragen, mehr Beispiele für Vorschläge zu zeigen und die Arbeit des "Grants Committee" transparenter zu machen.

Im Laufe des Aprils wurden wieder Vorschläge gesammelt und jetzt wurden sie veröffentlicht:

* Perl 6 Tables
* Solidifying and Extending the Blog Normalize project
* Add Perl support to NetBeans
* Perl on a Stick
* SMOP - Simple Meta Object Programming
* Fixing Bugs in the Archive::Zip Perl Module
* CatalystX::Installer Application
* Perl Survey
* Revision Control for all CPAN
* Improve POE::Component::IRC
* DBEditor
* Extending BSDPAN

Nachtrag:
Michael Schwern hat Grants-Vorschläge bei der Perl-Foundation (TPF) eingereicht. Diese stehen jetzt auch im Blog der TPF zur öffentlichen Diskussion.

Die Diskussionen werden noch bis zum 10. Mai dauern bevor eine Entscheidung gefällt wird.

Hier die Links zu den Vorschlägen von Michael Schwern.

* Make localtime() and gmtime() Work Past 2038
* CPAN Stability Project
* Test::Builder 2
* Automatic INSTALL generation
* Module Installation Configuration Wizard

"German Perl Tour 2008" Teil 2

Vor einer Woche habe ich brian dann zum Kloster Eberbach gebracht, wo das Perl-Bootcamp stattgefunden hat. Während dem Essen ist ihm eine Werbung in der "Eberbach News" aufgefallen: In der Nähe des Klosters gibt es eine Lama-Farm - Wie passend!

Abends sind dann noch die ganzen Teilnehmer gekommen.

Die Woche über war dann die Schulung gewesen und ich war nochmal am Dienstag da, wo eine "Fotoshooting mit Lama und Alpaka" stattfand. Die Dame von der Lama-Farm hat sich doch sehr gewundert, warum eine "IT-Firma" sich für Lamas und Alpakas interessiert. Sie fand die Sache mit den O'Reillys-Covern recht witzig.

Abends war dann noch eine Kloster-Führung mit anschließender Weinprobe.

Über den Kurs selbst kann ich nichts sagen, da ich nicht teilgenommen habe.

Am 03. Mai habe ich brian dann dort wieder abgeholt und nach Mittagessen sind wir dann nach Essen gefahren, wo abends ein Treffen mit Ruhr.pm auf der Tagesordnung stand. Vor dem Linuxhotel mussten wir dann erstmal warten, bis wir auf das Gelände konnten. Auf dem Zimmer hat brian noch die Folien bearbeitet und ich bin ins Freie gegangen.

Um kurz vor fünf kamen dann die ersten Leute von Ruhr.pm. Wir haben noch bis halb sechs gewartet und haben dann in einer kleinen Runde (6 Zuhörer) etwas über "Cool things in Perl 6"
gehört.
Nach dem Vortrag haben wir uns erst etwas im Freien zusammengesetzt und danach sind Veith, brian und ich noch in das "Stammlokal" von Ruhr.pm, dem Café Maze, gegangen und haben dort etwas gegessen.

Um halb sechs war die Nacht schon wieder vorbei und ich habe brian nach Köln zum Bahnhof gebracht, von wo aus er nach Frankreich fährt...

Im nächsten Jahr wird brian wohl wieder nach Deutschland kommen und wenn er Zeit hat, werden wir wohl ein paar andere PM-Gruppen besuchen.

Thursday, May 01, 2008

6. Ausgabe von $foo

Hallo $foo-Interessierte,

seit heute gibt es die neue Ausgabe von $foo, dem Perl-Magazin.

In dieser Ausgabe gibt es folgende Themen:

* Keine Angst vor Ties - eigene "Magie" für Variablen
* Threads und fork - Parallelität in Perl-Programmen
* Perl Snippets - "Power of map"
* Perl 6 - Der Himmel für Programmierer
* Perl 6 Tutorial - Teil 3
* TWiki - ein Erfahrungsbericht
* SANE Backend für Canon USB Scanner - Reverse-Engineering mit Perl
* Wartbare Perl/Tk-Applikationen
* Was... Perl? Hab ich hier nicht installiert! - Ausführbare Perl-Programme auch auf Rechnern ohne Perl zum Laufen bringen
* Bericht 10. Deutscher Perl-Workshop
* Einer nach dem Anderen bitte - Neues aus der Reihe "Tipps & Tricks"
* Vienna.pm - Eine Usergruppe stellt sich vor
* CPAN-News - sechs ganz aktuelle Module von CPAN

http://foo-magazin.de

Saturday, April 26, 2008

Die ersten Tage der "German Perl Tour"

Soo, ich bin mal wieder am Laptop und kann mal über die ersten Tage der "German Perl Tour" 2008 mit brian d foy schreiben...

Um die Mittagszeit am Donnerstag (24.04.) habe ich die Nachricht erhalten, dass brian in Frankfurt gelandet ist und sich im Hotel aufhält. Da ich erst noch arbeiten musste, konnte ich brian erst kurz vor dem Frankfurt.pm-Treffen abholen. Wir sind dann direkt zum Treffen gegangen, wo wir schon von zwei Perlmongern empfangen wurden. Wir waren im "Zimt und Koriander" - oder besser gesagt: Wir saßen im Freien ;-)
Um halb elf sind wir dann dort aufgebrochen. Ich habe dann erst um 1 Uhr im Bett gelegen, da ich noch ne Zeitlang auf einen Zug warten musste.

Um kurz nach 5 Uhr hat dann mein Wecker wieder geklingelt, da ich brian in Frankfurt abholen musste. Am Freitag stand erst ein Vortrag bei IBM in Böblingen statt und abends dann ein Treffen mit den Stuttgartern Perlmongers.
Wir sind ziemlich gut durchgekommen, bis 5 Kilometer vor Böblingen. Dann standen wir im Stau! Trotzdem waren wir noch einigermaßen pünktlich, um Alvar am Böblinger Bahnhof abzuholen. Alvar, brian und ich plus brians Gepäck - und das alles in einem kleinen Peugeot 206 ;-)

Bei IBM hat brian dann einen Vortrag über "Mastering Perl" gehalten. In vier Stunden gab es fünf größere Themenblöcke. Man hat gemerkt, dass brian nicht zum ersten Mal vor so einer Gruppe stand...
Der Vortrag war dann sehr pünktlich fertig und wir hatten noch jede Menge Zeit bis zum Treffen in Stuttgart. Wir sind trotzdem nach Stuttgart rein gefahren und haben das Auto im Parkhaus abgestellt.
Alvar, brian und ich sind dann in ein Café gegangen und danach noch durch die Stadt gelaufen. Kurz vor 19 Uhr kam dann noch Rolf dazu und wir sind in das Café gegangen, in dem dann später auch das Treffen stattgefunden hat. brian und ich waren schon ziemlich müde als das Treffen begann. Trotzdem haben wir es bis kurz vor elf ausgehalten und im Parkhaus habe ich dann die Rechnung für den Tag bekommen: 15.40 EUR Parkgebühren...

Wir konnten dann bei Rolf übernachten und heute vormittag ging es dann zu mir nach Hause. Heute steht nichts mehr auf dem Plan, außer mal Mails checken.

Morgen bringe ich brian dann zu "Big Nerd Ranch", wo er nächste Woche einen Kurs halten wird...

Thursday, April 24, 2008

"German Perl Tour 2008" startet

Wie ich ja schon angekündigt habe, ist brian d foy in Deutschland und heute geht es mit der "German Perl Tour 2008" los.

Um 19 Uhr trifft sich Frankfurt.pm zu einem zusätzlichen Treffen im Zimt und Koreander...

Thursday, April 10, 2008

my vs. our

In letzter Zeit bin ich immer wieder auf die Fragestellung "Was ist der Unterschied zwischen my und our?".

Aus perldoc -f my:
A "my" declares the listed variables to be local (lexically) to the enclosing
block, file, or "eval". If more than one value is listed, the list must be placed
in parentheses.


Und aus perldoc -f our:
Unlike "my", which both allocates storage for a variable and associates a simple
name with that storage for use within the current scope, "our" associates a
simple name with a package variable in the current package, for use within the
current scope. In other words, "our" has the same scoping rules as "my", but does
not necessarily create a variable.

Mit our sind die Variablen also an das package gebunden, wodurch die Variable auch nach "außen" hin sichtbar wird. D.h. dass die Variable auch von anderen packages aus verwendet werden können. Mit my ist das nicht möglich:

#!/usr/bin/perl
use strict;
use warnings;
{
package MyTest;
my $test = 823;
}
print $MyTest::test,"\n";



Gibt eine Warnung aus...

C:\>my_vs_our.pl
Name "MyTest::test" used only once: possible typo at C:\my_vs_our.pl line 12.
Use of uninitialized value in print at C:\my_vs_our.pl line 12.


Ändert man das my in our, gibt es folgende Ausgabe:

C:\>my_vs_our.pl
823


Allerdings finde ich den übermäßigen Gebrauch an our-Variablen nicht so prickelnd, weil es mich in meinem Modul stark einschränkt. Möchte ich in $test nicht nur eine Zahl speichern, sondern eine Datenstruktur, dann werden alle Skripte die $test direkt verwenden nicht mehr funktionieren.

Deshalb arbeite ich dann lieber mit my-Variablen und getter- und setter-Methoden.

#!/usr/bin/perl
use strict;
use warnings;
{
package MyTest;
our $test = 9;
sub get_test{ return $test; }
sub set_test{ $test = shift; }
}
print $MyTest::test,"\n";
print MyTest::get_test(),"\n";
MyTest::set_test( 199 );
print MyTest::get_test(),"\n";
__END__
9
9
199


vs.

#!/usr/bin/perl
use strict;
use warnings;
{
package MyTest;
our $test = { irgendwas => 823, test => 9 };
sub get_test{ return $test->{test}; }
sub set_test{ $test->{test} = shift; }
}
print $MyTest::test,"\n";
print MyTest::get_test(),"\n";
MyTest::set_test( 199 );
print MyTest::get_test(),"\n";
__END__
HASH(0x235fc0)
9
199


Wie man sieht, ist die Ausgabe bei der direkten Verwendung von $test nicht mehr wie ursprünglich gedacht, während die Verwendung der Funktionen noch einwandfrei läuft. Jetzt noch beim zweiten Code das our in my ändern und alles ist ok...

Wednesday, March 19, 2008

Aus dem Leben eines Kammerjägers

Manchmal sucht man Bugs ganz einfach an der falschen Stelle - und manchmal nur, weil die Fehlermeldung nicht wirklich aussagekräftig ist. Ich habe die jetzt ziemlich genau einen ganzen Tag nach einem Bug gesucht und die Lösung war so einfach.

Ich verwende bei der Entwicklung ganz gerne SQLite, vor allem weil das Anlegen und Ändern von Tabellen in der MaxDB über SAP R/3 nicht so simpel ist, wenn man keinen "Entwicklerschlüssel" hat. Also immer erst ne SQLite-DB anlegen und wenn die Entwicklung soweit fertig ist, einfach die finalen Tabellendefinitionen in die MaxDB transportieren.

Aber zurück zum Bug: Ich habe die Fehlermeldung "attempt to write a readonly database(8) at dbdimp.c" bekommen. Also nach der Datei geschaut - Rechte geändert. Jetzt die Fehlermeldung "unable to open database file(14)". Komisch: Der Pfad zur Datenbank ist richtig, die Datei hat die nötigen Rechte gesetzt bekommen... Andere Statements ausprobiert. Die funktionieren...

Bis ich darauf gekommen bin, dass SQLite erst eine "Journal"-Datei anlegt bevor die Änderungen vorgenommen werden. Also muss das Verzeichnis mit der Datenbank die entprechenden Rechte gesetzt haben. Und die Statements die funktionierten waren alle "SELECT"-Statements.

Warum mir der Fehler vorher noch nicht untergekommen war? Zu Hause entwickel ich (fast) alles unter Windows. Da kann die "Journal"-Datei immer angelegt werden und hier habe ich die früheren Datenbanken immer automatisch in ein Verzeichnis mit den Rechten 777 geschoben, also auch kein Problem.

Nur diesmal war ich "zu faul", die Datenbank gleich in das richtige Verzeichnis zu kopieren... Naja, jetzt funktioniert alles.

Tuesday, March 18, 2008

Google "Summer of Code" 2008

Google veranstaltet auch 2008 wieder den "Summer of Code" und nachdem die Perl-Foundation nicht unter den den teilnehmenden Organisationen aufgeführt wurde, hat Eric Wilhelm mögliche Mentoren und Projekte gesammelt und hat somit erreicht, dass die Perl-Foundation jetzt offiziell dabei ist .Studenten können sich in der Zeit vom 24. - 31. März bewerben.Sowohl die Organisationen als auch die Studenten können sich so etwas Geld verdienen.Wer also Studenten kennt, sollte die mal auf den Summer of Code hinweisen.

Friday, March 07, 2008

The Perl Foundation - ein Thema für Dich?

Die Perl-Foundation hat in Kürze 3 Positionen zu besetzen:

Noch bis zum 11. März kann man sich für diese ehrenamtlichen Stellen bewerben. Auf den einzelnen Seiten kann man nachlesen, was ein Bewerber können sollte.Das ist eine gute Gelegenheit, der Perl-Community etwas zurückzugeben.

Perl 6 noch in diesem Jahr!

Laut einer Überschrift in den "Schorndorfer Nachrichten" wurde auf der diesjährigen CeBIT genau das angekündigt:



Naja, vielmehr hat das Rolf Schaufelberger über die Mailingliste der Stuttgart Perl-Mongers verschickt. Er hat das Bild bei mypixler.com personalisiert. Bei dem Dienst kann man noch jede Menge anderer Bilder mit eigenen Nachrichten versehen - ein echt klasse Dienst!

Sunday, February 17, 2008

Vorträge und Fotos 10. Deutscher Perl-Workshop

Hier mal eine Liste mit Vortragsunterlagen des 10. Deutschen Perl-Workshops:

Und hier noch ein paar Fotos:

Sobald ich weitere Sachen ausfindig gemacht habe, werde ich sie hier posten...

Nachbetrachtung 10. Deutscher Perl-Workshop

Nach langer Pause in diesem Blog, komme ich endlich mal wieder dazu, etwas zu schreiben. Wie manche vielleicht wissen, war ich in der letzten Woche auf dem 10. Deutschen Perl-Workshop in Erlangen. Und jetzt möchte ich eine kurze Nachbetrachtung zu dem Ereignis liefern...

Ich bin schon montags in Erlangen angekommen, so dass ich auch genug Zeit hatte, um mir die Stadt etwas anzuschauen. Das ist das Tolle daran, dass der Perl-Workshop durch Deutschland wandert: Man kann immer wieder neue Städte und Leute kennenlernen. Am Montag habe ich aber nicht viel gemacht: Etwas durch die Innenstadt gelaufen, mir angeschaut, wo was ist, Buchhandel - dort zwei Bücher gekauft, Verpflegung geholt und dann abends ein Buch gelesen. Am Dienstag bin ich dann durch die ganze Stadt gelaufen um mir anzuschauen wo der Workshop stattfindet. Ich schaue es mir lieber am Tag vorher mal an, damit ich dann nicht morgens rumlaufe und den Workshop suche...

Der Workshop begann dann am Mittwoch früh mit einem Tutorial über XS. Marcus Holland-Moritz hat das ziemlich gut gemacht und ich habe wieder etwas mehr verstanden. So langsam wird es wohl mal Zeit, mich viel mehr mit dem Thema zu beschäftigen. Ich konnte Marcus auch davon überzeugen, mal eine XS-Einführung für $foo zu schreiben.

Insgesamt war $foo ein großes Gesprächsthema für mich. Mich haben einige Leute angesprochen und wir haben uns über das Magazin unterhalten. Ich habe dabei einiges an Feedback bekommen, was ich natürlich auch wieder einfließen lasse...

Wie auf anderen Workshops waren die Vorträge sehr gemischt. Sowohl was die Themen anging als auch die Vortragenden. Meistens kann man aber sagen, dass Übung den Meister macht. Es sollte sich also jeder trauen, einen Vortrag vorzubereiten. Es kann ja für den Anfang ein Lightning Talk (5 Minuten) oder ein Kurzvortrag (10 Minuten) sein.

Eine tolle Sache war eine Führung durch das "Computermuseum" des Regionalen Rechenzentrums. Gert Büttner hat sich freundlicherweise bereiterklärt, an zwei Abenden die Teilnehmer durch die Räume zu führen. Dabei konnte man von alten "Schlepptops" bis hin zum neuen Hochleistungsrechner alles Mögliche bewundern. Ich fand es sehr interessant! Ein großer Dank an Herrn Büttner!

Nicht zu vergessen das "Social Event", das komplett von DATEV gesponsort wurde. Es ist schön, dass es bisher immer komplett unterschiedliche "Social Events" waren (jedenfalls auf den ich bisher war). Diesmal gab es neben dem Buffet Unterhaltung von der "wilden Hilde". Ohne so ein großzügiges Sponsoring wären "Social Event" und Workshop nicht möglich. Leider vergessen manche Unternehmen, dass Open Source Programme - die in den Unternehmen eingesetzt werden - von den Entwicklern lebt, die auch mal auf solche Workshops fahren.

Auch ich habe drei Vorträge gehalten - alle drei am letzten Tag -, wobei ich selten so "chaotisch" vorbereitet war. Der Ajax-Vortrag war so einigermaßen, aber in 20 Minuten kann man auch nicht wirklich auf die konkrete Umsetzung eingehen. Für meinen zweiten Vortrag hatte ich gar keine Folien vorbereitet und habe nur Selenium gezeigt. Ich denke, dass der Vortrag ganz gut angekommen ist, da ich dazu jede Menge Feedback bekommen habe. Einige kannten das Tool anscheinend noch nicht und dabei kann man damit herrlich Webanwendungen automatisiert testen. Als dritter und letzter Vortrag kam dann "Perl::Critic" ins Spiel; auch hier war die Resonanz ganz ok, wobei es hätte besser sein dürfen.

Wir von Frankfurt.pm haben uns dann noch dazu entschlossen, den nächsten Workshop auszurichten. Wo und wann der genau stattfindet, wird noch bekanntgegeben.

Tuesday, January 29, 2008

AWStats auf IIS 6.0

Ich habe gerade ein Video gefunden, das erklärt wie man AWStats und Perl auf einem IIS 6.0 installiert... http://glengamoi.com/files/folders/iis/entry1566.aspx

Via: Queo-Blog

Monday, January 28, 2008

5. Ausgabe von $foo

Seit heute gibt es die 5. Ausgabe des deutschsprachigen Perl-Magazins $foo (http://www.foo-magazin.de).

Die Themen dieser Ausgabe:

* Vorwort
* Einiges zum Thema CGI-Sicherheit
* Größere Datenmengen in Bilder gepresst
* Rezension - Mastering Perl
* Interview - Richard Dice
* Neue RegEx-Features in Perl 5.10
* Rätselhaftes open
* Probleme mit base.pm
* Perl 6 Tutorial - Teil 2
* Winter of Code
* Charsets
* Tipps und Tricks: $/
* Date::Calc
* Usergruppen: Erlangen.pm
* CPAN-News

Tuesday, January 22, 2008

Komische Bugs ;-)

Als Maintainer von CPAN-Modulen kann man schon komische Bugmeldungen bekommen *fg*:

Tue Jan 22 11:54:51 2008: Request 32522 was acted upon.
Transaction: Ticket created by nichole.davie@mail.goo.ne.jp
Queue: Tk
Subject: You have card
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: nichole.davie@mail.goo.ne.jp
Status: new
Ticket http://rt.cpan.org/Ticket/Display.html?id=32522


Good evening, buddy! Jane sent you animated card with her nude photos;) You can check card in your attachment. --
Regards
�Adult Dating



Good evening, buddy!

Jane sent you animated card with her nude photos;) You can check card in your
attachment.

--
Regards
?Adult Dating


Sunday, January 20, 2008

OpenSuse und Perl

Wie ich gerade auf der OpenSUSE-Seite gelesen habe, wird OpenSUSE 11 wohl mit dem neuen Perl 5.10 herauskommen. So etwas ist natürlich gut für die Verbreitung von Perl 5.10...

Monday, January 07, 2008

"German Perl Tour" mit brian d foy

brian d foy wird in diesem Jahr wohl "endlich" sein Perl-Bootcamp halten und dafür natürlich nach Deutschland kommen ;-) Er möchte die Gelegenheit wahrnehmen, um ein paar Perlmonger-Gruppen zu besuchen.

Ich habe mit ihm ausgemacht, dass ich mich ein wenig um eine "German Perl Tour" für ihn kümmere.

Bis jetzt sind folgende Stopps geplant (aber - noch - nicht festgemacht):

24.04. Treffen mit Frankfurt.pm und Darmstadt.pm
25.04. Treffen mit Stuttgart.pm
26.04. $foo meets ThePerlReview
27.04. - 02.05. Perl-Bootcamp
03.05. Treffen mit Ruhr.pm
04.05. Treffen mit Cologne.pm

Er kann einen seiner Talks halten: http://www.pair.com/~comdog

Dafür bräuchten wir dann natürlich eine Location, an der man einen Vortrag halten kann... Vorschläge?

Noch etwas: brian hat mir gesagt, dass er während der Zeit auch gerne etwas Geld für seine Reisen und Unterkünfte verdienen würde. Aus seiner Mail:

Now here's the tricky part: anything that you can figure out to help
me pay the bills for all of this would be extremely helpful. I'm
willing to give talks, do a little consulting, or whatever to earn my
travel and food money. I'd even be glad to do a master class in one of
the other cities.

Wer einen Vorschlag hat, kann sich ja bei mir melden... Wegen des Zeitplans gibt es allerdings nicht allzu viel Möglichkeiten, wann er arbeiten kann.

PerlNews

Ich habe mal wieder etwas an PerlNews weitergebastelt, so dass jetzt Tagging möglich ist. Und es gab mal wieder etliche Neuigkeiten seit meinem letzten Post hier über die Webseite:

Saturday, January 05, 2008

Mit Perl 6 arbeiten...

So einfach kann man mittlerweile Perl 6 ausprobieren:

svn checkout https://svn.perl.org/parrot/trunk parrot
cd parrot
perl Makefile.PL
make perl6


Langsam entwickelt sich Perl 6 von einem reinen Forschungsprojekt in ein Projekt, an dessen Ende eine komplett neu implementierte Perl-Version steht.

Dank der Unterstützung durch die Mozilla-Foundation kann Patrick Michaud auch kräftig weiterarbeiten - an Parrot und Perl 6.

Wer sich für Perl 6 interessiert: Herbert Breunung stellt seit der dritten Ausgabe von $foo Perl 6 vor...