[neil@geekcruises.com: Perl Whirl '03 set for Hawaii]

Scott McWhirter scott at kungfuftr.com
Wed Sep 4 18:33:18 CDT 2002


----- Forwarded message from Neil Bauman <neil at geekcruises.com> -----

Date: Wed, 4 Sep 2002 19:20:09 -0400 (EDT)
From: neil at geekcruises.com (Neil Bauman)
To: scott at kungfuftr.com
Subject: Perl Whirl '03 set for Hawaii

Hi Scott,

I'm just back from Hawaii! I did the seven-day cruise we're scheduled to
take around the Hawaiian islands this June 1-7. Here's my report:

The ship is fantastic. Ten restaurants, 13 bars, two entertainment
halls, a large movie theater, a kid's club, a teen's club, sauna, steam,
four *outdoor* Jacuzzis (yeah, a couple inside as well), full basketball
court ... I could go on and on. The food was excellent. My favorite
eatery was Ginza, an elegant "Asian fusion" restaurant. In addition to a
marvelous sit-down menu, they have a sushi bar (conveyor belt and all!)
and in the back they offer Teppanyaki (i.e., Benihana-style eating) in a
small room where 12 people sit around a cooking station, watching, and
eating, as the chef prepares and dishes out your meal. The empty seat in
the corner was mine: http://www.geekcruises.com/gifs/mm2/Ginza.jpg

(I, or my traveling companion, Chris Campbell, alum of MacMania I and
Geek Cruises graphic artist, took all the photos in this email.)

The five ports of call were impressive -- and EXOTIC. We started off in
Honolulu. Make sure you come in a day or more before the cruise to enjoy
the Waikiki beaches, the Pearl Harbor museum (I particularly like
visiting the USS Arizona, where Hirohito surrendered to Gen. Macarthur),
and many other beautiful sites around the island.

On the subject of getting in early, rather than our usual, "the day
before, pre-cruise cocktail party," we've decided to organize a "luau
banquet" (with entertainment) which will be held on the *beachfront* of
the Sheraton Moana Surfrider -- right on the green grass area as can be 
seen in the bottom left corner of this photo I took from the 34th floor
of the Hyatt hotel: http://www.geekcruises.com/gifs/mm2/Sheraton.jpg.

From Honolulu we went to Fanning Island, a beautiful tropical paradise,
just 100 miles north of the Equator. The big thrill here is snorkeling.
There's also an incredible beachfront, much of which is
under shade: http://www.geekcruises.com/gifs/mm2/FanningIsle.jpg

Next was Maui. We rented our first car here (shuttle pick ups are right
at the pier) and drove east towards Hana. This drive was the most
unbelievable drive I've ever experienced -- and believe me, there are 
A LOT of incredible drives up and down the California coast (I've done
dozens of these coast drives, so I know). This weaving drive, along the
coast line, is through the most exquisite rain forest/jungle you've
ever imagined.

Picture 30 miles of this:
http://www.geekcruises.com/gifs/mm2/Maui_1.jpg
http://www.geekcruises.com/gifs/mm2/Maui_2.jpg

After Maui we visited Kauai ... another incredible island. Again, we
rented a car. By the way, renting a car *is the only way* to go, in my
opinion. For under $50 you've got a day's worth of activities under your
control and discretion. (Hertz, Avis, National, Alamo, Budget, and
Dollar all had shuttle buses in Maui and Kauai ... we didn't rent a car
in Hilo but it's "the big Island" so I'm certain it's not a problem
here, too.)

This was *just the first two hours* :
http://www.geekcruises.com/gifs/mm2/Kauai_1.jpg
http://www.geekcruises.com/gifs/mm2/Kauai_2.jpg

	
*************************************
THE Perl Whirl '03 PROGRAM IS NOW SET
*************************************

--------------
SPECIAL EVENTS
--------------

1)
Larry Wall -- Q&A and other stuff



2)
Life, The Universe, and Everything 

