From joshua.mcadams at gmail.com Thu Jun 1 08:17:57 2006 From: joshua.mcadams at gmail.com (Joshua McAdams) Date: Thu, 1 Jun 2006 11:17:57 -0400 Subject: [San-Diego-pm] YAPC::NA Message-ID: <49d805d70606010817n70a8e0c3y6fc234033b20bca1@mail.gmail.com> Hi there fellow Perl Mongers. I'm writing to remind you all that YAPC::NA is only a few weeks away. The conference will be held in Chicago June 26th through 28th and will feature four simultaneous sessions of Perl talks for three days in addition to a job fair, banquet, and auction. After the conference Damian Conway, Randal Schwartz, and brian d foy will be sticking around and conducting professional training classes and extremely reduced prices. This email is a little spammy (sorry about that), but I just wanted to remind you all about the conference and also ask for your help in promoting it so that we can fill up the few spots that are remaining. For more information check out http://www.yapcchicago.org. We invite you to put up posters: http://yapcchicago.org/yapc_poster.pdf http://yapcchicago.org/yapc_poster_white.pdf Or maybe a web banner: http://www.yapcchicago.org/yapc_banner_wide.jpg http://www.yapcchicago.org/yapc_banner_narrow.jpg Thank you for your help in making YAPC a success once again, Josh McAdams From chris_radcliff at mac.com Thu Jun 1 09:34:05 2006 From: chris_radcliff at mac.com (Chris Radcliff) Date: Thu, 1 Jun 2006 09:34:05 -0700 Subject: [San-Diego-pm] YAPC::NA In-Reply-To: <49d805d70606010817n70a8e0c3y6fc234033b20bca1@mail.gmail.com> References: <49d805d70606010817n70a8e0c3y6fc234033b20bca1@mail.gmail.com> Message-ID: Hi Josh, I won't be able to make it myself, but I've added it to Eventful and my Global Spin calendar: http://eventful.com/events/E0-001-001025677-7 http://www.globalspin.com/ Hope that helps. Good luck! Cheers, ~chris On Jun 1, 2006, at 8:17 AM, Joshua McAdams wrote: > Hi there fellow Perl Mongers. I'm writing to remind you all that > YAPC::NA is only a few weeks away. The conference will be held in > Chicago June 26th through 28th and will feature four simultaneous > sessions of Perl talks for three days in addition to a job fair, > banquet, and auction. After the conference Damian Conway, Randal > Schwartz, and brian d foy will be sticking around and conducting > professional training classes and extremely reduced prices. > > This email is a little spammy (sorry about that), but I just wanted to > remind you all about the conference and also ask for your help in > promoting it so that we can fill up the few spots that are remaining. From rkleeman at energoncube.net Tue Jun 6 17:38:00 2006 From: rkleeman at energoncube.net (Bob Kleemann) Date: Tue, 6 Jun 2006 17:38:00 -0700 Subject: [San-Diego-pm] Perl Meeting next week! Message-ID: <20060607003800.GE18754@energoncube.net> Just your normal reminder folks there will be a meeting on Monday, June 12. We will be meeting at the Panera Bread on Mira Mesa Blvd at 7PM. I hope to see you all there. From dreynolds at apexsystemsinc.com Mon Jun 12 09:00:31 2006 From: dreynolds at apexsystemsinc.com (Darren Reynolds) Date: Mon, 12 Jun 2006 12:00:31 -0400 Subject: [San-Diego-pm] Perl Programmer Position Message-ID: JOB DESCRIPTION Apex Systems is Looking for a Perl Programmer to work for a software development company in Irvine. This Company specializes in enterprise network management solutions. We have interviews lined up for June 12th and 13th from 10-11:30 & 3pm on. Title: Perl Programmer Location: Irvine Contract: 6 months-Full Time Employment Pay: DOE Candidates must be able to pass both a background and criminal check. The candidate must be familiar with programming in a Linux command line environment, and have working knowledge of networks and network protocols. Experience with MySQL database programming also a plus. This software development company offers a dynamic, fast-paced environment that allows you to truly make a difference. There is no bureaucratic red tape, nothing to keep you from innovating, creating and growing. Please include any and all of you following in your resume: -Perl Experience (Object oriented Perl) -Linux Environment -Networking Protocols -MySQL -Threading and forking If you are interested please e-mail me or call me directly. My information is below. -Darren Darren Reynolds Technical Recruiter Apex Systems - Newport Beach, CA TEL: 949-623-0003 FAX: 949-623-0004 TOLL FREE: 866-536-2739 E-mail: dreynolds at apexsystemsinc.com www.apexsystemsinc.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/san-diego-pm/attachments/20060612/a4187b4a/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/gif Size: 2137 bytes Desc: image002.gif Url : http://mail.pm.org/pipermail/san-diego-pm/attachments/20060612/a4187b4a/attachment.gif From rkleeman at energoncube.net Mon Jun 12 10:40:46 2006 From: rkleeman at energoncube.net (Bob Kleemann) Date: Mon, 12 Jun 2006 10:40:46 -0700 Subject: [San-Diego-pm] Perl Meeting tonight! Message-ID: <20060612174045.GI18754@energoncube.net> Just a reminder folks, there is a Perl Mongers meeting tonight. We'll be meeting at the Panera Bread on Mira Mesa Blvd at 7 PM. Come by and bring your ideas, thoughts, questions, and answers and we'll chat. I'll see you all tongiht. From david.romano at gmail.com Mon Jun 12 12:20:42 2006 From: david.romano at gmail.com (David Romano) Date: Mon, 12 Jun 2006 12:20:42 -0700 Subject: [San-Diego-pm] Perl Meeting tonight! In-Reply-To: <20060612174045.GI18754@energoncube.net> References: <20060612174045.GI18754@energoncube.net> Message-ID: <441079bd0606121220g217604ceh2872cdd2e16c70c8@mail.gmail.com> On 6/12/06, Bob Kleemann wrote: > Just a reminder folks, there is a Perl Mongers meeting tonight. We'll > be meeting at the Panera Bread on Mira Mesa Blvd at 7 PM. Come by and > bring your ideas, thoughts, questions, and answers and we'll chat. I think I'll be bringing Intermediate Perl to tonight's meeting, and I should be there by 7pm. The toy camel is still coming tho', right? David From menolly at mib.org Mon Jun 12 12:33:09 2006 From: menolly at mib.org (Menolly) Date: Mon, 12 Jun 2006 12:33:09 -0700 (PDT) Subject: [San-Diego-pm] Perl Meeting tonight! In-Reply-To: <441079bd0606121220g217604ceh2872cdd2e16c70c8@mail.gmail.com> References: <20060612174045.GI18754@energoncube.net> <441079bd0606121220g217604ceh2872cdd2e16c70c8@mail.gmail.com> Message-ID: I forgot to grab mine this morning, but I"ll try to get home and get it before the meeting. On Mon, 12 Jun 2006, David Romano wrote: > On 6/12/06, Bob Kleemann wrote: >> Just a reminder folks, there is a Perl Mongers meeting tonight. We'll >> be meeting at the Panera Bread on Mira Mesa Blvd at 7 PM. Come by and >> bring your ideas, thoughts, questions, and answers and we'll chat. > I think I'll be bringing Intermediate Perl to tonight's meeting, and I > should be there by 7pm. The toy camel is still coming tho', right? > > David > _______________________________________________ > San-Diego-pm mailing list > San-Diego-pm at pm.org > http://mail.pm.org/mailman/listinfo/san-diego-pm > -- menolly at mib.org http://www.livejournal.com/~nolly/ On that day, many will say to me, "Lord, Lord, did we not prophesy in your name, and cast out demons in your name, and do many mighty works in your name?" And then will I declare to them, "I never knew you; depart from me you evildoers." -- Matt 7:20-23, RSV From tkil at scrye.com Tue Jun 13 01:51:58 2006 From: tkil at scrye.com (Tkil) Date: Tue, 13 Jun 2006 02:51:58 -0600 Subject: [San-Diego-pm] Meeting Minutes (2006-06-12) Message-ID: <17550.31918.372131.472638@brand.scrye.com> I don't have the time to go into detail on these topics... (hears a sigh of relief from the audience), but here's a quick summary of the bits I heard at the meeting this evening. 0. Attendees: Joel Bob Tkil Nolly Emile David (?) 1. Module Naming. Joel got caught out when his host added a "Utils.pm" to their perl search path somewhere, and it started superceding his own package of the same name. Fix is for him to use this incantation if the .pm files are installed into the same directory as his executables: use FindBin qw(); use lib $FindBin::Bin; This puts the directory containing the executable at the front of the list of directories searched for modules. 2. Module / Package Naming. How can one avoid this sort of collision? It's a bit icky, but Java solved this neatly: always use the reversed DNS name of a domain you own (and is thus guaranteed unique). So I'd put my code into package Com::Foiani::Utils or similar. Overkill, and has the nasty side-effect of requiring lots of extra directories, but it guarantees I'll never be caught out by some new module showing up in the core distribution. 3. Shared Perl Code: .pm or .pl or ??? Joel then asked: why .pm at all? Bob and I answered: a. BECAUSE WE SAID SO DAMMIT! b. Because it's the Perl 5 Way. Ohm. c. Because "use" assumes it. .pl is more of a perl 4 way; some people still use it for perl executable scripts in the perl5 world, but I personally prefer ".plx" for that. *shrug* 4. Exporter. Once you realize that using ".pm" with matching "package ..." decl is the One True Way, the next step is to properly define the interface into your module. Until you understand why it's not always the answer, using "Exporter" is always the answer. Old Sk00l: use Exporter; our @ISA = qw( Exporter ); our @EXPORT_OK = qw( function1 procedure2 $scalar1 @array2 %hashbob ); New Mod World: use base Exporter; our @EXPORT_OK = qw( ... ) This is all explained in perldoc perlmod, and be informed that using @EXPORT_OK (instead of just knee-jerk defaulting to @EXPORT) is possibly contentious. But I'm Right. 5. Importing names. Possibly a matter of taste, but I tend to import every single name explicitly. In Perl, I write bits like this: use File::Find qw(); use File::Baseame qw( basename ); Instead of just the plain "use", which would bring in everything in that module's @EXPORT list. Likewise, I do the same in java: import java.util.ArrayList; import java.util.List; Instead of "import java.util.*". My rationale: having every import explicitly called out makes it immediately obvious where to look for the function definition. One can perhaps argue that the IDE ought to keep track of it for you, but IDEs can't help when you're reading code over the web or on a printout. Explicit imports work in both of those cases, and work against some forms of typos (granted, rare cases). 6. File::Finder I mentioned that I'd seen Randal pimping his File::Finder module on an internal mailing list a few days back: http://search.cpan.org/~merlyn/File-Finder-0.53/lib/File/Finder.pm It is intended to allow most (if not all) of the 'find' predicates to be evaluated within perl itself. This cuts back on crazy pipeline abuse (and the contortions required to keep the quoting proper and safe), as well as offering possible efficiency gains (one process instead of 2+), and definite portability gains (e.g., no 'find' on vanilla windows installs). File::Finder also offers an interesting variant on the [where possible] type-safe attribute construction pattern. When creating a new object, instead of using a constructor with zillions of parameters, a "blank slate" object is returned instead. Then a series of attribute setters are called, each returning the object itself, which allows for cascading calls. For File::Finder, that looks like this: my $big_or_old_files = $files->left->size("+50")->or->atime("+30")->right; This actually leads to very readable code, but I initially found the pattern a bit weird. These days, I rather like it. Nolly asked for a neutral analysis of the constructor/attribute pattern vs. a parameter hash, and my list of advantages of the constructor/attribute technique were: a. In strongly-typed languages, the attributes can be strongly typed. Think: new Car().color(RED).style(HATCHBACK).... b. Handling a parameter hash leads to big switch statements; the attribute method leads to small functions that do one thing. c. On the other paw, attriute methods tend to exclude immutable objects, which can suck for concurrent programming. d. On the third paw, one could have a ".finalize()" method that takes the object as currently attributed and make it immutable (that is, it returns an immutable instance). Ding. e. Both offer the ability to inherit handling of attributes, but the attribute methods seem more natural. f. Spell checking of attributes is done by the runtime in the attribute technique, while you have to do it manually in the parameter hash method. So not overwhelming, but I'd say that the constructor/attribute technique is a handy tool in the arsenal. 7. Odds and Sods. Fearful Lizard (that'd be me) is likely to be moving from San Diego to Albuquerque, NM, in the next few weeks, so this might have been his last meeting for a while. David is going to YAPC and will try to blog/report thereon. Joel is going to Ecuador and will seek perl geeks there. Happy hacking, t. From david.romano at gmail.com Sat Jun 24 20:51:36 2006 From: david.romano at gmail.com (David Romano) Date: Sat, 24 Jun 2006 20:51:36 -0700 Subject: [San-Diego-pm] Meeting Minutes (2006-06-12) In-Reply-To: <17550.31918.372131.472638@brand.scrye.com> References: <17550.31918.372131.472638@brand.scrye.com> Message-ID: <441079bd0606242051p2a88b2c4t6fb362fd5561e6fc@mail.gmail.com> On 6/13/06, Tkil wrote: > David is going to YAPC and will try to blog/report thereon. My first attempt: http://use.perl.org/~david.romano/journal/ There are many other attendees who are also blogging, too. The list is at http://www.yapcchicago.org/wiki/index.cgi?AttendeeBlogs David