Frankfurt Perlmongers: Nächstes Treffen am Dienstag, den 05. Mai 2015 auf dem GPW in Dresden

 

Das nächste Treffen findet am Dienstag, den 05. Mai 2015, in Dresden im Rahmen des 17. Deutscher Perl-Workshops statt.

Published by Thomas Fahle on 2015-04-28T06:31:15

Frankfurt Perlmongers: Nächstes Treffen am Dienstag, den 07. April 2015

 

Das nächste Treffen findet am Dienstag, den 07. April 2015, ab 19:00 Uhr im MoschMosch statt.

Published by Thomas Fahle on 2015-04-01T12:28:58

Perl-Blog (Renee Baecker): CPAN PullRequest Challenge: Februar 2015

 

Ich weiß, es ist kein Februar mehr und ich bin ein bißchen spät dran...

Für den Februar wurde mir DBIx::ThinSQL zugeteilt. Ich hatte davor noch nie von dem gehört hatte. Ich benutze auch - wenn es geht - eher DBIx::Class, aber DBIx::ThinSQL hat in meinen Augen auch ein etwas anderes Zielpublikum.

Es hilft Entwicklern/Entwicklerinnen dabei, SQL zu vermeiden und in Perl-Strukturen zu bleiben.


Nachdem ich mich mit dem Autor in Verbindung gesetzt hatte, habe ich auch eine ganze Auflistung an möglichen Aufgaben bekommen. Ich hatte auch vor einiges davon umzusetzen, aber mir ist die Arbeit dazwischengekommen und ich hatte zu wenig Zeit für die Aufgaben. Also habe ich mich darauf beschränkt, die ganzenen "packages" in einzelne Dateien aufzuteilen.

Mittlerweile wurde der PullRequest auch in einen Devel-Branch integriert... Jetzt freue ich mich auf meine März-Aufgabe.


BTW: Der CPAN PullRequest Challenge hat jetzt auch eine eigene Webseite: http://cpan-prc.org/. Und es ist noch nicht zu spät, damit anzufangen...

Published by ReneeB on 2015-03-06T08:10:00

Perl HowTo: Array::Utils - Arrays von Strings schnell vergleichen

 

3603549564_6042a3df87_m.jpg

Array::Utils von Sergei A. Fedorov erlaubt es schnell und einfach Arrays von Zeichenketten (Strings) zu vergleichen.

 

Für andere Datentypen ist dieses Modul, trotz seines eher generischen Namens, nicht geeignet.

 

Array::Utils stellt folgende Funktionen zur Verfügung:

  • Symmetrische Differenz zweier Arrays
  • Schnittmenge zweier Arrays
  • Vereinigungsmenge zweier Arrays
  • Subtraktion zweier Arrays

 

Symmetrische Differenz

Es handelt sich um die Menge aller Elemente, die jeweils in einer, aber nicht in beiden Mengen liegen.

#!/usr/bin/perl
use strict;
use warnings;

use Array::Utils qw(:all);

my @list_01 = qw/Hans Otto Fritz/;
my @list_02 = qw/Wilhelm Otto/;

# symmetric difference
my @diff = array_diff(@list_01, @list_02);

print join(", ", @list_01), "\n";
print join(", ", @list_02), "\n";
print join(", ", @diff), "\n";

Das Programm erzeugt folgende Ausgabe:

Hans, Otto, Fritz
Wilhelm, Otto
Hans, Fritz, Wilhelm

 

Intersection

Die Schnittmenge (Durchschnittsmenge) zweier Mengen A und B ist die Menge aller Elemente, die sowohl zu A als auch zu B gehören.

#!/usr/bin/perl
use strict;
use warnings;

use Array::Utils qw(:all);

my @list_01 = qw/Hans Otto Fritz/;
my @list_02 = qw/Wilhelm Otto/;

# intersection
my @intersect = intersect(@list_01, @list_02);

print join(", ", @list_01), "\n";
print join(", ", @list_02), "\n";
print join(", ", @intersect), "\n";

Das Programm erzeugt folgende Ausgabe:

Hans, Otto, Fritz
Wilhelm, Otto
Otto

 

Union

Die Vereinigungsmenge zweier Mengen A und B ist die Menge aller Elemente, die zu A oder zu B oder zu beiden Mengen gehören.

#!/usr/bin/perl
use strict;
use warnings;

use Array::Utils qw(:all);

my @list_01 = qw/Hans Otto Fritz/;
my @list_02 = qw/Wilhelm Otto/;

# unique union
my @unique = unique(@list_01, @list_02);

print join(", ", @list_01), "\n";
print join(", ", @list_02), "\n";
print join(", ", @unique), "\n";

Das Programm erzeugt folgende Ausgabe:

Hans, Otto, Fritz
Wilhelm, Otto
Otto, Wilhelm, Hans, Fritz

Durch das Aussortieren der doppelten Elemente, ändert sich auch die Reihenfolge der Elemente im @unique.

 

Subtraktion

Die Subtraktion liefert die Elemente, die nur zu der einen Menge, aber nicht zu der anderen Menge gehören.

#!/usr/bin/perl
use strict;
use warnings;

use Array::Utils qw(:all);

my @list_01 = qw/Hans Otto Fritz/;
my @list_02 = qw/Wilhelm Otto/;

# get items from array @list_01 that are not in array @list_02
my @minus = array_minus(@list_01, @list_02);

print join(", ", @list_01), "\n";
print join(", ", @list_02), "\n";
print join(", ", @minus), "\n";

Das Programm erzeugt folgende Ausgabe:

Hans, Otto, Fritz
Wilhelm, Otto
Hans, Fritz

 

Siehe auch:

 

Bildnachweis

photo credit: myth of homogeneity via photopin (license)

 

Published by Thomas Fahle on 2015-02-23T15:15:00

Frankfurt Perlmongers: Nächstes Treffen am Dienstag, den 03. März 2015

 

Das nächste Treffen findet am Dienstag, den 03. März 2015, ab 19:00 Uhr im MoschMosch statt.

Published by Thomas Fahle on 2015-02-23T07:57:59

Perl-Blog (Renee Baecker): [PerlAcademy] Nächste Woche Mojolicious-Schulung (23.-27.02.2015)

 


Helau! Alaaf! In dieser Woche herrscht noch närrisches Treiben auf den Straßen. In der nächsten Woche kann es mit Spaß und Freude weitergehen - denn Webanwendungen entwickeln mit Mojolicious macht Spaß.

Für die Mojolicious-Schulung in der nächsten Woche haben wir noch einige Plätze frei. Lernen Sie an 5 Tagen das Mojolicious-Framework kennen und entwickeln Sie Ihre ersten Webanwendungen.

Mehr Informationen zu der Schulung finden Sie unter http://perl-academy.de/mojolicious

Haben Sie noch Fragen? Dann schreiben Sie uns doch einfach eine Mail an info@perl-academy.de

Möchten Sie direkt buchen? http://perl-academy.de/buchung?kurs=mojolicious

Wir würde uns freuen, Sie nächste Woche bei der Schulung begrüßen zu dürfen.

Published by ReneeB on 2015-02-16T08:52:00

Perl-Blog (Renee Baecker): "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:

Published by ReneeB on 2015-01-30T21:45:00

Frankfurt Perlmongers: Nächstes Treffen am Dienstag, den 03. Februar 2015

 

Das nächste Treffen findet am Dienstag, den 03. Februar 2015, ab 19:00 Uhr im MoschMosch statt.

Published by Thomas Fahle on 2015-01-26T18:22:56

Perl-Blog (Renee Baecker): 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...

Published by ReneeB on 2015-01-23T15:40:00

Perl-Blog (Renee Baecker): 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!

Published by ReneeB on 2015-01-05T01:18:00

Frankfurt Perlmongers: Nächstes Treffen am Dienstag, den 06. Januar 2015

 

Das nächste Treffen findet am Dienstag, den 06. Januar 2015, ab 19:00 Uhr im MoschMosch statt.

Published by Thomas Fahle on 2014-12-29T09:30:00

Perl-Blog (GHIT): Geschlossen

 

Dieser Blog ist geschlossen.

Hier gehts weiter...

Published by Gernot Havranek on 2014-12-03T11:33:00

Perl HowTo: Perl Advent(ures) 2014

 

medium_5225300379.jpg

Es ist wieder so weit - Perl Adventskalender 2014 sind online

 

Via:

 

Bildnachweis

photo credit: kennymatic via photopin cc

Published by Thomas Fahle on 2014-12-01T20:25:00

Perl HowTo: WWW::IP - Was ist meine öffentliche IP Adresse?

 

matrix_medium_6886658738.jpg

WWW::IP - Returns your ip address with failsafe mechanism von David Farrell ermittelt die eigene öffentliche IP-Adresse.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::IP;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

Failsafe

Um Ausfallsicherheit zu erreichen, fragt WWW::IP nacheinander bis zu drei verschiedene Dienste (Webservices), für die entsprechende Perl Module zur Verfügung stehen, ab:

Der erste Treffer gewinnt, die anderen Dienste werden dann nicht mehr abgefragt.

 

WWW::curlmyip

WWW::curlmyip von David Farrell nutzt http://curlmyip.com/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::curlmyip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::hmaip

WWW::hmaip von David Farrell nutzt http://geoip.hidemyass.com/ip/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::hmaip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::ipinfo

WWW::ipinfo von David Farrell nutzt http://ipinfo.io/ um die öffentliche IP-Adresse zu ermitteln. Weiterhin können Geolocation Daten zu der IP-Adresse abgefragt werden.