Watch in horrified fascination as three utterly unrelated trains of
thought... 

	quantum finite state automata, 
	the philosophical conundrum of Maxwell's demon, and 
	programming in Klingon 

... collide with Perl at high speed in Damian Conway's brain. 



3)
LUNCHEON

Using Perl with Oracle
Speaker: Tim Bunce

What you will learn: Overview of the open source tools available to make
your life with Oracle easier, with a particular focus on the DBI
DBD::Oracle driver module and the new Oracle::OCI module. The
DBD::Oracle module offers more than the basic DBI interface. Topics will
include: specifying bind types, binding output values (including using
the RETURNING clause), connecting in DBA or OPER mode, and tuning the
row cache.

The new Oracle::OCI module gives direct access to the Oracle Call
Interface API from perl and the DBI (including handling Oracle object
types, REF cursors, LOB locators, streaming data, direct-loading, and
more.) Want to do more than DBD::Oracle makes possible, or tired of
writing and debugging your OCI applications in C? Try Oracle::OCI!





------
PERL 5
------

Packages, Objects, References, and Modules (PROM) (1.5 days)
Speaker: Randal Schwartz

PROM is an intermediate level course that is suitable for students that
have completed Learning Perl or the equivalent.

Students should have a solid programming background. Some experience in
using pointers (in C or some other language) and object-oriented
programming is recommended, as is practical experience in Perl.
The course is geared toward intermediate Perl programmers who wish to
use advanced data structures or objects, or who want to build and
distribute Perl modules for others to use.

PROM covers: 
* Control Structures: map, grep, and eval 
* Advanced Regular Expressions (including pos() and \G) 
* Packages (including require and my()) 
* References (scalar, array, hash, and soft references, anonymous data) 
* References and Data Structures (arrays of arrays, etc.) 
* References and Sorting (the "Schwartzian" transform) 
* References and Subroutines (including typeglobs, coderefs, and
closures) 
* Modules (BEGIN/END blocks, use, h2xs, and POD) 
* Object-Oriented Perl (classes, methods, constructors, inheritance) 
* Object-Oriented Modules 
* Tied Variables





Perl Program Repair Shop and Red Flags (full day)
Speaker: Mark-Jason Dominus

Most programmers are working too hard, writing twenty lines of code
where they need only ten. "Program Repair Shop" will show you how to
reduce the typical program by 30-50% while making it easier to read and
easier to re-use.

The class focuses on 'low-hanging fruit': Problems that are easy to find
and easy to fix. Most often, the presence of such problems is signaled
by 'red flags', which are highly visible signs that there is an easy
opportunity to improve the code. I'll show many red flags in real
programs I've gathered and show quick ways to make these programs
smaller, faster, and simpler to understand. Once you've seen the flags,
it will be easy for you to do the same things to the programs you
maintain.

Prerequisites: Attendees should have basic familiarity with the Perl
language and at least six months' experience writing programs in Perl.

Target audience: Programmers writing Perl programs that will be
maintained or reused.

General topics covered
Part I:
* Families of variables
* Making relationships explicit
* Refactoring
* Programming by convention
* The Flesh Blanket
* Conciseness
* Why you should avoid the '.' operator
* Elimination of global variables
* Superstition
* The 'use strict' zombies
* Repressed subconscious urges
* The cardinal rule of computer programming
* The psychology of repeated code
* Techniques for eliminating repeated code
* What can go wrong with 'if' and 'else'
* The Condition that Ate Michigan
* Resisting fanaticism
* Trying it both ways

Part II:
* Structural vs. functional code
* Elimination of structure
* Boolean values
* Programs that take two steps forward and one step back
* Programs that are 10% backslashes
* print print print print print
* C-style 'for' loops
* Loop counter variables
* Array length variables
* Unnecessary shell calls
* How (and why) to let 'undef' be the special value
* Confusion of internal and external representations of data
* Tool use
* Elimination of repeated code with higher-order functions
* Learning to use a hammer
* The 'swswsw' problem
* Avoiding special cases
* Using uniform data representations





