SPUG: Estimating Attendance for CONWAY $EMINARS
Tim Maher/CONSULTIX
tim at consultix-inc.com
Sun May 14 13:30:12 CDT 2000
"Polling of Interest" in Damian Conway PERL SEMINARS,
Kirkland, WA, July 2000
After SPUG secured Damian Conway as a speaker for July,
he indicated an interest in presenting Perl seminars on
"Adv. OOP" and "Text Parsing" while in the area. Since my
company is in the business of staging such events (usually
featuring "me"), we volunteered to arrange his seminars.
(FULL DETAILS are provided in an attachment.)
As the organizer of these events, it's important
to me to have a reasonably accurate forecast of the
likely attendance, so we don't get caught short by late
registrants causing a conference-room overflow, and an
associated last-minute attempt to shift the meeting to a
larger venue - during the 4th of July holiday period!
So I'd be grateful if SPUGsters who think they might attend
would please drop me an Email letting me know, so I can
begin making plans to book a larger room if necessary
(and by all means if you're serious about attending,
please register soon so you'll be assured a seat).
The prices have been set to match the EarlyBird-discounted
prices you'd pay for the same seminars at "The Perl
Conference 4.0", but of course you wouldn't need to pay
for airplanes or hotels if you're local and you attend
in Kirkland. And if you'd be attending TPC anyway,
attending Damian's seminars before the conference would
free-up valuable conference time for attending other
events, and also allow you to receive greater personal
attention by attending with a smaller group.
(Incidentally, attending here also allows a much greater
proportion of your tutorial fee to go to the speaker
rather than to conference overhead, which Damian would
undoubtedly appreciate.)
This is the first time my company has "sponsored" a
presentation by an outside speaker, so if you have any
comments at all on this endeavor, I'd be grateful to
hear them!
Thanks,
*========================================================================*
| Dr. Tim Maher, CEO, Consultix (206) 781-UNIX/8649 |
| Email: tim at consultix-inc.com Web: http://www.consultix-inc.com |
| CLASSES; 5/16: UNIX 5/22: Basic Perl+Modules 6/12: Intermediate Perl |
| DAMIAN CONWAY Seminars; Adv. OO Perl: 7/6, Parsing with Modules: 7/7 |
*========================================================================*
-------------- next part --------------
ADVANCED OBJECT-ORIENTED PERL
Dr. Damian Conway
July 6, 2000, Kirkland, WA USA
Web Version: http://www.consultix-inc.com/advoop.html
Sponsored by CONSULTIX, http://www.consultix-inc.com
SPEAKER:
Dr Damian Conway
School of Computer Science and Software Engineering,
Monash University, Clayton, 3168 AUSTRALIA
TARGET AUDIENCE:
Perl programmers who have either completed Tom Christiansen's
introductory object-oriented Perl tutorial, read and absorbed
Chapters 1 through 3 of "Object Oriented Perl", taken the
Consultix "Intermediate Perl Programming" class, or who
have otherwise acquired a basic familiarity with simple OO Perl.
WHAT ATTENDEES WILL LEARN:
This tutorial will show you how to build on the basic
object-oriented Perl techniques you already know and unlock
more of the power of Perl's OO capabilities.
Attendees will learn:
* how to use pseudo-hashes and the standard fields.pm
and base.pm modules;
* how (and when) to bless arrays and scalars;
* three different ways to implement data hiding for
Perl objects (including the Tie::SecureHash module);
* how Perl implements inheritance and polymorphism
(and how you can change the rules of either);
* how to simulate scalars, arrays, hashes, and typeglobs
using ties;
* the features (and traps) of operator overloading in Perl;
* two easy ways to build complete classes
(semi-)automatically;
* how to do design-by-contract programming in OO Perl
(using the Class::Contract module);
* two ways to do generic programming in Perl;
* how to use the Class::Classless module to build OO
programs without classes;
* how to use multiple dispatch (polymorphism on steroids)
to implement event-driven class hierarchies for simulation
and GUI applications.
SEMINAR OUTLINE:
* Review of Perl OO basics
- packages, references, blessing
- the three rules
- Example: a dog-tag class
* Non-hash-based objects
- arrays as objects
- scalars as objects
- Examples: hash re-iterators; OO bitstrings
* Pseudo-hashes
- what they are, how to use them as objects
- the fields.pm module
- compile-time type checking
* Automating class construction
- Class::Struct
- Other class construction modules
- Example: A CD library
* Inheritance
- revision of concepts
- how they work in Perl
- @ISA, isa(), can(), SUPER
- Example: a restricted transceiver class
* Polymorphism
- When and how to use it
- Variations on the theme
- Example: OO lexical analysis
- Examples: a safer transceiver class
* Encapsulation
- the pros and cons of data hiding
- encapsulation via closures
- encapsulation via scalars
- encapsulation via the Tie::SecureHash module
- Example: the dog-tag class thrice revisited
* Inheritance revisited
- tricks with inherited constructors and destructors
- abstract methods
- attribute collisions
- inheritance and pseudohashes: the base.pm module
* Ties
- simulating implementing scalars and hashes
- scalar examples (a bounded scalar; proxies)
- hash example (a multi-iterable hash)
* Operator overloading
- overview and limitations of mechanism
- overloading operations, conversions, and constants
- problems with references
- Example: Klingon arithmetic
* Grafting other OO models onto Perl
- classless programming with Class::Classless
- design-by-contract with Class::Contract
- Examples: Classless network control; Contractual threading
* Generic programming
- Why you don't need it in Perl
- How to do it anyway
- Examples: generic lists; generic trees
* Multiple dispatch
- when regular polymorphism isn't enough
- cascaded polymorphism
- table driven dispatch
- Class::Multimethods
- Example: GUI event-loop programming
SPEAKER BIOGRAPHY:
Damian Conway holds a Ph.D. in Computer Science and
is a Senior Lecturer in Computer Science and Software
Engineering at Monash University, Melbourne, Australia.
He is the author of numerous well-known modules including:
Parse::RecDescent, Text::Balanced, Lingua::EN::Inflect,
Class::Multimethods, and Coy (all available from your
local CPAN mirror).
Damian was the winner of both the 1998 and 1999 Larry
Wall Awards for Practical Utility. He is a member of
the technical committee for The Perl Conference 4.0, the
convener of the annual Perl haiku contest, a columnist
for The Perl Journal, and author of the book "Object
Oriented Perl".
-------------- next part --------------
BEYOND REGEXES: Text Parsing with Perl Modules
Dr. Damian Conway
July 7, 2000, Kirkland, WA USA
Web Version: http://www.consultix-inc.com/parsing.html
Sponsored by CONSULTIX, http://www.consultix-inc.com
SPEAKER:
Dr Damian Conway
School of Computer Science and Software Engineering,
Monash University, Clayton, 3168 AUSTRALIA
TARGET AUDIENCE:
Perl programmers who are familiar with simple
regular expressions and the use of modules. The
techniques presented will be useful to anyone
who needs to process structured text of any kind.
WHAT ATTENDEES WILL LEARN:
This seminar will show you how to use a range of
standard Perl features and several CPAN modules (in
particular, Parse::RecDescent) to decipher and process
a variety of complex data and command formats. It's
a practical introduction to the techniques of
grammar-based recursive-descent parsing.
You will learn:
* how to design and build parsers to process
Apache configuration files and log data,
* how to process structured expressions
(e.g. search engine queries),
* how to balance nested brackets and match
delimiters without a regular expression,
* how to fold, spindle and mutilate the
comments in a C program,
* how to dissect C++ type declarations
with a self-adapting parser,
* how to allow embedded Perl code in your
own data format or command language,
* how convert natural language queries
into SQL.
* how to design and build self-modifying
parsers to process Apache configuration
files and log data;
* how to pull pesky unmatched <P> tags from
HTML;
* how to deal with ambiguous data by parsing
it in multiple universes simultaneously;
* how to get Parse::RecDescent to write most
of your grammar for you;
* how to parse modular text (e.g. with source
with #includes in it);
* how to pre-filter your source code by tricking
Perl into (nearly) parsing Perl;
* how to debug Parse::RecDescent parsers
efficiently and how to improve the efficiency of
your Parse::RecDescent grammars;
There'll even be some useful stuff, like how to write a
program that does stand-up comedy.
You'll also discover the psychedelic secrets of Randal's
beatnik poetry generator, and learn how to earn thousands in
your spare time by generating scholarly articles for modern
Philosophy journals.
SEMINAR OUTLINE:
* A brief history of parsing
- grammars, rules, recursive descent, etc.
* Implementing parsers
- top-down vs bottom-up approaches
* Useful tools
- Text::Balanced, Parse::Yapp, perl-byacc,
Parse::RecDescent
* Simple parsing
- Parsing delimited text, parsing Perl subsets
* Parsing data
- Parsing Apache log files
- optional subrules, list parsing
- run-time parser generation
* Parsing input
- The Text::Query modules
- OO parsing
- operator precedence, lists, look-ahead,
rejections, etc.
* Parsing code
- parsing C and C++
- stateful grammars
- porting yacc grammars (including left-recursion)
- self-extending parsers, committing rules,
deferred actions
- grammar precompilation
* Parsing natural language
- generating SQL queries for natural language input
- synthetic stand-up via reciprocal parsers
* Miscellaneous advanced features of Text::Balanced
- precompiling delimiter extractions
- extracting tagged text
- extracting Perl variables
- extracting mixed components
* Miscellaneous extra features of Parse::RecDescent
- Named items (the %item array)
- Debugging grammars: <trace>, <warn>, <hint>, and
<nocheck>
- Context information: $thisline, $lastoffset,
@itempos, etc.
- Extreme prejudice: the <fail> directive
* Non-deterministic parsing
- tracking "goodness-of-match"
- the <score> and <autoscore> directives
* Pre-tokenization
- the <token> directive
- token-based parsing
* Automatic grammar generation
- autoactions
- autostubbing
- autotrees
- the <perl_quotelike>, <perl_codeblock>, and
<perl_variable> directives
* Generic rules
- the <matchrule> directive
- subrule arguments: @arg and %arg
* Handling distributed text
- processing file inclusions recursively
- processing file inclusions by input modification
- other uses of input modification
* Semi-grammatical parsing
- when Parse::RecDescent is overkill and regexes
don't appeal
- CSV revisited, text interpolation, simple command
interfaces
* Self-modification
- Run-time parser generation and self-extending parsers
revisited
- A self-modifying Apache config/log file parser
* (Nearly) parsing Perl
- parsing with Text::Balanced on Occam's Razor
- source code filtering
* Metagrammars
- building a grammar for parsing grammars
- beat poetry and postmodern literature
SPEAKER BIOGRAPHY:
Damian Conway holds a Ph.D. in Computer Science
and is a Senior Lecturer in Computer Science
and Software Engineering at Monash University,
Melbourne, Australia.
He is the author of numerous well-known modules
including: Parse::RecDescent, Text::Balanced,
Lingua::EN::Inflect, Class::Multimethods, and Coy
(all available from your local CPAN mirror).
Damian was the winner of both the 1998 and 1999
Larry Wall Awards for Practical Utility. He is
a member of the technical committee for The Perl
Conference 4.0, the convener of the annual Perl
haiku contest, a columnist for The Perl Journal,
and author of the book "Object Oriented Perl".
-------------- next part --------------
From: Tim Maher, CONSULTIX
RE: Tuition Discounts Expiring; Details on Conway Seminars
NOTE: For List Removal, see below
DAMIAN CONWAY SEMINARS
Consultix is sponsoring Perl Guru Dr. Damian Conway in July
for two one-day Perl seminars, on "Adv. OOP" and "Text Parsing".
Complete seminar outlines are provided as attachments to this message.
Short descriptions of these seminars are also provided below, after the
course schedule (full details available at http://www.consultix-inc.com).
NOTE: The only other place to attend these seminars is at "The Perl
Conference 4.0", held in California. Why attend in Seattle?
* if already in Pacific NorthWest, no need to travel to California
* the seminars won't be cheaper at the Conference
* if attending Conference anyway, attending in Kirkland frees up
valuable conference time for other tutorials in same time-slot
DISCOUNTS EXPIRING
The "Early-Bird Discounts" (worth 10%) for the "Intermediate Perl"
and "Advanced Pattern Matching" classes (see below) expire today, 5/12.
Call today with your charge-card information to obtain the discounts!
(Prices listed at http://www.consultix-inc.com/reg.html)
--------------------------------------------------------------------
SPRING/SUMMER 2000 CLASS SCHEDULE, Kirkland WA
Course Dates Days
UNIX Fundamentals 05/16-05/19 4 - CLASS FULL
Perl Programming, plus Modules 05/22-05/25 4
Intermediate Perl Programming 06/12-06/15 3.5
Adv. Pattern Matching with Perl 06/15-06/16 1.5
Int. Perl Programming + Adv. PM 06/12-06/16 5
Advanced Object Oriented Perl 7/6 1 (Damian Conway)
Parsing with Perl Modules 7/7 1 (Damian Conway)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEYOND REGEXES: TEXT PARSING WITH PERL MODULES, by D. Conway
July 7, 2000. Kirkland, WA USA
DESCRIPTION:
This seminar will show you how to use a range of
standard Perl features and several CPAN modules (in
particular, Parse::RecDescent) to decipher and process
a variety of complex data and command formats. It's a
practical introduction to the techniques of grammar-based
recursive-descent parsing.
You'll also discover the psychedelic secrets of Randal's
beatnik poetry generator, and how to write a program that
does stand-up comedy.
Details attached, and also available at:
http://www.consultix-inc.com/parsing.html
------------------------------------------------------------
ADVANCED OBJECT-ORIENTED PERL, by Damian Conway
July 6, 2000. Kirkland, WA USA
DESCRIPTION:
This seminar will show you how to build on the basic
object-oriented Perl techniques you already know and unlock
more of the power of Perl's OO capabilities.
Topics include Pseudo-hashes, fields.pm, base.pm, data
hiding, Tie::SecureHash, inheritance, polymorphism,
operator overloading, automatic class creation,
design-by-contract programming, generic programming,
Class::Classless, and multiple dispatch.
Details attached, and also available at:
http://www.consultix-inc.com/advoop.html
-----------------------------------------------------------------------
ON-LINE RESOURCES
On-Site training information:
http://www.consultix-inc.com/on-site.html
Course Listings:
UNIX/Shell, http://www.consultix-inc.com/unixlist.html
AWK/Perl, http://www.consultix-inc.com/perllist.html
Instructor Evaluations: http://www.consultix-inc.com/evals.html
Registration and Pricing: http://www.consultix-inc.com/reg.html
*========================================================================*
| Dr. Tim Maher, CEO, Consultix (206) 781-UNIX/8649 |
| Email: tim at consultix-inc.com Web: http://www.consultix-inc.com |
| CLASSES; 5/16: UNIX 5/22: Basic Perl+Modules 6/12: Intermediate Perl |
| DAMIAN CONWAY Seminars; Adv. OO Perl: 7/6, Parsing with Modules: 7/7 |
*========================================================================*
More information about the spug-list
mailing list