Die Funktion get_ipinfo() liefert eine Referenz auf einen Hash mit der IP Adresse und den Geolocation Daten zurück.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::ipinfo;

my $ipinfo = get_ipinfo();

my @ipinfo_keys = qw/ip hostname city region country loc org postal/;

foreach my $ipinfo_key (@ipinfo_keys) {
    $ipinfo->{$ipinfo_key} = 'unknown' unless $ipinfo->{$ipinfo_key};
    print "$ipinfo_key: $ipinfo->{$ipinfo_key}\n";
}

Ausgabe des Beispielprogramms:

ip: 79.232.98.21
hostname: p4FE86215.dip0.t-ipconnect.de
city: Leimbach
region: Hessen
country: DE
loc: 50.7500,9.7833
org: AS3320 Deutsche Telekom AG
postal: unknown

Der Funktion get_ipinfo() kann auch eine IPv4 oder IPv6 Adresse als Parameter übergeben werden, dann werden die Geolocation Daten für die angegebene IP zurückgeliefert.

 

Siehe auch:

 

Bildnachweis

phsymyst via photopin cc

 

Published by Thomas Fahle on 2014-10-04T06:20:00

Perl HowTo: Doppelt so schnell lesen mit spread0r - Perl Opensource Alternative zu Spritz

 

Das Startup Spritz hat eine einfache Technik entwickelt, Texte überdurchschnittlich schnell zu lesen und dennoch den Inhalt zu verstehen.

Die Wörter werden einzeln nacheinander in hoher Geschwindigkeit angezeigt. Um Augenbewegungen zu minimieren und damit die Lesegeschwindigkeit zu erhöhen, wird eine farbige Markierung innerhalb des Wortes als Orientierungsfixpunkt eingeblendet.

 

spread0r

spread0r ist eine Perl basierte Implementierung dieser Technik für Textdateien.

Anhand der mitgelieferten Beispieltexte kann man sich mit dieser Technik und der Software vertraut machen. Diese Schnelllesetechnik funktioniert nach ein paar Minuten Eingewöhnung erstaunlich gut und macht Spaß.

Schauen wir doch, ob sich damit auch die Dokumention von CPAN - Modulen schneller lesen lässt.

CPAN - Module werden üblicherweise in Pod dokumentiert. Dieses Format lässt sich sehr einfach in Text umwandeln.

$ perldoc -t Moose > Moose.txt

Nun spread0r starten und die oben erzeugte Datei als Parameter übergeben:

$ ./spread0r.pl Moose.txt 

spread0r.png

Okay - es ist schon etwas gewöhnungsbedürftig.

 

Siehe auch

Published by Thomas Fahle on 2014-03-22T11:30:00

Perl-Nachrichten.de: Erster Tschechischer Perlworkshop

 

Richard Jelinek läd ein: 20/21 Mai 2014 in Prag

Published by lichtkind on 2014-01-27T23:35:34

Perl HowTo: Talk: Renée Bäcker - The Renaissance of Perl - Was sich in den letzten Jahren bei Perl5 getan hat

 

Renée Bäcker hat den Vortrag The Renaissance of Perl - Was sich in den letzten Jahren bei Perl5 getan hat auf der FrOSCon 2013 (Slides, Video Mitschnitt) und auf der OpenRheinRuhr 2013 (Slides) gehalten.

Sowohl auf der FrOSCon als auch auf der OpenRheinRuhr waren nach dem Vortag einige Besucher am Perl-Stand und haben sich bei Renée ausdrücklich für diesen Vortrag bedankt. Den meisten war nicht wirklich klar, was sich so alles geändert hat und welche coolen Tools es inzwischen gibt.

Es lohnt sich!

 

Ankündigung des Vortrags

Perl ist alt und riecht schon leicht modrig.

Das denken auf jeden Fall die Personen, die sich schon länger nicht mehr mit Perl beschäftigt haben.

Dabei hat sich in den letzten Jahren einiges -- auch innerhalb der Perl-Community -- getan.

Dieser Vortrag stellt einige dieser Neuerungen vor.

  1. Perl ist unleserlich! Das kann man machen, (muss|sollte) man aber nicht.
  2. Perl ist bei Perl 5 stehen geblieben. Die Sprache heißt Perl5 und ist in der Version 18.1 veröffentlicht (Perl5 18.1 kam im Mai 2013 heraus).
  3. Perl5 + Web = CGI.pm. Ja, vor über 10 Jahren. Heute benutzt man andere Techniken.
  4. Das Objektsystem in Perl5 ist so umständlich. Ein Elch und sein Gefolge kann helfen!
  5. Das Bauen und Ausliefern von Perl5-Paketen ist umständlich. Nicht wenn man seine Tools kennt.

Diese fünf Punkte zeigen, dass sich in den letzten Jahren einiges getan hat. Renée Bäcker möchte den Zuhörern diese Änderungen zeigen und zum Einsatz der Features und Pakete ermuntern.

 

Video des Vortrags

 

Slides des Vortrags auf der FrOSCon

 

 

Published by Thomas Fahle on 2013-12-16T21:15:00

Perl-Nachrichten.de: Tabellen in Perl/Tk

 

PerlTk.de ist um eine Webseite reicher: eine Übersicht über Widgets zur Darstellung tabellarischer Daten in Perl/Tk.

Published by Alex on 2013-11-11T19:45:39

Perl-Nachrichten.de: Austrian Perl Workshop 2013 - Call for papers

 

Vorträge (auf deutsch oder englisch) sollten zwischen 5 und 60 Minuten lang sein und einen Bezug zu Perl aufweisen. Z.B. eigene oder fremde interessante CPAN-Module, Testing, Entwicklungstipps und -tricks, (Web-)frameworks, Perl und Dev-Ops, Perl 6, Perl auf Android, … Um einen Vortrag einzureichen, musst du dich zuerst auf der Website einloggen und gegebenenfalls vorher einen Account registrieren. Stichtag ist der 27.10.2013. http://act.useperl.at/apw2013/newtalk

Published by Denis Banovic on 2013-10-08T12:01:10

Perl-Nachrichten.de: Nordic Perl-Workshop 2013

 

Am 23. November findet der diesjährige Nordic Perl-Workshop in Kopenhagen statt. Ab sofort -- bis zum 4. November -- können auch Vortragsvorschläge für die Kostenfreie Veranstaltung eingereicht werden.

Published by Renée Bäcker on 2013-10-02T21:35:54

Perl-Nachrichten.de: Deutscher Perl-Workshop 2014 - Call for Papers

 

