From marvin at rectangular.com Fri Jul 1 10:18:47 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 1 Jul 2005 10:18:47 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build Message-ID: Greets, I usually start out on a module project using h2xs to create the basic files (I always have to go look up the exact command line syntax in Randal's book on Modules). Since this isn't something i do every day, it's nice to feel confident that I haven't forgotten anything, and all I need to do is edit a template until nothing is wrong. With Schwern advocating so aggressively for Module::Build, I figured I'd migrate away from MakeMaker. But skimming through the Module::Build docs and the Module::Build::Cookbook, I don't see anything analogous to the h2xs command. If it's there and I didn't see it, forgive me... if not, how about a one-liner, specified in the Module::Build docs, that I can go back to time and again? Marvin Humphrey Rectangular Research http://www.rectangular.com/ From chromatic at wgz.org Fri Jul 1 11:03:41 2005 From: chromatic at wgz.org (chromatic) Date: Fri, 01 Jul 2005 11:03:41 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: Message-ID: <1120241021.2796.15.camel@localhost> On Fri, 2005-07-01 at 10:18 -0700, Marvin Humphrey wrote: > With Schwern advocating so aggressively for Module::Build, I figured > I'd migrate away from MakeMaker. But skimming through the > Module::Build docs and the Module::Build::Cookbook, I don't see > anything analogous to the h2xs command. If it's there and I didn't > see it, forgive me... if not, how about a one-liner, specified in the > Module::Build docs, that I can go back to time and again? Module::Starter's module-starter command may help. I haven't tried it, but it looks very handy. Best, -- c From publiustemp-pdxpm at yahoo.com Fri Jul 1 11:11:58 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Fri, 1 Jul 2005 11:11:58 -0700 (PDT) Subject: [Pdx-pm] Fwd: Uncaught bounce notification Message-ID: <20050701181158.34451.qmail@web60818.mail.yahoo.com> Hi all, I just started receiving these, but I don't know how to respond to this. Can anyone tell me what this means and what, if anything, should be done about this? Cheers, Ovid --- mailman-bounces at pm.org wrote: > Subject: Uncaught bounce notification > From: mailman-bounces at pm.org > To: pdx-pm-list-owner at pm.org > Date: Fri, 01 Jul 2005 11:04:10 -0700 > > The attached message was received as a bounce, but either the bounce > format was not recognized, or no member addresses could be extracted > from it. This mailing list has been configured to send all > unrecognized bounce messages to the list administrator(s). > > For more information see: > http://mail.pm.org/mailman/admin/pdx-pm-list/bounce > > > Date: 01 Jul 2005 13:04:02 -0500 > To: pdx-pm-list-bounces at pm.org > From: > Subject: SPAMCOP blocked IP = [63.251.223.186] > > Your email server is listed on the SpamCop Relay Black List (RBL). > Boy Scouts of America does not accept email from machines listed on > the SpamCop RBL service. Please have your System Administrator go to > http://spamcop.net/w3m?action=checkblock&ip=[63.251.223.186] for > more information or resend your email from a different email > system/account. > > >From pdx-pm-list-bounces at pm.org Fri Jul 01 13:04:01 2005 > X-IronPort-RCPT-TO: hhoult at cpcbsa.org > Received: from x6.develooper.com (localhost.localdomain [127.0.0.1]) > by x6.develooper.com (Postfix) with ESMTP > id 415BE1779F; Fri, 1 Jul 2005 11:03:59 -0700 (PDT) > Delivered-To: mailman-pdx-pm-list at mailman.pm.dev > Received: (qmail 2199 invoked from network); 1 Jul 2005 18:03:56 > -0000 > Received: from x1a.develooper.com (HELO x1.develooper.com) > (216.52.237.111) > by lists.develooper.com with SMTP; 1 Jul 2005 18:03:56 -0000 > Received: (qmail 17160 invoked by uid 225); 1 Jul 2005 18:03:56 -0000 > Delivered-To: pdx-pm-list at pm.org > Delivered-To: pdx-pm-list at mail.pm.org > Received: (qmail 17154 invoked by alias); 1 Jul 2005 18:03:55 -0000 > X-Spam-Status: No, hits=-2.6 required=8.0 > tests=BAYES_00 > X-Spam-Check-By: la.mx.develooper.com > Received-SPF: pass (x1.develooper.com: domain of chromatic at wgz.org > designates > 129.95.36.103 as permitted sender) > Received: from Unknown (HELO snafu.wgz.com) (129.95.36.103) > by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; > Fri, 01 Jul 2005 11:03:53 -0700 > Received: from localhost (snafu [127.0.0.1]) > by snafu.wgz.com (Postfix) with ESMTP > id E521F2337B; Fri, 1 Jul 2005 11:03:48 -0700 (PDT) > Received: from snafu.wgz.com ([127.0.0.1]) > by localhost (snafu.wgz.com [127.0.0.1]) (amavisd-new, > port 10024) with ESMTP > id 20830-10; Fri, 1 Jul 2005 11:03:48 -0700 (PDT) > Received: from [192.168.1.29] (sub17-30.member.dsl-only.net > [63.105.17.30]) > (using TLSv1 with cipher RC4-MD5 (128/128 bits)) > (No client certificate requested) > by snafu.wgz.com (Postfix) with ESMTP > id 330A02334E; Fri, 1 Jul 2005 11:03:48 -0700 (PDT) > From: chromatic > To: Marvin Humphrey > In-Reply-To: > References: > Date: Fri, 01 Jul 2005 11:03:41 -0700 > Message-Id: <1120241021.2796.15.camel at localhost> > Mime-Version: 1.0 > X-Mailer: Evolution 2.2.1.1 > X-Virus-Scanned: by amavisd-new at wgz.org > Cc: "pdx.pm" > Subject: Re: [Pdx-pm] Starting from scratch with Module::Build > X-BeenThere: pdx-pm-list at pm.org > X-Mailman-Version: 2.1.6 > Precedence: list > List-Id: > List-Unsubscribe: , > > List-Archive: > List-Post: > List-Help: > List-Subscribe: , > > Content-Type: text/plain; charset="us-ascii" > Content-Transfer-Encoding: 7bit > Sender: pdx-pm-list-bounces at pm.org > Errors-To: pdx-pm-list-bounces at pm.org > -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From ewilhelm at sbcglobal.net Fri Jul 1 12:26:41 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 1 Jul 2005 12:26:41 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <1120241021.2796.15.camel@localhost> References: <1120241021.2796.15.camel@localhost> Message-ID: <200507011226.41411.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # chromatic # on Friday 01 July 2005 11:03 am: >> From Marvin: >> ?If it's there and I didn't ?see it, forgive me... if not, >> ?how about a one-liner, specified in >> the ? Module::Build docs, that I can go back to time and again? I think it just got added to Module::Build::Authoring in 1.9. >Module::Starter's module-starter command may help. ?I haven't tried > it, but it looks very handy. It works. There were some minor bugs in the test generation (did the fixes get released yet?) I'm still digging on it when I get the chance trying to figure out how to get a customized template setup and maybe some hooks for version control. There has recently been some work by John Peacock on an XS setup with M:B and M:S. --Eric -- "Ignorance more frequently begets confidence than does knowledge." -- Charles Darwin --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From schwern at pobox.com Fri Jul 1 15:06:44 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 15:06:44 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <200507011226.41411.ewilhelm@sbcglobal.net> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> Message-ID: <20050701220644.GG29018@windhund.schwern.org> On Fri, Jul 01, 2005 at 12:26:41PM -0700, Eric Wilhelm wrote: > I think it just got added to Module::Build::Authoring in 1.9. Yeah, its in the alpha version. http://search.cpan.org/~kwilliams/Module-Build-0.27_01/lib/Module/Build/Authoring.pod But it talks almost exclusively about the various detailed things you can do in Build.PL and not about basic things like where your modules and tests go. For that sort of information the best source at the moment is probably to adapt from ExtUtils::MakeMaker::Tutorial. http://search.cpan.org/dist/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod I honestly don't bother with things like h2xs (especially h2xs) because their templates tend to make things seem WAY more complicated than they really are by providing "fill in the blanks" for all sorts of stuff you're unlikely to need. I think h2xs has contributed greatly to the "writing modules is hard" myth. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From schwern at pobox.com Fri Jul 1 15:12:05 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 15:12:05 -0700 Subject: [Pdx-pm] Fwd: Uncaught bounce notification In-Reply-To: <20050701181158.34451.qmail@web60818.mail.yahoo.com> References: <20050701181158.34451.qmail@web60818.mail.yahoo.com> Message-ID: <20050701221205.GH29018@windhund.schwern.org> On Fri, Jul 01, 2005 at 11:11:58AM -0700, Ovid wrote: > I just started receiving these, but I don't know how to respond to > this. Can anyone tell me what this means and what, if anything, should > be done about this? Yet another blacklist (SpamCop this time) has inexplicably blacklisted develooper.com (which handles perl.org). This is why you never rely on just one blacklist. I'll let Ask and Robrt know. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick From marvin at rectangular.com Fri Jul 1 16:09:39 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 1 Jul 2005 16:09:39 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <1120241021.2796.15.camel@localhost> References: <1120241021.2796.15.camel@localhost> Message-ID: Chromatic writes... > Module::Starter's module-starter command may help. I haven't tried it, > but it looks very handy. Thanks, that's just what I was looking for. I now see that it's linked to in the documentation for perlnewmod. It's just a weird butterfly effect from how I learned to write modules that I didn't find it. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From marvin at rectangular.com Fri Jul 1 16:10:05 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 1 Jul 2005 16:10:05 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050701220644.GG29018@windhund.schwern.org> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> Message-ID: <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> Schwern writes: > I honestly don't bother with things like h2xs (especially h2xs) > because > their templates tend to make things seem WAY more complicated than > they > really are by providing "fill in the blanks" for all sorts of stuff > you're > unlikely to need. I think h2xs has contributed greatly to the > "writing > modules is hard" myth. Hmm. Shouldn't writing modules, at least for CPAN, be a _little_ hard, or more precisely, a little involved? How much of the stuff that comes out of h2xs or module-starter is fluff? Finding stuff on CPAN is already pretty annoying, because there are so many half-assed modules with inadequate documentation, tests, commenting, etc. I _like_ the idea that module writers who fail to alter the stub documentation open themselves to ridicule. http://search.cpan.org/search?query=blah+blah+blah In fact, I'd like to see Pod::Coverage, and maybe Test::Coverage results integrated into the search interface. Filter my results to eliminate garbage like this, please: http://search.cpan.org/~sburke/Pod-Simple-3.02/lib/Pod/Simple/HTML.pm http://search.cpan.org/~simon/Plucene-SearchEngine-1.1/lib/Plucene/ SearchEngine.pm As someone who takes documentation and QC seriously, I appreciate having a template prepared for me that errs on the side of excess. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From ewilhelm at sbcglobal.net Fri Jul 1 16:12:06 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 1 Jul 2005 16:12:06 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050701220644.GG29018@windhund.schwern.org> References: <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> Message-ID: <200507011612.07105.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Michael G Schwern # on Friday 01 July 2005 03:06 pm: >On Fri, Jul 01, 2005 at 12:26:41PM -0700, Eric Wilhelm wrote: >> I think it just got added to Module::Build::Authoring in 1.9. > >Yeah, its in the alpha version. >http://search.cpan.org/~kwilliams/Module-Build-0.27_01/lib/Module/Buil >d/Authoring.pod Er. Yeah. I'm just going off of whatever CVS dumped on me. >But it talks almost exclusively about the various detailed things you > can do in Build.PL and not about basic things like where your modules > and tests go. Hmm. Maybe we (them) need a Module::Newbie pod. >I honestly don't bother with things like h2xs (especially h2xs) > because their templates tend to make things seem WAY more complicated > than they really are by providing "fill in the blanks" for all sorts > of stuff you're unlikely to need. That's part of why I'm trying to dig more into Module::Starter. The "I'm too lazy to write pod" default that h2xs gives is kind of annoying to have to delete, etc., but then mkdir -p path/to/My/, mkdir .., vi path/to/My/Module.pm is kind of a patternish sequence and I typically do get bit by the "did not return a true value" complaint when I start from scratch and forget to drop the 1 on the eof. > I think h2xs has contributed > greatly to the "writing modules is hard" myth. I can't find it now, but I distinctly remember reading something like "Always start with h2xs.\n"x3 in some documentation or other (was it in the camel book?) --Eric -- "...our schools have been scientifically designed to prevent overeducation from happening." --William Troy Harris --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From schwern at pobox.com Fri Jul 1 16:41:42 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 16:41:42 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> Message-ID: <20050701234142.GB781@windhund.schwern.org> On Fri, Jul 01, 2005 at 04:10:05PM -0700, Marvin Humphrey wrote: > Shouldn't writing modules, at least for CPAN, be a _little_ hard, or > more precisely, a little involved? No, why should it? > As someone who takes documentation and QC seriously, I appreciate > having a template prepared for me that errs on the side of excess. This I don't understand. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From schwern at pobox.com Fri Jul 1 16:48:34 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 16:48:34 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <200507011612.07105.ewilhelm@sbcglobal.net> References: <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <200507011612.07105.ewilhelm@sbcglobal.net> Message-ID: <20050701234834.GC781@windhund.schwern.org> On Fri, Jul 01, 2005 at 04:12:06PM -0700, Eric Wilhelm wrote: > >But it talks almost exclusively about the various detailed things you > > can do in Build.PL and not about basic things like where your modules > > and tests go. > > Hmm. Maybe we (them) need a Module::Newbie pod. The authoring docs need to be finished, for starters. The original plan was, I think, to break the docs down into: Basic module installation Advanced module installation Basic module authoring Advanced module authoring Extending Module::Build I've been planning on restructuring MakeMaker's docs along the same lines as soon as I get a dump truck of motiviation to do so. > > I think h2xs has contributed > > greatly to the "writing modules is hard" myth. > > I can't find it now, but I distinctly remember reading something like > "Always start with h2xs.\n"x3 in some documentation or other (was it in > the camel book?) Those were the first lines of the ExtUtils::MakeMaker "How To Write A Makefile.PL" documentation. How To Write A Makefile.PL The short answer is: Don't. Always begin with h2xs. Always begin with h2xs! ALWAYS BEGIN WITH H2XS! even if you're not building around a header file, and even if you don't have an XS component. I blame that for much of the confusion surrounding writing a module for so long both because it lead the user to view the overly complicated h2xs templates as being necessary and because it meant the MakeMaker docs never felt the need to have a simple Makefile.PL tutorial. I cleaved it from the docs about two years ago. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick From marvin at rectangular.com Fri Jul 1 17:40:52 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 1 Jul 2005 17:40:52 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050701234142.GB781@windhund.schwern.org> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> Message-ID: On Jul 1, 2005, at 4:41 PM, Michael G Schwern wrote: > On Fri, Jul 01, 2005 at 04:10:05PM -0700, Marvin Humphrey wrote: > >> Shouldn't writing modules, at least for CPAN, be a _little_ hard, or >> more precisely, a little involved? > > No, why should it? Because figuring out which modules are worth a damn is already time- consuming, and making it easier for people to contribute undocumented, untested crap makes it that much harder to pull the signal out of the noise. But maybe I can solve this s/n problem another way. I'm close to finishing a new version of Kinosearch. Seems like time grows ripe to build another CPAN search engine. Maybe we can get to a happy place where it's both easy to contribute and easy for prospective users to assess the quality of the contribution. >> As someone who takes documentation and QC seriously, I appreciate >> having a template prepared for me that errs on the side of excess. > > This I don't understand. I don't find it burdensome to delete a couple lines of "I'm too lazy to write POD" POD, because I'm going to spend a *lot* more time writing good POD to replace it than it takes to hit the 'd' key a dozen times in vim. I'm going to check the module and its associated files over several times to make sure nothing's missing before I publish. The time that it takes me to clear out unnecessary template material is inconsequential compared to the amount of time it takes me to do the job right. It is much harder to scan through a distro saying "looks good, looks good, oops looks wrong better fix that", then it is to scan through a distro saying "is anything missing, is anything missing, is anything missing". Marvin Humphrey Rectangular Research http://www.rectangular.com/ From marvin at rectangular.com Fri Jul 1 18:05:00 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 1 Jul 2005 18:05:00 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> Message-ID: I wrote: > It is much harder to scan through a distro saying > "looks good, looks good, oops looks wrong better fix that", then it > is to scan through a distro saying "is anything missing, is anything > missing, is anything missing". Oops looks wrong better fix that. It is much *easier* to scan through a distro saying, "looks good, looks good, oops looks wrong better fix that", than it is to scan through a distro saying "is anything missing, is anything missing, is anything missing". Marvin Humphrey Rectangular Research http://www.rectangular.com/ From schwern at pobox.com Fri Jul 1 19:06:39 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 19:06:39 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> Message-ID: <20050702020639.GA2692@windhund.schwern.org> On Fri, Jul 01, 2005 at 05:40:52PM -0700, Marvin Humphrey wrote: > > No, why should it? > > Because figuring out which modules are worth a damn is already time- > consuming, and making it easier for people to contribute > undocumented, untested crap makes it that much harder to pull the > signal out of the noise. Slowing the flow of modules to CPAN is not the way to do that espcially if its slowed by having to know some mysterious module creation mantra. That does not select for the best authors but for the ones that slog through the lore to discover what the mantra is. I've seen a lot of excellent code that was not put on CPAN because either A) they thought it was a difficult thing to do or B) they thought putting code on CPAN was something "special" and that nobody would be interested in their module. Remember, CPAN is the *Comprehensive* Perl Archive Network which means you get the good and the bad. Often by trying to filter out the bad we've lost the good. Its better to just gather everything together and filter from there. And then, of course, its a matter of opinion what's good and bad which is the overriding reason why there are no restrictions on what goes onto CPAN. > >> As someone who takes documentation and QC seriously, I appreciate > >> having a template prepared for me that errs on the side of excess. > > > > This I don't understand. > > I don't find it burdensome to delete a couple lines of "I'm too lazy > to write POD" POD, because I'm going to spend a *lot* more time > writing good POD to replace it than it takes to hit the 'd' key a > dozen times in vim. I'm going to check the module and its associated > files over several times to make sure nothing's missing before I > publish. If you're going to delete it why have it there in the first place? -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From schwern at pobox.com Fri Jul 1 19:11:52 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 1 Jul 2005 19:11:52 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> Message-ID: <20050702021152.GB2692@windhund.schwern.org> On Fri, Jul 01, 2005 at 06:05:00PM -0700, Marvin Humphrey wrote: > It is much *easier* to scan through a distro saying, "looks good, > looks good, oops looks wrong better fix that", than it is to scan > through a distro saying "is anything missing, is anything missing, is > anything missing". Humans might be able to eyeball "looks good" but try to teach a computer to figure that out. You can't eyeball all of CPAN. Its much easier to teach a computer to recognize if something is missing than if something "looks good". h2xs' ubiquity and uniformity just gives you a crib to give you one possible "looks bad" but you're not really checking to see if something is "good". For example, its easier to look for the lack of POD than to see if its poor documentation. Tools such as Pod::Coverage take advantage of this. Its easier to look for no tests, or poorly covering tests, than for "good" tests. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern ROCKS FALL! EVERYONE DIES! http://www.somethingpositive.net/sp05032002.shtml From ewilhelm at sbcglobal.net Fri Jul 1 21:36:06 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 1 Jul 2005 21:36:06 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050702020639.GA2692@windhund.schwern.org> References: <20050702020639.GA2692@windhund.schwern.org> Message-ID: <200507012136.07003.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Michael G Schwern # on Friday 01 July 2005 07:06 pm: >Slowing the flow of modules to CPAN is not the way to do that > ... >I've seen a lot of excellent code that was not put on CPAN because > either A) they thought it was a difficult thing to do or B) they > thought putting code on CPAN was something "special" and that nobody > would be interested in their module. There are conflicting opinions about this on the module-authors list. My personal approach since I started using subversion is to just dump my new stuff into my subversion repository and worry about getting it on CPAN when it's good enough (and when I get an automated release process so that publishing 17 distributions doesn't take a week (though that may be the case from QC anyway.)) >Remember, CPAN is the *Comprehensive* Perl Archive Network which means > you get the good and the bad. ?Often by trying to filter out the bad > we've lost the good. ?Its better to just gather everything together > and filter from there. So, let's do svn.perl.org and hook kinosearch to it right? Then all you need is a pause id (maybe a script could get you one of those automatically (or at least hold your hand and walk you through it)) and to run module-starter with the defaults (or a version thereof) to automagically have your new module published and under version control. --Eric -- "Beware of bugs in the above code; I have only proved it correct, not tried it." --Donald Knuth --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From schwern at pobox.com Sat Jul 2 01:52:11 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sat, 2 Jul 2005 01:52:11 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <200507012136.07003.ewilhelm@sbcglobal.net> References: <20050702020639.GA2692@windhund.schwern.org> <200507012136.07003.ewilhelm@sbcglobal.net> Message-ID: <20050702085211.GA4539@windhund.schwern.org> On Fri, Jul 01, 2005 at 09:36:06PM -0700, Eric Wilhelm wrote: > >I've seen a lot of excellent code that was not put on CPAN because > > either A) they thought it was a difficult thing to do or B) they > > thought putting code on CPAN was something "special" and that nobody > > would be interested in their module. > > There are conflicting opinions about this on the module-authors list. > My personal approach since I started using subversion is to just dump > my new stuff into my subversion repository and worry about getting it > on CPAN when it's good enough (and when I get an automated release > process so that publishing 17 distributions doesn't take a week (though > that may be the case from QC anyway.)) Attached is the little release program I use. Its pretty trivial and uses the cpan-upload program. http://search.cpan.org/dist/cpan-upload/ There's also Module::Release which can do things like upload to PAUSE, check into CVS, upload to SourceForge. http://search.cpan.org/~bdfoy/release/ > >Remember, CPAN is the *Comprehensive* Perl Archive Network which means > > you get the good and the bad. ?Often by trying to filter out the bad > > we've lost the good. ?Its better to just gather everything together > > and filter from there. > > So, let's do svn.perl.org and hook kinosearch to it right? Then all you > need is a pause id (maybe a script could get you one of those > automatically (or at least hold your hand and walk you through it)) and > to run module-starter with the defaults (or a version thereof) to > automagically have your new module published and under version control. svn.perl.org is already available and folks can request a repository there but I don't really see how this solves the problem of making a module. You still need to roll releases and upload them to PAUSE. You still need to create the Build.PL/Makefile.PL, tests and library layout. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! -------------- next part -------------- #!/usr/bin/perl -w use File::Copy; sub run { system(@_) == 0 or exit $? >> 8; } run("perl Makefile.PL"); # XXX Add SIGN=1 once key restored. run("make disttest"); run("make dist"); my @tarballs = glob("*.tar.gz"); die "More than one tarball" if @tarballs > 1; die "No tarball?" if @tarballs == 0; my $dist = $tarballs[0]; run("cpan-upload -verbose $dist"); run("scp $dist mungus.schwern.org:~/www/src/"); move($dist, "$ENV{HOME}/releases/"); From marvin at rectangular.com Sat Jul 2 14:52:21 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sat, 2 Jul 2005 14:52:21 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050702020639.GA2692@windhund.schwern.org> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> <20050702020639.GA2692@windhund.schwern.org> Message-ID: <9ADDBDCF-547E-4E5F-A1D7-A39A269A43AA@rectangular.com> On Jul 1, 2005, at 7:06 PM, Michael G Schwern wrote: > Slowing the flow of modules to CPAN is not the way to do that > espcially if > its slowed by having to know some mysterious module creation > mantra. That > does not select for the best authors but for the ones that slog > through the > lore to discover what the mantra is. True. I am recalling how confusing I found it to prepare my first distro. It didn't help that I was contemplating a multi-module distribution right off the bat. > I've seen a lot of excellent code that was not put on CPAN because > either > A) they thought it was a difficult thing to do or B) they thought > putting > code on CPAN was something "special" and that nobody would be > interested > in their module. > > Remember, CPAN is the *Comprehensive* Perl Archive Network which > means you > get the good and the bad. Often by trying to filter out the bad > we've lost > the good. Its better to just gather everything together and filter > from > there. Agreed. Since I consider undocumented code worthless and poorly documented code to be a timesuck I can't afford, I'd prefer never to see inadequately documented contributions in my search results. I have similar opinions about code with no tests at all. However, if a search-time filter can be constructed to weed out stuff like that, then there's not as much to be lost by relaxing expectations, and if that gets some people over the hump and turns them into contributors, they may well end up contributing valuable material down the line. I can also see that the punitive approach of ridiculing poor documentation has a downside, in that it may intimidate potential contributors. If rewarding good documentation were as effective, it would be better to go that route. >>>> As someone who takes documentation and QC seriously, I appreciate >>>> having a template prepared for me that errs on the side of excess. >>>> >>> >>> This I don't understand. >>> >> >> I don't find it burdensome to delete a couple lines of "I'm too lazy >> to write POD" POD, because I'm going to spend a *lot* more time >> writing good POD to replace it than it takes to hit the 'd' key a >> dozen times in vim. I'm going to check the module and its associated >> files over several times to make sure nothing's missing before I >> publish. > > If you're going to delete it why have it there in the first place? It's a "placeholder". What's hard to understand about that? It's not like I'm the only person who finds starting from a template more convenient that starting from an empty directory. Grokking a template imparts confidence that you've grokked the totality of the problem. When trying to follow the path you advocate away from the MakeMaker system I'd already learned and was comfortable with, I went looking for a Module::Build template to work from, because I figured that if I could understand and edit every part of the template, I'd have done everything that absolutely had to be done. When I couldn't find the procedure for creating such a template anywhere in the Module::Build docs, I almost threw in the towel and went back to MakeMaker. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From marvin at rectangular.com Sat Jul 2 15:08:26 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sat, 2 Jul 2005 15:08:26 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050702021152.GB2692@windhund.schwern.org> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> <20050702021152.GB2692@windhund.schwern.org> Message-ID: On Jul 1, 2005, at 7:11 PM, Michael G Schwern wrote: > On Fri, Jul 01, 2005 at 06:05:00PM -0700, Marvin Humphrey wrote: > >> It is much *easier* to scan through a distro saying, "looks good, >> looks good, oops looks wrong better fix that", than it is to scan >> through a distro saying "is anything missing, is anything missing, is >> anything missing". >> > > Humans might be able to eyeball "looks good" but try to teach a > computer > to figure that out. You can't eyeball all of CPAN. I'm talking about eyeballing my _own_ distro. If I see "Module Version Goes Here", I'll remember that I have to edit that text. If it's not there, there's a chance I'll forget to include a version number. It's easy to spot when something is blatantly wrong. It's hard to spot when something is missing. > Its much easier to > teach a computer to recognize if something is missing than if > something > "looks good". h2xs' ubiquity and uniformity just gives you a crib > to give > you one possible "looks bad" but you're not really checking to see if > something is "good". I doubt I'll ever use h2xs again, now that I've been introduced to module-starter. I could never remember the command line options to prevent h2xs from thinking I wanted to link in a C library. What would you like to see expunged from the module-starter-created template? The thing that seems vestigial to me, at least for pure Perl modules, is the README file. If dependencies and synopses can be found in the POD, there isn't much point to duplicating that info in a README. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From schwern at pobox.com Sat Jul 2 15:28:23 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sat, 2 Jul 2005 15:28:23 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> <20050702021152.GB2692@windhund.schwern.org> Message-ID: <20050702222823.GA15762@windhund.schwern.org> On Sat, Jul 02, 2005 at 03:08:26PM -0700, Marvin Humphrey wrote: > I'm talking about eyeballing my _own_ distro. If I see "Module > Version Goes Here", I'll remember that I have to edit that text. If > it's not there, there's a chance I'll forget to include a version > number. > > It's easy to spot when something is blatantly wrong. > It's hard to spot when something is missing. Ahh. Humans shouldn't do rote tasks, they suck at them. That sort of thing is easily automatable IF you don't clutter up your module with stubs. > What would you like to see expunged from the module-starter-created > template? Dunno, never used it. > The thing that seems vestigial to me, at least for pure Perl modules, > is the README file. If dependencies and synopses can be found in the > POD, there isn't much point to duplicating that info in a README. I've long held that duplicating the POD in the README is worthless. Its even more worthless now that we have search.cpan.org and you can look at a module's POD without downloading it. Long ago I took a stab at writing a useful README generator. Something that said what the module does, is good for and how to install it. This included its dependencies. Basically it generated a list of module dependencies from PREREQ_PM along with the minimum Perl version and URLs to find Perl and CPAN. It also look for any XS files to see if a C compiler was necessary and mentioned that. It then showed the usual "perl Makefile.PL; ..." mantra along with instructions about how to install outside the usual location (ie. PREFIX). Finally it slapped in the NAME, SYNOPSIS and first paragraph of the DESCRIPTION. Module::Build has its own create_readme() function but it, I think, simply copies the docs. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From david at kineticode.com Sun Jul 3 10:20:12 2005 From: david at kineticode.com (David Wheeler) Date: Sun, 3 Jul 2005 10:20:12 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050702222823.GA15762@windhund.schwern.org> References: <1120241021.2796.15.camel@localhost> <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> <20050702021152.GB2692@windhund.schwern.org> <20050702222823.GA15762@windhund.schwern.org> Message-ID: <3FD75F76-27F3-480E-A5F0-26FA229EA89E@kineticode.com> On Jul 2, 2005, at 3:28 PM, Michael G Schwern wrote: > Module::Build has its own create_readme() function but it, I think, > simply > copies the docs. It does. You might find Pod::Readme useful, though. But your stab sounds better, Michael. Whatever happened to it? Best, David From schwern at pobox.com Sun Jul 3 14:51:00 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sun, 3 Jul 2005 14:51:00 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <3FD75F76-27F3-480E-A5F0-26FA229EA89E@kineticode.com> References: <200507011226.41411.ewilhelm@sbcglobal.net> <20050701220644.GG29018@windhund.schwern.org> <0B714535-04AF-4F2C-9510-A0728B42A59C@rectangular.com> <20050701234142.GB781@windhund.schwern.org> <20050702021152.GB2692@windhund.schwern.org> <20050702222823.GA15762@windhund.schwern.org> <3FD75F76-27F3-480E-A5F0-26FA229EA89E@kineticode.com> Message-ID: <20050703215059.GE23515@windhund.schwern.org> On Sun, Jul 03, 2005 at 10:20:12AM -0700, David Wheeler wrote: > It does. You might find Pod::Readme useful, though. But your stab > sounds better, Michael. Whatever happened to it? Lost in one of many hard drive crashes. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From ewilhelm at sbcglobal.net Sun Jul 3 16:07:11 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Sun, 3 Jul 2005 16:07:11 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050703215059.GE23515@windhund.schwern.org> References: <200507011226.41411.ewilhelm@sbcglobal.net> <3FD75F76-27F3-480E-A5F0-26FA229EA89E@kineticode.com> <20050703215059.GE23515@windhund.schwern.org> Message-ID: <200507031607.11091.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Michael G Schwern # on Sunday 03 July 2005 02:51 pm: >On Sun, Jul 03, 2005 at 10:20:12AM -0700, David Wheeler wrote: >> It does. You might find Pod::Readme useful, though. But your stab ? >> sounds better, Michael. Whatever happened to it? > >Lost in one of many hard drive crashes. And here I thought he was holding out :-) The Pod::Readme did sound useful, though in need of some improvement or customize-ability. It's on my to-notdo list to come up with a system that uses pod to create all of the documentation, but of course there are things (as you mentioned) that could be put in the README automatically. --Eric -- "Matter will be damaged in direct proportion to its value." --Murphy's Constant --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From gabrielle.roth at xo.com Sun Jul 3 17:12:55 2005 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Sun, 3 Jul 2005 18:12:55 -0600 Subject: [Pdx-pm] Starting from scratch with Module::Build Message-ID: Michael G Schwern wrote: >I think h2xs has contributed greatly to the "writing modules is hard" myth. Hm, "modules made easy" sounds like a good meeting topic. :) - gabrielle "If you stay calm in a crisis, people will think you don't understand the problem." From jgoalby at hotmail.com Thu Jul 7 11:00:53 2005 From: jgoalby at hotmail.com (John Goalby) Date: Thu, 07 Jul 2005 11:00:53 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: <4831.24.21.67.113.1116471046.squirrel@webmail2.pair.com> Message-ID: I haven't seen this posted on this list so thought I would post it: http://pacwest.ms/codecamp/pdx/1/ Apologies if it was already posted. John. From krisb at ring.org Thu Jul 7 13:33:38 2005 From: krisb at ring.org (Kris Bosland) Date: Thu, 7 Jul 2005 13:33:38 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: Message-ID: On Thu, 7 Jul 2005, John Goalby wrote: > http://pacwest.ms/codecamp/pdx/1/ This looks interesting, but this also looks interesting: from http://pacwest.ms/about/ "This site is provided by the Microsoft West Region Developer and Platform Evangelism (DPE) team." Also, you must have a Yahoo sign in to participate. -Kris From schwern at pobox.com Thu Jul 7 14:40:47 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 7 Jul 2005 14:40:47 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: References: Message-ID: <20050707214047.GF3769@windhund.schwern.org> On Thu, Jul 07, 2005 at 01:33:38PM -0700, Kris Bosland wrote: > from http://pacwest.ms/about/ > > "This site is provided by the Microsoft West Region Developer and Platform > Evangelism (DPE) team." But its at Reed and Reedies are CrAziE! However they're not particularly known for their computer science department. Its an odd choice. Anyhow, one of the best conferences I ever went to was a Java conference. So don't put something down just because of the sponsor or registration system. Uggg, O'Reilly's speaker registration system has contained deep suckage for years. Also Microsoft is deeply, deeply schitzoid. "Small" departments within Microsoft often have goals which seem directly opposite of the rest of the company. More telling... as anyone heard of any of these guys? http://pacwest.ms/codecamp/pdx/1/tracks.html -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From krisb at ring.org Thu Jul 7 15:06:06 2005 From: krisb at ring.org (Kris Bosland) Date: Thu, 7 Jul 2005 15:06:06 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: <20050707214047.GF3769@windhund.schwern.org> Message-ID: On Thu, 7 Jul 2005, Michael G Schwern wrote: > On Thu, Jul 07, 2005 at 01:33:38PM -0700, Kris Bosland wrote: > > from http://pacwest.ms/about/ > > > > "This site is provided by the Microsoft West Region Developer and Platform > > Evangelism (DPE) team." > > But its at Reed and Reedies are CrAziE! However they're not particularly > known for their computer science department. Its an odd choice. > > Anyhow, one of the best conferences I ever went to was a Java conference. So > don't put something down just because of the sponsor or registration system. > Uggg, O'Reilly's speaker registration system has contained deep suckage for > years. > > Also Microsoft is deeply, deeply schitzoid. "Small" departments within > Microsoft often have goals which seem directly opposite of the rest of the > company. > > More telling... as anyone heard of any of these guys? > http://pacwest.ms/codecamp/pdx/1/tracks.html Well, I am actually considering going (I just don't want to join Yahoo to do it). I don't have a problem with any of the techies I have met from Microsoft, but I have a knee-jerk reaction when something looks like "hidden evangelism" (makes me envision isolate-and-hard-sell tactics). This sounds to me like a good way to learn about .NET and/or C#. But I would have been upset if I did not know that before I went. Tangentially, is ".ms" the microsoft top level domain? -Kris From krisb at ring.org Thu Jul 7 15:11:13 2005 From: krisb at ring.org (Kris Bosland) Date: Thu, 7 Jul 2005 15:11:13 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: Message-ID: Once more on this topic, and on the topic of net communication. I felt that this information was relevent and not explicit about this event, but really I was not trying to imply through unfinished sentances that this was Evil just because it it MicroSoft. I just didn't know what words to add or subtract to convey the extra information that would have been portrayed by my tone of voice, and I did not have a person whom I was speaking to, to guage their reaction and add extra information where I perceived gaps in my communication. How do other people deal with the tone deaf communication in email and web pages? Are there good phrases that can take the place of voice tone information? -Email Tone Deaf in Hillsboro On Thu, 7 Jul 2005, Kris Bosland wrote: > On Thu, 7 Jul 2005, John Goalby wrote: > > http://pacwest.ms/codecamp/pdx/1/ > > This looks interesting, but this also looks interesting: > > from http://pacwest.ms/about/ > > "This site is provided by the Microsoft West Region Developer and Platform > Evangelism (DPE) team." > > Also, you must have a Yahoo sign in to participate. > > -Kris > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > !DSPAM:42cd91b0320211411112355! > > From schwern at pobox.com Thu Jul 7 15:23:02 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 7 Jul 2005 15:23:02 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: References: <20050707214047.GF3769@windhund.schwern.org> Message-ID: <20050707222302.GI3769@windhund.schwern.org> On Thu, Jul 07, 2005 at 03:06:06PM -0700, Kris Bosland wrote: > Well, I am actually considering going (I just don't want to join Yahoo to > do it). I don't have a problem with any of the techies I have met from > Microsoft, but I have a knee-jerk reaction when something looks like > "hidden evangelism" (makes me envision isolate-and-hard-sell tactics). > > This sounds to me like a good way to learn about .NET and/or C#. But I > would have been upset if I did not know that before I went. Maybe we can stack it with Perl programmers. And monkeys! http://pacwest.ms/codecamp/images/presenters/emork.jpg > Tangentially, is ".ms" the microsoft top level domain? Its Montserrat, a tiny island in the caribbean which is mostly covered in volcanic ash and Windows ME cds right now. http://www.cia.gov/cia/publications/factbook/geos/mh.html -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick From schwern at pobox.com Thu Jul 7 15:29:55 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 7 Jul 2005 15:29:55 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: References: Message-ID: <20050707222955.GK3769@windhund.schwern.org> On Thu, Jul 07, 2005 at 03:11:13PM -0700, Kris Bosland wrote: > Once more on this topic, and on the topic of net communication. I felt > that this information was relevent and not explicit about this event, but > really I was not trying to imply through unfinished sentances that this > was Evil just because it it MicroSoft. I just didn't know what words to > add or subtract to convey the extra information that would have been > portrayed by my tone of voice, and I did not have a person whom I was > speaking to, to guage their reaction and add extra information where I > perceived gaps in my communication. How do other people deal with the > tone deaf communication in email and web pages? Are there good phrases > that can take the place of voice tone information? This reads like one of those big legal disclaimers Big Stupid Companies like to put at the end of their employee emails which States The Blindlingly Obvious. Don't sweat it. http://www.ncf.ca/ip/help/dictionary/smilies.en ;) -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From krisb at ring.org Thu Jul 7 15:48:59 2005 From: krisb at ring.org (Kris Bosland) Date: Thu, 7 Jul 2005 15:48:59 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: <20050707222955.GK3769@windhund.schwern.org> Message-ID: On Thu, 7 Jul 2005, Michael G Schwern wrote: > Don't sweat it. I try to walk the line between trying to improve, and saying "F*ck it". Maybe I'll just go find a Thesaurus next time I have a message that feels slippery. -Kris From kyle at cepaso.com Thu Jul 7 17:21:26 2005 From: kyle at cepaso.com (Kyle Dawkins) Date: Thu, 7 Jul 2005 17:21:26 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: <20050707214047.GF3769@windhund.schwern.org> References: <20050707214047.GF3769@windhund.schwern.org> Message-ID: > More telling... as anyone heard of any of these guys? > http://pacwest.ms/codecamp/pdx/1/tracks.html No, but Tim Heuer (about half way down the "Presenters" page) looks suspiciously like Borat: http://www.webgeordie.co.uk/borat/ From ptkwt at aracnet.com Thu Jul 7 17:39:21 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Thu, 7 Jul 2005 17:39:21 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: <20050707222302.GI3769@windhund.schwern.org> Message-ID: On Thu, 7 Jul 2005, Michael G Schwern wrote: > On Thu, Jul 07, 2005 at 03:06:06PM -0700, Kris Bosland wrote: > > Well, I am actually considering going (I just don't want to join Yahoo to > > do it). I don't have a problem with any of the techies I have met from > > Microsoft, but I have a knee-jerk reaction when something looks like > > "hidden evangelism" (makes me envision isolate-and-hard-sell tactics). Actually, it's not very well hidden. On the presenters page there are one or two people listed as Microsoft developer evangelists. Of course they just had the idea to do this Code Camp completely seperate from their work activities, I'm sure. > > > > This sounds to me like a good way to learn about .NET and/or C#. But I > > would have been upset if I did not know that before I went. Actually, I want to go and ask "So, what exactly is .NET anyway? I think I've heard about it somewhere or other, but I can't quite place it..." > > Maybe we can stack it with Perl programmers. > > And monkeys! > http://pacwest.ms/codecamp/images/presenters/emork.jpg > > And Powerbook/iBook users. Lots of glowing Apples facing the front. That would be good. > > Tangentially, is ".ms" the microsoft top level domain? > > Its Montserrat, a tiny island in the caribbean which is mostly covered in > volcanic ash and Windows ME cds right now. > http://www.cia.gov/cia/publications/factbook/geos/mh.html Interesting. Perhaps Microsoft bought the whole island? Phil From jgoalby at hotmail.com Fri Jul 8 14:03:25 2005 From: jgoalby at hotmail.com (John Goalby) Date: Fri, 08 Jul 2005 14:03:25 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: Message-ID: >On Thu, 7 Jul 2005, Michael G Schwern wrote: > > > On Thu, Jul 07, 2005 at 01:33:38PM -0700, Kris Bosland wrote: > > > from http://pacwest.ms/about/ > > > > > > "This site is provided by the Microsoft West Region Developer and >Platform > > > Evangelism (DPE) team." > > > > But its at Reed and Reedies are CrAziE! However they're not >particularly > > known for their computer science department. Its an odd choice. > > > > Anyhow, one of the best conferences I ever went to was a Java >conference. So > > don't put something down just because of the sponsor or registration >system. > > Uggg, O'Reilly's speaker registration system has contained deep suckage >for > > years. > > > > Also Microsoft is deeply, deeply schitzoid. "Small" departments within > > Microsoft often have goals which seem directly opposite of the rest of >the > > company. > > > > More telling... as anyone heard of any of these guys? > > http://pacwest.ms/codecamp/pdx/1/tracks.html > > >Well, I am actually considering going (I just don't want to join Yahoo to >do it). I don't have a problem with any of the techies I have met from >Microsoft, but I have a knee-jerk reaction when something looks like >"hidden evangelism" (makes me envision isolate-and-hard-sell tactics). > >This sounds to me like a good way to learn about .NET and/or C#. But I >would have been upset if I did not know that before I went. > >Tangentially, is ".ms" the microsoft top level domain? > >-Kris > > I wanted to clarify the reason I sent this to the list. It was for people that were interested in presenting as well as those interested in attending. The idea is really not to be pro-ms. So, if you want show pdx local devs something, this is your chance. Those that attend get the choice to see what they want. Just curious, why is joining yahoo a problem? John. From krisb at ring.org Fri Jul 8 15:02:12 2005 From: krisb at ring.org (Kris Bosland) Date: Fri, 8 Jul 2005 15:02:12 -0700 (PDT) Subject: [Pdx-pm] Code Camp In-Reply-To: Message-ID: On Fri, 8 Jul 2005, John Goalby wrote: > Just curious, why is joining yahoo a problem? Nothing against Yahoo! per se, just handing some information over to another big corporation for no particular purpose. How does this requirement benefit the camp? Just an easier bulletin board/mail list? Lots of software out there for that. -Kris From jgoalby at hotmail.com Fri Jul 8 16:26:53 2005 From: jgoalby at hotmail.com (John Goalby) Date: Fri, 08 Jul 2005 16:26:53 -0700 Subject: [Pdx-pm] Code Camp In-Reply-To: Message-ID: >On Fri, 8 Jul 2005, John Goalby wrote: > > Just curious, why is joining yahoo a problem? > >Nothing against Yahoo! per se, just handing some information over to >another big corporation for no particular purpose. >How does this requirement benefit the camp? Just an easier bulletin >board/mail list? Lots of software out there for that. > >-Kris Taken offlist as was not perl or pdx conference related :-) John. From perl-pm at joshheumann.com Fri Jul 8 16:30:33 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Fri, 8 Jul 2005 16:30:33 -0700 Subject: [Pdx-pm] [marsee@oreilly.com: Newsletter from the O'Reilly UG Program, July 8] Message-ID: <20050708233033.GJ4223@joshheumann.com> ----- Forwarded message from Marsee Henon ----- From: Marsee Henon Subject: Newsletter from the O'Reilly UG Program, July 8 Date: Fri, 08 Jul 2005 14:25:29 -0700 List-Unsubscribe: X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on codepirates.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=6.0 tests=none autolearn=unavailable version=3.0.3 ================================================================ O'Reilly UG Program News--Just for User Group Leaders July 8, 2005 ================================================================ -UG Book Discount Increases to 30% Off -Going to OSCON? -Put Up an O'Reilly OSCON Banner, Get a Free Book -Promotional Material Available ---------------------------------------------------------------- Book Info ---------------------------------------------------------------- ***Review Books are Available Copies of our books are available for your members to review-- send me an email and please include the book's ISBN number on your request. Let me know if you need your book by a certain date. Allow at least four weeks for shipping. ***Please Send Copies of Your Book Reviews Email me a copy of your newsletter or book review. For tips and suggestions on writing book reviews, go to: http://ug.oreilly.com/bookreviews.html ***Discount information Don't forget to remind your members about the 30% discount on O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, and Syngress books. Just use code DSUG. ***Group purchases with Better Discounts are Available Please let me know if you are interested and I can put you in touch with our sales department. ---------------------------------------------------------------- General News ---------------------------------------------------------------- ***UG Book Discount Increases to 30% Off Please let your members know about our 30% discount on O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, and Syngress books. Just use code DSUG. (See New Discount Bookmarks in promo materials.) ***Are you going to OSCON in Portland, Oregon this year? Please let me know! ***Put Up an O'Reilly OSCON Banner, Get a Free Book We're looking for user groups to display our conference banner on their web sites. If you send me the link to your group's site with our O'Reilly 2005 Open Source Convention banner, I will send you the O'Reilly book of your choice. OSCON Banners: http://ug.oreilly.com/banners/oscon2005/ ***Promotional Material Available: The following items are available for your next meeting. Numbers are limited so please don't wait too long. Let me know the item and the amount you'd like and I'll do my best. -Brand new hot off the press 30% UG Discount bookmarks in color! -O'Reilly Open Source Convention Brochures -MAKE Magazine (limit one per group) -LinuxWorld Passes (PDF) ================================================================ O'Reilly News for User Group Members July 8, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -JBoss: A Developer's Notebook -SharePoint Office Pocket Guide -Project 2003 Personal Trainer -Astronomy Hacks -UML 2.0 in a Nutshell -Maven: A Developer's Notebook -Web Mapping Illustrated -Exchange Server Cookbook -ASP.NET 2.0: A Developer's Notebook -Knoppix Pocket Reference -Mapping Hacks -Mac OS X Tiger Pocket Guide -Learning Unix for Mac OS X Tiger -MAKE Magazine Subscriptions Available ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -O'Reilly at LinuxWorld, San Francisco, CA--August 8-11 -David Pogue at Macworld Boston, SOHO Apple Store, and Stanford Linear Accelerator Center ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Register for the O'Reilly Open Source Convention, Portland, OR--August 1-5 ---------------------------------------------------------------- News ---------------------------------------------------------------- -Top Ten Questions People Ask About Switching to Internet Telephones -Anti-spam Techniques -Hacking Maps -Making Your RSS Feed Look Pretty in a Browser -Google Launches Payment System to Compete With PayPal -ESR: "We Don't Need the GPL Anymore" -Problems in OpenSSH, Sudo, and Java -Secure Your MySQL Databases -What Developers Want -Music Gadgets -Going to the Movies (and More) in iTunes -Tweaking Tiger Mail -Is This Security Alert Really from Microsoft? -Atlas: Microsoft's Answer to Ajax -Generics in .NET 2.0 -Getting Your Bluetooth Headset to Work in XP -Java City: The Java Enterprise Ecosystem -Getting Started with Maven -Seven Steps to Noise-Free Digital Audio -The Ultimate Portable Studio -MAKE: Audio--Interview with John Maushammer -MAKE: Blog--Podcasts on Audible ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 30% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***JBoss: A Developer's Notebook Publisher: O'Reilly ISBN: 0596100078 This Developers Notebook takes you on a complete tour of JBoss in a very unique way: rather than long discussions, you will find code--lots of code. In fact, the book is a collection of hands-on labs that take you through the critical JBoss features step-by-step. Don't just read about JBoss, learn it through direct practical application. http://www.oreilly.com/catalog/jbossadn/ Chapter 9, "Rolling Out JBoss," is available online: http://www.oreilly.com/catalog/jbossadn/ ***SharePoint Office Pocket Guide Publisher: O'Reilly ISBN: 0596101120 With this handy reference as your guide, you can reap all the benefits of SharePoint. It shows you, in plain language, how to construct websites where individuals from all over can capture and share ideas. Learn how to upload documents, edit content, send alerts, track work items, add new team members, and much more. http://www.oreilly.com/catalog/sharepointpg/ ***Project 2003 Personal Trainer Publisher: O'Reilly ISBN: 0596008546 Entertaining, clear, and informative, this book begins with the fundamentals of planning and managing a project with Microsoft Project 2003, and then includes sections on working with task lists, updating a project, tracking progress, creating reports, and more. This fully illustrated Personal Trainer features dozens of time-saving, task-oriented lessons, includes detailed diagrams, and comes with an interactive CD tutorial to guide your learning. http://www.oreilly.com/catalog/projectpt/ Chapter 5, "Working With Tasks," is available online: http://www.oreilly.com/catalog/projectpt/chapter/index.html ***Astronomy Hacks Publisher: O'Reilly ISBN: 0596100604 Do you relish viewing and identifying celestial objects? Whether you're a first timer or an advanced hobbyist, this book makes a brilliant cosmic companion. This handy field guide covers the basics of observing, and what you need to know about tweaking, tuning, adjusting, and tricking out a telescope. It includes priceless tips and tools for using a Dobsonian Telescope that you can build in your garage inexpensively. http://www.oreilly.com/catalog/astronomyhks/ Sample Hack 18, "Print Custom Charts," is available online: http://www.oreilly.com/catalog/astronomyhks/chapter/index.html ***UML 2.0 in a Nutshell Publisher: O'Reilly ISBN: 0596007957 This comprehensive guide has been crafted to help IT professionals read, create, and understand system artifacts expressed using UML, and its fully revised to cover UML 2.0. It not only provides a quick-reference to all UML 2.0 diagram types, it also explains key concepts in a way that appeals to readers already familiar with UML or object-oriented programming concepts. Also includes an example-rich tutorial for those new to the system. http://www.oreilly.com/catalog/umlnut2/ Chapter 7, "Use Case Diagrams," is available online: http://www.oreilly.com/catalog/umlnut2/chapter/index.html ***Maven: A Developer's Notebook Publisher: O'Reilly ISBN: 0596007507 If you're a Java programmer, this book will arm you with all the critical information you need to get up to speed on Maven. It forces you to get hands-on experience by working through a series of poignant exercises that speak to you instead of at you. In the end, you'll find yourself spending less time working on your project's build system and more time working on your project's code. http://www.oreilly.com/catalog/mavenadn/ Chapter 1, "Maven Jump-Start," is available online: http://www.oreilly.com/catalog/mavenadn/chapter/index.html ***Web Mapping Illustrated Publisher: O'Reilly ISBN: 0596008651 This clear and concise book shows you how to create maps (even interactive maps) with open source tools, including MapServer, OpenEV, GDAL/OGR, and PostGIS. It also explains how to find, collect, understand, use, and share mapping data, both over the traditional web and using OGC-standard services like WFS and WMS. http://www.oreilly.com/catalog/webmapping/ Chapter 3, "Converting and Viewing Maps," is available online: http://www.oreilly.com/catalog/webmapping/chapter/index.html ***Exchange Server Cookbook Publisher: O'Reilly ISBN: 0596007175 This comprehensive how-to guide covers the most common tasks for both Exchange 2000 and Exchange Server 2003, everything from installation and maintenance to configuration and optimization. In addition, you'll find solutions to many uncommon tasks, advanced procedures, and ways to write scripts for Exchange management and deployment tasks. What's more, you'll get answers quickly because chapters are laid out by recipe with cross-references to related solutions. http://www.oreilly.com/catalog/exchangeckbk/ Chapter 9, "Public Folder Management," is available online: http://www.oreilly.com/catalog/exchangeckbk/chapter/index.html ***ASP.NET 2.0: A Developer's Notebook Publisher: O'Reilly ISBN: 0596008120 To bring you up to speed with ASP.NET 2.0, this practical book offers nearly 50 hands-on projects. Each one explores a new feature of the language, with emphasis on changes that can increase productivity, simplify programming tasks, and help you add new functionality to your applications. You get the goods straight from the masters in an informal, code-intensive style. http://www.oreilly.com/catalog/aspnetadn/ Chapter 1, "What's New?" is available online: http://www.oreilly.com/catalog/aspnetadn/chapter/index.html ***Knoppix Pocket Reference Publisher: O'Reilly ISBN: 0596100752 If you want more information than the average Knoppix user, this book is an absolutely essential addition to your personal library. This handy reference shows you how to use Knoppix to troubleshoot and repair your computer, how to customize the Knoppix CD, run RAM memory checks, recover data from a damaged hard drive, scan for viruses on a Windows system, and much more. http://www.oreilly.com/catalog/knoppixpr/ ***Mapping Hacks Publisher: O'Reilly ISBN: 0596007035 This collection of one hundred simple techniques is ideal for developers and power users who want to draw digital maps. You'll learn where to find the best sources of geographic data, how to interpret the data, and how to integrate it into your own creations. It even provides practical, integrative uses for GPS devices. http://www.oreilly.com/catalog/mappinghks/ Sample Hack 15, "Zoom Right in on Your Neighborhood," is available online: http://www.oreilly.com/catalog/mappinghks/chapter/index.html ***Mac OS X Tiger Pocket Guide Publisher: O'Reilly ISBN: 0596009143 This concise guide introduces you to the fundamental concepts of using Mac OS X Tiger, including over 250 tips and tricks for using and configuring your system. It concentrates a wealth of tables, common keyboard shortcuts, tips for configuring your Mac, and an introduction to issuing basic Unix commands using the Terminal application into a package that is literally small enough to fit in your pocket. http://www.oreilly.com/catalog/mactigerpg/ ***Learning Unix for Mac OS X Tiger Publisher: O'Reilly ISBN: 0596009151 Thoroughly revised and updated for Mac OS X Tiger, this new edition introduces Mac users to the Terminal application and shows how to navigate the command interface, explore hundreds of Unix applications that come with the Mac, and, most importantly, take advantage of both the Mac and Unix interfaces. If you want to master the command line, look no further. http://www.oreilly.com/catalog/ltigerunix/ Chapter 8, "Taking Unix Online," is available online: http://www.oreilly.com/catalog/ltigerunix/chapter/index.html ***MAKE Magazine Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***O'Reilly at LinuxWorld, San Francisco, CA--August 8-11 Stop by our booth (#818) to check out our latest Linux and open source titles. We'll also have info on some of our groovy new projects like Make, Safari, and SafariU. http://www.linuxworldexpo.com/live/12/events/12SFO05A ***Don't Miss David Pogue, "NY Times" columnist, Emmy-winning correspondent for CBS News, and the always hilarious, always informative author of the Missing Manual series at the following locations: *MacWorld Boston, MA--July 13-14 David will speak at the conference July 13 at the following times: 11:15am-12:15pm The Mac OS X Tiger Supersession 1:15pm - 2:15 pm David's Favorite OS X Secret Or stop by the our booth (#423) to pick up the latest Missing Manual titles. David will be around on Wednesday and Thursday. For more information, go to: http://www.macworldexpo.com/live/20/events/20BOS05A/SN287250#david *SOHO Apple Store, New York, NY--July 18 6:30 pm 103 Prince Street For more information, including driving directions, go to: http://www.apple.com/retail/soho/week/20050501.html *Stanford Linear Accelerator Center, Palo Alto, CA--July 20 7:00 pm Panofsky Auditorium at SLAC 2575 Sand Hill Road Palo Alto, California Hosted by A32, DVMUG, MilMUG, NCMUG, PlanetMUG, SMUG, SVMUG For Driving Directions and public transportation: http://www.slac.stanford.edu/welcome/location.html Space is limited. If you would like to attend, please RSVP by emailing: mugevent at oreilly.com. Please be prepared to show photo ID at the gate. ================================================ Conference News ================================================ ***Register for the O'Reilly Open Source Convention, Portland, OR--August 1-5 OSCON 2005 explores three deep trends affecting open source: the commoditization of software, network-enabled collaboration, and software customizability. Join us at this essential gathering of open source leaders and practitioners of every persuasion to exchange ideas and push the boundaries of vital open source technologies. This year, we introduce the Open Source Business Review, along with a host of other exciting presentations and events. http://conferences.oreilly.com/oscon/ Use code "os05grpusr" when you register, and receive 15% off the registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/os2005/create/ord_os05 ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***Top Ten Questions People Ask About Switching to Internet Telephones "Talk Is Cheap" author James Gaskin blames internet telephone vendors and the press for dropping the consumer information ball when it comes to the basic questions they have about switching to internet or broadband telephones. If you're contemplating a switch, James has answers to ten most frequently asked questions about dropping your traditional telephone provider for broadband. http://www.oreillynet.com/pub/a/network/2005/06/27/talkischeap.html ***Anti-spam Techniques No Starch's Jonathan Zdziarski ("Ending Spam") speaks about his DSPAM application and Bayesian filtering techniques. http://www.networkworld.com/research/2005/0704radio.html ***Hacking Maps You've got the address, but where is that in GPS terms? In these two excerpts from "Mapping Hacks," learn how to geocode (adding geographic coordinates, such as latitude and longitude, to other information) a US street address, as well as a whole database of addresses using the geocoder.us web services. http://www.oreillynet.com/pub/a/network/excerpt/MapHacks_chap7/index. html ***Making Your RSS Feed Look Pretty in a Browser As more and more non-techie websites offer syndication feeds, a growing number of non-technical readers are clicking on the links and filling their screens with confusing XML. But syndication content doesn't have to look like geeky markup or malformed text in your readers' browsers. You can make it look quite pretty and give clues about what the feed is actually for. Ben Hammersley, author of "Developing Feeds with RSS and Atom," shows you how. http://www.oreillynet.com/pub/a/network/2005/07/01/rss.html ***Google Launches Payment System to Compete With PayPal Learn about Google's plan to launch a competitor to PayPal and what it will mean to you. http://www.sitepoint.com/blog-post-view.php?id=274986 --------------------- Open Source --------------------- ***ESR: "We Don't Need the GPL Anymore" During a recent Brazilian conference on free and open source software, hacker, writer, and speaker Eric Raymond stated that open source would see more rapid success if the GPL didn't make people nervous. Federico Biancuzzi recently interviewed ESR to gain more context for the statement and to explore these views more fully. http://www.onlamp.com/pub/a/onlamp/2005/06/30/esr_interview.html ***Problems in OpenSSH, Sudo, and Java Noel Davis looks at problems in OpenSSH, Sudo, Sun Java, Blackdown Java, tcpdump, cpio, JBOSS, Adobe Reader and Acrobat, gedit, Gaim, and Trac. http://www.linuxdevcenter.com/pub/a/linux/2005/06/24/security_alerts. html ***Secure Your MySQL Databases With Security being on the forefront of many users' minds, it's very important to ensure that your own sites databases are properly tied down from intruders. Learn about the first steps to take here. http://www.sitepoint.com/blog-post-view.php?id=275986 ***What Developers Want Regardless of the language and platform you choose for development, you likely share some goals with your fellow developers: to be productive, to use good tools, and to keep your tools and processes out of your way while you create good software. Murugan Pal, CTO of SpikeSource, explains ten attributes he thinks developers want. http://www.onlamp.com/pub/a/onlamp/2005/06/23/whatdevswant.html --------------------- Mac --------------------- ***Music Gadgets Derrick Story wants to listen to music in a different way everyday. Here are the gadgets he's been testing to "shuffle" his setup for music playback. A few of these are real keepers. http://www.macdevcenter.com/pub/a/mac/2005/06/24/gadgets.html ***Going to the Movies (and More) in iTunes Have you played with the video functionality in iTunes? If not, J.D Biersdorfer presents a few things that Steve Jobs has mentioned--and a few he hasn't. J.D. is the author of "iPod and iTunes: The Missing Manual, 3rd Edition." http://www.macdevcenter.com/pub/a/mac/2005/06/24/itunes.html ***Tweaking Tiger Mail The release of Mail 2.0 was largely overlooked amid all the fuss about Tiger's system-level features, but a number of people have made public complaints about changes made to the user interface. Mail's performance has improved, but the apparent willingness of Apple's designers to create an entirely new kind of toolbar icon just for use in Mail has irritated some. Giles Turnbull shows you how to bring happiness back to Mail. http://www.macdevcenter.com/pub/a/mac/2005/06/21/mail.html --------------------- Windows/.NET --------------------- ***Is This Security Alert Really from Microsoft? An excellent way to get information about Windows updates is via email with Microsoft Technical Security Notification Services. But how do you know what's real and what's a spoof? Mitch Tulloch, author of "Windows Server Hacks," shows you. http://www.windowsdevcenter.com/pub/a/windows/2005/07/05/scripting.html ***Atlas: Microsoft's Answer to Ajax Microsoft is putting together a toolkit for Web Developers who want to use AJAX (Asychronous JavaScript and XML). http://www.sitepoint.com/blog-post-view.php?id=276224 ***Generics in .NET 2.0 Generics in .NET 2.0 permeates with potential. But what are generics? Are they for you? Should you use them in your apps? Venkat Subramaniam, author of ".NET Gotchas," answers these questions and take a closer look at using generics, and their capabilities and limitations. http://www.ondotnet.com/pub/a/dotnet/2005/06/20/generics.html ***Getting Your Bluetooth Headset to Work in XP With Bluetooth support built into SP2, getting a Bluetooth headset to work should be a breeze. But it ain't necessarily so. Wei-Meng Lee shows you how to do it. http://www.windowsdevcenter.com/pub/a/windows/2005/07/05/bluetooth.html --------------------- Java --------------------- ***Java City: The Java Enterprise Ecosystem Should we worry about promoting a healthy Java community? Or iseverything just fine in Java City? Jim Farley asks you to weigh in on these questions, and others, in the Talkbacks. He plans a follow up article summarizing what you have to say. Your comments may help to shape content in Jim's upcoming book, "Java Enterprise in a Nutshell, 3rd Edition," due out in the fall. http://www.onjava.com/pub/a/onjava/2005/06/22/javacity.html ***Getting Started with Maven In this excerpt from "Maven: A Developer's Notebook," authors Vincent Massol and Timothy M. O'Brien show you how to install and start working with Maven, the do-it-all Java project builder/manager. http://www.onjava.com/pub/a/onjava/excerpt/mavenadn_ch01/index.html --------------------- Digital Media --------------------- ***Seven Steps to Noise-Free Digital Audio Virtually all audio recordings will contain some amount of noise. Learn what causes it, how to avoid it, and how to remove it from your files. Based on "Digital Audio Essentials" by Bruce and Marty Fries. http://digitalmedia.oreilly.com/2005/06/22/noise.html ***The Ultimate Portable Studio If you're a musician, producer, engineer, or songwriter who wants to set up a professional, laptop-based recording studio, here's all the information you need. http://digitalmedia.oreilly.com/2005/06/29/portable1.html Part Two: http://digitalmedia.oreilly.com/2005/07/06/portable2.html --------------------- MAKE --------------------- ***MAKE: Audio--Interview with John Maushammer John is a talented hardware tinkerer who's leading the way to reusing disposable digital cameras, and now the new CVS disposable digital video camcorder. Tune into hear how he does it. http://www.makezine.com/blog/archive/make_podcast/ Don't forget to add the MAKE feed to iTunes 4.9. Click this link: http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id= 73330671 (and then click SUBSCRIBE). ***MAKE: Blog--Podcasts on Audible Audible announced that they're supporting the podcast way of delivering some of their content. You can add a URL (RSS feed) to a podcasting application and the stuff you buy on Audible will go to your computer/music player just like all the free podcasts you subscribe to. So here's how it all works, plus the good, the bad, and the how-to for some other things. http://www.makezine.com/blog/archive/2005/06/audible_does_po.html ***For more information on MAKE, go to: http://www.makezine.com/ ================================================ >From Your Peers ================================================ ***Don't forget to check out the O'Reilly UG wiki to see what user groups around the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee Henon ================================================================ O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 http://ug.oreilly.com/ http://www.oreilly.com ================================================================ ----- End forwarded message ----- From ewilhelm at sbcglobal.net Fri Jul 8 16:40:39 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 8 Jul 2005 16:40:39 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: Message-ID: <200507081640.39802.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Roth, Gabrielle # on Sunday 03 July 2005 05:12 pm: >Michael G Schwern wrote: >>I think h2xs has contributed greatly to the "writing modules is hard" > >myth. > >Hm, "modules made easy" sounds like a good meeting topic. :) Cool. Is it that time again already? I could definitely go for a simple-rules sheet for what makes a module. Then maybe a whirlwind tour through module-starter, Module::MakeMaker, Inline::MakeMaker, Module::Build, and where all of this is going to land how. --Eric -- "It works better if you plug it in!" --Sattinger's Law --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From perl-pm at joshheumann.com Fri Jul 8 17:27:38 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Fri, 8 Jul 2005 17:27:38 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <200507081640.39802.ewilhelm@sbcglobal.net> References: <200507081640.39802.ewilhelm@sbcglobal.net> Message-ID: <20050709002737.GM4223@joshheumann.com> > Cool. Is it that time again already? > > I could definitely go for a simple-rules sheet for what makes a module. > Then maybe a whirlwind tour through module-starter, Module::MakeMaker, > Inline::MakeMaker, Module::Build, and where all of this is going to > land how. Oh, right. Ahem. Michael Schwern will be leading a discussion of how to make a module, what moduley system to use and how to get it ready for cpan. I was thinking just a continuation of this thread, but maybe with beer if we wanted to have the whole thing at the Lucky Lab. Either way, let's meet at Free Geek as per usual and figure it out from there. Josh From marvin at rectangular.com Fri Jul 8 18:34:42 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Fri, 8 Jul 2005 18:34:42 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050709002737.GM4223@joshheumann.com> References: <200507081640.39802.ewilhelm@sbcglobal.net> <20050709002737.GM4223@joshheumann.com> Message-ID: On Jul 8, 2005, at 5:27 PM, Josh Heumann wrote: > Michael Schwern will be leading a discussion of how to make a module, > what moduley system to use and how to get it ready for cpan. I was > thinking just a continuation of this thread, but maybe with beer if we > wanted to have the whole thing at the Lucky Lab. If I could suggest possible tangents: - structure of a multi-module distro - structure of an XS/Inline distro - structure of an XS/Inline multi-module distro with more than one Makefile.PL Marvin Humphrey Rectangular Research http://www.rectangular.com/ From schwern at pobox.com Fri Jul 8 19:01:50 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 8 Jul 2005 19:01:50 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <200507081640.39802.ewilhelm@sbcglobal.net> <20050709002737.GM4223@joshheumann.com> Message-ID: <20050709020150.GB20851@windhund.schwern.org> On Fri, Jul 08, 2005 at 06:34:42PM -0700, Marvin Humphrey wrote: > On Jul 8, 2005, at 5:27 PM, Josh Heumann wrote: > > > Michael Schwern will be leading a discussion of how to make a module, > > what moduley system to use and how to get it ready for cpan. I was > > thinking just a continuation of this thread, but maybe with beer if we > > wanted to have the whole thing at the Lucky Lab. > > If I could suggest possible tangents: > > - structure of a multi-module distro You mean multiple .pm files? > - structure of an XS/Inline distro > - structure of an XS/Inline multi-module distro with more than one > Makefile.PL WARNING: I know pretty much nothing about XS or Inline. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From krisb at ring.org Fri Jul 8 19:28:05 2005 From: krisb at ring.org (Kris Bosland) Date: Fri, 8 Jul 2005 19:28:05 -0700 (PDT) Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050709002737.GM4223@joshheumann.com> Message-ID: On Fri, 8 Jul 2005, Josh Heumann wrote: > > Either way, let's meet at Free Geek as per usual and figure it out from > there. > > Josh Does this mean next Wed, or are you talking about tonight? Just wondering, the discussion sounds interesting. -Kris From ewilhelm at sbcglobal.net Fri Jul 8 21:43:26 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 8 Jul 2005 21:43:26 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050709020150.GB20851@windhund.schwern.org> References: <20050709020150.GB20851@windhund.schwern.org> Message-ID: <200507082143.26625.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # Michael G Schwern # on Friday 08 July 2005 07:01 pm: >> > wanted to have the whole thing at the Lucky Lab. I think we would be over-run by le bike spectators (until 7:30), but maybe we could get the le-room? >> If I could suggest possible tangents: >> - structure of a multi-module distro >You mean multiple .pm files? yes >> - structure of an XS/Inline distro >> - structure of an XS/Inline multi-module distro with more than one ? >> Makefile.PL > >WARNING: ?I know pretty much nothing about XS or Inline. I don't either, but I've built a few modules that way :-) I'll try to put together something or other (though you may all have to boo me for how kludgy it is.) Schwern: should I try to fit this into your talk or make it an addendum? --Eric -- "It is a mistake to allow any mechanical object to realize that you are in a hurry." --Ralph's Observation --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From perl-pm at joshheumann.com Sat Jul 9 13:46:11 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Sat, 9 Jul 2005 13:46:11 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: References: <20050709002737.GM4223@joshheumann.com> Message-ID: <20050709204611.GA10871@joshheumann.com> > Does this mean next Wed, or are you talking about tonight? The meetings are the second Wednesday of the month, so this would be July 13th. Josh From marvin at rectangular.com Sun Jul 10 12:39:48 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sun, 10 Jul 2005 12:39:48 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <20050709020150.GB20851@windhund.schwern.org> References: <200507081640.39802.ewilhelm@sbcglobal.net> <20050709002737.GM4223@joshheumann.com> <20050709020150.GB20851@windhund.schwern.org> Message-ID: <4D955C2A-1418-436E-9BAB-013DEA3693A7@rectangular.com> On Jul 8, 2005, at 7:01 PM, Michael G Schwern wrote: > On Fri, Jul 08, 2005 at 06:34:42PM -0700, Marvin Humphrey wrote: > >> On Jul 8, 2005, at 5:27 PM, Josh Heumann wrote: >> >> >>> Michael Schwern will be leading a discussion of how to make a >>> module, >>> what moduley system to use and how to get it ready for cpan. I was >>> thinking just a continuation of this thread, but maybe with beer >>> if we >>> wanted to have the whole thing at the Lucky Lab. >>> >> >> If I could suggest possible tangents: >> >> - structure of a multi-module distro >> > > You mean multiple .pm files? 'zactly. Not too tough, but I was confused at first when I did this, because I wanted to put a single module in the top-level directory. Didn't go for a 'lib/' directory 'till later. I figured it was worth a mention... >> - structure of an XS/Inline distro >> - structure of an XS/Inline multi-module distro with more than one >> Makefile.PL This is where things start to get annoying. You need more than one Makefile.PL, because the C code is going to need special treatment. Under Inline (probably XS too, but I haven't tried that yet), the Makefile.PL needs to be in the same directory as the C code. But you don't want a bunch of Makefile.PL, Makefile.old, and Makefile garbage cluttering up your lib/ directory -- anything in the lib/ directory gets copied to the destination, and you definitely don't want that stuff to get "installed". Ken Williams was kind enough to educate me about the "traditional" layout in a message to the Inline list; here's a reformulation of his recipe: 1) Create a new directory under the top-level directory. 2) If the XS/Inline module is Foo/Bar.pm, name the directory Bar/. 3) Put a separate Makefile.PL within Bar/. 4) When you 'perl Makefile.PL' on the main Makefile.PL, the WriteMakefile() sub recurses through all directories looking for other files named "Makefile.PL", which it will then execute. For an example, Ken directed me to his AI::DecisionTree distro, which has AI::DecisionTree::Instance, an XS class, in a separate directory named Instance/: http://search.cpan.org/src/KWILLIAMS/AI-DecisionTree-0.08/ In my case, the one Inline C module is Search::Kinosearch::KSearch::ResultSet. Relocating that to a directory called ResultSet/ has forced me to change my workflow in a couple of ways. The command "perl -Ilib t/01-foo.t" no longer works; fortunately "make; perl -Mblib t/01-foo.t" is a good substitute. A problem I haven't yet solved is how to have apps other than tests (such as a search.cgi invoked through a web browser) that can point to my lib/ directory during development. I had to kludge up something with symbolic links. I figured exploring some extended cases like these would flesh out the meeting. After all, if you don't write any tests or any POD, writing modules really isn't very hard. ;) Marvin Humphrey Rectangular Research http://www.rectangular.com/ From schwern at pobox.com Sun Jul 10 23:44:06 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sun, 10 Jul 2005 23:44:06 -0700 Subject: [Pdx-pm] Starting from scratch with Module::Build In-Reply-To: <200507082143.26625.ewilhelm@sbcglobal.net> References: <20050709020150.GB20851@windhund.schwern.org> <200507082143.26625.ewilhelm@sbcglobal.net> Message-ID: <20050711064406.GA10488@windhund.schwern.org> On Fri, Jul 08, 2005 at 09:43:26PM -0700, Eric Wilhelm wrote: > >WARNING: ?I know pretty much nothing about XS or Inline. > > I don't either, but I've built a few modules that way :-) I'll try to > put together something or other (though you may all have to boo me for > how kludgy it is.) > > Schwern: should I try to fit this into your talk or make it an > addendum? Talk? What talk? I'm just leading a discussion. You provide the cliffs, I'll lead you off it. On a side note, I have a suspicion the group will be spit into folks that aren't very familiar with writing modules and have basic concerns and folks that are really familiar with writing modules have really detailed concerns. If we try to mix them together we'll get a bunch of folks who are either bored or very, very confused. So I see us fairly rapidly breaking up into smaller groups. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From perl-pm at joshheumann.com Tue Jul 12 10:06:40 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 12 Jul 2005 10:06:40 -0700 Subject: [Pdx-pm] [nreese@homebydesign.com: Re: Jobs?] Message-ID: <20050712170640.GE24619@joshheumann.com> ----- Forwarded message from Nathan Reese ----- Here is the info: Required Skillset: Perl programming in a professional environment for at least 5 years. Knowledge of programming in Linux is preferred. CGI, DBI/DBD with MySQL, and a heaping amount of dynamic html is just about all we do here so the ideal candidate must have related skills. This position is for permanent employment, salaried, on a W2 tax status. The position is offered directly through our company, Home By Design. I am not a recruiter. Salary will be determined by experience, range starting at 50K yearly up to 80K yearly for properly qualified coders. Benefits: Relocation benefits are offered and are negotiable. Life, disability, medical, dental, vision insurance are provided. 401K with profit sharing, paid vacation, casual dress work environment. Physically located in Hayden, Idaho, about 4 hours east of Seattle just outside Spokane, Washington. The cost of living is low, and its a lovely place to live. The position does not offer telecommute. Home By Design is a profitable publishing company that creates a home and decor magazine, which is used as a marketing tool for real estate agents. We have been wildly successful and offer plenty of room to grow with us and enjoy success as we continue to create the nations fastest growing marketing system for realtors. Only restriction is that this position is open to those legally authorized to work in the US, either permanent resident, or US citizens. We are not accepting work visa applications at this time. Resumes can be emailed directly to me, or faxed to 208-676-0469 Questions are definately welcome to my email address: nathan at homebydesign.com Thank you for your time and consideration. Nathan Reese Home By Design Magazine 11626 Tracey Rd Hayden, ID 83835 Phone: 208-676-0569 x102 Fax: 208-676-0469 ----- End forwarded message ----- From perl-pm at joshheumann.com Tue Jul 12 10:11:28 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 12 Jul 2005 10:11:28 -0700 Subject: [Pdx-pm] [marsee@oreilly.com: News from O'Reilly: Visit OSCON's Exhibit Hall Free August 2-5] Message-ID: <20050712171128.GG24619@joshheumann.com> ----- Forwarded message from Marsee Henon ----- Hello-- Just in case you want to pass the following along to your members: Visit the 2005 O'Reilly Open Source Convention Exhibit Hall at the Oregon Convention Center (Hall D) in Portland, Oregon for FREE! To register for your free exhibit hall pass, please visit http://conferences.oreillynet.com/cs/os2005/create/ord_os05 This year's OSCON Exhibit Hall is the largest in our seven-year history, and will feature a virtual "who's who" of open source companies. From exciting start-ups such as ActiveGrid, BlackDuck Software, LogicBlaze, MarvelIT, Merchere, Palamida, SpikeSource, Sourcebeat, SourceLabs, and SugarCRM to industry giants like Apple Computer, Computer Associates, Google, HP, IBM, Intel, Novell, Sun Microsystems, and Yahoo!, you'll find the latest software and hardware offerings for your enterprise, small or large. The legendary Powell's Technical Bookstore will be on-site and selling all titles at a 20% discount during the show. If you're in the market for employment, several companies will be recruiting during the event, so bring a resume. Your Exhibit Hall pass also gives you access to the Products & Services Track sessions, happening Tuesday through Friday, August 2-5: http://conferences.oreillynet.com/pub/w/38/track_products.html The OSCON Exhibit Hall Hours: Wednesday, August 3, 2005 from 10:00 am-4:30 pm and 6:00-7:30 pm Oregon Convention Center, Hall D 777 NE Martin Luther King, Jr. Blvd. Portland, Oregon 97232 Thanks, Marsee ================================================================ O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 http://ug.oreilly.com/ http://www.oreilly.com ================================================================ ----- End forwarded message ----- From ptkwt at aracnet.com Tue Jul 12 10:18:09 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Tue, 12 Jul 2005 10:18:09 -0700 (PDT) Subject: [Pdx-pm] [marsee@oreilly.com: News from O'Reilly: Visit OSCON's Exhibit Hall Free August 2-5] In-Reply-To: <20050712171128.GG24619@joshheumann.com> Message-ID: Anyone know if there is a pass that needs to be bought to get into the Thursday night OSCON keynotes? I didn't see anything like that on the OSCON site. Seems I recall someone saying either here or on another list that the evening Keynote speeches are open (as in free) to anyone - is that true? Phil On Tue, 12 Jul 2005, Josh Heumann wrote: > ----- Forwarded message from Marsee Henon ----- > > Hello-- > > Just in case you want to pass the following along to your members: > > Visit the 2005 O'Reilly Open Source Convention Exhibit Hall at the > Oregon Convention Center (Hall D) in Portland, Oregon for FREE! > > To register for your free exhibit hall pass, please visit > http://conferences.oreillynet.com/cs/os2005/create/ord_os05 > > This year's OSCON Exhibit Hall is the largest in our seven-year history, > and will feature a virtual "who's who" of open source companies. From > exciting start-ups such as ActiveGrid, BlackDuck Software, LogicBlaze, > MarvelIT, Merchere, Palamida, SpikeSource, Sourcebeat, SourceLabs, and > SugarCRM to industry giants like Apple Computer, Computer Associates, > Google, HP, IBM, Intel, Novell, Sun Microsystems, and Yahoo!, you'll > find the latest software and hardware offerings for your enterprise, > small or large. > > The legendary Powell's Technical Bookstore will be on-site and selling > all titles at a 20% discount during the show. > > If you're in the market for employment, several companies will be > recruiting during the event, so bring a resume. > > Your Exhibit Hall pass also gives you access to the Products & Services > Track sessions, happening Tuesday through Friday, August 2-5: > http://conferences.oreillynet.com/pub/w/38/track_products.html > > The OSCON Exhibit Hall Hours: > Wednesday, August 3, 2005 from 10:00 am-4:30 pm and 6:00-7:30 pm > > Oregon Convention Center, Hall D > 777 NE Martin Luther King, Jr. Blvd. > Portland, Oregon 97232 > > > Thanks, > > Marsee > > > ================================================================ > O'Reilly > 1005 Gravenstein Highway North > Sebastopol, CA 95472 > http://ug.oreilly.com/ http://www.oreilly.com > ================================================================ > > ----- End forwarded message ----- > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From gabrielle.roth at xo.com Tue Jul 12 10:22:15 2005 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Tue, 12 Jul 2005 11:22:15 -0600 Subject: [Pdx-pm] free booth at oscon Message-ID: I am still interested in helping out with this, if we're doing it. gabrielle > -----Original Message----- > From: pdx-pm-list-bounces at pm.org > [mailto:pdx-pm-list-bounces at pm.org] On Behalf Of Josh Heumann > Sent: Thursday, June 16, 2005 9:41 PM > To: pdx.pm > Subject: Re: [Pdx-pm] free booth at oscon > > > > > Yes. I'll labor for a part of a session pass. What's the > > contribution/session hourly ratio? I see 14.5 hours of > booth-staffing > > required and (at-a-glance ~21 hours of sessions available.) > Maybe just > > call it one-for-one to be safe? > > > > Should we wiki a sign-up sheet or what? How many people in > the group > > would like to go but don't plan to fully spend the > prescribed amount of > > time/money? > > That's one, do we have any others? We can start a wiki page, > but I'd like > to know that there's at least a bit of interest. > > Josh > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From perl-pm at joshheumann.com Tue Jul 12 10:29:56 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 12 Jul 2005 10:29:56 -0700 Subject: [Pdx-pm] free booth at oscon In-Reply-To: References: Message-ID: <20050712172956.GH24619@joshheumann.com> > I am still interested in helping out with this, if we're doing it. Sadly, we are not. Partly due to lack of interested people, and partly due to me not bugging people to do it. Josh From allison at perl.org Tue Jul 12 10:54:42 2005 From: allison at perl.org (Allison Randal) Date: Tue, 12 Jul 2005 10:54:42 -0700 Subject: [Pdx-pm] free booth at oscon In-Reply-To: <20050712172956.GH24619@joshheumann.com> References: <20050712172956.GH24619@joshheumann.com> Message-ID: <0195297b3fa156e71f4a962de6aba5ea@perl.org> On Jul 12, 2005, at 10:29, Josh Heumann wrote: > >> I am still interested in helping out with this, if we're doing it. > > Sadly, we are not. Partly due to lack of interested people, and partly > due to me not bugging people to do it. There will be a Perl Foundation booth, if anyone is interested in volunteering for that. We'll be selling Perl shirts, so we're going to try to keep it staffed all the time, not just during breaks. Allison From perl-pm at joshheumann.com Tue Jul 12 18:27:17 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 12 Jul 2005 18:27:17 -0700 Subject: [Pdx-pm] Lightning Talks at OSCON Message-ID: <20050713012716.GA26569@joshheumann.com> Lightning Talks at the 2005 O'Reilly Open Source Convention Lightning talks are brief (5-minute) talks that focus on a single example, idea, project, or technique. Lightning talks do not attempt to cover all aspects of their subject matter, but rather to present one facet of the idea clearly and succinctly. To submit a proposal for a lightning talk, please send your proposed title and an abstract of up to four sentences to osc-lt-2005-submit-perl at plover.com For more complete information, visit: http://perl.plover.com/lt/osc2005/ Thanks. From perl-pm at joshheumann.com Tue Jul 12 23:44:05 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 12 Jul 2005 23:44:05 -0700 Subject: [Pdx-pm] July Meeting Message-ID: <20050713064405.GB27692@joshheumann.com> July Meeting Wednesday, July 13th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave Michael Schwern, Modules Made E-Z Starting with the discussion on the mailing list in early July, Schwern will lead a conversation about building modules: what scripts to use, why, and how to make your module submittable to CPAN. Plus, all of the other topics that were covered in that thread. From perl-pm at joshheumann.com Wed Jul 13 09:51:21 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 13 Jul 2005 09:51:21 -0700 Subject: [Pdx-pm] Italian Perl Workshop 2005 proceedings on line Message-ID: <20050713165120.GD29209@joshheumann.com> ----- Forwarded message from Enrico Sorcinelli ----- Hi all, We are pleased to announce the on-line availability of 2nd Italian Perl Workshop (June 2005) proceedings. HTML and/or PDF version of all contributions may be downloaded from here: http://www.perl.it/documenti/talks/ipw/2005/ We hope that someone will enjoy a little bit with them ;-) - Enrico IPW05 organization && Pisa.pm leader --- have fun with www.perl.it --- ----- End forwarded message ----- From schwern at pobox.com Wed Jul 13 14:08:23 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 13 Jul 2005 14:08:23 -0700 Subject: [Pdx-pm] July Meeting In-Reply-To: <20050713064405.GB27692@joshheumann.com> References: <20050713064405.GB27692@joshheumann.com> Message-ID: <20050713210823.GG24499@windhund.schwern.org> On Tue, Jul 12, 2005 at 11:44:05PM -0700, Josh Heumann wrote: > July Meeting > Wednesday, July 13th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave > > Michael Schwern, Modules Made E-Z > > Starting with the discussion on the mailing list in early July, Schwern > will lead a conversation about building modules: what scripts to use, > why, and how to make your module submittable to CPAN. Plus, all of the > other topics that were covered in that thread. If you have some code you've been thinking of modularizing, bring it and we'll see if we can't modularize it. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From randall at sonofhans.net Wed Jul 13 23:17:34 2005 From: randall at sonofhans.net (Randall Hansen) Date: Wed, 13 Jul 2005 23:17:34 -0700 Subject: [Pdx-pm] powers of ten Message-ID: <72245C3F-964B-4F54-A560-896B522893E7@sonofhans.net> the video tonight was "powers of ten," [1] a film by charles and ray eames [2] (husband and wife). you'd probably recognize one of their chairs [3]. i found a similar java version [4]. r ---- 1) http://www.powersof10.com/ 2) http://www.eamesoffice.com/ 3) http://www.dwr.com/productdetail.cfm?id=0115 4) http://micro.magnet.fsu.edu/primer/java/scienceopticsu/powersof10/ From ewilhelm at sbcglobal.net Thu Jul 14 01:10:18 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Thu, 14 Jul 2005 01:10:18 -0700 Subject: [Pdx-pm] Fwd: Inline at OSCON Message-ID: <200507140110.18642.ewilhelm@sbcglobal.net> ---------- Forwarded Message: ---------- Subject: Inline at OSCON Date: Friday 08 July 2005 11:10 am From: Brian Ingerson To: inline at perl.org Hola Inliners, Long time no ingy. I'll be at OSCON this year. I am thinking that maybe we could have a BOF to determine the future development of this module. Is anyone here interested in that? Just to be clear, I'm still interested in Inline, but I have a lot of irons in the fire these days. So I keep a lazy watch on Inline. Luckily, for the most part it seems to be standing up well enough. But perhaps it's time for a tune up. I'd like to find a situation where lots of folks could be contributing to the project and not be gated on me. Cheers, Brian ------------------------------------------------------- From brendan at hollyking.org Thu Jul 14 10:05:29 2005 From: brendan at hollyking.org (brendan@hollyking.org) Date: Thu, 14 Jul 2005 17:05:29 +0000 Subject: [Pdx-pm] notes from last nights meeting? Message-ID: <20050714170529.GK11637@hollyking.org> I was really interested in last night talk but I had a prior engagement to go swimming in the Willamette (1). Did anyone happen to take notes they could share with me? Thanks! 1. The plan was to take a kayak tour around Ross Island but the Portland Spirit passed us by and I overcorrected in the wake and ended up taking a swim. I highly recommend the kayak tour, but I can not recommend the swim. -- Wood and workmanship must be fitted to the finish. -- Howard Chapelle From ewilhelm at sbcglobal.net Thu Jul 14 15:29:21 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Thu, 14 Jul 2005 15:29:21 -0700 Subject: [Pdx-pm] OT? Java .Net C# unhyped info? Message-ID: <200507141529.22136.ewilhelm@sbcglobal.net> Some might say this is off-topic. I'm trying to find honest introductory information about these overly hyped technologies that isn't on a Sun/MS billboard or in the context of "why these are stupid." Maybe my question is whether they are worth learning or how much is important to know. I've seen a hacker or two say that the buffoon will shoot himself in the foot anyway, and have been turned-off by the buzzwords that are sprinkled throughout the introductory material on the other side. So, it occurred to me that I may have never read any info that wasn't either hyping or dumping-on. Any references or thoughts from impartial observers? (not that I expect a lot of them to be hanging out here, more a "surely you've heard of one or two" question.) Thanks, Eric -- Don't worry about what anybody else is going to do. The best way to predict the future is to invent it. --Alan Kay --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From tex at off.org Thu Jul 14 16:03:27 2005 From: tex at off.org (Austin Schutz) Date: Thu, 14 Jul 2005 16:03:27 -0700 Subject: [Pdx-pm] OT? Java .Net C# unhyped info? In-Reply-To: <200507141529.22136.ewilhelm@sbcglobal.net> References: <200507141529.22136.ewilhelm@sbcglobal.net> Message-ID: <20050714230327.GG30249@gblx.net> On Thu, Jul 14, 2005 at 03:29:21PM -0700, Eric Wilhelm wrote: > Some might say this is off-topic. I'm trying to find honest > introductory information about these overly hyped technologies that > isn't on a Sun/MS billboard or in the context of "why these are > stupid." > > Maybe my question is whether they are worth learning or how much is > important to know. I've seen a hacker or two say that the buffoon will > shoot himself in the foot anyway, and have been turned-off by the > buzzwords that are sprinkled throughout the introductory material on > the other side. So, it occurred to me that I may have never read any > info that wasn't either hyping or dumping-on. > > Any references or thoughts from impartial observers? (not that I expect > a lot of them to be hanging out here, more a "surely you've heard of > one or two" question.) > I would never call myself impartial, but I would take the time to familiarize yourself with at least one. If you lean more toward Unix development, go the java route. If you want to use the Microsoft environment go for .Net/C#. Which one is your next employer going to want you to be familiar with? Language wise, Java and C# seem pretty similar to me. If you are familiar with Python they shouldn't be that hard to learn. There's even a Java implementation of Python. Austin From schwern at pobox.com Thu Jul 14 16:30:28 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 14 Jul 2005 16:30:28 -0700 Subject: [Pdx-pm] Austin's $VERSION trick Message-ID: <20050714233027.GM3611@windhund.schwern.org> ...didn't entirely work as written. To recap: The goal is to have a single location to set $VERSION for all the .pm files in a distribution. $VERSION has to all be on one line in order for various CPAN utilities to spot it. # lib/Hello/World/Version.pm package Hello::World::Version; return 0.01; # lib/Hello/World.pm package Hello::World; our $VERSION = require Hello::World::Version; This takes advantage of the fact that require returns the last evaluated expression of the file being required (a documented but little known feature). Unfortunately, this only happens the *first* time something is required. The second time it just returns 1 since the file has already been loaded. $ perl -Ilib -wle 'print require Hello::World::Version; print require Hello::World::Version' You need to either "do" the file which tells Perl to always reload it, but you can't say "do Hello::World::Version" it has to be "do 'Hello/World/Version.pm'" which is kind of nasty. But you can trick Perl into thinking that Hello::World::Version was never loaded by deleting its entry in %INC, the record of all the .pm files that have been loaded. $ perl -Ilib -wle 'print require Hello::World::Version; \ print keys %INC; \ print require Hello::World::Version; \ delete $INC{"Hello/World/Version.pm"}; \ print require Hello::World::Version' 0.01 Hello/World/Version.pm 1 0.01 Hello::World::Version can do this inside itself. package Hello::World::Version; delete $INC{"Hello/World/Version.pm"}; return 0.01; so that now "$VERSION = require Hello::World::Version" works as expected. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From publiustemp-pdxpm at yahoo.com Thu Jul 14 16:31:13 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 14 Jul 2005 16:31:13 -0700 (PDT) Subject: [Pdx-pm] OT? Java .Net C# unhyped info? In-Reply-To: <200507141529.22136.ewilhelm@sbcglobal.net> Message-ID: <20050714233113.77688.qmail@web60812.mail.yahoo.com> --- Eric Wilhelm wrote: > Some might say this is off-topic. I'm trying to find honest > introductory information about these overly hyped technologies that > isn't on a Sun/MS billboard or in the context of "why these are > stupid." > > Maybe my question is whether they are worth learning or how much is > important to know. Various thoughts: I know Java and I'm quite pleased that it's taught me quite a bit about OO (including how *not* to do it). Java is simple (the language, not all the bloody APIs), ubiquitous and and as of the 1.5 release, it's starting to get interesting. Not surprisingly, the reason Java is starting to get interesting is because of competition from C#. As for C#, there's this obscure Perl hacker named Simon Cozens who has interesting stuff to say about .Net and C#: http://perl.com/pub/a/2002/03/19/dotnet.html If you do go looking for information about these technologies, just be sure to get it from those folks who actually have programmed in them. I'm surprised at the amount of anti-language FUD I hear from folks who've never actually *used* the languages they're bashing. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From schwern at pobox.com Thu Jul 14 16:34:24 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 14 Jul 2005 16:34:24 -0700 Subject: [Pdx-pm] Hello::World Message-ID: <20050714233424.GA13343@windhund.schwern.org> I've put a tarball of the Hello::World module we worked up at the meeting here: http://www.pobox.com/~schwern/src/Hello-World.tar.gz This is a tar of the directory and not a "make dist". I wanted it to be the pristine source files, "make dist" adds some things in. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern ROCKS FALL! EVERYONE DIES! http://www.somethingpositive.net/sp05032002.shtml From ptkwt at aracnet.com Thu Jul 14 17:50:12 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Thu, 14 Jul 2005 17:50:12 -0700 (PDT) Subject: [Pdx-pm] OT? Java .Net C# unhyped info? In-Reply-To: <20050714230327.GG30249@gblx.net> Message-ID: On Thu, 14 Jul 2005, Austin Schutz wrote: > On Thu, Jul 14, 2005 at 03:29:21PM -0700, Eric Wilhelm wrote: > > Some might say this is off-topic. I'm trying to find honest > > introductory information about these overly hyped technologies that > > isn't on a Sun/MS billboard or in the context of "why these are > > stupid." > > > > Maybe my question is whether they are worth learning or how much is > > important to know. I've seen a hacker or two say that the buffoon will > > shoot himself in the foot anyway, and have been turned-off by the > > buzzwords that are sprinkled throughout the introductory material on > > the other side. So, it occurred to me that I may have never read any > > info that wasn't either hyping or dumping-on. > > > > Any references or thoughts from impartial observers? (not that I expect > > a lot of them to be hanging out here, more a "surely you've heard of > > one or two" question.) > > > > I would never call myself impartial, but I would take the time > to familiarize yourself with at least one. If you lean more toward Unix > development, go the java route. If you want to use the Microsoft environment > go for .Net/C#. > Which one is your next employer going to want you to be familiar > with? > > Language wise, Java and C# seem pretty similar to me. If you are > familiar with Python they shouldn't be that hard to learn. There's even > a Java implementation of Python. Caveat: It's been 7+ years since I did any Java. At the time I tried it for a while and liked it, but in the end I decided that C++ was a better fit for what I was doing performance-wise. Nowdays if I need performance C++ is still my choice as there have been a lot of advancements in the template space and Boost has become a very usable library. Sometimes I'll use a mixture of C++ and Ruby: C++ for the fast bits (10 to 20% of the code) and Ruby for everything else (80 to 90%). I've thought about learning C# lately as I've heard that they're getting nice things like lambdas (any movement towards this in the Java space?). Also, you can do C# programming on Mono so you don't need to run Windows or have Visual Studio to learn it. It's probably not a bad idea to learn some of both as a lot of jobs require one or the other. However, perhaps we should ask the OP what he's planning to do? If he's doing web development perhaps he should have a look at RubyOnRails (which some would also consider hyped, but at least it's grass-roots hype as opposed to corporate hype :) Phil From ewilhelm at sbcglobal.net Thu Jul 14 19:22:33 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Thu, 14 Jul 2005 19:22:33 -0700 Subject: [Pdx-pm] OT? Java .Net C# unhyped info? In-Reply-To: References: Message-ID: <200507141922.33535.ewilhelm@sbcglobal.net> # from Phil Tomson # on Thursday 14 July 2005 05:50 pm: >However, perhaps we should ask the OP what he's planning to do? Deliver agile custom software development services to the architecture, engineering, and construction industry. It would be nice if I had something more specific at the moment :-) also: Design and implement a CAD file format which is usable in multiple languages, including C, C++, perl, python, ruby, bash, etc. Maybe this involves writing libraries in all of these languages and more or maybe just collaborating with those that are. In any case, I had better (like any tourist) at least know how to ask where the sys.stdout is. The curiosity about other technologies (I know Linux, Perl, ~Python, ~C, ~Fortran, ~~Ruby, ~~C++, ~~Win32, ~~~?Lisp) is mostly about knowing "what I don't know" so that I can figure out what I need to know and whether or not I'm missing something. --Eric -- "If you only know how to use a hammer, every problem begins to look like a nail." --Richard B. Johnson --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From krisb at ring.org Fri Jul 15 13:56:31 2005 From: krisb at ring.org (Kris Bosland) Date: Fri, 15 Jul 2005 13:56:31 -0700 (PDT) Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050714233027.GM3611@windhund.schwern.org> Message-ID: On Thu, 14 Jul 2005, Michael G Schwern wrote: > you can't say "do Hello::World::Version" it has to be > "do 'Hello/World/Version.pm'" which is kind of nasty. ... > package Hello::World::Version; > > delete $INC{"Hello/World/Version.pm"}; > > return 0.01; Seems like there is still the hard coded separator problem. Is there a way to access this without those separators? -Kris From schwern at pobox.com Fri Jul 15 14:11:46 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 15 Jul 2005 14:11:46 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: References: <20050714233027.GM3611@windhund.schwern.org> Message-ID: <20050715211146.GG6897@windhund.schwern.org> On Fri, Jul 15, 2005 at 01:56:31PM -0700, Kris Bosland wrote: > > package Hello::World::Version; > > > > delete $INC{"Hello/World/Version.pm"}; > > > > return 0.01; > > Seems like there is still the hard coded separator problem. Is there a > way to access this without those separators? Thankfully, entries in %INC are always Unix style no matter the platform. Anyone with a Windows machine, I'd be curious to know what it does with: require "C:\foo\bar\baz.pl"; -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From merlyn at stonehenge.com Fri Jul 15 14:18:46 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 15 Jul 2005 14:18:46 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050715211146.GG6897@windhund.schwern.org> References: <20050714233027.GM3611@windhund.schwern.org> <20050715211146.GG6897@windhund.schwern.org> Message-ID: <86ek9z939l.fsf@blue.stonehenge.com> >>>>> "Michael" == Michael G Schwern writes: Michael> Anyone with a Windows machine, I'd be curious to know what it does with: Michael> require "C:\foo\bar\baz.pl"; You deliberately using a formfeed and two backspaces in there? -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From brendan at hollyking.org Fri Jul 15 14:43:32 2005 From: brendan at hollyking.org (brendan@hollyking.org) Date: Fri, 15 Jul 2005 21:43:32 +0000 Subject: [Pdx-pm] [brendan@hollyking.org: Re: Austin's $VERSION trick] Message-ID: <20050715214332.GM11637@hollyking.org> Dangit! I meant that to go to the list, not just to Schwern. -- P is for Prue trampled flat in a brawl. -- Edward Gorey, The Gashlycrumb Tinies -------------- next part -------------- An embedded message was scrubbed... From: brendan at hollyking.org Subject: Re: [Pdx-pm] Austin's $VERSION trick Date: Fri, 15 Jul 2005 21:42:28 +0000 Size: 1984 Url: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20050715/e9594aba/attachment.mht From david at kineticode.com Fri Jul 15 14:22:43 2005 From: david at kineticode.com (David Wheeler) Date: Fri, 15 Jul 2005 14:22:43 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050714233027.GM3611@windhund.schwern.org> References: <20050714233027.GM3611@windhund.schwern.org> Message-ID: On Jul 14, 2005, at 4:30 PM, Michael G Schwern wrote: > Hello::World::Version can do this inside itself. > > package Hello::World::Version; > > delete $INC{"Hello/World/Version.pm"}; > > return 0.01; > > so that now "$VERSION = require Hello::World::Version" works as > expected. Will this force Perl to re-load Hello::World::Version from disk for every module that requires it? If so, why not add a method to it? package Hello::World::Version; sub ver { return '0.01' } Then: our $Hello::World::VERSION = require Hello::World::Version && Hello::World::Version::ver; And either way, this won't fix those implementations (such as search.cpan.org) that don't evaluate *any* perl code when searching for the version number... Best, David From chromatic at wgz.org Fri Jul 15 14:26:47 2005 From: chromatic at wgz.org (chromatic) Date: Fri, 15 Jul 2005 14:26:47 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: References: <20050714233027.GM3611@windhund.schwern.org> Message-ID: <1121462807.10603.22.camel@localhost> On Fri, 2005-07-15 at 14:22 -0700, David Wheeler wrote: > Will this force Perl to re-load Hello::World::Version from disk for > every module that requires it? Yes, including cycling through @INC and all. I'm not an optimization nut, but avoiding unnecessary disk access is good. > If so, why not add a method to it? If you set $VERSION, you can use the VERSION method. > And either way, this won't fix those implementations (such as > search.cpan.org) that don't evaluate *any* perl code when searching > for the version number... True. My distributions include a META.yml file, though. Is this not enough? -- c From schwern at pobox.com Fri Jul 15 14:37:25 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 15 Jul 2005 14:37:25 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <86ek9z939l.fsf@blue.stonehenge.com> References: <20050714233027.GM3611@windhund.schwern.org> <20050715211146.GG6897@windhund.schwern.org> <86ek9z939l.fsf@blue.stonehenge.com> Message-ID: <20050715213725.GI6897@windhund.schwern.org> On Fri, Jul 15, 2005 at 02:18:46PM -0700, Randal L. Schwartz wrote: > Michael> Anyone with a Windows machine, I'd be curious to know what it does with: > > Michael> require "C:\foo\bar\baz.pl"; > > You deliberately using a formfeed and two backspaces in there? Its a test for the reader. You pass. :) This is what I want to know: perl -wle "require 'C:\\foo\\bar\\baz.pl'; print join qq'\n', keys %INC" Replace the file with any absolute path to a Perl file. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern ROCKS FALL! EVERYONE DIES! http://www.somethingpositive.net/sp05032002.shtml From brendan at hollyking.org Fri Jul 15 15:13:03 2005 From: brendan at hollyking.org (brendan@hollyking.org) Date: Fri, 15 Jul 2005 22:13:03 +0000 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050715213725.GI6897@windhund.schwern.org> References: <20050714233027.GM3611@windhund.schwern.org> <20050715211146.GG6897@windhund.schwern.org> <86ek9z939l.fsf@blue.stonehenge.com> <20050715213725.GI6897@windhund.schwern.org> Message-ID: <20050715221303.GO11637@hollyking.org> On Fri, Jul 15, 2005 at 02:37:25PM -0700, Michael G Schwern wrote: > Its a test for the reader. You pass. :) Doh! I fail. :( > perl -wle "require 'C:\\foo\\bar\\baz.pl'; print join qq'\n', keys %INC" I get: Carp.pm warnings.pm C:\foo\bar\baz.pl strict.pm Exporter.pm -- U is for Una who slipped down a drain. -- Edward Gorey, The Gashlycrumb Tinies From schwern at pobox.com Fri Jul 15 14:50:11 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 15 Jul 2005 14:50:11 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: References: <20050714233027.GM3611@windhund.schwern.org> Message-ID: <20050715215011.GJ6897@windhund.schwern.org> On Fri, Jul 15, 2005 at 02:22:43PM -0700, David Wheeler wrote: > Will this force Perl to re-load Hello::World::Version from disk for > every module that requires it? Yes. > If so, why not add a method to it? Because... > package Hello::World::Version; > sub ver { return '0.01' } > > Then: > > our $Hello::World::VERSION = require Hello::World::Version && > Hello::World::Version::ver; ...I think the length of that statement says it all. Remember what we're trying to replace: # lib/Hello/World/Version.pm package Hello::World; our $VERSION = 1.00; # lib/Hello/World.pm package Hello::World; our $VERSION = require Hello::World::Version && $Hello::World::VERSION; Which is, ironically, shorter. Now repeat that for 50 .pm files. Also, I'm willing to bet that reloading a 3 line Perl module really has no significant performance effect especially given that this technique is really of use in large systems. And I'll bet a method call is even slower. > And either way, this won't fix those implementations (such as > search.cpan.org) that don't evaluate *any* perl code when searching > for the version number... Yeah, Andreas noted that when he saw SVK doing this. They're working something out by putting version numbers into the provides slot of META.yml and having the CPAN indexers use that. META.yml finally has a use. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From schwern at pobox.com Fri Jul 15 14:57:05 2005 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 15 Jul 2005 14:57:05 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050715221303.GO11637@hollyking.org> References: <20050714233027.GM3611@windhund.schwern.org> <20050715211146.GG6897@windhund.schwern.org> <86ek9z939l.fsf@blue.stonehenge.com> <20050715213725.GI6897@windhund.schwern.org> <20050715221303.GO11637@hollyking.org> Message-ID: <20050715215705.GL6897@windhund.schwern.org> On Fri, Jul 15, 2005 at 10:13:03PM +0000, brendan at hollyking.org wrote: > On Fri, Jul 15, 2005 at 02:37:25PM -0700, Michael G Schwern wrote: > > > Its a test for the reader. You pass. :) > > Doh! I fail. :( > > > perl -wle "require 'C:\\foo\\bar\\baz.pl'; print join qq'\n', keys %INC" > > I get: > > Carp.pm > warnings.pm > C:\foo\bar\baz.pl > strict.pm > Exporter.pm Ok, so paths are only Unixy if they go through the "require Foo::Bar" -> "require 'Foo/Bar.pm'" translation. Makes sense. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From david at kineticode.com Fri Jul 15 15:28:33 2005 From: david at kineticode.com (David Wheeler) Date: Fri, 15 Jul 2005 15:28:33 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <1121462807.10603.22.camel@localhost> References: <20050714233027.GM3611@windhund.schwern.org> <1121462807.10603.22.camel@localhost> Message-ID: <6F67621B-79B3-4BD3-ABEB-1F9FBA20DBF5@kineticode.com> On Jul 15, 2005, at 2:26 PM, chromatic wrote: > Yes, including cycling through @INC and all. I'm not an optimization > nut, but avoiding unnecessary disk access is good. Agreed. > If you set $VERSION, you can use the VERSION method. Right, that's what I have Bricolage doing: require Bric; our $VERSION = Bric->VERSION; >> And either way, this won't fix those implementations (such as >> search.cpan.org) that don't evaluate *any* perl code when searching >> for the version number... > > True. My distributions include a META.yml file, though. Is this not > enough? No, I think that that probably is enough. But I don't have a solution for this for my JavaScript libraries. In fact, all of my CPAN modules have the version number hard coded in every module, too. Whenever I have a new version, I execute a script to update it: http://www.justatheory.com/computers/programming/perl/ increment_version.html I recently modified the regex to work with JavaScript library versions, too. Best, David From ewilhelm at sbcglobal.net Fri Jul 15 15:51:12 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 15 Jul 2005 15:51:12 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <20050714233027.GM3611@windhund.schwern.org> References: <20050714233027.GM3611@windhund.schwern.org> Message-ID: <200507151551.12830.ewilhelm@sbcglobal.net> # from Michael G Schwern # on Thursday 14 July 2005 04:30 pm: >? our $VERSION = require Hello::World::Version; > >This takes advantage of the fact that require returns the last > evaluated expression of the file being required (a documented but > little known feature). > >Unfortunately, this only happens the *first* time something is > required. The second time it just returns 1 since the file has > already been loaded. Wasn't the point of this trick to make the CPAN system happy? I guess it could bite you if you expected to rely on it for something within the running code. Anyway, this seems to work: our $VERSION = $Hello::World::Version || require(Hello::World::Version); ############# /tmp/lib$ tree . `-- Hello |-- World | `-- Version.pm `-- World.pm 2 directories, 2 files /tmp/lib$ cat Hello/World.pm package Hello::World; use Hello::World::Version; our $VERSION = $Hello::World::Version || require(Hello::World::Version); print "version: $VERSION\n"; /tmp/lib$ cat Hello/World/Version.pm package Hello::World; our $Version = '0.76_02'; return($Version); /tmp/lib$ PERL5LIB=/tmp/lib/ perl -e 'use Hello::World;' version: 0.76_02 ############# Comment the 'use' out of World.pm to check. --Eric -- The opinions expressed in this e-mail were randomly generated by the computer and do not necessarily reflect the views of its owner. --Management --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From ewilhelm at sbcglobal.net Fri Jul 15 16:01:05 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 15 Jul 2005 16:01:05 -0700 Subject: [Pdx-pm] Austin's $VERSION trick In-Reply-To: <200507151551.12830.ewilhelm@sbcglobal.net> References: <20050714233027.GM3611@windhund.schwern.org> <200507151551.12830.ewilhelm@sbcglobal.net> Message-ID: <200507151601.05539.ewilhelm@sbcglobal.net> # from Eric Wilhelm # on Friday 15 July 2005 03:51 pm: >$VERSION = $Hello::World::Version || require(Hello::World::Version); Oops. Don't put those parentheses in there when running under strict. our $VERSION = $Hello::World::Version || require Hello::World::Version; --Eric -- "I've often gotten the feeling that the only people who have learned from computer assisted instruction are the authors." --Ben Schneiderman --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From randall at sonofhans.net Tue Jul 19 11:05:05 2005 From: randall at sonofhans.net (Randall Hansen) Date: Tue, 19 Jul 2005 11:05:05 -0700 Subject: [Pdx-pm] evil @ARGV syntax Message-ID: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> folks ~ i'm refactoring some gnarly old code that has no tests. it's mostly baby perl, or worse. there's this line: if( $#ARGV + 1 < 1 || $#ARGV + 1 > 2 ) { which seems like a complicated way of writing: if( @ARGV < 1 or @ARGV > 2 ) { i've tested this and found it to be true. my question is, why on earth would someone write this the first way? it's one thing not to understand scalar context; it seems entirely insane to add those ones before the less|greater than tests. am i missing an idiom? historical reason? does @ARGV behave oddly enough in certain contexts that these gymnastics are necessary? thanks, r From chromatic at wgz.org Tue Jul 19 11:10:55 2005 From: chromatic at wgz.org (chromatic) Date: Tue, 19 Jul 2005 11:10:55 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> Message-ID: <1121796655.10296.106.camel@localhost> On Tue, 2005-07-19 at 11:05 -0700, Randall Hansen wrote: > if( $#ARGV + 1 < 1 || $#ARGV + 1 > 2 ) { > i've tested this and found it to be true. my question is, why on > earth would someone write this the first way? it's one thing not to > understand scalar context; it seems entirely insane to add those ones > before the less|greater than tests. My guess is a combination of not understanding scalar context and copying code from a book that didn't understand scalar context. ("To find the length of an array, use $#ARRAY + 1.") I once read a Perl book that suggested that being able to evaluate an array in scalar context was a bug that a future version of Perl would, hopefully, fix. -- c From jeff at vpservices.com Tue Jul 19 11:30:50 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Tue, 19 Jul 2005 11:30:50 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> Message-ID: <42DD46DA.2020006@vpservices.com> Randall Hansen wrote: > my question is, why on >earth would someone write this the first way? > They forgot the first rule : write code as if the person who has to maintain/refactor your code is a homicidal maniac and he has your home address. If they'd know it would be Randall, they would have been doubly afraid :-). -- Jeff From randall at sonofhans.net Tue Jul 19 11:46:44 2005 From: randall at sonofhans.net (Randall Hansen) Date: Tue, 19 Jul 2005 11:46:44 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <42DD46DA.2020006@vpservices.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <42DD46DA.2020006@vpservices.com> Message-ID: On Jul 19, 2005, at 11:30 AM, Jeff Zucker wrote: > They forgot the first rule : write code as if the person who has to > maintain/refactor your code is a homicidal maniac and he has your > home address. If they'd know it would be Randall, they would have > been doubly afraid :-). hey, i just *look* scary. no one at the united nations[1] is dead, right? :) r ---- 1) scene of a particularly hairy, seemingly endless job we did together last year. no political overtones intended. From schwern at pobox.com Tue Jul 19 12:14:03 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 19 Jul 2005 12:14:03 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> Message-ID: <20050719191403.GC10272@windhund.schwern.org> On Tue, Jul 19, 2005 at 11:05:05AM -0700, Randall Hansen wrote: > if( $#ARGV + 1 < 1 || $#ARGV + 1 > 2 ) { > > which seems like a complicated way of writing: > > if( @ARGV < 1 or @ARGV > 2 ) { > > i've tested this and found it to be true. my question is, why on > earth would someone write this the first way? it's one thing not to > understand scalar context; it seems entirely insane to add those ones > before the less|greater than tests. > > am i missing an idiom? historical reason? does @ARGV behave oddly > enough in certain contexts that these gymnastics are necessary? Lots of poorly written Perl books (which is to say most of them prior to 2000) never clearly teach $num_things = @things. See http://mungus.schwern.org/~schwern/litmus_test/index.html for some examples. Adding one to $#ARGV is to make the operation more like how people think. Rather than think "if the index of @ARGV is less than 0 or greater than 1" they want to express the more natural "if I got less than 1 argument or more than 2". Its also reflexive. $#array + 1 is how folks are often taught to get the number of elements in an array. The ironic thing is this is all a really complicated way of saying the much more natural: # if I got 1 or 2 args... if( @ARGV == 1 or @ARGV == 2 ) { ... } -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From david at kineticode.com Tue Jul 19 12:42:55 2005 From: david at kineticode.com (David Wheeler) Date: Tue, 19 Jul 2005 12:42:55 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050719191403.GC10272@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> Message-ID: <019443BE-91E5-451D-93A9-A1F8ABD134F7@kineticode.com> On Jul 19, 2005, at 12:14 PM, Michael G Schwern wrote: > Adding one to $#ARGV is to make the operation more like how people > think. Provided that they think in C. Best, David From ewilhelm at sbcglobal.net Tue Jul 19 12:50:25 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Tue, 19 Jul 2005 12:50:25 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050719191403.GC10272@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> Message-ID: <200507191250.25491.ewilhelm@sbcglobal.net> # from Michael G Schwern # on Tuesday 19 July 2005 12:14 pm: >On Tue, Jul 19, 2005 at 11:05:05AM -0700, Randall Hansen wrote: >> which seems like a complicated way of writing: >> >> if( @ARGV < 1 or @ARGV > 2 ) { I'm guessing the next step is to die with a usage message or otherwise complain about the number not being 1|2 >The ironic thing is this is all a really complicated way of saying the > much more natural: > > # if I got 1 or 2 args... > if( @ARGV == 1 or @ARGV == 2 ) { > ... > } You've reversed the intent though. unless(@ARGV == 1 or @ARGV == 2) { die "you must guess the correct number of arguments\n"; } Maybe they started in a language without an "unless" or for some other reason chose to write the negative form of the OK condition instead of negating the OK condition. if(not (@ARGV == 1 or @ARGV == 2)) { I prefer to use unless(everything_is_okay()) since I think it reads better. If Randall is in the sweet vengeful position of being able to return maintenance to the original author, maybe he would like to initiate a perl crash-course with the more conversational: unless(scalar(@ARGV) =~ m/^(?:1|2)$/) { Of course that's a little hairbrained, but I don't see any functional holes in it right now. IIRC, perl6 going to have something like (like!) $num == $this or $that, which is pronounced the same as the above but with less stuttering. --Eric -- "Everything goes wrong all at once." --Quantized Revision of Murphy's Law --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From tex at off.org Tue Jul 19 13:45:35 2005 From: tex at off.org (Austin Schutz) Date: Tue, 19 Jul 2005 13:45:35 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050719191403.GC10272@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> Message-ID: <20050719204535.GT30249@gblx.net> On Tue, Jul 19, 2005 at 12:14:03PM -0700, Michael G Schwern wrote: > On Tue, Jul 19, 2005 at 11:05:05AM -0700, Randall Hansen wrote: > > if( $#ARGV + 1 < 1 || $#ARGV + 1 > 2 ) { > > > > which seems like a complicated way of writing: > > > > if( @ARGV < 1 or @ARGV > 2 ) { > > > > i've tested this and found it to be true. my question is, why on > > earth would someone write this the first way? it's one thing not to > > understand scalar context; it seems entirely insane to add those ones > > before the less|greater than tests. > > > > am i missing an idiom? historical reason? does @ARGV behave oddly > > enough in certain contexts that these gymnastics are necessary? > > Lots of poorly written Perl books (which is to say most of them prior to 2000) > never clearly teach $num_things = @things. See > http://mungus.schwern.org/~schwern/litmus_test/index.html > for some examples. > > Adding one to $#ARGV is to make the operation more like how people think. I have to wonder what sort of people you've been associating with that think this way. :-) IIRC it's some sort of a shell script holdover. I never use it because imo it's heinously ugly syntax. Plopping a comment character in the middle of the symbol to determine not the length, but the index of the last entry? Yurgh. What happens if there are no entries in the array? -1? Ugh. How about the position of the last element of an anonymous array? $#$array? Triple yurgh. But... if you have a 2 dimensional array you can do cool things like $last_element = $a->[$#$a]->[$#{${*}a->[$#$a]}]; Let those java weenies parse that! On the other hand, apparently the whole scalar vs. array context can be confusing to newbies. Maybe it would be nice if the length() function returned the number of elements in an array, matching other languages. It's my understanding it's supposed to do just that in perl6. Austin From raa at mailporter.net Tue Jul 19 14:36:49 2005 From: raa at mailporter.net (raa@mailporter.net) Date: Tue, 19 Jul 2005 14:36:49 -0700 Subject: [Pdx-pm] ppm repository for Test::WWW::Mechanize Message-ID: <42DD7271.9020203@mailporter.net> I'm trying to install Test::WWW::Mechanize on a WinXP and Win2K server and would prefer to use ppm to do it. Down side is I can't find a repository with it. Any suggestions as to where to look? Can I get away with just placing the .pm in the correct directory. Repository-wise I have both ActiveStates, Roth Consulting and TheoryX. Any others I should have by default? Rod -- --- [Certified Virus free by MailPorter Mail Services. www.MailPorter.com ] From andy at petdance.com Tue Jul 19 14:40:40 2005 From: andy at petdance.com (Andy Lester) Date: Tue, 19 Jul 2005 16:40:40 -0500 Subject: [Pdx-pm] ppm repository for Test::WWW::Mechanize In-Reply-To: <42DD7271.9020203@mailporter.net> References: <42DD7271.9020203@mailporter.net> Message-ID: <20050719214040.GA14034@petdance.com> On Tue, Jul 19, 2005 at 02:36:49PM -0700, raa at mailporter.net (raa at mailporter.net) wrote: > I'm trying to install Test::WWW::Mechanize on a WinXP and Win2K server > and would prefer to use ppm to do it. Down side is I can't find a > repository with it. We authors certainly don't have any control over how it gets PPDed. There's really nothing in TWM that is at all tricky, or compiled. xoxo, Andy -- Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance From ewilhelm at sbcglobal.net Tue Jul 19 15:25:33 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Tue, 19 Jul 2005 15:25:33 -0700 Subject: [Pdx-pm] Fwd: [PLUG] ANNOUNCEMENT: Advanced Topics July 20th, 2005 Message-ID: <200507191525.33293.ewilhelm@sbcglobal.net> I've mentioned this methodology to a few people in the group. If you're interested, you may want to come to Jax tomorrow night and bash my casual "who needs testing?" approach (which is threatening to mature into the more conservative "who needs make install?".) Yes it's a linux group, but OS X has symlinks and subversion, so the mac-enabled can play too. --Eric ---------- Forwarded Message: ---------- Subject: [PLUG] ANNOUNCEMENT: Advanced Topics July 20th, 2005 Date: Tuesday 19 July 2005 02:53 pm From: Alan To: plug-announce at lists.pdxlinux.org, PLUG list Portland Linux/Unix Group Advanced Topics Speaker: Eric Wilhelm Subject: Rapid Development with a Safety Net Date: July 20th 2005 Time: 7:00pm - 9:00pm Location: Jax 826 SW 2nd Ave Portland, OR The talk will be on building multiple versions of software without unexpected adverse difficulties. (And still have it work.) The following is the outline as provided by Eric: INFO Audience: developers involved administrators consultants / integrators interested others Description: The talk will follow the basic outline below, quickly covering typical version control layouts and usage. Fairly thorough coverage of the perl/python library path structure (depending on audience familiarity.) I would expect the audience to bring some familiarity with system administration and program installation. Developers will probably benefit more than administrators, but most admins have at least written a bit of perl code and would definitely benefit from a less ad-hoc approach to this (especially if they have trouble with different versions of custom scripts on multiple machines.) I would like to break into ad-hoc discussion about extending the concept into compiled code and large projects. I think the audience would have more thoughts on handling dependencies and dealing with various package management systems. These are somewhat hairy areas, and the conclusion may be that you only want to use this approach when the complexity is easily managed. I think discussion of a chroot approach would fit as well. The "stupid question threshold" would be down around an understanding of filesystems and code vs binary, so anyone with a few years experience and no fear of the command line should be able to keep up. OUTLINE Motivations: code development project tracking casual contribution Traditional approach: make && make test && make install what sort of troubles copies cause why this is tedious if you're developing interpreted code why this is difficult if you're tracking multiple versions Basics: version control (svn/cvs/svk) trunk, branch, etc. vendor branches, external symlinks locations /usr/local/svn_stuff/ /usr/local/stow/ etc. $PATH $PERL5LIB $PYTHONPATH Interpreted code: perl, python, ruby, lisp Compiled code: C, C++ Issues: Dependencies Package management systems broken symlinks unexpected behavior? Usual meeting rules apply. Happy Hour meal prices for the first hour. -- "All power is derived from the barrel of a GNU." - Mao Tse Stallman _______________________________________________ PLUG mailing list PLUG at lists.pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug ------------------------------------------------------- -- "Time flies like an arrow, but fruit flies like a banana." --Groucho Marx --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From raa at mailporter.net Tue Jul 19 16:48:39 2005 From: raa at mailporter.net (raa@mailporter.net) Date: Tue, 19 Jul 2005 16:48:39 -0700 Subject: [Pdx-pm] Return of clueless Message-ID: <42DD9157.3010909@mailporter.net> ( It's too bad I now know Andy is on this list. :-) The saga continues. I have Test::WWW::Mechanize installed on the WinXP system. ( For others that might be interested install via ppm WWW:Mechanize, Test::LongString and Carp::Assert::More then put the TWM Mechanize.pm in the $perl/site/lib/Test/WWW directory. ) I created this _very_ simple script -- assuming I could test/learn TWM incrementally. use Test::WWW::Mechanize; my $mech = Test::WWW::Mechanize->new(); $mech->get_ok( "http://config.mailporter.com" ); $mech->title_like( qw/Config/ ); and got this back You tried to run a test without a plan! Gotta have a plan. at C:/Perl/site/lib/Test/WWW/Mechanize.pm line 105 # Looks like your test died before it could output anything. Searching for the word "plan" in every directory I could think of got me nothing. Line 105 and its near by friends in TWM Mechanize.pm is this. $self->get( $url, %opts ); my $ok = $self->success; $Test->ok( $ok, $desc ); if ( !$ok ) { $Test->diag( $self->status ); $Test->diag( $self->response->message ) if $self->response; } return $ok; This is part of sub get_ok whcih makes sense -- at least to me. So I thought @#$%^& Windows and tried this on a Fedora Core 2 system and got the same error message. What am I doing wrong? Somewhere further back up the Test:: chain is there a way to create/define a "plan" that I haven't found? Anyone have a full working example of a TWM script that I can look at? TIA, Rod -- --- [Certified Virus free by MailPorter Mail Services. www.MailPorter.com ] From chromatic at wgz.org Tue Jul 19 17:05:27 2005 From: chromatic at wgz.org (chromatic) Date: Tue, 19 Jul 2005 17:05:27 -0700 Subject: [Pdx-pm] Return of clueless In-Reply-To: <42DD9157.3010909@mailporter.net> References: <42DD9157.3010909@mailporter.net> Message-ID: <1121817927.10278.161.camel@localhost> On Tue, 2005-07-19 at 16:48 -0700, raa at mailporter.net wrote: > use Test::WWW::Mechanize; use Test::More tests => 2; > my $mech = Test::WWW::Mechanize->new(); > > $mech->get_ok( "http://config.mailporter.com" ); > $mech->title_like( qw/Config/ ); Every Perl test script built on Test::Builder requires you either to say how many tests you plan to run or to say that you don't want to say. -- c From schwern at pobox.com Tue Jul 19 17:19:55 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 19 Jul 2005 17:19:55 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <019443BE-91E5-451D-93A9-A1F8ABD134F7@kineticode.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <019443BE-91E5-451D-93A9-A1F8ABD134F7@kineticode.com> Message-ID: <20050720001954.GB12675@windhund.schwern.org> On Tue, Jul 19, 2005 at 12:42:55PM -0700, David Wheeler wrote: > On Jul 19, 2005, at 12:14 PM, Michael G Schwern wrote: > > >Adding one to $#ARGV is to make the operation more like how people > >think. > > Provided that they think in C. Provided they don't know about scalar @ARGV. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From schwern at pobox.com Tue Jul 19 17:22:52 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 19 Jul 2005 17:22:52 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050719204535.GT30249@gblx.net> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> Message-ID: <20050720002252.GC12675@windhund.schwern.org> On Tue, Jul 19, 2005 at 01:45:35PM -0700, Austin Schutz wrote: > > Lots of poorly written Perl books (which is to say most of them prior to > > 2000) never clearly teach $num_things = @things. PLEASE READ THE ABOVE BEFORE COMMENTING ON THE BELOW! If you don't know about "$num = @array" then "$num = $#array + 1" makes sense. > > Adding one to $#ARGV is to make the operation more like how people think. > > I have to wonder what sort of people you've been associating with > that think this way. :-) -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From schwern at pobox.com Tue Jul 19 17:30:59 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 19 Jul 2005 17:30:59 -0700 Subject: [Pdx-pm] Return of clueless In-Reply-To: <42DD9157.3010909@mailporter.net> References: <42DD9157.3010909@mailporter.net> Message-ID: <20050720003059.GD12675@windhund.schwern.org> On Tue, Jul 19, 2005 at 04:48:39PM -0700, raa at mailporter.net wrote: > What am I doing wrong? Somewhere further back up the Test:: chain is > there a way to create/define a "plan" that I haven't found? > > Anyone have a full working example of a TWM script that I can look at? Its a documentation bug. You have to set the plan with some other module, usually Test::More. use Test::More tests => 10; use Test::WWW::Mechanize; ... See http://rt.cpan.org/NoAuth/Bug.html?id=11257 -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From mikeraz at patch.com Tue Jul 19 19:51:39 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Tue, 19 Jul 2005 19:51:39 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720002252.GC12675@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> Message-ID: <20050720025138.GA21686@patch.com> Michael G Schwern wrote: > On Tue, Jul 19, 2005 at 01:45:35PM -0700, Austin Schutz wrote: > > > Lots of poorly written Perl books (which is to say most of them prior to > > > 2000) never clearly teach $num_things = @things. > > PLEASE READ THE ABOVE BEFORE COMMENTING ON THE BELOW! If you don't know about > "$num = @array" then "$num = $#array + 1" makes sense. And perlvar is silent on this aspect of Perl. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: A-Z affectionately, 1 to 10 alphabetically, from here to eternity without in betweens, still looking for a custom fit in an off-the-rack world, sales talk from sales assistants when all i want to do is lower your resistance, no rhythm in cymbals no tempo in drums, love's on arrival, she comes when she comes, right on the target but wide of the mark... From raa at mailporter.net Tue Jul 19 21:37:58 2005 From: raa at mailporter.net (Roderick A. Anderson) Date: Tue, 19 Jul 2005 21:37:58 -0700 Subject: [Pdx-pm] ppm repository for Test::WWW::Mechanize In-Reply-To: <7717E302-5DA0-4797-BC19-A1C7404D4E7C@petdance.com> References: <42DD7271.9020203@mailporter.net> <20050719214040.GA14034@petdance.com> <42DD7BC9.4020007@mailporter.net> <7717E302-5DA0-4797-BC19-A1C7404D4E7C@petdance.com> Message-ID: <42DDD526.7050007@mailporter.net> Andy Lester wrote: >> I didn't think so and was happy as all get out when I found "your" >> module. It is exactly what I need. > > > You're saying you found Test::WWW::Mechanize, but had you found > WWW::Mechanize first? What are you trying to do? I knew of WWW::Mechanize and was reading Damian Conway's article on "Perl Best Practices" on perl.com with the number 2 BP being write the tests first. ( I must appologize to all. I am not formally trained in programming. One class in the late 60's and then a two of three in the early 80's. Everything from then on has been via the "School of Reading, Trying, and Asking" so I don't always "get it" right off. ) Anyway I knew of Test::* but never had a reason to use it. Up to this time I've been coding under fire. You know get it done ... now. I'm now reviewing my code and trying to clean it up while still dodging bullets and making some funtionality changes. Many of the things I write are web based and I test them using the good old fashion way -- click, type, click, type, click. I needed a method to consistantly test changes plus formalizing the testing process seems a good way to know how everything actually ties together. So I was thinking of how to blend them -- Mechanize and Test::* -- and found Test::WWW:Mechanize already done. I just assumed I could pick and choose code samples from the docs without doing a lot of reading. Rod -- --- [Certified Virus free by MailPorter Mail Services. www.MailPorter.com ] From schwern at pobox.com Tue Jul 19 21:41:37 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 19 Jul 2005 21:41:37 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720025138.GA21686@patch.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> Message-ID: <20050720044137.GB13625@windhund.schwern.org> On Tue, Jul 19, 2005 at 07:51:39PM -0700, Michael Rasmussen wrote: > And perlvar is silent on this aspect of Perl. It also doesn't say much about regular expressions, threading, object-oriented programming or EBCDIC. NAME perlvar - Perl predefined variables DESCRIPTION Predefined Names The following names have special meaning to Perl. Ya got the wrong man page. I think you want perldata or perlintro. You might be tempted to use "$#array + 1" to tell you how many items there are in an array. Don't bother. As it happens, using @array where Perl expects to find a scalar value ("in scalar con- text") will give you the number of elements in the array: if (@animals < 5) { ... } -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From mikeraz at patch.com Wed Jul 20 05:47:01 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Wed, 20 Jul 2005 05:47:01 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720044137.GB13625@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> Message-ID: <20050720124701.GB1404@patch.com> Michael G Schwern wrote: > It also doesn't say much about regular expressions, threading, > object-oriented programming or EBCDIC. > > NAME > perlvar - Perl predefined variables > > DESCRIPTION > Predefined Names > > The following names have special meaning to Perl. For a topic that confuses new Perl folk this would seem to be something that should be covered at every available opportunity. The section on @ARGV does cover the $# issue: @ARGV The array @ARGV contains the command-line arguments intended for the script. $#ARGV is generally the number of arguments minus one, because $ARGV[0] is the first argument, not the program?s command name itself. See $0 for the command name. It's incredible easy to expand that to: @ARGV The array @ARGV contains the command-line arguments intended for the script. @ARGV evaluated in a scaler context returns the number of arguments. $#ARGV is generally the number of arguments minus one, because $ARGV[0] is the first argument, not the program?s command name itself. See $0 for the command name. Which would be a GoodThing considering the trouble that people have with the issue. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: If A = B and B = C, then A = C, except where void or prohibited by law. -- Roy Santoro From david at kineticode.com Wed Jul 20 07:57:38 2005 From: david at kineticode.com (David Wheeler) Date: Wed, 20 Jul 2005 07:57:38 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720124701.GB1404@patch.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> <20050720124701.GB1404@patch.com> Message-ID: <66EDB0B3-D2B4-4E00-93A3-7596D657B790@kineticode.com> On Jul 20, 2005, at 5:47 AM, Michael Rasmussen wrote: > It's incredible easy to expand that to: > > @ARGV The array @ARGV contains the command-line arguments intended > for the script. @ARGV evaluated in a scaler context returns > the number of arguments. $#ARGV is generally the number of > arguments minus one, because $ARGV[0] is the first argument, > not the program?s command name itself. See $0 for the > command name. > > Which would be a GoodThing considering the trouble that people have > with the issue. Send a patch to p5p at perl.org. Best, David From chromatic at wgz.org Wed Jul 20 10:39:25 2005 From: chromatic at wgz.org (chromatic) Date: Wed, 20 Jul 2005 10:39:25 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720124701.GB1404@patch.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> <20050720124701.GB1404@patch.com> Message-ID: <1121881165.10279.170.camel@localhost> On Wed, 2005-07-20 at 05:47 -0700, Michael Rasmussen wrote: > For a topic that confuses new Perl folk this would seem to be something > that should be covered at every available opportunity. I don't understand why. How is @ARGV different from any other array? Randomly strewing facts throughout the documentation is a good way to make them *less* useful, not more. ("Oh, didn't you know that evaluating an array in scalar context gives you the number of elements in the array? Go read perlvar, about special variables, instead of perlintro, which explains all three container types.") -- c From schwern at pobox.com Wed Jul 20 11:30:33 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 20 Jul 2005 11:30:33 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720124701.GB1404@patch.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> <20050720124701.GB1404@patch.com> Message-ID: <20050720183033.GD16999@windhund.schwern.org> On Wed, Jul 20, 2005 at 05:47:01AM -0700, Michael Rasmussen wrote: > For a topic that confuses new Perl folk this would seem to be something > that should be covered at every available opportunity. The section on > @ARGV does cover the $# issue: That's thrown in there, in a somewhat obtuse way, to help C programmers where ARGV[0] is the command name and ARGV[1] is the first argument. > Which would be a GoodThing considering the trouble that people have > with the issue. Yes, and while we're at it since @ARGV is global don't forget to talk about how to localize it! And because its an array be sure to explain that arrays start at 0 and what an index of -1 means. And be sure to talk about the difference between an array and a list, people get that confused a lot. And @ARGV can be popped and pushed and spliced and sliced and shifted and unshifted so be sure to bring those up. Oh, and repeat those docs for every other array in perlvar. @INC and @+ and @_ and @- and @F. And then we start in on scalars. At some point you have to assume the reader has read the introductory texts otherwise you wind up clogging the docs with repeated tutorial documentation making it like reading through a legal document with all the repeated, verbose prose. The Company reserves the right to all inventions, works, plans, patents, descriptions and thoughts of the Employee. The Employee waives all rights to all inventions, works, plans, patents, descriptions and thoughts. Should any inventions, works, plans, patents, descriptions and thoughts be found illegal in any... It would be nice if the documentation could be annotated with unobtrusive references to other parts of the docs sprinkled liberally throughout but POD doens't support that sort of thing very well. [1] This one we probably should. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From chris at powells.com Wed Jul 20 12:23:17 2005 From: chris at powells.com (chris@powells.com) Date: Wed, 20 Jul 2005 12:23:17 -0700 (PDT) Subject: [Pdx-pm] OSCON ticket raffle Message-ID: If anyone's interested, Powell's has a raffle for a free ticket to OSCON: http://www.powells.com/oscon From mikeraz at patch.com Wed Jul 20 17:36:45 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Wed, 20 Jul 2005 17:36:45 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050720183033.GD16999@windhund.schwern.org> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> <20050720124701.GB1404@patch.com> <20050720183033.GD16999@windhund.schwern.org> Message-ID: <20050721003645.GA17259@patch.com> Michael G Schwern wrote: > Yes, and while we're at it ... mrful schwunk gaarl > [1] This one we probably should. Which one? -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: nerd pack, n.: Plastic pouch worn in breast pocket to keep pens from soiling clothes. Nerd's position in engineering hierarchy can be measured by number of pens, grease pencils, and rulers bristling in his pack. From schwern at pobox.com Wed Jul 20 18:15:04 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 20 Jul 2005 18:15:04 -0700 Subject: [Pdx-pm] evil @ARGV syntax In-Reply-To: <20050721003645.GA17259@patch.com> References: <1549177D-533F-4810-884D-1ABB57DD487E@sonofhans.net> <20050719191403.GC10272@windhund.schwern.org> <20050719204535.GT30249@gblx.net> <20050720002252.GC12675@windhund.schwern.org> <20050720025138.GA21686@patch.com> <20050720044137.GB13625@windhund.schwern.org> <20050720124701.GB1404@patch.com> <20050720183033.GD16999@windhund.schwern.org> <20050721003645.GA17259@patch.com> Message-ID: <20050721011504.GA21907@windhund.schwern.org> On Wed, Jul 20, 2005 at 05:36:45PM -0700, Michael Rasmussen wrote: > > [1] This one we probably should. > > Which one? Mention that shift() defaults to @ARGV outside of a function. Seems pertinent. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From marvin at rectangular.com Thu Jul 21 07:32:20 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Thu, 21 Jul 2005 07:32:20 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars Message-ID: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> Greets, When I presented Sort::External to the group a couple months ago, a number of people expressed an interest in seeing the buffer-flush triggered by memory consumption rather than the number of items in the cache. I'd like to explore what it would take to add this feature. In order to calculate the memory consumed by an array of scalars, I need to know the memory consumed by each. Right now, Sort::External's feed() method just adds stuff to a buffer and flushes if the size of the buffer array (as evaluated in a scalar context ;) ) meets or exceeds the -cache_size. sub feed { my $self = shift; push @{ $self->{input_cache} }, @_; return unless @{ $self->{input_cache} } >= $self->{-cache_size}; $self->_write_input_cache_to_tempfile; } Conceptually, the most straightforward way to figure memory consumption is to take the length() of each item, tack on a worst- case number for the overhead of a scalar, and add that to a tally which triggers a buffer-flush when it grows past a threshold. There are at least five problems with this approach, but I believe they can all be addressed. 1) Scalars which don't as yet have a string component (PV, for Pointer Value, in the underlying representation) will be needlessly forced to acquire one. Note that when these items are regenerated by reading back from temp-files, they are going to have a PV component anyway. 2) I'm not sure what the worst-case number for the administrative overhead of a scalar is. 3) Perl seems to assign memory in unpredictably sized chunks. It may be that the last 50-byte scalar causes Perl to grab another meg of memory. 4) length(), which works on utf8 by default, is fairly expensive. 5) length() doesn't tell you about hidden portions of the PV. (For the sake of avoiding extra malloc calls, Perl will sometimes move the pointer which indicates where a string begins. I'm not sure exactly when this happens, but I'd guess it's on stuff like substr($foo, 0, 4, ''); ) Any performance hits we take are mitigated by the fact that Sort::External is probably going to be doing a bunch of disk i/o at some point. The first step is to improve the efficiency and reliability of figuring out the memory consumed by the PV component of the scalar. If we use the bytes pragma, I believe that the efficiency of length() improves dramatically, though I haven't tracked down where it is in the Perl source code so I can't say that authoritatively. But we're still stuck with the problem of hidden pieces of strings. Fortunately, at the C level, SvLEN [1] solves all the problems associated with length(). It won't add a PV component to the scalar if none exists. It returns the size of the PV, including an extra null byte that Perl tacks onto the end, so there's no problem with hidden portions of strings. I believe that it is actually returning a number that is stored as part of the C struct for a scalar, so it should be nice and fast. Looks like I'll have to turn feed() into an Inline::C or XS sub with considerably more than 4 lines of code, unless someone knows a way to expose SvLEN in Perl space. That leaves me with two remaining problems. What is the worst-case administrative overhead for a scalar? Anybody know? Then there's the approximate nature of memory management in Perl. I'll solve this by documenting Sort::External's -mem_threshold as an imprecise tool. ;) Marvin Humphrey Rectangular Research http://www.rectangular.com/ [1] From perlapi: "SvLEN -- Returns the size of the string buffer in the SV, not including any part attributable to SvOOK. See SvCUR." From david at kineticode.com Thu Jul 21 08:16:22 2005 From: david at kineticode.com (David Wheeler) Date: Thu, 21 Jul 2005 08:16:22 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars In-Reply-To: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> References: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> Message-ID: <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> On Jul 21, 2005, at 7:32 AM, Marvin Humphrey wrote: > Conceptually, the most straightforward way to figure memory > consumption is to take the length() of each item Does this help? http://search.cpan.org/dist/Devel-Size/Size.pm Best, David From ewilhelm at sbcglobal.net Thu Jul 21 08:48:36 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Thu, 21 Jul 2005 08:48:36 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars In-Reply-To: <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> References: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> Message-ID: <200507210848.36610.ewilhelm@sbcglobal.net> # from David Wheeler # on Thursday 21 July 2005 08:16 am: >> Conceptually, the most straightforward way to figure memory >> consumption is to take the length() of each item > >Does this help? > >? ?http://search.cpan.org/dist/Devel-Size/Size.pm Looks like a good source of info and verification, but maybe not something that you want to put in your production code: "Devel::Size, because of the way it works, can consume a considerable amount of memory as it runs. It will use five pointers, two integers, and two bytes worth of storage, plus potential alignment and bucket overhead, per thing it looks at." I think Marvin's scheme is a good lightweight rough-estimate. Remember that it was limiting the cache on number of items. I think if you can provide a rough cap on memory usage and an estimate of how much error is typical, that is a huge improvement over the less-informed "number of items" cap. Perl's "bursty" memory allocation should be part of that error. If we're talking about 500MB +/- 5MB by the time all of the counting errors are collected that sounds good in exchange for the counting being done as quickly as possible. --Eric -- If the collapse of the Berlin Wall had taught us anything, it was that socialism alone was not a sustainable economic model. --Robert Young --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From marvin at rectangular.com Thu Jul 21 11:35:58 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Thu, 21 Jul 2005 11:35:58 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars In-Reply-To: <200507210848.36610.ewilhelm@sbcglobal.net> References: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> <200507210848.36610.ewilhelm@sbcglobal.net> Message-ID: <5B6EC879-EC60-45E0-9ACB-EE78258014F0@rectangular.com> David Wheeler writes... >> Does this help? >> >> http://search.cpan.org/dist/Devel-Size/Size.pm I'd forgotten about that module. I remembered only that I'd conducted a fairly extensive search when writing the code which ended up in Sort::External, and had rejected a bunch of options, including that one. But it's time for a second look. Eric Wilhelm writes... > Looks like a good source of info and verification, but maybe not > something that you want to put in your production code: > > "Devel::Size, because of the way it works, can consume a > considerable > amount of memory as it runs. It will use five pointers, two integers, > and two bytes worth of storage, plus potential alignment and bucket > overhead, per thing it looks at." The bummer is that it creates that stuff anew with each call to size (). But... happily, it destroys all those variables when size() completes. I believe the caveat above applies primarily in the case of assessing the size of a complex data structure. If I use Devel::Size only to calculate the size of the last scalar in sortex object's own cache, the increased memory requirements will be negligible. There'll be a performance hit, but we're only talking about calls to 2 XS subs (size() calls out to a helper based on what you feed it). In the context of all the disk i/o Sort::External does (assuming that you feed it enough to trigger at least one flush to disk), that's probably acceptable. I'll run some benchmarks. Gotta say, the idea of avoiding XS/Inline::C code in Sort::External is pretty appealing. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From tom.phoenix at gmail.com Fri Jul 22 10:38:43 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Fri, 22 Jul 2005 10:38:43 -0700 Subject: [Pdx-pm] Mostly-Zendo Game Night - Saturday! Message-ID: <31086b2405072210381be44b35@mail.gmail.com> Tom and Jenna's Mostly-Zendo Game Night When: Saturday the 23rd (tomorrow). The fun starts at 6:30 PM, but get here anytime. Where: 6815 N Interstate Ave. Transit: Max Yellow Line's Portland Boulevard stop is nearest; we're just to the north. Freeway: From I-5, exit and turn west onto Portland Boulevard to find our neighborhood. Parking: free and easy to find on any nearby side street a block or two off of Interstate Avenue. Snacks: Please bring a small snack to share, if you can. Games: We'll have Zendo, of course. Bring your own pyramids and stones. In case you somehow don't like Zendo, we'll have some other games (Spin-the-Bottle, Hopscotch, Global Thermonuclear War,... we'll find something). Or you can bring your favorite game. Phone: 503-289-6044 Late notice: Yeah, sorry. But now we have a good excuse to host another game night before the summer is over, so stay tuned and see whether I get an invitation out on time for that one. --Tom Phoenix From marvin at rectangular.com Sat Jul 23 06:58:30 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sat, 23 Jul 2005 06:58:30 -0700 Subject: [Pdx-pm] Rich scalars Message-ID: <01400FC2-3FD1-4264-A5DD-3F0849828523@rectangular.com> Greets, With the change to Sort::External to use -mem_threshold as the buffer flush trigger, it has become necessary to rework other parts of the module which relied on large buffers. The trickiest section has the filestream merging. I snooped the code in File::Sort, File::MergeSort, and Sort::Merge to see if there was something I could crib, but the number of dereference ops each required made me blanche. I needed something like the File::Temp object, that could both function as a scalar and associate a filehandle. Blessing a reference to a scalar seemed like a good solution, but since the scalar only has one storage slot, associating it with the filehandle that would be used to refill the buffer was challenging. Here's how the code turned out, edited for clarity: ------------------------------------------------------- { ### ... my @buffers; my $num_packages = 0; for my $filehandle (@temp_file_objects) { my $holder; my $package_name = "Sort::External::Buffer$num_packages"; $num_packages++; my $buff = bless \$holder, $package_name; no strict 'refs'; no warnings 'redefine'; *{ $packagename . "::next_line" } = sub { return unless defined(${ $_[0] } = <$filehandle>) }; next unless defined $buff->next_line; push @buffers, $buff; } ### ... ### Clear out the closures so that we don't leak memory. for (0 .. $num_packages) { *{ "Sort::External::Buffer$_" . "::next_line" } = sub {}; } } ------------------------------------------------------- Each scalar is blessed into a unique package. Calling next_line() loads the next buffer item into the scalar object's sole storage slot. Each next_item() sub is a closure which stores a unique temp filehandle. It is theoretically possible to associate an unlimited number of attributes and methods with a blessed scalar using this technique. Comments? Marvin Humphrey Rectangular Research http://www.rectangular.com/ From perl-pm at joshheumann.com Mon Jul 25 13:38:07 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon, 25 Jul 2005 13:38:07 -0700 Subject: [Pdx-pm] Newsletter from O'Reilly UG Program Message-ID: <20050725203807.GE964@joshheumann.com> ----- Forwarded message from Marsee Henon ----- From: Marsee Henon Subject: Newsletter from O'Reilly UG Program, July 22 Date: Fri, 22 Jul 2005 17:38:44 -0700 List-Unsubscribe: X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on codepirates.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=6.0 tests=none autolearn=unavailable version=3.0.3 ================================================================ O'Reilly UG Program News--Just for User Group Leaders July 22, 2005 ================================================================ -Does you Group Podcast? -Going to OSCON? -Put Up an O'Reilly OSCON Banner, Get a Free Book -Promotional Material Available ---------------------------------------------------------------- Book Info ---------------------------------------------------------------- ***Review Books are Available Copies of our books are available for your members to review-- send me an email and please include the book's ISBN number on your request. Let me know if you need your book by a certain date. Allow at least four weeks for shipping. ***Please Send Copies of Your Book Reviews Email me a copy of your newsletter or book review. For tips and suggestions on writing book reviews, go to: http://ug.oreilly.com/bookreviews.html ***Discount information Don't forget to remind your members about the 30% discount on O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, and Syngress books. Just use code DSUG. ***Group purchases with better discounts are available Please let me know if you are interested and I can put you in touch with our sales department. ---------------------------------------------------------------- General News ---------------------------------------------------------------- ***Does Your Group Podcast? We have a new book coming out in August called "Podcasting Hacks"-- let me know if your group is currently podcasting or if you are interested in starting your own podcast. I have also included two articles on podcasting below in the news for members section. ***Are you going to OSCON in Portland, Oregon this year? Please let me know! ***Put Up an O'Reilly OSCON Banner, Get a Free Book We're looking for user groups to display our conference banner on their web sites. If you send me the link to your group's site with our O'Reilly 2005 Open Source Convention banner, we'll send you the O'Reilly book of your choice. OSCON Banners: http://ug.oreilly.com/banners/oscon2005/ ***Promotional Material Available: The following items are available for your next meeting. Numbers are limited so please don't wait too long. Let me know the item and the amount you'd like and I'll do my best. -30% UG Discount bookmarks -O'Reilly Open Source Convention Brochures -MAKE Magazine (limit one per group) -LinuxWorld Passes (Paper) ================================================================ O'Reilly News for User Group Members July 22, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Perl Testing: A Developer's Notebook -Write Portable Code -Home Networking: The Missing Manual -Perl Best Practices -Talk Is Cheap -Switching to VoIP -Ending Spam -Swing Hacks -Word Annoyances -Advanced Perl Programming, Second Edition -MAKE Magazine Subscriptions Available ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Jeremy Zawodny ("High Performance MySQL"), Open Tech 2005, London, UK--July 23 -UKUUG Linux 2005 Conference, University of Wales--August 4-7 -O'Reilly at LinuxWorld, San Francisco, CA--August 8-11 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Visit the 2005 O'Reilly Open Source Convention Exhibit Hall for Free -Register for the O'Reilly Open Source Convention, Portland, OR--August 1-5 -Registration is Open for EuroOSCON ---------------------------------------------------------------- News ---------------------------------------------------------------- -New Annoyances Central Site -O'Reilly Nominated for Lovemarks -Choosing the Best Star Atlases -Information Security with Colin Percival -Calculating the True Price of Software -Learning Lab: Save 50% on the Open Source Programming Certificate Series -Building an OpenBSD Live CD -The Virtual Referral: Mitigating Risk by Hiring Open Source Developers -PHP 5.1's Killer Features -David Pogue Photos from Mug Event -Programming with Spotlight -An Introduction to Tiger Terminal, Part 3 -How to End Wars Between Testers and Programmers -Unit Testing in .NET Projects -Making Internet Phone Calls Using Skype -Taking JUnit Out of the Box -What Is Business Process Modeling? -What Is Podcasting? -Gary Garritan: A Personal Orchestra for Everyone -My Five Favorite Soft Synths -HOW TO Make Enhanced Podcasts -Phil Torrone on "Attack of the Show" -MAKE Volume 03 at the Press ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 30% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Perl Testing: A Developer's Notebook Publisher: O'Reilly ISBN: 0596100922 With this series of hands-on labs, you'll learn how Perl's test tools work and how to use them effectively. Once mastered, these lessons will help you ensure low-level code correctness, reduce software development cycle time, and ease maintenance burdens. You don't have to be a diehard Perl developer to use this book; you just have to want to do your job a little bit better. http://www.oreilly.com/catalog/perltestingadn/ Chapter 4, "Distributing Your Tests (and Code)", is available online: http://www.oreilly.com/catalog/perltestingadn/chapter/index.html ***Write Portable Code Publisher: No Starch ISBN: 1593270569 This handy book contains the lessons, patterns, and knowledge for developing cross-platform software that programmers usually must acquire through sheer trial and error. Targeted at intermediate-to-advanced programmers, it is a valuable resource for designers of cross-platform software, programmers looking to extend their skills to additional platforms, and programmers faced with the tricky task of moving code from one platform to another. http://www.oreilly.com/catalog/1593270569/ ***Home Networking: The Missing Manual Publisher: O'Reilly ISBN: 059600558X Using clear language, straightforward explanations, and a dash of humor, this Missing Manual shows you how to do everything you need to set up a home network. Including both Windows and Mac info, it will help you understand the difference between what you need to know to create and use your home network and what's best left to system administrators. http://www.oreilly.com/catalog/homenettmm/ Chapter 5, "Using the Network with Windows Computers," is available online: http://www.oreilly.com/catalog/homenettmm/chapter/index.html ***Perl Best Practices Publisher: O'Reilly ISBN: 0596001738 This collection of 256 guidelines on the art of coding will help you write the best Perl code you possibly can. The guidelines cover code layout, naming conventions, choice of data and control structures, program decomposition, interface design and implementation, modularity, object orientation, error handling, testing, and debugging. Offering only guidelines that actually work, this book presents coherent and widely applicable suggestions based on real-world experience. http://www.oreilly.com/catalog/perlbp/ Chapter 9, "Subroutines," is available online: http://www.oreilly.com/catalog/perlbp/chapter/index.html ***Talk Is Cheap Publisher: O'Reilly ISBN: 0596009607 A straightforward, quick introduction to the ins and outs of using VoIP and other internet telephone options, this book details how to make the switch and what the tradeoffs will be. In addition, you will learn advanced techniques, including how to turn your Palm or Pocket PC into an internet phone and how to work with Wi-Fi phones and videophones. http://www.oreilly.com/catalog/talk/ Chapter 3, "Free Internet Phone Features That You're Paying For Now," is available online: http://www.oreilly.com/catalog/talk/chapter/index.html ***Switching to VoIP Publisher: O'Reilly ISBN: 0596008686 Based on real-world experience, this handy manual addresses the most common VoIP migration challenges. Learn how to build your own VoIP system, install it, and begin making calls. You'll also explore the strengths and weaknesses of circuit-switched and packet-switched networks, how VoIP systems impact network infrastructure, as well as solutions for common challenges involved with IP voice migrations. Ideal for IT managers, network engineers, and system administrators. http://www.oreilly.com/catalog/switchingvoip/ Chapter 14, "Traditional Apps on the Converged Network," is available online: http://www.oreilly.com/catalog/switchingvoip/chapter/index.html ***Ending Spam Publisher: No Starch ISBN: 1593270526 This landmark title describes, in-depth, how statistical filtering is being used by next-generation spam filters to identify and filter spam, how spam filtering works, and how language classification and machine learning combine to produce remarkably accurate spam filters. Readers gain a complete understanding of the mathematical approaches used in today's spam filters, decoding, tokenization, the use of various algorithms, and the benefits of using open source solutions to end spam. http://www.oreilly.com/catalog/1593270526/ ***Swing Hacks Publisher: O'Reilly ISBN: 0596009070 Packed with programming lessons, this book will show you how to extend Swing's rich component set in advanced ways. The hacks touch upon the entire Swing gamut--tables, trees, sliders, spinners, progress bars, internal frames, and text components. You'll learn how to filter lists, power up trees and tables, add drag-and-drop support, and generally increase your competency with interface-building tools. http://www.oreilly.com/catalog/swinghks/ Sample Hack 89, "Fun with Keyboard Lights," is available online: http://www.oreilly.com/catalog/swinghks/chapter/index.html ***Word Annoyances Publisher: O'Reilly ISBN: 0596009542 This helpful book offers to-the-point solutions to your most vexing editing, formatting, printing, faxing, and scanning problems. It covers everything from installation and templates to tables, columns, and graphics. It also provides a gentle introduction to the power of macros so you can slay your annoyances by the truckload. The fixes will work with most versions of Word, including Word 2000, 2002 (XP), and 2003. http://www.oreilly.com/catalog/wordannoyances/ Chapter 3, "Text Entry and Editing," is available online: http://www.oreilly.com/catalog/wordannoyances/chapter/index.html ***Advanced Perl Programming, Second Edition Publisher: O'Reilly ISBN: 0596004567 O'Reilly's most high-level Perl tutorial to date, this book teaches you all the complex techniques for production-ready Perl programs. This completely updated guide clearly explains concepts such as introspection, overriding built-ins, extending Perl's object-oriented model, and testing your code for greater stability. Whatever your current level of Perl expertise, this book will help you push your skills to the next level. http://www.oreilly.com/catalog/advperl2/ Chapter 3, "Templating Tools," is available online: http://www.oreilly.com/catalog/advperl2/chapter/index.html ***MAKE Magazine Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Jeremy Zawodny ("High Performance MySQL"), Open Tech 2005, London, UK--July 23 This event features "Yahoo Troublemaker" and author Jeremy Zawodny. O'Reilly will be there selling books. http://www.ukuug.org/events/opentech2005/ ***UKUUG Linux 2005 Conference, University of Wales--August 4-7 O'Reilly will be there selling books. http://www.ukuug.org/events/linux2005/ ***O'Reilly at LinuxWorld, San Francisco, CA--August 8-11 Stop by our booth to check out our latest Linux and open source titles. We'll also have info on some of our groovy new projects like Make, Safari, and SafariU. Moscone Center, Booth #818 http://www.linuxworldexpo.com/live/12/events/12SFO05A ================================================ Conference News ================================================ ***Visit the 2005 O'Reilly Open Source Convention Exhibit Hall for Free This year's OSCON Exhibit Hall is the largest in our seven-year history, and will feature a virtual "who's who" of open source companies. From exciting start-ups such as ActiveGrid, BlackDuck Software, LogicBlaze, MarvelIT, Merchere, Palamida, SpikeSource, Sourcebeat, SourceLabs, and SugarCRM to industry giants like Apple Computer, Computer Associates, Google, HP, IBM, Intel, Novell, Sun Microsystems, and Yahoo!, you'll find the latest software and hardware offerings for your enterprise, small or large. To register for your free exhibit hall pass, please visit: http://conferences.oreillynet.com/cs/os2005/create/ord_os05 ***Register for the O'Reilly Open Source Convention, Portland, OR--August 1-5 OSCON 2005 explores three deep trends affecting open source: the commoditization of software, network-enabled collaboration, and software customizability. Join us at this essential gathering of open source leaders and practitioners of every persuasion to exchange ideas and push the boundaries of vital open source technologies. This year, we introduce the Open Source Business Review, along with a host of other exciting presentations and events. http://conferences.oreilly.com/oscon/ Use code "os05grpusr" when you register, and receive 15% off the registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/os2005/create/ord_os05 ***Registration is Open for EuroOSCON Join developers, systems and network administrators, and IT managers at the very first O'Reilly European Open Source Convention in Amsterdam on October 17-20. EuroOSCON will explore the best and newest open source technologies, particularly for companies, governments, and nonprofits. EuroOSCON showcases the diversity in open source while maintaining a practical edge. http://conferences.oreilly.com/eurooscon/ User Group discounts are available, email marsee at oreilly.com for more information. To register for the conference, go to: http://conferences.oreillynet.com/cs/eurooscon/create/ord_euos05 ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***New Annoyances Central Site O'Reilly has just launched the new Annoyances Central weblog site, focused on topics and issues from the Annoyances Series books. Check out the Daily Fix, the Experts' Blog, and Robert's Rant for the most annoying annoyances--and their fixes, of course. You can even subscribe to the RSS feed and have piping-hot annoyances delivered straight to you. http://www.annoyancescentral.com/ ***O'Reilly Nominated for Lovemarks The creators of Lovemarks wondered what makes some brands wildly inspirational and came up with Lovemarks, a celebration of respect and loyalty. "Take a brand away and people will find a replacement. Take a Lovemark away and people will protest its absence." Folks can nominate brands that inspire "loyalty beyond reason," and we're thrilled to be in the mix. Show your love! http://www.lovemarks.com/lm/read.php?LID=2603 ***Choosing the Best Star Atlases Whether you're an observer of deep-sky objects with your 20-inch Dobsonian reflector, or an amateur astronomer enjoying a simple night of stargazing with your binoculars, it's helpful to know which star atlases best suit your needs. Avid astronomers Robert and Barbara Thompson describe the atlases they use and their reasons for choosing them. Robert and Barbara are the authors of Astronomy Hacks. http://www.oreillynet.com/pub/a/network/2005/07/18/staratlases.html ***Information Security with Colin Percival The recent disclosure of side-channel techniques to retrieve cryptographic secrets on hyperthreading machines caused stirs in security and operating system development communities. Colin Percival, a FreeBSD security officer, reported the vulnerability and weathered the questions and criticisms. Michael W. Lucas recently interviewed him on this vulnerability, vendors' responses, and security research. http://www.onlamp.com/pub/a/bsd/2005/07/21/Big_Scary_Daemons.html --------------------- Open Source --------------------- ***Calculating the True Price of Software Businesses have long viewed support and maintenance as essential components of software. Open source business models often focus on charging for support and customization. Is there an economic model that can demonstrate the true worth of a piece of software and the option for support, maintenance, and upgrades? Robert Lefkowitz argues that open source exposes the true value of software itself as, essentially, worth less in comparison to support and maintenance. http://www.onlamp.com/pub/a/onlamp/2005/07/21/software_pricing.html ***Learning Lab: Save 50% on the Open Source Programming Certificate Series Our Open Source Programming Certificate Series will teach you the core technical skills necessary to fully understand programming using Linux or Unix operating systems, languages, libraries, and databases. Completion of this series also earns you a Certificate of Professional Development through the University of Illinois Office of Continuing Education. For two weeks only, save 50% on all Open Source Programing Certificate Series classes. Offer ends July 31st. http://www.oreilly.com/redirector.csp?link=UAOSP&type=news ***Building an OpenBSD Live CD Linux isn't the only operating system that boots and runs off a CD. OpenBSD does as well. Kevin Lo uses his for didactic purposes, but this is a good example for taking your desktop or firewall along with you. Here's how to build and customize an OpenBSD installation on a CD. ***The Virtual Referral: Mitigating Risk by Hiring Open Source Developers Hiring a new employee is almost always a risk, and hiring the wrong employee can prove a costly mistake for managers. Brian Fitzpatrick suggests you hire an open source programmer. Find out why doing so mitigates the risks involved in hiring. Meet Brian at O'Reilly's Open Source Convention, where he'll be leading a Subversion tutorial and a session on switching from CVS to Subversion. http://www.onlamp.com/pub/a/onlamp/2005/07/14/osdevelopers.html ***PHP 5.1's Killer Features Learn about PHP Data Objects, perhaps the greatest new feature in PHP 5.1. http://www.sitepoint.com/blog-post-view.php?id=274359 --------------------- Mac --------------------- ***David Pogue Photos from our recent MUG event at the Stanford Linear Accelerator Center: http://www.flickr.com/photos/16228484 at N00/sets/625100/ http://www.flickr.com/photos/wdn2/sets/625173/ (Special Thanks to Don Nelson of DVMUG for sending these along.) ***Programming with Spotlight The API for Spotlight offers highly advanced search capabilities. In fact, you can develop some of the very features of Tiger we've already grown to love using Spotlight's API. In this piece, Matthew Russell will ease you into Spotlight programming from a Cocoa dev perspective, showing you how to make your applications Spotlight enabled http://www.macdevcenter.com/pub/a/mac/2005/07/12/spotlight.html ***An Introduction to Tiger Terminal, Part 3 In Part 3 of this Tiger Terminal introduction, you'll learn some helpful commands that you can use to view information about your network, including netstat, nslookup, traceroute, and more. http://www.macdevcenter.com/pub/a/mac/2005/07/05/terminal3.html ***How to End Wars Between Testers and Programmers There's a natural conflict between testers and programmers because of the difference in perspective each role has. The best way to end struggles is to redefine the goals of the work so that their roles can be collaborative, not adversarial. In this article, Scott Berkun draws upon his years of project-leading experience to provide some inside tips for managing your development team. Scott is the author of The Art of Project Management. http://www.macdevcenter.com/pub/a/mac/2005/07/08/dev_team.html --------------------- Windows/.NET --------------------- ***Unit Testing in .NET Projects Now is a pretty exciting time for unit testing in .NET. Tremendous progress is being made on several fronts: IDE integration, process integration, and new test fixtures. Jay Flowers and Andrew Stopford explain how to use Visual Studio's new integrated unit testing, as well as the NUnit and MbUnit testing frameworks. http://www.ondotnet.com/pub/a/dotnet/2005/07/18/unittesting_2005.html ***Making Internet Phone Calls Using Skype Skype lets you use the internet to make phone calls to other Skype users and also to regular telephones. Wei-Meng Lee shows you how to set it up and start talking. http://www.windowsdevcenter.com/pub/a/windows/2005/07/19/skype.html --------------------- Java --------------------- ***Taking JUnit Out of the Box JUnit is practically ubiquitous among Java developers as a way to test code, but it's somewhat limited by the fact that it's only meant to run in one JVM on one box, hampering its usefulness when developing distributed applications. In this article, Amir Shevat shows how the open source JUnit extension Pisces helps JUnit overcome this limitation. http://www.onjava.com/pub/a/onjava/2005/07/13/pisces.html ***What Is Business Process Modeling? Business Process Modeling (BPM) is a set of technologies and standards for the design, execution, administration, and monitoring of business processes. In this article, Mike Havey, author of Essential Business Process Modeling, briefly describes the state of BPM today and the BPM standards, then builds an ideal BPM architecture using the example of a retailer process. http://www.onjava.com/pub/a/onjava/2005/07/20/businessprocessmodeling. html --------------------- Digital Media --------------------- ***What Is Podcasting? So, you're ready to hop on the podcasting bandwagon, but you're not sure how to get started? This article by Phillip Torrone briefly describes what podcasting is and the software you'll need, then takes you right to the fun with a comprehensive step-by-step guide to podcast production. >From recording to editing to publishing and syndicating your podcasts, Phillip covers everything you need to know to serve up your first podcasts. http://digitalmedia.oreilly.com/2005/07/20/WhatIsPodcasting.html ***Gary Garritan: A Personal Orchestra for Everyone Producer Gary Garritan has made it his mission to put a high-quality digital orchestra in your hands--along with extensive free training. Hear how composers have seized the opportunity. http://digitalmedia.oreilly.com/2005/07/20/garritan.html ***My Five Favorite Soft Synths Looking for sonic inspiration? Synthesizer guru Jim Aikin reveals his top five virtual instruments, explains why they're great, and shares custom MP3 examples. http://digitalmedia.oreilly.com/2005/07/13/topsynths.html --------------------- MAKE --------------------- ***HOW TO make Enhanced Podcasts (Images, Links, and More with Audio) Apple's new iTunes 4.9 allows you to view (and listen to) "enhanced podcasts." These are audio files that can have slideshows, URLs and some cool features we have discovered. Here's how to get, make and all you need to know about enhanced podcasts! As a bonus, MAKE has put together some fun ideas they think many might use. http://www.makezine.com/blog/archive/2005/07/how_to_make_enh.html#more ***Phil Torrone on "Attack of the Show" Here's the video of MAKE's Associate Editor Phillip Torrone on G4TV's Attack of the Show. The show aired on Friday, July 15. He showed off some user submitted projects, hacks, mods, and blew up stuff with a high powered green laser. http://downloads.oreilly.com/make/g4tv.mov ***MAKE Volume 03 at the Press The third volume of MAKE magazine is at the press, and we have the Flickr photo stream to prove it. Our designers signed off on the final cover and raved that this is the hottest volume yet. Don't be left coveting thy neighbor's MAKE, and subscribe now! http://www.flickr.com/photos/kirk22/sets/612189/ ***For more information on MAKE, go to: http://www.makezine.com/ ================================================ >From Your Peers ================================================ ***Don't forget to check out the O'Reilly UG wiki to see what user groups around the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee Henon ================================================================ O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 http://ug.oreilly.com/ http://www.oreilly.com ================================================================ ----- End forwarded message ----- From marvin at rectangular.com Tue Jul 26 10:58:34 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Tue, 26 Jul 2005 10:58:34 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars In-Reply-To: <5B6EC879-EC60-45E0-9ACB-EE78258014F0@rectangular.com> References: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> <200507210848.36610.ewilhelm@sbcglobal.net> <5B6EC879-EC60-45E0-9ACB-EE78258014F0@rectangular.com> Message-ID: David Wheeler writes... >> Does this help? >> >> http://search.cpan.org/dist/Devel-Size/Size.pm Devel::Size has worked out well. The only downside is that it looks like it fails 1 out of 13 smoke tests, so that failure will cascade onto Sort::External. Eric Wilhelm writes... > Looks like a good source of info and verification, but maybe not > something that you want to put in your production code: > > "Devel::Size, because of the way it works, can consume a > considerable > amount of memory as it runs. It will use five pointers, two integers, > and two bytes worth of storage, plus potential alignment and bucket > overhead, per thing it looks at." The extra storage overhead turns out not to be all that much. In the new version of Sort::External, sortex objects track of the size of the input cache by calling total_size(\@_) every time you feed () them. I tried two different approaches with a c. 10_000-element source array (each item a 60-character string): feeding the items to the sortex object one by one, and feeding them all at once. I set up two long Benchmark loops, with the one_by_one approach first. Watching top, I saw the memory consumption of the process stabilize at 7528k during the one_by_one phase, then rise to a plateau of 8072k during the all_at_once phase. That's acceptable. The performance penalty, as anticipated, diminishes in importance one tempfiles are required. If you don't hit disk, and you're feeding items one-by-one, using total_size makes the process take twice as long. But if you hit disk, the performance penalty is around 20%, and it drops to around 6% if you feed the items all at once. Those numbers will drop further on larger sorts, which require more merge stages and disk i/o. ======================================================== Sort::External version 0.10_5 ======================================================== cache_level_one_by_one: 20.503 wallclock secs mem_thresh_one_by_one: 40.8194 wallclock secs cache_level_all_at_once: 11.5616 wallclock secs mem_thresh_all_at_once: 13.9285 wallclock secs cache_level_hit_disk_one_by_one: 57.9412 wallclock secs mem_thresh_hit_disk_one_by_one: 69.1299 wallclock secs cache_level_hit_disk_all_at_once: 45.5628 wallclock secs mem_thresh_hit_disk_all_at_once: 48.1753 wallclock secs ======================================================== If that's the price to pay for enabling -mem_threshold, I'll buy. Putting -mem_threshold in Sort::External has actually sped up Search::Kinosearch::Kindexer, which had been flushing to disk too often under the old scheme of flush-at-10_000-items. Using - mem_threshold took the guesswork out of setting a flush-trigger. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From psmythe-lists at prostructure.com Tue Jul 26 11:03:30 2005 From: psmythe-lists at prostructure.com (Brandon Psmythe) Date: Tue, 26 Jul 2005 11:03:30 -0700 Subject: [Pdx-pm] Job Opening : unix/linux systems administrator Message-ID: <42E67AF2.9050605@prostructure.com> Hello, ProStructure Consulting is currently looking for a mid level Linux/Unix systems administrator. The formal job descriptions can be found here: http://www.prostructure.com/jobs In general we are looking for folks with experience in mid to large corporate environments, supporting critical 24x7 applications, and handles stress well. All positions require customer interaction, so good communication skills and professional presentation are also important. thanks, brandon -- -A. Brandon Psmythe ProStructure Consulting http://www.prostructure.com Network and Security Consulting phone: (503) 288-1566 "Crafting Connectivity that Matters" From david at kineticode.com Tue Jul 26 11:18:45 2005 From: david at kineticode.com (David Wheeler) Date: Tue, 26 Jul 2005 11:18:45 -0700 Subject: [Pdx-pm] Measuring memory consumption of scalars In-Reply-To: References: <3314DB9F-F77E-4611-9110-3252593F82D2@rectangular.com> <5609B983-BCBF-4E8F-BB73-80A9147A7CFE@kineticode.com> <200507210848.36610.ewilhelm@sbcglobal.net> <5B6EC879-EC60-45E0-9ACB-EE78258014F0@rectangular.com> Message-ID: On Jul 26, 2005, at 10:58 AM, Marvin Humphrey wrote: > Devel::Size has worked out well. > > The only downside is that it looks like it fails 1 out of 13 smoke > tests, so that failure will cascade onto Sort::External. I've sent Dan the links to the archive. He says he'll check it out. Best, David From perl-pm at joshheumann.com Tue Jul 26 16:29:56 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 26 Jul 2005 16:29:56 -0700 Subject: [Pdx-pm] Perl Testing book Message-ID: <20050726232956.GK4344@joshheumann.com> Either chromatic's too modest to post it, or I missed his email. Either way, he has a new book on testing! Perl Testing: A Developer's Notebook: http://www.oreilly.com/catalog/perltestingadn/ J From ajsavige at yahoo.com.au Tue Jul 26 16:44:36 2005 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Wed, 27 Jul 2005 09:44:36 +1000 (EST) Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050726232956.GK4344@joshheumann.com> Message-ID: <20050726234436.39882.qmail@web50907.mail.yahoo.com> --- Josh Heumann wrote: > Either chromatic's too modest to post it, or I missed his email. Either > way, he has a new book on testing! > > Perl Testing: A Developer's Notebook: > http://www.oreilly.com/catalog/perltestingadn/ I've ordered the book for work but we haven't received it yet. I read the sample chapter and it's brilliant: really clear, easy to follow, and seemed 100% error-free (a rarity). Oh, and I love the "formula" way each section is laid out: * Section Intro * How do I do that? * What just happened? * What about... (Q&A) with annotations down the right hand side. This layout is so effective I'm surprised it hasn't been done before -- ok, so probably it has, it's just that I haven't seen it before. :-) Anyone know who invented this layout style? I've already started using it for work documentation. /-\ Send instant messages to your online friends http://au.messenger.yahoo.com From jonlevitre at yahoo.com Tue Jul 26 16:44:39 2005 From: jonlevitre at yahoo.com (Jon LeVitre) Date: Tue, 26 Jul 2005 16:44:39 -0700 (PDT) Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050726232956.GK4344@joshheumann.com> Message-ID: <20050726234439.75650.qmail@web52712.mail.yahoo.com> An O'Reilly book with no animal on the cover. That'll make referring to it a problem. Are we gonna call it the coffee stain book? --- Josh Heumann wrote: > Either chromatic's too modest to post it, or I missed his email. > Either > way, he has a new book on testing! > > Perl Testing: A Developer's Notebook: > http://www.oreilly.com/catalog/perltestingadn/ > > J > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From schwern at pobox.com Tue Jul 26 17:16:45 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 26 Jul 2005 17:16:45 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050726234439.75650.qmail@web52712.mail.yahoo.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234439.75650.qmail@web52712.mail.yahoo.com> Message-ID: <20050727001645.GA23318@windhund.schwern.org> On Tue, Jul 26, 2005 at 04:44:39PM -0700, Jon LeVitre wrote: > An O'Reilly book with no animal on the cover. That'll make referring > to it a problem. Are we gonna call it the coffee stain book? Maybe I don't drink coffee. Maybe its tea. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet! From publiustemp-pdxpm at yahoo.com Tue Jul 26 18:24:52 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Tue, 26 Jul 2005 18:24:52 -0700 (PDT) Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727001645.GA23318@windhund.schwern.org> Message-ID: <20050727012452.3682.qmail@web60811.mail.yahoo.com> --- Michael G Schwern wrote: > On Tue, Jul 26, 2005 at 04:44:39PM -0700, Jon LeVitre wrote: > > An O'Reilly book with no animal on the cover. That'll make > referring > > to it a problem. Are we gonna call it the coffee stain book? > > Maybe I don't drink coffee. Maybe its tea. It's coffee. Coffee is God. Real developers worship coffee. Do not diss coffee. You're a freak. Actually, if the image is lifesize, it can't be coffee. Real coffee is served in a big @$$ mug. This leads me to conclude that real developers didn't have much to do with the layout of the book. However, it's still an awesome book. I strongly encourage everyone to pick it up. I definitely learned things from it. Cheers, Ovid /me has nothing worthwhile to contribute, as usual. -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From merlyn at stonehenge.com Tue Jul 26 18:30:07 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 26 Jul 2005 18:30:07 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727012452.3682.qmail@web60811.mail.yahoo.com> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> Message-ID: <863bq1m3xc.fsf@blue.stonehenge.com> >>>>> "Ovid" == Ovid writes: Ovid> It's coffee. Coffee is God. Real developers worship coffee. Do not Ovid> diss coffee. You're a freak. s/Real developers/Hacks/ :) /me drinks tea, never having had a cup o joe in his life. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From schwern at pobox.com Tue Jul 26 18:39:51 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 26 Jul 2005 18:39:51 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <863bq1m3xc.fsf@blue.stonehenge.com> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> Message-ID: <20050727013951.GE23318@windhund.schwern.org> On Tue, Jul 26, 2005 at 06:30:07PM -0700, Randal L. Schwartz wrote: > /me drinks tea, never having had a cup o joe in his life. You're not missing much. Tastes like wet, burnt wood chips. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern 'All anyone gets in a mirror is themselves,' she said. 'But what you gets in a good gumbo is everything.' -- "Witches Abroad" by Terry Prachett From jkeroes at eli.net Tue Jul 26 18:58:10 2005 From: jkeroes at eli.net (Joshua Keroes) Date: Tue, 26 Jul 2005 18:58:10 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <20050727013951.GE23318@windhund.schwern.org> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> Message-ID: <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> > Ovid> It's coffee. Coffee is God. Real developers worship > coffee. Do not > Ovid> diss coffee. You're a freak. > > On Tue, Jul 26, 2005 at 06:30:07PM -0700, Randal L. Schwartz wrote: >> s/Real developers/Hacks/ :) >> >> /me drinks tea, never having had a cup o joe in his life. "Windows is the best OS!" "No, Linux!" "No, OSX!" If I only used Windows, never having tried any alternatives, and told you it was the best OS out there, would you accept that as valid? On Jul 26, 2005, at 6:39 PM, Michael G Schwern wrote: > You're not missing much. Tastes like wet, burnt wood chips. That's "wet, burnt coffee-flavored wood chips of JOY" to you, Mister. J. PS Actually, I drink yerba mate. And it's better than both Schwern's tea *and* Heumann's coffee. From chromatic at wgz.org Tue Jul 26 19:20:37 2005 From: chromatic at wgz.org (chromatic) Date: Tue, 26 Jul 2005 19:20:37 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727013951.GE23318@windhund.schwern.org> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> Message-ID: <1122430838.7487.136.camel@localhost> On Tue, 2005-07-26 at 18:39 -0700, Michael G Schwern wrote: > You're not missing much. Tastes like wet, burnt wood chips. So does the book, actually. -- c From randall at sonofhans.net Tue Jul 26 19:30:04 2005 From: randall at sonofhans.net (Randall Hansen) Date: Tue, 26 Jul 2005 19:30:04 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> Message-ID: <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> On Jul 26, 2005, at 6:58 PM, Joshua Keroes wrote: > PS Actually, I drink yerba mate. And it's better than both Schwern's > tea *and* Heumann's coffee. heumann doesn't drink coffee, actually. but thanks to working with me for so long, he's a total espresso snob :) r From khamar at scienceprofessionals.com Tue Jul 26 19:31:31 2005 From: khamar at scienceprofessionals.com (Kyle Hamar) Date: Tue, 26 Jul 2005 19:31:31 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727001645.GA23318@windhund.schwern.org> References: <20050726232956.GK4344@joshheumann.com> <20050726234439.75650.qmail@web52712.mail.yahoo.com> <20050727001645.GA23318@windhund.schwern.org> Message-ID: <200507261931.31592.khamar@scienceprofessionals.com> On Tuesday 26 July 2005 05:16 pm, Michael G Schwern wrote: > Maybe I don't drink coffee. Maybe its tea. On closer inspection, I'm sure those are Lucky Lab beer stains. My vote is for the "Lucky Lab beer stained engineers notebook of perl" ... ok well that is not very catchy. Back to the pub to rethink that title. Kyle From ajsavige at yahoo.com.au Tue Jul 26 19:43:21 2005 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Wed, 27 Jul 2005 12:43:21 +1000 (EST) Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727013951.GE23318@windhund.schwern.org> Message-ID: <20050727024321.23952.qmail@web50908.mail.yahoo.com> --- Michael G Schwern wrote: > On Tue, Jul 26, 2005 at 06:30:07PM -0700, Randal L. Schwartz wrote: > > /me drinks tea, never having had a cup o joe in his life. > > You're not missing much. Tastes like wet, burnt wood chips. Only when made with soy milk. Anyone who drinks tea probably lurks around the hippie-commie-traitor section of his local Portland supermarket looking for quinoa. My vote is for coffee. After all, it was standard issue white coffee mugs thrown by Jon Orwant (not tea cups). /-\ ____________________________________________________ Do you Yahoo!? Yahoo! Photos: Now with unlimited storage http://au.photos.yahoo.com From publiustemp-pdxpm at yahoo.com Tue Jul 26 19:54:50 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Tue, 26 Jul 2005 19:54:50 -0700 (PDT) Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727024321.23952.qmail@web50908.mail.yahoo.com> Message-ID: <20050727025450.92123.qmail@web60821.mail.yahoo.com> --- Andrew Savige wrote: > Anyone who drinks tea probably lurks around the hippie-commie-traitor > section of his local Portland supermarket looking for quinoa. Actually, that's a pretty accurate depiction of Schwern. He eats a lot of quinoa. Of course, aside from the quinoa bit, that's a moderately accurate description of my coffee-loving $self (though I would say "hippie-capitalist-traitor"). Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From brendan at hollyking.org Tue Jul 26 20:35:09 2005 From: brendan at hollyking.org (brendan@hollyking.org) Date: Wed, 27 Jul 2005 03:37:09 +0002 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <200507261931.31592.khamar@scienceprofessionals.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234439.75650.qmail@web52712.mail.yahoo.com> <20050727001645.GA23318@windhund.schwern.org> <200507261931.31592.khamar@scienceprofessionals.com> Message-ID: <20050727033514.GH30400@hollyking.org> On Tue, Jul 26, 2005 at 07:31:31PM -0700, Kyle Hamar wrote: > On closer inspection, I'm sure those are Lucky Lab beer stains. Dare I add more fuel to the fire by mentioning that I'm an unforgiven addict of the pop/soda/coke vein. Nothing better than carbs, caffeine and carbonation in the morning. ;) -- There is no end to the mystery of the tides. -- Hilaire Belloe From ewilhelm at sbcglobal.net Tue Jul 26 20:42:18 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Tue, 26 Jul 2005 20:42:18 -0700 Subject: [Pdx-pm] espresso snobs unite In-Reply-To: <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> Message-ID: <200507262042.18874.ewilhelm@sbcglobal.net> # from Randall Hansen # on Tuesday 26 July 2005 07:30 pm: >heumann doesn't drink coffee, actually. ?but thanks to working with ? >me for so long, he's a total espresso snob :) Really? We should all meet at stumptown one of these days and have a snob-off over some ristretto esspressi. Maybe that would make for slightly more lucid conversation than the lucky lab. "Real coffee" is served in a very small cup. And, Re: woodchips: http://www.lucidcafe.com/cafeforum/schomertable28.html "Starbucks has chosen very dark roasts to be their defining style. This is very smart for a large chain because darker roasts offer a stable recognizable flavor: carbon, which is easy to reproduce consistently on an espresso machine." --Eric -- The opinions expressed in this e-mail were randomly generated by the computer and do not necessarily reflect the views of its owner. --Management --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From mikeraz at patch.com Tue Jul 26 21:04:25 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Tue, 26 Jul 2005 21:04:25 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <200507261931.31592.khamar@scienceprofessionals.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234439.75650.qmail@web52712.mail.yahoo.com> <20050727001645.GA23318@windhund.schwern.org> <200507261931.31592.khamar@scienceprofessionals.com> Message-ID: <20050727040425.GC5354@patch.com> Kyle Hamar wrote: > On closer inspection, I'm sure those are Lucky Lab beer stains. > > My vote is for the "Lucky Lab beer stained engineers notebook of perl" It's the Lucky Lab Blue Book, or the Blue Book to those without the LL pleasure. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: Microsoft is not the answer. Microsoft is the question. NO (or Linux) is the answer. -- Taken from a .signature from someone from the UK, source unknown From bogus@does.not.exist.com Tue Jul 26 21:03:05 2005 From: bogus@does.not.exist.com () Date: Tue, 26 Jul 2005 21:03:05 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727024321.23952.qmail@web50908.mail.yahoo.com> References: <20050727013951.GE23318@windhund.schwern.org> <20050727024321.23952.qmail@web50908.mail.yahoo.com> Message-ID: <20050727040305.GB5354@patch.com> Andrew Savige wrote: > Anyone who drinks tea probably lurks around the hippie-commie-traitor > section of his local Portland supermarket looking for quinoa. Quinoa? Quinoa! How is it I lived with my vegetarian sweetie for for years and had to spend a weekend in Brieghtenbush to enjoy quinoa? Americans drink coffee because it was the patriotic thing to do after the Boston Tea Party. But Randal's never, __never__, had coffee? What revelation is next? Never had single malt scotch? A home brewed beer? A virgin? Mind boggles. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: Me he enterado de todo por los peri?dicos. -- Felipe Gonz?lez -- From david at kineticode.com Wed Jul 27 08:31:32 2005 From: david at kineticode.com (David Wheeler) Date: Wed, 27 Jul 2005 08:31:32 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <863bq1m3xc.fsf@blue.stonehenge.com> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> Message-ID: <4454A75E-C45C-4B17-BEDF-7D897E9FC578@kineticode.com> On Jul 26, 2005, at 6:30 PM, Randal L. Schwartz wrote: > /me drinks tea, never having had a cup o joe in his life. Randal has beer for breakfast, we all know that! D From keithl at kl-ic.com Wed Jul 27 08:19:31 2005 From: keithl at kl-ic.com (Keith Lofstrom) Date: Wed, 27 Jul 2005 08:19:31 -0700 Subject: [Pdx-pm] Perl Testing book - layout In-Reply-To: <20050726234436.39882.qmail@web50907.mail.yahoo.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234436.39882.qmail@web50907.mail.yahoo.com> Message-ID: <20050727151931.GA5543@gate.kl-ic.com> Josh Heumann wrote: > Either chromatic's too modest to post it, or I missed his email. Either > way, he has a new book on testing! > > Perl Testing: A Developer's Notebook: > http://www.oreilly.com/catalog/perltestingadn/ On Wed, Jul 27, 2005 at 09:44:36AM +1000, Andrew Savige wrote: > I've ordered the book for work but we haven't received it yet. > > I read the sample chapter and it's brilliant: really clear, > easy to follow, and seemed 100% error-free (a rarity). > > Oh, and I love the "formula" way each section is laid out: ... The text does look well thought out. However, it appears that for some overpaid-art-school-graduate-who-doesn't-care-about-readability-or- printing-cost reason, they decided to print this excellent text on top of a light blue grid, I guess because it looks like a "notebook". I would get a headache trying to read it. Does the online Safari Bookshelf version look the same? I could download it during OSCON, and print it out without the graphcrud - then pay chromatic and Ian and Tim the royalties. Tangentally, is the current trend to print text in jarring, hard-to-read ways considered desirable by many under-30 folk? Is this some sort of counter-reaction to improvements in printing and display technology? Or is it just to piss off people with vision problems? Keith ... and now, back to the discussion on Coffee vs. Tea . The assumption is that those stains are spilled beverage-of-choice, when they are actually the debris caused by smashing a large bug with the bottom of an empty mug. So is an empty coffee mug better than an empty tea mug? -- Keith Lofstrom keithl at keithl.com Voice (503)-520-1993 KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon" Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs From schwern at pobox.com Tue Jul 26 20:13:30 2005 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 26 Jul 2005 20:13:30 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> Message-ID: <20050727031330.GC23867@windhund.schwern.org> On Tue, Jul 26, 2005 at 07:30:04PM -0700, Randall Hansen wrote: > On Jul 26, 2005, at 6:58 PM, Joshua Keroes wrote: > > PS Actually, I drink yerba mate. And it's better than both Schwern's > > tea *and* Heumann's coffee. > > heumann doesn't drink coffee, actually. but thanks to working with > me for so long, he's a total espresso snob :) Real men drink TURKISH COFFEE [1] from BRASS THIMBLES because to drink more than that would cause a ball of pure blackness to burn through your stomach, the seat you're on, the floor, the ground and eventually wind up embedded in the firey core of the Earth! [1] Any relationship between Turkish Coffee and the more typical mug of wet, smoke-damaged cardboard is purely coincidental. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <31832.969261130 at chthon> From schwern at pobox.com Wed Jul 27 10:00:37 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 27 Jul 2005 10:00:37 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727024321.23952.qmail@web50908.mail.yahoo.com> References: <20050727013951.GE23318@windhund.schwern.org> <20050727024321.23952.qmail@web50908.mail.yahoo.com> Message-ID: <20050727170037.GC24670@windhund.schwern.org> On Wed, Jul 27, 2005 at 12:43:21PM +1000, Andrew Savige wrote: > --- Michael G Schwern wrote: > > On Tue, Jul 26, 2005 at 06:30:07PM -0700, Randal L. Schwartz wrote: > > > /me drinks tea, never having had a cup o joe in his life. > > > > You're not missing much. Tastes like wet, burnt wood chips. > > Only when made with soy milk. > > Anyone who drinks tea probably lurks around the hippie-commie-traitor > section of his local Portland supermarket looking for quinoa. > > My vote is for coffee. After all, it was standard issue white coffee > mugs thrown by Jon Orwant (not tea cups). If those measly little things are standard issue coffee mugs then I rest my case. They didn't even dent the wall! I think Jon made this statement quite clear when he SHATTERED those coffee mugs. I drink tea from a big, thick, old, faded Bugs Bunny mug. Is there anything more MANLY? I think not. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Insulting our readers is part of our business model. http://somethingpositive.net/sp07122005.shtml From schwern at pobox.com Wed Jul 27 10:02:21 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 27 Jul 2005 10:02:21 -0700 Subject: [Pdx-pm] Perl Testing book In-Reply-To: <20050727040425.GC5354@patch.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234439.75650.qmail@web52712.mail.yahoo.com> <20050727001645.GA23318@windhund.schwern.org> <200507261931.31592.khamar@scienceprofessionals.com> <20050727040425.GC5354@patch.com> Message-ID: <20050727170221.GD24670@windhund.schwern.org> On Tue, Jul 26, 2005 at 09:04:25PM -0700, Michael Rasmussen wrote: > Kyle Hamar wrote: > > On closer inspection, I'm sure those are Lucky Lab beer stains. > > > > My vote is for the "Lucky Lab beer stained engineers notebook of perl" > > It's the Lucky Lab Blue Book, or the Blue Book to those without the LL > pleasure. Is it like the Air Force Project Blue Book in that it will deny the existence of testing? -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From schwern at pobox.com Wed Jul 27 10:10:04 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 27 Jul 2005 10:10:04 -0700 Subject: [Pdx-pm] Perl Testing book - layout In-Reply-To: <20050727151931.GA5543@gate.kl-ic.com> References: <20050726232956.GK4344@joshheumann.com> <20050726234436.39882.qmail@web50907.mail.yahoo.com> <20050727151931.GA5543@gate.kl-ic.com> Message-ID: <20050727171004.GE24670@windhund.schwern.org> On Wed, Jul 27, 2005 at 08:19:31AM -0700, Keith Lofstrom wrote: > The text does look well thought out. However, it appears that for some > overpaid-art-school-graduate-who-doesn't-care-about-readability-or- > printing-cost reason, they decided to print this excellent text on > top of a light blue grid Seconded. I would really prefer that style went away. > Tangentally, is the current trend to print text in jarring, hard-to-read > ways considered desirable by many under-30 folk? Is this some sort of > counter-reaction to improvements in printing and display technology? > Or is it just to piss off people with vision problems? There was a wonderful review of a recent D&D book, some sort of compilation of various people's recolations of the last 30-odd years of D&D, where the pages were deliberately set OFF CENTER and at angles and against horrible full color backgrounds and generally rendered unreadable. Sort of a cautionary tale. It was on Slashdot a few months back but their search is offline at the moment. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From robb at empire2.com Wed Jul 27 11:42:20 2005 From: robb at empire2.com (Rob Bloodgood) Date: Wed, 27 Jul 2005 11:42:20 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <20050727031330.GC23867@windhund.schwern.org> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> <20050727031330.GC23867@windhund.schwern.org> Message-ID: <42E7D58C.8070909@empire2.com> Michael G Schwern wrote: > On Tue, Jul 26, 2005 at 07:30:04PM -0700, Randall Hansen wrote: > >>On Jul 26, 2005, at 6:58 PM, Joshua Keroes wrote: >> >>>PS Actually, I drink yerba mate. And it's better than both Schwern's >>>tea *and* Heumann's coffee. >> >>heumann doesn't drink coffee, actually. but thanks to working with >>me for so long, he's a total espresso snob :) > > > Real men drink TURKISH COFFEE [1] from BRASS THIMBLES because to drink more > than that would cause a ball of pure blackness to burn through your stomach, > the seat you're on, the floor, the ground and eventually wind up embedded > in the firey core of the Earth! Actually, having just returned from Turkey, I can attest that is almost true. However, I also discovered something else: my wife really likes a dessert called Turkish Delight, which is sickeningly sweet (typical of many Turkish desserts), and inedible to me. But I found out that if one eats Turkish Delight while sipping Turkish coffee, the extreme sweetness and extreme bitterness neutralize and create a truly delightful taste. L8r, Rob From jkeroes at eli.net Wed Jul 27 12:39:49 2005 From: jkeroes at eli.net (Joshua Keroes) Date: Wed, 27 Jul 2005 12:39:49 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <42E7D58C.8070909@empire2.com> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> <20050727031330.GC23867@windhund.schwern.org> <42E7D58C.8070909@empire2.com> Message-ID: <05E484D6-D736-45AA-B5FA-03FEE8C4521F@eli.net> On Jul 27, 2005, at 11:42 AM, Rob Bloodgood wrote: > Michael G Schwern wrote: > >> On Tue, Jul 26, 2005 at 07:30:04PM -0700, Randall Hansen wrote: >> >> >>> On Jul 26, 2005, at 6:58 PM, Joshua Keroes wrote: >>> >>> >>>> PS Actually, I drink yerba mate. And it's better than both >>>> Schwern's >>>> tea *and* Heumann's coffee. >>>> >>> >>> heumann doesn't drink coffee, actually. but thanks to working with >>> me for so long, he's a total espresso snob :) >>> >> >> >> Real men drink TURKISH COFFEE [1] from BRASS THIMBLES because to >> drink more >> than that would cause a ball of pure blackness to burn through >> your stomach, >> the seat you're on, the floor, the ground and eventually wind up >> embedded >> in the firey core of the Earth! >> > > Actually, having just returned from Turkey, I can attest that is > almost > true. However, I also discovered something else: my wife really > likes a > dessert called Turkish Delight, which is sickeningly sweet (typical of > many Turkish desserts), and inedible to me. But I found out that > if one > eats Turkish Delight while sipping Turkish coffee, the extreme > sweetness > and extreme bitterness neutralize and create a truly delightful taste. You can buy Turkish Delight at Barbur Foods on the corner of SW Barbur & SW Taylor's Ferry. They stock several brands. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20050727/c63835b5/attachment.html From robb at empire2.com Wed Jul 27 13:39:43 2005 From: robb at empire2.com (Rob Bloodgood) Date: Wed, 27 Jul 2005 13:39:43 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <05E484D6-D736-45AA-B5FA-03FEE8C4521F@eli.net> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> <20050727031330.GC23867@windhund.schwern.org> <42E7D58C.8070909@empire2.com> <05E484D6-D736-45AA-B5FA-03FEE8C4521F@eli.net> Message-ID: <42E7F10F.8050602@empire2.com> Joshua Keroes wrote: > > On Jul 27, 2005, at 11:42 AM, Rob Bloodgood wrote: > >> Michael G Schwern wrote: >> >>> On Tue, Jul 26, 2005 at 07:30:04PM -0700, Randall Hansen wrote: >>> >>> >>>> On Jul 26, 2005, at 6:58 PM, Joshua Keroes wrote: >>>> >>>> >>>>> PS Actually, I drink yerba mate. And it's better than both Schwern's >>>>> tea *and* Heumann's coffee. >>>>> >>>> >>>> heumann doesn't drink coffee, actually. but thanks to working with >>>> me for so long, he's a total espresso snob :) >>>> >>> >>> >>> Real men drink TURKISH COFFEE [1] from BRASS THIMBLES because to >>> drink more >>> than that would cause a ball of pure blackness to burn through your >>> stomach, >>> the seat you're on, the floor, the ground and eventually wind up >>> embedded >>> in the firey core of the Earth! >>> >> >> Actually, having just returned from Turkey, I can attest that is almost >> true. However, I also discovered something else: my wife really likes a >> dessert called Turkish Delight, which is sickeningly sweet (typical of >> many Turkish desserts), and inedible to me. But I found out that if one >> eats Turkish Delight while sipping Turkish coffee, the extreme sweetness >> and extreme bitterness neutralize and create a truly delightful taste. > > > You can buy Turkish Delight at Barbur Foods on the corner of SW Barbur & > SW Taylor's Ferry. They stock several brands. Thanks, I'll let my lady know. But there IS one thing we discovered in Turkey that I would VERY much like to know: does anybody know where to purchase Sour Cherry Juice/Nectar, in Portland? Rob From schwern at pobox.com Wed Jul 27 14:01:18 2005 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 27 Jul 2005 14:01:18 -0700 Subject: [Pdx-pm] Tea is weak [was: Perl Testing book] In-Reply-To: <42E7F10F.8050602@empire2.com> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> <20050727031330.GC23867@windhund.schwern.org> <42E7D58C.8070909@empire2.com> <05E484D6-D736-45AA-B5FA-03FEE8C4521F@eli.net> <42E7F10F.8050602@empire2.com> Message-ID: <20050727210118.GA26322@windhund.schwern.org> On Wed, Jul 27, 2005 at 01:39:43PM -0700, Rob Bloodgood wrote: > But there IS one thing we discovered in Turkey that I would VERY much > like to know: does anybody know where to purchase Sour Cherry > Juice/Nectar, in Portland? There's a European grocery on the north side of Hawthorne and about SE 18th. They might have it. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From keithl at kl-ic.com Thu Jul 28 14:30:16 2005 From: keithl at kl-ic.com (Keith Lofstrom) Date: Thu, 28 Jul 2005 14:30:16 -0700 Subject: [Pdx-pm] Sour Cherry Juice (was Tea and Testing) In-Reply-To: <20050727210118.GA26322@windhund.schwern.org> References: <20050727012452.3682.qmail@web60811.mail.yahoo.com> <863bq1m3xc.fsf@blue.stonehenge.com> <20050727013951.GE23318@windhund.schwern.org> <895B17F5-4A80-4F1B-B20D-85788649B45C@eli.net> <7B648E77-B7D1-421C-8C05-B5E345B7BE47@sonofhans.net> <20050727031330.GC23867@windhund.schwern.org> <42E7D58C.8070909@empire2.com> <05E484D6-D736-45AA-B5FA-03FEE8C4521F@eli.net> <42E7F10F.8050602@empire2.com> <20050727210118.GA26322@windhund.schwern.org> Message-ID: <20050728213016.GA3382@gate.kl-ic.com> On Wed, Jul 27, 2005 at 01:39:43PM -0700, Rob Bloodgood wrote: > But there IS one thing we discovered in Turkey that I would VERY much > like to know: does anybody know where to purchase Sour Cherry > Juice/Nectar, in Portland? On Wed, Jul 27, 2005 at 02:01:18PM -0700, Michael G Schwern wrote: > There's a European grocery on the north side of Hawthorne and about SE 18th. > They might have it. There is a Russian grocery store named Kavkaz in Beaverton ( 10343 sw Canyon Road ) where I've bought sour cherry juice. I have also seen it at other European stores, so Schwern's suggestion is a good one. Tasty stuff - much preferrable to tea or coffee! Keith -- Keith Lofstrom keithl at keithl.com Voice (503)-520-1993 KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon" Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs From schwern at pobox.com Thu Jul 28 22:13:09 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 28 Jul 2005 22:13:09 -0700 Subject: [Pdx-pm] FOSCON Message-ID: <20050729051309.GC4255@windhund.schwern.org> Friend of mine just tipped me off to this on the Free Geek and Ruby list. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/149384 So if you can't afford to go to OSCON, or even if you can, go to FOSCON. What is FOSCON? ================ FOSCON just means free OSCON. Several of us in Portland got into OSCON free the last couple of years by volunteering. When we found out that there would be no volunteer opportunities this year we decided to see if any of the Ruby speakers would like to 'practice' their OSCON talks on us local Rubyists - thus FOSCON (or as Lennon calls it: OSCANT) was born. When is it? ============== Wednesday, August 3rd 2005. Evening. We'll start at 6:30PM and go till 10:30PM or so. Who is speaking? ================= *Jim Weirich: I think Jim is going to speak on Domain Specific Languages and Ruby (or maybe he'll talk about dependency injection). *DHH: I suspect his talk will have something to do with Rails *Why The Lucky Stiff: Music. Mayhem. Ruby. Elves. Poignant. Not to be missed. * Jamis Buck: Jamis will be talking about his Ruby-Javascript bridge thingy. Matz has indicated that he plans to attend, but he doesn't want to speak (well, I mean he doen't want to give a presentation - if you ask him a question I suspect he will answer). That's cool. Where's it gonna be? ===================== At the lavish conference facilities of FreeGeek in Portland. FreeGeek is located at: 1731 SE 10th Avenue, Portland OR http://freegeek.org -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From ptkwt at aracnet.com Fri Jul 29 01:03:11 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Fri, 29 Jul 2005 01:03:11 -0700 (PDT) Subject: [Pdx-pm] FOSCON In-Reply-To: <20050729051309.GC4255@windhund.schwern.org> Message-ID: Yes, Perl people can come too. We're going to take a collection soon after convening and order in pizza - that was the plan anyway, we might need to order from a couple of different places if we get large attendance. Bring your favorite beverage (sour cherry juice seems to have suddenly become popular, and since I assume it is red-ish in color it would be an especially appropriate choice). Just know this: Why the lucky stiff is not a tame presenter. (oh, and Jamis can't make it so his Ruby/Javascript thingy talk is off the agenda) We're saying that Why's talk is not to be missed, but actually we wonder if perhaps Why's talk will be impossible to miss anywhere within a 10-block radius. Phil On Thu, 28 Jul 2005, Michael G Schwern wrote: > Friend of mine just tipped me off to this on the Free Geek and Ruby list. > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/149384 > > So if you can't afford to go to OSCON, or even if you can, go to FOSCON. > > > What is FOSCON? > ================ > FOSCON just means free OSCON. Several of us in Portland got into OSCON > free the last couple of years by volunteering. When we found out that > there would be no volunteer opportunities this year we decided to see if > any of the Ruby speakers would like to 'practice' their OSCON talks on us > local Rubyists - thus FOSCON (or as Lennon calls it: OSCANT) was born. > > When is it? > ============== > Wednesday, August 3rd 2005. Evening. We'll start at 6:30PM > and go till 10:30PM or so. > > Who is speaking? > ================= > *Jim Weirich: I think Jim is going to speak on Domain Specific Languages > and Ruby (or maybe he'll talk about dependency injection). > *DHH: I suspect his talk will have something to do with Rails > *Why The Lucky Stiff: Music. Mayhem. Ruby. Elves. Poignant. Not to be > missed. > * Jamis Buck: Jamis will be talking about his Ruby-Javascript bridge > thingy. > > Matz has indicated that he plans to attend, but he doesn't want to speak > (well, I mean he doen't want to give a presentation - if you ask him a > question I suspect he will answer). That's cool. > > Where's it gonna be? > ===================== > At the lavish conference facilities of FreeGeek in Portland. FreeGeek is > located at: > 1731 SE 10th Avenue, Portland OR > http://freegeek.org > > > -- > Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern > Don't try the paranormal until you know what's normal. > -- "Lords and Ladies" by Terry Prachett > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From merlyn at stonehenge.com Fri Jul 29 03:37:09 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 29 Jul 2005 03:37:09 -0700 Subject: [Pdx-pm] FOSCON In-Reply-To: <20050729051309.GC4255@windhund.schwern.org> References: <20050729051309.GC4255@windhund.schwern.org> Message-ID: <86ek9hc2zu.fsf@blue.stonehenge.com> >>>>> "Michael" == Michael G Schwern writes: Michael> When is it? Michael> ============== Michael> Wednesday, August 3rd 2005. Evening. We'll start at 6:30PM Michael> and go till 10:30PM or so. After you're done, head over to Ground Kontrol (www.groundkontrol.com), and say the magic phrase at the door... "I know Randal"... for free food, beer, and video games. We'll be there until at least midnight-- later if people keep hanging out. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From rlucas at tercent.com Fri Jul 29 12:42:22 2005 From: rlucas at tercent.com (Randall Lucas) Date: Fri, 29 Jul 2005 12:42:22 -0700 Subject: [Pdx-pm] Sour Cherry Juice (was Tea and Testing) Message-ID: <42EA869E.4050305@tercent.com> > On Wed, Jul 27, 2005 at 02:01:18PM -0700, Michael G Schwern wrote: > >>> There's a European grocery on the north side of Hawthorne and about SE 18th. >>> They might have it. > > > There is a Russian grocery store named Kavkaz in Beaverton ( 10343 sw > Canyon Road ) where I've bought sour cherry juice. I have also seen > it at other European stores, so Schwern's suggestion is a good one. > > Tasty stuff - much preferrable to tea or coffee! If anyone is interested in serious bulk imporing, I know a guy with a sour cherry orchard in Hungary looking for export opps... R -- Randall Lucas DF93EAD1 Tercent, Inc / SuperSurvey Online Surveys http://www.supersurvey.com