Introduction to the Perl DBI (1/4 day)
Speaker: Tim Bunce

Who Should Attend: Perl programmers who need a simple way to access data
stored in databases of all kinds and who are not yet familiar with the
DBI (the standard database interface module for Perl).
What you will learn:
* The DBI architecture and drivers
* Specifying and connecting to a data source
* Executing SQL statements
* Why it's good to prepare()
* The many ways of fetching data to suit your needs
* Handling LONG/BLOB data
* Using placeholders
* Making your applications more robust using automatic error handling
* Using trace to see what's happening
* Writing portable applications





Advanced DBI (half day)
Speaker: Tim Bunce

Who Should Attend: Intermediate to advanced Perl programmers with
understanding of the DBI and a desire to know more. Learn how the DBI
works and how to get the best out of it, including how to maximize
speed, safety, reliability and portability.
Topics include:
* Speed, speed, speed: what helps, what doesn't (database design,
application partitioning, hinting query execution plans, network
latency, stored procedures, caching etc)
* Handling handles (connect_cached() and prepare_cached())
* Binding values to placeholders
* Error checking and recovery (importance of checking and virtues of
eval)
* Transactions (integrating with eval)
* Wheels within wheels (the architecture and how to see inside it using
trace )
* DBI for the Web (statelessness, locking, tainting and security)
* Handling LONG/BLOB data
* Database and platform portability
* The power of proxy and the magic of multiplex
* And finally ... what's new and what's planned





Programming with Iterators and Generators (half day)
Speaker: Mark-Jason Dominus

Some functions take too long to run because they produces too much
useful information. Search functions might locate ten thousand matches,
or database queries might return ten million records. Perl filehandles
are a simple and familiar model for dealing with such problems: !
Instead of reading every file in one giant gulp, they deliver data only
when it is needed, bit by bit. The class explores the construction of
objects that have similar behavior, delivering data on demand, and the
applications of these techniques in standard Perl modules such as
File::Find and DBI. Students should have basic familiarity with Perl.





Using Regular Expressions (half day)
Speaker: Jeff Pinyan

Who Should Attend:
Beginners and intermediate regex users.

What You Will Learn:
How to read and write regexes, and write them EFFICIENTLY; how to write
them to match what you want, and understand what they will and won't
match; why a regex doesn't match why you might EXPECT it to match.

We'll start with a simple view of the elements of a regex, and build up
to real, useful, working regexes. Not ALL features of Perl's regex
engine will be gone over, but the most common and useful ones.
Potentially confusing concepts such as backtracking and greed will be
explained.

Topics:
* the elements of a regex
* capturing and regex variables
* greed and backtracking
* pattern modifiers (global, case-insensitive, etc.)
* look-ahead and look-behind
* using regexes in substitution





Mining the Web with LWP (half day)
Speaker: Nathan Torkington

Who Should Attend:
Anybody who wants to automatically extract information from web pages
with Perl. If you've ever thought "I only care about a tiny part
of this web site, why do I have to wade through the rest to get to
the bit I do want?" then this class is for you.

What You'll Learn:
* Fetching web pages
* shelling out to commands such as lynx and wget
* straightforward fetches with LWP::Simple
* mirroring a single page with LWP::Simple
* POSTs, cookies, and authentication with user agents
* an overview of spidering multiple pages
* Analyzing web pages
* regular expression techniques for extracting information from HTML
* treating an HTML page as a series of tokens with HTML::TokeParser
* treating an HTML page as a tree of nested tags with HTML::TreeBuilder
* When not to automate
* legal, technical, and social reasons against automated web access





OS X and Perl (half day)
Speaker: Nathan Torkington

Who should attend: anyone with an OS X machine who is interested in
going beneath the standard tools to have fun with Perl and Unix tools.
You'll learn everything from installing Perl modules to messing around
in system configuration files.