Du programmierst in Perl oder lehrst den Einsatz von Perl? Du hast neue Ideen, ein tolles Projekt oder eine spannende Geschichte zum Einsatz von Perl? Dann bist Du auf dem Deutschen Perl-Workshop 2014 genau richtig! Wir bieten: mit dem Deutschen Perl-Workshop die größte deutschsprachige Veranstaltung zum Thema Perl genau die richtige Plattform für Deine Idee, Dein Projekt oder Deinen Erfahrungsbericht. 2014 findet der Deutsche Perl-Workshop vom 26.03. bis zum 28.03. im "Kulturzentrum FAUST Warenannahme" in Hannover statt. Zum Workshop 2013 fanden sich rund 130 Teilnehmer ein. Wir suchen: Deine Idee. Dein Projekt. Deine Geschichte. Wir suchen anspruchsvolle Vorträge für unser Programm. Das können Lightning Talks (5min), Kurzvorträge (20min) oder Langvorträge (40min) sein. Solltest Du Anregungen für Vortragsthemen suchen, schaue bitte in den FAQ (http://act.yapc.eu/gpw2014/wiki?node=FAQ) nach. Vortragsvorschläge bitte über die Webseite (http://act.yapc.eu/gpw2014/newtalk) einreichen. Ende der Einreichungsfrist ist der 22.12.2013! Dein Abstract sollte in rund 2000 Zeichen (das sind ca. 30 Zeilen a 72 Spalten) das Thema beschreiben, was besonders an Deinem Ansatz ist und weshalb Perl als Sprache in diesem Fall besonders nützlich ist. Bis zum 10. Januar bekommst Du eine Benachrichtigung ob Dein Vortrag angenommen wurde oder nicht. Wer wir sind: In diesem Jahr wird der Workshop von den Hannover Perlmongers organisiert. Die Perlmongergruppe gehört zu den aktivsten in Deutschland und trifft sich alle zwei Wochen. Mehr Infos zu unseren regelmäßigen Treffen gibt es auf Twitter unter https://twitter.com/Hannover_pm und unter http://hannover.pm. Unser Workshop lebt von den Vorträgen und den Teilnehmern. Wir freuen uns auf Dich - als Teilnehmer und als Vortragender.

Published by Renée Bäcker on 2013-09-27T12:36:50

kephra_lk (Herbert 'lichtkind' Breunung): Berlin und Chemnitz: wie komm ich zu den guten Vorträgen

 

Jo war halt da und da aber statt eines langweiligen Reiseberichtes: "machte bla bla und ass sehr gut, dann fuhr ich dahin, Wetter blub" hier paar essentielle Dinge dich euch vielleicht auf länger weiter bringen. Klar Berlin war der gemütlichste Workshop an dem ich teilnahm (seit 2005) und wie kann man das Essen/Beisammensein im Computerspielemuseum überbieten? Was mir aber besonders in Chemitz auf dem Linuxtag auffiel viele Vorträge sind langweilig weil sich Vortragende in Trivia verlieren. die 5-15 Durchläufe in denen man ihn vorher probt dienen nicht nur der eignen Sicherheit und Ausarbeitung der Details.  Geschliffenheit.Man gewinnt auch etwas Abstand, kann sich vielleicht selber als Zuhörer vorstellen und merkt was wirklich die entscheidenden Informationshappen sind und was eher offensichtlich ist. Klar dann schrumpft das Material und du musst neues nachschieben, aber wenn du nicht paar Stunden Arbeit damit hattest ist der Vortrag vielleicht nicht wert angehört zu werden. Ausnahme zu der Regel ist vielleicht Dinge an denen du lange Arbeitest und wo du dich eh gut auskennst und alle Details schon parat hast. Aber teste alle Kodebesipiele, geh zu erwartenden Fragen nach usw. Frage dich immer wieder war das jetzt hilfreich. Ist der Erzählfluss rund oder holpert er und hat Löcher. Es ist auch hilfreich die dinge so zurecht zu legen, daß man einzelne Dinge wiederholen kann ohne das es Zuhörer als solches erkennt. Dadurch merkt er sich wahrscheinlicher das Wesentliche. Ich war zumindest sehr zufrieden mit beiden Vorträgen und denk das ich nach meinen 25-30 langsam ganz gut werde. Selbstsicherheit kommt mit Erfahrung und der Erkenntnis das Leute im Gunde sehr freundlich sind (kommen ja um dich zu hören) und das man sich ruhig "tragen" lassen kann. Wie sagte Damian, wähl ein Thema das dich begeistert, denn nur so ist es auch für Zuhörer interessant. Das von Menge Details keine Ahnung hast sollte dich nicht Abschrecken und das es Menge Arbeit ist schrieb ich ja bereits. Nur der Vorauf ist wichtig. Fang mindestens 2 Monate vorher an. Nicht nur wegen der 5-15 Iterationen, sondern weil Unterbewusstsein mitarbeitet. Wie von allein fallen dir immer wieder ein. Das Ziel besteht darin den Vortrag den du 1 Monat danach halten könntest zum eigentlichen Termin ausrollen kannst.

Published on 2013-03-18T20:56:39

kephra_lk (Herbert 'lichtkind' Breunung): 2013 vor der Tür

 

Ohne in ätzendes bla zu verfallen, was brachte 2012, was macht Sinn für 2013 zu planen.

So richtig fallen nur 3 Sachen auf die ich im Perlbereich dies Jahr erreicht hab. Die Artikel auf heise.de, das WxPerl-Tutorial beendet, und KephraXP zur Benutzbarkeit geführt (auch wenns noch weit bis zum Release ist.) Ich schrieb so viel Artikel wie noch nie, auch fürs freie Magazin (weitere Teile werden folgen), für Perlzeitung und weitere Orte, die nicht immer was mit Perl zu tun hatten. Ich denke das wird weniger werden. Die voriges Jahr begonnene Rezensionsrubrik in der $foo werd ich beibehalten, aber mit den entscheidenden Titeln sind wir fast rum, daher könnte es nur noch 1-2 Titel und vielleicht auch einzelne Aussetzer geben. Möchte aber unbedingt mindestens einen Text pro Ausgabe beisteuern. Auch das kommende Perlmag hab ich in der Planung wie auch perl.com und weitere Teile für heise zu Moose und Distzilla. Was sich aber entscheidend ändern wird, das ich weniger hetzen und mehr vorarbeiten will. Nicht nur wegen der Nerven und der Qualität sondern auch um einen souveräneren Umgang mit dem ganzen zu gewinnen. keine knatschigen guten Vorsätze, sondern aus Prinzip kein schlechtes Gewissen züchten, sondern tun wenn Zeit dazu ist, und wenn es mal nicht geht auch gut. 

Wichtig ist dafür auch die Ideen und infos festhalten wenn sie kommen. Dafür braucht man Editor, der das sinnvoll verwaltet: KephraXP was sonst. Ja 2013 will ich die ersten öffentlichen, frühen Versionen, die man auch vorzeigen kann und ich mag auch alle meine projekte auf dzil umstellen - damits leichter und schneller geht. Denn ich will mich etwas mehr der Musik widmen, nicht nur meinen kleinen Bachetüden. Das hat auch den schönen Nebeneffekt das man von NI (aus Berlin) sehr viel über GUI lernen kann. Die Oberfläche von Traktor und co ist ausgereifter als alles was ich im IDE und Editorbereich je sah, auch microsoft office oder photoshop reicht nicht ganz an diese funktionsdichte je entspannt zu betrachtenden Pixel. Da wird sicher einiges auch ins Buch fliessen was ich ende 2013 mind. komplett im Rohbau haben will. Die Beispiele dazu sollen auch Spielzeuge werden, die dazu dienen können das Interesse generell an Perl zu wecken. Ach ja und lichtkind.de ist auch noch im Rohbau. Das reicht, mehr wäre wohl zu viel für ein Jahr.

Nach Berlin und Riga werd ich fahren und weil es zu gut passt nach Chemnitz zu den Linuxtagen auch. Wien, Italien, London hätt ich gern - mal sehen. Aber nu reichts wirklich :)

Danke für die Aufmerksamkeit :)
euer lichtkund

Published on 2012-12-30T02:43:55

Perl-Blog (GHIT): 2012

 

Mein IT-Jahr 2012 in der Computer-/Perlwelt...

Themenschwerpunkte

Jänner
  • Perl-Zeitung Ausgabe 15
  • "Handel mit Computer & Computersystemen"
  • Systemkonfigurationen
  • Notfall-Support
  • Sehr guter Termin bei der WIFI Gänserndorf
  • Wirtschaftsempfang/Neujahrsempfang bei der Wirtschaftskammer in Gänserndorf mit Tormann-Legende Franz Wohlfahrt, der durch und durch VIOLETT ist!
  • IT-Beratung
  • Vorbereitung Computerschulung
  • 1. externer Mitarbeiter bei GHIT: chili:Infotech e.U.
  • System Neukonfigurationen
  • IT-Support

Februar
  • Systemkonfigurationen
  • Kündigung 1. Mitarbeiter
  • Applikation WOMBAT für die Firma TKL. Programmierung by chili:Infotech e.U.
  • PerlSkript für die Firma TKL (aus Clipper wird Perl)
  • IT-Beratung
  • Dokument/Präsentation 'Google Ranking verbessern' für die Firma TKL
  • LAN/WLAN Konfigurationen
  • Remote-Support

März
  • Perl-Zeitung Ausgabe 16
  • eDAY 2012
  • Windows 8 Consumer Preview
  • PHP Programmierung für die Firma TKL (Applikation WOMBAT)
  • Besprechung in der Firma TKL (Applikation DMS)
  • Virenentfernung (Polizeivirus)
  • neues iPhone4 - iService!!

April

Mai
  • Perl-Zeitung Ausgabe 17 verschiebt sich um ca. 2 Wochen
  • IT-Beratung
  • IT-Support
  • Social Media
  • Perl in der AZ

Juni
  • IT-Beratung
  • IT-Support
  • Social Media
  • "Handel mit Computer & Computersystemen"
  • Installationen & Konfigurationen
  • Projekt DMS (TKL)
  • Virenentfernung (Polizeivirus)

Juli
  • "Handel mit Computer & Computersystemen"
  • IT-Beratung
  • IT-Support
  • Perl-Zeitung Ausgabe 18
  • Projekt DMS (TKL)
  • Social Media
  • Systemwiederherstellungen
  • HP haarvranek.at (Besprechung)
  • HP http://schnitzelbibel.com geht online
  • Virenentfernung (Polizeivirus)

August
  • Virenentfernung (Polizeivirus)
  • "Handel mit Computer & Computersystemen"
  • Systemkonfigurationen
  • IT-Beratung
  • Projekt DMS (TKL)
  • iCloud

September
  • IT-Support
  • GHIT: IT-Sicherheitscheck (http://www.ghit.at/aktionen.html)
  • IT-Beratung
  • "Handel mit Computer & Computersystemen"
  • iOS6
  • Virenentfernung (Polizeivirus)
  • Projekt DMS (TKL)
  • IT-Support

Oktober
  • Providerwechsel http://agenturtreml.at
  • "Handel mit Computer & Computersystemen"
  • Neukonfigurationen
  • Social Media
  • Virenentfernung (Polizeivirus)
  • Adobe CS6
  • Tablet Konfigurationen
  • Konzeptänderung Perl-Zeitung
  • Remote-Service
  • Projekt DMS (TKL)
  • WKO TELEFIT 2012

November
  • "Handel mit Computer & Computersystemen"
  • Ordnerstruktur für Agenturtreml
  • Projekt DMS (TKL)

Dezember
  • Wikipedia Artikel Erich Hödl
  • Flyererstellung für Fantasy Island Tattoo
  • Projekt DMS (TKL)
  • "back to the roots" - Adressaufbereitung für Salon-Renate
  • Serverproblem bei der Firma TMS
  • "Handel mit Computer & Computersystemen"
  • Vorbereitung 2013

Viel Erfolg und vor allem Gesundheit im Jahr 2013!
Gernot Havranek, GHIT

Published by Gernot Havranek on 2012-12-28T12:13:00

kephra_lk (Herbert 'lichtkind' Breunung): die lichtkinds Tournee 2012 is beendet

 

Ich war auf dem deutschen, italienischem und Frankfurter Workshop und YAPC::EU. Die sich regelmäßig treffende Dresden.pm hab ich zum Jubiläum auch besucht. Das ist weniger als 2010 und 11, aber Steigerungen sind ja nicht immer möglich. Es zählt das es war schön und entspannt war und vor allem das ich die gleichen Vorträge viermal hielt hilft da etwas Qualität reinzubringen. Ich werd es auch nochmal überarbeiten bevor die Folien zu den Perl 6 rx auf slideshare gehen. Zwar hat Damian voriges Jahr in Riga in seinem Kurs gesagt: das Hauptgeheimnis guter Vorträge ist a) rede über etwas das dir wichtig ist. und b) üben, üben, üben, üben, üben. Erst die fünfte vollständige Fassung ist brauchbar und erst die sollte man der Öffentlichkeit anbieten. Aber 4mal Rückmeldungen von Perl-Programmierern zu haben bringt auch noch was.

