[San-Diego-pm] Meeting Recap

Chris Grau chris at chrisgrau.com
Tue Mar 11 10:47:46 PDT 2008


=head1 NAME

SanDiego::Meeting::Social - social gathering of the San Diego Perl Mongers


=head1 DATE

Monday, March 10, 2008, 19:00 - 21:00


=head1 DESCRIPTION

This is a simple meeting recap, conveniently written in pod so everyone
can read it in whatever format they prefer.  If you lack an appropriate
formatter, well, you can always write one.  As an added bonus, if you're
using a decent MUA *cough*Mutt*cough*, a formatter is only a few
keystrokes away:

    macro pager ,pd "<pipe-message>pod2text<enter>"


=head1 ATTENDEES

We had a good turn out this month.  Half of the attendees were even
first-time visitors to our humble meeting.

=over

=item * Bob

Our Fearless Leader.

=item * Brian

=item * Chris

=item * Dan

=item * Gautam

First-time attendee after hanging out with us on IRC.

=item * Manny

First-time attendee after being duped into showing up by Chris.

=item * Mark

=item * Olli

First-time attendee.  In fact, he had found our web page earlier in the
day only to discover that the meeting was later that night.  What a
happy coincidence!

=item * Pat

First-time attendee, willingly duped into attending by Gautam.

=item * Steve

First-time attendee, currently working his way through I<Learning Perl>.

=back


=head1 TOPICS

With so many new people, and a well-organized set of tables, there was
actually quite a bit of discussion about Perl.  What follows are some of
the topics covered, in no particular order.

=head2 New Meeting Date

Is Monday the best day of the week for our monthly social gathering?
Would another day of the week work out better for more people?  A
discussion will soon take place on the mailing list, with perhaps a
web-based poll to follow.

One suggestion was to hold the social meeting on the third Thursday of
the month.  Additionally, technical meetings may be scheduled based on
the most availability, leading to some months having both a social and a
technical gathering.  Who wouldn't want more days to spend with Perl
Mongers?

=head2 Object Models

With a range of Perl experience levels around the table, the question of
programming style was brought up.  Procedural versus functional versus
object-oriented.  It was noted that the object models for Perl, while
flexible, offered no real encapsulation.  Using closures for
encapsulation also increases the memory footprint of the program, which
can be an issue in some situations.  The more recent inside-out object
model was not mentioned.

=head2 "Clever" Functional Style

Someone brought up the functional style of programming in Perl, with
people voicing their opinions on the relative good and evil thereof.  It
was generally agreed upon that deeply nested C<map> and C<grep> blocks
should be well documented.  The nesting of the special C<$_> variable
was agreed to be safe, as it is localized to each block, at least for
C<map> and C<grep>.  However, no one took the time to verify this.

=head2 Aliasing Traps

Discussion of the special C<$_> variable also brought up the fact that
it serves as an alias for its value, and can thus be assigned to,
potentially altering a variable in an enclosing scope.  It was also
noted that the special C<@_> variable serves as an alias for subroutine
arguments, but this can lead to nasty, hard-to-find side-effects.

=head2 Perl 6 Features in Perl 5.10

Simple discussion of the internals of the Perl regex engine led people
to talk about some of their favorite features in Perl 5.10, some of
which have come from the design of Perl 6.  These include the smart
match operator (C<~~>), C<say>, C<given>/C<when>, the defined-or (C<//>)
operator, named captures, and of course the new regex engine internals
(i.e., an iterative vs.  recursive implementation).

=head2 XS/SWIG/Inline C

Gautam and Pat have some Perl code that interfaces to some C libraries.
This branched into some high level discussion about the methods to
accomplish such feats.  Back in November, we had a presentation on just
this topic.  Chris promised to post the slides to the web site soon.

=head2 Custom Web Template Engines

Who hasn't written their own web template engine at one point?  We
discussed some of the features available in the ones in use by Manny and
Olli.  Olli's, in fact, is more of a CGI framework than a mere template
engine.  The usual question was asked: why?  Mostly, they were designed
a very long time ago (in Internet time) when few other options were
available.

=head2 Majordomo 2

After Manny raised a complaint about mailman not allowing him to switch
his subscription to digest mode, conversation drifted to Majordomo 2,
that really cool mailing list manager written in Perl.  What ever became
of it?  The web site (L<http://www.mj2.org/>) is less than feature-rich.
A checkout of the code repository found around 10 commits in 2007, many
of which were made to documentation.  Most of the activity appears to
have stopped around 2004.

=head2 PHP Sucks

PHP was generally considered to encourage poor design, by making it far
too easy to mix code with presentation.  Much of this has been improved
with PHP 5 and the Zend engine.  However, the culture of PHP 4 style
programming still persists.  This is not unlike the culture of Perl 4
style programming that still creeps into view, even after more than a
decade of Perl 5.

=head2 DST Sucks

There was much discussion over the complete idiocy of Daylight Saving
Time and much agreement over the thought that it should go away.  Being
geeks of the programming (and often system administration) persuasion,
many were in favor of just using UTC everywhere, and always knowing what
time it is anywhere in the world.  Of course, this doesn't alleviate the
local daylight problem: if, in San Diego, we get to work at 18:00 UTC,
what is the rest of the world doing at that time?

=head2 CPAN Authoring

Olli had some general questions about how to share modules on the CPAN.
Chris, while explaining the PAUSE process, shared with the group his one
and only CPAN contribution, String::MkPasswd.

=head2 A Regex By Any Other Name

While wandering the halls at work with his Perl-branded coffee mug,
Chris was stopped by someone he did not know, but who obviously knew him
as "that Perl guy."  Unfortunately, this fellow didn't make it to the
meeting, but he had an interesting query, which Chris brought to the
meeting.  Given two regular expressions, how can one tell if one is a
subset of the other?  The Halting Problem was soon invoked.

=head2 Will Code Perl (or Java) for Food

But probably not dot-net.  Bob is still seeking a new job.  If anyone
has something, speak up soon while he's still available.  You don't want
to be the one who missed out on the opportunity to hire our Fearless
Leader.

=head2 Web 2.0 Programming

Out the window of Panera Bread, a book was spotted.  The title read,
"Web 2.0 Programming."  This triggered the obvious question: What
language is Web 2.0 written in, anyway?

L<http://www.amazon.com/Professional-Web-Programming-Wrox-Guides/dp/0470087889>

L<http://tinyurl.com/2z72yp>

=head2 Pet Peeves

People who write "PERL."

=head2 Next Meeting

The next meeting will be at the usual time and place, Monday, April 14,
2008, from 19:00 to 21:00 at Panera Bread.  The May meeting will likely
be the first to use any new schedule we agree on.


=cut
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.pm.org/pipermail/san-diego-pm/attachments/20080311/a1173c2a/attachment-0001.bin 


More information about the San-Diego-pm mailing list