BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//Act//Data::ICal 0.22//EN
X-WR-CALNAME:NPW 2007
X-WR-TIMEZONE:Europe/Copenhagen
BEGIN:VTIMEZONE
TZID:Europe/Copenhagen
X-LIC-LOCATION:Europe/Copenhagen
BEGIN:DAYLIGHT
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DESCRIPTION:Welcome\, and practical information
DTEND;TZID=Europe/Copenhagen:20070428T095500
DTSTART;TZID=Europe/Copenhagen:20070428T094500
LOCATION:M1
SUMMARY:Welcome\, and practical information
UID:http://conferences.yapceurope.org/npw2007/event/179
URL:http://conferences.yapceurope.org/npw2007/event/179
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Short break\, just to let you get into the first talk of the da
 y.
DTEND;TZID=Europe/Copenhagen:20070428T100000
DTSTART;TZID=Europe/Copenhagen:20070428T095500
LOCATION:
SUMMARY:Short break
UID:http://conferences.yapceurope.org/npw2007/event/180
URL:http://conferences.yapceurope.org/npw2007/event/180
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070428T104500
DTSTART;TZID=Europe/Copenhagen:20070428T103000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/171
URL:http://conferences.yapceurope.org/npw2007/event/171
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070428T113000
DTSTART;TZID=Europe/Copenhagen:20070428T111500
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/172
URL:http://conferences.yapceurope.org/npw2007/event/172
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Lunch break
DTEND;TZID=Europe/Copenhagen:20070428T133000
DTSTART;TZID=Europe/Copenhagen:20070428T120000
LOCATION:
SUMMARY:Lunch break
UID:http://conferences.yapceurope.org/npw2007/event/173
URL:http://conferences.yapceurope.org/npw2007/event/173
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070428T141500
DTSTART;TZID=Europe/Copenhagen:20070428T140000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/174
URL:http://conferences.yapceurope.org/npw2007/event/174
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070428T150000
DTSTART;TZID=Europe/Copenhagen:20070428T144500
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/175
URL:http://conferences.yapceurope.org/npw2007/event/175
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070428T154500
DTSTART;TZID=Europe/Copenhagen:20070428T153000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/176
URL:http://conferences.yapceurope.org/npw2007/event/176
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Lightning talks\, part 1.\n\n- %s (...) interpreted as function
 \n- Notice to Sys::Syslog users\n- Japanese T-shirt folding method (live d
 emo)\n- Why you shouldn't use Benchmark.pm\n- Array::Slice - context-depen
 dent array iterator\n- Josh McAdams: Perlcast\, impro
DTEND;TZID=Europe/Copenhagen:20070428T161500
DTSTART;TZID=Europe/Copenhagen:20070428T154500
LOCATION:M1
SUMMARY:Lightning talks
UID:http://conferences.yapceurope.org/npw2007/event/177
URL:http://conferences.yapceurope.org/npw2007/event/177
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:BOFs etc
DTEND;TZID=Europe/Copenhagen:20070428T174500
DTSTART;TZID=Europe/Copenhagen:20070428T161500
LOCATION:
SUMMARY:BOFs etc
UID:http://conferences.yapceurope.org/npw2007/event/178
URL:http://conferences.yapceurope.org/npw2007/event/178
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Welcome back\, and practical information
DTEND;TZID=Europe/Copenhagen:20070429T095500
DTSTART;TZID=Europe/Copenhagen:20070429T094500
LOCATION:M1
SUMMARY:Welcome back\, and practical information
UID:http://conferences.yapceurope.org/npw2007/event/181
URL:http://conferences.yapceurope.org/npw2007/event/181
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Short break\, just to let you get into the first talk of the da
 y.