Da ich Audrey-style bevorzuge (viele Folien - wenig Inhalt) der auch gut aufgenommen wird, bekam ich das Problem, das nur Stichpunkte zu wenig ist. Grad bei Regex haben die Zuschauer zu jedem Thema gerne ein Beispiel. Ausserdem muss ich auch zusätzliche Überleitungen einfügen, sodaß man auf slideshare auch den Handlungsbogen mitbekommt. So banal es auch klingt das ist der größte und wichtigste rat: wirklich Zeit und Liebe reinzustecken das alles was davon haben und es nicht nur als Promo-tool oder halbgaren Versuch abzutun. :) Das was wirklich an vielen freien Tutorien und Material so unbrauchbar macht ist, daß es veraltet ist, oder das Leute auf halben Wege aufhören. Deswegen lieber etwas weniger aber ausgereift. Darum auch nur 3 Workshops auch wenn ich wirklich gerne auch in Wien gewesen wäre.

Nächstes Jahr werd ich bestimmt wieder in Wien , Italien und Berlin dabei sein, vielleicht Kiev, vielleicht London, vielleicht auch wieder froscon.

Ja was soll ich sonst schreiben? War dieses Jahr eher ruhig. Perl kommt in die Puschen es regt sich an richtigen Fronten aber der große Hype ist zum Glück nicht da (wie mst richtig in seiner state of the velociraptor sagte). Auch Kephra hat weniger von der Zeitscheibe abbekommen als ich wollte aber das redesign ist ja tief angelegt und umfasst einige komponenten. Will ja noch dzil lernen um schneller und mehr zu relesen. Das Wx_tutorial ging endlich zuende, und das Buch dazu fing an. Bei derzeitigen Arebitsauslastung werde ich meinen Heilpraktiker nicht vor 2014 ablegen.

Ziele für 2013? Dzil lernen, Buch abschliessen, Dokular und Kephra XP ist benutzbar, hebräisch und griechisch lernen (Laienniveau).

Published on 2012-11-08T19:33:25

Perl-Blog (GHIT): Perl-Zeitung Neu

 

Die Perl-Zeitung erscheint seit Ende Oktober 2012 (bis Ausgabe 18/6 mal pro Jahr) in unregelmäßen Abständen, dafür aber mit wesentlich höherer Seitenanzahl als bisher.

Info: Bestehende Abos werden angepasst. Abobestellung weiterhin möglich (6 Zeitungen).

Beste Grüße,
Euer Perl-Zeitung Team

Published by Gernot Havranek on 2012-10-25T10:55:00

Perl-Blog (GHIT): Perl-Zeitung verspätet...

 

Wir bitten um Entschuldigung für die Verspätung der Perl-Zeitung und für unsere etwas verspätete Reaktion darauf... hier ist die Hölle los!

Selbstverständlich werden alle Zeitungen nachgeliefert.

Beste Grüße,
Perl-Zeitung Team

Published by Gernot Havranek on 2012-10-15T11:04:00

Perl im O'Reilly-Blog: Final Call: YAPC Europe 2012 (Frankfurt/Main, 20.-22.08.)

 

Damit niemand nachher sagen kann, wir hätten die Gemeinde nicht gut informiert, hier noch mal eine Erinnerung an DIE Perl-Veranstaltung schlechthin:

Nach 10 Jahren findet die legendäre YAPC erstmals wieder in Deutschland statt. Der Startschuss fällt kommenden Montag (20. August) in Frankfurt am Main.

Im Namen der Veranstalter möchten wir erneut alle Lama- und Kamelfreunde zum Ticketkauf ermutigen.

 

Der Besuch in Frankfurt lohnt sich, denn:

Nicht übel, oder? Also auf Richtung Main…

Published by Alexander Plaum on 2012-08-14T10:42:08

kephra_lk (Herbert 'lichtkind' Breunung): Kephra XP lebt!

 

Ich war abgelenkt. Neben dem Tagesgeschäft gabs auch Artikel, von denen der Blogbeitrag auf O'Reilly der kleinste war. Der gößte war Moose Teil 1  (Teil 2 + zwei andere Sachen in Vorbereitung), zufällig gleiches Thema im freiesMagazin  und 3 Artikel für die nächste $foo. Das Kamel (deutsch und englisch), Zukunft.pl und art of readable code hab ich rezensiert. Keines Sorge, andere Verlage kommen auch wieder dran.  DumbBench hat ich im zweiten Artikel vorgestellt und der elfte teil des wxTutorials handelte von Wx::Grid, Wx::HTML und Wx::XRC (grob). Weil es langsam zu Ende geht, werfe ich schon den Motor für mein Buch zum Thema an.

Das wird sich unter anderem von meinen Erfahrungen mit Kephra speisen, aber auch andere Projekte antreiben. Was ich eigentlich aber schreiben wollte, war das ich wieder etwas Zeit dafür hab und der rewrite gerade prächtig gedeiht. Alleine 7-12 Feature (je nach Zählung) alleine heute dazugekommen. Unicode ist noch nicht sicher und an einige Ecken ist es noch hart & unpoliert aber benutzbar. Immerhin speicher er bereits Dateien, kann alle Kephra-Module über den Projektbrowser öffnen, hat neben noch leeren Config-Dialog auch einen Dialog der ganze tastaturbelegung anzeigt. Das hatte die vorige Generation auch nie. es gab eine textdatei die ich von Hand pflegen musste. Aber jetzt ist es eine stets korrekte Anzeige der Interna, die in nächsten Ausbaustufe durch das Drücken der Tastenkombination auch Belegung verändert und auch die Belegung inhaltlich und numerisch sortiert anzeigen kann und auch die zugehörigen Sandrum-Kommandos anzeigt (auch änderbar). Das wird die Vi-ähnliche Kommandosprache für die eingebaute Befehlszeile.

In ein paar Gebieten gib es auch schon mehr Komfort als Kephra 0.4 je hatte. Alles was das Verschieben und umrücken von Code betrifft. Vor allem vom neuen Oberflächendesign sind alle Einteilungen da. Um das anzusehen gibt es aber noch keine Downloads.

"hg clone https://bitbucket.org/lichtkind/kephra"
geht ja auch für echte Programmierer. Sobald mein Dzil-fu ausreicht wird es folgen. Das besondere am neuen Kephra werden nicht nur die vielen neuen Funktionen sein sondern eine ganz neue Introspektion und die neuen Panel wie File-Browser eine werkzeug/snippet baum, die Textwerkstatt und einiges mehr. auch intern wird es teilweise ganz andere Struktur haben, die viel mehr über sich selbst weiß. von (einfacher) git/hg Anbindung, bis zum bauen/einpflegen eines Patches mehrere Ansichten auf die selbe oder verschiedene Dateien und einiges mehr schwebte mir schon lange vor. Die Grundidee hinter Kephra ist aber das wir keine fetten Erweiterungen brauchen sonder vielseitig verwendbare Metakomponenten (so wie es Perl auch macht). Diese aber sehr flexibel und bestens integriert, für gute Zusammenarbeit. Das bedeutet auch das die wesentlichen Teile keine Plugins sind, sondern Module, welche jedoch die normale API nutzen wie Plugins auch: die CommandList, EventTable, KeyMap, Lokalisation usw. Es ist eh eine schwäche von Plugins das sie meist schlecht lokalisiert sind. Als erstes Beispiel einer solchen Komponente Stell ich dieses mal die IOUnit vor. Sie regelt sämtliche Kommunikation mit dem Programm, die über das Editieren hinaus geht. wenn ein Programm ausgeführt wird oder die Testsuite, kommen hier die Ergebnisse an. wenn die git Erweiterung Kommandos Kommandos absetzt, kann man das dort im git-Reiter verfolgen. Diese sind reine Ausgabe-Panel. Darunter die Zeile die rein für Eingabe ist. Standardmässig hab ich tabs für Perl (testevals), Sandrum, die shell. Wer mag kann alle Warnungen die das Programm produziert hier betrachten und während der Entwicklung hab ich da noch einen Tab aktiv wo jeder Tastenschlag und jede Regung intern mitprotokolliert wird. Bis jetzt wechselt man mit <Esc> rein und auch raus aber ctrl+< würde mir auch gefallen. ist natürlich nur im deutschen keylayout praktisch. Aber das lässt sich ja eh leicht ändern. Die wichtigste Funktion der IOUnit wir wie angedeutet die VI-artige Benutzung sein. Egal ob Suchanfrage, letzten 8 Kommandos wiederholen, sie nur anzeigen lassen, oder kurz eine Analyse zum aktuellen block. So etwas soll mit wenigen Buchstaben in sandrum gehen. Und auch die kleinen netten Sachen kommen nicht zu kurz. Ctrl+[Shift+]# erlaubt entlang der Kommentare zu springen. Auf der suche nach den schwierigen stellen, Todos und ähnlichem.

Published on 2012-07-15T00:33:07

Perl im O'Reilly-Blog: Rückblick auf den 14. Deutschen Perl Workshop

 

