Donnerstag, 30. August 2007

YAPC EU 2007: Noch mehr Fotos

Noch mehr Fotos, auch von vorhergehenden YAPCs.

Siehe dazu auch ein früheres Posting: YAPC EU 2007: Fotos bei Flickr

Ejoy!

YAPC EU 2007: Videos

Videos von der YAPC EU 2007



Enjoy!

Mittwoch, 29. August 2007

YAPC EU 2007: Veranstaltungen Mittwoch 29. August 2007

Die nachfolgenden Veranstaltungen habe ich heute besucht; ausgearbeitete Postings zu einzelnen Vorträgen werde ich nach der YAPC hier bereitstellen.



Jetzt folgt noch das Abendprogramm: AttendeesDinner.

YAPC EU 2007: Fotos bei Flickr

Die ersten Fotos der YAPC EU sind online bei Flickr. Alle Fotos sollten mit "'yapceu07" getaggt sein.

Viel Spaß.

Top 10 Perl Blogs

Kirrily Robert hat eine Liste der Top 10 Perl Blogs erstellt.

Dienstag, 28. August 2007

YAPC EU 2007: Veranstaltungen Dienstag 28. August 2007

Die Vorträge sind (wie eigentlich immer bei einer Perlkonferenz) sehr gut, lauter nette Leute, WLAN läuft super, Versorgung in den Kaffepausen ist spitze, Mensa-Essen ist gut, Wetter ist klasse. Was will man mehr?

Viele sind zum ersten Mal bei einer YAPC: Einen besseren Start kann man sich eigentlich nicht wünschen.

Wer dieses Jahr nicht dabei war: Die nächste YAPC::Europe wird Ende August 2008 in Kopenhagen, Dänemark stattfinden. Veranstalter sind die Perl-Mongers Copenhagen. Kann man sich ja schon mal vormerken.

Die nachfolgenden Veranstaltungen habe ich heute besucht; ausgearbeitete Postings zu einzelnen Vorträgen werde ich nach der YAPC hier bereitstellen.


Jetzt folgt noch das Abendprogramm: Bar-Crawl Donaukanal, Prater.

YAPC EU 2007: Anreise

Anreise per Zug am Montag 27. August 2007. Am Bahnhof habe ich gleich Renée Bäcker am Stadtplan getroffen.

Nach einem kurzen Rundgang durch das schöne Wien, bin ich abends noch kurz ins "Centimeter III" zwecks "Pre-Conference Meetup (and early registration)".

Bei schönem Wetter waren deutlich mehr als die angekündigten fünfzig Perler anwesend, was u.a dazu führte, das die Bedienung des "Centimeter III" beim Zapfen nicht mehr nachkam. Die Mädels hinter dem Tresen haben echt hart arbeiten müssen.

Von Frankfurt.pm waren Renée Bäcker, Max Maischein und Yves Orton anwesend.

Ich habe an dem Abend einige alte Bekannte getroffen und auch gleich ein paar neue Menschen kennengelernt.

Das Motto der diesjährigen YAPC "Social Perl" trifft wohl zu.

Sonntag, 26. August 2007

Perl 5.10 Advanced Regular Expression slides

Yves Orton (demerphq) hält auf der YAPC::Europe 2007 seinen Vortrag Perl 5.10 Regular Expressions.

Zur Vor- und Nachbereitung oder für Daheimgebliebene stehen die exzellenten Perl 5.10 Advanced Regular Expression slides online zur Verfügung.

Siehe dazu auch: Journal of brian_d_foy: Perl 5.10 Advanced Regular Expression slides

Develop a voice-enabled RSS reader

Martin Brown hat auf developerWorks (IBM) eine Artikelreihe über VoiceXML (Voice Extended Markup Language) gestartet (21. August 2007):

Voice enabling XML, Part 1: Develop a voice-enabled RSS reader


Im ersten Teil wird u.a. gezeigt, wie ein RSS-Feed mittels XML::FeedPP von Yusuke Kawasaki in VoiceXML umgewandelt wird.

