From blm at woodheap.org Thu Mar 2 17:16:17 2006 From: blm at woodheap.org (Ben Marsh) Date: Fri, 3 Mar 2006 11:16:17 +1000 Subject: [Melbourne-pm] Comments sought on my latest CPAN upload Message-ID: <20060303011617.GA7134@amygdala.woodheap.org> Hello, I have recently uploaded App::GUI::Notepad to CPAN. It is basically a very simple text editor written in Perl. It is however only the tip of the iceburg with relation to my planned spare time open source projects. I would really appreciate it if people could download it and give it a spin on the various platforms that they run Perl on. Also it would be great if people could look at the code and offer peer review comments. http://search.cpan.org/~blm/App-GUI-Notepad-0.03/lib/App/GUI/Notepad.pm Thanks, Ben Marsh From jarich at perltraining.com.au Thu Mar 2 18:51:24 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Fri, 03 Mar 2006 13:51:24 +1100 Subject: [Melbourne-pm] Meeting next week - 8th March Message-ID: <4407AF2C.8070307@perltraining.com.au> G'day everyone, This is an unofficial reminder that there's a meeting on next week, to which I'd like to invite you. I'm going to fabricate the talk topics, and hope that any important corrections get announced soon. Date: Wednesday 8th March Time: 6:30pm Location: (Usual place): myinternet House, Level 8, 14 Blackwood Street, North Melbourne The meeting should go for about 1:45, so we can reasonably expect to reach the pub for dinner and drinks at about 8:30pm. For those who've never joined us on a trip to the pub, it's a great time to socialise, talk more about the talk topics, network and generally have a good time. The food's pretty good too. Agenda: Plans for this year's OSDC - Scott Penrose Perlmeme/introductory Perl - ?? tidyview - Leif Eriksen Catalyst and mod_perl - Scott Penrose Tidyview is a small tool for supporting the use of Damian Conway's Perl Best Practices through perltidy and Adam Kennedy's PPI. If you have a talk topic you'd like to give, please send it through to the list, we're always interested in more talks. If you know someone who might be interested in any of these topics try to bring them along. In fact, try to bring someone else along anyway, the more the merrier! Your friends, family and work colleagues are all invited! The following regular Perl Monger meeting will be in April on Wednesday April 12. OSDClub ======= OSDClub will be hosted by the Melbourne PHP User Group in April and will be taking place on Thursday April 6. For talk topics and other information please visit: http://www.osdc.com.au/osdclub/index.html -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From scottp at dd.com.au Thu Mar 2 19:10:36 2006 From: scottp at dd.com.au (Scott Penrose) Date: Fri, 3 Mar 2006 14:10:36 +1100 Subject: [Melbourne-pm] Meeting next week - 8th March In-Reply-To: <4407AF2C.8070307@perltraining.com.au> References: <4407AF2C.8070307@perltraining.com.au> Message-ID: <2B75E1CE-958D-4D9C-AE63-D2DCDFD7703B@dd.com.au> Hey guys I am looking for some feedback on what you would like to see on Catalyst and how you would like to see it. For example, I could go down the path of writing some code on the fly, getting some basic feedback and generally teaching on the fly. Alternatively I could do a more dry presentation of how you use a MVC I would love to hear some feedback before I get down to the nitty gritty of actually writing my talk this weekend :-) Scooter -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060303/2b79fa3f/PGP.bin From blm at woodheap.org Thu Mar 2 19:17:20 2006 From: blm at woodheap.org (Ben Marsh) Date: Fri, 3 Mar 2006 13:17:20 +1000 Subject: [Melbourne-pm] Meeting next week - 8th March In-Reply-To: <2B75E1CE-958D-4D9C-AE63-D2DCDFD7703B@dd.com.au> References: <4407AF2C.8070307@perltraining.com.au> <2B75E1CE-958D-4D9C-AE63-D2DCDFD7703B@dd.com.au> Message-ID: <20060303031720.GC7134@amygdala.woodheap.org> * Scott Penrose (scottp at dd.com.au) wrote: > Hey guys > > I am looking for some feedback on what you would like to see > on Catalyst and how you would like to see it. > > For example, I could go down the path of writing some code on the > fly, getting some basic feedback and generally teaching on the fly. > Alternatively I could do a more dry presentation of how you use a MVC > > I would love to hear some feedback before I get down to the nitty > gritty of actually writing my talk this weekend :-) > > Scooter I would like to hear more about the MVC paradigm and stuff on Catalyst and mod_perl. So I guess that makes my vote all of the above. Got enough time and energy? ;-) Ben Marsh From david at redemu.com Fri Mar 3 14:29:59 2006 From: david at redemu.com (David O'Brien) Date: Sat, 04 Mar 2006 09:29:59 +1100 Subject: [Melbourne-pm] Meeting next week - 8th March In-Reply-To: <2B75E1CE-958D-4D9C-AE63-D2DCDFD7703B@dd.com.au> References: <4407AF2C.8070307@perltraining.com.au> <2B75E1CE-958D-4D9C-AE63-D2DCDFD7703B@dd.com.au> Message-ID: <4408C367.8050908@redemu.com> An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060303/a63f0478/attachment.html From jarich at perltraining.com.au Sun Mar 5 21:12:04 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 06 Mar 2006 16:12:04 +1100 Subject: [Melbourne-pm] Meeting Wednesday - 8th March Message-ID: <440BC4A4.4050305@perltraining.com.au> G'day everyone, Just another reminder that there's a meeting this week on Wednesday. Date: Wednesday 8th March Time: 6:30pm Location: (Usual place): myinternet House, Level 8, 14 Blackwood Street, North Melbourne Agenda: Plans for this year's OSDC - Scott Penrose Perlmeme/introductory Perl - ?? tidyview - Leif Eriksen Catalyst and mod_perl - Scott Penrose Bring your friends, family and work mates along, and consider sticking around for dinner after the talks are over. The following Perl Monger meeting will be on Wednesday April 12. OSDClub ======= OSDClub will be hosted by the Melbourne PHP User Group in April and will be taking place on Thursday, April 6. For talk topics and other information please visit: http://www.osdc.com.au/osdclub/index.html -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From daniel at rimspace.net Sun Mar 5 21:22:29 2006 From: daniel at rimspace.net (Daniel Pittman) Date: Mon, 06 Mar 2006 16:22:29 +1100 Subject: [Melbourne-pm] Meeting Wednesday - 8th March In-Reply-To: <440BC4A4.4050305@perltraining.com.au> (Jacinta Richardson's message of "Mon, 06 Mar 2006 16:12:04 +1100") References: <440BC4A4.4050305@perltraining.com.au> Message-ID: <87ek1gjgfe.fsf@rimspace.net> Jacinta Richardson writes: > Just another reminder that there's a meeting this week on Wednesday. > > Date: Wednesday 8th March [...] > The following Perl Monger meeting will be on Wednesday April 12. Since the 12th is a Sunday, I presume this was missed in the announcement. :) Daniel From jarich at perltraining.com.au Sun Mar 5 21:27:18 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 06 Mar 2006 16:27:18 +1100 Subject: [Melbourne-pm] Meeting Wednesday - 8th March In-Reply-To: <87ek1gjgfe.fsf@rimspace.net> References: <440BC4A4.4050305@perltraining.com.au> <87ek1gjgfe.fsf@rimspace.net> Message-ID: <440BC836.5090002@perltraining.com.au> Daniel Pittman wrote: >>The following Perl Monger meeting will be on Wednesday April 12. > > Since the 12th is a Sunday, I presume this was missed in the > announcement. :) The meeting after this meeting which is happening on Wednesday March 8, will be on Wednesday April 12. March 12 is indeed a Sunday, but is hopefully irrelevant in this particular case. ;) All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From jarich at perltraining.com.au Sun Mar 5 21:50:52 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 06 Mar 2006 16:50:52 +1100 Subject: [Melbourne-pm] Object Oriented Perl and Database Programming with Perl courses Message-ID: <440BCDBC.5060905@perltraining.com.au> G'day everyone, There's still time to book on our Object Oriented Perl (28th - 29th March) and Database Programming with Perl (30th - 31st March) training courses. If you'd like to improve your skills in either of these two areas, please join us. Melbourne Perl Mongers also get a discount of 5% on all full-price general enrolment course bookings. Course Date -------------------------------------------------------- Object Oriented Perl 28th - 29th March 2006 Databases and Perl 30th - 31st March 2006 Book on both courses to take advantage of our Bundle and Save special of a 25% discount on the second course. This gives a total saving of $330! To book on these courses visit http://perltraining.com.au/bookings/Melbourne.html Please don't hesitate to contact me for further information. All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From pjf at perltraining.com.au Wed Mar 8 03:32:17 2006 From: pjf at perltraining.com.au (Paul Fenwick) Date: Wed, 08 Mar 2006 22:32:17 +1100 Subject: [Melbourne-pm] Meeting notes on PerlNet Message-ID: <440EC0C1.1090304@perltraining.com.au> G'day everyone, Some of you may have also noticed me busily typing away near the front during today's MPM meeting. You can see the result of that typing at: http://perl.net.au/wiki/Melbourne_Perl_Mongers/8th_March_2006 The notes are very rough around the edges, and if you hit the 'edit' button you'll see a number of my comments and thoughts for expansion. Please, feel free to edit this page. Add more information. Expand examples. Fix my awful spelling and grammar. You don't even need a PerlNet account to make changes, just start editing. Apologies that I had to dash away so quickly. I hope that you all had a great time at the pub. Cheerio, Paul -- Paul Fenwick | http://perltraining.com.au/ Director of Training | Ph: +61 3 9354 6001 Perl Training Australia | Fax: +61 3 9354 2681 From mathew.robertson at netratings.com.au Wed Mar 8 15:13:55 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 09 Mar 2006 10:13:55 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <440EC0C1.1090304@perltraining.com.au> References: <440EC0C1.1090304@perltraining.com.au> Message-ID: <440F6533.9040601@netratings.com.au> Hi folks, I use a CPAN module called HTML::Template, which is used as a web-page templating engine (in a similar vein to Template-Toolkit). I have made some changes to increase its functionality - which amounts to about 20% of the code (ie: not a small patch). I have suggested that some of these changes be added to the real module, but the developer isn't interested. Since I dont really want to do a complete fork of the code, as the existing community is quite lively... The question is, is there a way to release a modified version into CPAN? thanks Mathew From scottp at dd.com.au Wed Mar 8 17:03:30 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 9 Mar 2006 12:03:30 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <440F6533.9040601@netratings.com.au> References: <440EC0C1.1090304@perltraining.com.au> <440F6533.9040601@netratings.com.au> Message-ID: <6DF5AA47-9734-4CC1-8998-D02511DC9421@dd.com.au> On 09/03/2006, at 10:13, Mathew Robertson wrote: > Hi folks, > > I use a CPAN module called HTML::Template, which is used as a web-page > templating engine (in a similar vein to Template-Toolkit). > > I have made some changes to increase its functionality - which amounts > to about 20% of the code (ie: not a small patch). I have suggested > that > some of these changes be added to the real module, but the developer > isn't interested. > > Since I dont really want to do a complete fork of the code, as the > existing community is quite lively... The question is, is there a way > to release a modified version into CPAN? No not really, and that would not be fair either - you can't have two bosses of one bit of code. But you have already touched on the answer - fork it and release as a new module. eg: HTML::TemplateX Or maybe HTML::Template::Extended Once you do that - and that is fair and safe - you can then encourage the use of your changes. If the changes are good and acceptable, then people will use that module instead - eventually it will become the standard, and probably even get incorporated or replace the old one. This is not unprecedented - quite common actually :-) Scott -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Open source developer http://linux.dd.com.au/ scottp at dd.com.au Dismaimer: Open sauce usually ends up never coming out (of the bottle). Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/1ed6d1f7/PGP.bin From mathew.robertson at netratings.com.au Wed Mar 8 17:32:27 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 09 Mar 2006 12:32:27 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <6DF5AA47-9734-4CC1-8998-D02511DC9421@dd.com.au> References: <440EC0C1.1090304@perltraining.com.au> <440F6533.9040601@netratings.com.au> <6DF5AA47-9734-4CC1-8998-D02511DC9421@dd.com.au> Message-ID: <440F85AB.2000005@netratings.com.au> hmm... I was hoping there was something more akin to a 'developer tree' which would allow updates to a package, but not be part of an "official" package. Scott Penrose wrote: > > On 09/03/2006, at 10:13, Mathew Robertson wrote: > >> Hi folks, >> >> I use a CPAN module called HTML::Template, which is used as a web-page >> templating engine (in a similar vein to Template-Toolkit). >> >> I have made some changes to increase its functionality - which amounts >> to about 20% of the code (ie: not a small patch). I have suggested that >> some of these changes be added to the real module, but the developer >> isn't interested. >> >> Since I dont really want to do a complete fork of the code, as the >> existing community is quite lively... The question is, is there a way >> to release a modified version into CPAN? > > No not really, and that would not be fair either - you can't have two > bosses of one bit of code. > > But you have already touched on the answer - fork it and release as a > new module. > > eg: > > HTML::TemplateX > > Or maybe > > HTML::Template::Extended > > Once you do that - and that is fair and safe - you can then encourage > the use of your changes. If the changes are good and acceptable, then > people will use that module instead - eventually it will become the > standard, and probably even get incorporated or replace the old one. > > This is not unprecedented - quite common actually :-) > > Scott > --* - * http://www.osdc.com.au - Open Source Developers Conference * - * > Scott Penrose > Open source developer > http://linux.dd.com.au/ > scottp at dd.com.au > > Dismaimer: Open sauce usually ends up never coming out (of the bottle). > > Please do not send me Word or PowerPoint attachments. > See http://www.gnu.org/philosophy/no-word-attachments.html > > Microsoft is not the answer. It's the question. And the answer is no. > > From scottp at dd.com.au Wed Mar 8 17:40:51 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 9 Mar 2006 12:40:51 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <440F85AB.2000005@netratings.com.au> References: <440EC0C1.1090304@perltraining.com.au> <440F6533.9040601@netratings.com.au> <6DF5AA47-9734-4CC1-8998-D02511DC9421@dd.com.au> <440F85AB.2000005@netratings.com.au> Message-ID: On 09/03/2006, at 12:32, Mathew Robertson wrote: > hmm... I was hoping there was something more akin to a 'developer > tree' > which would allow updates to a package, but not be part of an > "official" package. Not entirely sure what you mean here? Probably something to remember is that CPAN is a snapshot - not a development site. ie: it is not Sourceforge but rather just a mirror and packaging system of static objects - a snapshot. Either way though I am not sure what you mean by a "developer tree" and not "official" Of course you could do something along the lines of: a module which patches the other module - maybe. Not something I have seen before but it could be done. Scooter -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/dbe371ed/PGP.bin From leif.eriksen at hpa.com.au Wed Mar 8 17:47:07 2006 From: leif.eriksen at hpa.com.au (leif.eriksen@hpa.com.au) Date: Thu, 9 Mar 2006 12:47:07 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: The decision to create a new namespace has already been made for you by the H::T developer - he doesn't want your extra features in his namespace, so you need another. Did he give a reason - I suspect he felt the new features didn't fit with his idea of what H::T should do. The doco and design seem to indicate they have refined H::T to be exactly what they want. L -----Original Message----- From: mathew.robertson at netratings.com.au [mailto:mathew.robertson at netratings.com.au] Sent: Thursday, 9 March 2006 12:32 PM To: melbourne-pm at pm.org Subject: Re: [Melbourne-pm] CPAN module hmm... I was hoping there was something more akin to a 'developer tree' which would allow updates to a package, but not be part of an "official" package. Scott Penrose wrote: > > On 09/03/2006, at 10:13, Mathew Robertson wrote: > >> Hi folks, >> >> I use a CPAN module called HTML::Template, which is used as a web-page >> templating engine (in a similar vein to Template-Toolkit). >> >> I have made some changes to increase its functionality - which amounts >> to about 20% of the code (ie: not a small patch). I have suggested that >> some of these changes be added to the real module, but the developer >> isn't interested. >> >> Since I dont really want to do a complete fork of the code, as the >> existing community is quite lively... The question is, is there a way >> to release a modified version into CPAN? > > No not really, and that would not be fair either - you can't have two > bosses of one bit of code. > > But you have already touched on the answer - fork it and release as a > new module. > > eg: > > HTML::TemplateX > > Or maybe > > HTML::Template::Extended > > Once you do that - and that is fair and safe - you can then encourage > the use of your changes. If the changes are good and acceptable, then > people will use that module instead - eventually it will become the > standard, and probably even get incorporated or replace the old one. > > This is not unprecedented - quite common actually :-) > > Scott > --* - * http://www.osdc.com.au - Open Source Developers Conference * - * > Scott Penrose > Open source developer > http://linux.dd.com.au/ > scottp at dd.com.au > > Dismaimer: Open sauce usually ends up never coming out (of the bottle). > > Please do not send me Word or PowerPoint attachments. > See http://www.gnu.org/philosophy/no-word-attachments.html > > Microsoft is not the answer. It's the question. And the answer is no. > > _______________________________________________ Melbourne-pm mailing list Melbourne-pm at pm.org http://mail.pm.org/mailman/listinfo/melbourne-pm ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** From zensunni at bur.st Wed Mar 8 18:06:22 2006 From: zensunni at bur.st (Matthew Robinson) Date: Thu, 9 Mar 2006 10:06:22 +0800 (WST) Subject: [Melbourne-pm] CPAN module In-Reply-To: References: Message-ID: On Thu, 9 Mar 2006 leif.eriksen at hpa.com.au wrote: > The decision to create a new namespace has already been made for you by > the H::T developer - he doesn't want your extra features in his > namespace, so you need another. > > Did he give a reason - I suspect he felt the new features didn't fit > with his idea of what H::T should do. The doco and design seem to > indicate they have refined H::T to be exactly what they want. In the past I have suggested changes, including patches, to the HTML::Template module and had them rejected. However, don't be surprised if some of your suggestions turn up in a future version of H::T as this happened to me. I don't have a problem with this as I got the features I wanted but it depends on how "precious" you are about your ideas. Matt From mathew.robertson at netratings.com.au Wed Mar 8 19:43:52 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 09 Mar 2006 14:43:52 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: References: Message-ID: <440FA478.9070605@netratings.com.au> yes - I have submitted actual bug-fixes and test cases (I know of a couple of specific bugs), but they were rejected. I'm not particularly precious about any of my code - but I do use nearly every extension in my own code, so not having them in the mainline code simply means that I need to maintain a branch. Mathew Matthew Robinson wrote: > On Thu, 9 Mar 2006 leif.eriksen at hpa.com.au wrote: > > >> The decision to create a new namespace has already been made for you by >> the H::T developer - he doesn't want your extra features in his >> namespace, so you need another. >> >> Did he give a reason - I suspect he felt the new features didn't fit >> with his idea of what H::T should do. The doco and design seem to >> indicate they have refined H::T to be exactly what they want. >> > > In the past I have suggested changes, including patches, to the > HTML::Template module and had them rejected. However, don't be surprised > if some of your suggestions turn up in a future version of H::T as this > happened to me. I don't have a problem with this as I got the features I > wanted but it depends on how "precious" you are about your ideas. > > Matt > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/42e5d0de/attachment.html From mathew.robertson at netratings.com.au Wed Mar 8 20:00:22 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 09 Mar 2006 15:00:22 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: References: Message-ID: <440FA856.9030700@netratings.com.au> Correct - and he has every right to make his own decisions. That said, if I take a leaf from Linux kernel development or the Gentoo package tree, I can easily overlay a snapshot branch of any package I like, simply by setting an environmental variable. The point being that I can happily release my own version of H::T without breaking anyone else's version. And I can do this without forking the namespace. Having looked at CPAN module install semantics, I was under the impression that it was possible for two independent people to upload their modules. Then using the cpan shell, a user could fetch a specific developer's version of a package, as in: cpan> install M/MA/Mathew/HTML-Template-2.8_01.tar.gz thoughts? Mathew leif.eriksen at hpa.com.au wrote: > The decision to create a new namespace has already been made for you by > the H::T developer - he doesn't want your extra features in his > namespace, so you need another. > > Did he give a reason - I suspect he felt the new features didn't fit > with his idea of what H::T should do. The doco and design seem to > indicate they have refined H::T to be exactly what they want. > > L > > -----Original Message----- > From: mathew.robertson at netratings.com.au > [mailto:mathew.robertson at netratings.com.au] > Sent: Thursday, 9 March 2006 12:32 PM > To: melbourne-pm at pm.org > Subject: Re: [Melbourne-pm] CPAN module > > hmm... I was hoping there was something more akin to a 'developer tree' > which would allow updates to a package, but not be part of an > "official" package. > > Scott Penrose wrote: > >> On 09/03/2006, at 10:13, Mathew Robertson wrote: >> >> >>> Hi folks, >>> >>> I use a CPAN module called HTML::Template, which is used as a >>> > web-page > >>> templating engine (in a similar vein to Template-Toolkit). >>> >>> I have made some changes to increase its functionality - which >>> > amounts > >>> to about 20% of the code (ie: not a small patch). I have suggested >>> > that > >>> some of these changes be added to the real module, but the developer >>> isn't interested. >>> >>> Since I dont really want to do a complete fork of the code, as the >>> existing community is quite lively... The question is, is there a >>> > way > >>> to release a modified version into CPAN? >>> >> No not really, and that would not be fair either - you can't have two >> bosses of one bit of code. >> >> But you have already touched on the answer - fork it and release as a >> new module. >> >> eg: >> >> HTML::TemplateX >> >> Or maybe >> >> HTML::Template::Extended >> >> Once you do that - and that is fair and safe - you can then encourage >> the use of your changes. If the changes are good and acceptable, then >> people will use that module instead - eventually it will become the >> standard, and probably even get incorporated or replace the old one. >> >> This is not unprecedented - quite common actually :-) >> >> Scott >> --* - * http://www.osdc.com.au - Open Source Developers Conference * >> > - * > >> Scott Penrose >> Open source developer >> http://linux.dd.com.au/ >> scottp at dd.com.au >> >> Dismaimer: Open sauce usually ends up never coming out (of the >> > bottle). > >> Please do not send me Word or PowerPoint attachments. >> See http://www.gnu.org/philosophy/no-word-attachments.html >> >> Microsoft is not the answer. It's the question. And the answer is no. >> >> >> > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > ********************************************************************** > IMPORTANT > The contents of this e-mail and its attachments are confidential and intended > solely for the use of the individual or entity to whom they are addressed. If > you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, > then delete the e-mail. > This footnote also confirms that this e-mail message has been swept for the > presence of computer viruses by Ironport. Before opening or using any > attachments, check them for viruses and defects. > Our liability is limited to resupplying any affected attachments. > HPA collects personal information to provide and market our services. For more > information about use, disclosure and access see our Privacy Policy at > www.hpa.com.au > ********************************************************************** > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/d9cce5b6/attachment-0001.html From mathew.robertson at netratings.com.au Wed Mar 8 20:04:20 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 09 Mar 2006 15:04:20 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: References: <440EC0C1.1090304@perltraining.com.au> <440F6533.9040601@netratings.com.au> <6DF5AA47-9734-4CC1-8998-D02511DC9421@dd.com.au> <440F85AB.2000005@netratings.com.au> Message-ID: <440FA944.9080506@netratings.com.au> >> hmm... I was hoping there was something more akin to a 'developer tree' >> which would allow updates to a package, but not be part of an >> "official" package. > > Not entirely sure what you mean here? > > Probably something to remember is that CPAN is a snapshot - not a > development site. ie: it is not Sourceforge but rather just a mirror > and packaging system of static objects - a snapshot. Understood - see my other email on how to install a developer-specific version of a module. > > Either way though I am not sure what you mean by a "developer tree" > and not "official" > > Of course you could do something along the lines of: a module which > patches the other module - maybe. interesting thought.... this just might work. I could build a package called say "Bundle::HTML::Template::Extended", which depended on H::T, plus say H::T::Extended, then Build.pm would effectively 'patch' the production H::T with the overridden Perl modules. > > Not something I have seen before but it could be done. > > Scooter thanks for the idea, Mathew From leif.eriksen at hpa.com.au Wed Mar 8 20:41:03 2006 From: leif.eriksen at hpa.com.au (leif.eriksen@hpa.com.au) Date: Thu, 9 Mar 2006 15:41:03 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: That's a good idea, but I don't know if the powers-that-be at CPAN will allow it. I don't know your code, but do you just add functions, or are you changing functions in H::T ? What I am driving at is you release your extension with "use base qw(HTML::Template);" - so your package is only your extensions, everything else falls back to "default" H::T Can you separate your work cleanly from the default H::T ? L _____ From: mathew.robertson at netratings.com.au [mailto:mathew.robertson at netratings.com.au] Sent: Thursday, 9 March 2006 3:00 PM To: melbourne-pm at pm.org Subject: Re: [Melbourne-pm] CPAN module Correct - and he has every right to make his own decisions. That said, if I take a leaf from Linux kernel development or the Gentoo package tree, I can easily overlay a snapshot branch of any package I like, simply by setting an environmental variable. The point being that I can happily release my own version of H::T without breaking anyone else's version. And I can do this without forking the namespace. Having looked at CPAN module install semantics, I was under the impression that it was possible for two independent people to upload their modules. Then using the cpan shell, a user could fetch a specific developer's version of a package, as in: cpan> install M/MA/Mathew/HTML-Template-2.8_01.tar.gz thoughts? Mathew leif.eriksen at hpa.com.au wrote: The decision to create a new namespace has already been made for you by the H::T developer - he doesn't want your extra features in his namespace, so you need another. Did he give a reason - I suspect he felt the new features didn't fit with his idea of what H::T should do. The doco and design seem to indicate they have refined H::T to be exactly what they want. L -----Original Message----- From: mathew.robertson at netratings.com.au [ mailto:mathew.robertson at netratings.com.au ] Sent: Thursday, 9 March 2006 12:32 PM To: melbourne-pm at pm.org Subject: Re: [Melbourne-pm] CPAN module hmm... I was hoping there was something more akin to a 'developer tree' which would allow updates to a package, but not be part of an "official" package. Scott Penrose wrote: On 09/03/2006, at 10:13, Mathew Robertson wrote: Hi folks, I use a CPAN module called HTML::Template, which is used as a web-page templating engine (in a similar vein to Template-Toolkit). I have made some changes to increase its functionality - which amounts to about 20% of the code (ie: not a small patch). I have suggested that some of these changes be added to the real module, but the developer isn't interested. Since I dont really want to do a complete fork of the code, as the existing community is quite lively... The question is, is there a way to release a modified version into CPAN? No not really, and that would not be fair either - you can't have two bosses of one bit of code. But you have already touched on the answer - fork it and release as a new module. eg: HTML::TemplateX Or maybe HTML::Template::Extended Once you do that - and that is fair and safe - you can then encourage the use of your changes. If the changes are good and acceptable, then people will use that module instead - eventually it will become the standard, and probably even get incorporated or replace the old one. This is not unprecedented - quite common actually :-) Scott --* - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Open source developer http://linux.dd.com.au/ scottp at dd.com.au Dismaimer: Open sauce usually ends up never coming out (of the bottle). Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. _______________________________________________ Melbourne-pm mailing list Melbourne-pm at pm.org http://mail.pm.org/mailman/listinfo/melbourne-pm ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au , then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/0841a61a/attachment-0001.html From scottp at dd.com.au Wed Mar 8 22:55:06 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 09 Mar 2006 17:55:06 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: <20060309065508.3178117DE3@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/4be5a537/attachment.pl From scottp at dd.com.au Wed Mar 8 22:57:40 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 09 Mar 2006 17:57:40 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: <20060309065741.20BCA17E87@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/21ae2de8/attachment.pl From scottp at dd.com.au Wed Mar 8 23:46:35 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 09 Mar 2006 18:46:35 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/82a732d2/attachment.pl From geoff.crompton at strategicdata.com.au Wed Mar 8 23:51:45 2006 From: geoff.crompton at strategicdata.com.au (Geoff Crompton) Date: Thu, 09 Mar 2006 18:51:45 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> Message-ID: <440FDE91.3010408@strategicdata.com.au> Scott Penrose wrote: > Just thought of yet another better way of explainig it. > > In Debian - which is a package management system like CPAN, your package depends on another package, maybe with a minimum version number, but as a package name. > > You can write your own packages, download them manually, and manually install them - but there is no way for the package management system to do that - it is always going to install a package by its identifier - in this case name. > > To get around this a special release of a package will often be required - eg: with some special patches, maybe a newer version, maybe just because it had to be built differently (eg: with different threading model). > > In every case - it is given a new name. > > Scott Unless you organise your own repository. In which case, anyone that wants to use it must configure their system to use your repository. (And some other stuff about version numbers and pinning) I guess the CPAN parallel is that you have to run your own CPAN if you wish to keep the same name. -- Geoff Crompton Debian System Administrator Strategic Data +61 3 9340 9000 From scottp at dd.com.au Wed Mar 8 23:58:15 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 09 Mar 2006 18:58:15 +1100 Subject: [Melbourne-pm] CPAN module Message-ID: <20060309075817.381E217E8B@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060309/a21ccec6/attachment.pl From scottp at dd.com.au Thu Mar 9 21:29:08 2006 From: scottp at dd.com.au (Scott Penrose) Date: Fri, 10 Mar 2006 16:29:08 +1100 Subject: [Melbourne-pm] OSDC Annual General Meeting References: <20060306235859.2194317E95@adm4-mta.dd.dd.lms.net.au> Message-ID: <2C16AE27-2286-4F46-AA7F-96C9B0F64435@dd.com.au> Hey guys For your information, the OSDC Annual General Meeting details are below. You are all welcome to come. Scott Begin forwarded message: > From: simon at osdc.com.au > Date: 7 March 2006 10:58:47 GMT+11:00 > To: announce at osdc.com.au > Subject: [OSDC:Australia:Announce] OSDC Annual General Meeting > Reply-To: simon at osdc.com.au > > > The OSDC AGM will be held on Wednesday the 22nd of March at > 6:30pm > > The address is: > > myinternet House > Level 8, 14-20 Blackwood St. > North Melbourne > > Come along and help us make the 2006 Open Source Developers' > Conference a reality. > > Nominations may be made by the 15th of March by email to > ben at osdc.com.au. Your message should include the name of > the person you are nominating, and the position you are > nominating them for. > > The current positions are: > > - President (Committee Chair) > - Vice-President > - Secretary > - Treasurer & Registration > - Sponsorship Manager > - Publicity Officer > - Location Manager & Catering > - Programme Committee Chair > - Keynote Chair > - Paper Chair > - Promotions > > This will be our third year, and we are now in a position to > consolidate the gains of the last two conferences, and put > on our best conference yet. > > We are delighted with the increased international awareness > of the OSDC movement, now that OSDC Israel is underway and > OSDC::Taiwan is planned for April this year. > > Everyone is welcome to the AGM. This is a grass roots effort > and we need all the help we can get. > > Regards, > > Simon Taylor > OSDC > > --- > simon at osdc.com.au > http://www.osdc.com.au/ > > > -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Welcome to the Digital Dimension http://www.dd.com.au/ scottp at dd.com.au Dismaimer: Contents of this mail and signature are bound to change randomly. Whilst every attempt has been made to control said randomness, the author wishes to remain blameless for the number of eggs that damn chicken laid. Oh and I don't want to hear about butterflies either. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060310/4bfb5e74/PGP.bin From mg at sgi.com Fri Mar 10 18:09:55 2006 From: mg at sgi.com (Mike Gigante) Date: Sat, 11 Mar 2006 13:09:55 +1100 Subject: [Melbourne-pm] 12 Month Perl contract Message-ID: <013e01c644b0$e6b1c260$0601a8c0@SGIGORT> SGI has an opportunity for an experienced Perl programmer at its Melbourne-based Australian Software Group. The ASG is comprised of 25+ people in 3 engineering teams and is located in Camberwell. The ASG mostly focusses on filesystems development, including XFS, NFS, Samba and SGI's clustered filesystem CXFS. ASG also does work in peformance monitoring tools, storage management tools and RAS (e.g. kdb, lcrash etc). This particular role is in the area of storage management tools and will be for a 12 month term only. Contractors are invited to apply. You must be a permanent Australian resident to be eligible and either be resident in Melbourne or be willing to relocate to Melbourne. Contact Mark Goodwin or Mike Gigante for further details. From david at naturalpractice.com.au Mon Mar 13 18:18:46 2006 From: david at naturalpractice.com.au (David) Date: Tue, 14 Mar 2006 13:18:46 +1100 Subject: [Melbourne-pm] Contracting Agencies Message-ID: <44162806.8070508@naturalpractice.com.au> Hi All, After about 8 years of gainful employment with the same company, I've decided to spread my wings a little and do come contracting for a while. Does anybody know of a contracting agency in Melbourne that gets decent perl jobs? Regards, Dave -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060314/1df6b71c/attachment.html From scottp at dd.com.au Mon Mar 13 20:37:17 2006 From: scottp at dd.com.au (Scott Penrose) Date: Tue, 14 Mar 2006 15:37:17 +1100 Subject: [Melbourne-pm] Picture Management API Message-ID: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060314/61458384/attachment.pl From mathew.robertson at netratings.com.au Mon Mar 13 20:55:09 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Tue, 14 Mar 2006 15:55:09 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> Message-ID: <44164CAD.7020207@netratings.com.au> [snip] > But I digress - back to the original part of the topic - what API. So back to my other gripe about APIs which is high level APIs - when we are in Windows we can access a User or a Capture Device - these are a single API - people can add a video camera or a scanner or a slide scanner or ... - and I can write a simple script to get a picture that is effectively future proof. > > Another few steps back... I want a Gallery API in Perl - preferrably one we can extend to have multiple backends - so those that think it is necessary to use MySQL to store original data for an album - can do so, while I stick to my directory and file system. > > Anyone know anything close? I want to keep it tiny - any special requests that people would need? > > Hi Scott, What is it that you are asking? Do you want a scanner/camera API for CGI? Mathew From mathew.robertson at netratings.com.au Mon Mar 13 21:28:49 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Tue, 14 Mar 2006 16:28:49 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <20060309042103.GC46507@roughtrade.net> References: <440FA856.9030700@netratings.com.au> <20060309042103.GC46507@roughtrade.net> Message-ID: <44165491.5010708@netratings.com.au> Joshua Goodall wrote: > On Thu, Mar 09, 2006 at 03:00:22PM +1100, Mathew Robertson wrote: > >> cpan> install M/MA/Mathew/HTML-Template-2.8_01.tar.gz >> >> thoughts? >> > > feels a bit wishy-washy to me. if you're gonna fork, fork. > > calling something a "developer version" reduces the potential > interest by 90% > > /k > As opposed to... a reduction of 100% by not making any of the code available? Mathew -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060314/9d06e14f/attachment.html From daniel at rimspace.net Mon Mar 13 21:51:21 2006 From: daniel at rimspace.net (Daniel Pittman) Date: Tue, 14 Mar 2006 16:51:21 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> (Scott Penrose's message of "Tue, 14 Mar 2006 15:37:17 +1100") References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> Message-ID: <87pskpd15y.fsf@rimspace.net> scottp at dd.com.au (Scott Penrose) writes: > For those who were at my Catalyst talk you will know that one of the > reasons I really like Catalyst is that it encourages you to do the right > thing and separate your data from your web application and from your > presentation. > > For this reason, I write APIs (Perl Modules) that have nothing to do > with even the internet or the web or HTML to manage data. > > So I am on my next quest. I have been working with MyPhotoGallery from > Fuzzy Monkey - http://www.fuzzymonkey.org/cgi-bin/newfuzzy/software.cgi [...] > Another few steps back... I want a Gallery API in Perl - preferrably one > we can extend to have multiple backends - so those that think it is > necessary to use MySQL to store original data for an album - can do so, > while I stick to my directory and file system. If you are looking at something designed to manage a collection of pictures, the key features that I would look for are: Integration to Image::ExifTool for managing metadata in the image file, so that it is easy to update metadata on the image in the standard formats for embedding such, and to access that information.[1] Integration between in-image metadata and a "tags" style system, using the IPTC keywords, etc, fields to add tags, and additional out-of-image metadata to maintain relationships between tags. That would allow me to stick the gallery front end that /I/ want on top of your API, where images are thrown into the system and the gallery structure is dynamically created from the tags associated with the images. Using in-image metadata would also make it sane and sensible in the face of multiple editors, including commercial editors such as Photoshop, working on the image -- no more metadata locked away in custom files or databases. I would also be looking for some way to represent image "versions" in the back-end: both "this replaces the previous version" and "this is a scaled to 640x480 version" related to the original image. One other "nice" feature would be the ability to detect duplicate images and store them only once, ideally through something like a hash of the image data without metadata or so. Not really essential, though. Other than that, I can't think of anything too special that I would look for beyond scaling up to handle the two thousand images I have today, and the couple of tens of thousands that I know some other folks have in their collections. Daniel Footnotes: [1] Image::ExifTool is by far the best choice for this, as it covers pretty much every format under the sun, and actually has good and extensible support for vendor specific and other odd tag formats. -- Digital Infrastructure Solutions -- making IT simple, stable and secure Phone: 0401 155 707 email: contact at digital-infrastructure.com.au From gerardaus at gmail.com Mon Mar 13 22:31:27 2006 From: gerardaus at gmail.com (Gerard .) Date: Mon, 13 Mar 2006 22:31:27 -0800 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> Message-ID: <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> I would want it to be just like flickr.com, with some slick AJAX features :) Gerard. On 3/13/06, Scott Penrose wrote: > > Hey guys > > For those who were at my Catalyst talk you will know that one of the > reasons I really like Catalyst is that it encourages you to do the right > thing and separate your data from your web application and from your > presentation. > > For this reason, I write APIs (Perl Modules) that have nothing to do with > even the internet or the web or HTML to manage data. > > So I am on my next quest. I have been working with MyPhotoGallery from > Fuzzy Monkey - http://www.fuzzymonkey.org/cgi-bin/newfuzzy/software.cgi > > It does everything I need - basically - it allows you to create an > arbitrary directory of images - and the interface shows you the directories, > thumb nails, pagenated, watermarked - all the usual graphics stuff without > the crap - just the viewer - and just on images in directories - no > reinventing the wheel, no mysql Database etc. > > Anyway it got me thinking about using this code - it is completely all of > the wrong things - it is bad procedural code, it has lots of non-use-strict > (I know some people like 'use strict is gay'), it has all the HTML mixed up > in the code - and the list goes on. > > I have started using the concepts to write a Catalyst modules - I am > hoping to do it in such a way that the component can be used outright or > modular as part of another system - thus encourage reuse. > > But I digress - back to the original part of the topic - what API. So back > to my other gripe about APIs which is high level APIs - when we are in > Windows we can access a User or a Capture Device - these are a single API - > people can add a video camera or a scanner or a slide scanner or ... - and I > can write a simple script to get a picture that is effectively future proof. > > Another few steps back... I want a Gallery API in Perl - preferrably one > we can extend to have multiple backends - so those that think it is > necessary to use MySQL to store original data for an album - can do so, > while I stick to my directory and file system. > > Anyone know anything close? I want to keep it tiny - any special requests > that people would need? > > Scott > --- > Scott Penrose > Digital Dimensions > scott at dd.com.au > http://www.dd.com.au/ > > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060314/354e66e8/attachment.html From david_dick at iprimus.com.au Tue Mar 14 02:36:40 2006 From: david_dick at iprimus.com.au (David Dick) Date: Tue, 14 Mar 2006 21:36:40 +1100 Subject: [Melbourne-pm] Contracting Agencies In-Reply-To: <44162806.8070508@naturalpractice.com.au> References: <44162806.8070508@naturalpractice.com.au> Message-ID: <44169CB8.8060808@iprimus.com.au> David wrote: > After about 8 years of gainful employment with the same company, I've > decided to spread my wings a little and do come contracting for a while. > Does anybody know of a contracting agency in Melbourne that gets decent > perl jobs? My experience has been that job listing by employers (like on seek.com.au) are the ones to look out for. That way, as a contractor you can deal directly with the employer without having the drag of an agency. Good luck with your contracting career! From scottp at dd.com.au Tue Mar 14 03:57:55 2006 From: scottp at dd.com.au (Scott Penrose) Date: Tue, 14 Mar 2006 22:57:55 +1100 Subject: [Melbourne-pm] catalyst xmlrpc Message-ID: <20060314115756.B6CC217DD0@adm4-mta.dd.dd.lms.net.au> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060314/76c31d3d/attachment.pl From scottp at dd.com.au Tue Mar 14 16:07:33 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 11:07:33 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> Message-ID: Thanks everyone so far for your feedback. What I am doing is starting with analyses of most perl API and a few applications - covering most things on CPAN and more. On 14/03/2006, at 17:31, Gerard . wrote: > I would want it to be just like flickr.com, with some slick AJAX > features :) What I am trying to do has no interface at all. It is purely all the backend - resize, rotate, get information, organise, group together into albums, search etc. Then once you have the API you can do the following: * Write a GUI - give you cool access to those features, very easy * Write a Web Program - that has flickr / AJAX like features. The DBI of Albums ================ If you know DBI, this is soft of a summary for what I want. In theory then if we write a cute GUI then if someone wants to manage their code with Gallery Remote or FLICKR or Local Disk or common MySQL type systems - they just change the driver and it all still works. The Document ============= The big thing my document is covering - should have it out in draft tomorrow - is reviewing the requirements, limitations of existing systems. As an example, I have found some modules (like Apache::Gallery) which just manage the images and produce XML - so that I can completely separate the HTML & JS & AJAX et al from the images, resizing etc. But even that has one step not far enough removed... Ideally the code would look like this... Gallery API - Manage the files, rename, delete, metadata, search, resize, caching of thumbnails etc Gallery API to XML - Find a nice XML format for describing Gallery - there is already some out there and convert between Apache Gallery Module - Manage the URLs - so you can turn a URL into an Album or Picture - Manage the actual pictures - so you get a view of any size of image - via Apache - manage the access control This is one of those important ideas when it comes to reuse of code Web, Apache and Security - for example, you may want to make it so that only logged in users can see the full size version - or the version without a watermark. You should use Apache to do this - not your own security. However - in Apache, you pretty much require URLs to do that. This needs to be considered Apache CGI or XSL or JSP or PHP or ... - Provide the interface - Turn the XML into XHTML 2 or XHTML 1 or HTML 4 - Add JavaScript, call back AJAX etc Now of course - that is just one model. By doing the break up above we can reuse the components like this... * Write a Catalyst Application - with NO Apache !!! - Reuse Gallery API as is - Reuse Gallery API to XML as is - Reuse the XSL from the last stage - probably as is * Write a GUI that views the system directly from the disk - Reuse the Gallery API as is * Write a GUI that runs remotely - maybe even a Java Applet - Reuse the Gallery API as is - Reuse the Gallery API to XML as is - Reuse the Apache Gallery Module as is This allows an object to deal with the data by only doing REST style XML requests. Of course this is also the basis of AJAX so you get even more reuse if you want to build a complicated Client side AJAX based API What I am describing here is nothing new in the application world, but we don't develop like that in the web world. But what I want here is just step one - the Gallery API. The rest will follow naturally :-) Scooter -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/74b8581e/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/74b8581e/PGP.bin From scottp at dd.com.au Tue Mar 14 16:32:31 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 11:32:31 +1100 Subject: [Melbourne-pm] catalyst xmlrpc In-Reply-To: <20060314115756.B6CC217DD0@adm4-mta.dd.dd.lms.net.au> References: <20060314115756.B6CC217DD0@adm4-mta.dd.dd.lms.net.au> Message-ID: <96383597-B025-4997-8177-153590745F54@dd.com.au> Fixing my own code (now that I have my laptop booted again) (don't ask, hard disk failure !) On 14/03/2006, at 22:57, Scott Penrose wrote: > hey guys. > > i just wanted to share with you a tiny addition to my addressbook > code in catalyst that enables xmlrpc calls > > 1. add XMLRPC to the pluggins > 2. add to the controller > > sub Xmlrpc : Local > my (4self, $c) = @_, > return $c-xmlrpc, # Make a new local method (eg: /addressbook/xmlrpc) to handle the XML RPC base sub xmlrpc : Local { my ($self, $c) = @_; return $c->xmlrpc; } > > sub get : Remote > ... as per suggest > return @ret, # Add a new method to return users via XML RPC (ala : Remote) # TODO - Refactor so that "sub suggest : Local" uses the same code as "sub get : Remote" sub get : Remote { my ($self, $c, $lookup, $val) = @_; my %ret = (); my $ab = $c->model('AddressBook')->ab; foreach my $key ($ab->search($lookup => $val) { $ret{$ab->entry($key)->{$lookup}}++; } return [sort keys %ret]; } > and that (in rough organiser email) is it... Now you can test the connection by using XMLRPCsh (a command line simple shell) (note XMLRPC.sh comes with SOAP::Lite, not with RPC::XML - although SOAP::Lite comes with XMLRPC - another implementation) $ XMLRPCsh.pl http://localhost:3000/addressbook/xmlrpc Usage: method[(parameters)] > get('last', 'p') --- XMLRPC RESULT --- [ 'Penrose', 'Presser' ] Of course it is just as easy to add REST and SOAP based calls. Enjoy Scott -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/74ab3398/PGP.bin From mathew.robertson at netratings.com.au Tue Mar 14 17:42:52 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 12:42:52 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> Message-ID: <4417711C.8080000@netratings.com.au> Hi Scott, Is this "Gallery API" a C library, or a CPAN module? > But what I want here is just step one - the Gallery API. From scottp at dd.com.au Tue Mar 14 17:47:20 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 12:47:20 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <4417711C.8080000@netratings.com.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> <4417711C.8080000@netratings.com.au> Message-ID: On 15/03/2006, at 12:42, Mathew Robertson wrote: > Hi Scott, > > Is this "Gallery API" a C library, or a CPAN module? > >> But what I want here is just step one - the Gallery API. I don't mind. Why ? Have you a C example? If it is in another language and is already what I want, I will use it :-) If I am writing it myself, I will use Perl. Scott -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Welcome to the Digital Dimension http://www.dd.com.au/ scottp at dd.com.au Dismaimer: Contents of this mail and signature are bound to change randomly. Whilst every attempt has been made to control said randomness, the author wishes to remain blameless for the number of eggs that damn chicken laid. Oh and I don't want to hear about butterflies either. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/b8d53774/PGP.bin From mathew.robertson at netratings.com.au Tue Mar 14 17:51:24 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 12:51:24 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> <4417711C.8080000@netratings.com.au> Message-ID: <4417731C.5000202@netratings.com.au> I'm thinking along the lines of MAPI, SANE, CUPS etc. where there is a defined library for doing the low-level stuff -> in this case it looks like we want a GAPI or PAPI (or whatever). So it seems to me that doing it in C would provide the most benefit. Mathew Scott Penrose wrote: > > On 15/03/2006, at 12:42, Mathew Robertson wrote: > >> Hi Scott, >> >> Is this "Gallery API" a C library, or a CPAN module? >> >>> But what I want here is just step one - the Gallery API. > > I don't mind. Why ? Have you a C example? > If it is in another language and is already what I want, I will use it > :-) > If I am writing it myself, I will use Perl. > > Scott > --* - * http://www.osdc.com.au - Open Source Developers Conference * - * > Scott Penrose > Welcome to the Digital Dimension > http://www.dd.com.au/ > scottp at dd.com.au > > Dismaimer: Contents of this mail and signature are bound to change > randomly. Whilst every attempt has been made to control said > randomness, the author wishes to remain blameless for the number of > eggs that damn chicken laid. Oh and I don't want to hear about > butterflies either. > > Please do not send me Word or PowerPoint attachments. > See http://www.gnu.org/philosophy/no-word-attachments.html > > Microsoft is not the answer. It's the question. And the answer is no. > > From scottp at dd.com.au Tue Mar 14 17:59:32 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 12:59:32 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <4417731C.5000202@netratings.com.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <6f2691d10603132231q45b6e9e4r550c84b450d84d5b@mail.gmail.com> <4417711C.8080000@netratings.com.au> <4417731C.5000202@netratings.com.au> Message-ID: On 15/03/2006, at 12:51, Mathew Robertson wrote: > I'm thinking along the lines of MAPI, SANE, CUPS etc. where there > is a defined library for doing the low-level stuff -> in this case > it looks like we want a GAPI or PAPI (or whatever). Yes sounds like that is what I want. GAPA - The Gallery and Photo API :-) > So it seems to me that doing it in C would provide the most benefit. Why. C is just a language. I choose Perl. CUPS can be written in Perl. don't forget CUPS is many parts, it is a standard way of doing things, along with daemons along with a full set of APIs. You can even integrate the code directly in Perl into C, just like you can the C into Perl. Anyway, this is not a place to justify language choices. My choice is Perl as I really can't stand C, I get enough of it in XCSoar and at work. Scott -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/38c43bcb/PGP-0001.bin From mathew.robertson at netratings.com.au Tue Mar 14 22:22:07 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 17:22:07 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: References: Message-ID: <4417B28F.3040303@netratings.com.au> The short answer is maybe... The module(s) themselves are 100% API compatible, but the implementation is about 20% different. The main problem with the existing H::T module, is that you cant strictly** sub-class it. Some of the changes are specifically there so that sub-classing works correctly. ** Where the definition of strictly in Perl could mean that I could, at run-time, patch the symbol table so that I could overcome the lack of sub-classing support. But I would consider this to be a major hack. Regards, Mathew leif.eriksen at hpa.com.au wrote: > > That's a good idea, but I don't know if the powers-that--be at CPAN > will allow it. > > > > I don't know your code, but do you just add functions, or are you > changing functions in H::T ? > > > > What I am driving at is you release your extension with "use base > qw(HTML::Template);" -- so your package is only your extensions, > everything else falls back to "default" H::T > > > > Can you separate your work cleanly from the default H::T ? > > > > > > L > > > > ------------------------------------------------------------------------ > > *From:* mathew.robertson at netratings.com.au > [mailto:mathew.robertson at netratings.com.au] > *Sent:* Thursday, 9 March 2006 3:00 PM > *To:* melbourne-pm at pm.org > *Subject:* Re: [Melbourne-pm] CPAN module > > > > Correct - and he has every right to make his own decisions. > > That said, if I take a leaf from Linux kernel development or the > Gentoo package tree, I can easily overlay a snapshot branch of any > package I like, simply by setting an environmental variable. The > point being that I can happily release my own version of H::T without > breaking anyone else's version. And I can do this without forking the > namespace. > > Having looked at CPAN module install semantics, I was under the > impression that it was possible for two independent people to upload > their modules. Then using the cpan shell, a user could fetch a > specific developer's version of a package, as in: > > cpan> install M/MA/Mathew/HTML-Template-2.8_01.tar.gz > > thoughts? > > Mathew > > leif.eriksen at hpa.com.au wrote: > > The decision to create a new namespace has already been made for you by > the H::T developer - he doesn't want your extra features in his > namespace, so you need another. > > Did he give a reason - I suspect he felt the new features didn't fit > with his idea of what H::T should do. The doco and design seem to > indicate they have refined H::T to be exactly what they want. > > L > > -----Original Message----- > From: mathew.robertson at netratings.com.au > [mailto:mathew.robertson at netratings.com.au] > Sent: Thursday, 9 March 2006 12:32 PM > To: melbourne-pm at pm.org > Subject: Re: [Melbourne-pm] CPAN module > > hmm... I was hoping there was something more akin to a 'developer tree' > which would allow updates to a package, but not be part of an > "official" package. > > Scott Penrose wrote: > >> On 09/03/2006, at 10:13, Mathew Robertson wrote: >> >> >>> Hi folks, >>> >>> I use a CPAN module called HTML::Template, which is used as a >>> > web-page > >>> templating engine (in a similar vein to Template-Toolkit). >>> >>> I have made some changes to increase its functionality - which >>> > amounts > >>> to about 20% of the code (ie: not a small patch). I have suggested >>> > that > >>> some of these changes be added to the real module, but the developer >>> isn't interested. >>> >>> Since I dont really want to do a complete fork of the code, as the >>> existing community is quite lively... The question is, is there a >>> > way > >>> to release a modified version into CPAN? >>> >> No not really, and that would not be fair either - you can't have two >> bosses of one bit of code. >> >> But you have already touched on the answer - fork it and release as a >> new module. >> >> eg: >> >> HTML::TemplateX >> >> Or maybe >> >> HTML::Template::Extended >> >> Once you do that - and that is fair and safe - you can then encourage >> the use of your changes. If the changes are good and acceptable, then >> people will use that module instead - eventually it will become the >> standard, and probably even get incorporated or replace the old one. >> >> This is not unprecedented - quite common actually :-) >> >> Scott >> --* - * http://www.osdc.com.au - Open Source Developers Conference * >> > - * > >> Scott Penrose >> Open source developer >> http://linux.dd.com.au/ >> scottp at dd.com.au >> >> Dismaimer: Open sauce usually ends up never coming out (of the >> > bottle). > >> Please do not send me Word or PowerPoint attachments. >> See http://www.gnu.org/philosophy/no-word-attachments.html >> >> Microsoft is not the answer. It's the question. And the answer is no. >> >> >> > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > ********************************************************************** > IMPORTANT > The contents of this e-mail and its attachments are confidential and intended > solely for the use of the individual or entity to whom they are addressed. If > you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au , > then delete the e-mail. > This footnote also confirms that this e-mail message has been swept for the > presence of computer viruses by Ironport. Before opening or using any > attachments, check them for viruses and defects. > Our liability is limited to resupplying any affected attachments. > HPA collects personal information to provide and market our services. For more > information about use, disclosure and access see our Privacy Policy at > www.hpa.com.au > ********************************************************************** > > ********************************************************************** > IMPORTANT > The contents of this e-mail and its attachments are confidential and intended > solely for the use of the individual or entity to whom they are addressed. If > you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, > then delete the e-mail. > This footnote also confirms that this e-mail message has been swept for the > presence of computer viruses by Ironport. Before opening or using any > attachments, check them for viruses and defects. > Our liability is limited to resupplying any affected attachments. > HPA collects personal information to provide and market our services. For more > information about use, disclosure and access see our Privacy Policy at > www.hpa.com.au > ********************************************************************** > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/48a13593/attachment-0001.html From mathew.robertson at netratings.com.au Wed Mar 15 00:16:45 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 19:16:45 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <20060309065741.20BCA17E87@adm4-mta.dd.dd.lms.net.au> References: <20060309065741.20BCA17E87@adm4-mta.dd.dd.lms.net.au> Message-ID: <4417CD6D.8050603@netratings.com.au> >> That's a good idea, but I don't know if the powers-that-be at CPAN will >> allow it. >> >> I don't know your code, but do you just add functions, or are you >> changing functions in H::T ? >> >> What I am driving at is you release your extension with "use base >> qw(HTML::Template);" - so your package is only your extensions, >> everything else falls back to "default" H::T >> >> Can you separate your work cleanly from the default H::T ? >> > I guess my main concern here Mathew is that you are trying to invent new rules just for you. Work within the system. If you want to change the system, by all means, get on the CPAN team and change it, but try and work within it. > > * For CPAN - this means a new name - or something more dodgy > * For PERL Modules - this means exactly the same as it does for every other open source projet, including Linux > > Use one of the above - either fit in with CPAN or Source Code > > The two reasons for this are: > > * It won't confuse the users > * You won't annoy anyone who owns the module or CPAN maintainers > I'm not trying to change CPAN - I simply asked "is it possible with CPAN" - dont shoot me... And since I am already making the code freely available via a tarball, there is no reason to have a go at me about. it. All I asked was "was there a way to use the default Perl tools (aka CPAN) to distribute a developer branch - thus re-using the whole CPAN infrastructure, thus making it trivial for users to simply use a drop-in replacement, by changing only a single environmental variable". Mathew From mathew.robertson at netratings.com.au Wed Mar 15 00:20:00 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 19:20:00 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> Message-ID: <4417CE30.5080002@netratings.com.au> > Just thought of yet another better way of explainig it. > > In Debian - which is a package management system like CPAN, your package depends on another package, maybe with a minimum version number, but as a package name. > > You can write your own packages, download them manually, and manually install them - but there is no way for the package management system to do that - it is always going to install a package by its identifier - in this case name. > > To get around this a special release of a package will often be required - eg: with some special patches, maybe a newer version, maybe just because it had to be built differently (eg: with different threading model). > > In every case - it is given a new name. > No its not - Debian allows you to point your apt repository to servers other than the Sid/Sarge/Horny-carrot mirrors -> you can point it at your own local mirror, then inject your own package with exactly same name/namespace as any existing package. Debian can do it. RPM can do it. I'm asking if CPAN can do it. Mathew From mathew.robertson at netratings.com.au Wed Mar 15 00:22:49 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 15 Mar 2006 19:22:49 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <440FDE91.3010408@strategicdata.com.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <440FDE91.3010408@strategicdata.com.au> Message-ID: <4417CED9.9050200@netratings.com.au> >> Just thought of yet another better way of explainig it. >> >> In Debian - which is a package management system like CPAN, your package depends on another package, maybe with a minimum version number, but as a package name. >> >> You can write your own packages, download them manually, and manually install them - but there is no way for the package management system to do that - it is always going to install a package by its identifier - in this case name. >> >> To get around this a special release of a package will often be required - eg: with some special patches, maybe a newer version, maybe just because it had to be built differently (eg: with different threading model). >> >> In every case - it is given a new name. >> >> Scott >> > > Unless you organise your own repository. In which case, anyone that > wants to use it must configure their system to use your repository. (And > some other stuff about version numbers and pinning) > > I guess the CPAN parallel is that you have to run your own CPAN if you > wish to keep the same name. > Thank-you Geoff, this is exactly what I was looking for. You wouldn't happen to know how to setup a local CPAN mirror? Note that I only need to inject some specific packages, so it would be nice to not have to sync every other package which is available from a normal CPAN mirror. Mathew -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/5dfc3d51/attachment.html From scottp at dd.com.au Wed Mar 15 01:13:17 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 20:13:17 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <4417CE30.5080002@netratings.com.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <4417CE30.5080002@netratings.com.au> Message-ID: On 15/03/2006, at 19:20, Mathew Robertson wrote: > >> Just thought of yet another better way of explainig it. >> >> In Debian - which is a package management system like CPAN, your >> package depends on another package, maybe with a minimum version >> number, but as a package name. >> >> You can write your own packages, download them manually, and >> manually install them - but there is no way for the package >> management system to do that - it is always going to install a >> package by its identifier - in this case name. >> >> To get around this a special release of a package will often be >> required - eg: with some special patches, maybe a newer version, >> maybe just because it had to be built differently (eg: with >> different threading model). >> >> In every case - it is given a new name. >> > No its not - Debian allows you to point your apt repository to > servers other than the Sid/Sarge/Horny-carrot mirrors -> you can > point it at your own local mirror, then inject your own package > with exactly same name/namespace as any existing package. > > Debian can do it. RPM can do it. I'm asking if CPAN can do it. Yep CPAN (the MODULE !!!) can do it. CPAN (the Repository) can not. As I said. CPAN & Debian are virtually identical, as is all Package Management systems. As you described above - it is not distributing it with CPAN, but making your own CPAN distribution and getting each person who wants to use your module to configure their local CPAN to use you. Of course using the Perl Module CPAN to install is all about automatically downloading a whole set of modules from a central repository, not about the actual installation - which just does a tar xvzf; perl Makefile.PL; make; make test; make install - which of course you can do with any .tar.gz - so even better CPAN will happily play with any other way you want to install perl modules. So I stand by what I originally said - CPAN - which everyone understands to be the repository CPAN, not the Perl Module that interfaces with it - can't do what you want. See CPAN is the repository, where as Perl Modules are just Perl Modules. Where as in Debian and RPM etc it is both the repository and the interface. But the bottom line is - these names (CPAN, RPM, APT, ...) all have two meanings and can be quite confusing in conversation :-) Scott -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Welcome to the Digital Dimension http://www.dd.com.au/ scottp at dd.com.au Dismaimer: Contents of this mail and signature are bound to change randomly. Whilst every attempt has been made to control said randomness, the author wishes to remain blameless for the number of eggs that damn chicken laid. Oh and I don't want to hear about butterflies either. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/fe243b71/PGP.bin From scottp at dd.com.au Wed Mar 15 01:27:15 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 20:27:15 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <4417CED9.9050200@netratings.com.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <440FDE91.3010408@strategicdata.com.au> <4417CED9.9050200@netratings.com.au> Message-ID: Thank-you Geoff, this is exactly what I was looking for. > > You wouldn't happen to know how to setup a local CPAN mirror? > Note that I only need to inject some specific packages, so it would > be nice to not have to sync every other package which is available > from a normal CPAN mirror. OK you can do this by CPAN modules. But remember - you will STILL need to have special versions or names (just like you do in Debian) - all package systems try and install the newest version, so you will have to choose a version number that is always greater than the CPAN version. All you have to do is set 'urllist' to two URLs, where yours is probably first. This is common when you want to install from CDRom and remotely. This is well documented in "perldoc CPAN" You can do it interactively by typing: "conf urllist push file://localhost/CDROM/CPAN" Alternatively you can use CPAN::Mini - to create a minimal mirror of CPAN. CPAN::Site - is almost exactly what you want - although I am not sure if it has not already been replaced by bits of CPAN generally. "This module virtually adds site specific modules to CPAN. The general idea is to have a local (pseudo) CPAN server which is asked first." More info on all of the above is on CPAN (The archive, not the module) :-) Scooter -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Open source developer http://linux.dd.com.au/ scottp at dd.com.au Dismaimer: Open sauce usually ends up never coming out (of the bottle). Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/15434c0b/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/15434c0b/PGP.bin From rick at measham.id.au Wed Mar 15 01:29:47 2006 From: rick at measham.id.au (Rick Measham) Date: Wed, 15 Mar 2006 20:29:47 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <4417CE30.5080002@netratings.com.au> Message-ID: <4417DE8B.6000700@measham.id.au> Scott Penrose wrote: > CPAN & Debian are virtually identical, as is all Package Management > systems. I'd disagree here, but am happy to be wrong. With apt you can have many repository sources, they are all searched for the highest-version number when you ask to install a given package. With CPAN.pm you give it a list of repositories, but that's only for high-availability. The module gets an up-to-date module list from the first repository that is willing to give it. Recently the repository I've been using here in .au stopped updating and so I had no new sources since December 18th. CPAN.pm gave me a warning, but didn't bother checking any other mirror for a more up-to-date list. When I ask to install a module that list is considered canonical. CPAN.pm does not check any other repository for any other version. You cannot set up a new CPAN repository with a single module and put that at the top of your urllist, and have all other modules installed from the second preference. Many apologies if I'm wrong :) Cheers! Rick Measham From blm at woodheap.org Wed Mar 15 01:33:51 2006 From: blm at woodheap.org (Ben Marsh) Date: Wed, 15 Mar 2006 19:33:51 +1000 Subject: [Melbourne-pm] CPAN module In-Reply-To: <4417CED9.9050200@netratings.com.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <440FDE91.3010408@strategicdata.com.au> <4417CED9.9050200@netratings.com.au> Message-ID: <20060315093351.GA12390@amygdala.woodheap.org> * Mathew Robertson (mathew.robertson at netratings.com.au) wrote: > > >>Just thought of yet another better way of explainig it. > >> > >>In Debian - which is a package management system like CPAN, your package > >>depends on another package, maybe with a minimum version number, but as a > >>package name. > >> > >>You can write your own packages, download them manually, and manually > >>install them - but there is no way for the package management system to > >>do that - it is always going to install a package by its identifier - in > >>this case name. > >> > >>To get around this a special release of a package will often be required > >>- eg: with some special patches, maybe a newer version, maybe just > >>because it had to be built differently (eg: with different threading > >>model). > >> > >>In every case - it is given a new name. > >> > >>Scott > >> > > > >Unless you organise your own repository. In which case, anyone that > >wants to use it must configure their system to use your repository. (And > >some other stuff about version numbers and pinning) > > > >I guess the CPAN parallel is that you have to run your own CPAN if you > >wish to keep the same name. > > > Thank-you Geoff, this is exactly what I was looking for. > > You wouldn't happen to know how to setup a local CPAN mirror? > Note that I only need to inject some specific packages, so it would be > nice to not have to sync every other package which is available from a > normal CPAN mirror. > How much of a mirror are you talking? I have my own MINICPAN mirror set up at home that I point my CPAN.pm configurations to. It is not a full mirror of CPAN. Just the most recent versions of modules (AFAICT) I presume you could add packages to it provided you also update $CPAN/authors/01mailrc.txt.gz $CPAN/modules/02packages.details.txt.gz $CPAN/modules/03modlist.data.gz 01mailrc.txt.gz contains authors modules go in directories like $CPAN/authors/A/AB/ABCDE if your alias in 01mailrc.txt.gz is ABCDE Creation of MINICPAN is done with Randall Schwartz's minicpan.pl published in one of his columns http://www.stonehenge.com/merlyn/LinuxMag/col42.html There is also a CPAN script and module that does similar http://search.cpan.org/~rjbs/CPAN-Mini-0.40/bin/minicpan How this info helps, Ben Marsh From rick at measham.id.au Wed Mar 15 01:32:21 2006 From: rick at measham.id.au (Rick Measham) Date: Wed, 15 Mar 2006 20:32:21 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> Message-ID: <4417DF25.6080500@measham.id.au> Sent the following the other night from the wrong email address: Scott Penrose said: > any special requests that people would need? Image tagging and searching image meta data .. thus you need some sort of data-storage that isn't just a filesystem [or you need to be prepared for very slow searches as ever file is queried for it's metadata every time]* Cheers! Rick Measham *This bit added tonight :) From scottp at dd.com.au Wed Mar 15 01:48:51 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 20:48:51 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <4417DE8B.6000700@measham.id.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <4417CE30.5080002@netratings.com.au> <4417DE8B.6000700@measham.id.au> Message-ID: On 15/03/2006, at 20:29, Rick Measham wrote: > Scott Penrose wrote: >> CPAN & Debian are virtually identical, as is all Package >> Management systems. > > I'd disagree here, but am happy to be wrong. > > With apt you can have many repository sources, they are all > searched for the highest-version number when you ask to install a > given package. You are agreeing with me :-) > With CPAN.pm you give it a list of repositories, but that's only > for high-availability. The module gets an up-to-date module list > from the first repository that is willing to give it. Recently the > repository I've been using here in .au stopped updating and so I > had no new sources since December 18th. CPAN.pm gave me a warning, > but didn't bother checking any other mirror for a more up-to-date > list. Yes sort of. But APT is not a package management system, I wrote that wrong, that is dpkg - APT is a repository management system really - all about multiple repositories. (this is an oversimplification and they run together). This discussion has been confusing because everyone is mixing their metaphores. CPAN - is a single repository - like Debian.org - not Debian the system, not debians package management system DPKG, not the APT system for getting multiple repositories downloaded etc etc. CPAN.pm - is a system for accessing that repository - and it is like the old DPKG download system dselect - which was used before APT - it was not very flexible. > When I ask to install a module that list is considered canonical. > CPAN.pm does not check any other repository for any other version. > You cannot set up a new CPAN repository with a single module and > put that at the top of your urllist, and have all other modules > installed from the second preference. > > Many apologies if I'm wrong :) Sort of. CPAN itself is for accessing CPAN. And CPAN is not a System like APT, which is designed to have multiple repositories. CPAN IS the repository. It is like having a repository (in debian anyway) called "debian-unofficial" - that is the name of the repository. The name of the CPAN repository is CPAN. Package management systems are usually broken up into three things. 1) The repository - of which you can have many 2) The collection system (not sure of the right name for this thing) - of which you can have many eg: apt is one for Debian which works with others in concurrency 3) The package management/install system - there must be only one of these. In Debian these are: 1) (simplified) debian.org, debian-unofficial.org, cdrom, etc 2) apt, dselect, (there used to be heaps others but apt is so good we just use that now) 3) dpkg In Perl these are usually: 1) CPAN & Manually installed 2) CPAN (only really works with CPAN, but see previous post for alternatives) & Manual 3) Perl Modules (it is self managed and can even have multiple versions installed at once) But of course this is an over simplification - what about APT & Debian - they too can install Perl Modules. So to answer Mathew's original question - he can use APT or GenToo or RPM or MakeUpYourOwnModule or the CPAN modules I mentioned to manage his repository. But... that is not CPAN. So Rick - yes you are right CPAN is really the repository and it comes with a free tool to get stuff - but people have extended it to be both part 1 and part 2 - but what matters is part 3 - and you can have multiple concurrent paths to part 3. CPAN - Comprehensive Perl Archive Network - NOT a package management system - a repository. Scott -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose VP in charge of Pancakes http://linux.dd.com.au/ scottp at dd.com.au Dismaimer: If you receive this email in error - please eat it immediately to prevent it from falling into the wrong hands. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/4a323f72/PGP.bin From blm at woodheap.org Wed Mar 15 01:51:04 2006 From: blm at woodheap.org (Ben Marsh) Date: Wed, 15 Mar 2006 19:51:04 +1000 Subject: [Melbourne-pm] CPAN module In-Reply-To: <4417CED9.9050200@netratings.com.au> References: <20060309074637.6632717E8B@adm4-mta.dd.dd.lms.net.au> <440FDE91.3010408@strategicdata.com.au> <4417CED9.9050200@netratings.com.au> Message-ID: <20060315095104.GA12708@amygdala.woodheap.org> * Mathew Robertson (mathew.robertson at netratings.com.au) wrote: > > >>Just thought of yet another better way of explainig it. > >> > >>In Debian - which is a package management system like CPAN, your package > >>depends on another package, maybe with a minimum version number, but as a > >>package name. > >> > >>You can write your own packages, download them manually, and manually > >>install them - but there is no way for the package management system to > >>do that - it is always going to install a package by its identifier - in > >>this case name. > >> > >>To get around this a special release of a package will often be required > >>- eg: with some special patches, maybe a newer version, maybe just > >>because it had to be built differently (eg: with different threading > >>model). > >> > >>In every case - it is given a new name. > >> > >>Scott > >> > > > >Unless you organise your own repository. In which case, anyone that > >wants to use it must configure their system to use your repository. (And > >some other stuff about version numbers and pinning) > > > >I guess the CPAN parallel is that you have to run your own CPAN if you > >wish to keep the same name. > > > Thank-you Geoff, this is exactly what I was looking for. > > You wouldn't happen to know how to setup a local CPAN mirror? > Note that I only need to inject some specific packages, so it would be > nice to not have to sync every other package which is available from a > normal CPAN mirror. Further to my last email about minicpan there is CPAN::Mini::Inject which I only just stumbled on when looking at the Toronto Perl Mongers Presentation Archive at http://hew.ca/talks_audio/ Regards, Ben Marsh From scottp at dd.com.au Wed Mar 15 01:51:42 2006 From: scottp at dd.com.au (Scott Penrose) Date: Wed, 15 Mar 2006 20:51:42 +1100 Subject: [Melbourne-pm] Picture Management API In-Reply-To: <4417DF25.6080500@measham.id.au> References: <20060314043718.824C217E19@adm4-mta.dd.dd.lms.net.au> <4417DF25.6080500@measham.id.au> Message-ID: <3CB240E5-7D87-49BB-9305-53EB8C7E1405@dd.com.au> You guys have provided me some wicked feedback and I am now starting the design. My plan is to produce an API that works with the following backends: * Apple iPhoto * FLICKR * Simple (directories and files, no caching, simple search) * Local (my own additional search indexes, caching thumbnails etc, but basically directories & files) * Gallery::Remote If I can get one API to work with those then I have been a success. The most important first step is the class hierarchy, methods and tests - I have put together the initial tree and hope to get that out to everyone here to review before I go head long into the hard core coding. I want to get partial direction right :-) Thanks Scott -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/d29121ac/PGP.bin From mathew.robertson at netratings.com.au Wed Mar 15 15:17:10 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Thu, 16 Mar 2006 10:17:10 +1100 Subject: [Melbourne-pm] CPAN module In-Reply-To: <20060309065508.3178117DE3@adm4-mta.dd.dd.lms.net.au> References: <20060309065508.3178117DE3@adm4-mta.dd.dd.lms.net.au> Message-ID: <4418A076.5070005@netratings.com.au> Thanks to all that contributed to the CPAN / module / package discussion. Once I have done some hacking, I will let you know the end result. Mathew From scottp at dd.com.au Wed Mar 15 19:17:11 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 16 Mar 2006 14:17:11 +1100 Subject: [Melbourne-pm] Interface Classes Message-ID: Hey guys - a quick question on "the right way" In OO we are taught that a Class (in Perl 5 case - Module) should have a purpose. It should not be just an interface you have to plug in to. And there should not be really a Base class - from above. But... in Perl we don't have the Interface that Java does... So here is my question. I have a base class - let us call it "Fred". Now I have a new class that inherits from the Base which must inherit from the Base - ie: "Fred::Example1" ISA "Fred". Later I make a new one "Fred::Example2" - which may be ISA "Fred::Example1" or just a "Fred". So now the real question - should methods in "Fred" look like this... sub blah { croak "Interface not implemented" } Or should they be... sub blah { ... do what blah would do ... } Think of this like DBI. Some methods can definitely be defined, especially if they are likely to be the default method - but some methods MUST be implemented by the driver - so should they have one of the above. In DBI land this would be silly - eg: Who gets top billing ? Another alternative is that it itself becomes its own form of a Mock object for testing. In DBI case you would my $dbh = DBI->connect(); or something. What are thoughts on style here? Scooter -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose VP in charge of Pancakes http://linux.dd.com.au/ scottp at dd.com.au Dismaimer: If you receive this email in error - please eat it immediately to prevent it from falling into the wrong hands. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060316/e0957956/PGP.bin From scottp at dd.com.au Wed Mar 15 21:31:08 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 16 Mar 2006 16:31:08 +1100 Subject: [Melbourne-pm] Does anyone use Perl::Critic and Test::Perl::Critic Message-ID: <32C7340D-444D-4986-A6CF-FB29041E43D4@dd.com.au> Hey Guys I like the idea of Perl::Critic and have added it into my test code. But I have a question of how it works. For example, one of the rules is: > Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins > > Write open $handle, $path instead of open($handle, $path) [Severity 1] It produces errors like this: > Builtin function called with parens at line 217, column 13. See > page 13 of PBP But if you o to Page 13 of the book it says: > ... so they can legitimately be called withou parentheses, except > where it's necessary to enforce precedence. But the rule does not do this - it forces them all, it does not look at the precedence. Is this a limitation of Perl::Critic. On a similar note is CVS/RCS - The book says use CVS/RCS - the Rule say you must have $Revision$, $Date$ etc at the top of every file - they don't really match. Scott -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Welcome to the Digital Dimension http://www.dd.com.au/ scottp at dd.com.au Dismaimer: Contents of this mail and signature are bound to change randomly. Whilst every attempt has been made to control said randomness, the author wishes to remain blameless for the number of eggs that damn chicken laid. Oh and I don't want to hear about butterflies either. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060316/1fb1e5ca/PGP.bin From simon at unisolve.com.au Wed Mar 15 21:53:32 2006 From: simon at unisolve.com.au (Simon Taylor) Date: Thu, 16 Mar 2006 16:53:32 +1100 Subject: [Melbourne-pm] Does anyone use Perl::Critic and Test::Perl::Critic In-Reply-To: <32C7340D-444D-4986-A6CF-FB29041E43D4@dd.com.au> References: <32C7340D-444D-4986-A6CF-FB29041E43D4@dd.com.au> Message-ID: <200603161653.32909.simon@unisolve.com.au> Hi Scott, > I like the idea of Perl::Critic and have added it into my test code. I'm using it here via Module::Starter::PBP [snip] > On a similar note is CVS/RCS - The book says use CVS/RCS - the Rule > say you must have $Revision$, $Date$ etc at the top of every file - > they don't really match. I don't see this. I have a .pm file here with neither rcs nor cvs strings in it and perlcritic is silent on the matter. Do I need to have something else in my file to trigger the check for cvs/rcs strings? Note that I haven't modified the local perlcritic rules here in any way, (but I will soon ;-) .. - Simon -- Unisolve Pty Ltd - Melbourne, Australia +61 3 9568 2005 From scottp at dd.com.au Wed Mar 15 22:03:09 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 16 Mar 2006 17:03:09 +1100 Subject: [Melbourne-pm] Does anyone use Perl::Critic and Test::Perl::Critic In-Reply-To: <200603161653.32909.simon@unisolve.com.au> References: <32C7340D-444D-4986-A6CF-FB29041E43D4@dd.com.au> <200603161653.32909.simon@unisolve.com.au> Message-ID: On 16/03/2006, at 16:53, Simon Taylor wrote: > Hi Scott, > >> I like the idea of Perl::Critic and have added it into my test code. > > I'm using it here via Module::Starter::PBP > > [snip] >> On a similar note is CVS/RCS - The book says use CVS/RCS - the Rule >> say you must have $Revision$, $Date$ etc at the top of every file - >> they don't really match. > > I don't see this. I have a .pm file here with neither rcs nor cvs > strings in > it and perlcritic is silent on the matter. Is your modules in CVS? If only checks for those strings if it is in CVS/RCS. > Do I need to have something else in my file to trigger the check for > cvs/rcs strings? Just being in CVS/RCS. > Note that I haven't modified the local perlcritic rules here in any > way, > (but I will soon ;-) .. :-) I am trying to the bare minimum approach, changing some of my practices and only changing the rules if I must (eg: the Parenthesis rule & the postfix if - which I am using correctly according to PBP, eg: flow control, but the tests don't pick it up). Scooter -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060316/5357e953/PGP.bin From leif.eriksen at hpa.com.au Wed Mar 15 22:34:29 2006 From: leif.eriksen at hpa.com.au (leif.eriksen@hpa.com.au) Date: Thu, 16 Mar 2006 17:34:29 +1100 Subject: [Melbourne-pm] Does anyone use Perl::Critic and Test::Perl::Critic Message-ID: Yes I used it with tidyview - but in a very na?ve way - download, install, (run, fix)+....profit!!! I agree, its defaults are a little off, I prefer ALL functions/methods to be called with parens. To me, this means there is no changing styles based on who supplied the function - a function from perl or a function I wrote. It also works well where the name of the method/function is in a variable e.g my @ordered = sort(@allOverTheShop); # builtin my @extracted = filter($criteria, @heap); my @collected = $set->$picker(); # clear that $picker holds a method name L -----Original Message----- From: scottp at dd.com.au [mailto:scottp at dd.com.au] Sent: Thursday, 16 March 2006 4:31 PM To: melbourne-pm at pm.org Subject: [Melbourne-pm] Does anyone use Perl::Critic and Test::Perl::Critic _______________________________________________ Melbourne-pm mailing list Melbourne-pm at pm.org http://mail.pm.org/mailman/listinfo/melbourne-pm ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** From leif.eriksen at hpa.com.au Wed Mar 15 22:37:01 2006 From: leif.eriksen at hpa.com.au (leif.eriksen@hpa.com.au) Date: Thu, 16 Mar 2006 17:37:01 +1100 Subject: [Melbourne-pm] Does anyone use Perl::Critic andTest::Perl::Critic Message-ID: As Scott suggested, it may be checking for the presence of a CVS directory in the modules directory - if its there, it may trigger a check for CVS/RCS strings... L -----Original Message----- From: simon at unisolve.com.au [mailto:simon at unisolve.com.au] Sent: Thursday, 16 March 2006 4:54 PM To: melbourne-pm at pm.org Subject: Re: [Melbourne-pm] Does anyone use Perl::Critic andTest::Perl::Critic Hi Scott, > I like the idea of Perl::Critic and have added it into my test code. I'm using it here via Module::Starter::PBP [snip] > On a similar note is CVS/RCS - The book says use CVS/RCS - the Rule > say you must have $Revision$, $Date$ etc at the top of every file - > they don't really match. I don't see this. I have a .pm file here with neither rcs nor cvs strings in it and perlcritic is silent on the matter. Do I need to have something else in my file to trigger the check for cvs/rcs strings? Note that I haven't modified the local perlcritic rules here in any way, (but I will soon ;-) .. - Simon -- Unisolve Pty Ltd - Melbourne, Australia +61 3 9568 2005 _______________________________________________ Melbourne-pm mailing list Melbourne-pm at pm.org http://mail.pm.org/mailman/listinfo/melbourne-pm ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** From ajsavige at yahoo.com.au Thu Mar 16 12:55:13 2006 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Fri, 17 Mar 2006 07:55:13 +1100 (EST) Subject: [Melbourne-pm] Interface Classes In-Reply-To: Message-ID: <20060316205514.82513.qmail@web36110.mail.mud.yahoo.com> --- Scott Penrose wrote: > But... in Perl we don't have the Interface that Java does... This is discussed in Conway's Object Oriented Perl book, page 185, where he presents a METHOD::ABSTRACT utility method, as noted here: http://mailman.linuxchix.org/pipermail/programming/2004-April/001227.html Oooh, I just noticed Jarich also responded: http://mailman.linuxchix.org/pipermail/programming/2004-April/001226.html See also on CPAN: http://search.cpan.org/dist/Class-Interfaces/ http://search.cpan.org/dist/Object-Interface/ http://search.cpan.org/dist/interface/ HTH, /-\ ____________________________________________________ On Yahoo!7 Messenger - Make free PC-to-PC calls to your friends overseas. http://au.messenger.yahoo.com From mathew.robertson at netratings.com.au Thu Mar 16 21:33:53 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Fri, 17 Mar 2006 16:33:53 +1100 Subject: [Melbourne-pm] overloading 'print' Message-ID: <441A4A41.3000800@netratings.com.au> Hi folks, I have a situation where I would like to overload the 'print' and 'printf' functions, so that I can do some translation stuff in them. I would have expected something like this to work: *print = sub { CORE::print "BLAH> ", $@; }; or sub PRINTF { CORE::printf "BLAH> ", $@; } *printf = \&PRINTF; So that when I do: ... print "This is some text"; ... I get the output: BLAH> This is some text Does anone know how to overload 'print'? thanks Mathew From simon at unisolve.com.au Thu Mar 16 21:44:14 2006 From: simon at unisolve.com.au (Simon Taylor) Date: Fri, 17 Mar 2006 16:44:14 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A4A41.3000800@netratings.com.au> References: <441A4A41.3000800@netratings.com.au> Message-ID: <200603171644.14961.simon@unisolve.com.au> Hello Matthew, > I have a situation where I would like to overload the 'print' and > 'printf' functions, so that I can do some translation stuff in them. I > would have expected something like this to work: [snip] > Does anone know how to overload 'print'? Have you seen the section "Overriding Built-in Functions" in the perlsub perldoc page? Hope this helps, Simon Tylor -- Unisolve Pty Ltd - Melbourne, Australia +61 3 9568 2005 From jarich at perltraining.com.au Thu Mar 16 21:54:32 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Fri, 17 Mar 2006 16:54:32 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A4A41.3000800@netratings.com.au> References: <441A4A41.3000800@netratings.com.au> Message-ID: <441A4F18.7050009@perltraining.com.au> Mathew Robertson wrote: > Does anone know how to overload 'print'? The short answer is that you can't. Print isn't one of Perl's overloadable functions. (The reason is that the syntax is special cased. You cannot make a user function with the same prototype.) The longer answer is that you can... if you use IO::File and its print method. Then you can just subclass IO::File, and mask the print method to do what you need. The other non-overridable functions are listed in receipt 12.11 in the Perl Cookbook (1st Edition). Basically, if the keyword function in toke.c returns a negative number, then that function can't be overridden. Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From sisyphus1 at optusnet.com.au Thu Mar 16 22:43:01 2006 From: sisyphus1 at optusnet.com.au (Sisyphus) Date: Fri, 17 Mar 2006 17:43:01 +1100 Subject: [Melbourne-pm] overloading 'print' References: <441A4A41.3000800@netratings.com.au> Message-ID: <01ab01c6498e$0e400c60$ceff583d@desktop> ----- Original Message ----- From: "Mathew Robertson" To: "Perl Mongers" Sent: Friday, March 17, 2006 4:33 PM Subject: [Melbourne-pm] overloading 'print' > Hi folks, > > I have a situation where I would like to overload the 'print' and > 'printf' functions, so that I can do some translation stuff in them. If you really want to overload, rather than override then something like: package Foo; use warnings; use overload '""' => \&overload_print; $z = Foo->new(8); print $z, "\n"; sub new { my ($class, $val) = @_; my $self = {value => $val}; bless $self, $class; return $self; } sub overload_print { my $ret = 'The value I want is '; my $p = $_[0]->{value}; $ret .= $p * 7; } __END__ Not sure if that's what you want to do. Cheers, Rob From mathew.robertson at netratings.com.au Thu Mar 16 23:19:15 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Fri, 17 Mar 2006 18:19:15 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <01ab01c6498e$0e400c60$ceff583d@desktop> References: <441A4A41.3000800@netratings.com.au> <01ab01c6498e$0e400c60$ceff583d@desktop> Message-ID: <441A62F3.5050108@netratings.com.au> 'override' is what I would prefer. If I overload '""' all kinds of weird stuff can happen, 'depending on context...' - but the end-result is not really what I am aiming for either... :-( Mathew Sisyphus wrote: > ----- Original Message ----- > From: "Mathew Robertson" > To: "Perl Mongers" > Sent: Friday, March 17, 2006 4:33 PM > Subject: [Melbourne-pm] overloading 'print' > > > >> Hi folks, >> >> I have a situation where I would like to overload the 'print' and >> 'printf' functions, so that I can do some translation stuff in them. >> > > If you really want to overload, rather than override then something like: > > package Foo; > use warnings; > > use overload '""' => \&overload_print; > > $z = Foo->new(8); > > print $z, "\n"; > > > sub new { > my ($class, $val) = @_; > my $self = {value => $val}; > bless $self, $class; > return $self; > } > > sub overload_print { > my $ret = 'The value I want is '; > my $p = $_[0]->{value}; > $ret .= $p * 7; > } > > __END__ > > Not sure if that's what you want to do. > > Cheers, > Rob > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060317/3a2673f9/attachment.html From mathew.robertson at netratings.com.au Thu Mar 16 23:54:45 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Fri, 17 Mar 2006 18:54:45 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <200603171644.14961.simon@unisolve.com.au> References: <441A4A41.3000800@netratings.com.au> <200603171644.14961.simon@unisolve.com.au> Message-ID: <441A6B45.8090505@netratings.com.au> >> Does anone know how to overload 'print'? >> > > Have you seen the section "Overriding Built-in Functions" > in the perlsub perldoc page? > I knew that I had read it somewhere - thanks. Mathew -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060317/4a0d4a9b/attachment.html From ajsavige at yahoo.com.au Thu Mar 16 23:56:06 2006 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Fri, 17 Mar 2006 18:56:06 +1100 (EST) Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A4A41.3000800@netratings.com.au> Message-ID: <20060317075606.22353.qmail@web36113.mail.mud.yahoo.com> --- Mathew Robertson wrote: > I have a situation where I would like to overload the 'print' and > 'printf' functions, so that I can do some translation stuff in them. Use tie? For example: http://search.cpan.org/src/MSCHWERN/Test-Simple-0.49/t/lib/TieOut.pm When trying to test print failures I asked this same question a while back: http://www.perlmonks.org/?node_id=454223 Some of the responses might be of use. Re overriding print for QA/testing purposes, Ovid describes a white-boxy hack: http://www.nntp.perl.org/group/perl.qa/3053 Though Schwern didn't like it: http://www.nntp.perl.org/group/perl.qa/3149 http://www.nntp.perl.org/group/perl.qa/3148 See also: http://search.cpan.org/dist/Test-Output/ HTH, /-\ Send instant messages to your online friends http://au.messenger.yahoo.com From mathew.robertson at netratings.com.au Fri Mar 17 00:07:03 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Fri, 17 Mar 2006 19:07:03 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A4F18.7050009@perltraining.com.au> References: <441A4A41.3000800@netratings.com.au> <441A4F18.7050009@perltraining.com.au> Message-ID: <441A6E27.3030001@netratings.com.au> >> Does anone know how to overload 'print'? >> > > The short answer is that you can't. Print isn't one of Perl's overloadable > functions. (The reason is that the syntax is special cased. You cannot make a > user function with the same prototype.) > ok - I'm guessing this is because print can take a filehandle as the first argument ? > The longer answer is that you can... if you use IO::File and its print method. > Then you can just subclass IO::File, and mask the print method to do what you need. > > The other non-overridable functions are listed in receipt 12.11 in the Perl > Cookbook (1st Edition). Basically, if the keyword function in toke.c returns a > negative number, then that function can't be overridden. > ok - thats a bit complicated. Any ideas on the implementation of the sub-class of IO::File ? ASIDE: The reason for wanting to override 'print' is... I have built a language translation module (Locale::MakePhrase) which works quite well - now I am working on simplifying its usage so that it can be used within applications more easily. eg: Currently if I want to print out a string translated (to say Chinese), I would code something like: use Locale::MakePhrase; my $mp = Locale::MakePhrase->new(language => 'zn_ch', ....); ..... print $mp->translate("Some text to translate"); thus to use the module within your application, would require the application code to modified to support the L::M syntax. What I would like to do is extend L::M to override 'print' so that the code becomes much simpler: use Locale::MakePhrase qw(print); Locale::MakePhrase->new(language => 'zn_ch',...); ... print "Some text to translate"; Thus with two simple lines at the top of the application, you automagically get all of the translation facilities. If you choose to use a different translation tool, you simply change those two lines - thus saving you from having to re-code your app for the new API. regards, Mathew -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060317/a442d5f6/attachment-0001.html From jarich at perltraining.com.au Fri Mar 17 03:03:05 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Fri, 17 Mar 2006 22:03:05 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A6E27.3030001@netratings.com.au> References: <441A4A41.3000800@netratings.com.au> <441A4F18.7050009@perltraining.com.au> <441A6E27.3030001@netratings.com.au> Message-ID: <441A9769.7010107@perltraining.com.au> Mathew Robertson wrote: >>The short answer is that you can't. Print isn't one of Perl's overloadable >>functions. (The reason is that the syntax is special cased. You cannot make a >>user function with the same prototype.) >> > ok - I'm guessing this is because print can take a filehandle as the > first argument ? That's the one! > ok - thats a bit complicated. Any ideas on the implementation of the > sub-class of IO::File ? Nope. Upon further consideration it might not help anyway for what you're trying to do, as I think you'd have to do $fh->print.... > Currently if I want to print out a string translated (to say Chinese), I > would code something like: > > use Locale::MakePhrase; > my $mp = Locale::MakePhrase->new(language => 'zn_ch', ....); > ..... > print $mp->translate("Some text to translate"); > > thus to use the module within your application, would require the > application code to modified to support the L::M syntax. What I would > like to do is extend L::M to override 'print' so that the code becomes > much simpler: > > use Locale::MakePhrase qw(print); > Locale::MakePhrase->new(language => 'zn_ch',...); > ... > print "Some text to translate"; > > Thus with two simple lines at the top of the application, you > automagically get all of the translation facilities. If you choose to > use a different translation tool, you simply change those two lines - > thus saving you from having to re-code your app for the new API. Personally I think that's a little bit evil. What if I actually want to print? Surely it's not that hard to write an editor substitution for replacing "print" with "print $mp->translate" where desired. But sure, as an academic exercise, how could you do this? Perhaps the following might help. use Filter::Handle qw/subs/; Filter \*STDOUT, sub { print $mp->translate $_; }; All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From mathew.robertson at netratings.com.au Tue Mar 21 14:56:56 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 22 Mar 2006 09:56:56 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <441A9769.7010107@perltraining.com.au> References: <441A4A41.3000800@netratings.com.au> <441A4F18.7050009@perltraining.com.au> <441A6E27.3030001@netratings.com.au> <441A9769.7010107@perltraining.com.au> Message-ID: <442084B8.1090205@netratings.com.au> Hi folks, I asked the question of how to overload 'print' - here are the relevant parts of the implementation, for those that my be interested: package MyPrint; use strict; use warnings; use Symbol; use Exporter; use base qw(Exporter); our $STDOUT; our $filehandle; our $print = 1; our $println = 1; our $this; # Install a println handler to handle println'ing to a filehandle or STDOUT sub IO::Handle::println { my $FH = shift; print $FH (@_,$/); } sub main::println { CORE::print (@_,$/); } sub import { my $class = shift; my $caller = caller; my $sym = gensym; $STDOUT = select unless (defined $STDOUT); my %options; get_options('use',\%options, at _) if @_; $filehandle = (@_ > 0) ? shift : (defined $filehandle ? $filehandle : $STDOUT); die "Invalid filehandle specification" unless (defined $filehandle); $this = tie *$sym, $class, $filehandle; bless $sym, $class; if ($print) { select $sym; } if ($println) { no strict 'refs'; *{$caller."::println"} = \&{$class."::LM_println"}; } return $class; } sub unimport { my $class = shift; my $caller = caller; if ($print) { select $STDOUT; } if ($println) { no strict 'refs'; *{$caller."::println"} = \&{$class."::CORE_println"}; } return $class; } sub TIEHANDLE { my $class = shift; my $self = bless {}, $class; if (@_ > 0) { $self->{fh} = shift or die "No filehandle specified in constructor."; } else { $self->{fh} = select; } return $self; } sub PRINT { my $self = shift; my $fh = *{ $self->{fh} }; CORE::print $fh (mp(@_)); } sub PRINTLN { my $self = shift; my $fh = *{ $self->{fh} }; CORE::print $fh (mp(@_).$/); } no warnings 'once'; *new = *TIEHANDLE; *print = *PRINT; *println = *PRINTLN; use warnings 'once'; sub CORE_println { CORE::print $STDOUT @_,$/; } sub LM_println { PRINTLN $this, @_; } sub mp { ...do funky stuff... } 1; Thanks for all the suggestions, Mathew From mathew.robertson at netratings.com.au Tue Mar 21 15:32:10 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 22 Mar 2006 10:32:10 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: References: Message-ID: <44208CFA.1020601@netratings.com.au> Thats an interesting question, and one that I will eventually tackle. The whole concept of overriding 'print' itself is fundamentally suspect, so I'm specifically trying to *not* allow flexible useage of the package. This is seperate from the problem that the syntax (as you have specified below), is how you would expect to use the module. Where as I am dictating something like: use MyPrint ...FH...; package 1; use MyPrint; ... package 2; use MyPrint; ... which is bad-form on my part... I will definitely revisit the problem in the future, but for the moment it does what I would like. Mathew leif.eriksen at hpa.com.au wrote: > Mathew, > What would happen if I used your code in two different places to > create two overloaded print handles ? > > package 1; > ... > use MyPrint qw(STDERR); > > package 2; > ... > Use MyPrint qw(STDOUT); > ... > > That "our $this" and "out $filehandle" make me suspicious that the first > one created would get clobbered. If so, you may need to isolate the tie > handles from each other some how - inside the blessed hash springs to > mind - how to make that public is the next issue - seems you throw it > away at the moment. > > > Leif > > -----Original Message----- > From: mathew.robertson at netratings.com.au > [mailto:mathew.robertson at netratings.com.au] > Sent: Wednesday, 22 March 2006 9:57 AM > To: melbourne-pm at pm.org > Subject: Re: [Melbourne-pm] overloading 'print' > > Hi folks, > > I asked the question of how to overload 'print' - here are the relevant > parts of the implementation, for those that my be interested: > > package MyPrint; > use strict; > use warnings; > use Symbol; > use Exporter; > use base qw(Exporter); > our $STDOUT; > our $filehandle; > our $print = 1; > our $println = 1; > our $this; > > # Install a println handler to handle println'ing to a filehandle or > STDOUT > sub IO::Handle::println { my $FH = shift; print $FH (@_,$/); } > sub main::println { CORE::print (@_,$/); } > > sub import { > my $class = shift; > my $caller = caller; > my $sym = gensym; > $STDOUT = select unless (defined $STDOUT); > > my %options; > get_options('use',\%options, at _) if @_; > $filehandle = (@_ > 0) ? shift : (defined $filehandle ? $filehandle : > $STDOUT); > die "Invalid filehandle specification" unless (defined $filehandle); > > $this = tie *$sym, $class, $filehandle; > bless $sym, $class; > > if ($print) { select $sym; } > if ($println) { no strict 'refs'; *{$caller."::println"} = > \&{$class."::LM_println"}; } > > return $class; > } > > sub unimport { > my $class = shift; > my $caller = caller; > if ($print) { select $STDOUT; } > if ($println) { no strict 'refs'; *{$caller."::println"} = > \&{$class."::CORE_println"}; } > return $class; > } > > sub TIEHANDLE { > my $class = shift; > my $self = bless {}, $class; > if (@_ > 0) { > $self->{fh} = shift or die "No filehandle specified in > constructor."; > } else { > $self->{fh} = select; > } > return $self; > } > > sub PRINT { > my $self = shift; > my $fh = *{ $self->{fh} }; > CORE::print $fh (mp(@_)); > } > > sub PRINTLN { > my $self = shift; > my $fh = *{ $self->{fh} }; > CORE::print $fh (mp(@_).$/); > } > > no warnings 'once'; > *new = *TIEHANDLE; > *print = *PRINT; > *println = *PRINTLN; > use warnings 'once'; > > sub CORE_println { CORE::print $STDOUT @_,$/; } > sub LM_println { PRINTLN $this, @_; } > > sub mp { ...do funky stuff... } > > 1; > > Thanks for all the suggestions, > Mathew > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > ********************************************************************** > IMPORTANT > The contents of this e-mail and its attachments are confidential and intended > solely for the use of the individual or entity to whom they are addressed. If > you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, > then delete the e-mail. > This footnote also confirms that this e-mail message has been swept for the > presence of computer viruses by Ironport. Before opening or using any > attachments, check them for viruses and defects. > Our liability is limited to resupplying any affected attachments. > HPA collects personal information to provide and market our services. For more > information about use, disclosure and access see our Privacy Policy at > www.hpa.com.au > ********************************************************************** > From joshua at roughtrade.net Tue Mar 21 15:56:41 2006 From: joshua at roughtrade.net (Joshua Goodall) Date: Wed, 22 Mar 2006 10:56:41 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <44208CFA.1020601@netratings.com.au> References: <44208CFA.1020601@netratings.com.au> Message-ID: <20060321235641.GX46507@roughtrade.net> On Wed, Mar 22, 2006 at 10:32:10AM +1100, Mathew Robertson wrote: > Thats an interesting question, and one that I will eventually tackle. > The whole concept of overriding 'print' itself is fundamentally suspect, > so I'm specifically trying to *not* allow flexible useage of the package. was there a reason you couldn't just create a wrapper class derived from IO::Wrap or whatever? The wrapper class could then just munge the print call on the way through. depends on your code architecture I guess, but the OO way is nice :) -- Josh "Koshua" Goodall "as modern as tomorrow afternoon" joshua at roughtrade.net - FW109 From mathew.robertson at netratings.com.au Tue Mar 21 16:26:07 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 22 Mar 2006 11:26:07 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <20060321235641.GX46507@roughtrade.net> References: <44208CFA.1020601@netratings.com.au> <20060321235641.GX46507@roughtrade.net> Message-ID: <4420999F.4050301@netratings.com.au> The main point of the exercise was so that I could do something like: use MyPrint; print "Blah"; which outputs: MyPrint: Blah rather than: Blah The purpose being that I simply want to delete the 'use MyPrint;' line to restore the normal Perl behaviour. Using IO::Wrap doesn't give that as I would have to change the syntax to: use IO::Wrap; no warnings; sub IO::Wrap::print { my $self = shift; print { $$self } "IO::Wrapped: ", @_; } use warnings; wraphandle(\*STDOUT); print "Blah"; or something similar. However, this doesn't override 'print' as it produces the output: Blah rather than what is wanted: IO::Wrapped: Blah Hope this explains, Mathew Joshua Goodall wrote: > On Wed, Mar 22, 2006 at 10:32:10AM +1100, Mathew Robertson wrote: > >> Thats an interesting question, and one that I will eventually tackle. >> The whole concept of overriding 'print' itself is fundamentally suspect, >> so I'm specifically trying to *not* allow flexible useage of the package. >> > > was there a reason you couldn't just create a wrapper class derived > from IO::Wrap or whatever? The wrapper class could then just munge > the print call on the way through. > > depends on your code architecture I guess, but the OO way is nice :) > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060322/28b01e2f/attachment.html From joshua at roughtrade.net Tue Mar 21 17:23:23 2006 From: joshua at roughtrade.net (Joshua Goodall) Date: Wed, 22 Mar 2006 12:23:23 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <4420999F.4050301@netratings.com.au> References: <44208CFA.1020601@netratings.com.au> <20060321235641.GX46507@roughtrade.net> <4420999F.4050301@netratings.com.au> Message-ID: <20060322012323.GY46507@roughtrade.net> On Wed, Mar 22, 2006 at 11:26:07AM +1100, Mathew Robertson wrote: > Using IO::Wrap doesn't give that as I would have to change the syntax to: > > use IO::Wrap; > no warnings; > sub IO::Wrap::print { > my $self = shift; > print { $$self } "IO::Wrapped: ", @_; > } > use warnings; > wraphandle(\*STDOUT); > print "Blah"; > > or something similar. However, this doesn't override 'print' as it > produces the output: man ... why take a nice OO package and shove a pitchfork in its guts? :) anyway on closer examination IO::Wrap turns out to be the retarded child of what it might be. I had something in mind like: package MyWrap; use IO::Handle; sub new { my $class = ref($_[0]) || $_[0]; bless {io => $_[1], class => $class}, $class; } sub AUTOLOAD { my $self = shift; return if $AUTOLOAD =~ /::DESTROY$/; $AUTOLOAD =~ s/^$self->{class}:://; $self->{io}->$AUTOLOAD(@_); } sub print { my $self = shift; $self->{io}->print($self->{class}, ": ", @_); } package main; $stdout = new MyWrap(\*STDOUT); $stdout->print("Blah\n"); which is nice for libraries and anything where you shouldn't be relying on global runtime state (i.e. any code in excess of 4 lines, excepting perhaps debug code and other meta stuff) I've used this approach for self-indenting filehandles (which then nests very nicely). Although it was also finessed with gensym so that they behaved a little more like IO::Handle objects. /k -- Josh "Koshua" Goodall "as modern as tomorrow afternoon" joshua at roughtrade.net - FW109 From mathew.robertson at netratings.com.au Tue Mar 21 19:01:49 2006 From: mathew.robertson at netratings.com.au (Mathew Robertson) Date: Wed, 22 Mar 2006 14:01:49 +1100 Subject: [Melbourne-pm] overloading 'print' In-Reply-To: <20060322012323.GY46507@roughtrade.net> References: <44208CFA.1020601@netratings.com.au> <20060321235641.GX46507@roughtrade.net> <4420999F.4050301@netratings.com.au> <20060322012323.GY46507@roughtrade.net> Message-ID: <4420BE1D.7050506@netratings.com.au> :-) which is the exact opposite of what I was trying to achieve....! There is no question of using the object->print syntax as the preferred method to print, but usually thats not how people code when they want to print to STDOUT. Mathew Joshua Goodall wrote: > On Wed, Mar 22, 2006 at 11:26:07AM +1100, Mathew Robertson wrote: > >> Using IO::Wrap doesn't give that as I would have to change the syntax to: >> >> use IO::Wrap; >> no warnings; >> sub IO::Wrap::print { >> my $self = shift; >> print { $$self } "IO::Wrapped: ", @_; >> } >> use warnings; >> wraphandle(\*STDOUT); >> print "Blah"; >> >> or something similar. However, this doesn't override 'print' as it >> produces the output: >> > > man ... why take a nice OO package and shove a pitchfork in its guts? :) > anyway on closer examination IO::Wrap turns out to be the retarded child > of what it might be. > > I had something in mind like: > > package MyWrap; > use IO::Handle; > > sub new { > my $class = ref($_[0]) || $_[0]; > bless {io => $_[1], class => $class}, $class; > } > > sub AUTOLOAD { > my $self = shift; > return if $AUTOLOAD =~ /::DESTROY$/; > $AUTOLOAD =~ s/^$self->{class}:://; > $self->{io}->$AUTOLOAD(@_); > } > > sub print { > my $self = shift; > $self->{io}->print($self->{class}, ": ", @_); > } > > package main; > > $stdout = new MyWrap(\*STDOUT); > $stdout->print("Blah\n"); > > > > which is nice for libraries and anything where you shouldn't be relying > on global runtime state (i.e. any code in excess of 4 lines, excepting > perhaps debug code and other meta stuff) > > I've used this approach for self-indenting filehandles (which then nests > very nicely). Although it was also finessed with gensym so that they > behaved a little more like IO::Handle objects. > > /k > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060322/988a9851/attachment-0001.html From sambrent at gmail.com Wed Mar 22 16:30:52 2006 From: sambrent at gmail.com (Sam Brent) Date: Thu, 23 Mar 2006 11:30:52 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers Message-ID: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> Has anyone ever had a CGI script that creates the right output when run in a terminal but the incorrect ouput when run in a browser? With a script I'm running, all the hard coded prints are carrying through fine, i.e: print header, start_html() etc. etc. but prints that actually use perl to get their parameters like reading from a file then printing the output go nowhere. Any thoughts? -- Samuel James Brent MSN: sammyleephd at hotmail.com Mobile: 0419201806 From benji at arsimagica.net Wed Mar 22 17:08:03 2006 From: benji at arsimagica.net (Benji Wakely) Date: Thu, 23 Mar 2006 12:08:03 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: Your message of "Thu, 23 Mar 2006 11:30:52 +1100." <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> Message-ID: <200603230108.k2N183Da006590@arch.localnet> On Thu, 23 Mar 2006 11:30:52 +1100, "Sam Brent" wrote: >Has anyone ever had a CGI script that creates the right output when >run in a terminal but the incorrect ouput when run in a browser? Quite a few times... :) Simple things to check: For me, it was nearly always down to the perl script relying on environment variables that weren't available when it was invoked as a cgi. It's also probable that it's an entirely different user that's running the script. ("you" from the command line, "apache" from the web for example.) >but prints that actually use perl to get their parameters like reading >from a file then printing the output go nowhere. Are your file/pathnames fully qualified? $infile = "$HOME/file.dat"; might be better off replaced by $infile = "/home/me/file.dat"; --Benji From matt at secondaryfusion.net Wed Mar 22 17:08:46 2006 From: matt at secondaryfusion.net (matt) Date: Thu, 23 Mar 2006 12:08:46 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> Message-ID: need more information! an example of the prints that are failing would be nice. typically when scripts run from the terminal but not in browser it's usually permissions-related: is your CGI script failing to read a file because the user (nobody|www-data|apache) doesn't have permission to read it? try putting an 'or die' after all of your opens, and then "use CGI::Carp qw(fatalsToBrowser);", that will give you an answer pretty quickly :) On 3/23/06, Sam Brent wrote: > Has anyone ever had a CGI script that creates the right output when > run in a terminal but the incorrect ouput when run in a browser? > > With a script I'm running, all the hard coded prints are carrying > through fine, i.e: > > print header, start_html() etc. etc. > > but prints that actually use perl to get their parameters like reading > from a file then printing the output go nowhere. > > Any thoughts? > > -- > Samuel James Brent > MSN: sammyleephd at hotmail.com > Mobile: 0419201806 > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm > From jarich at perltraining.com.au Wed Mar 22 19:32:13 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Thu, 23 Mar 2006 14:32:13 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> Message-ID: <442216BD.2090000@perltraining.com.au> Sam Brent wrote: > Has anyone ever had a CGI script that creates the right output when > run in a terminal but the incorrect ouput when run in a browser? > > With a script I'm running, all the hard coded prints are carrying > through fine, i.e: > > print header, start_html() etc. etc. > > but prints that actually use perl to get their parameters like reading > from a file then printing the output go nowhere. > > Any thoughts? Unfortunately you're not really giving enough information for me to properly understand what symptoms you're seeing. If you can show us the code for some of these weird prints, I might have a better idea. The common problems for differences between CGI scripts run on the command line vs those run via a web server are permissions. If you're trying to read from a file and print that data, you should check that the open succeeded. The web server may not have the same user id as yourself. All the best, Jacinta From ajsavige at yahoo.com.au Thu Mar 23 02:20:31 2006 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Thu, 23 Mar 2006 21:20:31 +1100 (EST) Subject: [Melbourne-pm] Any chance of moving Melbourne.pm meeting from 12 April to 19 April? Message-ID: <20060323102031.26502.qmail@web36111.mail.mud.yahoo.com> I will be visiting (from Sydney) that week, and would like to attend a Melbourne.pm meeting, you see. Cheers, /-\ ____________________________________________________ On Yahoo!7 360?: Your own space to share what you want with who you want! http://www.yahoo7.com.au/360 From scottp at dd.com.au Thu Mar 23 03:31:58 2006 From: scottp at dd.com.au (Scott Penrose) Date: Thu, 23 Mar 2006 22:31:58 +1100 Subject: [Melbourne-pm] Any chance of moving Melbourne.pm meeting from 12 April to 19 April? In-Reply-To: <20060323102031.26502.qmail@web36111.mail.mud.yahoo.com> References: <20060323102031.26502.qmail@web36111.mail.mud.yahoo.com> Message-ID: Although it seems ok - I am worried about holidays. Many people take that whole week off, after Easter, so it might be a bit quiet. What do others think? Scooter On 23/03/2006, at 21:20, Andrew Savige wrote: > I will be visiting (from Sydney) that week, and would like > to attend a Melbourne.pm meeting, you see. > > Cheers, > /-\ > > > > > ____________________________________________________ > On Yahoo!7 > 360?: Your own space to share what you want with who you want! > http://www.yahoo7.com.au/360 > _______________________________________________ > Melbourne-pm mailing list > Melbourne-pm at pm.org > http://mail.pm.org/mailman/listinfo/melbourne-pm -- * - * http://www.osdc.com.au - Open Source Developers Conference * - * Scott Penrose Anthropomorphic Personification Expert http://search.cpan.org/search?author=SCOTT scott at cpan.org Dismaimer: While every attempt has been made to make sure that this email only contains zeros and ones, there has been no effort made to guarantee the quantity or the order. Please do not send me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html Microsoft is not the answer. It's the question. And the answer is no. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060323/cd8a7f4c/PGP.bin From ajsavige at yahoo.com.au Thu Mar 23 13:07:55 2006 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Fri, 24 Mar 2006 08:07:55 +1100 (EST) Subject: [Melbourne-pm] Interface Classes In-Reply-To: Message-ID: <20060323210755.95899.qmail@web36110.mail.mud.yahoo.com> --- Scott Penrose wrote: > But... in Perl we don't have the Interface that Java does... I just stumbled on this node today: http://www.perlmonks.org/?node_id=379101 Notice that Perl 6 prefers the concept of "roles" to "interfaces", AFAICT because, though interfaces are great for enforcing a consistent interface across classes, they don't provide any help at all with code reuse. To get a feel for Perl6-style roles in Perl 5, have a look at: http://search.cpan.org/dist/Class-Trait/ http://search.cpan.org/dist/Perl6-Roles/ http://search.cpan.org/dist/Class-Role/ http://search.cpan.org/dist/Class-Roles/ /-\ ____________________________________________________ On Yahoo!7 Messenger - Make free PC-to-PC calls to your friends overseas. http://au.messenger.yahoo.com From leif.eriksen at hpa.com.au Thu Mar 23 16:23:05 2006 From: leif.eriksen at hpa.com.au (leif.eriksen@hpa.com.au) Date: Fri, 24 Mar 2006 11:23:05 +1100 Subject: [Melbourne-pm] Any chance of moving Melbourne.pm meeting from 12 April to 19 April? Message-ID: I would worry about those who come to the meeting on the 12th based on information in channels other than the mailing list - someone see's our meeting schedule 'somewhere' on the web/talking to another monger/... and comes on the 12th - perhaps if we have a 'catch' person(s) to explain what we have done and take them to the pub ... Oh and I would never let something like holidays be an excuse to not come to MPM ... -----Original Message----- From: scottp at dd.com.au [mailto:scottp at dd.com.au] Sent: Thursday, 23 March 2006 10:32 PM To: ajsavige at yahoo.com.au Cc: melbourne-pm at pm.org Subject: Re: [Melbourne-pm] Any chance of moving Melbourne.pm meeting from 12 April to 19 April? _______________________________________________ Melbourne-pm mailing list Melbourne-pm at pm.org http://mail.pm.org/mailman/listinfo/melbourne-pm ********************************************************************** IMPORTANT The contents of this e-mail and its attachments are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au, then delete the e-mail. This footnote also confirms that this e-mail message has been swept for the presence of computer viruses by Ironport. Before opening or using any attachments, check them for viruses and defects. Our liability is limited to resupplying any affected attachments. HPA collects personal information to provide and market our services. For more information about use, disclosure and access see our Privacy Policy at www.hpa.com.au ********************************************************************** From daniel at rimspace.net Thu Mar 23 16:35:01 2006 From: daniel at rimspace.net (Daniel Pittman) Date: Fri, 24 Mar 2006 11:35:01 +1100 Subject: [Melbourne-pm] Any chance of moving Melbourne.pm meeting from 12 April to 19 April? In-Reply-To: (leif eriksen's message of "Fri, 24 Mar 2006 11:23:05 +1100") References: Message-ID: <87acbgwuh6.fsf@rimspace.net> leif.eriksen at hpa.com.au writes: > I would worry about those who come to the meeting on the 12th based on > information in channels other than the mailing list - someone see's our > meeting schedule 'somewhere' on the web/talking to another monger/... > and comes on the 12th - perhaps if we have a 'catch' person(s) to > explain what we have done and take them to the pub ... > > Oh and I would never let something like holidays be an excuse to not > come to MPM ... ...or the lack of an MPM meeting be an excuse not to meet the Sydney chap for a drink or dinner, at least. Daniel -- Digital Infrastructure Solutions -- making IT simple, stable and secure Phone: 0401 155 707 email: contact at digital-infrastructure.com.au From sambrent at gmail.com Thu Mar 23 22:57:56 2006 From: sambrent at gmail.com (Sam Brent) Date: Fri, 24 Mar 2006 17:57:56 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <442216BD.2090000@perltraining.com.au> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <442216BD.2090000@perltraining.com.au> Message-ID: <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> Hi, thanks everyone for getting back to me. I'm not reading from a file exactly, I'm using LWP to get data from a webpage then reinterpreting that data and printing it on my webpage. I don't think it's a permission problem, i've given chmod 777 to everything including the folder my script is running in and it's still doing the same thing. I think that's what you meant, I'm still learning UNIX so I may be wrong... If anyone else has any ideas I'd love to hear them. Sammy. P.S. It also wasnt an issue of filestructure, since i'm using just this script, a pm in the same folder and LWP. ta. On 3/23/06, Jacinta Richardson wrote: > Sam Brent wrote: > > Has anyone ever had a CGI script that creates the right output when > > run in a terminal but the incorrect ouput when run in a browser? > > > > With a script I'm running, all the hard coded prints are carrying > > through fine, i.e: > > > > print header, start_html() etc. etc. > > > > but prints that actually use perl to get their parameters like reading > > from a file then printing the output go nowhere. > > > > Any thoughts? > > Unfortunately you're not really giving enough information for me to > properly understand what symptoms you're seeing. If you can show us the > code for some of these weird prints, I might have a better idea. > > The common problems for differences between CGI scripts run on the > command line vs those run via a web server are permissions. If you're > trying to read from a file and print that data, you should check that > the open succeeded. The web server may not have the same user id as > yourself. > > All the best, > > Jacinta > -- Samuel James Brent MSN: sammyleephd at hotmail.com Mobile: 0419201806 From jarich at perltraining.com.au Sun Mar 26 15:00:14 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 27 Mar 2006 09:00:14 +1000 Subject: [Melbourne-pm] Rescheduling April's meeting? Message-ID: <44271CFE.6030400@perltraining.com.au> G'day everyone, As you would have seen last week, Andrew Savige will be in town shortly. Andrew is the author of Acme::EyeDrops and Archive::Tar. He's a great speaker and might even share with us the secret of how Acme::EyeDrops works. I propose that we *do* move our meeting time for April from the 12th to the 19th as requested so that we can hear a talk from Andrew. Of course I'm assuming that Andrew will whip us up a talk, but I don't expect to be disappointed on this score. However, it's obviously not just up to me. ;) Have your say and vote at: http://perl.net.au/wiki/Melbourne_Perl_Mongers/12-19_April_vote no registration required, it's really quick, I promise. Don't put it off! Issues with changing the meeting date are: * ensuring that we'll be able to book the meeting space (Scott can you get back to us on this one?) * people may be on holidays (what a good reason to come to PM!) * people who don't read their email (or forget) might come on the wrong day. There's not a lot we can do about the third. As far as I know all of the places which advertise Melbourne Perl Mongers encourage readers to sign up to the mailing list. I suggest we put a sign on the door on the night of the 12th and perhaps have a friendly person or two (like Paul) hang around and hand out urls to the mailing list to anyone who turns up looking for the meeting. I don't know how long Andrew's talk might be, so if I recall correctly, Leif still has some talks up his sleeves, Simon has some Perlmeme intro material (foreach?) and a talk on genetic algorithms and Ben wants to talk about Perlish interaction and Perl6 modules at some stage. If any of these wonderful people could let me know whether they expect to be available to talk this month, that would be great. I can also put together a talk showing of the regex-coach a free (as in beer) regex tool which I have found extremely useful recently. If you do have any ideas for future talks, either for topics you want to hear or for something you might be willing to say, send it through to the list or add it to: http://perl.net.au/wiki/Melbourne_Perl_Mongers#Future_meeting_topics.2Fideas All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From jarich at perltraining.com.au Sun Mar 26 15:05:14 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 27 Mar 2006 09:05:14 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <442216BD.2090000@perltraining.com.au> <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> Message-ID: <44271E2A.5060007@perltraining.com.au> Sam Brent wrote: > I'm not reading from a file exactly, I'm using LWP to get data from a > webpage then reinterpreting that data and printing it on my webpage. > I don't think it's a permission problem, i've given chmod 777 to > everything including the folder my script is running in and it's still > doing the same thing. > > I think that's what you meant, I'm still learning UNIX so I may be wrong... > > If anyone else has any ideas I'd love to hear them. G'day Sammy, It's really *really* hard to debug someone's Perl problem without access to any code. Is it possible for you to condense your code down to something like: #!/usr/bin/perl -w use strict; use LWP; use CGI; # setup LWP just as you do for your script # do stuff with LWP my $cgi= CGI->new(); print $cgi->headers(); print $cgi->h1("a test"); # This prints fine # print something from LWP that doesn't work. Obviously there would be code instead of most of those comments. You'd then make sure that this very small coding example exhibited the issues you are having with the program. Once you then supply this to us, we can have a go at duplicating the problem, or at least reading the code to see what you're doing. Without code, knowledge of your machine and much of the knowledge you have, there's next to nothing we can do to help you. All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From sambrent at gmail.com Sun Mar 26 15:57:03 2006 From: sambrent at gmail.com (Sam Brent) Date: Mon, 27 Mar 2006 09:57:03 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <44271E2A.5060007@perltraining.com.au> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <442216BD.2090000@perltraining.com.au> <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> <44271E2A.5060007@perltraining.com.au> Message-ID: <7ca1ed0d0603261557h54680a8br6104644faedfdea2@mail.gmail.com> Hehehe, Well I tried to avoid it for as long as possible but I guess I have no other option, code is attached. showall is a 777 chmodded script that is run logon.pm is a module file with functions i commonly use in this project I have other scripts that also display differently on browsers to running them in term, but I think if I can understand what's wrong with this one, I can fix the rest. Thanks to anyone and everyone for trying/looking. Sammy. P.S. Sorry, I don't comment well or often. On 3/27/06, Jacinta Richardson wrote: > Sam Brent wrote: > > > I'm not reading from a file exactly, I'm using LWP to get data from a > > webpage then reinterpreting that data and printing it on my webpage. > > I don't think it's a permission problem, i've given chmod 777 to > > everything including the folder my script is running in and it's still > > doing the same thing. > > > > I think that's what you meant, I'm still learning UNIX so I may be wrong... > > > > If anyone else has any ideas I'd love to hear them. > > G'day Sammy, > > It's really *really* hard to debug someone's Perl problem without access to any > code. Is it possible for you to condense your code down to something like: > > #!/usr/bin/perl -w > use strict; > use LWP; > use CGI; > > # setup LWP just as you do for your script > # do stuff with LWP > > my $cgi= CGI->new(); > print $cgi->headers(); > print $cgi->h1("a test"); # This prints fine > > # print something from LWP that doesn't work. > > Obviously there would be code instead of most of those comments. You'd then > make sure that this very small coding example exhibited the issues you are > having with the program. Once you then supply this to us, we can have a go at > duplicating the problem, or at least reading the code to see what you're doing. > > Without code, knowledge of your machine and much of the knowledge you have, > there's next to nothing we can do to help you. > > All the best, > > Jacinta > > -- > ("`-''-/").___..--''"`-._ | Jacinta Richardson | > `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | > (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | > _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | > (il),-'' (li),' ((!.-' | www.perltraining.com.au | > > > -- Samuel James Brent MSN: sammyleephd at hotmail.com Mobile: 0419201806 -------------- next part -------------- A non-text attachment was scrubbed... Name: logon.pm Type: text/x-perl-script Size: 8993 bytes Desc: not available Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060326/4c74cd4b/logon.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: showall Type: application/octet-stream Size: 2108 bytes Desc: not available Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060326/4c74cd4b/showall.obj From jarich at perltraining.com.au Sun Mar 26 16:02:28 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 27 Mar 2006 10:02:28 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603261557h54680a8br6104644faedfdea2@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <442216BD.2090000@perltraining.com.au> <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> <44271E2A.5060007@perltraining.com.au> <7ca1ed0d0603261557h54680a8br6104644faedfdea2@mail.gmail.com> Message-ID: <44272B94.80704@perltraining.com.au> Sam Brent wrote: > Hehehe, Well I tried to avoid it for as long as possible but I guess I > have no other option, code is attached. Actually you did have. ;) I asked you for a condensed version (that is a new script) which showed the problem you were having and nothing further. Since you've given us your program, can you point to a few of the print statements which are working fine when you run your script but not when your server runs it? All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From sambrent at gmail.com Sun Mar 26 16:07:48 2006 From: sambrent at gmail.com (Sam Brent) Date: Mon, 27 Mar 2006 10:07:48 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <44272B94.80704@perltraining.com.au> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <442216BD.2090000@perltraining.com.au> <7ca1ed0d0603232257w5d17199di39a9660db7e6f05d@mail.gmail.com> <44271E2A.5060007@perltraining.com.au> <7ca1ed0d0603261557h54680a8br6104644faedfdea2@mail.gmail.com> <44272B94.80704@perltraining.com.au> Message-ID: <7ca1ed0d0603261607r3bcd6e00n6ce546a96e1b482@mail.gmail.com> On 3/27/06, Jacinta Richardson wrote: > Sam Brent wrote: > > Hehehe, Well I tried to avoid it for as long as possible but I guess I > > have no other option, code is attached. > > Actually you did have. ;) I asked you for a condensed version (that is a new > script) which showed the problem you were having and nothing further. Yeah, but if i'm going to show you anything I may as well show you everything ( i did hide a few things just btw ;) ) > Since you've given us your program, can you point to a few of the print statements > which are working fine when you run your script but not when your server runs it? Of course: ------ Mon Mar 27 11:06:06 2006 [submit button] Player Score Index Back By Sammy Brent 2005, Patent Pending Disclaimer ------ And in the working version, there is a huge printed list of players and scores in between "Player Score Index" and "Back" > All the best, > > Jacinta > > -- > ("`-''-/").___..--''"`-._ | Jacinta Richardson | > `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | > (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | > _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | > (il),-'' (li),' ((!.-' | www.perltraining.com.au | > > > -- Samuel James Brent MSN: sammyleephd at hotmail.com Mobile: 0419201806 From simon at unisolve.com.au Sun Mar 26 16:40:16 2006 From: simon at unisolve.com.au (Simon Taylor) Date: Mon, 27 Mar 2006 10:40:16 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603261607r3bcd6e00n6ce546a96e1b482@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <44272B94.80704@perltraining.com.au> <7ca1ed0d0603261607r3bcd6e00n6ce546a96e1b482@mail.gmail.com> Message-ID: <200603271040.16517.simon@unisolve.com.au> G'day Sam, > > > Hehehe, Well I tried to avoid it for as long as possible but I guess I > > > have no other option, code is attached. > > > > Actually you did have. ;) I asked you for a condensed version (that is > > a new script) which showed the problem you were having and nothing > > further. > > Yeah, but if i'm going to show you anything I may as well show you > everything ( i did hide a few things just btw ;) ) To the contrary. Just creating the kind of small, self-contained example that Jacinta is asking for often solves the problem by itself. There really is merit in producing the smallest-possible example of a problem before asking people to look at it. Happy coding, Simon Taylor -- Unisolve Pty Ltd - Melbourne, Australia +61 3 9568 2005 From pjf at perltraining.com.au Sun Mar 26 17:15:16 2006 From: pjf at perltraining.com.au (Paul Fenwick) Date: Mon, 27 Mar 2006 12:15:16 +1100 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> Message-ID: <44273CA4.1000904@perltraining.com.au> G'day Sam, Sam Brent wrote: > Has anyone ever had a CGI script that creates the right output when > run in a terminal but the incorrect ouput when run in a browser? I just glanced through your code, and my guess would be that when it is run from a browser it's using a different current working directory than when you're executing it from the command line. As such, your code that opens and reads your file will fail. This is an easy theory to test. Presently your code using the following line, which does not check to see if the file was opened successfully: open ROUND,"; chomp $round; close ROUND; Instead you may wish to try: open(ROUND,"; chomp $round; close(ROUND); Or, if you want a solution with a more best-practice coding style using scalar filehandles and lexical variables: open(my $round_fh, "<", "round") or die "Cannot open round - $!"; my $round = <$round_fh>; chomp($round); close($round_fh); The advantage here is that your program will die noisy if it cannot open the file it's after. You can even add: use CGI::Carp qw(fatalsToBrowser); to have those errors display to the browser, which may make debugging and development easier. All the very best, Paul -- Paul Fenwick | http://perltraining.com.au/ Director of Training | Ph: +61 3 9354 6001 Perl Training Australia | Fax: +61 3 9354 2681 From jarich at perltraining.com.au Sun Mar 26 18:18:25 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 27 Mar 2006 12:18:25 +1000 Subject: [Melbourne-pm] Annual General Meetings.... May meeting? Message-ID: <44274B71.7050909@perltraining.com.au> G'day everyone, According to the Associations Incorporation Act (1981): 30. (1) An incorporated association shall, at least once in each calendar year, convene a general meeting, to be called an annual general meeting, of its members. and 30. (2A) The second and any subsequent annual general meeting must be held within 5 months after the end of the financial year of the incorporated association. So, our AGM is late, way late. If our financial year ends 31 December, then the missing AGM should have occured prior to 31st March 2005. If our financial year ends 31st June, then our missing AGM should have occured prior to 30th November 2005. I suggest we organise one soon. Say May 10th 2006? All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From jarich at perltraining.com.au Sun Mar 26 18:19:58 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Mon, 27 Mar 2006 12:19:58 +1000 Subject: [Melbourne-pm] MPM committee minutes for 2005 Message-ID: <44274BCE.4010407@perltraining.com.au> To the Melbourne Perl Mongers Committee members, According to the rules by which the Melbourne Perl Mongers Inc is governed (model rules): 20. (1) The committee must meet at least 3 times in each year at such place and such times as the committee may determine. and further: 31. Minutes of meetings The Secretary of the Association must keep minutes of the resolutions and proceedings of each general meeting, and each committee meeting, together with a record of the names of persons present at committee meetings. I am asking under 36.(2) for copies of those meeting minutes: 36.(2) All accounts, books, securities and any other relevant documents of the Association must be available for inspection free of charge by any member upon request. The reason for this request is to understand how and when the Melbourne Perl Mongers Association chose to give control of organising, running and profiting from the Open Source Developers' Conference (previously a subcommittee of Melbourne Perl Mongers Association) to a third party (the Open Source Developer's Conference Association). I am further curious as to what measures the Melbourne Perl Mongers Association took to resolve the monies owing to it by Open Source Victoria, prior to selling that asset to the Open Source Developer's Conference Association, if indeed that sale has been made. For what it's worth, I am upset, as a fully financial member of Melbourne Perl Mongers, that I was not informed by the *Melbourne Perl Monger committee* about the transfer of responsibility of the conference to a third party. I realise that as a committee you have the right to make these decisions, but I feel that this was a significant decision and one of which the membership should have been informed. All the best, Jacinta -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From sambrent at gmail.com Sun Mar 26 18:45:48 2006 From: sambrent at gmail.com (Sam Brent) Date: Mon, 27 Mar 2006 12:45:48 +1000 Subject: [Melbourne-pm] Wierd CGI Error - different displays for different executers In-Reply-To: <44273CA4.1000904@perltraining.com.au> References: <7ca1ed0d0603221630i6a87fe9co448d41d1cdbc1462@mail.gmail.com> <44273CA4.1000904@perltraining.com.au> Message-ID: <7ca1ed0d0603261845p1868298o73d75258ef63252a@mail.gmail.com> Hi Paul, Thanks so much for your help, I tried adding $round into the start_html() so it prints the value of $round into the titlebar, but it printed fine so i don't think it's an issue of path. Also, since I'm not getting any "erorrs" per se, fatalsToBrowser doesn't do anything :( Thanks for trying though mate, I really appreciate it. me. On 3/27/06, Paul Fenwick wrote: > G'day Sam, > > Sam Brent wrote: > > > Has anyone ever had a CGI script that creates the right output when > > run in a terminal but the incorrect ouput when run in a browser? > > I just glanced through your code, and my guess would be that when it is run from > a browser it's using a different current working directory than when you're > executing it from the command line. As such, your code that opens and reads > your file will fail. > > This is an easy theory to test. Presently your code using the following line, > which does not check to see if the file was opened successfully: > > open ROUND,"; chomp $round; close ROUND; > > Instead you may wish to try: > > open(ROUND," $round=; > chomp $round; > close(ROUND); > > Or, if you want a solution with a more best-practice coding style using scalar > filehandles and lexical variables: > > open(my $round_fh, "<", "round") or die "Cannot open round - $!"; > my $round = <$round_fh>; > chomp($round); > close($round_fh); > > The advantage here is that your program will die noisy if it cannot open the > file it's after. You can even add: > > use CGI::Carp qw(fatalsToBrowser); > > to have those errors display to the browser, which may make debugging and > development easier. > > All the very best, > > Paul > > -- > Paul Fenwick | http://perltraining.com.au/ > Director of Training | Ph: +61 3 9354 6001 > Perl Training Australia | Fax: +61 3 9354 2681 > -- Samuel James Brent MSN: sammyleephd at hotmail.com Mobile: 0419201806 From bjdean at bjdean.id.au Sun Mar 26 20:17:39 2006 From: bjdean at bjdean.id.au (Bradley Dean) Date: Mon, 27 Mar 2006 15:17:39 +1100 (EST) Subject: [Melbourne-pm] (no subject) Message-ID: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> Greetings folks, I'm sure the answer to this is going to be either 'kick-myself' simple or practically impossible - I've been playing around and looking through documentation to no avail... How do I directly reference a member of a returned array - ie (in broken code): sub gimme_an_array { return (1,2,3,4,5,6); } my $third_member = gimme_an_array()[2]; Which is invalid syntax, but I cannot work out the correct syntax.... Any ideas? Brad -- Bradley Dean ... 平静 Software Engineer - http://bjdean.id.au/ Email: bjdean at bjdean.id.au Mobile: +61-413014395 AICSA - webmaster at aicsa.org.au - http://www.aicsa.org.au/ ICICLES Ski Club - webmaster at icicles.com.au - http://www.icicles.com.au/ From pjf at perltraining.com.au Sun Mar 26 20:19:14 2006 From: pjf at perltraining.com.au (Paul Fenwick) Date: Mon, 27 Mar 2006 15:19:14 +1100 Subject: [Melbourne-pm] Referencing an item in a list In-Reply-To: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> References: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> Message-ID: <442767C2.7050504@perltraining.com.au> G'day Brad, Bradley Dean wrote: > How do I directly reference a member of a returned array - ie (in broken > code): > > sub gimme_an_array { return (1,2,3,4,5,6); } > my $third_member = gimme_an_array()[2]; Try: my $third_member = (gimme_an_array())[2]; The extra set of parens tells Perl "here comes a list", which you may then index at your pleasure. Cheerio, Paul -- Paul Fenwick | http://perltraining.com.au/ Director of Training | Ph: +61 3 9354 6001 Perl Training Australia | Fax: +61 3 9354 2681 From wigs at stirfried.org Sun Mar 26 20:35:56 2006 From: wigs at stirfried.org (wigs@stirfried.org) Date: Mon, 27 Mar 2006 14:35:56 +1000 Subject: [Melbourne-pm] (no subject) In-Reply-To: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> References: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> Message-ID: <20060327043555.GA30870@stirfried.org> On Mon, Mar 27, 2006 at 03:17:39PM +1100, Bradley Dean wrote: > How do I directly reference a member of a returned array - ie (in broken > code): > > sub gimme_an_array { return (1,2,3,4,5,6); } > my $third_member = gimme_an_array()[2]; > > Which is invalid syntax, but I cannot work out the correct syntax.... my $third_member = (gimme_an_array())[2]; -- Wigs From brendon.oliver at gmail.com Sun Mar 26 21:29:43 2006 From: brendon.oliver at gmail.com (Brendon Oliver) Date: Mon, 27 Mar 2006 15:29:43 +1000 Subject: [Melbourne-pm] (no subject) In-Reply-To: <20060327043555.GA30870@stirfried.org> References: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> <20060327043555.GA30870@stirfried.org> Message-ID: <200603271529.43566.brendon.oliver@gmail.com> On Monday 27 March 2006 14:35, wigs at stirfried.org wrote: > > sub gimme_an_array { return (1,2,3,4,5,6); } > > my $third_member = gimme_an_array()[2]; > > > > Which is invalid syntax, but I cannot work out the correct syntax.... > > my $third_member = (gimme_an_array())[2]; Or, if you don't like the extra parens as describe by Paul & Wigs, do it via an array ref instead of an array: sub gimme_an_arrayref { return [1,2,3,4,5,6]; } my $third_member = gimme_an_arrayref()->[2]; cheers, - Brendon. -- Pause for storage relocation. 15:27:47 up 4 days, 23:22, 1 user, load average: 0.48, 0.37, 0.39 From bjdean at bjdean.id.au Sun Mar 26 20:34:27 2006 From: bjdean at bjdean.id.au (Bradley Dean) Date: Mon, 27 Mar 2006 15:34:27 +1100 (EST) Subject: [Melbourne-pm] Referencing an item in a list In-Reply-To: <442767C2.7050504@perltraining.com.au> References: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> <442767C2.7050504@perltraining.com.au> Message-ID: <39590.72.232.3.146.1143434067.squirrel@bjdean.id.au> Ahar! thanks folks... > Try: > > my $third_member = (gimme_an_array())[2]; In fact - I had done that, but with a twist... Here's what I was testing (though not, for some reason, what I put in my email as an example): sub gimme_an_array { return (1,2,3,4,5,6); } print gimme_an_array()[2]; The approach emailed to me by a couple of folk worked for my example, ie: $third_member = (gimme_an_array())[2]; But it turns out (bring on printf parameter parsing wierdness I say) that I needed another set of parens (just keep adding them until something works could be a moral here... :) print ((gimme_an_array())[2]); Cheerio, Brad -- Bradley Dean ... 平静 Software Engineer - http://bjdean.id.au/ Email: bjdean at bjdean.id.au Mobile: +61-413014395 AICSA - webmaster at aicsa.org.au - http://www.aicsa.org.au/ ICICLES Ski Club - webmaster at icicles.com.au - http://www.icicles.com.au/ From pjf at perltraining.com.au Sun Mar 26 20:49:07 2006 From: pjf at perltraining.com.au (Paul Fenwick) Date: Mon, 27 Mar 2006 15:49:07 +1100 Subject: [Melbourne-pm] Referencing an item in a list In-Reply-To: <39590.72.232.3.146.1143434067.squirrel@bjdean.id.au> References: <38985.72.232.3.146.1143433059.squirrel@bjdean.id.au> <442767C2.7050504@perltraining.com.au> <39590.72.232.3.146.1143434067.squirrel@bjdean.id.au> Message-ID: <44276EC3.6030906@perltraining.com.au> G'day Brad/MPM, Bradley Dean wrote: > But it turns out (bring on printf parameter parsing wierdness I say) that > I needed another set of parens (just keep adding them until something > works could be a moral here... :) > > print ((gimme_an_array())[2]); Oh! You've been caught by the rule that says whenever Perl sees parens following a subroutine or function call, those params are always used as the argument list. So: print ( gimme_an_array() )[2]; OR print (2+3)*7; are interpreted as: ( print(gimme_an_array()) )[2]; OR ( print(2+3) ) * 7; which certainly isn't what you want. One possible way of fixing this is to use the unary plus operator, which stops the parens appearing directly after the function name: print +( gimme_an_array() )[2] OR print +(2+3)*7; The other, of course, is to add more parens. I usually prefer adding extra parens because it means that more novice coders can understand what's going on. Unary plus isn't exactly a commonly seen operator. Cheerio, Paul -- Paul Fenwick | http://perltraining.com.au/ Director of Training | Ph: +61 3 9354 6001 Perl Training Australia | Fax: +61 3 9354 2681 From ajsavige at yahoo.com.au Mon Mar 27 04:31:42 2006 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Mon, 27 Mar 2006 22:31:42 +1000 (EST) Subject: [Melbourne-pm] Rescheduling April's meeting? In-Reply-To: <44271CFE.6030400@perltraining.com.au> Message-ID: <20060327123142.10772.qmail@web36102.mail.mud.yahoo.com> --- Jacinta Richardson wrote: > As you would have seen last week, Andrew Savige will be in town shortly. > Andrew is the author of Acme::EyeDrops and Archive::Tar. Jarich, thankyou for the kind words. However, I must point out that I'm not the author of Archive::Tar (though I was the A::T hoplite as part of the Phalanx project). > He's a great speaker and might even share with us the secret of how > Acme::EyeDrops works. Though I'm not a great speaker, I would be delighted to give a talk at Melbourne.pm. I've been lucky enough to witness Audrey Tang, Adam Kennedy, PJF and Jarich in action in the past year, which has inspired me to try to improve. Alas, I've never seen Damian (who I'm told is the best of them all and is rumoured to be writing a book divulging his secrets of giving a great presentation). I might add that -- like perl.net.au -- visits between Melbourne.pm and Sydney.pm members should help build the Australian Perl community and I encourage any visiting Melbourne.pm members to drop us a line if you're visiting Sydney and we'll be happy to move our meetings so we can meet up. As for talk topics, after trawling through some of my old PM nodes, I could give a talk on any of these subjects at fairly short notice: 1) Tales from writing a RPN in Perl 5, Perl6 and Haskell http://www.perlmonks.org/?node_id=520826 2) PBP and CCS Book Review http://www.perlmonks.org/?node_id=500556 3) The Lighter Side of Perl Culture http://www.perlmonks.org/?node_id=437032 4) Writing Solid CPAN Modules http://www.perlmonks.org/?node_id=418891 5) Saturn obfu http://www.perlmonks.org/?node_id=397958 6) Acme::EyeDrops http://search.cpan.org/dist/Acme-EyeDrops/ 7) Testing and QA 8) Audrey Tang's Sydney visit If you let me know which of these topics interests you most, I can prepare accordingly. > I propose that we *do* move our meeting time for April from the 12th to the > 19th as requested so that we can hear a talk from Andrew. Of course I'm > assuming that Andrew will whip us up a talk, but I don't expect to be > disappointed on this score. Yes, I'd be happy to give a talk. Thanks for inviting me. Cheers, /-\ ____________________________________________________ On Yahoo!7 Messenger - Make free PC-to-PC calls to your friends overseas. http://au.messenger.yahoo.com From jarich at perltraining.com.au Mon Mar 27 19:02:43 2006 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Tue, 28 Mar 2006 14:02:43 +1100 Subject: [Melbourne-pm] OSDClub meeting - 6th April 2006 Message-ID: <4428A753.5000808@perltraining.com.au> We invite you to join us for the next OSDClub meeting: When: 6:30pm, Thursday 6th April, 2005 Where: Room 56-5-88, RMIT Building 56 Corner of Queensbury & Lygon streets. More details: http://www.osdc.com.au/osdclub/ Our featured talks will be: Copylefting the DMCA: DRM and the version 3 of the GPL ------------------------------------------------------ This talk examines the DRM-related clauses that have been proposed for inclusion in version 3 of the GNU General Public License. It considers the effects of the language in the FSF's first draft, as well as the directions in which that language might move for the final version. I then analyse the effects that a strengthened GPL could conceivably have on the development of DRM systems, and the strategic considerations involved for the Free Software Foundation, the broader open source software community, DRM developers, major copyright holders, and even governments. (more: http://www.osdc.com.au/osdclub/200604/copylefting.html) Doing cool things with open source javascript libraries ------------------------------------------------------- This talk is an introduction to some of the cross-browser javascript libraries out there that make it easier to make interactive and dynamic web pages. We'll have a look at the various helper functions for dealing with the DOM, objects, arrays and the things you commonly want to do. We'll look at some of the standard objects available such as calendars, tree-view lists and sliders. We'll also have a look at the Event handling and Ajax functions provided. The libraries covered will be: prototype, scriptaculous and yahoo's YUI. Talk Proposals ============== We invite you to offer talk proposals for future meetings. To be involved, send your talk topic to clubadmin at osdc.com.au Presentations can make use of a particular programming language to illustrate examples, but should be accessible to programmers from a range of backgrounds. From scottp at dd.com.au Thu Mar 30 20:41:54 2006 From: scottp at dd.com.au (Scott Penrose) Date: Fri, 31 Mar 2006 15:41:54 +1100 Subject: [Melbourne-pm] AGM 2006 Message-ID: <6A181FA9-C3AE-493A-8162-1E10E83299C8@dd.com.au> Hello Melbourne Perl Mongers, The Annual General Meeting 2006 will be held as part of the 10th of May 2006 at the beginning of our monthly Perl Mongers meeting, from 6:30 to 6:45. Agenda: * Confirm minutes of previous AGM (none this year, this is our first) * Financial Report from the Treasurer * Election of new office bearers and ordinary committee members. To nominate for a position in Melbourne Perl Mongers, please submit nominations including: Your Name, Address, Email, Nominated Position, Signature and Signature and Name of two other Melbourne Perl Mongers members, to: Melbourne Perl Mongers, C/- myinternet Limited, PO Box 650, Carlton South, 3053. No latter than the COB Wednesday the 3rd of May 2006. You will receive an email return the day it arrives for confirmation. Positions Available: * President * Vice President * Treasurer * Secretary * Ordinary Member Thank you. Scott Penrose, on behalf of the Melbourne Perl Mongers Committee. -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part Url : http://mail.pm.org/pipermail/melbourne-pm/attachments/20060331/5fc4a1f3/PGP.bin