Regelmäßig unterstützen wir bei O’Reilly IT-Veranstaltungen aller Art – vom Barcamp über Hackathons zu größeren Konferenzen wie zum Beispiel die FrOSCon. Seit vielen Jahren fest in unserem Terminkalender: der Deutsche Perl Workshop. Herbert Breunung, überzeugter Perlianer und auch Autor für das $foo-Magazin, blickt hier auf den diesjährigen Workshop in Erlangen zurück.

Anfang März fand im regionalen Rechenzentrum der Uni Erlangen der bereits 14. Deutsche Perl-Workshop statt. Das klingt nicht nur nach Tradition, es ist die älteste Veranstaltung ausschließlich über Perl in Europa. Damit dem so bleibt, musste sich in den letzten Jahren eine “nächste Generation” der Leitung finden, diesmal sogar abseits der sehr aktiven Frankfurt.pm, die sich in diesem Jahr um die YAPC Europe-Austragung in Frankfurt kümmert.

Doch die etwa 90 Teilnehmer bemerkten davon kaum etwas, denn die Organisatoren meisterten ihre Aufgaben mithilfe des Computervereins “Kommunikationsnetz Franken e.V.” und der geldgebenden Firmen sehr gut. Das einzig Ungewohnte war: es gab fast durchgängig 2 parallele Vorträge, davon ungewöhnlich viele über Perl 6.

Gehört habe ich u.a. “Dreiwertige Logik: Kuriosität oder digitaler Meilenstein” – Martin Becker von den Ulmer Perl Mongers hat darin Geschmack für ein viel zu wenig beachtetes Thema vermittelt, bei dem mich inbesondere die von ihm kurz angesprochene theoretische Eleganz interessiert. Darauf folgte Ralf Peines “Interfaces und Factories für Testdriven Development‎“. Ralf behandelte darin Herausforderungen bei großen Projekten – mit hohem Praxisbezug: Anhand eines Beispiels stellte er mehrere fortgeschrittene Techniken vor. Dabei fiel mir vor allem sein Ansatz auf, während eines Testlaufes die Tests in den Quellcode zu speisen, wodurch in einer fast natürlichen Umgebung getestet wird.

Abgesehen davon habe ich den kompletten Perl 6-Track mitgenommen – ich habe ja auch selbst einen Vortrag gehalten:

Dies nur ein kurzer Einblick – das komplette Vortragsprogramm kann man hier nachlesen. Nach dem letzten Vortrag gab es wie jedes Jahr die traditionelle O’Reilly-Tombola – dabei u.a. auch die Neuauflage des Kamelbuchs “Programming Perl”.

Dr.-Ing. Gerhard Hergenröder bei der souveränen und lockeren offiziellen ‎Begrüßung durch das RRZE‎ (Regionale Rechenzentrum Erlangen)

Besonderer Höhepunkt eines jeden Perl Workshops: der Social Event am Ende des zweiten Tages – unterstützt vom Hauptsponsor DATEV. Eine ähnliche Feierlichkeit in den Räumen der DATEV gab es vor vier Jahren schon einmal. Damit drückte der bedeutende Dienstleister seine Dankbarkeit für die freie Nutzung der Software aus, die bei ihm die Netzwerke am Laufen hält.

Wir danken Herbert für seine Eindrücke und sind schon jetzt auf die europäische Perl-Konferenz YAPC in Frankfurt gespannt – und hier im Blog verlosen wir jetzt ein Exemplar der neu aufgelegten Perl-Bibel. Kommentieren Sie dazu einfach diesen Beitrag oder mailen Sie uns an verlosung@oreilly.de. Einsendeschluss ist der 20. Juli 2012.

Published by Corina Pahrmann on 2012-07-13T13:29:13

Perl-Blog (GHIT): Perl-Zeitung Ausgabe 18

 

Es ist wieder soweit - die Perl-Zeitung Ausgabe 18 ist da! Näherers auf der Homepage http://perl-zeitung.at

Published by Gernot Havranek on 2012-07-05T09:58:00

kephra_lk (Herbert 'lichtkind' Breunung): Perl 6 Tablets

 

ich hab so paar Themen an denen ich jahrelang rumkaue denn Ausdauer ist gut. neben Kephra sind es die Perl 6 Tafeln die aus ein paar Wikiseiten der perl-community.de Wiki entstanden und jetzt vielleicht sogar zur offiziellen Perl 6 Nutzerdokumentation werden könnten. Genau, dieser Beitrag wird sowas wie die deutsche Übersetzung meines englischen Blogs für Leute welche die Meldung und manche meiner Twitternachrichten neugierig gemacht haben.

Die kurze Fassung war das die Tafeln nach http://tablets.perl6.org/ umgezogen sind. Die einprägsame URL und die schönere Gestaltung per CSS sind angenehmer für den Nutzer aber nicht der Hauptgrund warum ich das ganze für wichtig halte. Klar mache ich hier nichts weiter als meine Arbeit zu promoten aber es geht auch um was anderes.

1. Das Format

Die docs sind jetzt in markdown geschrieben was erstmal mir weit weniger schmerzen bereitet zu schreiben als die Socialtext Wikisyntax. Es fehlen einige funktionen wie unsichtbare Anker, aber man kann ja raw HTML einfügen. Per pandoc lassen sich auch sofort andere Formate erstelle wie PDF, HTML, POD oder epub.

2. Zusammenarbeit

Ursprünglich wählte ich ja wiki damit jeder mitmachen kann. Praktisch taten das sehr wenige. Aber seit die Tafeln im gleichen Archiv wie viele andere wichtige Perl 6-Sachen liegen machen weit mehr Leute mit. Und das obwohl das clonen und comitten in git ein wenig mehr Aufwand ist. Aber github macht es einfach (kleine Änderungen lassen sich sogar im editor-widget im browser tätigen) und commit bits werden freizügig erteilt. Jede Änderung schreibt der chatbot sofort in den im #perl6 channel per (was ich immer wollte). Rakudo, niecza, testsuite, specs, etc machen es genauso weil es Rückkopplung an die Alteingesessenen und lurker erleichtert und Fehler so schneller erkannt werden. Docs, Tests, Implementationen und Module können sich so gegenseitig zur besten Lösung hochschaukeln und Perl 6 wird dadurch wirklich zu einem MMORPG wie mäsak einst richtig schrieb.

3. Das Format

Es ist nicht nur die Syntax, sondern auch die Hypertext-Struktur der Doks die wir ja nicht so in der Kerndokumentation haben. Das ist auch gut so weil weiterhin viel im Terminal o.ä. gelesen wird. Aber weit wir den Mehrwert des Lesens und Lernens a la Wikipedia kennen, sollten wir es auch nutzen. Und ich versuch explizit es so zu schreiben das die Tafeln auch noch funktionieren wenn alle Links rausformatiert werden. Dennoch glaub ich das der nutzen ein wesentlich größer ist wenn es so abläuft: Wenn ein Neuling oder Aussenseiter eine Frage hat, welche die FAQ gut beantwortet nur er versteht darin ein Wort nicht dann kann er mit einem Klick in den Glossar gehen wo es erklärt wird und von dort gleich zu den Beispielen wo es angewandt wird oder er sieht mit welchen syntaktischen mitteln Perl das löst. Das hilft wesentlich Leute zu informieren was Perl ist und auch Vorurteile abzubauen.

Doch das in der Perl 5-Welt zu sehen ist noch reines Luftschloss, da nicht mal die ganzen Anhänge fertig sind geschweige die Tafeln selber. Anhang A, der Hauptindex aller Befehle ist schon umfangreich und gut gestaltet, in Anhang B findet sich vieles davon thematisch sortiert, Anhang D die Perldelta bietet einiges wesentliches, Anhang E - die Appetithappen auch. Derzeit bemühe ich mich vor allem G - den Glossar und F die FAQ zu vervollständigen. Mitarbeit ist natürlich ständig erwünscht und die deutsche Version musst wegen dieser Proportionen der Arbeit leider aufgegeben werden.

Published on 2012-05-17T15:00:44

Perl im O'Reilly-Blog: Social Coding mit GitHub

 

Was kommt dabei heraus, wenn man Open-Source-Ideen, moderne Versionierungskonzepte und die mächtige Kommunikationsinfrastruktur eines sozialen Netzwerks in einen Topf wirft und gut umrührt? Natürlich eine der spannendsten und populärsten Entwicklerplattformen der Welt. Gastautorin Ninja Lamberty über den Social-Coding-Dienst github, der kürzlich seinen vierten Geburtstag feierte und als Hoster von Projekten wie Joomla!, jQuery, Linux Mint, Perl, PHP oder Ruby kaum noch wegzudenken ist.

Ein großer Vorteil bei der Entwicklung von Open-Source-Software besteht darin, dass man eine große Anzahl von Entwicklern zur Verbesserung und Weiterentwicklung der Software anzapfen kann. Weil jeder den Quellcode der Projekte einsehen kann, werden nicht nur Bugs schneller gefunden, sondern auch schneller gefixt.  Neue Features können von jedem hinzugefügt werden, der sich beteiligen möchte. Projekte wie Linux, Apache oder MySQL,  die das Herzstück vieler Internetseiten bilden, sind Produkte der Open Source Community.

Das Gatekeeper-Problem