DTEND;TZID=Europe/Copenhagen:20070429T100000
DTSTART;TZID=Europe/Copenhagen:20070429T095500
LOCATION:
SUMMARY:Short break
UID:http://conferences.yapceurope.org/npw2007/event/182
URL:http://conferences.yapceurope.org/npw2007/event/182
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070429T104500
DTSTART;TZID=Europe/Copenhagen:20070429T103000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/183
URL:http://conferences.yapceurope.org/npw2007/event/183
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070429T113000
DTSTART;TZID=Europe/Copenhagen:20070429T111500
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/184
URL:http://conferences.yapceurope.org/npw2007/event/184
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Lunch break
DTEND;TZID=Europe/Copenhagen:20070429T133000
DTSTART;TZID=Europe/Copenhagen:20070429T120000
LOCATION:
SUMMARY:Lunch break
UID:http://conferences.yapceurope.org/npw2007/event/185
URL:http://conferences.yapceurope.org/npw2007/event/185
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070429T141500
DTSTART;TZID=Europe/Copenhagen:20070429T140000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/186
URL:http://conferences.yapceurope.org/npw2007/event/186
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070429T150000
DTSTART;TZID=Europe/Copenhagen:20070429T144500
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/187
URL:http://conferences.yapceurope.org/npw2007/event/187
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Coffee break
DTEND;TZID=Europe/Copenhagen:20070429T154500
DTSTART;TZID=Europe/Copenhagen:20070429T153000
LOCATION:
SUMMARY:Coffee break
UID:http://conferences.yapceurope.org/npw2007/event/188
URL:http://conferences.yapceurope.org/npw2007/event/188
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Lightning talks\, part 2:\n\n- Use later\n- File::Copy: broken\
 , inflexible\, dangerous\n- Enterprise Perl\n- Building a test module with
  Test::Builder and why\n- Sub::PatMat - call a version of subroutine depen
 ding on its arguments\n- Fear and Loathing in Perl\n- An Introduction to S
 crum
DTEND;TZID=Europe/Copenhagen:20070429T161500
DTSTART;TZID=Europe/Copenhagen:20070429T154500
LOCATION:M1
SUMMARY:Lightning talks
UID:http://conferences.yapceurope.org/npw2007/event/189
URL:http://conferences.yapceurope.org/npw2007/event/189
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Thank you for attending NPW2007.\n\nAnnouncements and thank you
 s.
DTEND;TZID=Europe/Copenhagen:20070429T163000
DTSTART;TZID=Europe/Copenhagen:20070429T161500
LOCATION:M1
SUMMARY:Wrapping up
UID:http://conferences.yapceurope.org/npw2007/event/191
URL:http://conferences.yapceurope.org/npw2007/event/191
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:TAP is now generated by test suites written in Perl\, Python\, 
 PHP\, C\, and many other languages. However\, despite so many languages su
 pporting TAP\, there's not been an easy way to run test suites which have 
 tests written with more than one programming language -- until now.\n\nEnt
 er TAPx::Parser. With the 'runtests' utility and a properly written 'execr
 c' file\, you can have fine-grained control over how to run individual tes
 ts and still have a single test harness collect all results.\n\nYou can al
 so use the new testing framework to handle tests any way you would like.  
 Colored output\, GUIs\, easy emailing of test failures\, identify which TO
 DO tests unexpectedly succeeded\, and many more things are now possible.
DTEND;TZID=Europe/Copenhagen:20070428T140000
DTSTART;TZID=Europe/Copenhagen:20070428T133000
LOCATION:M1
ORGANIZER:Curtis Poe
SUMMARY:Multi-Language Test Suites
UID:http://conferences.yapceurope.org/npw2007/talk/484
URL:http://conferences.yapceurope.org/npw2007/talk/484
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Regular expressions are capable of calculating more than most p
 eople expect them to. In this presentation we will show how the popular Su
 dokus can be solved using regular expressions. Given a Sudoku\, we will co
 nstruct a regular expression that\, after matching\, yields the Sudokus so
 lution in $1\, $2\, $3\, etc.
DTEND;TZID=Europe/Copenhagen:20070429T144500
DTSTART;TZID=Europe/Copenhagen:20070429T141500
LOCATION:M2
ORGANIZER:Abigail
SUMMARY:Sudoku by Regexp
UID:http://conferences.yapceurope.org/npw2007/talk/485
URL:http://conferences.yapceurope.org/npw2007/talk/485
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Writing robust code in Perl? Yes\, it can be done. This talk wi
 ll review a number of wellknown technics for producing robust code\, such 
 as coding policy\, paranoid and defensive programming\, regression testing
 \, efficient logging and much more. We will also dive a bit in the area of
  programming by contract and see how it can benefit Perl code.\n\nThis tal
 k is based on experience accumulated at the Swedish Premium Pension Author
 ity whose core financial platform is imlpemented with Perl.
