Peter Scott will deliver presentations that return to some basics as requested by survey respondees. The topics for this meeting will be:
Location: ECS 104, UVic.
Michael Nachbaur will talk about RDF::Helper. This is a companion talk to the one at VOSSOC the following week. RDF is the Resource Description Framework, a W3C specification and a key interchange format of the Semantic Web.
RDF::Helper is a common abstraction API for the various RDF libraries that are out there, similar to DBI/DBD. There is currently only one full RDF API for Perl (namely Redland). The goal of RDF::Helper is to unify and simplify the gory details of dealing with an RDF datastore, providing syntactic sugar and convenience functionality for the average Perl user.
Peter Scott will give a presentation on WWW::Mechanize and Class::Std. WWW::Mechanize is the best way to pretend to be a web browser and script interactions with web sites. Class::Std is Damian Conway's new module for developing object-oriented classes, as introduced in his book Perl Best Practices. Both topics will cover new developments in those modules that have not been announced elsewhere.
Peter Scott will present a preview of his OSCON 2005 session Extreme Perl Makeover and Darren Duncan will preview his OSCON lightning talk no Rosetta.
Abram Hindle will talk about IRC and AIM bots.
Darren Duncan will talk about his experience converting a Perl 5 module into Perl 6.
The Horror That Is SelfGOL: We will explore Damian Conway's masterpiece of obfuscated and powerful Perl, and see how much of it we can figure out.
Darren Duncan will give a sequel to his July 20th presentation, that concerned how to make a trivial genealogy database-manager application using Perl and a SQL database, SQLite to be specific.
The November meeting will focus on introducing Darren's new CPAN-registered modules that strive to implement complete and rigorous cross-database portability. The core modules are 'SQL::Routine' and 'Rosetta', plus 'Locale::KeyedText' and 'Rosetta::Engine::Generic'.
These modules should help you write database-using applications of any size, that leverage all sorts of advanced database product features, and support trivial (zero change) drop-in substitution between many dozens of database products, such as: SQLite, MySQL, PostgreSQL, Oracle, Sybase, Firebird, DB2, SQL Server, and more. Rosetta is conceptually a DBI wrapper, whose strongest addition is SQL generation, but it also works without DBI, and with non-SQL databases. The module set's goal is similar to Java, where code written with it will run the same way on any platform with zero changes. Its goal is to help free users and developers from database vendor lock-in, such as that caused by the investment in large quantities of vendor-specific code. It also comes with a comprehensive validation suite that proves it is providing identical behaviour no matter what the underlying database vendor is.
Darren's modules will be demonstrated in action using a version of the trivial genealogy application that is modified to access the database engine through those modules rather than directly. For simplicity, the demonstration will use the trivial-to-install SQLite database (DBD::SQLite 1.0.7). The same code used in the demonstration will be on CPAN as a 'demo' accompanying the 'Rosetta' module, so it is kept in a working state over time.
Note that these modules are still bleeding-edge and pre-alpha; while they will work well enough next week to power the demonstration, most other features are not quite finished yet.
Alan Ezust will give a talk about Python, Perl's twin pillar in the Parrot project.
Python, a relatively new cross-platform free object-oriented scripting language, has managed to gain a remarkable acceptance among the open-source community, as demonstrated by applications such as Google and Zope. It has drawn its influences from many languages, cherry-picking the best features of them all, and providing a very clean programming language on top. C++, Lisp, Java and Smalltalk programmers will all recognize features they know and love, but perl programmers will immediately notice some inspirations from from there too. As far as I know, it has everybody's favorite feature, and at the same time, encourages very good programming habits.
In this talk, we will dissect a few code examples based on some Gang of Four (Gamma, Helm, Johnson, Vlissides) design patterns combined with recipes from the Python Cookbook. You will learn some advanced (and recent) features of the python language.
S. Alan Ezust
University of Victoria, British Columbia
Department of Computer Science
http://www.csc.uvic.ca/~sae
Peter Scott will speak for half the time on Perl's command line flags (perldoc perlrun). This talk will be accessible to beginners as well as more advanced Perlers.
There will be another topic presented in the rest of the time, possibly Darren Duncan on databases, but he's perfectly willing to yield to anyone else who wants to try their hand at filling a short time slot. Or Peter may just keep going :-)
Other topics to be covered as time permits; make requests for anything particular.
The meeting room is *different* from customary: DSB113 (David Strong Building). See http://www.uvic.ca and look for Maps if you need directions.
Abram Hindle will give a talk on Parse::RecDescent.
[I am looking forward to this as I have a few projects coming up that need or will benefit from this. Basically, the answer to any question starting, "I want to parse a grammar/syntax/language" is Parse::RecDescent. Created by Damian Conway, this module does everything you can think of and a lot more besides to do with parsing and grammars, and makes it so easy that there's no point in considering "roll-your-own" as a solution again.]
Other topics to be covered as time permits; make requests for anything particular.
Peter Scott will give away a small book of Tim O'Reilly's thinkings on Open Source and the future (not available in stores!). Darren Duncan also has a duplicate printed copy of "The Perl Review" v1 #0 which will be given away.
Darren Duncan will give give... "a presentation I gave to the Victoria Macintosh Users Group 2 years ago about how to make a simple personal genealogy database using FileMaker Pro (similar target users as Access, but much better).
"The adapted version will use SQLite as the database, and the interface will be a simple Perl program that uses DBI and DBD::SQLite. As with the VMUG meeting, I will distribute the instructions/nodes (and code in this case) in advance (by posting them to this list; with VMUG it was in the monthly newsletter). You will be able to try it out and experiment with modifications in advance. Then at the meeting I will go over the instructions verbally and demonstrate the program working. I will also field questions, plus have an interactive session where we can modify the database or make a different one and write working Perl code to manipulate it."