Das gemeinsame Entwickeln hat allerdings nicht nur Vorteile: Wenn jeder zu einem Projekt beitragen kann, wird die zielgerichtete Weiterführung und Qualitätskontrolle nicht gerade einfacher. Üblicherweise wird dieses Problem dadurch gelöst, dass einige sogenannte “Trusted Developers” bestimmt werden, die als Gatekeeper des Projekts fungieren und Schreibzugriff auf das Main Repository (die Hauptquelle) erhalten.
Das führt allerdings zu neuen Problemen: Wie leitet man seine Updates an die Gatekeeper weiter, und wie überzeugt man sie davon, dass dieser oder jener Patch unbedingt ins Main Repository muss? Überlegungen dieser Art können Entwickler und Gatekeeper viel Zeit kosten – und machen die Beteiligung an einem Projekt eher unattraktiv.
Eine Lösung des Problems lieferte kein geringerer als Linus Torvalds anno 2005 mit seinem Versionskontrollysystem Git: Fortan konnte jeder einfach eine Fork (Abzweigung) von einem Projekt erstellen und diese Änderung mit dem Rest der Welt teilen.

Social Coding mit GitHub

GitHub versucht nun seit Anfang 2008 Git für die Massen zugänglich zu machen, indem es eine zuverlässige und einfache Art bietet, Projekte zu hosten. GitHub kann am besten als großer Marktplatz für Open-Source-Projekte verstanden werden, auf dem jeder einfach und demokratisch etwas zu einem Projekt beitragen kann. Mit der Stärke von Git, diversen Features aus Sozialen Netzwerken sowie eigenen Innovationen hat GitHub den perfekten Ort für Social Coding geschaffen.
Benutzer können anderen Benutzern folgen und sehen, an welchen Projekten gearbeitet wird. Oder sie beobachten die Entwicklungen und Änderungen eines bestimmten Vorhabens. Etwas zu Projekten beizutragen, ist ganz einfach: Sozusagen per Knopfdruck kann man eine Fork erstellen und die Änderungen später per Pull Request an den Projekteigentümer zurücksenden. Der entscheided nun über deren Integration.

Die Pull-Anfrage ist wohl eine der größten Innovationen von GitHub. Sie zeigt alle Änderungen zwischen zwei Verzweigungen und ist eine große Hilfe, wenn man den Beitrag eines Benutzers zu einer bestimmten Fork mit dem Hauptzweig des Projekts vergleichen will. Durch die Pull Request und die Möglichkeit, einzelne Codezeilen mit Kommentaren zu versehen, hat man nun ein Tool, das sich sowohl zur Überprüfung von Code als auch zur Diskussion von Änderungsvorschläge perfekt eignet. Jeder kann Pull Requests kommentieren, was zu einer sehr effizienten Kommunikation ganz nah am Code führt.

Effiziente, kollaborative Softwareentwicklung unabhängig von Zeit und Ort. Hooray for GitHub! (Foto: nikinix / pixelio.de)

GitHub bei Springest

In unserer Firma haben wir zunächst ein anderes Tool für unsere Projekte benutzt, uns aber schließlich aufgrund der besseren Kooperationsmöglichkeiten für einen Wechsel zu GitHub entschieden. Heute wird für jeden Bugfix oder jedes neue Feature eine Verzweigung angelegt. Ein Entwickler erstellt eine Pull Request, wenn er meint, dass eine Verzweigung in den Hauptzweig zurückgeführt werden soll. Andere Entwickler können seinen Code nun a) überprüfen, b) kommentieren, c) entscheiden, ob die Verzweigung zurückgeführt wird oder auch d) zusätzlichen Code für eine weitere Verzweigung hinzufügen, um diese dann in den Hauptzweig zurückzuführen. Auf diese Weise ist kein zentraler Code Gatekeeper erforderlich, und die Entwicklung, das Testen und die Begutachtung sind über alle Entwickler verteilt – wodurch bei Springest sauberer Code schneller online geht. Eine Begrenzung der Anzahl offener Pull Request sorgt im Übrigen dafür, dass sich niemand verzettelt.

Durch GitHub kommen wir völlig ohne Meetings aus und sind sehr flexibel in Sachen Arbeitsort und Arbeitszeiten. Darüberhinaus können alle getroffenen Entscheidungen einfach gefunden werden, wenn wir uns in Zukunft einmal darauf beziehen müssen.

Springest-Repositories

Auch wenn der Springest Core geschützt und nicht Teil des Social-Coding-Experiments ist, stellen wir auf unserem GitHub-Profil verschiedene kleine Open-Source-Tools zur Verfügung, die von der Community genutzt, weiterverbreitet und weiterentwickelt werden können. Bisher sind unsere beiden Erweiterungen für CakePHP mit etwa 4-5 Beobachtern (Entwickler, die Änderungen verfolgen) und zwei Forks (Entwickler, die die Software nutzen und weiterentwickeln) die beliebtesten.

Wir möchten an dieser Stelle nochmals alle Entwickler ermutigen, uns bei der Weiterentwicklung dieser Tools zu unterstützen. Erstellen Sie einfach eine Fork und schicken Sie eine Pull Request, wenn Sie eine nützliche Ergänzung haben!

Ninja Lamberty studierte an der NHTV Breda und ist seit 2010 Business Developer bei Springest, einer unabhängigen Online-Plattform zum Thema Fort- und Weiterbildungen.  Lernwillige können dort Seminare und Kurse vergleichen, Bewertungen und Beschreibungen abrufen, kostenlos Infomaterial von Bildungsanbietern bestellen oder themenspezifische Fragen stellen. Das Unternehmen wurde 2008 in den Niederlanden gegründet und ist seit März 2012 auch auf dem deutschen Markt aktiv.

Published by Alexander Plaum on 2012-04-19T11:57:53

Perl-Uwe.de: 14. Deutscher Perlworkshop - Tage 2 und 3

 

Ich bin schon ueber eine Woche hinterher, hier der Vollstaendigkeit halber meine Zusammenfassung vom 2. und 3. Tag.

Das Highlight war Steffen Ullrich's Web 2.0 Security Workshop. Parallel dazu lief der Perl-6-Track. Der Tag endete mit den Lightningtalks. Hier hat mir besonders Lars Dieckow's "Lightningtalk-Marathon" gefallen. Statt nur einen Thema hatte er gleich ein halbes Dutzend (oder sogar mehr).

Am 3. Tag stand ein XML-Workshop mit Mark Overmeer an. Als Steffen-Ullrich-Fan habe ich mir aber Deep Inspection mit Perl angehoert. Ueberhaupt war es der Steffen-Tag: Gleich im Anschluss Steffen Winkler und nach der Mittagspause Stefan Hornburg mit Modern PerlCommerce.

Den Abschluss bildeten Lightningtalks und danach folgte das Highlight des Tages: Eine Fuehrung durch das Rechenzentrum und "IT-Museum". Besonders letzteres war sehr interessant. Bilder habe ich leider keine gemacht, vielleicht veroeffentlicht Roland seine ... :)

Alles in allem drei sehr schoene Tage. Verglichen mit dem 13. Workshop ein riesiger Schritt in die richtige Richtung, zurueck zur alten Staerke. Vielen Dank an die Organisatoren.

Published by Uwe Voelker on 2012-03-16T21:57:00

Perl-Uwe.de: 14. Deutscher Perlworkshop - Tag 1

 

Am ersten Tag berichtete Renee Baecker ueber Hudson/Jenkins. Auf Arbeit setzen wir Jenkins bereits ein (mit Chuck-Norris-Plugin) - interessant fuer mich war der Devel::Cover-Report. Das werde ich mal noch einbauen...

Nach dem Mittagessen sprach Lars Dieckow ueber "Threadsicherheit von setlocale in Webanwendungen". In kurz: Solange niemand gettext threadsicher macht, sollte man es nicht mit Threads verwenden.

Es folgte Peter Rabbitson mit "Benchmarking is hard" und seinem DBIx::Class-Vortrag. Aber nicht zwei Vortraege hintereinander, da war noch jemand dazwischen...

...mein Vortrag ueber Mojo::UserAgent.

Der m. M. beste Vortrag des Tages: Marc Lehmann ueber staticperl und Urlader. staticperl baut ein statisch gelinktes Perl. Urlader ist ein (perl-unabhaengiger) Ersatz fuer PAR::Packer. Fuer sein Spiel deliantra hat Marc einige Widrigkeiten von PAR erlebt und deshalb eine Alternative geschaffen. Er kommunizierte auch die Nachteile klar: hohe Einstiegshuerde, vieles muss per Hand gemacht werden. Trotzdem sehr interessant und einen Blick wert!

Morgen steht das Social Event und die ersten Lightning Talks an.

Published by Uwe Voelker on 2012-03-06T14:36:00

Perl-Uwe.de: 14. Deutscher Perl-Workshop in Erlangen

 

Bald ist es soweit: Von Montag bis Mittwoch findet in Erlangen der 14. Deutsche Perl-Workshop statt. In meinem Vortrag stelle ich Mojo::UserAgent vor. Folien folgen im Laufe der Woche.

Ausserdem zeige ich noch in einen Lightning-Talk wie man den Speicherverbrauch von Perl-Modulen misst.

Auf nach Erlangen!

Published by Uwe Voelker on 2012-03-03T21:10:00

Perl-Uwe.de: 2 Jahre Hamburg PM

 

Im Februar 2010 haben mein Kollege Johannes Plunien und ich die Hamburger Perlmongers wieder "belebt". Danach fanden (bis auf wenige Ausnahmen) jeden Monat Treffen statt. Als Gaeste konnten wir Stefan Hornburg und Renee Baecker begruessen.

Insgesamt habe ich vielleicht 10 Vortraege gehalten, meist die Premiere meiner YAPC- oder Perl-Workshop-Vortraege. Auch einige "Hamburger" haben interessante Projekte und Module vorgestellt. Trotz allem Einsatz bin ich mit der Beteiligung nicht zufrieden. Die Teilnehmerzahl schwankt zwischen 4 und 10 (mit dem Durchschnitt wohl so bei 5).