What you'll learn:
* installing CPAN modules (and which modules to install)
* upgrading Perl: fink vs do-it-yourself
* enabling and using mod_perl
* what you need to run Tk programs
* mixing AppleScript and Perl to control other applications from a Perl
script
* reading and writing application and system configuration files
(plists, /etc, and the defaults command)
* system-specific modules such as MacOSX::File
* backing up your system with psync
* releasing your Perl code as an OS X package





Filtering and Analyzing Email with Perl (half day)
Speaker: Casey West

Who Should Attend:
Programmers, administrators, and users alike. Intermediate Perl
programming abilities highly encouraged. You should have at least sent
and recieved a few emails in your day. You should come with a desire to
sort email, kill spam, and get statistics on who is sending you mail, at
the very least.

What You'll Learn:
"Filtering and Analyzing Email with Perl" is an introductory tutorial on
harnessing the power of email with the power of Perl. Concrete, usable
applications will be built before your very eyes. You will leave this
seminar with a solid understanding of filtering incoming email,
autoresponders, statistical analysis, using email as an application
interface, killing spam, converting attachments, tidying up email, and
many other useful examples.





------
PERL 6
------

Perl 6 Basics (half day)
Speaker: Allison Randal

Learn the basics of Perl 6 in a practical and easy-to-follow format. You
can get up-to-speed quickly, or review the concepts that went by too
fast the first time, like: the operator and sigil changes; properties;
data types; the extended importance of closures; comparisons and smart
matching; error variables; topics; parameter list syntax; switches and
loops; here docs; string interpolation; and more.





Advanced Perl 6 (half day)
Speaker: Damian Conway

Damian will describe some of the more powerful new features of Perl 6
including multidimensional data structures; iterators; multidimensional
slices, maps, and greps; multi-stream loops; pattern matching (rules and
grammars); exceptions; argument binding; aliasing; hyperoperators; and
(just maybe!) superpositions.





Object Oriented Perl 6 (half day)
Speaker: Damian Conway

Perl 6 comes with a new industrial-strength OO mechanism that provides
declarative classes, proper encapsulation, design-by-contract checking,
multiple dispatch, cleaner operator overloading, and many other tasty
treats. Damian will show you what's new in Perl's OO, and how you can
best take advantage of it.





Programming in Perl 6 (half day)
Speaker: Damian Conway

Using nothing but vi and two fingers, Damian will create a series Perl 6
programs before your very eyes, illustrating along the way the new
features of the language, and the new techniques and idioms that those
features make possible.

****************
STAR TREK BONUS! 
****************

On our sailing there will also be a CruiseTrek conference, with about a
half dozen Star Trek personalities including: the celebrities George
Takei ("Sulu"), Ethan Phillips ("Neelix"), and Wil Wheaton ("Wesley
Crusher"); Ronald B. Moore, Visual Effects Supervisor for "Enterprise";
Lolita Fatjo, Script Coordinator; Star Trek writer Eric Stillwell; and
others, still to be announced.

Typical CruiseTrek events include Q&A sessions with actors, photo
session with actors, actors entertainment hour, custom CruiseTrek games,
and much much more. For $275, attendees, spouses, and guests may attend
any and all of the CruiseTrek events!

For additional details, contact 
Charlie Datin,  310-456-7544 
cruisetrek at aol.com


Thanks again for your interest in Geek Cruises and I look forward to
seeing you in Hawaii!

Kind regards,

Neil Bauman
Cap'n & CEO
Geek Cruises, Inc.
650-327-3692

***********************************************************
Get the Geek Cruises discount on Osborne McGraw-Hill books:
http://www.mhorder/geekcruise
***********************************************************

To remove yourself from our list Reply and put "unsubscribe" on the
subject line -- with or without the quotes. (BUT remember, we'll be
drawing from our database the end of this month, to GIVE AWAY ANOTHER 
FREE CRUISE! By unsubscribing you'll miss this opportunity.)


----- End forwarded message -----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
Url : http://mail.pm.org/archives/belfast-pm/attachments/20020905/261a6964/attachment.bin


More information about the Belfast-pm mailing list