From techsubs at dpo.org Tue Mar 3 16:37:50 2009 From: techsubs at dpo.org (John Springer) Date: Tue, 3 Mar 2009 16:37:50 -0800 Subject: [Pdx-pm] help with SOAP?? Message-ID: I need to access some remote services via SOAP. I've never used it before. (But I've been in the same room with Dave Winer a couple of times, if that counts for anything.) I have some documentation that shows what my queries and responses should look like, but I'm not sure how to translate that into SOAP::Lite statements. Could anyone give me some help with this? Query Example: 123456789 MyVoterFile 500328 Folder,Data,User The APIKey is like a password. There is a WSDL page for the services, but i'm not sure how that fits into the sample code above. J -- John Springer Tech Dude Democratic Party of Oregon (503) 239-8635 -- John Springer Tech Dude Democratic Party of Oregon (503) 239-8635 -- John Springer Tech Dude Democratic Party of Oregon (503) 239-8635 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeff at zeroclue.com Tue Mar 3 16:58:51 2009 From: jeff at zeroclue.com (Jeff Lavallee) Date: Tue, 3 Mar 2009 16:58:51 -0800 Subject: [Pdx-pm] help with SOAP?? In-Reply-To: References: Message-ID: <41D04D30-174C-4DE5-A0DE-43BFDE37C214@zeroclue.com> Something like this should do the trick: use SOAP::Lite; use SOAP::Lite +trace => [qw/ debug method fault /]; #global debug for SOAP calls my $uri = 'http://foo'; my $soap_url = 'http://soap.foobar.com/'; my $soap = SOAP::Lite->new ->uri( $uri ) ->proxy( $soap_url ) ; my @headers = ( SOAP::Header->name('APIKey')->value('123456789'), SOAP::Header->name('DatabaseMode')->value('MyVoterFile'), ); $soap->GetSavedList( SOAP::Data->name('SavedListID')->value('500328'), SOAP::Data->name('options')->value( SOAP::Data- >name('ReturnSections')->value('Foler,Data,User') ), @headers, ); On Mar 3, 2009, at 4:37 PM, John Springer wrote: > > I need to access some remote services via SOAP. I've never used it > before. > (But I've been in the same room with Dave Winer a couple of times, > if that counts for anything.) > I have some documentation that shows what my queries and responses > should > look like, but I'm not sure how to translate that into SOAP::Lite > statements. > > Could anyone give me some help with this? > > Query Example: > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > > > 123456789 > MyVoterFile > > > > > > 500328 > > Folder,Data,User v3:ReturnSections> > > > > > > > The APIKey is like a password. > There is a WSDL page for the services, but i'm not sure how that > fits into the sample code above. > J > > > -- > John Springer > Tech Dude > Democratic Party of Oregon > (503) 239-8635 > > > > > > > > -- > John Springer > Tech Dude > Democratic Party of Oregon > (503) 239-8635 > > > > > > > > -- > John Springer > Tech Dude > Democratic Party of Oregon > (503) 239-8635 > > > > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From jaleto at gmail.com Tue Mar 3 22:45:30 2009 From: jaleto at gmail.com (Jonathan Leto) Date: Tue, 3 Mar 2009 22:45:30 -0800 Subject: [Pdx-pm] GSoC 2009 Mentor Signup Form and Info-Session Message-ID: <9aaadf9c0903032245s3644264fwc8b3a803398432@mail.gmail.com> Howdy, I made this contraption [1] to keep track of mentor interest and to use when writing The Perl Foundation's mentor organization application. Please sign up if you want to be involved this summer! In related news, I will be talking at a GSoC info-session at UWashington in Seattle on Thursday night [2]. I hope to be able to talk about how many mentors we have and all of the well-written project ideas that students can read about. Cheers, [1] http://bit.ly/Hht5E [2] http://is.gd/ly6K -- [---------------------] Jonathan Leto jaleto at gmail.com From schwern at pobox.com Tue Mar 3 23:36:55 2009 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 03 Mar 2009 23:36:55 -0800 Subject: [Pdx-pm] Test::Builder 2 - March meeting in 2 weeks In-Reply-To: <200902262350.53832.enobacon@gmail.com> References: <200902251631.56788.enobacon@gmail.com> <1890DF04-6199-4B07-8385-AC7BADA942A8@ohsu.edu> <85ddf48b0902261808j63383ad0ie61c940a283d4124@mail.gmail.com> <200902262350.53832.enobacon@gmail.com> Message-ID: <49AE2F97.2020802@pobox.com> Eric Wilhelm wrote: > # from benh > # on Thursday 26 February 2009 18:08: > >> I think put my vote token in the TB2 bucket. > > Sounds like Test::Builder 2 it is. I will put something together and try to remember to show up this month. I'd like to make it something of a talk followed by some hacking both on Test::Builder2 directly and writing new test modules. It'll give folks an opportunity to work both with Moose (well, Mouse) and git. Pair programming will make life easier, we can pair of experienced folks with inexperienced. Or just huddle together for strength in numbers. I find it easier to pair when each person has their own keyboard, so I'm going to bring along a few spare keyboards and mice. I encourage others to do the same. -- Stabbing you in the face so you don't have to. From enobacon at gmail.com Wed Mar 4 19:09:02 2009 From: enobacon at gmail.com (Seven till Seven) Date: Wed, 4 Mar 2009 19:09:02 -0800 Subject: [Pdx-pm] Test::Builder 2 - March meeting next Wed. Message-ID: <200903041909.02137.enobacon@gmail.com> Wed. March 11th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. topic: Test::Builder 2 speaker: Michael Schwern Test::Builder underpins 80% of the tests on CPAN. Its limitations become everyone's limitations. It's done a very good job adapting the last seven years, and testing has become more sophisticated in that time, but age and backwards compatibility holds things back. There are a number of desired features which Test::Builder cannot support, such as end-of-test actions, without radically altering how tests are built. thus: Test::Builder2. This will be "something of a talk" followed by some hacking both on Test::Builder2 directly and writing new test modules. It'll give folks an opportunity to work both with Moose (well, Mouse) and git. Pair programming will make life easier, we can pair of experienced folks with inexperienced. Or just huddle together for strength in numbers. I find it easier to pair when each person has their own keyboard, so I'm going to bring along a few spare keyboards and mice. I encourage others to do the same. As always, the meeting will be followed by social hour at the LuckyLab. -- http://pdx.pm.org From sgarman at zenlinux.com Wed Mar 4 23:33:23 2009 From: sgarman at zenlinux.com (Scott Garman) Date: Wed, 04 Mar 2009 23:33:23 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? Message-ID: <49AF8043.6060700@zenlinux.com> Hello, I'm writing a simple test program that does something I've done many times with perl. It executes a long-running process and performs blocking reads on the stdout of that process. Like so: open(EVENTS, "| /usr/local/sbin/udevmonitor"); while (my $line = ) { print "I see: $line"; } When udevmonitor starts, it immediately prints out three lines, then sits silently until it detects a udev event from the Linux kernel, which it faithfully prints out. Running the above snippet of code, however, starts udevemonitor as a subprocess, prints "I see: " for those first three lines of output, and then exits, leaving the udevmonitor process running in the background. I have, by the way, recompiled a version of udevmonitor that doesn't print out that three-line preamble, and the perl script then exits without printing anything - but again leaving the udevmonitor running in the background. I'm pretty sure udevmonitor isn't printing out EOFs. What else could I be doing wrong? I'm using perl v5.8.8 on Debian Etch. Thanks, Scott -- Scott Garman sgarman at zenlinux dot com From schwern at pobox.com Thu Mar 5 02:50:52 2009 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 05 Mar 2009 02:50:52 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <49AF8043.6060700@zenlinux.com> References: <49AF8043.6060700@zenlinux.com> Message-ID: <49AFAE8C.5020102@pobox.com> Scott Garman wrote: > Hello, > > I'm writing a simple test program that does something I've done many > times with perl. It executes a long-running process and performs > blocking reads on the stdout of that process. Like so: > > open(EVENTS, "| /usr/local/sbin/udevmonitor"); That means EVENTS is piping input into udevmonitor. You want to read output. You also want to make sure it open succeeded. Finally, use a lexical filehandle just because there's no reason to muck with global filehandles any more. my $udevmonitor = "/usr/local/sbin/udevmonitor"; open(my $events, "$udevmonitor |") or die "Can't open $udevmonitor: $!"; while (my $line = <$events>) { print "I see: $line"; } > When udevmonitor starts, it immediately prints out three lines, then > sits silently until it detects a udev event from the Linux kernel, which > it faithfully prints out. > > Running the above snippet of code, however, starts udevemonitor as a > subprocess, prints "I see: " for those first three lines of > output, and then exits, leaving the udevmonitor process running in the > background. Are you sure you saw "I see:"? Because there's no way it should have worked as presented above, but you might have seen just udevmonitor's output. Do you have warnings on? -- Robrt: People can't win Schwern: No, but they can riot after the game. From enobacon at gmail.com Thu Mar 5 09:35:50 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Thu, 5 Mar 2009 09:35:50 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <49AFAE8C.5020102@pobox.com> References: <49AF8043.6060700@zenlinux.com> <49AFAE8C.5020102@pobox.com> Message-ID: <200903050935.51043.enobacon@gmail.com> # from Michael G Schwern # on Thursday 05 March 2009 02:50: >Finally, use a lexical >filehandle just because there's no reason to muck with global > filehandles any more. > >? my $udevmonitor = "/usr/local/sbin/udevmonitor"; >? open(my $events, "$udevmonitor |") or die "Can't open $udevmonitor: > $!"; And for good form, use the 3-arg open so you don't get bit by spaces in the filename. open(my $events, '-|', $udevmonitor) or die ... Yes, udevmonitor will probably not be found on windows or mac and no linux distro worth its salt would ever create a directory called something like "/Core Components/", but good habits are hard to break. You also get to pass arguments to the command without the shell trying to interpret them. Someone might want to point out that the 3-arg open is not supported by perls from a decade ago. If you find yourself transported to said century, please use the opportunity to point out the impending attacks, wars, and economic meltdown. --Eric -- "Insert random misquote here" --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From sgarman at zenlinux.com Thu Mar 5 10:00:24 2009 From: sgarman at zenlinux.com (Scott Garman) Date: Thu, 05 Mar 2009 10:00:24 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <49AFAE8C.5020102@pobox.com> References: <49AF8043.6060700@zenlinux.com> <49AFAE8C.5020102@pobox.com> Message-ID: <49B01338.700@zenlinux.com> Michael G Schwern wrote: >> open(EVENTS, "| /usr/local/sbin/udevmonitor"); > > That means EVENTS is piping input into udevmonitor. You want to read output. > You also want to make sure it open succeeded. Aha, so all I needed was a slap with a clue bat. :) Thank you for your response, and also for the lexical filehandle example. > Are you sure you saw "I see:"? Because there's no way it should have worked > as presented above, but you might have seen just udevmonitor's output. Do you > have warnings on? Right again - I was only seeing output from the program. I just *wanted* to believe it was almost working the way I thought it should. I have now turned warnings on and will keep them on for the remaining development of the script. A second quick question, if I haven't burned up too much karma: the script works properly now, except that it buffers many lines (50+) from udevmonitor before I see them on the screen. Setting $| to 1 was no help, and from the documentation sounds like it wasn't quite what I wanted anyway (autoflush forces buffer flushes after writes to the currently selected output handle, and I'm guessing that input buffering is what's causing me trouble). Thanks, Scott -- Scott Garman sgarman at zenlinux dot com From enobacon at gmail.com Thu Mar 5 10:16:42 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Thu, 5 Mar 2009 10:16:42 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <49B01338.700@zenlinux.com> References: <49AF8043.6060700@zenlinux.com> <49AFAE8C.5020102@pobox.com> <49B01338.700@zenlinux.com> Message-ID: <200903051016.42771.enobacon@gmail.com> # from Scott Garman # on Thursday 05 March 2009 10:00: >script works properly now, except that it buffers many lines (50+) > from udevmonitor before I see them on the screen. Setting $| to 1 was > no help, ... and I'm guessing that input > buffering is what's causing me trouble). Yes, pipes default to "block buffered". So, you're seeing buffered output from udevmonitor. You can either hack its source or try IO::Pty / IO::Pty::Easy -- emulate a terminal, which defaults to "line buffered". --Eric -- "If you dig it, it's yours." --An old village poet (via Al Pacino) --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From chromatic at wgz.org Thu Mar 5 11:47:14 2009 From: chromatic at wgz.org (chromatic) Date: Thu, 5 Mar 2009 11:47:14 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <49B01338.700@zenlinux.com> References: <49AF8043.6060700@zenlinux.com> <49AFAE8C.5020102@pobox.com> <49B01338.700@zenlinux.com> Message-ID: <200903051147.14178.chromatic@wgz.org> On Thursday 05 March 2009 10:00:24 Scott Garman wrote: > A second quick question, if I haven't burned up too much karma: the > script works properly now, except that it buffers many lines (50+) from > udevmonitor before I see them on the screen. Setting $| to 1 was no > help, and from the documentation sounds like it wasn't quite what I > wanted anyway (autoflush forces buffer flushes after writes to the > currently selected output handle, and I'm guessing that input buffering > is what's causing me trouble). Input buffering may be problematic if you use readline() (<$events>). sysread() may work better. Of course, this all depends on if udevmonitor uses buffered *writes*. If so, whatever you do for input won't help. -- c From sgarman at zenlinux.com Fri Mar 6 13:34:51 2009 From: sgarman at zenlinux.com (Scott Garman) Date: Fri, 06 Mar 2009 13:34:51 -0800 Subject: [Pdx-pm] Reading process output fails prematurely? In-Reply-To: <200903051016.42771.enobacon@gmail.com> References: <49AF8043.6060700@zenlinux.com> <49AFAE8C.5020102@pobox.com> <49B01338.700@zenlinux.com> <200903051016.42771.enobacon@gmail.com> Message-ID: <49B196FB.9050906@zenlinux.com> Eric Wilhelm wrote: > Yes, pipes default to "block buffered". So, you're seeing buffered > output from udevmonitor. You can either hack its source or try > IO::Pty / IO::Pty::Easy -- emulate a terminal, which defaults to "line > buffered". Thanks Eric - that was exactly what I was looking for. Scott -- Scott Garman sgarman at zenlinux dot com From prog at SolutionsCreative.com Mon Mar 9 16:46:50 2009 From: prog at SolutionsCreative.com (Richard Fobes) Date: Mon, 09 Mar 2009 16:46:50 -0700 Subject: [Pdx-pm] Help with Dashrep module Message-ID: <49B5AA6A.9000700@SolutionsCreative.com> An HTML attachment was scrubbed... URL: From jkeroes at gmail.com Mon Mar 9 17:18:35 2009 From: jkeroes at gmail.com (Joshua Keroes) Date: Mon, 9 Mar 2009 17:18:35 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <49B5AA6A.9000700@SolutionsCreative.com> References: <49B5AA6A.9000700@SolutionsCreative.com> Message-ID: In your module's project directory: mkdir -p lib/Language mv Language-Dashrep.pm lib/Language/Dashrep.pm On Mon, Mar 9, 2009 at 4:46 PM, Richard Fobes wrote: > I've finally encountered a Perl problem for which I can't find any > documentation, so I'm asking for help. It's for a module I'll be submitting > to the CPAN archives. It implements the Dashrep descriptive programming > language, which I've developed over many years. Details of the language are > at www.Dashrep.org. Eric Wilhelm verbally helped me get started on this > open-source contribution, and he said there were some helpful Perl folks on > this list. > > The "make test" command produces the following error: > > PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > t/Language-Dashrep.... > # Failed test 'use Language::Dashrep;' > t/Language-Dashrep....NOK 1# in t/Language-Dashrep.t at line 7. > # Tried to use 'Language::Dashrep'. > # Error: Can't locate Language/Dashrep.pm in @INC > > It appears to be looking for a file named "Dashrep.pm" within a folder > named "Language", yet all the references (and the successful use of "perl > Makefile.PL" and "make") operate on a file named "Language-Dashrep.pm". > > Clarifications: Yes, @INC includes the ..../blib/lib folder that contains > the Language-Dashrep.pm file. Also, I used the h2xs tool to generate the > starting files. I've been able to successfully execute the > "Language-Dashrep.t" test code by using some workarounds, but now I need the > standard CPAN installation process to work correctly without any > workarounds. > > I've been programming in Perl for many years (15 or more?) but admittedly > I'm a novice when it comes to making modules. > > In advance, thanks for any help! > > Richard Fobes > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -------------- next part -------------- An HTML attachment was scrubbed... URL: From prog at SolutionsCreative.com Mon Mar 9 23:26:47 2009 From: prog at SolutionsCreative.com (Richard Fobes) Date: Mon, 09 Mar 2009 23:26:47 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: References: <49B5AA6A.9000700@SolutionsCreative.com> Message-ID: <49B60827.7090902@SolutionsCreative.com> An HTML attachment was scrubbed... URL: From jkeroes at gmail.com Tue Mar 10 01:07:14 2009 From: jkeroes at gmail.com (Joshua Keroes) Date: Tue, 10 Mar 2009 01:07:14 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <49B60827.7090902@SolutionsCreative.com> References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> Message-ID: h2xs is kind of long in the tooth. Personally, I use the module-starter program (installed with Module::Starter) which will get everything framed out nicely for you. I'm sure there are other options on CPAN too. Anyhoo, this particular error is caused by not having all of the POD in place. Make sure you have a NAME section in there. Cheers, Joshua On Mon, Mar 9, 2009 at 11:26 PM, Richard Fobes wrote: > Joshua Keroes wrote: > > In your module's project directory: > > mkdir -p lib/Language > mv Language-Dashrep.pm lib/Language/Dashrep.pm > > Thank you, Joshua! > > Based on your recommendation I moved the file from lib/Language-Dashrep.pm > to lib/Language/Dashrep.pm. > > Alas, now the "perl Makefile.PL" command generates the following warning: > > WARNING: Setting ABSTRACT via file 'lib/Language/Dashrep.pm' failed at > /usr/lib/perl5/5.8.8/ExtUtils/MakeMaker.pm line 615 > Writing Makefile for Language-Dashrep > > How do I fix this? (Apparently it prefers the Language-Dashrep.pm file > naming convention.) > > Now there's a new problem. I ignored that warning and ran the "make" and > "make test" commands. This time it found the file. Yay! However, when the > test file encounters the following line ... > > BEGIN { use_ok('Language::Dashrep'); }; > > ... it fails with an error. It can't find Language::Dashrep. That makes > sense because the installation isn't yet complete! (The "chicken and the > egg" problem.) > > What am I overlooking? Did the h2xs tool create the wrong code? What > should the Language-Dashrep.t (test) file's "BEGIN" line look like? > > Again, in advance, thanks for any help. > > Richard Fobes > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From prog at SolutionsCreative.com Tue Mar 10 12:29:49 2009 From: prog at SolutionsCreative.com (Richard Fobes) Date: Tue, 10 Mar 2009 12:29:49 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> Message-ID: <49B6BFAD.8090601@SolutionsCreative.com> An HTML attachment was scrubbed... URL: From enobacon at gmail.com Tue Mar 10 16:05:39 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Tue, 10 Mar 2009 16:05:39 -0700 Subject: [Pdx-pm] Projector needed for tomorrow's meeting Message-ID: <200903101605.39290.enobacon@gmail.com> Hi all, It appears that we might be without a projector tomorrow. Could someone please volunteer to either bring one or ensure that FreeGeek has a working projector available? Thanks, Eric -- "Everything should be made as simple as possible, but no simpler." --Albert Einstein --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From jeff at zeroclue.com Tue Mar 10 16:29:29 2009 From: jeff at zeroclue.com (Jeff Lavallee) Date: Tue, 10 Mar 2009 16:29:29 -0700 Subject: [Pdx-pm] Projector needed for tomorrow's meeting In-Reply-To: <200903101605.39290.enobacon@gmail.com> References: <200903101605.39290.enobacon@gmail.com> Message-ID: I have identified one that I can borrow for the occasion if one won't be available at FreeGeek... On Mar 10, 2009, at 4:05 PM, Eric Wilhelm wrote: > Hi all, > > It appears that we might be without a projector tomorrow. Could > someone > please volunteer to either bring one or ensure that FreeGeek has a > working projector available? > > Thanks, > Eric > -- > "Everything should be made as simple as possible, but no simpler." > --Albert Einstein > --------------------------------------------------- > http://scratchcomputing.com > --------------------------------------------------- > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From enobacon at gmail.com Tue Mar 10 16:35:25 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Tue, 10 Mar 2009 16:35:25 -0700 Subject: [Pdx-pm] Projector needed for tomorrow's meeting In-Reply-To: References: <200903101605.39290.enobacon@gmail.com> Message-ID: <200903101635.25426.enobacon@gmail.com> # from Jeff Lavallee # on Tuesday 10 March 2009 16:29: >I have identified one that I can borrow for the occasion if one won't > ? be available at FreeGeek... Thanks Jeff, Tom has volunteered to bring one. Tom, if something comes up and you're not going to make it, can you please notify Jeff? Thanks, Eric -- "Unthinking respect for authority is the greatest enemy of truth." --Albert Einstein --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From enobacon at gmail.com Wed Mar 11 00:02:12 2009 From: enobacon at gmail.com (Seven till Seven) Date: Wed, 11 Mar 2009 00:02:12 -0700 Subject: [Pdx-pm] Test::Builder 2 - March meeting tonight Message-ID: <200903110002.12226.enobacon@gmail.com> Wed. March 11th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. topic: Test::Builder 2 speaker: Michael Schwern Test::Builder underpins 80% of the tests on CPAN. Its limitations become everyone's limitations. It's done a very good job adapting the last seven years, and testing has become more sophisticated in that time, but age and backwards compatibility holds things back. There are a number of desired features which Test::Builder cannot support, such as end-of-test actions, without radically altering how tests are built. thus: Test::Builder2. This will be "something of a talk" followed by some hacking both on Test::Builder2 directly and writing new test modules. It'll give folks an opportunity to work both with Moose (well, Mouse) and git. Pair programming will make life easier, we can pair of experienced folks with inexperienced. Or just huddle together for strength in numbers. I find it easier to pair when each person has their own keyboard, so I'm going to bring along a few spare keyboards and mice. I encourage others to do the same. As always, the meeting will be followed by social hour at the LuckyLab. -- http://pdx.pm.org From jaleto at gmail.com Wed Mar 11 00:58:25 2009 From: jaleto at gmail.com (Jonathan Leto) Date: Wed, 11 Mar 2009 03:58:25 -0400 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <49B6BFAD.8090601@SolutionsCreative.com> References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> <49B6BFAD.8090601@SolutionsCreative.com> Message-ID: <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> Howdy, > Ah, this is the missing information I needed.? I'll try Module:: Starter to I have a web interface to Module::Starter that will get you going fast: http://leto.net/modstarter.cgi Cheers, -- [---------------------] Jonathan Leto jaleto at gmail.com From david at kineticode.com Wed Mar 11 10:21:25 2009 From: david at kineticode.com (David E. Wheeler) Date: Wed, 11 Mar 2009 10:21:25 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> <49B6BFAD.8090601@SolutionsCreative.com> <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> Message-ID: On Mar 11, 2009, at 12:58 AM, Jonathan Leto wrote: > I have a web interface to Module::Starter that will get you going > fast: > > http://leto.net/modstarter.cgi ?Error: You have entered some invalid characters, please try again.? Bummer. I didn't put anything unusual in the fields. Module Name: My::New::Module Builder: Module::Build License: perl Author: David E. Wheeler Email: david at justatheory.com David From jeff at zeroclue.com Wed Mar 11 10:26:54 2009 From: jeff at zeroclue.com (Jeff Lavallee) Date: Wed, 11 Mar 2009 10:26:54 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> <49B6BFAD.8090601@SolutionsCreative.com> <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> Message-ID: <3D74A62C-64FF-4026-87F5-CAE0C81E0F90@zeroclue.com> Hints: Leave Distribution blank if you are only creating one module. Looks like it gives me that error if I put anything into the "Distrobution" field On Mar 11, 2009, at 10:21 AM, David E. Wheeler wrote: > On Mar 11, 2009, at 12:58 AM, Jonathan Leto wrote: > >> I have a web interface to Module::Starter that will get you going >> fast: >> >> http://leto.net/modstarter.cgi > > ?Error: You have entered some invalid characters, please try again.? > > Bummer. I didn't put anything unusual in the fields. > > Module Name: My::New::Module > Builder: Module::Build > License: perl > Author: David E. Wheeler > Email: david at justatheory.com > > David > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From prog at SolutionsCreative.com Wed Mar 11 10:35:44 2009 From: prog at SolutionsCreative.com (Richard Fobes) Date: Wed, 11 Mar 2009 10:35:44 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> <49B6BFAD.8090601@SolutionsCreative.com> <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> Message-ID: <49B7F670.60808@SolutionsCreative.com> Jonathan Leto wrote: > I have a web interface to Module::Starter that will get you going fast: > http://leto.net/modstarter.cgi > Cheers, Ah, cool! Thank you! Richard Fobes (Hopefully this time Thunderbird will send the message as plain text.) From schwern at pobox.com Wed Mar 11 11:08:33 2009 From: schwern at pobox.com (Michael G Schwern) Date: Wed, 11 Mar 2009 11:08:33 -0700 Subject: [Pdx-pm] Test::Builder 2 - March meeting tonight In-Reply-To: <200903110002.12226.enobacon@gmail.com> References: <200903110002.12226.enobacon@gmail.com> Message-ID: <49B7FE21.8020602@pobox.com> Thanks for filling in, Eric. Here's some more detail about "some sort of talk". We'll go over the basics of how Perl's testing system works. What things like Test::More and Test::Harness and Test::Builder and MakeMaker do and how they relate. TAP (Test Anything Protocol) will be briefly covered. Then we'll move on to how to use Test::Builder to write your own test module, and why you'd want to do that. Finally, we'll go into what's wrong with the design of Test::Builder and what Test::Builder2 is going to do about that. Following the talk we're going to do some coding. People will split up into pairs (or triads, if you swing that way) and work on something to do with testing and Test::Builder or just watch. This includes... * Writing some tests for your own stuff. * Writing your own testing library * Fixing some Test::Builder bugs (RT tracker, Google code tracker) * Helping out with Test::Builder2 It's low pressure and you're encouraged to ask questions. Hopefully we can get a good mix of experience and inexperienced people to pair together. Test::Builder2 is using Moose (well, Mouse) and git, so here's an opportunity to play with them. I hope people will bring their laptops. If you plan on working on TB2 make sure you have git and Mouse installed. I also encourage people to bring an extra keyboard and mouse to make pairing easier. Finally, if there is a spare projector and it's not too much trouble please bring it. Don't panic! Seven till Seven wrote: > Wed. March 11th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. > > topic: Test::Builder 2 > speaker: Michael Schwern > > Test::Builder underpins 80% of the tests on CPAN. Its limitations become > everyone's limitations. It's done a very good job adapting the last > seven years, and testing has become more sophisticated in that time, > but age and backwards compatibility holds things back. There are a > number of desired features which Test::Builder cannot support, such as > end-of-test actions, without radically altering how tests are built. > > thus: Test::Builder2. > > This will be "something of a talk" followed by some hacking both on > Test::Builder2 directly and writing new test modules. It'll give folks > an opportunity to work both with Moose (well, Mouse) and git. Pair > programming will make life easier, we can pair of experienced folks > with inexperienced. Or just huddle together for strength in numbers. I > find it easier to pair when each person has their own keyboard, so I'm > going to bring along a few spare keyboards and mice. I encourage others > to do the same. > > As always, the meeting will be followed by social hour at the LuckyLab. -- 31. Not allowed to let sock puppets take responsibility for any of my actions. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/ From jaleto at gmail.com Wed Mar 11 16:46:52 2009 From: jaleto at gmail.com (Jonathan Leto) Date: Wed, 11 Mar 2009 16:46:52 -0700 Subject: [Pdx-pm] Help with Dashrep module In-Reply-To: <3D74A62C-64FF-4026-87F5-CAE0C81E0F90@zeroclue.com> References: <49B5AA6A.9000700@SolutionsCreative.com> <49B60827.7090902@SolutionsCreative.com> <49B6BFAD.8090601@SolutionsCreative.com> <9aaadf9c0903110058o14ea87davbbc83f142a9a3745@mail.gmail.com> <3D74A62C-64FF-4026-87F5-CAE0C81E0F90@zeroclue.com> Message-ID: <9aaadf9c0903111646h17198b29k4c49d657b3d05bc1@mail.gmail.com> Howdy, On Wed, Mar 11, 2009 at 10:26 AM, Jeff Lavallee wrote: > > Hints: > Leave Distribution blank if you are only creating one module. > > Looks like it gives me that error if I put anything into the "Distrobution" > field I believe the issue is that it only wants either Distribution or Module, but not both. The error message could be a lot more useful, I will work on that. For now, just use Module. Distribution is only if you are packaging multiple modules together under a separate name. Duke -- [---------------------] Jonathan Leto jaleto at gmail.com From schwern at pobox.com Fri Mar 13 11:51:04 2009 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 13 Mar 2009 11:51:04 -0700 Subject: [Pdx-pm] Test::Builder calling convention Message-ID: <49BAAB18.5020307@pobox.com> At the last PDX.pm meeting we had a breakthrough on how a testing library says that they've run a test. Right now, with Test::Builder, you do this: my $ok = $builder->ok( $test, $name ); unless( $ok ) { my $diag = ...; ...build up the diagnostic message... $builder->diag( $diag ); } return $ok; Or you can sometimes compress it to this: return $builder->ok( $test, $name ) || $builder->diag( $diag ); With structured diagnostics, we need to A) strongly associated the diagnostics with the test and B) allow an arbitrary hash. This lead to the unsatisfactory: $builder->ok( $test, $name, { have => $have, want => $want }); I never liked this because it seems inflexible. You have to have everything ready in one shot. And if we have is() or like() or more assert methods they have to accept all the arguments, too. After some discussion we came up with this: return $builder->ok( $test ) ->name( $name ) ->diag({ have => $have, want => $want }); ok() returns a result object upon which you can call more methods to add more information about the result. The test name, test diagnostics or whatever else we want to tack on. Each of those return the same result object to allow chaining. In boolean/string/numeric context it will return true or false to reflect the test passing or failing. You can do it all in one shot, chained together, as above. Or you can do it in pieces like this: my $ok = $builder->ok($test)->name($name); if( !$ok ) { my $diag = ...; ...build up $diag... $ok->diag($diag); } return $ok; The result object will have a flush() method (better name needed) to output the results. Normally this will be called by the wrapper around the user's test function, but I don't want to rely on that 100% of the time, not everyone is going to use install_test(). The original thought was to have the object flush on destruction, but we're going to want to store the result object in the TB2 history (ok() will do that) so it won't actually get destroyed. We can't store a copy because we want to see any changes after it's stored. Can't store a weak ref because we do want to keep the object around. My thought is for ok() to store the real result object in history and return a thin wrapper object that does nothing but delegates everything to the result. Then when it gets destroyed it can tell the real result object to flush. In the end, I really like the flexibility the object chaining gives. Its going to make it very easy to add new methods. I don't like the complexity and magic of determining when the result should output and would like to see and good ideas on that. As always, +1 and -1s appreciated. PS At PDX.pm we talked about an or() method which would do this: $builder->ok( open my $fh, $file ) ->diag( "Errno: $!" ) ->or ->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); Its a short circuit method. If the result is true, it returns a null object that does nothing. If it's false, it chains the result through and the following is() starts a new result object. Trouble is, I can't remember what it bought us over a regular or operator. $builder->ok( open my $fh, $file ) ->diag( "Errno: $!" ) or $builder->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); That would appear to be perfectly sufficient, understandable to all and you get real short circuiting, not calling empty methods on an empty object. -- If you want the truth to stand clear before you, never be for or against. The struggle between "for" and "against" is the mind's worst disease. -- Sent-ts'an From hdp.perl.pm.pdx at weftsoar.net Fri Mar 13 12:08:38 2009 From: hdp.perl.pm.pdx at weftsoar.net (Hans Dieter Pearcey) Date: Fri, 13 Mar 2009 15:08:38 -0400 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49BAAB18.5020307@pobox.com> References: <49BAAB18.5020307@pobox.com> Message-ID: <20090313190838.GB31833@glaive.weftsoar.net> On Fri, Mar 13, 2009 at 11:51:04AM -0700, Michael G Schwern wrote: > As always, +1 and -1s appreciated. +1 > PS At PDX.pm we talked about an or() method which would do this: > > $builder->ok( open my $fh, $file ) > ->diag( "Errno: $!" ) > ->or > ->is( $!, ENOBACON ) > ->name( "Insufficient bacon" ); > > Its a short circuit method. If the result is true, it returns a null object > that does nothing. If it's false, it chains the result through and the > following is() starts a new result object. Trouble is, I can't remember what > it bought us over a regular or operator. > > $builder->ok( open my $fh, $file ) > ->diag( "Errno: $!" ) > or > $builder->is( $!, ENOBACON ) > ->name( "Insufficient bacon" ); > > That would appear to be perfectly sufficient, understandable to all and you > get real short circuiting, not calling empty methods on an empty object. It seems weird to me that diag() in your second example is returning whether or not the test passed. The whole example is a little contrived, though. Do you really want to run a second test based on whether the first passed? It's hard to consider this syntax without a real use case. hdp. From ben.hengst at gmail.com Fri Mar 13 12:52:21 2009 From: ben.hengst at gmail.com (benh) Date: Fri, 13 Mar 2009 12:52:21 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <20090313190838.GB31833@glaive.weftsoar.net> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> Message-ID: <85ddf48b0903131252l4cae279fiee3c59eb423acccc@mail.gmail.com> +1 On Fri, Mar 13, 2009 at 12:08 PM, Hans Dieter Pearcey wrote: > On Fri, Mar 13, 2009 at 11:51:04AM -0700, Michael G Schwern wrote: >> As always, +1 and -1s appreciated. > > +1 > >> PS ?At PDX.pm we talked about an or() method which would do this: >> >> ? ? $builder->ok( open my $fh, $file ) >> ? ? ? ? ? ? ->diag( "Errno: $!" ) >> ? ? ? ? ? ? ->or >> ? ? ? ? ? ? ->is( $!, ENOBACON ) >> ? ? ? ? ? ? ->name( "Insufficient bacon" ); >> >> Its a short circuit method. ?If the result is true, it returns a null object >> that does nothing. ?If it's false, it chains the result through and the >> following is() starts a new result object. ?Trouble is, I can't remember what >> it bought us over a regular or operator. >> >> ? ? $builder->ok( open my $fh, $file ) >> ? ? ? ? ? ? ->diag( "Errno: $!" ) >> ? ? ? or >> ? ? $builder->is( $!, ENOBACON ) >> ? ? ? ? ? ? ->name( "Insufficient bacon" ); >> >> That would appear to be perfectly sufficient, understandable to all and you >> get real short circuiting, not calling empty methods on an empty object. > > It seems weird to me that diag() in your second example is returning whether or > not the test passed. > > The whole example is a little contrived, though. ?Do you really want to run a > second test based on whether the first passed? ?It's hard to consider this > syntax without a real use case. I would think that it should at least be an option. SKIP, as an idea, is already a dependant test, so would it be that bad to allow a multi level setup? > > hdp. > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- benh~ http://three.sentenc.es/ From enobacon at gmail.com Fri Mar 13 13:41:44 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Fri, 13 Mar 2009 13:41:44 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <20090313190838.GB31833@glaive.weftsoar.net> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> Message-ID: <200903131341.44870.enobacon@gmail.com> # from Hans Dieter Pearcey # on Friday 13 March 2009 12:08: >Trouble is, I can't remember what it bought us over a regular or >operator. >> >> ? ? $builder->ok( open my $fh, $file ) >> ? ? ? ? ? ? ->diag( "Errno: $!" ) >> ? ? ? or >> ? ? $builder->is( $!, ENOBACON ) >> ? ? ? ? ? ? ->name( "Insufficient bacon" ); >> >> That would appear to be perfectly sufficient, understandable to all >> and you get real short circuiting, not calling empty methods on an >> empty object. But 'or' does not have sufficient precedence here (you are trying to return the result object?) >It seems weird to me that diag() in your second example is returning > whether or not the test passed. Actually, I question diag() being applied directly to a result object (e.g. $builder->ok(1)->diag("fail!")) -- Does the diag() merely passthrough when called on a true result object? But, should this example actually be like so? That is, we want open() to fail because the goal is to verify the errno. return $builder->ok( ! open my $fh, $file ) ->or->diag( "Expected open to fail" ) ->and ->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); Or to put it another way: my $res = $builder->ok( ! open my $fh, $file ); $res->name( "Insufficient bacon" ); return $res->diag( "Expected open to fail" ) unless($res); return $res->is( $!, ENOBACON ); hmm... $builder->ko( open my $fh, $file ); Groan, not this again! Maybe we need an example with not so much negation here. --Eric -- Chicken farmer's observation: Clunk is the past tense of cluck. --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From david at kineticode.com Fri Mar 13 14:00:57 2009 From: david at kineticode.com (David E. Wheeler) Date: Fri, 13 Mar 2009 14:00:57 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49BAAB18.5020307@pobox.com> References: <49BAAB18.5020307@pobox.com> Message-ID: <699738BF-1DED-4280-B394-345714CBA34A@kineticode.com> On Mar 13, 2009, at 11:51 AM, Michael G Schwern wrote: > My thought is for ok() to store the real result object in history > and return a > thin wrapper object that does nothing but delegates everything to > the result. > Then when it gets destroyed it can tell the real result object to > flush. +1, sounds smart. > In the end, I really like the flexibility the object chaining > gives. Its > going to make it very easy to add new methods. I don't like the > complexity > and magic of determining when the result should output and would > like to see > and good ideas on that. Can you cite an example of what you dislike here, so we can sink our teeth into something? > As always, +1 and -1s appreciated. +1 Best, David From schwern at pobox.com Fri Mar 13 21:45:25 2009 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 13 Mar 2009 21:45:25 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <85ddf48b0903131252l4cae279fiee3c59eb423acccc@mail.gmail.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <85ddf48b0903131252l4cae279fiee3c59eb423acccc@mail.gmail.com> Message-ID: <49BB3665.4010402@pobox.com> benh wrote: > On Fri, Mar 13, 2009 at 12:08 PM, Hans Dieter Pearcey > wrote: >> On Fri, Mar 13, 2009 at 11:51:04AM -0700, Michael G Schwern wrote: >>> As always, +1 and -1s appreciated. >> +1 >> >>> PS At PDX.pm we talked about an or() method which would do this: >>> >>> $builder->ok( open my $fh, $file ) >>> ->diag( "Errno: $!" ) >>> ->or >>> ->is( $!, ENOBACON ) >>> ->name( "Insufficient bacon" ); >>> >>> Its a short circuit method. If the result is true, it returns a null object >>> that does nothing. If it's false, it chains the result through and the >>> following is() starts a new result object. Trouble is, I can't remember what >>> it bought us over a regular or operator. >>> >>> $builder->ok( open my $fh, $file ) >>> ->diag( "Errno: $!" ) >>> or >>> $builder->is( $!, ENOBACON ) >>> ->name( "Insufficient bacon" ); >>> >>> That would appear to be perfectly sufficient, understandable to all and you >>> get real short circuiting, not calling empty methods on an empty object. >> >> It seems weird to me that diag() in your second example is returning whether or >> not the test passed. It's returning the result object. Let me write it out long hand. my $ok = $builder->ok( open my $fh, $file ); $ok->diag( "Errno: $!" ); return $ok; is equivalent to: return $builder->ok( open my $fh, $file ) ->diag("Errno: $!"); Each call to the $ok object simply returns the $ok object to allow chaining. >> The whole example is a little contrived, though. Do you really want to run a >> second test based on whether the first passed? It's hard to consider this >> syntax without a real use case. It is, I'll admit, very uncommon. So I might be worrying about something that doesn't really matter. > I would think that it should at least be an option. SKIP, as an idea, > is already a dependant test, so would it be that bad to allow a multi > level setup? How do you mean by multi-level? -- Just call me 'Moron Sugar'. http://www.somethingpositive.net/sp05182002.shtml From schwern at pobox.com Fri Mar 13 22:24:36 2009 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 13 Mar 2009 22:24:36 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <200903131341.44870.enobacon@gmail.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> Message-ID: <49BB3F94.1070709@pobox.com> Eric Wilhelm wrote: > # from Hans Dieter Pearcey > # on Friday 13 March 2009 12:08: > >> Trouble is, I can't remember what it bought us over a regular or >> operator. >>> $builder->ok( open my $fh, $file ) >>> ->diag( "Errno: $!" ) >>> or >>> $builder->is( $!, ENOBACON ) >>> ->name( "Insufficient bacon" ); >>> >>> That would appear to be perfectly sufficient, understandable to all >>> and you get real short circuiting, not calling empty methods on an >>> empty object. > > But 'or' does not have sufficient precedence here (you are trying to > return the result object?) I probably need a ||, that's fine too. >> It seems weird to me that diag() in your second example is returning >> whether or not the test passed. > > Actually, I question diag() being applied directly to a result object > (e.g. $builder->ok(1)->diag("fail!")) -- Does the diag() merely > passthrough when called on a true result object? Nope. The result object stores the diagnostic and then the (currently non-existent) output object decides what to output, where and how. A TAP output object, using normal comment diagnostics, would simply not display the diagnostic at all if the test passed. So if it passed you might see: ok 1 and if it failed not ok 1 # fail! A future TAP object, using structured diagnostics, might always spit the diagnostics out and the displayer decides what to do with them. Consider the diagnostics on an test. $builder->ok( $this eq $that ) ->diag([ have => $this, want => $that ]); (Yes, there will be an is() to encapsulate this) If $this and $that are both generated, it may be useful to know what they are: ok 23 --- have: hubble bubble want: hubble bubble ... This will be of particular interest to TAP archivers I'm sure. Consider an even wider scope. By fulling decoupling the output considerations from the test logic, we enable the ability to use tests as comparison functions. Something I eluded to earlier. This would potentially allow something like Test::Deep's awesome complex structure comparison functions to be used in production. It's better when you think of the diagnostic as just more information, rather than something redundant like "the test failed". > But, should this example actually be like so? That is, we want open() > to fail because the goal is to verify the errno. > > return $builder->ok( ! open my $fh, $file ) > ->or->diag( "Expected open to fail" ) > ->and > ->is( $!, ENOBACON ) > ->name( "Insufficient bacon" ); Your diagnostic is really more the name. It might instead look like this: return $builder->ok( !open my $fh, $file ) ->name("Can't open $file for reading") ->and ->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); > Or to put it another way: > > my $res = $builder->ok( ! open my $fh, $file ); > $res->name( "Insufficient bacon" ); > return $res->diag( "Expected open to fail" ) unless($res); > > return $res->is( $!, ENOBACON ); At that point there's no reason to reuse the result since the second call to is() will simply make a new one. my $ok = $builder->ok( !open my $fh, $file ) ->name("Can't open $file for reading"); return $ok unless $ok; return $builder->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); Or return $builder->ok( !open my $fh, $file ) ->name("Can't open $file for reading") && $builder->is( $!, ENOBACON ) ->name( "Insufficient bacon" ); A concrete benefit of removing and() and or() is the result object does not need to know how to make another result object. It doesn't need to know $builder's methods, ok() and is() being methods of Test::Builder2, not the result object. To make and() and or() work, the result object would have to store $builder so it can call it if necessary. It would either have to know $builder's result methods or simply handy anything it doesn't recognize through. The first is too tight a coupling. The second makes it difficult to diagnose mistakes calling methods on a result object. You might accidentally call a $builder method. > hmm... $builder->ko( open my $fh, $file ); Groan, not this again! > Maybe we need an example with not so much negation here. Still not making a "not ok" method. -- Alligator sandwich, and make it snappy! From schwern at pobox.com Fri Mar 13 22:25:29 2009 From: schwern at pobox.com (Michael G Schwern) Date: Fri, 13 Mar 2009 22:25:29 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <699738BF-1DED-4280-B394-345714CBA34A@kineticode.com> References: <49BAAB18.5020307@pobox.com> <699738BF-1DED-4280-B394-345714CBA34A@kineticode.com> Message-ID: <49BB3FC9.3050102@pobox.com> David E. Wheeler wrote: >> In the end, I really like the flexibility the object chaining gives. Its >> going to make it very easy to add new methods. I don't like the >> complexity >> and magic of determining when the result should output and would like >> to see >> and good ideas on that. > > Can you cite an example of what you dislike here, so we can sink our > teeth into something? Does this help? http://groups.google.com/group/test-more-users/msg/f55b165f4b0a3ac8 -- If at first you don't succeed--you fail. -- "Portal" demo From david at kineticode.com Sat Mar 14 21:46:38 2009 From: david at kineticode.com (David E. Wheeler) Date: Sat, 14 Mar 2009 21:46:38 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49BB3F94.1070709@pobox.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> Message-ID: On Mar 13, 2009, at 10:24 PM, Michael G Schwern wrote: > Nope. The result object stores the diagnostic and then the (currently > non-existent) output object decides what to output, where and how. > > A TAP output object, using normal comment diagnostics, would simply > not > display the diagnostic at all if the test passed. So if it passed > you might see: > > ok 1 > > and if it failed > > not ok 1 > # fail! That would be fine if there was some way to distinguish failure diagnostics from other kinds of diagnostics. Maybe diag() and err()? > Your diagnostic is really more the name. It might instead look like > this: > > return $builder->ok( !open my $fh, $file ) > ->name("Can't open $file for reading") > ->and > ->is( $!, ENOBACON ) > ->name( "Insufficient bacon" ); That really does start to strike me as overly OO. Best, David From david at kineticode.com Sat Mar 14 21:54:06 2009 From: david at kineticode.com (David E. Wheeler) Date: Sat, 14 Mar 2009 21:54:06 -0700 Subject: [Pdx-pm] [test-more-users] Re: Test::Builder calling convention In-Reply-To: <49BB3FC9.3050102@pobox.com> References: <49BAAB18.5020307@pobox.com> <699738BF-1DED-4280-B394-345714CBA34A@kineticode.com> <49BB3FC9.3050102@pobox.com> Message-ID: <96F653E6-A749-4C13-BCEC-F832D63F2DA6@kineticode.com> On Mar 13, 2009, at 10:25 PM, Michael G Schwern wrote: >> Can you cite an example of what you dislike here, so we can sink our >> teeth into something? > > Does this help? > http://groups.google.com/group/test-more-users/msg/f55b165f4b0a3ac8 Yes. Why the flush? Sorry if I just missed that. Best, David From schwern at pobox.com Mon Mar 16 13:42:38 2009 From: schwern at pobox.com (Michael G Schwern) Date: Mon, 16 Mar 2009 13:42:38 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> Message-ID: <49BEB9BE.4030100@pobox.com> David E. Wheeler wrote: > On Mar 13, 2009, at 10:24 PM, Michael G Schwern wrote: > >> Nope. The result object stores the diagnostic and then the (currently >> non-existent) output object decides what to output, where and how. >> >> A TAP output object, using normal comment diagnostics, would simply not >> display the diagnostic at all if the test passed. So if it passed you >> might see: >> >> ok 1 >> >> and if it failed >> >> not ok 1 >> # fail! > > That would be fine if there was some way to distinguish failure > diagnostics from other kinds of diagnostics. Maybe diag() and err()? diag() on a result object ties the diagnostic to the result. diag() on the Builder object is just some random diagnostic. That said, there's really three kinds of diagnostics. 1) Structured data diagnostics associated with a test. not ok 1 --- have: foo want: bar file: t/foo.t line: 23 ... 2) Free form diagnostics associated with a test. not ok 1 # Failed test in t/foo.t at line 23. 3) Free form diagnostics not associated with any test. # I like pie. #3 can be split further into levels of information, like syslog. Currently we have diag() and note() to distinguish between user visible and invisible messages. Fortunately, I don't have to worry about how this will be implemented in TAP to do it in TB2. #1 is currently a TAP extension. TAP has no way of distinguishing between #2 and #3. Other testing systems may so it's useful to distinguish. #1 and #2 are both done as methods on the result object. $ok->diag([ have => ...]); or $ok->diag($message); It's probably best to split those into two methods so there's your diag() and your err(). #3 is called on the Builder object. $Builder->diag($message) or maybe $Builder->err($message). -- On error resume stupid From gorthx at gmail.com Mon Mar 16 15:14:23 2009 From: gorthx at gmail.com (gabrielle) Date: Mon, 16 Mar 2009 15:14:23 -0700 Subject: [Pdx-pm] Fwd: Newsletter from O'Reilly UG Program, March 5 In-Reply-To: References: Message-ID: <48bb92b0903161514j1bf89d1aqd876d7d836a28aea@mail.gmail.com> I'll be putting in the book order on Monday the 23rd. Let me know if you want anything. Also - let me know where you post your reviews (which is part of the deal here!) :D gabrielle ---------- Forwarded message ---------- From: Marsee Henon Date: Thu, Mar 5, 2009 at 1:47 PM Subject: Newsletter from O'Reilly UG Program, March 5 To: gorthx at gmail.com Did you know you can request a free book, ebook, or PDF to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: New Releases: 97 Things Every Software Architect Should Know Adobe Illustrator CS4 One-on-One Agile Web Development with Rails, Third Edition (Pragmatic Bookshelf) Apprenticeship Patterns Architectural Photography (Rocky Nook) Beautiful Teams Build a Better Photograph (Rocky Nook) Cisco Routers for the Desperate, Second Edition (No Starch) Cocoa Programming (Pragmatic Bookshelf) Computer Orchestration Tips and Tricks (PC Publishing) Data Warehousing with SAP BW7 BI in SAP Netweaver 2004s (Rocky Nook) Growing Software (No Starch) iMovie '09 and iDVD: The Missing Manual iWork '09: The Missing Manual: Rough Cuts Version Java Web Services: Up and Running Make: Technology on Your Time Volume 17 Manage Your Project Portfolio (Pragmatic Bookshelf) Masterminds of Programming Network Know-How (No Starch) Palm webOS: Rough Cuts Version Photoshop CS4 Photographer's Handbook (Rocky Nook) Practical Digital Photomicrography (Hard Cover) (Rocky Nook) Programming Entity Framework Programming F#: Rough Cuts Version Programming Ruby 1.9 (Pragmatic Bookshelf) Programming Scala (Pragmatic Bookshelf) Programming Scala: Rough Cuts Version Programming the Semantic Web: Rough Cuts Version Scanning Negatives and Slides, Second Edition (Rocky Nook) Security Monitoring Sexy Web Design (SitePoint) Take Control of Running Windows on a Mac, Third Edition (TidBITS) The Book of Inkscape (No Starch) The Manga Guide to Electricity (No Starch) The Nikon Creative Lighting System (Rocky Nook) The Nikon D90 Companion From david at kineticode.com Mon Mar 16 16:14:55 2009 From: david at kineticode.com (David E. Wheeler) Date: Mon, 16 Mar 2009 16:14:55 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49BEB9BE.4030100@pobox.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> Message-ID: On Mar 16, 2009, at 1:42 PM, Michael G Schwern wrote: > #1 and #2 are both done as methods on the result object. $ok- > >diag([ have => > ...]); or $ok->diag($message); It's probably best to split those > into two > methods so there's your diag() and your err(). +1 > #3 is called on the Builder object. $Builder->diag($message) or maybe > $Builder->err($message). Well if there are three, they should perhaps be three different methods. How about huh() for this one. ;-) David From enobacon at gmail.com Tue Mar 17 10:19:48 2009 From: enobacon at gmail.com (The Dread Parrot) Date: Tue, 17 Mar 2009 10:19:48 -0700 Subject: [Pdx-pm] Fwd: [pm_groups] YAPC|10 Newsletter #1 Message-ID: <200903171019.48562.enobacon@gmail.com> ---------- Forwarded Message: ---------- Subject: [pm_groups] YAPC|10 Newsletter #1 Date: Monday 16 March 2009 21:27 From: Robert Blackwell The YAPC|10 Newsletter #1 is out. http://yapc10.org/yn2009/wiki?node=Newsletter%20%231%20Monday%20March%2016%2C%202009 In this issue: Hotel Information Updated YAPC|10 Pricing Call for Proposals Parrot Virtual Machine Workshop Important Dates The big news is that the 10th Anniversary Special pricing for $99.00 ends March 24. Thanks Robert -- http://pdx.pm.org From ben.hengst at gmail.com Tue Mar 17 16:44:24 2009 From: ben.hengst at gmail.com (benh) Date: Tue, 17 Mar 2009 16:44:24 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49BEB9BE.4030100@pobox.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> Message-ID: <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> If we decupple the display then we can essentually template out any given data to be TAP. That said what would you want this to look like as data? my $data = { tests => [ { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, { pass => 0, msg => 'Failed test in t/foo.t at line 23.' } ], msg => 'I like pie', }; I know that TAP has some limitations in the formating of #2 and #3 but is there any reason to keep that limitation in the way that things are structured? On Mon, Mar 16, 2009 at 1:42 PM, Michael G Schwern wrote: > David E. Wheeler wrote: >> On Mar 13, 2009, at 10:24 PM, Michael G Schwern wrote: >> >>> Nope. ?The result object stores the diagnostic and then the (currently >>> non-existent) output object decides what to output, where and how. >>> >>> A TAP output object, using normal comment diagnostics, would simply not >>> display the diagnostic at all if the test passed. ?So if it passed you >>> might see: >>> >>> ? ?ok 1 >>> >>> and if it failed >>> >>> ? ?not ok 1 >>> ? ?# fail! >> >> That would be fine if there was some way to distinguish failure >> diagnostics from other kinds of diagnostics. Maybe diag() and err()? > > diag() on a result object ties the diagnostic to the result. > > diag() on the Builder object is just some random diagnostic. > > That said, there's really three kinds of diagnostics. > > 1) Structured data diagnostics associated with a test. > > ?not ok 1 > ? ?--- > ? ?have: foo > ? ?want: bar > ? ?file: t/foo.t > ? ?line: 23 > ? ?... > > 2) Free form diagnostics associated with a test. > > ?not ok 1 > ?# Failed test in t/foo.t at line 23. > > 3) Free form diagnostics not associated with any test. > > ?# I like pie. > > #3 can be split further into levels of information, like syslog. ?Currently we > have diag() and note() to distinguish between user visible and invisible > messages. ?Fortunately, I don't have to worry about how this will be > implemented in TAP to do it in TB2. > > #1 is currently a TAP extension. ?TAP has no way of distinguishing between #2 > and #3. ?Other testing systems may so it's useful to distinguish. > > #1 and #2 are both done as methods on the result object. ?$ok->diag([ have => > ...]); or $ok->diag($message); ?It's probably best to split those into two > methods so there's your diag() and your err(). > > #3 is called on the Builder object. ?$Builder->diag($message) or maybe > $Builder->err($message). > > > -- > On error resume stupid > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- benh~ http://three.sentenc.es/ From schwern at pobox.com Tue Mar 17 17:20:34 2009 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 17 Mar 2009 17:20:34 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> Message-ID: <49C03E52.7050506@pobox.com> benh wrote: > If we decupple the display then we can essentually template out any > given data to be TAP. That said what would you want this to look like > as data? > > my $data = { > tests => [ > { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, > { pass => 0, msg => 'Failed test in t/foo.t at line 23.' } > ], > msg => 'I like pie', > }; That loses order. It would have to be more like this: my @data = [ { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, { pass => 0, msg => 'Failed test in t/foo.t at line 23.' }, { msg => 'I like pie' }, ]; That represents in TAP... not ok 1 --- have: foo want: bar file: t/foo.t line: 23 ... not ok 2 # Failed test in t/foo.t at line 23. # I like pie Except they'd all be objects. 2 test result objects and 1 message object. Test::Builder2::History already stores this, but it doesn't hold onto unrelated messages. I don't know if its worthwhile to do so, I haven't heard a use case for it. It's getting close to round tripping. I suppose if there's an output format that absolutely does not stream, one that can't be built up as we go, it would need to store everything and output in one shot. Even XML isn't that inflexible. > I know that TAP has some limitations in the formating of #2 and #3 but > is there any reason to keep that limitation in the way that things are > structured? Nope. From enobacon at gmail.com Tue Mar 17 18:02:27 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Tue, 17 Mar 2009 18:02:27 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49C03E52.7050506@pobox.com> References: <49BAAB18.5020307@pobox.com> <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> <49C03E52.7050506@pobox.com> Message-ID: <200903171802.27795.enobacon@gmail.com> # from Michael G Schwern # on Tuesday 17 March 2009 17:20: >That loses order. ?It would have to be more like this: > >? my @data = [ >? ? ? { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t' ...} [ pass => 0, have => 'foo', ... ] even. >Except they'd all be objects. good. --Eric -- "It works better if you plug it in!" --Sattinger's Law --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From ben.hengst at gmail.com Tue Mar 17 18:38:13 2009 From: ben.hengst at gmail.com (benh) Date: Tue, 17 Mar 2009 18:38:13 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49C03E52.7050506@pobox.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> <49C03E52.7050506@pobox.com> Message-ID: <85ddf48b0903171838l51eba660n891bb8e9789d18c3@mail.gmail.com> On Tue, Mar 17, 2009 at 5:20 PM, Michael G Schwern wrote: > benh wrote: >> If we decupple the display then we can essentually template out any >> given data to be TAP. That said what would you want this to look like >> as data? >> >> my $data = { >> ?tests => [ >> ? { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, >> ? { pass => 0, msg => 'Failed test in t/foo.t at line 23.' } >> ?], >> ?msg => 'I like pie', >> }; > > That loses order. ?It would have to be more like this: > > ?my @data = [ > ? ? ?{ pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, > ? ? ?{ pass => 0, msg => 'Failed test in t/foo.t at line 23.' }, > ? ? ?{ msg => 'I like pie' }, > ?]; > I think that I miss understood then, It seems that you were trying to imply that there would be a need to delever some notation that was not in the stream of tests. I can see the need to have in line msg's, but does this point to #4, notes about the the testing stream? > That represents in TAP... > > not ok 1 > ?--- > ?have: foo > ?want: bar > ?file: t/foo.t > ?line: 23 > ?... > not ok 2 > # Failed test in t/foo.t at line 23. > # I like pie > > Except they'd all be objects. Aggreed. ?2 test result objects and 1 message object. > > Test::Builder2::History already stores this, but it doesn't hold onto > unrelated messages. ?I don't know if its worthwhile to do so, I haven't heard > a use case for it. ?It's getting close to round tripping. > > I suppose if there's an output format that absolutely does not stream, one > that can't be built up as we go, it would need to store everything and output > in one shot. ?Even XML isn't that inflexible. > > >> I know that TAP has some limitations in the formating of #2 and #3 but >> is there any reason to keep that limitation in the way that things are >> structured? > > Nope. > > horray! -- benh~ http://three.sentenc.es/ From schwern at pobox.com Tue Mar 17 21:13:47 2009 From: schwern at pobox.com (Michael G Schwern) Date: Tue, 17 Mar 2009 21:13:47 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <85ddf48b0903171838l51eba660n891bb8e9789d18c3@mail.gmail.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> <49C03E52.7050506@pobox.com> <85ddf48b0903171838l51eba660n891bb8e9789d18c3@mail.gmail.com> Message-ID: <49C074FB.5060901@pobox.com> benh wrote: > On Tue, Mar 17, 2009 at 5:20 PM, Michael G Schwern wrote: >> benh wrote: >>> If we decupple the display then we can essentually template out any >>> given data to be TAP. That said what would you want this to look like >>> as data? >>> >>> my $data = { >>> tests => [ >>> { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, >>> { pass => 0, msg => 'Failed test in t/foo.t at line 23.' } >>> ], >>> msg => 'I like pie', >>> }; >> That loses order. It would have to be more like this: >> >> my @data = [ >> { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, >> { pass => 0, msg => 'Failed test in t/foo.t at line 23.' }, >> { msg => 'I like pie' }, >> ]; >> > > I think that I miss understood then, It seems that you were trying to > imply that there would be a need to delever some notation that was not > in the stream of tests. I can see the need to have in line msg's, but > does this point to #4, notes about the the testing stream? How do you mean? Meta information about the stream as a whole? Like the date and time and Perl version and stuff? -- 39. Not allowed to ask for the day off due to religious purposes, on the basis that the world is going to end, more than once. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/ From ben.hengst at gmail.com Tue Mar 17 21:22:40 2009 From: ben.hengst at gmail.com (benh) Date: Tue, 17 Mar 2009 21:22:40 -0700 Subject: [Pdx-pm] Test::Builder calling convention In-Reply-To: <49C074FB.5060901@pobox.com> References: <49BAAB18.5020307@pobox.com> <20090313190838.GB31833@glaive.weftsoar.net> <200903131341.44870.enobacon@gmail.com> <49BB3F94.1070709@pobox.com> <49BEB9BE.4030100@pobox.com> <85ddf48b0903171644x139fbf57tefb6a1f9a5fa1d1@mail.gmail.com> <49C03E52.7050506@pobox.com> <85ddf48b0903171838l51eba660n891bb8e9789d18c3@mail.gmail.com> <49C074FB.5060901@pobox.com> Message-ID: <85ddf48b0903172122t22ffa307n5b4ec1d1ba75b93d@mail.gmail.com> On Tue, Mar 17, 2009 at 9:13 PM, Michael G Schwern wrote: > benh wrote: >> On Tue, Mar 17, 2009 at 5:20 PM, Michael G Schwern wrote: >>> benh wrote: >>>> If we decupple the display then we can essentually template out any >>>> given data to be TAP. That said what would you want this to look like >>>> as data? >>>> >>>> my $data = { >>>> ?tests => [ >>>> ? { pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, >>>> ? { pass => 0, msg => 'Failed test in t/foo.t at line 23.' } >>>> ?], >>>> ?msg => 'I like pie', >>>> }; >>> That loses order. ?It would have to be more like this: >>> >>> ?my @data = [ >>> ? ? ?{ pass => 0, have => 'foo', want => 'bar', file => 't/foo.t', line => 23 }, >>> ? ? ?{ pass => 0, msg => 'Failed test in t/foo.t at line 23.' }, >>> ? ? ?{ msg => 'I like pie' }, >>> ?]; >>> >> >> I think that I miss understood then, It seems that you were trying to >> imply that there would be a need to delever some notation that was not >> in the stream of tests. I can see the need to have in line msg's, but >> does this point to #4, notes about the the testing stream? > > How do you mean? ?Meta information about the stream as a whole? ?Like the date > and time and Perl version and stuff? > Those are much better examples then what I was thinking of though the concept is the same, I was reading your pie example as something that existed out side the stream of tests. > > > -- > 39. Not allowed to ask for the day off due to religious purposes, on the > ? ?basis that the world is going to end, more than once. > ? ?-- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army > ? ? ? ? ? http://skippyslist.com/list/ > -- benh~ http://three.sentenc.es/ From enobacon at gmail.com Thu Mar 19 12:00:11 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Thu, 19 Mar 2009 12:00:11 -0700 Subject: [Pdx-pm] Parrot 1.0 Message-ID: <200903191200.11607.enobacon@gmail.com> Hi all, If you have been at the meetings, you already know this. But for those who didn't get the memo: http://www.parrot.org/news/2009/Parrot-1.0.0 Tell your friends. Seriously. I mentioned Parrot at a mostly-ruby meetup last month and heard a sort of "I didn't know that project was still going". Would someone be interested in giving a hands-on-parrot presentation? Something involving writing parsers perhaps? --Eric -- Consumers want choice, consumers want openness. --Rob Glaser --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From Peter at PSDT.com Thu Mar 19 12:17:52 2009 From: Peter at PSDT.com (Peter Scott) Date: Thu, 19 Mar 2009 12:17:52 -0700 Subject: [Pdx-pm] Parrot 1.0 In-Reply-To: <200903191200.11607.enobacon@gmail.com> References: <200903191200.11607.enobacon@gmail.com> Message-ID: <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> At 12:00 PM 3/19/2009, Eric Wilhelm wrote: >Hi all, > >If you have been at the meetings, you already know this. But for those >who didn't get the memo: > > http://www.parrot.org/news/2009/Parrot-1.0.0 That's great! I'm trying to figure out from the announcement why this release gets the landmark number 1.0.0. I was expecting to find something that stood out in that respect and I saw a lot of cool stuff but nothing in particular. Is it a critical mass sort of thing? -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com/ http://www.perlmedic.com/ http://www.informit.com/store/product.aspx?isbn=0137001274 From allison at perl.org Thu Mar 19 12:29:15 2009 From: allison at perl.org (Allison Randal) Date: Thu, 19 Mar 2009 12:29:15 -0700 Subject: [Pdx-pm] Parrot 1.0 In-Reply-To: <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> References: <200903191200.11607.enobacon@gmail.com> <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> Message-ID: <49C29D0B.2080805@perl.org> Peter Scott wrote: > > That's great! I'm trying to figure out from the announcement why this > release gets the landmark number 1.0.0. I was expecting to find > something that stood out in that respect and I saw a lot of cool stuff > but nothing in particular. Is it a critical mass sort of thing? That's the "internal" release message, which only lists development in the past month (which was mainly cleanups and packaging details, as you would expect from the month before a big release). The "external" press release gives more details on why this is 1.0: http://www.parrot.org/news/parrot-1.0 Allison From jerry.gay at gmail.com Thu Mar 19 12:30:49 2009 From: jerry.gay at gmail.com (jerry gay) Date: Thu, 19 Mar 2009 12:30:49 -0700 Subject: [Pdx-pm] Parrot 1.0 In-Reply-To: <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> References: <200903191200.11607.enobacon@gmail.com> <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> Message-ID: <1d9a3f400903191230y773658b6ub07639c4e769b734@mail.gmail.com> On Thu, Mar 19, 2009 at 12:17, Peter Scott wrote: > At 12:00 PM 3/19/2009, Eric Wilhelm wrote: >> >> Hi all, >> >> If you have been at the meetings, you already know this. ?But for those >> who didn't get the memo: >> >> ?http://www.parrot.org/news/2009/Parrot-1.0.0 > > That's great! ?I'm trying to figure out from the announcement why this > release gets the landmark number 1.0.0. ?I was expecting to find something > that stood out in that respect and I saw a lot of cool stuff but nothing in > particular. ?Is it a critical mass sort of thing? > in november, the parrot core team met for the first parrot developer summit. there we set a date for 1.0, created a roadmap that would get us there[1] and beyond, and discussed a release and support policy[2]. parrot 1.0 marks the successful completion of our critical roadmap items, and the introduction of these new policies. it also marks the end to our nlnet grant, $70k generously donated to support the design, prototyping, implementation, and documentation of nine critical subsystems. the name is mostly a marketing gimmick, as our release numbers are time-based , and .0 releases will on occur in january from now on. it's more important to note that this marks our 27th regular monthly release, and the start of a new, longer deprecation cycle designed to attract high-level language developers. ~jerry 1. https://trac.parrot.org/parrot/wiki/ParrotRoadmap 2. http://docs.parrot.org/parrot/latest/html/docs/project/support_policy.pod.html From allison at perl.org Thu Mar 19 12:50:47 2009 From: allison at perl.org (Allison Randal) Date: Thu, 19 Mar 2009 12:50:47 -0700 Subject: [Pdx-pm] Parrot 1.0 In-Reply-To: <1d9a3f400903191230y773658b6ub07639c4e769b734@mail.gmail.com> References: <200903191200.11607.enobacon@gmail.com> <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> <1d9a3f400903191230y773658b6ub07639c4e769b734@mail.gmail.com> Message-ID: <49C2A217.4060909@perl.org> jerry gay wrote: > > the name is mostly a marketing gimmick, as our release numbers are > time-based , and .0 releases will on occur in january from now on. > it's more important to note that this marks our 27th regular monthly > release, and the start of a new, longer deprecation cycle designed to > attract high-level language developers. That last paragraph may give people outside the project the wrong impression, so I'll clarify. What Jerry means by "marketing gimmick" is that they're intended to help average users understand which releases are the solid, public, "production use" releases. Which is pretty much what most people mean by 1.0. Allison From schwern at pobox.com Thu Mar 19 22:25:52 2009 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 19 Mar 2009 22:25:52 -0700 Subject: [Pdx-pm] Parrot 1.0 In-Reply-To: <49C2A217.4060909@perl.org> References: <200903191200.11607.enobacon@gmail.com> <6.2.3.4.2.20090319121331.0390a970@mail.webquarry.com> <1d9a3f400903191230y773658b6ub07639c4e769b734@mail.gmail.com> <49C2A217.4060909@perl.org> Message-ID: <49C328E0.90503@pobox.com> Allison Randal wrote: > jerry gay wrote: >> >> the name is mostly a marketing gimmick, as our release numbers are >> time-based , and .0 releases will on occur in january from now on. >> it's more important to note that this marks our 27th regular monthly >> release, and the start of a new, longer deprecation cycle designed to >> attract high-level language developers. > > That last paragraph may give people outside the project the wrong > impression, so I'll clarify. What Jerry means by "marketing gimmick" is > that they're intended to help average users understand which releases > are the solid, public, "production use" releases. Which is pretty much > what most people mean by 1.0. IYTM 1.1. ;) -- 44. I am not the atheist chaplain. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/ From jaleto at gmail.com Fri Mar 20 03:21:26 2009 From: jaleto at gmail.com (Jonathan Leto) Date: Fri, 20 Mar 2009 03:21:26 -0700 Subject: [Pdx-pm] TPF Accepted to Google Summer of Code 2009 Message-ID: <9aaadf9c0903200321xa933dfel631836179c3d6c31@mail.gmail.com> Howdy, Exciting news! The Perl Foundation was accepted to the Google Summer of Code 2009, if you know eligible students, please let them know and if you want to get involved, come hang out in #soc-help on irc.perl.org . More info with links to mailing lists and official announcements are here: http://leto.net/dukeleto.pl/2009/03/tpf-accepted-to-google-summer-of-code-2009.html Competition was fierce this year, about 400 organizations applied and only 150 were accepted, so let's make this the best year yet! Duke -- [---------------------] Jonathan Leto jaleto at gmail.com From enobacon at gmail.com Wed Mar 25 10:16:25 2009 From: enobacon at gmail.com (Seven till Seven) Date: Wed, 25 Mar 2009 10:16:25 -0700 Subject: [Pdx-pm] hdp on Moose - April meeting in 2 weeks Message-ID: <200903251016.26003.enobacon@gmail.com> Wed. April 8th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. topic: Meta-Moose speaker: hdp Moose is a postmodern object system for Perl 5. Moose's recent rise in popularity has led to a surge of declarative class-building and accessor-generating modules, but the real power of Moose comes from its metaclass fundamentals, not from the syntactic sugar of has(). Using Moose as a foundation makes it easier for your code to grow and scale. I'll cover some of the concepts in Moose that the MOP (Meta-Object Protocol) makes possible, especially roles and type constraints. If we have time, I'll go through a simple Moose extension, focusing on the mechanisms Moose provides to help your code play nicely with others'. If the first sentence of this description was news to you, you should at least read the SYNOPSIS of Moose, and if you can get through Moose::Manual and Moose::Manual::Concepts, so much the better. I'll expect a lot of questions, but I hope to move past "what is an object" pretty quickly. By the end of the night I hope you'll have a better understanding of the depth of what Moose provides, and why has() is only the tip of the iceberg. I don't expect that everyone will immediately understand every concept provided ? my goal is to impress you so much with Moose's awesomeness that you're willing to follow up later on the documentation pointers that I throw out. As always, the meeting will be followed by social hour at the Lucky Lab. -- http://pdx.pm.org From publiustemp-pdxpm at yahoo.com Thu Mar 26 07:11:46 2009 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 26 Mar 2009 07:11:46 -0700 (PDT) Subject: [Pdx-pm] I done got spammed :( Message-ID: <67158.96466.qm@web65715.mail.ac4.yahoo.com> Anyone know how this email address got out into the wild? Do we have public archives anywhere? Note that I use publiustemp-pdxpm at yahoo.com only for this mailing list. In using this address for years, this is the first time I can recall getting spam at it. Generally when I get spam to a temporary address it means one of three things: 1. The address is published somewhere 2. Someone has been giving my email address to stupid things like eCards (thanks, Sis!) 3. Someone's box has been compromised (thanks again, Sis!) Cheers, Ovid -- Buy the book - http://www.oreilly.com/catalog/perlhks/ Tech blog - http://use.perl.org/~Ovid/journal/ Twitter - http://twitter.com/OvidPerl Official Perl 6 Wiki - http://www.perlfoundation.org/perl6 ----- Forwarded Message ---- From: The Citizens Bank To: publiustemp-pdxpm at yahoo.com Sent: Thursday, 26 March, 2009 11:23:44 Subject: You have 1 New Notification! Dear Customer, You have 1 New Notification! To Login, please click the link below: http://www.thecitizenslbank.com/signon/ Copyright 2009 The Citizens Bank. All rights reserved. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lemming at quirkyqatz.com Thu Mar 26 07:32:14 2009 From: lemming at quirkyqatz.com (Mark Morgan) Date: Thu, 26 Mar 2009 08:32:14 -0600 Subject: [Pdx-pm] I done got spammed :( In-Reply-To: <67158.96466.qm@web65715.mail.ac4.yahoo.com> References: <67158.96466.qm@web65715.mail.ac4.yahoo.com> Message-ID: <49CB91EE.4090606@quirkyqatz.com> Well, it's listed at: http://mail.pm.org/mailman/listinfo/pdx-pm-list and the archives are http://mail.pm.org/pipermail/pdx-pm-list A spider could of found that. -Mark Ovid wrote: > Anyone know how this email address got out into the wild? Do we have > public archives anywhere? Note that I use publiustemp-pdxpm at yahoo.com > only for this mailing list. In using this address for years, this is > the first time I can recall getting spam at it. > > Generally when I get spam to a temporary address it means one of three > things: > > 1. The address is published somewhere > 2. Someone has been giving my email address to stupid things like > eCards (thanks, Sis!) > 3. Someone's box has been compromised (thanks again, Sis!) > > Cheers, > Ovid > -- > Buy the book - http://www.oreilly.com/catalog/perlhks/ > Tech blog - http://use.perl.org/~Ovid/journal/ > > Twitter - http://twitter.com/OvidPerl > Official Perl 6 Wiki - http://www.perlfoundation.org/perl6 > > > ----- Forwarded Message ---- > *From:* The Citizens Bank > *To:* publiustemp-pdxpm at yahoo.com > *Sent:* Thursday, 26 March, 2009 11:23:44 > *Subject:* You have 1 New Notification! > > Dear Customer, > > You have 1 New Notification! > > To Login, please click the link below: > > http://www.thecitizenslbank.com/signon/ > > Copyright 2009 The Citizens Bank. All rights reserved. > ------------------------------------------------------------------------ > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From lemming at quirkyqatz.com Thu Mar 26 07:33:36 2009 From: lemming at quirkyqatz.com (Mark Morgan) Date: Thu, 26 Mar 2009 08:33:36 -0600 Subject: [Pdx-pm] I done got spammed :( In-Reply-To: <49CB91EE.4090606@quirkyqatz.com> References: <67158.96466.qm@web65715.mail.ac4.yahoo.com> <49CB91EE.4090606@quirkyqatz.com> Message-ID: <49CB9240.9080705@quirkyqatz.com> Oh, and if you google for pdx-pm-list at pm.org you get the page, so yep, it be public. Mark Morgan wrote: > Well, it's listed at: http://mail.pm.org/mailman/listinfo/pdx-pm-list > and the archives are http://mail.pm.org/pipermail/pdx-pm-list > > A spider could of found that. > > -Mark > > Ovid wrote: >> Anyone know how this email address got out into the wild? Do we have >> public archives anywhere? Note that I use >> publiustemp-pdxpm at yahoo.com only for this mailing list. In using >> this address for years, this is the first time I can recall getting >> spam at it. >> >> Generally when I get spam to a temporary address it means one of >> three things: >> >> 1. The address is published somewhere >> 2. Someone has been giving my email address to stupid things like >> eCards (thanks, Sis!) >> 3. Someone's box has been compromised (thanks again, Sis!) >> >> Cheers, >> Ovid >> -- >> Buy the book - http://www.oreilly.com/catalog/perlhks/ >> Tech blog - http://use.perl.org/~Ovid/journal/ >> >> Twitter - http://twitter.com/OvidPerl >> Official Perl 6 Wiki - http://www.perlfoundation.org/perl6 >> >> >> ----- Forwarded Message ---- >> *From:* The Citizens Bank >> *To:* publiustemp-pdxpm at yahoo.com >> *Sent:* Thursday, 26 March, 2009 11:23:44 >> *Subject:* You have 1 New Notification! >> >> Dear Customer, >> >> You have 1 New Notification! >> >> To Login, please click the link below: >> >> http://www.thecitizenslbank.com/signon/ >> >> Copyright 2009 The Citizens Bank. All rights reserved. >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From publiustemp-pdxpm at yahoo.com Thu Mar 26 07:34:35 2009 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 26 Mar 2009 07:34:35 -0700 (PDT) Subject: [Pdx-pm] I done got spammed :( In-Reply-To: <49CB91EE.4090606@quirkyqatz.com> References: <67158.96466.qm@web65715.mail.ac4.yahoo.com> <49CB91EE.4090606@quirkyqatz.com> Message-ID: <628344.9891.qm@web65711.mail.ac4.yahoo.com> Thanks Mark. (still enjoying Utah? :) Yup, looks like that's probably it. I'm surprised this is the first spam I can recall from this address. Cheers, Ovid -- Buy the book - http://www.oreilly.com/catalog/perlhks/ Tech blog - http://use.perl.org/~Ovid/journal/ Twitter - http://twitter.com/OvidPerl Official Perl 6 Wiki - http://www.perlfoundation.org/perl6 ________________________________ From: Mark Morgan To: pdx-pm-list at pm.org Sent: Thursday, 26 March, 2009 14:32:14 Subject: Re: [Pdx-pm] I done got spammed :( Well, it's listed at: http://mail.pm.org/mailman/listinfo/pdx-pm-list and the archives are http://mail.pm.org/pipermail/pdx-pm-list A spider could of found that. -Mark Ovid wrote: > Anyone know how this email address got out into the wild? Do we have public archives anywhere? Note that I use publiustemp-pdxpm at yahoo.com only for this mailing list. In using this address for years, this is the first time I can recall getting spam at it. > > Generally when I get spam to a temporary address it means one of three things: > > 1. The address is published somewhere > 2. Someone has been giving my email address to stupid things like eCards (thanks, Sis!) > 3. Someone's box has been compromised (thanks again, Sis!) > Cheers, > Ovid > -- > Buy the book - http://www.oreilly.com/catalog/perlhks/ > Tech blog - http://use.perl.org/~Ovid/journal/ > Twitter - http://twitter.com/OvidPerl > Official Perl 6 Wiki - http://www.perlfoundation.org/perl6 > > > ----- Forwarded Message ---- > *From:* The Citizens Bank > *To:* publiustemp-pdxpm at yahoo.com > *Sent:* Thursday, 26 March, 2009 11:23:44 > *Subject:* You have 1 New Notification! > > Dear Customer, > > You have 1 New Notification! > > To Login, please click the link below: > > http://www.thecitizenslbank.com/signon/ > > Copyright 2009 The Citizens Bank. All rights reserved. > ------------------------------------------------------------------------ > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list at pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list -------------- next part -------------- An HTML attachment was scrubbed... URL: From peterson146 at gmail.com Thu Mar 26 14:03:13 2009 From: peterson146 at gmail.com (Scott Peterson) Date: Thu, 26 Mar 2009 14:03:13 -0700 Subject: [Pdx-pm] Job posting of possible interest Message-ID: <40c0f25e0903261403m1f014335ka8e82f337f6fc6a1@mail.gmail.com> I am a long-time lurker, first time poster...go easy on me please:) I noticed a job posting that might be of interest to the forum that I have pasted below. I just thought it was interesting in terms of the combination of Oracle and Perl requirements; I hadn't seen that although I hadn't looked at this combination. I'm not interested in moving to CT. Cheers, Scott *Oracle* Apps GL Developer with Perl exp Skills: GL, AP, AR and Perl Must Date: 3-26-2009 Description: I need an *Oracle* GL & Perl Developer for my direct client in Norwalk, CT. The project is 6-12 months and starts April 16, 2009. Ideally, I need a Sr *Oracle* *Financials* Developer with heavy Perl Development skills. The resource will be familiar with *Oracle* GL, AP, AR (v11.5.10), and Perl as well as Reports, Interfaces, Conversions, Workflows development skills are preferred. Additionally, Perl experience is a must. Please send profiles to sree at ittegra.com Sreenivas Attaluri Ittegra IN Phone: (732) 593-8147 Web: http://www.ittegra.com -- Scott http://redcloudresearch.blogspot.com http://wasatchecon.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Fri Mar 27 07:07:46 2009 From: enobacon at gmail.com (The Dread Parrot) Date: Fri, 27 Mar 2009 07:07:46 -0700 Subject: [Pdx-pm] Open Source Bridge Conference -- early bird discount and CFP Message-ID: <200903270707.46901.enobacon@gmail.com> Hi all, The early-bird registration deadline (March 31st) is fast approaching. User group members can get an extra $25 off of the early-bird rate by using the discount code ?osb4228?. This will be an awesome 3-day conference at even $250, but you get it for $150! The Call for Proposals is still open. Many of you have something interesting to talk about, so do it. More info below. --Eric -------- Open Source Bridge http://opensourcebridge.org Open Source Bridge is a new conference for developers working with open source technologies. It will take place June 17-19 in Portland, OR, with five tracks connecting people across projects, languages and experience to explore how we do our work and why we participate in open source. The conference structure is designed to provide developers with an opportunity to learn from people they might not connect with at other events. Open Source Bridge is run entirely by volunteers who believe in the need for an open source conference that focuses on the culture of being an open source citizen, regardless of where in the stack you choose to code. All proceeds from conference registration and sponsorship go directly to the costs of the conference. Our sessions and events will share in-depth knowledge about using, creating and contributing to open source as citizens of a greater community. You?ll find relevant information whether you write web apps for the cloud, tinker with operating system internals, create hardware, run a startup, or blog about technology. We?re still seeking session proposals, so submit yours by the end of March 31st. Some examples of our proposals so far: Brian Aker on Drizzle, a reboot of MySQL designed ?for the cloud?; Linux Kernel hacker Greg K-H about how Linux manages development; Ward Cunningham, inventor of the wiki, about what?s next in collaboration; Amber Case, an anthropologist living in both the physical and virtual worlds, about Cyborg Citizenship. (You can view all current proposals at http://opensourcebridge.org/proposals/) In addition to regular conference sessions, we will hold an unconference day for free-form sessions, and host a 24-hour dedicated ?hacker lounge? at the top of the Portland Hilton. In addition to hosting the hacker lounge, the Hilton has offered Open Source Bridge attendees steeply discounted room rates, starting at $139/night. The city of Portland is a great place to visit. It has a thriving technical community, a love of all things open source and offers many attractions for visiting geeks, including Powell?s technical books, dozens of local brewpubs, and large greenspaces like Forest Park?all accessible by mass transit. Visit http://opensourcebridge.org/ to learn more about the conference, see our session proposals, and register to attend. -- http://pdx.pm.org From jshirley at gmail.com Fri Mar 27 08:40:08 2009 From: jshirley at gmail.com (J. Shirley) Date: Fri, 27 Mar 2009 08:40:08 -0700 Subject: [Pdx-pm] Open Source Bridge Conference -- early bird discount and CFP In-Reply-To: <200903270707.46901.enobacon@gmail.com> References: <200903270707.46901.enobacon@gmail.com> Message-ID: <756703690903270840y38de6ddbyb4de3123ee68edd0@mail.gmail.com> On Fri, Mar 27, 2009 at 7:07 AM, The Dread Parrot wrote: > Hi all, > > The early-bird registration deadline (March 31st) is fast approaching. > User group members can get an extra $25 off of the early-bird rate by > using the discount code ?osb4228?. This will be an awesome 3-day > conference at even $250, but you get it for $150! > > The Call for Proposals is still open. Many of you have something > interesting to talk about, so do it. > > More info below. > > --Eric > > -------- > Open Source Bridge > http://opensourcebridge.org > > Open Source Bridge is a new conference for developers working with > open source technologies. It will take place June 17-19 in Portland, > OR, with five tracks connecting people across projects, languages and > experience to explore how we do our work and why we participate in > open source. The conference structure is designed to provide > developers with an opportunity to learn from people they might not > connect with at other events. > > Open Source Bridge is run entirely by volunteers who believe in the > need for an open source conference that focuses on the culture of > being an open source citizen, regardless of where in the stack you > choose to code. All proceeds from conference registration and > sponsorship go directly to the costs of the conference. > > Our sessions and events will share in-depth knowledge about using, > creating and contributing to open source as citizens of a greater > community. You?ll find relevant information whether you write web apps > for the cloud, tinker with operating system internals, create > hardware, run a startup, or blog about technology. > > We?re still seeking session proposals, so submit yours by the end of > March 31st. > > Some examples of our proposals so far: Brian Aker on Drizzle, a reboot > of MySQL designed ?for the cloud?; Linux Kernel hacker Greg K-H about > how Linux manages development; Ward Cunningham, inventor of the wiki, > about what?s next in collaboration; Amber Case, an anthropologist > living in both the physical and virtual worlds, about Cyborg > Citizenship. (You can view all current proposals at > http://opensourcebridge.org/proposals/) > > In addition to regular conference sessions, we will hold an > unconference day for free-form sessions, and host a 24-hour dedicated > ?hacker lounge? at the top of the Portland Hilton. In addition to > hosting the hacker lounge, the Hilton has offered Open Source Bridge > attendees steeply discounted room rates, starting at $139/night. > > The city of Portland is a great place to visit. It has a thriving > technical community, a love of all things open source and offers many > attractions for visiting geeks, including Powell?s technical books, > dozens of local brewpubs, and large greenspaces like Forest Park?all > accessible by mass transit. > > Visit http://opensourcebridge.org/ to learn more about the conference, > see our session proposals, and register to attend. > > -- > > http://pdx.pm.org > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list (This is just to throw a feeler into the pdx.pm group to see about submitting a talk) What's the opinion of seeing a Catalyst talk up there? I'm happy to submit a talk if there is interest, but I'm a bit hesitant if it is going to be filled with the same Perl folks that attend pdx.pm (or other PM meetings)? I'd like to get it out of the echo chamber and show non-Perl hackers how powerful of a tool it is, but it seems that a lot of these talks (at least at OSCON) end up being filled with Perl People. The option I'm leaning towards is a sort of bait'n'switch: "Using RESTful techniques and YUI". It will just happen to use Catalyst as the medium. Thoughts, opinions? -J -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Fri Mar 27 10:45:10 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Fri, 27 Mar 2009 10:45:10 -0700 Subject: [Pdx-pm] Open Source Bridge Conference -- early bird discount and CFP In-Reply-To: <756703690903270840y38de6ddbyb4de3123ee68edd0@mail.gmail.com> References: <200903270707.46901.enobacon@gmail.com> <756703690903270840y38de6ddbyb4de3123ee68edd0@mail.gmail.com> Message-ID: <200903271045.10829.enobacon@gmail.com> # from J. Shirley # on Friday 27 March 2009: >I'd like to get it out of the echo chamber and show non-Perl hackers > how powerful of a tool it is, but it seems that a lot of these talks > (at least at OSCON) end up being filled with Perl People. > >The option I'm leaning towards is a sort of bait'n'switch: "Using > RESTful techniques and YUI". ?It will just happen to use Catalyst as > the medium. Or a Rails vs Catalyst cage match? But seriously, how much can this group say about whether those outside the group will go? There is a feedback mechanism to the RFPs where users can comment about proposals on the opensourcebridge site. --Eric -- Minimum wage help gives you minimum service. --David Schomer --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From merlyn at stonehenge.com Fri Mar 27 12:13:21 2009 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Fri, 27 Mar 2009 12:13:21 -0700 Subject: [Pdx-pm] Open Source Bridge Conference -- early bird discount and CFP In-Reply-To: <200903271045.10829.enobacon@gmail.com> (Eric Wilhelm's message of "Fri, 27 Mar 2009 10:45:10 -0700") References: <200903270707.46901.enobacon@gmail.com> <756703690903270840y38de6ddbyb4de3123ee68edd0@mail.gmail.com> <200903271045.10829.enobacon@gmail.com> Message-ID: <86r60i4w4u.fsf@blue.stonehenge.com> >>>>> "Eric" == Eric Wilhelm writes: Eric> Or a Rails vs Catalyst cage match? vs Seaside... :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion From kellert at ohsu.edu Fri Mar 27 13:53:10 2009 From: kellert at ohsu.edu (Thomas Keller) Date: Fri, 27 Mar 2009 13:53:10 -0700 Subject: [Pdx-pm] perl5.10.0/bytes.pm bug? Message-ID: Greetings, Would one of you gurus take a look at this? $ fink list bioperl Illegal character in prototype for bytes::length : _ at /opt/local/lib/ perl5/5.10.0/bytes.pm line 22. Illegal character in prototype for bytes::chr : _ at /opt/local/lib/ perl5/5.10.0/bytes.pm line 23. Illegal character in prototype for bytes::ord : _ at /opt/local/lib/ perl5/5.10.0/bytes.pm line 24. Information about 2519 packages read in 0 seconds. i bioperl-pm586 1.5.1-2 Perl module for biology I changed: sub length (_); sub chr (_); sub ord (_); to: sub length (); sub chr (); sub ord (); and the warning goes away. Is this worth pursuing in the source code? thanks, Tom Thomas J Keller, PhD MMI Shared Resource Facility Oregon Health & Science University Portland, OR 97239 503-494-2442 kellert at ohsu.edu -------------- next part -------------- An HTML attachment was scrubbed... URL: From chromatic at wgz.org Fri Mar 27 14:17:13 2009 From: chromatic at wgz.org (chromatic) Date: Fri, 27 Mar 2009 14:17:13 -0700 Subject: [Pdx-pm] perl5.10.0/bytes.pm bug? In-Reply-To: References: Message-ID: <200903271417.13296.chromatic@wgz.org> On Friday 27 March 2009 13:53:10 Thomas Keller wrote: > Would one of you gurus take a look at this? > $ fink list bioperl > Illegal character in prototype for bytes::length : _ at /opt/local/lib/ > perl5/5.10.0/bytes.pm line 22. > Illegal character in prototype for bytes::chr : _ at /opt/local/lib/ > perl5/5.10.0/bytes.pm line 23. > Illegal character in prototype for bytes::ord : _ at /opt/local/lib/ > perl5/5.10.0/bytes.pm line 24. > Information about 2519 packages read in 0 seconds. > i bioperl-pm586 1.5.1-2 Perl > module for biology > > I changed: > sub length (_); > sub chr (_); > sub ord (_); > > to: > sub length (); > sub chr (); > sub ord (); > > and the warning goes away. Is this worth pursuing in the source code? Are you *sure* that perl -v shows that you're using Perl 5.10? The _ prototype is new in this version; it means that the function takes a scalar argument but defaults to $_ if you don't supply one. Think of how chomp() behaves, and you'll get it. If I had to guess, I'd say that something added Perl 5.10 paths to a Perl 5.8 @INC. -- c From hdp.perl.pm.pdx at weftsoar.net Fri Mar 27 14:17:54 2009 From: hdp.perl.pm.pdx at weftsoar.net (Hans Dieter Pearcey) Date: Fri, 27 Mar 2009 17:17:54 -0400 Subject: [Pdx-pm] perl5.10.0/bytes.pm bug? In-Reply-To: References: Message-ID: <20090327211754.GA3018@glaive.weftsoar.net> On Fri, Mar 27, 2009 at 01:53:10PM -0700, Thomas Keller wrote: > I changed: > sub length (_); > sub chr (_); > sub ord (_); > > to: > sub length (); > sub chr (); > sub ord (); > > and the warning goes away. Is this worth pursuing in the source code? It sounds like something is mis-set in your environment and perl 5.8 is accidentally trying to load perl 5.10's libraries; '_' was added to sub prototypes in 5.10. hdp. From kellert at ohsu.edu Fri Mar 27 14:31:45 2009 From: kellert at ohsu.edu (Thomas Keller) Date: Fri, 27 Mar 2009 14:31:45 -0700 Subject: [Pdx-pm] perl5.10.0/bytes.pm bug? In-Reply-To: <20090327211754.GA3018@glaive.weftsoar.net> References: <20090327211754.GA3018@glaive.weftsoar.net> Message-ID: Yup. Thanks. TjK On Mar 27, 2009, at 2:17 PM, Hans Dieter Pearcey wrote: > On Fri, Mar 27, 2009 at 01:53:10PM -0700, Thomas Keller wrote: >> I changed: >> sub length (_); >> sub chr (_); >> sub ord (_); >> >> to: >> sub length (); >> sub chr (); >> sub ord (); >> >> and the warning goes away. Is this worth pursuing in the source code? > > It sounds like something is mis-set in your environment and perl 5.8 > is > accidentally trying to load perl 5.10's libraries; '_' was added to > sub > prototypes in 5.10. > > hdp. > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From enobacon at gmail.com Tue Mar 31 22:45:26 2009 From: enobacon at gmail.com (Eric Wilhelm) Date: Tue, 31 Mar 2009 22:45:26 -0700 Subject: [Pdx-pm] GSoC - students wanted Message-ID: <200903312245.26079.enobacon@gmail.com> Hi all, Just a reminder that deadlines are approaching very quickly. If you have some time in the next few days to help bring students into Google's Summer of Code for The Perl Foundation, please step up. http://www.perlfoundation.org/perl5/index.cgi?gsoc You (yes, you (really, *you*)) can make a difference, but you have to act now. If you're eager to help and don't know what to do, don't be afraid to ask for suggestions. Try the buddy system? Thanks, Eric -- "You can't win. You can't break even. You can't quit." --Ginsberg's Restatement of the Three Laws of Thermodynamics --------------------------------------------------- http://scratchcomputing.com ---------------------------------------------------