Deshalb gibt es jetzt etwas neues: Einen Mojolicious-Workshop!

Am 28.1.2012, 10 Uhr in dem Raeumen vom Attraktor e. V. wird Marcos Rebelo eine Einfuehrung in Mojolicios geben. Anschliessend wird in kleinen Gruppen an konkreten Projekten gearbeitet. Wer eigene Ideen hat, kann diese gern verfolgen. Mojolicious-Kenntnisse werden nicht vorausgesetzt, aber Perl-Kenntnisse sollten vorhanden sein. Die Einfuehrung ist in Englisch, es sind aber genuegend Muttersprachler dabei, die Fragen auch in Deutsch beantworten koennen.

Ich freue mich auf den 28.!

Published by Uwe Voelker on 2012-01-07T21:23:00

Perl-Uwe.de: 13. Deutscher Perlworkshop: Tag 3

 

Am letzten Tag standen folgende Vorträge auf dem Programm:
Perl in der Wolke (Denis Banovic)
Denis zeigte Stackato (welches auf VMware CloudFoundry basiert) am Beispiel einer Dancer-Anwendung.Link
Captive::Portal - eine hochskalierende Hotspotlösung (Karl Gaissmaier)
Interessanter Vortrag über "WLAN-Anmeldeseiten".

Tanz! (Stefan "racke" Hornburg)
Eine Einführung in Dancer (ein Webframework). Typisch sind die vielen exportierten Funktionen - man muß es halt mögen... Folien

Nach der Mittagspause standen auf dem Programm:
Perl vs. JavaScript - eine Differentialdiagnose (Rolf "LanX" Langsdorf)
Rolf möchte Perl 5 nach JavaScript konvertieren. Im Vortrag ging er auf die Unterschiede (und Gemeinsamkeiten) der beiden Sprachen ein.

Deutsch oder Englisch? Über die Sprache in Perl-Modulen (Richard "Horshack" Lippmann)
Ein sehr amüsanter Vortrag über das Dilemma verschiedensprachlicher Programmierer.

Bessere Dokumentation schreiben (Herbert "lichtkind" Breunung)
"Programmieren ist wie ein Sturz die Treppe runter..."

Qualitätsmanagement bei GeNUA (Steffen Ullrich)

  • kaum Unittests, vermehrt Livetests
  • Styleguide an Perl Best Practices orientiert
  • 1,4 Mio. Zeilen Perl-Code

Hg vs. Git (Herbert "lichtkind" Breunung)
Eine Einführung in Versionskontrolle und ein Vergleich von Mercurial und Git.

Perl für Vortragende (Renee Bäcker)
Renee verrät Damian Conway's Tricks für Live Demos.

Damit enden drei schöne Tage. Vielen Dank an die Organisatoren. Eine gute Generalprobe für die YAPC::EU 2012.

Published by Uwe Voelker on 2011-10-21T15:33:00

Perl im O'Reilly-Blog: Vorgestellt: Die Frankfurt Perl Mongers

 

Usergroups bieten den direkten, persönlichen Austausch über Techie-Themen, oftmals in netter abendlicher Runde bei Vereinen, Firmen oder auch in Kneipen. Hier können Informatiker Gleichgesinnte treffen, sich bei Vorträgen weiterbilden oder sich über den Arbeitsalltag austauschen. Nicht zuletzt sind bereits einige Aufträge oder Stellen über Usergroup-Kontakte vergeben worden.

O’Reilly unterstützt die Usergroups bereits seit vielen Jahren, und künftig stellen wir einige von ihnen an dieser Stelle vor. Zur diesjährigen FrOSCon habe ich dazu Renée Bäcker getroffen, der als leidenschaftlicher Perlianer nicht nur das $foo Magazin herausgibt und auf vielen (inter-)nationalen Perl-Konferenzen anzutreffen, sondern auch in der Frankfurter Perl Usergroup aktiv ist.

Renée, seit wann gibt es jetzt die Frankfurt.pm?

Wir treffen uns jetzt seit dem Jahr 2000, also schon einige Jahre.

Wieviele Mitglieder gibt es derzeit, und an wen richtet sich die Usergroup?

Zu unseren Treffen kommen durchschnittlich 15 Leute, auf der Mailingliste ist jedoch ein Vielfaches. Wir richten uns an alle, die das Interesse haben, etwas mit Perl zu machen. Dabei spielt keine Rolle, ob beruflich oder nur als “Hobby”. Jeder ist willkommen, der auch nur einen Funken Interesse am Programmieren mit Perl hat. Unser Einzugsgebiet ist das Rhein-Main-Gebiet, geografisch überschneiden wir uns leicht mit den Darmstadt Perl Mongers.

 Wie häufig trefft Ihr Euch, gibt es thematische Schwerpunkte?

Immer am ersten Dienstag eines Monats haben wir unser so genanntes Social Meeting. Einmal jährlich laden wir außerdem zum Frankfurter Perl Workshop, während dem wir in lockerer Atmosphäre Vorträge halten. Der Schwerpunkt ist natürlich Perl, dennoch widmen wir uns auch Randgebieten und auch schonmal anderen Programmiersprachen.

Ich habe Renée am Perl-Stand auf der FrOSCon in Sankt Augustin getroffen

Was ist in der nahen Zukunft geplant? Gibt es besondere Themenabende oder Vorträge?

Im Oktober richten wir den Deutschen Perl Workshop aus. Dazu erwarten wir 50 bis 60 Gäste, die an drei Tagen viele gute Perl-Vorträge anhören dürfen. Das Programm dazu wird in Kürze bekannt gegeben. Außerdem veranstalten wir auch wieder einen Frankfurter Perl Workshop, hier wird das Programm jedoch erst zur Veranstaltung in Barcamp-Manier zusammengestellt. Ein besonderes Highlight erwartet uns nächstes Jahr, wenn wir die YAPC Europe ausrichten.

An wen können sich Interessierte wenden, wo kann man Euch treffen?

Erste Anlaufstelle, auch für alle anderen Veranstaltungen, ist unsere Website. Dort gibt es auch eine Mailingsliste, an die man am besten auch Anfragen richtet – es findet sich immer jemand, der gern auf Fragen und Anregungen antwortet!

Renée, ich danke für das Gespräch!

 

Published by Corina Pahrmann on 2011-10-13T13:20:30

Perl im O'Reilly-Blog: Gut informiert in den Tag mit Perl

 

Ein O’Reilly-Post am Morgen lässt den Tag gut beginnen. Deshalb zeige ich hier eine kleine Perl-Anwendung für Windows, mit der ich den Titel und einen kleinen Auszug des aktuellsten Posts hier im oreillyblog angezeigt bekomme.

Die Anwendung besteht im Prinzip aus drei Teilen:

1. Der Teil für den Taskschedulereintrag
2. Der Teil, der den RSS-Feed ausliest und den Artikel auswählt
2. Der Teil für die Anzeige der Meldung

Was für die UNIX-Welt “cron” ist, ist der Taskscheduler bei Windows. Hiermit kann man Aufgaben zu bestimmten Zeiten ausführen. Das Skript soll sich selbst in den Scheduler eintragen, weil ich das nicht per Hand machen möchte. Auch dafür gibt es ein Perl-Modul: Win32::TaskScheduler . Also tragen wir das Programm ein:

# create a new task scheduler object
my $scheduler = Win32::TaskScheduler->New;

# define the trigger options
my %task_config = (
  BeginYear       => 2010,
  BeginMonth      => 8,
  BeginDay        => 1,
  EndYear         => 2201,
  EndMonth        => 8,
  EndDay          => 1,
  StartHour       => 9,
  StartMinute     => 1,
  MinutesDuration => 0,
  TriggerType     => $scheduler->TASK_TIME_TRIGGER_DAILY,
  Type => {
    DaysInterval => 1,
  },
);

# create new task item
my $item_ok = $scheduler->NewWorkItem( 'Test', \%task_config );
if ( $item_ok == 1 ) {

  # run this script with perl
  my $name_ok = $scheduler->SetApplicationName( 'perl' );
  $scheduler->SetParameters( "$0 -c run" );

  # run task as administrator
  my $result = $scheduler->SetAccountInformation(
    'admin_user',
    'admin_pass',
  );

  # save task
  if ( $has_set_name ) {
    my $return = $scheduler->Save;
    $scheduler->Activate( $task_name ) if $return;
  }
}

Man kann natürlich alle möglichen Kombinationen eintragen – alle zwei Wochen, nur an bestimmten Wochentagen, und alle x Minuten oder Stunden.

In diesem Fall möchte ich jeden Tag um 9.01 Uhr die Benachrichtigung erhalten. Die Aufgabe startet am 01. August 2010 und läuft bis ins Jahr 2201 😉

Jetzt ist das Programm eingetragen, fehlt natürlich noch, dass der RSS-Feed ausgelesen und der Artikel ausgewählt wird. Als Modul wird hier XML::RSS::Parser verwendet. Auch wenn es schon relativ alt ist, funktioniert es zuverlässig:

# get and parse RSS feed

my $feed_url   = 'http://community.oreilly.de/blog/feed/';
my $parser     = XML::RSS::Parser->new;
my $feed       = $parser->parse_uri( $feed_url );

# get title of the first item
my $title_node = $feed->query( '//item/title' );
my $title      = $title_node->text_content;

# get text of the first item
my $text_node  = $feed->query( '//item/description' );
my $content    = $text_node->text_content;

