Friday, January 30, 2015

"Module des Monats"

Auf Perl-Academy.de schreibe ich jetzt jeden Monat über ein "Modul des Monats". Damit will ich auf einige Module aufmerksam machen, die wir entweder häufig nutzen oder die uns bei einem Problem geholfen haben.

Die ersten Beiträge:

Friday, January 23, 2015

Yak-Shaving January 2015 ;-)

You might know the problem: you work on anything (let's call it "A") and then you realise that you have to work on anything else ("B") before you can finish "A". And then you realize that you have to work on yet another thing ("C") to finish "B".

I wanted to work on a bugreport for my module Task::MojoliciousPlugins::PerlAcademy. I use this module to install a working Mojolicious environment for one of my classes. But how can I know the Plugins that work on a "clean" machine? That's why I wrote a few helper scripts to generate a matrix of all (except some "blacklisted" modules) plugins for Mojolicious. And I wanted the plugins that work with the latest Perl and the latest Mojolicious. Hence another script that installs new versions of Mojolicious for all installed Perl versions.

And finally I wanted a list that is as long as possible. That's why I decided to inform the authors when a problem is reported. So I ended with ~30 Pull Requests since Jan 01st and another 12 issues reported on Github. And there are a few bugs I filed on rt.cpan.org.

But now I get a few more "greens" than three weeks ago.

Contributing to Open Source is so much fun - especially when the Pull Requests where merged within a few seconds! Thanks to all maintainers!

What I've learned while doing all the stuff: I've used the MetaCPAN::Client module a lot. I didn't know anything about a lot of the modules, but then I tried to fix the issues... ;-) And tell other people about your work. After I mentioned the matrix in the #mojo channel on IRC, I got some "feature" requests within seconds and a few issues with my code were found. Thanks!

Next thing to do: automatically create a new version of my module when new plugins came to CPAN. Then I can close the RT ticket...

Monday, January 05, 2015

CPAN PullRequest Challenge 2015 - die andere Seite

Wie im letzten Beitrag geschrieben, nehme ich an der CPAN PullRequest Challenge 2015 teil. Heute mal "von der anderen Seite". Ich habe für eines meiner Module einen PullRequest für Test::CheckManifest bekommen.

Da ich nicht besonders gut darin bin, alles ausführlich zu dokumentieren, ist die Hilfe natürlich sehr willkommen. Danke #cpanpr und @FRACTAL!

Friday, January 02, 2015

CPAN PullRequest Challenge 2015

Neil Bowers hatte mal wieder eine seiner großartigen Ideen: Er organisiert die "CPAN PullRequest Challenge 2015". Dabei bekommt jede/r Teilnehmer/in jeden Monat ein CPAN-Modul zugewiesen, für das er/sie (mindestens) einen PullRequest im Laufe des Monats erstellen soll.

Auch für Perl-Einsteiger ist das eine tolle Gelegenheit. So lernt man einige Module kennen und kommt gleich mit den Möglichkeiten von OpenSource in Berührung.

Es geht nicht (unbedingt) darum, groß am Code rumzuschrauben. Es reicht auch wenn man Tippfehler in der Dokumentation verbessert. Bugfixing ist natürlich gerne gesehen ;-) Man wird auch nicht alleine gelassen. Im IRC-Channel kann man einige Experten fragen und auch auf der Mailingliste ist eine Menge los.

Bisher haben sich über 170 Teilnehmer gemeldet, d.h. wenn alle durchhalten, gibt es über 1700 PullRequests für CPAN-Module - wenn das kein Gewinn für die Perl-Community ist.

Mein erstes Modul ist gleich ein CPAN-Schwergewicht: DateTime. Ein sehr nütliches Modul wenn es zum Datum/Zeit-Aufgaben geht. Sei es zum Formatieren oder Berechnen von Zeitdifferenzen etc.

Ich mache mir den Einstieg in die Challenge einfach und gebe einen Hinweis für die Benutzung von from_epoche mit Time::HiRes.

Das kann doch jede(r), oder? Neil nimmt bestimmt noch Anmeldungen an ;-)