[San-Diego-pm] Meeting Recap
chris at chrisgrau.com
Tue Mar 11 10:47:46 PDT 2008
SanDiego::Meeting::Social - social gathering of the San Diego Perl Mongers
Monday, March 10, 2008, 19:00 - 21:00
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
macro pager ,pd "<pipe-message>pod2text<enter>"
We had a good turn out this month. Half of the attendees were even
first-time visitors to our humble meeting.
=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
=item * Pat
First-time attendee, willingly duped into attending by Gautam.
=item * Steve
First-time attendee, currently working his way through I<Learning Perl>.
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
=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
=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
=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?
=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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
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