Freitag, 24. August 2007

Simon Cozens (Beginning Perl) überführt seine Bücher in ein Wiki

Simon Cozens hat fast sein gesamtes Werk in ein Wiki überführt.

Dazu zählt sein sein (etwas älteres) Buch Beginning Perl, das man jetzt auch im Beginning Perl (Wiki) findet.

Die zweite Auflage von Beginning Perl (ISBN: 159059391X) von James Lee ist noch bei Apress lieferbar. James Lee ist auch der Autor von Beginning Perl 6: From Novice to Professional (ISBN: 1590598334), das im September 2007 erscheinen soll.

Weiterhin befindet sich das Kursmaterial eines drei-stündigen Trainings über Perl 5 Internals, das ist eher der Garten für die Harten, und ein angefangenes (Work In Progress) Buch über Maypole im Wiki.

via:

Mittwoch, 22. August 2007

PerlBuzz is go for launch!

Über PerlBuzz hatte ich schon einmal kurz berichtet.

Die Seite ist jetzt offiziell eröffnet.

Kirrily Robert und Andy Lester wollen ein Perl-Blog betreiben, das zeigt, wie cool Perl ist. Ich glaube, das es den beiden gelingt. Viel Erfolg den beiden.

Also, einfach mal anschauen, es lohnt sich.

Dienstag, 21. August 2007

Call for Papers: Deutscher Perl-Workshop 2008

Vom 13.02.2008 bis 15.02.2008 (Mittwoch bis Freitag) findet der 10. Deutsche Perl-Workshop am Regionalen Rechenzentrum der Uni Erlangen statt. Zielgruppe des Workshops sind alle ernsthaften Perl-Anwender und die, die es werden wollen.

Der Call for Papers läuft noch bis zum 29.10.2007.

Der (unser) Workshop steht und fällt mit den Vorträgen. Üblicherweise sind Vorträge 5, 20 oder 40 Minuten lang. Alle Themen, die in irgendeiner Weise mit Perl oder dem Perl-Umfeld zu tun haben, können als Vorträge für den Workshop interessant sein.

Lightning Talks?

Wer noch nie einen Vortrag gehalten hat, kann mit Lightning Talks, also ganz kurzen Vorträgen, so ca. 5 Minuten, anfangen. Sie gelten als "Ein guter Einstieg in das Leben eines Vortragenden".


I want to see people using Perl to glue things together
creatively, not just technically but also socially.
--Larry Wall in <199702111730.JAA28598@wall.org>

Mittwoch, 15. August 2007

xdump - dump files in hexadecimal format

xdump ist ein asbach-uraltes Skript aus dem "Programming Perl (Nutshell Handbook)" von 1996 (ISBN:1565921496).

Ich verwende es immer noch sehr gern als od-Ersatz oder wenn auf Kundenservern kein passendes Tool installiert ist.


Source:


#/usr/bin/perl

# Usage: xdump [file]

# Use the file they specified, if specified

open(STDIN,$ARGV[0]) || die "Can't open $ARGV[0]: $!\n"
if $ARGV[0];
# Do it optimally as long as we can read 16 bytes at a time.
while (($len = read(STDIN,$data,16)) == 16) {
@array = unpack('N4', $data);
$data =~ tr/\0-\37\177-\377/./;
printf "%8.8lx %8.8lx %8.8lx %8.8lx %8.8lx %s\n",
$offset, @array, $data;
$offset += 16;
}

# Now finish up the end a byte at a time.

if ($len) {
@array = unpack('C*', $data);
$data =~ y/\0-\37\177-\377/./;
for (@array) {
$_ = sprintf('%2.2x',$_);
}
push(@array, ' ') while $len++ < 16;
$data =~ s/[^ -~]/./g;
printf "%8.8lx ", $offset;
printf "%s%s%s%s %s%s%s%s %s%s%s%s %s%s%s%s %s\n",
@array, $data;
}

Auf sich selbst angewandt, erzeugt es folgende Ausgabe:

00000000 232f7573 722f6269 6e2f7065 726c0a0a #/usr/bin/perl..
00000010 23205573 6167653a 20786475 6d70205b # Usage: xdump [
00000020 66696c65 5d0a0a23 20557365 20746865 file]..# Use the
00000030 2066696c 65207468 65792073 70656369 file they speci
00000040 66696564 2c206966 20737065 63696669 fied, if specifi
00000050 65640a0a 6f70656e 28535444 494e2c24 ed..open(STDIN,$
00000060 41524756 5b305d29 207c7c20 64696520 ARGV[0]) || die
00000070 2243616e 2774206f 70656e20 24415247 "Can't open $ARG
00000080 565b305d 3a202421 5c6e220a 20202020 V[0]: $!\n".
00000090 69662024 41524756 5b305d3b 0a0a2320 if $ARGV[0];..#
000000a0 446f2069 74206f70 74696d61 6c6c7920 Do it optimally
000000b0 6173206c 6f6e6720 61732077 65206361 as long as we ca
000000c0 6e207265 61642031 36206279 74657320 n read 16 bytes
000000d0 61742061 2074696d 652e0a0a 7768696c at a time...whil
000000e0 65202828 246c656e 203d2072 65616428 e (($len = read(
000000f0 53544449 4e2c2464 6174612c 31362929 STDIN,$data,16))
00000100 203d3d20 31362920 7b0a2020 20204061 == 16) {. @a
00000110 72726179 203d2075 6e706163 6b28274e rray = unpack('N
00000120 34272c20 24646174 61293b0a 20202020 4', $data);.
00000130 24646174 61203d7e 2074722f 5c302d5c $data =~ tr/\0-\
00000140 33375c31 37372d5c 3337372f 2e2f3b0a 37\177-\377/./;.
00000150 20202020 7072696e 74662022 25382e38 printf "%8.8
00000160 6c782020 20202538 2e386c78 2025382e lx %8.8lx %8.
00000170 386c7820 25382e38 6c782025 382e386c 8lx %8.8lx %8.8l
00000180 78202020 2025735c 6e222c0a 09246f66 x %s\n",..$of
00000190 66736574 2c204061 72726179 2c202464 fset, @array, $d
000001a0 6174613b 0a202020 20246f66 66736574 ata;. $offset
000001b0 202b3d20 31363b0a 7d0a0a23 204e6f77 += 16;.}..# Now
000001c0 2066696e 69736820 75702074 68652065 finish up the e
000001d0 6e642061 20627974 65206174 20612074 nd a byte at a t
000001e0 696d652e 0a0a6966 2028246c 656e2920 ime...if ($len)
000001f0 7b0a2020 20204061 72726179 203d2075 {. @array = u
00000200 6e706163 6b282743 2a272c20 24646174 npack('C*', $dat
00000210 61293b0a 20202020 24646174 61203d7e a);. $data =~
00000220 20792f5c 302d5c33 375c3137 372d5c33 y/\0-\37\177-\3
00000230 37372f2e 2f3b0a20 20202066 6f722028 77/./;. for (
00000240 40617272 61792920 7b0a0924 5f203d20 @array) {..$_ =
00000250 73707269 6e746628 2725322e 3278272c sprintf('%2.2x',
00000260 245f293b 0a202020 207d0a20 20202070 $_);. }. p
00000270 75736828 40617272 61792c20 27202027 ush(@array, ' '
00000280 29207768 696c6520 246c656e 2b2b203c ) while $len++ <
00000290 2031363b 0a202020 20246461 7461203d 16;. $data =
000002a0 7e20732f 5b5e202d 7e5d2f2e 2f673b0a ~ s/[^ -~]/./g;.
000002b0 20202020 7072696e 74662022 25382e38 printf "%8.8
000002c0 6c782020 2020222c 20246f66 66736574 lx ", $offset
000002d0 3b0a2020 20207072 696e7466 20222573 ;. printf "%s
000002e0 25732573 25732025 73257325 73257320 %s%s%s %s%s%s%s
000002f0 25732573 25732573 20257325 73257325 %s%s%s%s %s%s%s%
00000300 73202020 2025735c 6e222c0a 09406172 s %s\n",..@ar
00000310 7261792c 20246461 74613b0a 7d0a ray, $data;.}.






And don't tell me there isn't one bit of
difference between null and space, because
that's exactly how much difference there is. :-)
-- Larry Wall in <10209@jpl-devvax.JPL.NASA.GOV>

Perl Buzz

Andy Lester hat eine neue Website Perl Buzz: The newest and best of the Perl World eröffnet. Das ist ein durchaus hoher Anspruch.

Auf den ersten Blick macht Perl Buzz gar keinen schlechten Eindruck. Ich werde dort öfter mal vorbeischauen.

Via: jrockway: perl buzz


I don't know if it's what you want, but it's what you get. :-)
--Larry Wall in <10502@jpl-devvax.JPL.NASA.GOV>

Dienstag, 14. August 2007

Recommended Online Perl Tutorials

Schlechte Perl Tutorien gibt es bekanntlich in Hülle und Fülle. Chromatic weist in Correcting Perl Tutorials Found on the Web (13.08.2007) auf ein (besonders) schlechtes Perl-Tutorial hin und schlägt vor, dem Autor bei der Überarbeitung zu helfen.

Ein anderen Weg zeigt das Perl5 Wiki auf; es werden einfach nur Tutorien ab einer bestimmten Qualität aufgenommen.



via: use.perl.org: Journal of davebaker vom 13.08.2007.


Wenn wir schon beim Perl5 Wiki sind:

Renée Bäcker hat die deutschen Perl-Blogs ins Perl5 Wiki eingetragen.
Danke.


Q. Why is this so clumsy?
A. The trick is to use Perl's strengths rather than its weaknesses.
--Larry Wall in <8225@jpl-devvax.JPL.NASA.GOV>

Freitag, 10. August 2007

Perl Gurus zum Angucken

Manchmal kann man es sich schwer vorstellen, aber die großartige Programmiersprache Perl wird von normalen, sterblichen Menschen gemacht.

Fotos der Perl Gurus bei Flickr von Julian Cash.

Die Bilder sind nur ein kleiner Teil des Perl-Pools bei Flickr.

Viel Spaß.

Jonglieren für Geeks

Luke Closs hat auf der YAPC::NA am 26. Juni 2007 einen Vortrag zum Thema "Juggling for Geeks" gehalten.

Der Talk, steht auch als Video (22:31) zur Verfügung. Sehenswert, schon allein wegen der vielen Jongliereinlagen.

Luke hat auch gleich ein passendes Modul Acme::Siteswap zum CPAN hochgeladen.

Mit Siteswap bezeichnet man eine Art der Notation von Jongliermustern (ähnlich den Noten beim Spielen eines Musikinstrumentes) mithilfe von Zahlenfolgen, z.B. 53142. (Wenn man dieses Muster jongliert, sieht das ungefähr so aus: Siteswap #53142 (Applet).)

Siehe dazu auch:



Nur ein kleiner Bruchteil aller theoretisch möglichen Zahlenkombinationen ergibt einen gültigen, d.h. jonglierbaren Siteswap. Mittels Acme::Siteswap kann man ausrechnen, ob eine bestimmte Zahlenkombination, lies Jongliermuster, überhaupt jonglierbar ist.


Im Rückblick auf YAPC::NA und seinen Vortrag berichtet Luke, das er den ein oder anderen Teilnehmer durch seinen Vortrag angeregt habe, Jonglieren zu lernen.

Als langjähriger Hobby-Jongleur kann ich jedem, also nicht nur den Geeks, empfehlen zu jonglieren:


  • Jonglieren lehrt zu lernen

  • Jonglieren lehrt, Kompliziertes zu vereinfachen

  • Jonglieren erweitert das Gehirn

  • Jonglieren bietet einen gesunden Ausgleich zur körperlichen Monotonie bei manueller Arbeit, z.B. Arbeit am Computer

  • Jonglieren fördert Konzentration und Entspannung

  • Jonglieren baut negativen Stress ab

  • Jonglieren ist ein wenig Exzentrik im Alltag

  • Jonglieren macht Spass

Mittwoch, 8. August 2007

Lightweight Database Strategies for Perl

Mark Dominus hat am 28.07.2007 seinen dreistündigen Perl-Kurs Lightweight Database Strategies for Perl unter der Creative Commons Attribution-Noncommercial-Share Alike 3.0 License freigegeben.


Inhaltsübersicht:



  • Text Files

    • Rotating log file; deleting a user
    • Copy the File


      • -i.bak
      • Using -i inside a program
      • Problems with -i
      • Atomicity issues

    • Essential problem with files; fundamental operations; seeking
    • Sorted files
    • In-place modification of records


      • Overwriting records
      • Bytes vs. positions
      • Gappy Files
      • Fixed-length records
      • Numeric indices
      • Case study: lastlog

    • Indexing


      • Void fields
      • Generic text indices
      • Packed offsets



  • Tie::File

    • Tie::File Examples
    • delete_user revisited
    • uppercase_username revisited
    • Rotating log file revisited
    • Most important thing to know about Tie::File
    • Indexing with Tie::File
    • Tie::File Internals


      • Caching
      • Record modification
      • Immediate vs. Deferred Writing
      • Autodeferring

    • Miscellaneous Features

  • DBM


    • Common DBM Implementations
    • What DBM Does
    • Small DBMs: ODBM, NDBM, and SDBM
    • GDBM
    • DB_File


      • Indexing revisited
      • Ordered hashes
      • Partial matching
      • Sequential access
      • Multiple values
      • Filters
      • BerkeleyDB







Lesenswert, nicht nur für Einsteiger.

Anleitung: So stellt man (Perl-)Programmierer ein

Frank Wiles gibt in seinem Blog eine sehr gute Anleitung zum Thema Einstellung von Programmierern: A Guide to Hiring Programmers: The High Cost of Low Quality.

Ein paar Hinweise findet man auch bei Renée Bäcker in seinem Post Keine Perl-Programmierer gefunden? Vielleicht selbst daran schuld....

Und so sollte man es nicht machen: How (not) to write a Perl job ad.

Samstag, 4. August 2007

Sichtbarkeit von Perl-Blogs nahezu bei Null

Wenn man bei Technorati oder anderen Blog-Suchmaschinen nach Perl sucht, findet man eigentlich sehr sehr wenig.

Es gibt wahrscheinlich hunderte von Perl-Blogs. Dummerweise sind diese kaum auffindbar.

Ein Ursache für dieses Problem ist wohl, daß Perl-Blogs nicht sorgfältig oder gar nicht in Blog-Suchmaschinen bzw. bei Feed-Aggregatoren eingetragen sind.

Zwecks Erhöhung der Sichtbarkeit der Blogs gibt es jetzt ein Verzeichnis der Perl Blogs im Perl5 Wiki

Wer ein Perl-Blog betreibt, kann sich gerne selbst in das Verzeichnis eintragen.

Wer sein Perl-Blog bei Technorati listen möchte, kann sich dieser sehr guten und ausführlichen Anleitung zum Thema Technorati and Perl bedienen.




Via:

London.pm Perl Teach In - Videomitschnitte online

In einem früheren Posting habe ich schon einmal auf das Perl Teach-In von Dave Cross hingewiesen.

Die Slides zeigen Programmierern, die längere Zeit nicht mehr mit Perl programmiert haben oder eine andere Sprache verwenden, was Perl aktuell kann und wie man es heute anwendet. Absolut lesenswert.

Es gibt inzwischen auch Videomitschnitte der ersten drei Sessions:



Einfach mal anschauen, es lohnt sich.

Freitag, 3. August 2007

OSCON 2007 Perl Lightning Talks on YouTube

Michael Schilli berichtet in diesem Posting auf use.perl.org, das die Perl Lightning Talks der OSCON 2007 als Videos bei YouTube zu sehen sind.

OSCON 2007 Perl Lightning Talks on YouTube



Vielen Dank an Michael Schilli.

Downloading YouTube videos with a Perl one-liner

Downloading YouTube videos with a Perl one-liner ist ein cooles Tutorial von Peteris Krumin.

Schritt für Schritt wird hier gezeigt, wie man den HTML-Code der Website analysiert, die passenden Perl-Module vom CPAN installiert und das Ganze dann in einen einen Ein-Zeiler verwandelt.

Donnerstag, 2. August 2007

heise online sponsert Perl-Konferenz

Pressemitteilung heise-medien vom 01.08.2007:

heise online sponsert Perl-Konferenz (YAPC Europe in Wien)

Aus der Pressemitteilung:
"Das renommierte Internet-Angebot heise online sponsert die
YAPC Europe und unterstreicht damit die Bedeutung der freien Skriptsprache. Auch die eigene Web-Entwicklung von heise online setzt auf die betriebssystemunabhängige Programmiersprache und verwendet für den Betrieb und den Ausbau der umfangreichen News- und Service-Angebote überwiegend Perl."

LDAPcon und ECAI6 am 6. und 7. September 2007

Programm und Anmeldung für die International Conference on LDAP und die European Conference on Applied IPv6 sind seit 25.07.2007 online.

Beide Veranstaltungen finden parallel am 6. und 7. September im Holiday Inn Köln - Am Stadtwald statt.

Neben Vorträgen zu den neusten technischen Entwicklungen bilden insbesondere Berichte über die Einführung und den praktischen Einsatz dieser Techniken die Programm-Schwerpunkte - dabei werden sowohl Open Source als auch proprietäre Produkte vorgestellt.

So widmet sich der erste Konferenztag der ECAI6 einer Einführung in IPv6 und gibt mit Referenten von RIPE und Cisco Einblicke in nötige Planungsschritte zur Integration. Anschließend werden Deployment-Erfahrungen in lokalen Umgebungen (u.a. TU Kaiserslautern, IKS GmbH) vorgestellt, welche am zweiten Tag durch Provider Rollouts (u.a. Cable&Wireless, DFN) ergänzt werden. Mobilität und VoIP sowie allgemeine Sicherheitsaspekte mit Blick auf den Status von Firewalls beenden das internationale Vortragsprogramm.

Auf der LDAPcon 2007 versammeln sich internationale Experten, um über die neuesten Trends zu LDAP zu diskutieren. Die Vorträge decken eine große Themenvielfalt ab: Praxisorientierte Überlegungen zu Einsatzszenarien und Daten-Schema, Probleme der Hochverfügbarkeit und Skalierbarkeit, Programmierwerkzeuge und -Methoden, aktuelle Rntwicklungen in der Standardisierung und XML-Einbindung, Neuigkeiten über Produkte und Open-Source-Projekte. Zu den Highlights zählen der Vortrag über die aktuellsten LDAP-Entwicklungen bei der IETF von Kurt Zeilenga, der die LDAP-Standardisierung maßgeblich vorangetrieben hat, der Status-Bericht von OpenLDAP 2.4-Hauptentwickler Howard Chu sowie Steven Leggs Beitrag über seine kürzlich standardisierten Konzepte zur LDAP-XML-Integration.

Bei Anmeldung bis zum 10. August wird ein Frühbucherrabatt in Höhe von 20% gewährt - bis zu diesem Zeitpunkt ist auch die direkte Buchung eines Zimmers im Konferenzhotel über das Online-Formular möglich.

Die Konferenzsprache ist jeweils Englisch.

Übrigens: Der Besuch dieser Konferenzen lässt sich prima mit einer (kostenlosen) Teilnahme am 5th German Anti-Spam Summit des eco e.V. verbinden, der am Tag vorher ebenfalls in Köln stattfindet.