From biztos at mac.com Tue Mar 1 09:26:39 2011 From: biztos at mac.com (Kevin Frost) Date: Tue, 01 Mar 2011 18:26:39 +0100 Subject: [sf-perl] ORM vs. DBI In-Reply-To: References: Message-ID: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> I belatedly second the point in favor of DBIx::Class. Not the easiest thing to learn but once you're up to speed it's very, very powerful. And IIRC you can tweak the SQL if you feel the need, it's just not super simple. There are also really good testing options. For my money, I don't think I would do any serious development without at least enough ORM to permanetly avoid hashrefs and arrayrefs in the app code. -- frosty On 28.02.2011, at 18:02, Fred Moyer wrote: > On Sat, Feb 26, 2011 at 11:00 PM, Michael Friedman > wrote: >> Fellow Perl Mongers, >> >> I finally got around to reading up on and trying out DBIx::Class. >> It looks pretty neat, but after loading up a complex DB (108 >> tables) and writing a short test script, I really don't understand >> why you'd want to use it over using just regular DBI and SQL. Maybe >> it's because I knew SQL before I knew Perl and I'm training in >> looking at things in a SQL way, but I'm not so sure. >> >> So I'd like to throw the floor open to discussion. Why would you >> want to use DBIx::Class (or any Object-Relational Manager) instead >> of writing classes that call the DB directly through DBI? > > Once you understand how to use DBIx::Class, it makes your life a lot > simpler. You don't have to think about what fields you're retrieving > with sql statements, whether or not you typed in the wrong key for a > hash slice lookup, etc, etc. > > If writing raw sql with DBI is a sledgehammer, DBIx::Class is a > wrecking ball. It takes some review and time to learn the API, but > you can get a lot more done in a much shorter amount of time, and > still be able to use raw SQL for those queries you need to optimize. > > Best of all, you can point it at your database and have it extract a > full resultset library from it, to which you can add your own methods. > If making sure your sql is exactly the way you want it in every case, > DBIx::Class is probably not for you. But if you want to get business > goals accomplished, and worry about optimizing thing later, it is a > choice tool. > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm From hartzell at alerce.com Tue Mar 1 12:02:33 2011 From: hartzell at alerce.com (George Hartzell) Date: Tue, 1 Mar 2011 12:02:33 -0800 Subject: [sf-perl] ORM vs. DBI In-Reply-To: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> References: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> Message-ID: <19821.20697.784087.298794@gargle.gargle.HOWL> Kevin Frost writes: > I belatedly second the point in favor of DBIx::Class. Not the easiest > thing to learn but once you're up to speed it's very, very powerful. I'd like to toss Rose::DB::Object into the mix. It's in the same "space" as DBIx::Class but feels lighter/tighter/more compact. It's not Moose-ish and is largely the product of a single person (John Siracussa). If he ever gets hit by a bus (or like the Class::DBI author decides to stop working on it) then things might get interesting. On the other hand I think you can really see the effects of a single hand on the rudder. It has great tutorials, John's amazing at fixing issues and adding functionality. If you're in the market for an ORM and have the freedom to make up your own mind on technical merits (as opposed to sheer popularity or Moose-osity, or ...) it's worth looking at. g. From Paul.Makepeace at realprogrammers.com Tue Mar 1 13:49:12 2011 From: Paul.Makepeace at realprogrammers.com (Paul Makepeace) Date: Tue, 1 Mar 2011 21:49:12 +0000 Subject: [sf-perl] ORM vs. DBI In-Reply-To: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> References: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> Message-ID: On Tue, Mar 1, 2011 at 17:26, Kevin Frost wrote: > For my money, I don't think I would do any serious development without at > least enough ORM to permanetly avoid hashrefs and arrayrefs in the app code. This on its own is huge. Being able to point the ORM at the database and have it auto-generate classes that'll give you accessors is really a big timesaver. DBIC covers some pretty complex SQL generation at this point. Sure, if you're doing heavy OLAP/data mining work then you'll be hand-crafting but for the majority (>99%?) of common use cases in development it'll have you covered. Most ORMs have had decent prefetching for years so that objection (lookups on related/joined/FK'ed) tables went away a long time ago. I'm working full time with Django and its modeling system and while it's early days yet it does seem a much easier fit for me (I was in the camp of "goddamit let me just use SQL already!" and had a slower time adapting to the method calls & chained resultset notion. Also I think Perl's syntax is a fail compared to python in this instance) Paul From moseley at hank.org Tue Mar 1 14:22:41 2011 From: moseley at hank.org (Bill Moseley) Date: Tue, 1 Mar 2011 14:22:41 -0800 Subject: [sf-perl] ORM vs. DBI In-Reply-To: References: <79B98FE1-3BF3-486D-BDF1-FD9B997781E5@mac.com> Message-ID: On Tue, Mar 1, 2011 at 1:49 PM, Paul Makepeace < Paul.Makepeace at realprogrammers.com> wrote: > On Tue, Mar 1, 2011 at 17:26, Kevin Frost wrote: > > For my money, I don't think I would do any serious development without at > > least enough ORM to permanetly avoid hashrefs and arrayrefs in the app > code. > > This on its own is huge. Being able to point the ORM at the database > and have it auto-generate classes that'll give you accessors is really > a big timesaver. > But, that's a one-time operation when converting from an existing database. Adding new classes (for new tables) is something I do by hand -- and it's not that much work. > DBIC covers some pretty complex SQL generation at this point. Sure, if > you're doing heavy OLAP/data mining work then you'll be hand-crafting > but for the majority (>99%?) of common use cases in development it'll > have you covered. Most ORMs have had decent prefetching for years so > that objection (lookups on related/joined/FK'ed) tables went away a > long time ago. > DBIC (SQL::Abstract) makes it pretty easy to build almost any query. It's been very rare that I've had to fall back to writing SQL with DBIC. And result set chaining in DBIC means you can do some very useful things in code where you might otherwise have to write a bunch of separate queries and sprintf statements to dynamically build a query. Promotes code reuse quite a bit. Of course, connection management, nested transactions, and other goodies are sure handy. There's no doubt that DBIC is a big win over DBI directly. That said, it's easy to hang yourself with the rope DBIC gives you. There's some overhead with the ORM, of course. But, it's really easy for developers to write code that does crazy stuff in the database if not careful. A few nested loops in a template and you wonder why a request is taking so long. You have to monitor the SQL that DBIC generates (or that you make DBIC generate, really). I recently added a distinct => 1 to a query that did a prefetch and the query went from 18ms to close to a second. Looking at the SQL generated it was obvious what was happening. You also have to monitor the number of queries generated by an operation (or web request). As I noted, careless use of DBIC in a few nested loops and you end up doing hundreds or thousands of queries. I have code that spits out a warning under development when it looks like a request is making a lot of queries or when spending too much time waiting on the database. I'm tempted to make it fatal. -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From doom at kzsu.stanford.edu Wed Mar 2 10:49:47 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Wed, 2 Mar 2011 10:49:47 -0800 Subject: [sf-perl] ORM vs. DBI In-Reply-To: <808CCFBE-C53A-4028-B0E4-A21BC6F7D8B2@pgexperts.com> References: <808CCFBE-C53A-4028-B0E4-A21BC6F7D8B2@pgexperts.com> Message-ID: Quinn Weaver wrote: > If I understood you correctly above, Rose::DB::Object can do this. I believe > DBIx::Class can as well, yes? > On occasions when I do use an ORM, I used to favor RDBO, but I now favor DBIC, > because it is Moose-based (this allows for automated conversion of DBIC objects to > JSON via introspection). They're both quite solid frameworks, though. DBIC is clearly > the more popular. FWIW, RDBO also has the following property, cited by Fred Moyer > in a later email about DBIC: By the way, if someone were up for giving a talk comparing DBIx::Class and Rose::DB::Object, I'd certainly be interested... From fred at redhotpenguin.com Thu Mar 3 10:47:38 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Thu, 3 Mar 2011 10:47:38 -0800 Subject: [sf-perl] [off-topic] Fwd: UG News--Ebook Deal/Day: Save 50% on O'Reilly Editor Brian Sawyer's Geek Culture Picks In-Reply-To: <1299139248.25097.0.048970@post.oreilly.com> References: <1299139248.25097.0.048970@post.oreilly.com> Message-ID: Some interesting titles here - just bought Mind Hacks for 50% off. Several formats too, so you can read it on your Android device. ---------- Forwarded message ---------- From: Marsee Henon & Jon Johns Date: Thu, Mar 3, 2011 at 12:00 AM Subject: UG News--Ebook Deal/Day: Save 50% on O'Reilly Editor Brian Sawyer's Geek Culture Picks To: fred at redhotpenguin.com View in browser: http://post.oreilly.com/rd/9z1z3jnn0h1qiome9lc369fkrb7snmp69kmft5v58g8 Forward this announcement to your user group or a friend: http://post.oreilly.com/f2f/9z1zkkp5jvhnrcqjtokhbef3s03j1hfl8ug8hgvl21g *** Ebook Deal of the Day - Save 50% *** O'Reilly Editor Brian Sawyer's Geek Culture Picks Whether you consider yourself a geek or not, I'm sure you'll find each of these books interesting. You might even find yourself "geeking out" over something completely new, which is a wonderful new feeling to discover. For one day only you can buy these titles for 50% off. Use discount code DDG3K. Ebooks from oreilly.com are DRM-free. You get free lifetime access, multiple file formats, free updates. Being Geek http://post.oreilly.com/rd/9z1z6j3pt9b7h2kp502a1apikej9gcabeb57nkahmmo Was: $19.99 Now: $9.99 Add to Cart: http://post.oreilly.com/rd/9z1zeh3mkatkjo2nos0rndfpe1fk0jpkd7f4n809doo Cooking for Geeks http://post.oreilly.com/rd/9z1z8mpea8o7c0ctikj92h4250dtuh83nk26ci7jau8 Was: $27.99 Now: $13.99 Add to Cart: http://post.oreilly.com/rd/9z1ztcpmtrgt7mslqctt46p5q2q3v7rrqcvovi9ajg8 Geek Atlas http://post.oreilly.com/rd/9z1zvgf8pfbe01deirrn7djhdfiv91hqc5ou3auocl8 Was: $23.99 Now: $11.99 Add to Cart: http://post.oreilly.com/rd/9z1zos7af8dabdh26ubu83cmvj96tpn104anel7fuug Related titles also included in this deal: Hacking: The Next Generation http://post.oreilly.com/rd/9z1zvakbttkk60o49fhimvbp9htfarksj4ogkcrdc0o Was: $31.99 Now: $15.99 Add to Cart: http://post.oreilly.com/rd/9z1zid3kr3bko5gqn12hiqidt9nvcdiclnaufg0v0j0 Mind Hacks http://post.oreilly.com/rd/9z1z4e0aatb212ag6100im7lc4mmdjkkfd9p93a8t48 Was: $19.99 Now: $9.99 Add to Cart: http://post.oreilly.com/rd/9z1z5f0149hqtcped0a2pv8ktrpn06tbbgmm4a052eg Mind Performance Hacks http://post.oreilly.com/rd/9z1zopnlrjlpphn7qj0lld5o0nk6cbodl1csjukhmpo Was: $19.99 Now: $9.99 Add to Cart: http://post.oreilly.com/rd/9z1zorejtvrqfrn9u77gea9cenonlrs34m4ag8k868g Hackers & Painters http://post.oreilly.com/rd/9z1zt2hfe183kq3aesaogrulg9jk60ubc1v8mnv3q8g Was: $18.99 Now: $9.49 Add to Cart: http://post.oreilly.com/rd/9z1zrfmtr5lsba4p36t0vc6cekqn0434a1vplhs2ii0 Revolution in The Valley http://post.oreilly.com/rd/9z1zdqjuus6vnsnmgfp78l4a9js4l98i0mjm2pghtp0 Was: $19.99 Now: $9.99 Add to Cart: http://post.oreilly.com/rd/9z1zqv6m84lnikmu3reumq9n6j3rojn9dpvlq6236v0 The Google Way http://post.oreilly.com/rd/9z1zn2q0su3sf59193eec3ufpkqc4t2jepbsbg85398 Was: $19.95 Now: $9.97 Add to Cart: http://post.oreilly.com/rd/9z1zha3sm8m0h47qr7cig5besi7ane7n8ojjohn6sf8 Hacking: The Art of Exploitation http://post.oreilly.com/rd/9z1zq2u60jc99sp7kgv016gnmbbf33vmhe27vb503co Was: $39.95 Now: $19.97 Add to Cart: http://post.oreilly.com/rd/9z1zdgbr3sf64u8envlj42o8jodeck62uvv8lh0s6fg Eloquent JavaScript http://post.oreilly.com/rd/9z1zq9e0uv1ll8obbiantk7754le2k6ea5nnpjkko4g Was: $23.95 Now: $11.97 Add to Cart: http://post.oreilly.com/rd/9z1zdlo7g4gbjr0722g8usoa36gc47lfcacav4f3jhg The Book of Audacity http://post.oreilly.com/rd/9z1zgltlgob8vuruigk6kv2dlel783129k33rstitko Was: $27.95 Now: $13.97 Add to Cart: http://post.oreilly.com/rd/9z1zui3k30021q3s0kc6118db8shub6oss341erthvg Land of Lisp http://post.oreilly.com/rd/9z1zma56vvg2r46epldm6ul3jada3un2qtpbpvlbgi8 Was: $39.95 Now: $19.97 Add to Cart: http://post.oreilly.com/rd/9z1zuqqfslonajpqtpgl44a4qmfi5620bthds5snn50 -------------------------------------------------------------- O'Reilly - Spreading the knowledge of innovators | oreilly.com -------------------------------------------------------------- You are receiving this email because you are a User Group contact with O'Reilly Media. Forward this announcement: http://post.oreilly.com/f2f/9z1zkkp5jvhnrcqjtokhbef3s03j1hfl8ug8hgvl21g. If you would like to stop receiving these newsletters or announcements from O'Reilly, send an email to marsee at oreilly.com. O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000 From quinn at fairpath.com Thu Mar 3 11:57:46 2011 From: quinn at fairpath.com (Quinn Weaver) Date: Thu, 3 Mar 2011 11:57:46 -0800 Subject: [sf-perl] [off-topic] Fwd: UG News--Ebook Deal/Day: Save 50% on O'Reilly Editor Brian Sawyer's Geek Culture Picks In-Reply-To: References: <1299139248.25097.0.048970@post.oreilly.com> Message-ID: On Thu, Mar 3, 2011 at 10:47 AM, Fred Moyer wrote: > Some interesting titles here - just bought Mind Hacks for 50% off. > Several formats too, so you can read it on your Android device. Oh, nice. That sounds like a tech(esque) book that I might actually read on a handheld. (I realized belatedly that reading books about code doesn't work on a phone, because the screen is too small to show 80-char lines of code?they don't flow like English.) -- Quinn Weaver Consulting, LLC Full-stack web design and development http://quinnweaver.com/ 510-520-5217 From moseley at hank.org Thu Mar 3 15:41:31 2011 From: moseley at hank.org (Bill Moseley) Date: Thu, 3 Mar 2011 15:41:31 -0800 Subject: [sf-perl] XML Parsing question Message-ID: I have a collection of XML files that have one or more elements in each file. The goal is have a script where I can pass one or more files on the command line which will gather up all the elements from each file and combine into a single XML output file. I pulled XML::TreeBuilder out (I find TreeBuilder pretty easy for quick scripts) and did the following. I seem to not work with XML that much (which I think is a bit lucky), so there may be easier ways to do this. #!/usr/bin/perl use strict; use warnings; use XML::TreeBuilder; use XML::Element; use Encode; my $doc = XML::Element->new( 'testResults' ); for my $path ( @ARGV ) { my $tree = XML::TreeBuilder->new; $tree->parse_file( $path ); $doc->push_content( $tree->look_down( '_tag', 'result' ) ); $tree->delete; } print join "\n", '', encode_utf8( $doc->as_XML ); That seems to work ok. But, then I ended up with a file that had a CDATA section (which happened to hold a snippet of HTML). That's fine, but $doc->as_XML then encoded the entities. With this source file: $ cat test.xml this is strong]]> I run through the script I get: $ cat new.xml <strong>this is strong</strong> And if I then run *that* file back through the script I get: undefined entity at line 3, column 40, byte 101 at /usr/lib/perl5/XML/Parser.pm line 187 which is choking at the   My questions are: 1) Is there a better approach to doing this that preserves the CDATA sections? 2) Is there a way to define the   entity? I tried adding DTD to defined the  , but wasn't able to make the parser happy in my attempts. -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From greg at blekko.com Fri Mar 4 11:51:58 2011 From: greg at blekko.com (Greg Lindahl) Date: Fri, 4 Mar 2011 11:51:58 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission Message-ID: <20110304195158.GB10374@bx9.net> I'm trying to submit my first CPAN modules and I have some dumb questions that I haven't found answers for. 1) I think the process should be: * submit a test version (how do I indicate that? $VERSION = '1.00_1' ?) * cpan smokers send me emails showing breakage * fix bugs, rinse repeat, when done, use $VERSION = '1.00' to release Correct? 2) I have dependencies with YAML and Test::More -- the one other system I tried had an older version of Test::More which doesn't grok 'done_testing()'. How do I figure out which versions to ask for? Or should I just avoid done_testing() in cpan modules, so as to tolerate older versions? Thanks! Pointers to the right FM are as welcome as direct answers... -- greg From fred at redhotpenguin.com Fri Mar 4 12:33:32 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 4 Mar 2011 12:33:32 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: <20110304195158.GB10374@bx9.net> References: <20110304195158.GB10374@bx9.net> Message-ID: On Fri, Mar 4, 2011 at 11:51 AM, Greg Lindahl wrote: > I'm trying to submit my first CPAN modules and I have some dumb > questions that I haven't found answers for. > > 2) I have dependencies with YAML and Test::More -- the one other > system I tried had an older version of Test::More which doesn't > grok 'done_testing()'. > > How do I figure out which versions to ask for? Or should I just avoid > done_testing() in cpan modules, so as to tolerate older versions? With regards to running the tests based on the version of Test::More (if I'm understanding your question correctly), I usually use something like this in the Makefile.PL to see if the needed version of Test::More is installed. If it isn't, the tests don't run. package MY; sub test { my $self = shift; eval { require Test::More } or return < '0.123') { return <SUPER::test(@_); } From david_v_wright at yahoo.com Fri Mar 4 13:36:20 2011 From: david_v_wright at yahoo.com (david wright) Date: Fri, 4 Mar 2011 13:36:20 -0800 (PST) Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: References: <20110304195158.GB10374@bx9.net> Message-ID: <187100.60232.qm@web31806.mail.mud.yahoo.com> > From: Fred Moyer > To: Greg Lindahl > Cc: sanfrancisco-pm at pm.org > Sent: Fri, March 4, 2011 12:33:32 PM > Subject: Re: [sf-perl] Dumb Q's about CPAN submission > > On Fri, Mar 4, 2011 at 11:51 AM, Greg Lindahl wrote: > > I'm trying to submit my first CPAN modules and I have some dumb > > questions that I haven't found answers for. > > > > 2) I have dependencies with YAML and Test::More -- the one other > > system I tried had an older version of Test::More which doesn't > > grok 'done_testing()'. > > > > How do I figure out which versions to ask for? Or should I just avoid > > done_testing() in cpan modules, so as to tolerate older versions? > > With regards to running the tests based on the version of Test::More > (if I'm understanding your question correctly), I usually use > something like this in the Makefile.PL to see if the needed version of > Test::More is installed. If it isn't, the tests don't run. > > package MY; > > sub test { > my $self = shift; > > eval { require Test::More } or return < test:: > \t\@echo sorry, cannot run tests without Test::More > EOF > > unless ($Test::More::VERSION > '0.123') { > return < test:: > \t\@echo sorry, need at least version 0.124 of Test::More > EOF > > return $self->SUPER::test(@_); > } > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > I'm trying to submit my first CPAN modules and I have some dumb > questions that I haven't found answers for. I'm sure you saw this, http://www.cpan.org/modules/04pause.html >1) I think the process should be: > >* submit a test version (how do I indicate that? $VERSION = '1.00_1' ?) >* cpan smokers send me emails showing breakage >* fix bugs, rinse repeat, when done, use $VERSION = '1.00' to release > Correct? Yes, more or less. Here is an interesting read on versioning in perl, http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/ > 2) I have dependencies with YAML and Test::More -- the one other > system I tried had an older version of Test::More which doesn't > grok 'done_testing()'. > > How do I figure out which versions to ask for? Or should I just avoid > done_testing() in cpan modules, so as to tolerate older versions? Well, you should require a version with appropriate functionality. If you want to support older versions, don't use newer features. (or you can implement 'fallback to' on missing methods) As for specifying specific versions, I like using MakeMaker. http://search.cpan.org/~mschwern/ExtUtils-MakeMaker-6.56/lib/ExtUtils/MakeMaker.pm#Using_Attributes_and_Parameters see PREREQ_PM -------------- next part -------------- An HTML attachment was scrubbed... URL: From fred at redhotpenguin.com Fri Mar 4 14:29:29 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 4 Mar 2011 14:29:29 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: References: <20110304195158.GB10374@bx9.net> Message-ID: [adding the sf.pm cc back] On Fri, Mar 4, 2011 at 1:52 PM, Joseph Brenner wrote: > (1) I don't think there's any standard usage of perl VERSION that let > you indicate an alpha version, or something like that. ?Just start > with a very low version, e.g. 0.001, ?and bump it up when it makes > sense to you. ?If you like, you can jump it up to 1.00 to indicate > you're feeling confident about it, but I don't think there's any perl > culture assumption that there's something magic about version 1.0 (I > think you'll find that many production ready modules have version > numbers less than 1). > > (2) To figure out when "done_testing" was added to Test::More, I would > try looking at it's Changes file. > (a) Myself, I personally would just avoid using "done_testing" for > another few years... the fewer new features you use, the easier you'll > make it on other people to use your code. > > Fred's trickery with Makefile.PL sounds workable (a lot of people > don't realize that that's really a perl script, so you can include any > arbitrary code in it). ?Another way to deal would be down on the level > of the t/*.t files... with Test::More you can skip tests that depend > on features that aren't available. The point of the trickery here is so that you don't have to require Test::More in the prerequisites for the module. Your module (likely) does not need Test::More to function, just to run the tests. Why does this matter? Often in production environments, package based (read rpm, deb) perl modules will use an additional package to install Test::More apart from the Perl core rpm. That might not be a big deal you say, but when you start to add additional testing modules such as Test::Deep and Devel::Cover, those are modules that you really don't need on your production environment. It is more about separating build and runtime prerequisites from testing prerequisites than saving a few megs of disk space. > > > On Fri, Mar 4, 2011 at 12:33 PM, Fred Moyer wrote: >> On Fri, Mar 4, 2011 at 11:51 AM, Greg Lindahl wrote: >>> I'm trying to submit my first CPAN modules and I have some dumb >>> questions that I haven't found answers for. >>> >>> 2) I have dependencies with YAML and Test::More -- the one other >>> system I tried had an older version of Test::More which doesn't >>> grok 'done_testing()'. >>> >>> How do I figure out which versions to ask for? Or should I just avoid >>> done_testing() in cpan modules, so as to tolerate older versions? >> >> With regards to running the tests based on the version of Test::More >> (if I'm understanding your question correctly), I usually use >> something like this in the Makefile.PL to see if the needed version of >> Test::More is installed. ?If it isn't, the tests don't run. >> >> package MY; >> >> sub test { >> ? ?my $self = shift; >> >> ? ?eval { require Test::More } or return <> test:: >> \t\@echo sorry, cannot run tests without Test::More >> EOF >> >> ? ?unless ($Test::More::VERSION > '0.123') { >> ? ? ? ?return <> test:: >> \t\@echo sorry, need at least version 0.124 of Test::More >> EOF >> >> ? ?return $self->SUPER::test(@_); >> } >> _______________________________________________ >> SanFrancisco-pm mailing list >> SanFrancisco-pm at pm.org >> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm >> > From fred at redhotpenguin.com Fri Mar 4 14:34:35 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 4 Mar 2011 14:34:35 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: <20110304195158.GB10374@bx9.net> References: <20110304195158.GB10374@bx9.net> Message-ID: On Fri, Mar 4, 2011 at 11:51 AM, Greg Lindahl wrote: > I'm trying to submit my first CPAN modules and I have some dumb > questions that I haven't found answers for. > > 1) I think the process should be: > > * submit a test version (how do I indicate that? $VERSION = '1.00_1' ?) I think the _1 version suffix is a win for when you need to do developer releases and not have CPAN install _1 as the latest version (or _2, etc). However for leading up to version 1.00, I prefer to do 0.01, 0.02...0.9 and then jump to 1.00 declaring that as stable. I don't think there any CPAN indexing nits with that, but I could be wrong. > * cpan smokers send me emails showing breakage > * fix bugs, rinse repeat, when done, use $VERSION = '1.00' to release > > Correct? > > 2) I have dependencies with YAML and Test::More -- the one other > system I tried had an older version of Test::More which doesn't > grok 'done_testing()'. > > How do I figure out which versions to ask for? Or should I just avoid > done_testing() in cpan modules, so as to tolerate older versions? > > Thanks! Pointers to the right FM are as welcome as direct answers... > > -- greg > > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From fred at redhotpenguin.com Fri Mar 4 14:36:39 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 4 Mar 2011 14:36:39 -0800 Subject: [sf-perl] SVPerl shiny website Message-ID: Saw this today, very shiny: http://www.svperl.org/twiki/bin/view/SVPerl/ Who wants to help build SF.pm a v2 shiny website? Frosty? From greg at blekko.com Fri Mar 4 14:37:22 2011 From: greg at blekko.com (Greg Lindahl) Date: Fri, 4 Mar 2011 14:37:22 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: References: <20110304195158.GB10374@bx9.net> Message-ID: <20110304223722.GC31162@bx9.net> Thank you to Fred and David. It turns out that Test::More 0.62 is what's distributed with 5.8.8 (at least on RHEL 5), and done_testing() was added in 0.63. So I removed done_testing and everyone is happier. I do want these tests to run on all platforms, because otherwise the smokers will do me no good on older platforms, and I want to support older platforms. Also, that webpage http://www.cpan.org/modules/04pause.html was the one I remembered seeing and failed to bookmark or find again. Woot! Anyone on the list own an EggBot? It's a pen plotter that draws on sphericalish things about the size of an egg. That's one fun piece of software that I've got in the queue to upload... -- greg From doom at kzsu.stanford.edu Fri Mar 4 15:26:25 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Fri, 4 Mar 2011 15:26:25 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: References: <20110304195158.GB10374@bx9.net> Message-ID: On Fri, Mar 4, 2011 at 2:29 PM, Fred Moyer wrote: >> Fred's trickery with Makefile.PL sounds workable (a lot of people >> don't realize that that's really a perl script, so you can include any >> arbitrary code in it). > The point of the trickery here is so that you don't have to require > Test::More in the prerequisites for the module. ?Your module (likely) > does not need Test::More to function, just to run the tests. With a Module::Build based package, you can put test dependencies in "build_requires", with module dependencies in "requires". There's an oddity of module-starter is that it creates a "build_requires" for you, but not a "requires". What I know on the subject: http://obsidianrook.com/devnotes/talks/writing_cpan_modules/index.html By the way, Test::More is included in the Test::Simple package, so this is the Changes file I was talking about: http://cpansearch.perl.org/src/MSCHWERN/Test-Simple-0.98/Changes It looks like done_testing was rolled out with 0.87_01, with the first stable release being 0.88. (I stand corrected on the use of a suffix like "_1" to discourage installation as "the latest". I'd forgotten about that.) From peter at thoeny.org Fri Mar 4 16:42:24 2011 From: peter at thoeny.org (Peter Thoeny) Date: Fri, 4 Mar 2011 16:42:24 -0800 Subject: [sf-perl] SVPerl shiny website In-Reply-To: References: Message-ID: SVPerl runs TWiki. I am already so much overcommitted, I can't offer the help to revamp your website. I can however give advise to the person maintaining it if you decide to use TWiki. BTW, SVPerl runs an older version of TWiki, the latest TWiki has a nice UI as you can see on twiki.org such as http://twiki.org/cgi-bin/view/Codev/GettingInvolved Cheers, Peter On Mar 4, 2011, at 2:36 PM, Fred Moyer wrote: > Saw this today, very shiny: http://www.svperl.org/twiki/bin/view/SVPerl/ > > Who wants to help build SF.pm a v2 shiny website? Frosty? > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm -- * Peter Thoeny Peter[at]Thoeny.org * http://twiki.net - Twiki, Inc. - Enterprise Agility * http://twiki.org - is your team already TWiki enabled? * Knowledge cannot be managed, it can be discovered and shared * This e-mail is: (_) private (x) ask first (_) public From moseley at hank.org Fri Mar 4 17:45:02 2011 From: moseley at hank.org (Bill Moseley) Date: Fri, 4 Mar 2011 17:45:02 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: References: Message-ID: Ya, best to avoid XML when possible. So, I just hacked in this to deal with the entity encoding: { no warnings 'redefine'; sub HTML::Element::_xml_escape { for ( @_ ) { return unless length && /}{]]>}g; $_ = ""; } } } Likely only good for this one-off, but was curious how the "right" way to handle this would be. On Thu, Mar 3, 2011 at 3:41 PM, Bill Moseley wrote: > I have a collection of XML files that have one or more elements in > each file. The goal is have a script where I can pass one or more files on > the command line which will gather up all the elements from each > file and combine into a single XML output file. > > I pulled XML::TreeBuilder out (I find TreeBuilder pretty easy for quick > scripts) and did the following. I seem to not work with XML that much > (which I think is a bit lucky), so there may be easier ways to do this. > > #!/usr/bin/perl > use strict; > use warnings; > use XML::TreeBuilder; > use XML::Element; > use Encode; > > > my $doc = XML::Element->new( 'testResults' ); > > for my $path ( @ARGV ) { > my $tree = XML::TreeBuilder->new; > $tree->parse_file( $path ); > > $doc->push_content( $tree->look_down( '_tag', 'result' ) ); > > $tree->delete; > } > > print join "\n", > '', > encode_utf8( $doc->as_XML ); > > > That seems to work ok. But, then I ended up with a file that had a CDATA > section (which happened to hold a snippet of HTML). That's fine, but > $doc->as_XML then encoded the entities. > > With this source file: > > $ cat test.xml > > > > this is strong]]> > > > > I run through the script I get: > > $ cat new.xml > > > <strong>this > is strong</strong> > > > And if I then run *that* file back through the script I get: > > undefined entity at line 3, column 40, byte 101 at > /usr/lib/perl5/XML/Parser.pm line 187 > > > which is choking at the   > > > My questions are: > > 1) Is there a better approach to doing this that preserves the CDATA > sections? > > 2) Is there a way to define the   entity? I tried adding DTD to > defined the  , but wasn't able to make the parser happy in my attempts. > > > > -- > Bill Moseley > moseley at hank.org > -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From fobispo at isc.org Fri Mar 4 20:28:09 2011 From: fobispo at isc.org (Francisco Obispo) Date: Fri, 4 Mar 2011 20:28:09 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: References: Message-ID: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> I'm a big fan of XML, I think it eases the management of data, and solves a lot of problems.   is a HTML entity. HTML ignores additional spaces, so it's required to add more. In XML, data is preserved, so there's no need for it. I wrote a simple script using XML::LibXML and XML::Writer to achieve what you wanted: #!/usr/bin/env perl use strict; use XML::LibXML; use XML::Writer; my $parser = XML::LibXML->new; my $writer = XML::Writer->new(); $writer->xmlDecl('UTF-8'); $writer->startTag('testResults'); foreach my $file (@ARGV) { my $doc = $parser->parse_file($file); my (@nodes) = $doc->getElementsByTagName(q{content}); foreach my $node (@nodes) { $writer->startTag('result'); $writer->startTag('content'); $writer->cdata( $node->textContent ); $writer->endTag(); $writer->endTag; } } $writer->endTag; $writer->end; On Mar 4, 2011, at 5:45 PM, Bill Moseley wrote: > Ya, best to avoid XML when possible. So, I just hacked in this to deal with the entity encoding: > > { > no warnings 'redefine'; > sub HTML::Element::_xml_escape { > for ( @_ ) { > return unless length && / s{]]>}{]]>}g; > $_ = ""; > } > } > } > > Likely only good for this one-off, but was curious how the "right" way to handle this would be. > > On Thu, Mar 3, 2011 at 3:41 PM, Bill Moseley wrote: > I have a collection of XML files that have one or more elements in each file. The goal is have a script where I can pass one or more files on the command line which will gather up all the elements from each file and combine into a single XML output file. > > I pulled XML::TreeBuilder out (I find TreeBuilder pretty easy for quick scripts) and did the following. I seem to not work with XML that much (which I think is a bit lucky), so there may be easier ways to do this. > > #!/usr/bin/perl > use strict; > use warnings; > use XML::TreeBuilder; > use XML::Element; > use Encode; > > > my $doc = XML::Element->new( 'testResults' ); > > for my $path ( @ARGV ) { > my $tree = XML::TreeBuilder->new; > $tree->parse_file( $path ); > > $doc->push_content( $tree->look_down( '_tag', 'result' ) ); > > $tree->delete; > } > > print join "\n", > '', > encode_utf8( $doc->as_XML ); > > > That seems to work ok. But, then I ended up with a file that had a CDATA section (which happened to hold a snippet of HTML). That's fine, but $doc->as_XML then encoded the entities. > > With this source file: > > $ cat test.xml > > > > this is strong]]> > > > > I run through the script I get: > > $ cat new.xml > > > <strong>this is strong</strong> > > > And if I then run *that* file back through the script I get: > > undefined entity at line 3, column 40, byte 101 at /usr/lib/perl5/XML/Parser.pm line 187 > > which is choking at the   > > > My questions are: > > 1) Is there a better approach to doing this that preserves the CDATA sections? > > 2) Is there a way to define the   entity? I tried adding DTD to defined the  , but wasn't able to make the parser happy in my attempts. > > > > -- > Bill Moseley > moseley at hank.org > > > > -- > Bill Moseley > moseley at hank.org > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE From moseley at hank.org Fri Mar 4 21:44:57 2011 From: moseley at hank.org (Bill Moseley) Date: Fri, 4 Mar 2011 21:44:57 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> References: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> Message-ID: Hi Francisco, This looks nice and clean. Thanks. One question I have is what if you are asked to copy in the element but don't know that some child element might have a cdata section? I guess one approach would be to use a SAX parser and look for XML_CDATA_SECTION_NODE element. I'll give that a try tomorrow. Thanks, On Fri, Mar 4, 2011 at 8:28 PM, Francisco Obispo wrote: > I'm a big fan of XML, I think it eases the management of data, and solves a > lot of problems. > >   is a HTML entity. HTML ignores additional spaces, so it's required > to add more. In XML, data is preserved, so there's no need for it. > > I wrote a simple script using XML::LibXML and XML::Writer to achieve what > you wanted: > > #!/usr/bin/env perl > use strict; > use XML::LibXML; > use XML::Writer; > > my $parser = XML::LibXML->new; > > my $writer = XML::Writer->new(); > > $writer->xmlDecl('UTF-8'); > $writer->startTag('testResults'); > > foreach my $file (@ARGV) { > my $doc = $parser->parse_file($file); > my (@nodes) = $doc->getElementsByTagName(q{content}); > > foreach my $node (@nodes) { > $writer->startTag('result'); > $writer->startTag('content'); > $writer->cdata( $node->textContent ); > $writer->endTag(); > $writer->endTag; > } > } > > $writer->endTag; > $writer->end; > > > > > > > > On Mar 4, 2011, at 5:45 PM, Bill Moseley wrote: > > > Ya, best to avoid XML when possible. So, I just hacked in this to deal > with the entity encoding: > > > > { > > no warnings 'redefine'; > > sub HTML::Element::_xml_escape { > > for ( @_ ) { > > return unless length && / > s{]]>}{]]>}g; > > $_ = ""; > > } > > } > > } > > > > Likely only good for this one-off, but was curious how the "right" way to > handle this would be. > > > > On Thu, Mar 3, 2011 at 3:41 PM, Bill Moseley wrote: > > I have a collection of XML files that have one or more elements > in each file. The goal is have a script where I can pass one or more files > on the command line which will gather up all the elements from each > file and combine into a single XML output file. > > > > I pulled XML::TreeBuilder out (I find TreeBuilder pretty easy for quick > scripts) and did the following. I seem to not work with XML that much > (which I think is a bit lucky), so there may be easier ways to do this. > > > > #!/usr/bin/perl > > use strict; > > use warnings; > > use XML::TreeBuilder; > > use XML::Element; > > use Encode; > > > > > > my $doc = XML::Element->new( 'testResults' ); > > > > for my $path ( @ARGV ) { > > my $tree = XML::TreeBuilder->new; > > $tree->parse_file( $path ); > > > > $doc->push_content( $tree->look_down( '_tag', 'result' ) ); > > > > $tree->delete; > > } > > > > print join "\n", > > '', > > encode_utf8( $doc->as_XML ); > > > > > > That seems to work ok. But, then I ended up with a file that had a CDATA > section (which happened to hold a snippet of HTML). That's fine, but > $doc->as_XML then encoded the entities. > > > > With this source file: > > > > $ cat test.xml > > > > > > > > this > is strong]]> > > > > > > > > I run through the script I get: > > > > $ cat new.xml > > > > > > <strong>this > is strong</strong> > > > > > > And if I then run *that* file back through the script I get: > > > > undefined entity at line 3, column 40, byte 101 at > /usr/lib/perl5/XML/Parser.pm line 187 > > > > which is choking at the   > > > > > > My questions are: > > > > 1) Is there a better approach to doing this that preserves the CDATA > sections? > > > > 2) Is there a way to define the   entity? I tried adding DTD to > defined the  , but wasn't able to make the parser happy in my attempts. > > > > > > > > -- > > Bill Moseley > > moseley at hank.org > > > > > > > > -- > > Bill Moseley > > moseley at hank.org > > _______________________________________________ > > SanFrancisco-pm mailing list > > SanFrancisco-pm at pm.org > > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > Francisco Obispo > Hosted@ Programme Manager > email: fobispo at isc.org > Phone: +1 650 423 1374 || INOC-DBA *3557* NOC > Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE > > > > > -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From fobispo at isc.org Fri Mar 4 21:57:42 2011 From: fobispo at isc.org (Francisco Obispo) Date: Fri, 4 Mar 2011 21:57:42 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: References: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> Message-ID: Well, if look at my code, I'm not reading the CDATA section directly, I'm just asking for the value of the 'content' tag, if it has a CDATA element in it, well, XML::LibXML will take care of it. On the other hand, if you don't want to write using a CDATA, you can safely use the $writer->characters($string) function, which will handle the XML entities for you.. Hope that helps. Francisco On Mar 4, 2011, at 9:44 PM, Bill Moseley wrote: > One question I have is what if you are asked to copy in the element but don't know that some child element might have a cdata section? I guess one approach would be to use a SAX parser and look for XML_CDATA_SECTION_NODE element. I'll give that a try tomorrow. > Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE From moseley at hank.org Sat Mar 5 07:29:30 2011 From: moseley at hank.org (Bill Moseley) Date: Sat, 5 Mar 2011 07:29:30 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: References: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> Message-ID: On Fri, Mar 4, 2011 at 9:57 PM, Francisco Obispo wrote: > Well, if look at my code, I'm not reading the CDATA section directly, I'm > just asking for the value of the 'content' tag, if it has a CDATA element in > it, well, XML::LibXML will take care of it. > > Oh, right. I was confused by your explicit $writer->cdata call. I could see you had knowledge that there was a tag and was CDATA, where I needed a way to preserve the CDATA sections without knowing if any child of had a CDATA section ahead of time. So, what what I ended up with is this: use strict; use XML::LibXML; use Data::Dumper; my $parser = XML::LibXML->new; my $doc = XML::LibXML::Document->new( '1.0', 'UTF-8' ); my $root = $doc->createElement( 'testResults' ); $doc->setDocumentElement( $root ); foreach my $file (@ARGV) { my $doc = $parser->parse_file($file); $root->appendChild( $_ ) for $doc->getElementsByTagName( 'result' ); } print $doc->toString; Pretty simple. Thanks very much for your help, Francisco. -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe.mcmahon at gmail.com Fri Mar 4 15:39:46 2011 From: joe.mcmahon at gmail.com (Joe McMahon) Date: Fri, 4 Mar 2011 15:39:46 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: <20110304223722.GC31162@bx9.net> References: <20110304195158.GB10374@bx9.net> <20110304223722.GC31162@bx9.net> Message-ID: The best way to avoid done_testing On Mar 4, 2011, at 2:37 PM, Greg Lindahl wrote: > Thank you to Fred and David. > > It turns out that Test::More 0.62 is what's distributed with 5.8.8 (at > least on RHEL 5), and done_testing() was added in 0.63. So I removed > done_testing and everyone is happier. I do want these tests to run on > all platforms, because otherwise the smokers will do me no good on > older platforms, and I want to support older platforms. > > Also, that webpage http://www.cpan.org/modules/04pause.html was > the one I remembered seeing and failed to bookmark or find again. > > Woot! Anyone on the list own an EggBot? It's a pen plotter that draws > on sphericalish things about the size of an egg. That's one fun piece > of software that I've got in the queue to upload... > > -- greg > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm From joe.mcmahon at gmail.com Fri Mar 4 16:02:49 2011 From: joe.mcmahon at gmail.com (Joe McMahon) Date: Fri, 4 Mar 2011 16:02:49 -0800 Subject: [sf-perl] Dumb Q's about CPAN submission In-Reply-To: <20110304223722.GC31162@bx9.net> References: <20110304195158.GB10374@bx9.net> <20110304223722.GC31162@bx9.net> Message-ID: Let's try that again. Best way to dump done_testing is to run the test with a plan of 1, then fix the plan to match what the test says is right. If your test does a random number of tests, try to find a way to make it dependable, or to compute it and use use Test::More; ... plan tests => $your_computed_number; On Mar 4, 2011, at 2:37 PM, Greg Lindahl wrote: > Thank you to Fred and David. > > It turns out that Test::More 0.62 is what's distributed with 5.8.8 (at > least on RHEL 5), and done_testing() was added in 0.63. So I removed > done_testing and everyone is happier. I do want these tests to run on > all platforms, because otherwise the smokers will do me no good on > older platforms, and I want to support older platforms. > > Also, that webpage http://www.cpan.org/modules/04pause.html was > the one I remembered seeing and failed to bookmark or find again. > > Woot! Anyone on the list own an EggBot? It's a pen plotter that draws > on sphericalish things about the size of an egg. That's one fun piece > of software that I've got in the queue to upload... > > -- greg > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm From fobispo at isc.org Sat Mar 5 10:23:00 2011 From: fobispo at isc.org (Francisco Obispo) Date: Sat, 5 Mar 2011 10:23:00 -0800 Subject: [sf-perl] XML Parsing question In-Reply-To: References: <8CB3290D-3A9E-43D8-9EC5-8F03E95BAA22@isc.org> Message-ID: That would work ;-) Just be aware that because you are appending to the current document, if you encounter thousands of xml files, you might run out of memory before finishing. This is why I recommend XML::Writer, so you can free the memory as soon as you're done processing the file. Best regards. Francisco On Mar 5, 2011, at 7:29 AM, Bill Moseley wrote: > > > On Fri, Mar 4, 2011 at 9:57 PM, Francisco Obispo wrote: > Well, if look at my code, I'm not reading the CDATA section directly, I'm just asking for the value of the 'content' tag, if it has a CDATA element in it, well, XML::LibXML will take care of it. > > > Oh, right. I was confused by your explicit $writer->cdata call. I could see you had knowledge that there was a tag and was CDATA, where I needed a way to preserve the CDATA sections without knowing if any child of had a CDATA section ahead of time. > > So, what what I ended up with is this: > > use strict; > use XML::LibXML; > use Data::Dumper; > > my $parser = XML::LibXML->new; > my $doc = XML::LibXML::Document->new( '1.0', 'UTF-8' ); > my $root = $doc->createElement( 'testResults' ); > $doc->setDocumentElement( $root ); > > foreach my $file (@ARGV) { > my $doc = $parser->parse_file($file); > > $root->appendChild( $_ ) for $doc->getElementsByTagName( 'result' ); > > } > > print $doc->toString; > > Pretty simple. > > Thanks very much for your help, Francisco. > > -- > Bill Moseley > moseley at hank.org Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE From philiph at pobox.com Sat Mar 5 14:13:32 2011 From: philiph at pobox.com (Philip J. Hollenback) Date: Sat, 05 Mar 2011 14:13:32 -0800 Subject: [sf-perl] a little something I wrote about perl -lane Message-ID: <1299363212.28987.1426583273@webmail.messagingengine.com> Here's a little something I wrote about how I finally figured out how to use 'perl -lane' for sysadmin scripting: http://www.hollenback.net/index.php/PerlFastLane Fred suggested I post it to the list. P. -- Philip J. Hollenback philiph at pobox.com www.hollenback.net From fred at redhotpenguin.com Fri Mar 11 10:34:51 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 11 Mar 2011 10:34:51 -0800 Subject: [sf-perl] [meeting] Mason 2: Templating for the web and beyond Message-ID: The SF Perl Mongers next meeting will be on Tuesday March 22nd, at 7pm. Jonathan Swartz will be introducing Mason 2.0. RSVP at Meetup - http://www.meetup.com/San-Francisco-Perl-Mongers/events/16886604/ Mason is a Perl-based templating framework for generating web pages and other dynamic content. Over the past decade it has been used to generate thousands of web sites large and small, including Amazon.com, Target.com, Salon.com and del.icio.us. Version 2.0 of Mason was released last month, twelve years after its initial incarnation. It has been rearchitected and reimplemented from the ground up, to take advantage of modern Perl techniques (Moose, Plack/PSGI) and to add long-desired features and syntax. Jonathan Swartz, the original author of both Mason 1 and 2, will present Mason 2's new architecture and improvements and show how it fits into the modern Perl web development universe. For a summary of what's new, see http://www.openswartz.com/2011/02/21/announcing-mason-2/ and for documentation and download, see http://search.cpan.org/perldoc?Mason Announcement posted via App::PM::Announce From fred at redhotpenguin.com Tue Mar 15 15:33:32 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Tue, 15 Mar 2011 15:33:32 -0700 Subject: [sf-perl] Fwd: [meeting] Mason 2: Templating for the web and beyond In-Reply-To: References: Message-ID: Just a reminder, Mason2 is next Tuesday at Citizen Space at 7pm. ---------- Forwarded message ---------- From: Fred Moyer Date: Fri, Mar 11, 2011 at 10:34 AM Subject: [meeting] Mason 2: Templating for the web and beyond To: San Francisco Perl Mongers User Group The SF Perl Mongers next meeting will be on Tuesday March 22nd, at 7pm. ?Jonathan Swartz will be introducing Mason 2.0. ?RSVP at Meetup - http://www.meetup.com/San-Francisco-Perl-Mongers/events/16886604/ Mason is a Perl-based templating framework for generating web pages and other dynamic content. Over the past decade it has been used to generate thousands of web sites large and small, including Amazon.com, Target.com, Salon.com and del.icio.us. Version 2.0 of Mason was released last month, twelve years after its initial incarnation. ?It has been rearchitected and reimplemented from the ground up, to take advantage of ?modern Perl techniques (Moose, Plack/PSGI) and to add long-desired features and syntax. Jonathan Swartz, the original author of both Mason 1 and 2, will present Mason 2's new ?architecture and improvements and show how it fits into the modern Perl web development ?universe. For a summary of what's new, see ? http://www.openswartz.com/2011/02/21/announcing-mason-2/ and for documentation and download, see ? http://search.cpan.org/perldoc?Mason Announcement posted via App::PM::Announce From ASIGMUND at altera.com Thu Mar 17 22:55:58 2011 From: ASIGMUND at altera.com (Andrew Sigmund) Date: Thu, 17 Mar 2011 22:55:58 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: <1299363212.28987.1426583273@webmail.messagingengine.com> References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: First, I realize that I can (& should) use "join" for something like this, and "join" behaves as I expect here. Nevertheless, I'm interested to get an explanation for this behavior: (v5.12.3) # baseline code %perl -w $x = (defined $y)? $y :'undef' ."\n"; print $x; ^D undef # This is what I expect. # a minor change %perl -w $x = 'a' . (defined $y)? $y :'undef' ."\n"; # now I try to put something up front print $x; ^D Use of uninitialized value $x in print at - line 4. # and I get slapped. Thanks, Andy Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. From fobispo at isc.org Thu Mar 17 23:02:51 2011 From: fobispo at isc.org (Francisco Obispo) Date: Thu, 17 Mar 2011 23:02:51 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: the problem is the precedence or the operators. Try: $x = 'a' . ( (defined $y) ? $y :'undef' ."\n"); # now I try to put something up front print $x; On Mar 17, 2011, at 10:55 PM, Andrew Sigmund wrote: > $x = 'a' . (defined $y)? $y :'undef' ."\n"; # now I try to put something up front > print $x; Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE From ASIGMUND at altera.com Thu Mar 17 23:19:01 2011 From: ASIGMUND at altera.com (Andrew Sigmund) Date: Thu, 17 Mar 2011 23:19:01 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: Yup, that was the problem. I verified that the precedence of the dot operator is higher than that of the conditional operator. So, by default, I was getting $x = ( 'a' . (defined $y) )? $y .... which is always true, so perl was trying to actually use the undefined $y, and thus gave me the warning. Thanks Francisco. Andy -----Original Message----- From: Francisco Obispo [mailto:fobispo at isc.org] Sent: Thursday, March 17, 2011 23:03 To: Andrew Sigmund Cc: SanFrancisco-pm at pm.org Subject: Re: [sf-perl] Odd behavior for dot operator? the problem is the precedence or the operators. Try: $x = 'a' . ( (defined $y) ? $y :'undef' ."\n"); # now I try to put something up front print $x; On Mar 17, 2011, at 10:55 PM, Andrew Sigmund wrote: > $x = 'a' . (defined $y)? $y :'undef' ."\n"; # now I try to put something up front > print $x; Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. From david_v_wright at yahoo.com Fri Mar 18 09:10:03 2011 From: david_v_wright at yahoo.com (david wright) Date: Fri, 18 Mar 2011 09:10:03 -0700 (PDT) Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: <907324.8815.qm@web31801.mail.mud.yahoo.com> A handy module for this sort of thing is B::Deparse. >From the docs: With -p, it uses parentheses (almost) whenever they would be legal. This can be useful if you are used to LISP, or if you want to see how perl parses your input. [dwright~(8)]$ perl -w -MO=Deparse,-p $x = 'a' . (defined $y)? $y :'undef' ."\n"; print $x; ^D BEGIN { $^W = 1; } ($x = (('a' . defined($y)) ? $y : "undef\n")); print($x); - syntax OK ________________________________ From: Andrew Sigmund To: Francisco Obispo Cc: "SanFrancisco-pm at pm.org" Sent: Thu, March 17, 2011 11:19:01 PM Subject: Re: [sf-perl] Odd behavior for dot operator? Yup, that was the problem. I verified that the precedence of the dot operator is higher than that of the conditional operator. So, by default, I was getting $x = ( 'a' . (defined $y) )? $y .... which is always true, so perl was trying to actually use the undefined $y, and thus gave me the warning. Thanks Francisco. Andy -----Original Message----- From: Francisco Obispo [mailto:fobispo at isc.org] Sent: Thursday, March 17, 2011 23:03 To: Andrew Sigmund Cc: SanFrancisco-pm at pm.org Subject: Re: [sf-perl] Odd behavior for dot operator? the problem is the precedence or the operators. Try: $x = 'a' . ( (defined $y) ? $y :'undef' ."\n"); # now I try to put something up front print $x; On Mar 17, 2011, at 10:55 PM, Andrew Sigmund wrote: > $x = 'a' . (defined $y)? $y :'undef' ."\n"; # now I try to put something up >front > print $x; Francisco Obispo Hosted@ Programme Manager email: fobispo at isc.org Phone: +1 650 423 1374 || INOC-DBA *3557* NOC Key fingerprint = 532F 84EB 06B4 3806 D5FA 09C6 463E 614E B38D B1BE Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. _______________________________________________ SanFrancisco-pm mailing list SanFrancisco-pm at pm.org http://mail.pm.org/mailman/listinfo/sanfrancisco-pm -------------- next part -------------- An HTML attachment was scrubbed... URL: From quinn at fairpath.com Fri Mar 18 10:50:29 2011 From: quinn at fairpath.com (Quinn Weaver) Date: Fri, 18 Mar 2011 10:50:29 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: Note also that this code snippet is equivalent to $y: (defined $y)? $y :'undef' If $y is not defined, then it's undef, by (if you'll pardon me) definition. -- Quinn Weaver Consulting, LLC Full-stack web design and development http://quinnweaver.com/ 510-520-5217 From moseley at hank.org Fri Mar 18 11:17:51 2011 From: moseley at hank.org (Bill Moseley) Date: Fri, 18 Mar 2011 11:17:51 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: On Fri, Mar 18, 2011 at 10:50 AM, Quinn Weaver wrote: > Note also that this code snippet is equivalent to $y: > > (defined $y)? $y :'undef' > > If $y is not defined, then it's undef, by (if you'll pardon me) definition. > Isn't is 'undef'? not undef? -- Bill Moseley moseley at hank.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From ASIGMUND at altera.com Fri Mar 18 11:30:25 2011 From: ASIGMUND at altera.com (Andrew Sigmund) Date: Fri, 18 Mar 2011 11:30:25 -0700 Subject: [sf-perl] Odd behavior for dot operator? In-Reply-To: References: <1299363212.28987.1426583273@webmail.messagingengine.com> Message-ID: Quinn, I believe that it was not equivalent in my context: - I wanted to include _something_ (the value of $y itself or the text "undef") in my print statement. - I wanted to eliminate the "Use of uninitialized value" warning under perl -w. I'm still a relative perl newbie, so any correction is welcome. Thanks, Andy From: sanfrancisco-pm-bounces+asigmund=altera.com at pm.org [mailto:sanfrancisco-pm-bounces+asigmund=altera.com at pm.org] On Behalf Of Bill Moseley Sent: Friday, March 18, 2011 11:18 To: San Francisco Perl Mongers User Group Subject: Re: [sf-perl] Odd behavior for dot operator? On Fri, Mar 18, 2011 at 10:50 AM, Quinn Weaver > wrote: Note also that this code snippet is equivalent to $y: (defined $y)? $y :'undef' If $y is not defined, then it's undef, by (if you'll pardon me) definition. Isn't is 'undef'? not undef? -- Bill Moseley moseley at hank.org ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From blum.stephen at gmail.com Fri Mar 18 16:10:51 2011 From: blum.stephen at gmail.com (Stephen Blum) Date: Fri, 18 Mar 2011 23:10:51 +0000 (UTC) Subject: [sf-perl] Stephen Blum wants to stay in touch on LinkedIn Message-ID: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> LinkedIn ------------ San, I'd like to add you to my professional network on LinkedIn. - Stephen Blum Stephen Blum Founder at PubNub San Francisco Bay Area Confirm that you know Stephen Blum https://www.linkedin.com/e/-e0icaf-glfq2vnf-4q/isd/2532680543/ZZN1wMlA/ -- (c) 2011, LinkedIn Corporation -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdm at cfcl.com Fri Mar 18 17:37:02 2011 From: rdm at cfcl.com (Rich Morin) Date: Fri, 18 Mar 2011 16:37:02 -0800 Subject: [sf-perl] Stephen Blum wants to stay in touch on LinkedIn In-Reply-To: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> References: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> Message-ID: The San Francisco Perl Mongers is not capable of, nor interested in, being part of anyone's LinkedIn network. -r -- http://www.cfcl.com/rdm Rich Morin http://www.cfcl.com/rdm/resume rdm at cfcl.com http://www.cfcl.com/rdm/weblog +1 650-873-7841 Software system design, development, and documentation From david at fetter.org Fri Mar 18 16:41:21 2011 From: david at fetter.org (David Fetter) Date: Fri, 18 Mar 2011 16:41:21 -0700 Subject: [sf-perl] Stephen Blum wants to stay in touch on LinkedIn In-Reply-To: References: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> Message-ID: <20110318234121.GH1825@fetter.org> On Fri, Mar 18, 2011 at 04:37:02PM -0800, Rich Morin wrote: > The San Francisco Perl Mongers is not capable of, nor > interested in, being part of anyone's LinkedIn network. This happens when someone imports their whole address book for LinkedIn to spam. Not generally a sign of great judgement, I'm afraid. Cheers, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter at gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate From rdm at cfcl.com Fri Mar 18 19:07:45 2011 From: rdm at cfcl.com (Rich Morin) Date: Fri, 18 Mar 2011 18:07:45 -0800 Subject: [sf-perl] installer consultant needed for short gig Message-ID: I've developed a Ruby plugin for SketchUp and need one- click installers for both Mac OS X and M$ Windows. The client wants "easy to use" and "pretty"; I want "robust" and "easy to extend and maintain". If you have strong expertise in developing Mac OS X or M$ Windows installers, and you're interested in a short consulting gig, please contact me off-list. -r Details The task is to develop the installer (described below) and show me the details. The specification is really very simple. Roughly: Preconditions * The user's machine has an installed, functioning copy of Google SketchUp 7 or greater. * The user has downloaded the appropriate archive. Installation * The user runs (eg, double-clicks) the installer. * The installer performs the following actions: - If the user's home directory has a "Foo" sub- directory, display a nastygram and exit. - If SketchUp's "plugins" directory contains a "Bar.pl" file, display a nastygram and exit. - Unpack a zip archive (Foo.zip) into the user's home directory, yielding a Foo sub-directory. - Copy a file from the "Foo" sub-directory tree to SketchUp's "plugins" directory. -- http://www.cfcl.com/rdm Rich Morin http://www.cfcl.com/rdm/resume rdm at cfcl.com http://www.cfcl.com/rdm/weblog +1 650-873-7841 Software system design, development, and documentation From fred at redhotpenguin.com Sat Mar 19 11:04:30 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Sat, 19 Mar 2011 11:04:30 -0700 Subject: [sf-perl] Stephen Blum wants to stay in touch on LinkedIn In-Reply-To: <20110318234121.GH1825@fetter.org> References: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> <20110318234121.GH1825@fetter.org> Message-ID: On Fri, Mar 18, 2011 at 4:41 PM, David Fetter wrote: > This happens when someone imports their whole address book for > LinkedIn to spam. ?Not generally a sign of great judgement, I'm > afraid. Not having used that feature, I'm not really qualified to comment. However, I have seen more than a few smart and upstanding people I know end up in this same situation. I would tend to look to LinkedIn's implementation of this feature as not giving the user the vetting controls needed to effectively personalize these invitations. Imagine the situation of uploading a data file, then viewing the status message of 'your invites have been sent to everyone in your address book'. Using tools to save time is a smart thing to do, but those tools don't always give you the control you might expect. > > Cheers, > David. > -- > David Fetter http://fetter.org/ > Phone: +1 415 235 3778 ?AIM: dfetter666 ?Yahoo!: dfetter > Skype: davidfetter ? ? ?XMPP: david.fetter at gmail.com > iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics > > Remember to vote! > Consider donating to Postgres: http://www.postgresql.org/about/donate > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From pm.org at Daveola.com Sat Mar 19 13:55:40 2011 From: pm.org at Daveola.com (David Ljung Madison) Date: Sat, 19 Mar 2011 13:55:40 -0700 Subject: [sf-perl] SanFrancisco-pm Digest, Vol 74, Issue 14 In-Reply-To: References: Message-ID: <20110319205540.GA12202@getdave.com> Fred says: > Imagine the situation of uploading a data file, then viewing the > status message of 'your invites have been sent to everyone ...' I disagree. You're not uploading a "data file" as you put it, you're uploading your address book, you shouldn't be surprised if a web site sends email to every address it can get. Secondly, you don't own your friend's email addresses, *they* do. And I would argue you don't have the right to upload someone else's email address to *any* website under just about any condition. It is their private information, just like their phone number, their address, etc.. Consider - I now have your email address. Would it be right of me to start uploading it to every website I see, regardless of their privacy policy (or ability to adhere to it, or ability to protect their email database)? I know a bunch of spam sites who would be happy to get your email. But it's not mine to give, no? Dave From rick at linuxmafia.com Sun Mar 20 02:39:06 2011 From: rick at linuxmafia.com (Rick Moen) Date: Sun, 20 Mar 2011 02:39:06 -0700 Subject: [sf-perl] Stephen Blum wants to stay in touch on LinkedIn In-Reply-To: <20110318234121.GH1825@fetter.org> References: <959484502.2493546.1300489851581.JavaMail.app@ela4-bed36.prod> <20110318234121.GH1825@fetter.org> Message-ID: <20110320093906.GG5516@linuxmafia.com> Quoting David Fetter (david at fetter.org): > This happens when someone imports their whole address book for > LinkedIn to spam. It's why I implemented a regex filter, on all my GNU Mailman mailing lists, to autoreject all received posts matching that pattern. Might be a good idea for sanfrancisco-pm. -- Rick Moen Vila: "Why don't you go?" Avon: "_You_ are expendable." rick at linuxmafia.com Vila: "And you're not?" Avon: "No, I am not. McQ! (4x80) I am not expendable, I'm not stupid, and I'm not going." -- Blake's Seven From fred at redhotpenguin.com Sun Mar 20 11:25:18 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Sun, 20 Mar 2011 11:25:18 -0700 Subject: [sf-perl] New cpan.org makeover Message-ID: http://log.perl.org/2011/03/big-cpanorg-update.html http://www.cpan.org/ From matt at lanier.org Mon Mar 21 07:47:10 2011 From: matt at lanier.org (Matthew Lanier) Date: Mon, 21 Mar 2011 07:47:10 -0700 (PDT) Subject: [sf-perl] local::lib Message-ID: perl folk- i helped a coworker through local::lib setup last week, in exchange for him writing up the steps to share. here they are (pardon his snark....) http://blog.cmyers.org/index.php/2011/03/18/reproducble-change-controlled-perl-deployment-with-locallib/ m@ -- Matthew D. P. K. Lanier From blum.stephen at gmail.com Mon Mar 21 10:28:23 2011 From: blum.stephen at gmail.com (Stephen Blum) Date: Mon, 21 Mar 2011 10:28:23 -0700 Subject: [sf-perl] LinkedIn Blast Message-ID: Greetings SF Perl Mongers, I apologize for blasting LinkedIn connection requests. PubNub www.pubnub.com is a 1.5 year old company growing quickly. I am reaching out to people and I wanted to add you to my professional contacts on LinkedIn. Jonathan Swartz, Igny Dot Net, Larry Wall and more are in this song: Click Autoplay: http://www.pubnub.com/blog/internet-heroes-song-crockford-dahl-wall-torvalds-resig-souders Learn about PubNub by watching a video: http://vimeo.com/20048255 -- Best, Stephen Blum http://twitter.com/PubNub www.pubnub.com +1-425-830-6711 -------------- next part -------------- An HTML attachment was scrubbed... URL: From david at fetter.org Mon Mar 21 10:44:31 2011 From: david at fetter.org (David Fetter) Date: Mon, 21 Mar 2011 10:44:31 -0700 Subject: [sf-perl] LinkedIn Blast In-Reply-To: References: Message-ID: <20110321174431.GB29254@fetter.org> On Mon, Mar 21, 2011 at 10:28:23AM -0700, Stephen Blum wrote: > Greetings SF Perl Mongers, > > I apologize for blasting LinkedIn connection requests. PubNub > www.pubnub.com is a 1.5 year old company growing quickly. I am > reaching out to people and I wanted to add you to my professional > contacts on LinkedIn. It's big of you to apologize, and I, for one, really appreciate it. Just so we're clear that you're clear on what happened and how you will ensure that this *never* happens again, please advance a theory or two as to what might motivate an outfit like LinkedIn, which does not routinely charge end-users, to collect your entire address book. You get extra points for theories involving phrases using and briefly summarizing, the phrase, "principle-agent problem." Cheers, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter at gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate From merlyn at stonehenge.com Mon Mar 21 11:03:36 2011 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon, 21 Mar 2011 11:03:36 -0700 Subject: [sf-perl] LinkedIn Blast In-Reply-To: <20110321174431.GB29254@fetter.org> (David Fetter's message of "Mon, 21 Mar 2011 10:44:31 -0700") References: <20110321174431.GB29254@fetter.org> Message-ID: <86zkoofj0n.fsf@red.stonehenge.com> >>>>> "David" == David Fetter writes: David> You get extra points for theories involving phrases using and briefly David> summarizing, the phrase, "principle-agent problem." And even more points if you use the actual phrase, "principal-agent problem". :-) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.posterous.com/ for Smalltalk discussion From doom at kzsu.stanford.edu Mon Mar 21 11:04:04 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Mon, 21 Mar 2011 11:04:04 -0700 Subject: [sf-perl] local::lib In-Reply-To: References: Message-ID: Matthew Lanier wrote: > i helped a coworker through local::lib setup last week, in exchange for him > writing up the steps to share. here they are (pardon his snark....) > > http://blog.cmyers.org/index.php/2011/03/18/reproducble-change-controlled-perl-deployment-with-locallib/ I've no problems with snark, but he can use help with his history: "Folks who write perl have to put up with a lot of shit. Everything was like that back in the olden days, but today, Ruby has Gems, Linux distros have Real Package Management (and I sure as hell don?t mean RPMs, I mean APT), and even java ninnies have things like Maven and Ivy to 'try to be reproducible'. Perl has answered this with CPAN" From fred at redhotpenguin.com Mon Mar 21 11:21:18 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Mon, 21 Mar 2011 11:21:18 -0700 Subject: [sf-perl] local::lib In-Reply-To: References: Message-ID: On Mon, Mar 21, 2011 at 7:47 AM, Matthew Lanier wrote: > perl folk- > > i helped a coworker through local::lib setup last week, in exchange for him > writing up the steps to share. ?here they are (pardon his snark....) > > http://blog.cmyers.org/index.php/2011/03/18/reproducble-change-controlled-perl-deployment-with-locallib/ Maybe I'm missing the point of local::lib, but the same goal can be accomplished by installing a copy of perl in a non-system directory with the PREFIX option: sh Configure -Dprefix=$HOME/perl This has the added benefit of not needing the local::lib module dependency, making the program portable across any Perl installation that has the required modules installed. > > m@ > > -- > Matthew D. P. K. Lanier > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From matt at lanier.org Mon Mar 21 11:22:49 2011 From: matt at lanier.org (Matthew Lanier) Date: Mon, 21 Mar 2011 11:22:49 -0700 (PDT) Subject: [sf-perl] local::lib In-Reply-To: References: Message-ID: if you look at the output from a local::lib install, it also sets some convenience variables that some might miss, such as MM and MB configuration. yes, it's basically a wrapper around knowing how to set your PERL5LIB and other vars properly, which some can. m@ On Mon, 21 Mar 2011, Fred Moyer wrote: > On Mon, Mar 21, 2011 at 7:47 AM, Matthew Lanier wrote: >> perl folk- >> >> i helped a coworker through local::lib setup last week, in exchange for him >> writing up the steps to share. ?here they are (pardon his snark....) >> >> http://blog.cmyers.org/index.php/2011/03/18/reproducble-change-controlled-perl-deployment-with-locallib/ > > Maybe I'm missing the point of local::lib, but the same goal can be > accomplished by installing a copy of perl in a non-system directory > with the PREFIX option: > > sh Configure -Dprefix=$HOME/perl > > This has the added benefit of not needing the local::lib module > dependency, making the program portable across any Perl installation > that has the required modules installed. > > >> >> m@ >> >> -- >> Matthew D. P. K. Lanier >> _______________________________________________ >> SanFrancisco-pm mailing list >> SanFrancisco-pm at pm.org >> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm >> > From miyagawa at gmail.com Mon Mar 21 12:19:44 2011 From: miyagawa at gmail.com (Tatsuhiko Miyagawa) Date: Mon, 21 Mar 2011 12:19:44 -0700 Subject: [sf-perl] local::lib In-Reply-To: References: Message-ID: Just so you know, cpanm supports local::lib natively - with the -l option. It actually checks if you have a write permission to your site_perl and otherwise fall back to your ~/perl5 as local::lib directory by default. (You can override that with -l option, or run it with --sudo to install modules using sudo) cpanm -l ~/perl5 DBI will install DBI modules to your ~/perl5/lib/perl5 - and then you can source the same local::lib output or can add -Mlib=$HOME/perl5/lib/perl5 to your PERL5OPT, either way it just works. 2011/3/21 Matthew Lanier : > if you look at the output from a local::lib install, it also sets some > convenience variables that some might miss, such as MM and MB configuration. > ?yes, it's basically a wrapper around knowing how to set your PERL5LIB and > other vars properly, which some can. > > m@ > > On Mon, 21 Mar 2011, Fred Moyer wrote: > >> On Mon, Mar 21, 2011 at 7:47 AM, Matthew Lanier wrote: >>> >>> perl folk- >>> >>> i helped a coworker through local::lib setup last week, in exchange for >>> him >>> writing up the steps to share. ?here they are (pardon his snark....) >>> >>> >>> http://blog.cmyers.org/index.php/2011/03/18/reproducble-change-controlled-perl-deployment-with-locallib/ >> >> Maybe I'm missing the point of local::lib, but the same goal can be >> accomplished by installing a copy of perl in a non-system directory >> with the PREFIX option: >> >> sh Configure -Dprefix=$HOME/perl >> >> This has the added benefit of not needing the local::lib module >> dependency, making the program portable across any Perl installation >> that has the required modules installed. >> >> >>> >>> m@ >>> >>> -- >>> Matthew D. P. K. Lanier >>> _______________________________________________ >>> SanFrancisco-pm mailing list >>> SanFrancisco-pm at pm.org >>> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm >>> > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > -- Tatsuhiko Miyagawa From david at fetter.org Mon Mar 21 13:02:48 2011 From: david at fetter.org (David Fetter) Date: Mon, 21 Mar 2011 13:02:48 -0700 Subject: [sf-perl] LinkedIn Blast In-Reply-To: <86zkoofj0n.fsf@red.stonehenge.com> References: <20110321174431.GB29254@fetter.org> <86zkoofj0n.fsf@red.stonehenge.com> Message-ID: <20110321200248.GA10795@fetter.org> On Mon, Mar 21, 2011 at 11:03:36AM -0700, Randal L. Schwartz wrote: > >>>>> "David" == David Fetter writes: > > David> You get extra points for theories involving phrases using and briefly > David> summarizing, the phrase, "principle-agent problem." > > And even more points if you use the actual phrase, "principal-agent > problem". > > :-) D'oh! Cheers, David. -- David Fetter http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter at gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate From fred at redhotpenguin.com Mon Mar 21 13:13:59 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Mon, 21 Mar 2011 13:13:59 -0700 Subject: [sf-perl] Fwd: Reminder: Mason 2: Templating for the web and beyond is tomorrow. In-Reply-To: <227462809.1300738326988.JavaMail.root@jobs.meetup.com> References: <227462809.1300738326988.JavaMail.root@jobs.meetup.com> Message-ID: Just a reminder, Mason 2 is tomorrow evening at Citizen Space. http://www.meetup.com/San-Francisco-Perl-Mongers/events/16886604/ ---------- Forwarded message ---------- From: Meetup Reminder Date: Mon, Mar 21, 2011 at 1:12 PM Subject: Reminder: Mason 2: Templating for the web and beyond is tomorrow. To: fred at redhotpenguin.com Meetup Reminder San Francisco Perl Mongers Mason 2: Templating for the web and beyond is happening tomorrow When: Tuesday, March 22, 2011 7:00 PM Where: Citizen Space - 425 2nd St Ste 300 San Francisco CA Who is going: 23 Perl Mongers The SF Perl Mongers next meeting will be on Tuesday March 22nd, at 7pm. Jonathan Swartz will be introducing Mason 2.0. Mason is a Perl-based templating framework for generating web pages and other dynamic content. Over the past decade it has been used to generate thousands of web sites large and small, including Amazon.com, Target.com, Salon.com and del.icio.us. Version 2.0 of Mason was released last month, twelve years after its initial incarnation. It has been rearchitected and reimplemented from the ground up, to take advantage of modern Perl techniques (Moose, Plack/PSGI) and to add long-desired features and syntax. Jonathan Swartz, the original author of both Mason 1 and 2, will present Mason 2's new architecture and improvements and show how it fits into the modern Perl web development universe. For a summary of what's new, see http://www.openswartz.com/2011/02/21/announcing-mason-2/ and for documentation and download, see http://search.cpan.org/perldoc?Mason Announcement posted via App::PM::Announce You're on the list as going to this Meetup Can't make it? Cancel your RSVP More Meetups: 2 upcoming Meetups Follow San Francisco Perl Mongers on: @sfperlmongers LinkedIn Sponsors & Perks: Red Hot Penguin Consulting ? O'Reilly Media ? Mother Jones ? and 6 more Add info at meetup.com to your address book to receive all Meetup emails To manage your email settings, click here Meetup, PO Box 4668 #37895 New York, New York 10163-4668 Meetup HQ in NYC is hiring! http://www.meetup.com/jobs/ From pm.org at Daveola.com Mon Mar 21 14:46:52 2011 From: pm.org at Daveola.com (David Ljung Madison) Date: Mon, 21 Mar 2011 14:46:52 -0700 Subject: [sf-perl] LinkedIn Blast In-Reply-To: References: Message-ID: <20110321214652.GC1751@getdave.com> > I apologize for blasting LinkedIn connection requests. [insert > ad about his company] > > .. Learn about [blah blah] by watching a video: ... Is it really appropriate to follow up a mistaken networking blast (LinkedIn) with an intentional networking blast about his company? I'd rather this list didn't turn into a marketing forum. I don't really see this as much of an apology, but maybe I just anger easily. From blum.stephen at gmail.com Mon Mar 21 18:55:07 2011 From: blum.stephen at gmail.com (Stephen Blum) Date: Mon, 21 Mar 2011 18:55:07 -0700 Subject: [sf-perl] SanFrancisco-pm Digest, Vol 74, Issue 16 In-Reply-To: References: Message-ID: LinkedIn is motivated by user acquisition and expansion. They are hiring 50 JavaScript engineers which they announced at the last Node.js Meetup at the PubNub office in San Francisco. I looked up "principle-agent problem" on Wikipedia and found a pathway to a question I've been asking internally at PubNub for a while. Motivating LinkedIn to stop mass spamming would require something, drastic. Instituting a legal/morality action preventing address book access sounds, difficult. Displacing User / LinkedIn interest alignment for spamming, priceless. There are those who simply want the feature to mass spam their contacts, earning them connections on LinkedIn. -- Best, Stephen Blum http://twitter.com/PubNub www.pubnub.com +1-425-830-6711 -------------- next part -------------- An HTML attachment was scrubbed... URL: From fred at redhotpenguin.com Tue Mar 22 10:29:55 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Tue, 22 Mar 2011 10:29:55 -0700 Subject: [sf-perl] [offtopic] Re: SanFrancisco-pm Digest, Vol 74, Issue 16 In-Reply-To: References: Message-ID: Just a quick heads up, for posts like this which aren't explicitly Perl related, please use the [offtopic] tag in the subject line. How do you know if your post is not perl related? Paste it into a text file and run 'grep -i perl myfile.txt'. If output is returned, it is perl related. 2011/3/21 Stephen Blum : > LinkedIn is motivated by user?acquisition and?expansion.??They are hiring 50 > JavaScript engineers which they announced at the last Node.js Meetup at the > PubNub office in San Francisco. ?I looked up "principle-agent problem" on > Wikipedia and found a pathway to a question I've been asking internally at > PubNub for a while. ?Motivating LinkedIn to stop mass spamming would require > something, drastic. ?Instituting?a legal/morality?action preventing address > book access sounds, difficult. ?Displacing User / LinkedIn interest > alignment for spamming, priceless. ?There are those who simply want the > feature to mass spam their contacts, earning them connections on LinkedIn. > -- > Best, > Stephen Blum > http://twitter.com/PubNub > www.pubnub.com > +1-425-830-6711 > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > From blum.stephen at gmail.com Tue Mar 22 11:20:37 2011 From: blum.stephen at gmail.com (Stephen Blum) Date: Tue, 22 Mar 2011 11:20:37 -0700 Subject: [sf-perl] [offtopic] Re: Off Topic Message-ID: Fred, I will properly observe superlative etiquette this day forward. Paperless. -- Best, Stephen Blum http://twitter.com/PubNub www.pubnub.com +1-425-830-6711 On Tue, Mar 22, 2011 at 10:29 AM, Fred Moyer wrote: > Just a quick heads up, for posts like this which aren't explicitly > Perl related, please use the [offtopic] tag in the subject line. > > How do you know if your post is not perl related? Paste it into a > text file and run 'grep -i perl myfile.txt'. If output is returned, > it is perl related. > > 2011/3/21 Stephen Blum : > > LinkedIn is motivated by user acquisition and expansion. They are hiring > 50 > > JavaScript engineers which they announced at the last Node.js Meetup at > the > > PubNub office in San Francisco. I looked up "principle-agent problem" on > > Wikipedia and found a pathway to a question I've been asking internally > at > > PubNub for a while. Motivating LinkedIn to stop mass spamming would > require > > something, drastic. Instituting a legal/morality action preventing > address > > book access sounds, difficult. Displacing User / LinkedIn interest > > alignment for spamming, priceless. There are those who simply want the > > feature to mass spam their contacts, earning them connections on > LinkedIn. > > -- > > Best, > > Stephen Blum > > http://twitter.com/PubNub > > www.pubnub.com > > +1-425-830-6711 > > > > _______________________________________________ > > SanFrancisco-pm mailing list > > SanFrancisco-pm at pm.org > > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > > > > -- Best, Stephen Blum http://twitter.com/PubNub www.pubnub.com +1-425-830-6711 -------------- next part -------------- An HTML attachment was scrubbed... URL: From doom at kzsu.stanford.edu Tue Mar 22 12:01:45 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Tue, 22 Mar 2011 12:01:45 -0700 Subject: [sf-perl] [offtopic] Re: SanFrancisco-pm Digest, Vol 74, Issue 16 In-Reply-To: References: Message-ID: By this standard this message is perl related: How do you know if your post is not perl related? Paste it into a text file and run 'grep -i perl myfile.txt'. If output is returned, it is perl related. Even though it only concerns grep. From fred at redhotpenguin.com Tue Mar 22 18:57:11 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Tue, 22 Mar 2011 18:57:11 -0700 Subject: [sf-perl] [offtopic] Re: SanFrancisco-pm Digest, Vol 74, Issue 16 In-Reply-To: References: Message-ID: There was some unix humor in my example that didn't translate too well to email I'm afraid. I'll have to use an xkcd comic generator next time. All posts are welcome of course, but it helps to use the [tag] subject tags in the email, since many list members have filters setup for the common tags meeting, job, offtopic. And of course more Perl posts are always encouraged! On Tue, Mar 22, 2011 at 12:01 PM, Joseph Brenner wrote: > By this standard this message is perl related: > > ?How do you know if your post is not perl related? ?Paste it into a > ?text file and run 'grep -i perl myfile.txt'. ?If output is returned, > ?it is perl related. > > Even though it only concerns grep. > From josh at agliodbs.com Wed Mar 23 15:18:06 2011 From: josh at agliodbs.com (Josh Berkus) Date: Wed, 23 Mar 2011 15:18:06 -0700 Subject: [sf-perl] LinkedIn Blast In-Reply-To: <20110321214652.GC1751@getdave.com> References: <20110321214652.GC1751@getdave.com> Message-ID: <4D8A719E.10303@agliodbs.com> > Is it really appropriate to follow up a mistaken networking blast > (LinkedIn) with an intentional networking blast about his company? > I'd rather this list didn't turn into a marketing forum. I don't > really see this as much of an apology, but maybe I just anger easily. If I was listmaster, I would ban Mr. Blum. But I'm not. -- -- Josh Berkus PostgreSQL Experts Inc. http://www.pgexperts.com From fred at redhotpenguin.com Wed Mar 23 15:31:28 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Wed, 23 Mar 2011 15:31:28 -0700 Subject: [sf-perl] [meeting] Recap of last night's meetup Message-ID: Big thanks to Jonathan Swartz last night for the great talk on Mason 2. Here's a link to the Mason 2 announcement - http://www.openswartz.com/2011/02/21/announcing-mason-2/ Also, if you are interested in being a speaker for the April meeting, please email Joe Brenner (or message him through meetup). We are looking for Perl, Python, and Ruby presenters for a unique meeting format. From matt at lanier.org Wed Mar 23 15:34:29 2011 From: matt at lanier.org (Matthew Lanier) Date: Wed, 23 Mar 2011 15:34:29 -0700 (PDT) Subject: [sf-perl] [meeting] Recap of last night's meetup In-Reply-To: References: Message-ID: i'll happily speak to the intersection of python, ruby, and perl, having done all 3 recently. and yes, thanks to jonathan, for his 3rd (4th, maybe?) talk to the sfpug. his first talk to the sfpug was done by flashlight when the power went out. kick ass. m@ On Wed, 23 Mar 2011, Fred Moyer wrote: > Big thanks to Jonathan Swartz last night for the great talk on Mason 2. > > Here's a link to the Mason 2 announcement - > http://www.openswartz.com/2011/02/21/announcing-mason-2/ > > Also, if you are interested in being a speaker for the April meeting, > please email Joe Brenner (or message him through meetup). We are > looking for Perl, Python, and Ruby presenters for a unique meeting > format. > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From swartz at pobox.com Wed Mar 23 15:34:42 2011 From: swartz at pobox.com (Jonathan Swartz) Date: Wed, 23 Mar 2011 15:34:42 -0700 Subject: [sf-perl] [meeting] Recap of last night's meetup In-Reply-To: References: Message-ID: <5FA42E11-29D8-4D3C-956B-F4BA5A183046@pobox.com> Thanks to everyone that came, a lot of interesting questions. Fred: Don't quite understand about the April meeting, are you saying you are looking for multiple presenters in each language? On Mar 23, 2011, at 3:31 PM, Fred Moyer wrote: > Big thanks to Jonathan Swartz last night for the great talk on Mason 2. > > Here's a link to the Mason 2 announcement - > http://www.openswartz.com/2011/02/21/announcing-mason-2/ > > Also, if you are interested in being a speaker for the April meeting, > please email Joe Brenner (or message him through meetup). We are > looking for Perl, Python, and Ruby presenters for a unique meeting > format. > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm From fred at redhotpenguin.com Wed Mar 23 15:43:28 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Wed, 23 Mar 2011 15:43:28 -0700 Subject: [sf-perl] [meeting] Recap of last night's meetup In-Reply-To: <5FA42E11-29D8-4D3C-956B-F4BA5A183046@pobox.com> References: <5FA42E11-29D8-4D3C-956B-F4BA5A183046@pobox.com> Message-ID: On Wed, Mar 23, 2011 at 3:34 PM, Jonathan Swartz wrote: > Thanks to everyone that came, a lot of interesting questions. > > Fred: Don't quite understand about the April meeting, are you saying you are looking for multiple presenters in each language? That's the tentative plan. Several short presentations of how to do 'Hello World' in your particular language web framework of choice. > > On Mar 23, 2011, at 3:31 PM, Fred Moyer wrote: > >> Big thanks to Jonathan Swartz last night for the great talk on Mason 2. >> >> Here's a link to the Mason 2 announcement - >> http://www.openswartz.com/2011/02/21/announcing-mason-2/ >> >> Also, if you are interested in being a speaker for the April meeting, >> please email Joe Brenner (or message him through meetup). ?We are >> looking for Perl, Python, and Ruby presenters for a unique meeting >> format. >> _______________________________________________ >> SanFrancisco-pm mailing list >> SanFrancisco-pm at pm.org >> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > > From doom at kzsu.stanford.edu Wed Mar 23 16:22:18 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Wed, 23 Mar 2011 16:22:18 -0700 Subject: [sf-perl] [meeting] Recap of last night's meetup In-Reply-To: References: <5FA42E11-29D8-4D3C-956B-F4BA5A183046@pobox.com> Message-ID: Fred Moyer wrote: > Jonathan Swartz wrote: >> Thanks to everyone that came, a lot of interesting questions. >> >> Fred: Don't quite understand about the April meeting, are you saying you are looking for multiple presenters in each language? > > That's the tentative plan. Several short presentations of how to do > 'Hello World' in your particular language web framework of choice. Of course if we just end up with a round-table discussion of interested parties, that works too. From philiph at pobox.com Thu Mar 24 20:53:22 2011 From: philiph at pobox.com (Philip J. Hollenback) Date: Thu, 24 Mar 2011 20:53:22 -0700 Subject: [sf-perl] Another little blog post about perl Message-ID: <1301025202.28349.1433646013@webmail.messagingengine.com> I seem to spend my time thinking about random perl stuff a good amount these days: http://www.hollenback.net/index.php/PerlMusings So hey, figured maybe some of you other perl folks might like to read it. I'll probably be banging one of these perl postings out every few weeks and will post links here unless it's annoying. P. -- Philip J. Hollenback philiph at pobox.com www.hollenback.net From hartzell at alerce.com Thu Mar 24 21:29:24 2011 From: hartzell at alerce.com (George Hartzell) Date: Thu, 24 Mar 2011 21:29:24 -0700 Subject: [sf-perl] rhymeswithorange/Hilary Price a Perl user? Message-ID: <19852.6692.803827.546500@gargle.gargle.HOWL> I think this qualifies as a perl post.... Anyone get the perl references here? Is Hilary a closet Perl programmer? http://www.rhymeswithorange.com/2011/03/March-23-2011/ g. From doom at kzsu.stanford.edu Fri Mar 25 11:50:02 2011 From: doom at kzsu.stanford.edu (Joseph Brenner) Date: Fri, 25 Mar 2011 11:50:02 -0700 Subject: [sf-perl] rhymeswithorange/Hilary Price a Perl user? In-Reply-To: <19852.6692.803827.546500@gargle.gargle.HOWL> References: <19852.6692.803827.546500@gargle.gargle.HOWL> Message-ID: Interesting. I understand she's got a Stanford background, so she probably associates with all sorts of unsavory characters (in those days they taught all the kids how to use emacs...). On Thu, Mar 24, 2011 at 9:29 PM, George Hartzell wrote: > > I think this qualifies as a perl post.... > > Anyone get the perl references here? ?Is Hilary a closet Perl > programmer? > > ?http://www.rhymeswithorange.com/2011/03/March-23-2011/ > > g. > > _______________________________________________ > SanFrancisco-pm mailing list > SanFrancisco-pm at pm.org > http://mail.pm.org/mailman/listinfo/sanfrancisco-pm > From fred at redhotpenguin.com Fri Mar 25 22:16:00 2011 From: fred at redhotpenguin.com (Fred Moyer) Date: Fri, 25 Mar 2011 22:16:00 -0700 Subject: [sf-perl] Fwd: [SVPerl] Perl course on weekends In-Reply-To: <588315862.1301111012090.JavaMail.nobody@james2> References: <588315862.1301111012090.JavaMail.nobody@james2> Message-ID: Looks interesting. ---------- Forwarded message ---------- From: Alex Gavrilov Date: Fri, Mar 25, 2011 at 8:43 PM Subject: [SVPerl] Perl course on weekends To: SVPerl-list at meetup.com Hello guys! If you?re interested in learning (more) Perl during weekends you're welcome to participate in the courses, which will start on Sunday at 9:00 am, at the address: 2091 Nobili, Santa Clara. The courses will be provided by Andrew Winkler, who was teaching Perl for a long time at "Learning Tree International". The idea is to record courses on video and put them online. The courses are for free, but maybe money for pizza will be accepted as a donation =) Come and check it out! With regards, Alex on behalf of Andrew Winkler. -- Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list (SVPerl-list at meetup.com) http://www.meetup.com/SVPerl/ This message was sent by Alex Gavrilov (hife.me at gmail.com) from Silicon Valley Perl. To learn more about Alex Gavrilov, visit his/her member profile: http://www.meetup.com/SVPerl/members/11937782/ To unsubscribe or to update your mailing list settings, click here: http://www.meetup.com/SVPerl/settings/ Meetup, PO Box 4668 #37895 New York, New York 10163-4668 | support at meetup.com From elaine.richards at windriver.com Mon Mar 28 11:47:57 2011 From: elaine.richards at windriver.com (Richards, Elaine) Date: Mon, 28 Mar 2011 18:47:57 +0000 Subject: [sf-perl] [SVPerl] Perl course on weekends In-Reply-To: References: Message-ID: <664863F83705094396FD4A863BA2A8BB0E1A0F3C@ALA-MBB.corp.ad.wrs.com> I received an email message on my office computer from the list on Saturday at 12:00 AM about a class in Santa Clara on Sunday at 9:00 AM. I am sure I am not the only subscriber who gets the group mail on their office account and who is doing something other than sitting and reading work email on a Saturday. Just sayin' It might be nice to have more lead time on announcements about events and classes. ER From philiph at pobox.com Wed Mar 30 15:31:14 2011 From: philiph at pobox.com (Philip J. Hollenback) Date: Wed, 30 Mar 2011 15:31:14 -0700 Subject: [sf-perl] [jobs] Senior Tools Developer @ Yahoo Message-ID: <1301524274.25437.1435711645@webmail.messagingengine.com> Hi Everyone, My group at Yahoo (Yahoo Mail) has an opening for a senior tools developer. This is a very perl-heavy position; we're definitely looking for someone with very strong knowledge and experience. If you're looking for large-scale perl work, this is the place for you. I love working in this group and recommend it highly. You get to develop cool tools that are used by hundreds of people on thousands of servers. Note that we do need someone with some database experience. A good chunk of this work involves maintaining and improving our stats collection tools which run on a database backend. Other than that, expect a lot of manipulating XML , JSON, and YAML. You will be expected to deal with some simple perl-based web tools but in general this position will focus on a lot of back end development work and command line tools. The position is in Sunnyvale. Everyone works at home on occasion, but in general you are expected to be in the office at least 4 days a week. I take Caltrain myself from SF which works fine. Yahoo also has several shuttle buses that cover most of San Francisco so getting to the office is relatively painless. The buses do have wifi. Contact me directly at philiph at pobox.com if you have any questions. We're interviewing right now. Here's the official description: Yahoo! is hiring a self-motivated Senior Tools Developer to join the Yahoo! Mail Service Engineering team to help design and build the infrastructure that shapes and drives our products. Our challenges are often unique due to the scale of our systems. Because of this, you should be prepared to quickly pick up new skills and be confident in your ability to solve complex problems. Job Description: ? Ongoing support of existing production tool systems and infrastructure; ? Triage and resolve immediate production impacting issues; ? Identify, recommend, and code changes to existing tools; ? Identify and recommend new tools that will automate/streamline existing tools and processes; ? Analyze, scope, and document new tool requirements; ? Code and test new tools in accordance with Y! standards; ? Launch new tools and provide ongoing monitoring and support; ? Communication and coordination with Development, QA, and user-base; Minimum Job Qualifications: 7-10 years experience in software development; ? Excellent programming skills; a fundamental understanding of what makes clear, maintainable and extensible code; ? The ability to develop from the ground up as well as the ability to understand and work with an existing codebase is important; ? Ability to work across teams, to shepherd something from code to product; ? Detail oriented; ? Strong Perl background (perl DBI, Object Oriented Perl); ? Strong working knowledge and experience in UNIX/LINUX environments; ? Database skills desired; ? Excellent organizational skills, ability to independently prioritize day-to-day tasks; ? Excellent documentation skills; ? Familiarity with Sprint Planning; -- Philip J. Hollenback philiph at pobox.com www.hollenback.net