Für die Anzeige des Artikels wird eine Desktop-Benachrichtigung verwendet. Als Benachrichtigungsdienst benutze ich Snarl . Das muss beim Start des Perl-Programms schon gestartet sein und es muss auf ankommende Nachrichten lauschen. Diese Einstellung ist sehr schnell gemacht. Für die Kommunikation mit Snarl verwende ich das Modul Net::Snarl.

# show notification
my $snarl      = Net::Snarl->register( 'Startup feed' );
$snarl->add_class( 'feed' );
$snarl->notify( 'feed', $title, $content, 15 );

Beim Registrieren kann man auch einen Host und Port angeben. So könnte man auch einen Kollegen mit dem Blogpost erfreuen. Die Benachrichtigung bleibt in diesem Beispiel 15 Sekunden sichtbar.

Wie man sieht gibt es für alles Mögliche CPAN-Bibliotheken und man muss sie nur noch zusammenfügen. Einer der Gründe, warum mir Perl so gut gefällt.

Das komplette Skript ist unter http://downloads.perl-magazin.de/oreilly_blog.txt zu finden. Natürlich müssen die oben genannten Module noch installiert werden. Aber das ist mit “cpanminus” ganz einfach .

Über den Autor: Renée Bäcker ist seit 2002 begeisterter Perl-Programmierer und seit 2003 selbständig. Auf der Suche nach einem Perl-Magazin ist er nicht fündig geworden und hat selbst das Perl-Magazin “$foo” gestartet. In der Perl-Community ist Renée recht aktiv – als Moderator bei Perl-Community.de, Organisator des kleinen Frankfurt Perl-Community Workshop und Mitglied im Events-Team der Perl Foundation.

Published by Nathalie Pelz on 2010-10-06T12:49:09

Perl-Blog (Alvar Freude): Asynchrone Datenbankzugriffe im Hintergrund mit PostgreSQL und DBD::Pg

 

Mit PostgreSQL und DBI sowie DBD::Pg ist es möglich, SQL-Queries im Hintergrund asynchron laufen zu lassen – und währenddessen in Perl weitere Berechnungen anzustellen, anstatt nur auf die Daten zu warten. Insbesondere bei Multi-Core-CPUs oder einer Trennung von Datenbankserver und Anwendung ist dies eine sehr praktische Sache.

Und einfach ist es obendrein!

Bei dem jeweiligen Aufruf von $dbh->do, $dbh->prepare oder $dbh->prepare_cached muss nur das Attribut PG_ASYNC hinzugefügt werden. Besonders praktisch ist das bei INSERT und UPDATE Queries, wenn also keine Rückgabewerte ausgewertet werden müssen, da kann man im neuen Query einfach noch auf den Rest des alten warten:

use DBD::Pg qw(:async);    # Async-Konstanten einbinden

# ... und später Query vorbereiten:

my $sth = $self->dbh->prepare( "INSERT INTO table ...", 
          { pg_async => PG_ASYNC + PG_OLDQUERY_WAIT } );

# ... und dann zum Beispiel in einer Schleife aufrufen
while ( my @parameter = calculate_next_insert() )
    {
    $sth->execute( @parameter );
    }

# ...

Wenn man also zwischen mehreren INSERT-Statements noch Eingabedaten berechnen muss, kann dies Zeit sparen. Vor weiteren Queries oder dem Commit sollte man dann noch mit $dbh->pg_result() auf das Ergebnis des letzten asynchronen Queries warten.

Mehr Beispiele und die Darstellung aller Features gibt es in der DBD::Pg Dokumentation.

 

Published by Alvar Freude on 2010-08-12T21:23:23

Perl-Blog (Alvar Freude): Call for Papers: 12. Deutscher Perl-Workshop 2010: „Modern Perl“

 

Vom 7. bis 9. Juni 2010 findet der 12. Deutsche Perl-Workshop in Schorndorf bei Stuttgart statt. Zielgruppe des Workshops sind alle Perl-Anwender und die, die es werden wollen.

Der Workshop steht und fällt mit den Vorträgen, die 5, 20 oder 40 Minuten lang sein können. 

Alle Themen, die mit Perl oder dem Perl-Umfeld, insbesondere dem Thema „Modern Perl“, zu tun haben, können als Vorträge für den Workshop interessant sein. Die Einreichungsfrist für Vorschläge wurde auf Freitag, den 05. März 2010 verlängert. 

  http://conferences.yapceurope.org/gpw2010

Der Deutsche Perl-Workshop ist die jährliche Konferenz meist deutschsprachiger Anwender und Entwickler der dynamischen Open-Source-Programmiersprache Perl. Der Schwerpunkt des von der Deutscher Perl-Workshop GbR und der Wirtschaftsförderung Region Stuttgart (WRS) verstaltelten Workshops ist „Modern Perl“. Dabei spielen zum Beispiel die Module Catalyst, Moose und DBIx::Class eine wichtige Rolle. Catalyst als sehr flexibles Webframework, Moose mit einer postmodernen Objektorientierung für Perl und DBIx::Class als Schicht zwischen Anwendung und Datenbanken.

Published by Alvar Freude on 2010-02-17T20:42:23

Perl-Blog (Alvar Freude): Patch: Proxy für das MT-Twitter-Plugin „HashTag“

 

So wie schon das Akismet-Plugin hat auch das Twitter-Plugin HashTag für Movable Type ein Proxy-Problem und ignoriert die MT-Systemeinstellung für Proxies. Auf diesem hier Server hat das Jail (das ist quasi eine virtuelle Maschine) aus Sicherheitsgründen nicht wirklich Internet-Zugriff, daher kommen auch keine Tweets nach draußen.

Also muss mal wieder ein Patch her, dann klappts auch mit dem Proxy; der Patch muss auf plugins/HashTag/lib/HashTag/Plugin.pm angewendet werden und passt zur aktuellen Beta-Version 2.5:

--- original_Plugin.nopm.pm	2009-07-17 23:45:12.000000000 +0200
+++ Plugin.pm	2009-11-27 19:38:58.000000000 +0100
@@ -137,6 +137,10 @@
     require LWP::UserAgent;
 
     my $ua = LWP::UserAgent->new;
+    # set HTTP Proxy when set in config file (AF)
+    if (my $proxy = MT::ConfigMgr->instance->HTTPProxy) {
+        $ua->proxy('http', $proxy);
+    }
 
     $ua->credentials('twitter.com:80','Twitter API',$cfg->{tw_username} => $cfg->{tw_password},);
Mit dem Patch  ließt das Plugin aus der passenden Konfigurations-Direktive HTTPProxyin mt-config.cgi die Angaben für den Proxy und setzt diese.

Published by Alvar Freude on 2009-11-27T18:44:56

Perl-Blog (Alvar Freude): Perl 5.10.1 ist da

 

Die Version 10.1 von Perl 5 ist da!

Eine Weile hat es gedauert, aber nun ist Perl 5.10.1 da, wie Renée berichtet

Sehr interessant scheint mir die dtrace Unterstützung, da gibt es sicherlich einiges zu experimentieren. Einige Änderungen am Smart-Match sind nicht rückwärtskompatibel, ungewöhnlich für eine kleine Versionsänderung. Außerdem gibt es einige Performance-Optimierungen, Bugfixes sowie die üblichen Aktualisierungen der mitgelieferten Module. Siehe auch: alle Änderungen.

Ach, und wenn ich schon dabei bin: Perl 6 kommt im nächsten Frühjahr. Perl 6 ist nicht der Nachfolger von Perl 5.10 (das wird Perl 5.12), sondern eine neue Sprache, erscheint im Frühjahr 2010

Published by Alvar Freude on 2009-08-23T17:03:06

Perl-Blog (Alvar Freude): Eclipse, Probleme mit use utf8 und Abhilfe

 

Mit use utf8; lässt sich im Perl-Code einschalten, dass alle im Source definierten Strings usw. als UTF-8 interpretiert werden. Dazu muss der Source natürlich auch in UTF-8 sein.

Mit Eclipse bzw. dem EPIC Perl-Plugin und dessen Syntax-Check gibt es da aber zumindest unter OS X und Windows ein Problem, es wird zum Beispiel die folgende Fehlermeldung angezeigt:

   Malformed UTF-8 character (unexpected non-continuation byte 0x7a, 
   immediately after start byte 0xc4) at 210.text-converter.t line 23.

Das liegt daran, dass Eclipse auch korrekt als UTF-8 gespeicherten Source im Standard-Encoding an Perl zum Syntaxcheck weiterreicht: das korrekte UTF-8 wird also in ein anderes Encoding gewandelt. Und das ist unter OS X das MacRoman aus alten Zeiten vor OS X – und das ist natürlich kein valides UTF-8!

Abhilfe

Korrekterweise sollte das Perl-Plugin die Datei natürlich im für die Datei eingestellten Zeichensatz weiterreichen. Also einfach gar nicht konvertieren. Bis das passiert kann man sich aber auch anders behelfen:

Man füge die folgende Zeile in der eclipse.ini ein:

  -Dfile.encoding=UTF-8

Die eclipse.ini findet man unter OS X unter Eclipse.app/Contents/MacOS bzw. im Application Bundle von Eclipse (im Finder Rechtsklick, „Paketinhalt zeigen“) im gleichnamigen Ordner via Terminal.

Unter Windows ist die Datei vermutlich an einem vergleichbaren Ort.

Alternativ kann man Eclipse den Parameter beim Start via Kommandozeile auch manuell mitgeben.

 

Als Nebenwirkung werden nun zum Syntaxcheck auch Dateien, die in Latin-1 codiert sind, für den Syntaxcheck nach UTF-8 gewandelt.

 

Published by Alvar Freude on 2009-03-23T12:02:47