DTEND;TZID=Europe/Copenhagen:20070429T120000
DTSTART;TZID=Europe/Copenhagen:20070429T113000
LOCATION:M1
ORGANIZER:Erwan Lemonnier
SUMMARY:Robust Perl Code and Contract Programming
UID:http://conferences.yapceurope.org/npw2007/talk/488
URL:http://conferences.yapceurope.org/npw2007/talk/488
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Very large software require a test framework of their own. This
  talk is about how to write that kind of framework.\n\nWe will go through 
 a number of technics used at the Swedish Premium Pension Authority to test
  its core platform\, Pluto. To test Pluto\, we had to write our own test m
 odules\, to implement our own automated smoking framework and to find a wa
 y to flexibly and repeatidly test against a very large and complex databas
 e. We will go through the details of how it was all implemented.
DTEND;TZID=Europe/Copenhagen:20070428T153000
DTSTART;TZID=Europe/Copenhagen:20070428T150000
LOCATION:M1
ORGANIZER:Erwan Lemonnier
SUMMARY:Testing large software
UID:http://conferences.yapceurope.org/npw2007/talk/489
URL:http://conferences.yapceurope.org/npw2007/talk/489
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:What is it?\n            It's a tool to help find bugs\n\n  Com
 plementary Strategies\n\n            The print statement\n\n            Lo
 gging \n\n            DEAP  \n\n  Things to do first\n            syntax c
 heck\n\n            use strict\n\n            use warnings and diagnostics
 \n\n            taint\n\n  Debugger Features\n            Stop the program
  at any executable line of code or subroutine\n\n            Stop the prog
 ram on any condition\n\n            Stop the program if a variable value c
 hanges\n\n            Inspect class hierarchies\n\n            Inspect met
 hods and code \n\n            Trace code execution\n\n            Execute 
 a command before/after every executable line\n\n            On the fly mod
 ification of variables and code\n\n            Follow forking programs \n\
 n            Follow threaded programs and their variables\n\n            S
 ave and reexecute sessions\n\n  How do I use it?\n            #!/usr/bin/p
 erl -d      \n\n            perl -d program.pl\n\n            perl -d -e 0
   \n\n            perl -dt program.pl\n\n            perl -d:ptkdb (gui) \
 n\n  help\n            DB<1> h\n\n            List/search source lines:   
             Control script execution:\n              l [ln|sub]  List sour
 ce code            T           Stack trace\n              - or .      List
  previous/current line  s [expr]    Single step [in expr]\n              v
  [line]    View around line            n [expr]    Next\, steps over subs\
 n              f filename  View source in file         <CR/Enter>  Repeat 
 last n or s\n              /pattern/ ?patt?   Search forw/backw    r      
      Return from subroutine\n              M           Show module version
 s        c [ln|sub]  Continue until position\n            Debugger control
 s:                        L           List break/watch/actions\n          
     o [...]     Set debugger options        t [expr]    Toggle trace [trac
 e expr]\n              <[<]|{[{]|>[>] [cmd] Do pre/post-prompt b [ln|event
 |sub] [cnd] Set breakpoint\n              ! [N|pat]   Redo a previous comm
 and     B ln|*      Delete a/all breakpoints\n              H [-num]    Di
 splay last num commands   a [ln] cmd  Do cmd before line\n              = 
 [a val]   Define/list an alias        A ln|*      Delete a/all actions\n  
             h [db_cmd]  Get help on command         w expr      Add a watc
 h expression\n              h h         Complete help page          W expr
 |*    Delete a/all watch exprs\n              |[|]db_cmd  Send output to p
 ager        ![!] syscmd Run cmd in a subprocess\n              q or ^D    
  Quit                        R           Attempt a restart\n            Da
 ta Examination:     expr     Execute perl code\, also see: s\,n\,t expr\n 
              x|m expr       Evals expr in list context\, dumps the result 
 or lists methods.\n              p expr         Print expression (uses scr
 ipt's current package).\n              S [[!]pat]     List subroutine name
 s [not] matching pattern\n              V [Pk [Vars]]  List Variables in P
 ackage.  Vars can be ~pattern or !pattern.\n              X [Vars]       S
 ame as "V current_package [Vars]".  i class inheritance tree.\n           
    y [n [Vars]]   List lexicals in higher scope <n>.  Vars same as V.\n   
            e     Display thread id     E Display all thread ids.\n        
     For more help\, type h cmd_letter\, or run man perldebug for all docs.
 \n\n  Commands\n            help - h\, hh\, man\, perldoc\n\n            s
 tep - c\, n\, s\, r\n        \n            breakpoints - b\, B\n          
       \n                    - line [condition]\n                    - [pos
 tpone] subroutine [condition]\n                    - compile subroutine \n
                     - load [filename]\n                \n            actio
 ns - a\, A\n\n                    - [line] command [condition]\n\n        
     watches - w\, W\n\n                    - w [condition]\n\n            
 list abw - L [abw]\n\n            trace - t\, T\n\n            list code -
  l\, m\, S\, v\, f \n\n            search code - . / ? - \n\n            i
 nspect variables - p\, V\, x\, X\, y\n\n            threads - e\, E\n\n   
          pre/post line commands - <\, <<\, >\, >>\, {\, {{\n        \n    
         options - depth of dumps for arrays and hashes\n                  
   - frame settings\, window size\, \n\n            commands - H\, R\, reru
 n\n\n            system - ! !! |\n\n            save\, source\n\n  Environ
 ment\n            PERLDB_OPTS="nonStop autoTrace lineInfo=db.out"\n\n     
        .perldb\n\n            sub afterinit {...}\n\n            @DB::type
 ahead\n\n            $DB::single 1=s\, 2=n\n\n  Apache and mod_perl\n     
        #!/usr/bin/perl -d      \n\n            DISPLAY='192.168.0.69:0.0' 
 perl -d:ptkdb -e 0\n\n            httpd -X\n\n            Apache::DB - (db
 .pl)\n\n            Apache::DProf\n\n  Customisation\n            PERL5DB=
 "{ sub DB::DB { print '.' } }"\n\n            PERL5DB="{ require 'mydb.pl'
  }" \n\n  Related Tools\n\n            Devel::ptkdb\n\n            Devel::
 Trace\n\n            Devel::ebug\n\n            Devel::DProf\n\n          
   Devel::*\n\n            B::Deparse\n\n  Further Reading and References\n
             perldoc\n\n                    perldebug\n\n                  
   perldebugtut\n\n                    perldebguts\n                \n     
                perlrun\n\n            http://debugger.perl.org\n\n        
     Perl Debugged - Addison-Wesley - Peter Scott & Ed Wright\n\n          
   Perl Debugger Pocket Reference - O'Reilly\n\n            Pro Perl Debugg
 ing - Apress
DTEND;TZID=Europe/Copenhagen:20070429T140000
DTSTART;TZID=Europe/Copenhagen:20070429T133000
LOCATION:M1
ORGANIZER:Richard Foley
SUMMARY:The Perl Debugger
UID:http://conferences.yapceurope.org/npw2007/talk/490
URL:http://conferences.yapceurope.org/npw2007/talk/490
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:When you need to maintain Perl code on a large platform of hete
 rogenous servers\, you'll surely be confronted to compatibility problems w
 ith old versions of Perl. This talk will show several methods to write mai
 ntenable and quite modern code\, while still preserving compatibility with
  old Perls.
DTEND;TZID=Europe/Copenhagen:20070428T103000
DTSTART;TZID=Europe/Copenhagen:20070428T100000
LOCATION:M2
ORGANIZER:Sébastien Aperghis-Tramoni
SUMMARY:Old Perls and new code
UID:http://conferences.yapceurope.org/npw2007/talk/492
URL:http://conferences.yapceurope.org/npw2007/talk/492
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:At some point in our career we are tasked with working on a hug
 e organically grown Perl application. When working on open source projects
  we have a lot of time to write great code\, but business applications oft
 en demand results which are less than technically perfect but can be deliv
 ered quickly. These applications often must grow quickly and organically t
 o be successful\, and at some point they become difficult to manage easily
 .\n\nThis state of the application is often referred to as 'the big ball o
 f mud'. Test coverage is incomplete\, lots of interdependencies\, and ever
 yone on the team is scared of making changes for fear of breaking somethin
 g. The fact that you are in this state means that you have done something 
 right\, you have created an application that generates revenue. But now yo
 u have to keep it growing without it falling apart. This talk will show yo
 u several ways to get your application back under control while still incr
 easing the featureset and keeping your sanity.
DTEND;TZID=Europe/Copenhagen:20070428T111500
DTSTART;TZID=Europe/Copenhagen:20070428T104500
LOCATION:M2
ORGANIZER:Fred Moyer
SUMMARY:Handling the ball of mud - How to deal with organically grown Perl 
 apps that have gotten too big
UID:http://conferences.yapceurope.org/npw2007/talk/493
URL:http://conferences.yapceurope.org/npw2007/talk/493
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:The DBIx::Perlish module provides the ability to work with data
 bases supported by the DBI module using Perl's own syntax for four most co
 mmon operations: SELECT\, UPDATE\, DELETE\, and INSERT. \n\nBy using DBIx:
 :Perlish\, you can write most of your database queries using a domain-spec
 ific language with Perl syntax. Since a Perl programmer knows Perl by defi
 nition\, and might not know SQL to the same degree\, this approach general
 ly leads to a more comprehensible and maintainable code.
DTEND;TZID=Europe/Copenhagen:20070429T140000
DTSTART;TZID=Europe/Copenhagen:20070429T133000
LOCATION:M2
ORGANIZER:Anton Berezin
SUMMARY:DBIx-Perlish - Bringing perlish DB handling to the unwashed masses
UID:http://conferences.yapceurope.org/npw2007/talk/496
URL:http://conferences.yapceurope.org/npw2007/talk/496
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:I've written over thirty modules for CPAN\, taken over a handfu
 l of others\, and also maintain some private distros for clients. With so 
 much code out there\, I can't waste time doing things a different way ever
 y time or dealing with mistakes. I'll show how I do it\, starting from cre
 ating a module through uploading and maintaining it\, and how it keeps me 
 from going crazy.
DTEND;TZID=Europe/Copenhagen:20070429T144500
DTSTART;TZID=Europe/Copenhagen:20070429T141500
LOCATION:M1
ORGANIZER:brian d foy
SUMMARY:Managing Perl Modules Without Going Crazy
UID:http://conferences.yapceurope.org/npw2007/talk/497
URL:http://conferences.yapceurope.org/npw2007/talk/497
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:My main consulting work in 2007 is a (unreleased) module to rep
 resent business rules and allow programmers to join them in various ways. 
 Most CPAN modules to do this proved inadequate because they based their wo
 rk on input fields\, making it difficult to validate data on out-of-band i
 nformation or complex relationships. I created Brick (Business Rules in Cl
 osures\, 'kay?)\n\nA "brick" is just a business rule represented by a clos
 ure\, for instance\, the input date has to be before April 17. Each brick 
 has access to all of the input data and can easily represent complex relat
 ionship without code acrobatics. Creating a brick puts it into the "bucket
 "\, after which the programmer can compose existing bricks to create large
 r rules\, which are also bricks. Since everything is made of of small piec
 es\, it's easy to show the user (or programmer) exactly what happened\, or
  to explain a particular composition as text (and\, future work includes g
 oing from that same text description back to code).
DTEND;TZID=Europe/Copenhagen:20070429T103000
DTSTART;TZID=Europe/Copenhagen:20070429T100000
LOCATION:M2
ORGANIZER:brian d foy
SUMMARY:Flexible Business Rules with Brick
UID:http://conferences.yapceurope.org/npw2007/talk/503
URL:http://conferences.yapceurope.org/npw2007/talk/503
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Randal Schwartz and I are working on the next generation  of th
 e Llama: Learning Perl 6. This presentation shows the basics of learning t
 he next major version of the language\, assuming no Perl background and fo
 rgetting that Perl 5 ever existed.
DTEND;TZID=Europe/Copenhagen:20070428T140000
DTSTART;TZID=Europe/Copenhagen:20070428T133000
LOCATION:M2
ORGANIZER:brian d foy
SUMMARY:Learning Perl 6
UID:http://conferences.yapceurope.org/npw2007/talk/504
URL:http://conferences.yapceurope.org/npw2007/talk/504
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:GLib is a multi-platform portable C library used by the GTK+\, 
 GNOME and GStreamer projects.  Among other things\, it offers a runtime ty
 pe checking system and a full object oriented environment for C developers
 .  Perl developers can tap into this library to wrap efficient GObject-bas
 ed libraries using bindings based on the XS language\, or write pure Perl 
 objects using the GObject paradigm.\n\nThis talk aims to present the GObje
 ct binding environment and the Glib::Object object oriented paradigm using
  the Glib::Object::Subclass module.
DTEND;TZID=Europe/Copenhagen:20070428T120000
DTSTART;TZID=Europe/Copenhagen:20070428T113000
LOCATION:M2
ORGANIZER:Emmanuele Bassi
SUMMARY:use Glib::Object::Subclass\, or: writing efficient Object Oriented 
 C libraries wrapped in Perl
UID:http://conferences.yapceurope.org/npw2007/talk/509
URL:http://conferences.yapceurope.org/npw2007/talk/509
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:GTK+ is a modern widget toolkit aimed at supporting multiple pl
 atforms.  Its flexibility allows its usage on both workstations and embedd
 ed devices.\n\nSince the early 1.x days\, Perl developers have been able t
 o use GTK+ in their applications via the Perl/GTK bindings.\n\nThis talk a
 ims to present how to use the Perl/GTK bindings to design and create GTK+ 
 applications with a clean and object oriented approach\, showing the usage
  of the basic widgets and the complex tree and text widgets as well.
DTEND;TZID=Europe/Copenhagen:20070429T103000
DTSTART;TZID=Europe/Copenhagen:20070429T100000
LOCATION:M1
ORGANIZER:Emmanuele Bassi
SUMMARY:Perl/Gtk2: a Perlish approach to modern Graphical User Interfaces
UID:http://conferences.yapceurope.org/npw2007/talk/510
URL:http://conferences.yapceurope.org/npw2007/talk/510
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:This talk is about writing text adventures\, or Interactive Fic
 tions\, in Perl6.\n\nInteractive fiction\, often abbreviated IF\, describe
 s a computer game in which players use text commands to control characters
  and influence the environment. In common usage\, the word refers to text 
 adventures\, a type of adventure game with text-based input and output.\n\
 nThe process of writing an IF in Perl6 is an adventure in itself.
DTEND;TZID=Europe/Copenhagen:20070428T153000
DTSTART;TZID=Europe/Copenhagen:20070428T150000
LOCATION:M2
ORGANIZER:Nelson Ferraz
SUMMARY:Adventures in Perl6
UID:http://conferences.yapceurope.org/npw2007/talk/511
URL:http://conferences.yapceurope.org/npw2007/talk/511
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:This is the succesor of the talk '20 things you might not know 
 about perl'\, which has been given at several other conferences and proved
  quite successful. So by popular demand here is its follow up.\n\nThe talk
  shows several features of perl you might not have known that existed\, wh
 ich are being (ab)used to run a program that was designed never to be able
  to run in the first place... It's a high paced\, humourous and entertaini
 ng look at perls slightly less obvious features.
DTEND;TZID=Europe/Copenhagen:20070429T153000
DTSTART;TZID=Europe/Copenhagen:20070429T150000
LOCATION:M1
ORGANIZER:Jos Boumans
SUMMARY:Barely Legal XXX Perl
UID:http://conferences.yapceurope.org/npw2007/talk/514
URL:http://conferences.yapceurope.org/npw2007/talk/514
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Logging is annoying\, spoils my screen and I have to deal with 
 other  problems more important. Log::Log4perl helps you to get out of this
   uncomfortable situation. Easy starting and tons of possibilities\,  no r
 einventing the wheel. Available on Windows and Linux.
DTEND;TZID=Europe/Copenhagen:20070429T111500
DTSTART;TZID=Europe/Copenhagen:20070429T104500
LOCATION:M2
ORGANIZER:Richard Lippmann
SUMMARY:Log4perl\,  logging the easy way
UID:http://conferences.yapceurope.org/npw2007/talk/517
URL:http://conferences.yapceurope.org/npw2007/talk/517
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:If you ever dreamed of having an instant code from some of Perl
 's top coders\, Perl Critic may very well be the closest tool that you'll 
 ever find.  This talk will introduce you to Perl Critic\, a static source 
 code analyzer for your code.  Learn about the ideas behind Perl Critic\, t
 he implementation of the system\, and how to apply it and improve the qual
 ity and consistency of your code.
DTEND;TZID=Europe/Copenhagen:20070428T144500
DTSTART;TZID=Europe/Copenhagen:20070428T141500
LOCATION:M1
ORGANIZER:Josh McAdams
SUMMARY:An Introduction To Perl Critic
UID:http://conferences.yapceurope.org/npw2007/talk/521
URL:http://conferences.yapceurope.org/npw2007/talk/521
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Perl Critic alone is an amazing tool for statically analyzing a
 nd improving your code.  However\, the out-of-the-box (or off-of-the-CPAN)
  solution might not be exactly what you are looking for.  This talk will s
 how how projects like Bangs have taken Perl Critic and built upon it to cr
 eate a custom environment for statically analyzing your code.  It will als
 o show you how to truly embrace and extend Perl\nCritic to fit the needs o
 f your development shop.
DTEND;TZID=Europe/Copenhagen:20070429T120000
DTSTART;TZID=Europe/Copenhagen:20070429T113000
LOCATION:M2
ORGANIZER:Josh McAdams
SUMMARY:Customizing and Extending Perl Critic
UID:http://conferences.yapceurope.org/npw2007/talk/522
URL:http://conferences.yapceurope.org/npw2007/talk/522
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:This intermediate-level talk is aimed at people who already kno
 w Perl but are not very familiar with its OO model. It discusses at length
  the standard language constructs provided by Perl that facilitate object-
 oriented programming\, its advantages and deficiencies. The methods are de
 scribed to work around some of the limitations of the object model. Some m
 ore advanced topics include discussing multiple inheritance\, building aut
 omatic properties accessors and creating singleton classes.  Finally\, non
 -idiomatic ways of doing OO in Perl are described\, in partilular objects 
 as closures with state\, inside-out objects\, and objects with dynamic met
 hods via the Class::Prototyped module.
DTEND;TZID=Europe/Copenhagen:20070428T110000
DTSTART;TZID=Europe/Copenhagen:20070428T100000
LOCATION:M1
ORGANIZER:Anton Berezin
SUMMARY:Object-oriented programming in Perl
UID:http://conferences.yapceurope.org/npw2007/talk/527
URL:http://conferences.yapceurope.org/npw2007/talk/527
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Many things have changed in Perl 6\, and the object model is on
 e of them. This talk examines the Perl 6 object model and constraints. We 
 start out with writing simple classes\, then move on to using roles to obt
 ain greater software re-use. We then move on to look at constraints\, whic
 h help us to write safer code without losing too much dynamism. No prior k
 nowledge of Perl 6 required.
DTEND;TZID=Europe/Copenhagen:20070428T144500
DTSTART;TZID=Europe/Copenhagen:20070428T141500
LOCATION:M2
ORGANIZER:Jonathan Worthington
SUMMARY:Classes\, Roles and Constraints in Perl 6
UID:http://conferences.yapceurope.org/npw2007/talk/539
URL:http://conferences.yapceurope.org/npw2007/talk/539
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Code Generation is the technique of writing programs that write
  or manipulate other programs. In many cases\, this allows programmers to 
 get more done in the same amount of time as they would take to write all t
 he code manually.\n\nThis presentation will show how Perl can be used to g
 enerate other languages and Perl itselft.\n\nThen\, it will be introduced 
 a XML-based application description language\, which allows a programmer t
 o describe *what* he wants to produce\, not *how* to implement it.
DTEND;TZID=Europe/Copenhagen:20070429T111500
DTSTART;TZID=Europe/Copenhagen:20070429T104500
LOCATION:M1
ORGANIZER:Nelson Ferraz
SUMMARY:Code Generation
UID:http://conferences.yapceurope.org/npw2007/talk/546
URL:http://conferences.yapceurope.org/npw2007/talk/546
END:VEVENT
BEGIN:VEVENT
COMMENT:0 attendees
DESCRIPTION:Perl 5.10 is the next major release of Perl and contains many n
 ew features.
DTEND;TZID=Europe/Copenhagen:20070428T120000
DTSTART;TZID=Europe/Copenhagen:20070428T113000
LOCATION:M1
ORGANIZER:Leon Brocard
SUMMARY:What's new in Perl 5.10?
UID:http://conferences.yapceurope.org/npw2007/talk/621
URL:http://conferences.yapceurope.org/npw2007/talk/621
END:VEVENT
END:VCALENDAR
