Re: Object Identification Cold War and the return of autobox.pm (wasRe: UNIVERSAL::ref might make ref( $mocked_obj ) sane)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin. On Friday 02 March 2007 08:53:43 demerphq wrote: On 3/2/07, Adam Kennedy [EMAIL PROTECTED] wrote: 99.999% of the time you do not want to really know how something is implemented, you want to remain ignorant. I concur, which is what really pisses me off them IO::String-new(\$string)-isa('IO::Handle') returns false, because the author believes in duck typing over actually having isa describe the interfaces. This comment lead to do some thinking about perls typing and OO structure and why people seem to have a lot of trouble agreeing on things like this. A type in a language like C is a specification of data representation in memory. In an OO language like C++ this gets extended to be a data representation in memory plus a set of methods that represents an interface. But... In Perl the memory organization is orthagonal to the interface. So we have immutable types like SV's, AV's,HV's, CV's, FORMATS, IO, etc. And then through blessing we can associate the same set of methods to any or all of those types. So when you try to fit the Perl model into the C++ model something has to give. The only way to properly map the perl level concepts to C++ is to say that a C++ type is a perl type+a perl class. But because of the history of ref(), and isa() and the way 'type' is misused in the perl literature the distinction is blurred. Some people want to say are you something I can deref as a particular type AND has an interface I know how to use and some people JUST want to say are you something that has an interface I know how to use. Both questions are reasonable and mutually exclusive. One routine cant do both. So for instance to me it seems to reasonable for IO::String to say, no I am not a IO::Handle. Its data representation doesnt use a IO object so its not an IO::Handle, even if it does provide the same method interface. This is the same as me writing a subclass from Foo, then modifying isa() to say no, I am not a Foo. I just re-use 95% of it's code, but I am really not providing the same interface. And so when someone asks Bar-isa('Foo'), the get the right answer. I really don't know why someone (except people writing things like Data::Dumper) would want to peak under the hood of Bar and discern whether it really is (almost) a Foo, or not. isa() is to some a method that asks the first question, but to others is asks the second question. Now if there was an -implements() utility function as well as the -isa() funcation, then I think IO::Handle would contrive to ensure that IO::String-new(\$string)-implements('IO::Handle') would return true even though IO::String-new(\$string)-isa('IO::Handle') would not. (Im not sure if this is the same as chromatics proposed 'does' function). I am not sure why you would have the need for an implements() or does() function. Either the interface is complete (e.g. Bar is a Foo), or it isn't, then Bar isn't a Foo. In the latter case you can only check if certain methods are there, and we already have can() for that. What would does() or implement() do differenly? Tell you that Bar implements a method just like Foo() does? All the best, Tels - -- Signed on Fri Mar 2 11:21:18 2007 with key 0x93B84C15. Get one of my photo posters: http://bloodgate.com/posters PGP key on http://bloodgate.com/tels.asc or per email. We have problems like this all of the time, Kirk said, trying to reassure me. Sometimes its really hard to get things burning. -- http://tinyurl.com/qmg5 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRegJj3cLPEOTuEwVAQLOfQf9HAK5Q0W6myPPcaVqheUV20eQXFb+nw97 9tm407RJAa3FZtW5A8wjHhB7r5NpkFnX0ye6Y8eFC4I2rH2ENyM5EklAnjK0udok FoO64ERgaQNSEiRFbP80naCEM713DibbBCngoyRPML/N0ob1JvPpl0HSm+bj1h4R p/jbkqK+eOghG23ZQt6lBJ5gDA14Mfm2xmyJxrwElExu6qKhrO5oTSutKovfjYax qjHvIVOpZS1WqByj/KYNLu9NYM/n45Sh5CXqKD2wvZvxoJ2xWEsYE4ikLjExlS1z ahGMimto2y6yV9RDiW1Hkb0CkgJlDF0PWmUQEYC9beYKPfKJS7NcKg== =QFWh -END PGP SIGNATURE-
Re: CPANDB - was: Module::Dependency 1.84
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin, On Thursday 13 July 2006 08:26, Adam Kennedy wrote: Tels wrote: The DB backend shouldn't matter at all, it should be transparent and be switchable without any noticable change at the front. Yep, right with you. Hence DBIx::Class. *sigh* Another dependecy... Plus, I planned to use YAML because it creates a _much_ less heavy overhead and dependency chain. Using SQLite or similiar is what really creates the problems with CPANTS - you cant just access the raw database without the front-end. Erm, I'm not sure I get you here. The main problem with all the things that loads the index currently is that they tend to consume 50-100 meg of ram, and that's just the active index. Add in extra stuff and you're up into stupid amounts of ram quite quickly. I am not sure what stupid consists, but my system wouldn't have problems handling 512 MB of memory. OTOH, if the raw data in memory is like 100 Megabyte, then where does all the data come from? The CPAN index is surely not 100 Megabyte, right? I didn't intend to read all of it into ram and keep it there, thats for sure. But thats why I also wrote that YAML might be replaced by something else. WithYAML, at least you could get at the data by other means. Of course for performance reasons it might not be good, but since premature optimization is the root of all evil, I'd say use YAML now, change when nec. It's already necesary, based on the memory load. That's not to say you have to use SQLite to DISTRIBUTE or publish the data, just that when you access and manipulate it computationally, you do it via SQLite. Well, I guess you have more experience on that than I have. I would have tried without it first. This method has worked spectacularly well in the JSAN code, which What is JSAN? implements something very similar to what I'm heading towards. Er, so why aren't you using what JSAN is? *confused* To do dependencies and so on, it just links an Algorithm::Dependency object Another dependency to find out what the dependency is. into the DBIx::Class code, and there you have your full range of graph-math things, like dep chains (up and downstream) weights, etc. That sounds like quite a bit overkill. Well, I guess I just wanted to keep the dependecies to a very minimum. I rally _DONT_ want to install 20 different modules just to find out what Foo::Bar has on dependencies. Thats why CPANTS never worked for me, I never could find the patience to hunt down and install everything just to get it working. And I guess every user of Graph::Dependency doesn't want to do that, either. However, at the current stage I would settle for a working method, almost any method at all. Otherwise, the projects seem similiar in scope, except that I focus on the DB and let things like download stuff be done outside. Whether that works out, uh I don't know. In any event I have quite a few ideas I'd like to try out and this proves to be fun to me. I hope it doesn't end upI have to implement other people ideas - thats too much work like :D Have a look at just the database parts, which I've finished already from memory. The bit that isn't finished is the complete grab your CPAN.pm config and stream down all the files and populate the database. I see you have don muchmuch more work and given it much much more though, so I better just shut my mouth, throw my silly alittle attempt at yet-another-wheel into the dustbin and go away. :-/ Good luck with CPAN::Index. Best wishes, Tels - -- Signed on Thu Jul 13 18:29:40 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. In my opiniation, burglarize is a perfectionally validative wordification. How else would reportization of the securitial/policial forceship appearize to be importantive enoughly to be respectative by the massmediaship and influentate the societyness? SharpFang (651121) on 2004-12-13 at /. about burgle vs. burglarize -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRLZ2x3cLPEOTuEwVAQLOIAf/QITUcv+L68ekV/4TfpUVM0akC9slGCLM 0FoUdAkCIvd8PbwZTgGenc9aYOU3/2h41PB5rV5ub+LNAQYT2DyjUs+kMZPHkoAo LO20UQZMtAwQKl65gI11XBSh5bIJEbVh5UVnSubv9uKcokYTDHEgiQzppI52/BT1 jKXW9/dX2jbn74+AjhtnpIcvANfs/DeYcJeCOoqacQCTo7Wer0HZEmxKmlOppgJL YjCK6X9DY+HYstIO4bZXn1NUxqXIKsvjK38I7HlspODyCMqlLzyj0O+lubcGT/A4 EyKJHh6nSDgbb7X+eM1104uvrgeRp49F/yNAceSDRSssWuLGpxoOmA== =I7Ex -END PGP SIGNATURE-
Re: CPANDB - was: Module::Dependency 1.84
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin, On Thursday 13 July 2006 19:40, A. Pagaltzis wrote: * Tels [EMAIL PROTECTED] [2006-07-12 19:00]: Using SQLite or similiar is what really creates the problems with CPANTS - you cant just access the raw database without the front-end. All you need is one binary from www.sqlite.org – I don’t follow why this is a problem. And I certainly prefer talking SQL at a database than writing throwaway helper script code to manipulate serialised data structures. But what if the DB isn't SQL? And it can change at a whim? Of course for performance reasons it might not be good, but since premature optimization is the root of all evil, I'd say use YAML now, change when nec. Who cares about performance – I don’t want to have to write code to walk data structures just to ask questions about a heap of records. Sometimes with an in-memory data structure I resort to DBD::RAM instead of writing endless chains of maps, greps and foreach loops just because SQL is so much lazier. SQLite is a godsend. (drh++) But how can you then switch the database backend if the user doesn't want to use helper scripts or the OO interface? I see I wont ever be able to please people that prefer their access raw and without a layer in between then. Best wishes, Tels - -- Signed on Thu Jul 13 21:41:02 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Those are my principles, and if you don't like them... well, I have others. -- Groucho Marx -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRLaiKHcLPEOTuEwVAQL2XQf+M8HAR4yC3KIIK1B3nW9bxGxPV/vX8eeR /6v8p+/14veYWIxjwvf7OVXos0RjA0LzIvOnOzjNV1JBDmRebkhU4ago4ZGpMMkL L6uVM1P9C4aWgTjBxKiQ3jw3+fBGBRlDBd7Z7c4nqY4wQpZg2aS85ol/u8k+39vO gbeqzf958xy2o62g2bg7FR3l2FjR5bYM8mj+qWNzrdq2PJJOzXb7H56j+yRG9yWK k7oH9Ce01estiigSWwCKW7UqNExk9HseC48U3QeZ8s0qrqvQBzUp8fZPX6hqgeot uklbniT+zrw3zcexodzwzYoRJAP3PpXb84qmUmYIcliVcDJLMqrztA== =bbQk -END PGP SIGNATURE-
Re: CPANDB - was: Module::Dependency 1.84
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Heya Tim, afte seeing the recent discussion about CPANDB and CPAN::Index, I don't think I want to work on that project anymore for two reasons: * announced to early - now everybody tells me how I have to implement it and why my way wont work * another project (yet-another-database-for-cpan called CPAN::Index) is on the way and much further along - this would just mean nobody will use mywork and I don't want to waste my time re-inventing the wheel. I am sorry. Best wishes, Tels - -- Signed on Fri Jul 14 02:33:57 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. STOP! We have run out of virgins! -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRLbm+XcLPEOTuEwVAQJYEgf/Q/hyEDlL4XuN9OSC/Y2DSg1LWfqbkBMo sux8Rh+3ckRvJvEzsmtI8Gprv2h64RjEgoYbyQ8AUhT70csEdZY92/3EisQ3LrJs LZybg0ROLo3nrizy/kZ6+/WMBIpWVjUroLeky2r2wqGdHCJkP76jDIMR3WLMkKJ2 Pa2MhSzbNnK+qAXSQ8unOspxIqhvOtmFuF7z1zT01uf/F8cj8czrzs5E5DxS4k5/ J/D0Jf+wShjICqP2eq63mM8bhLmsMWviFELSJRSdbDmCnOltiVCegHCLEX37my5I xo0TMYz39+lUPH7ja1wYGCprWY/rIm6OWD45kB1thBSKPjix4bACPw== =0z1I -END PGP SIGNATURE-
Re: CPANDB - was: Module::Dependency 1.84
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin, On Wednesday 12 July 2006 03:13, David Golden wrote: Tels wrote: My idea was to build _only_ the database, and do it right, simple and easy to use and then get everyone else to just use the DB instead of fiddling with their own. (simple by having the database being superior to every other hack thats in existance now :-) I even got so far as to do a mockup v0.02 - but then went back to playing Guildwars. Is this a project that would be of general interest? At YAPC::NA, Adam Kennedy mention that he wanted to try to make some headway on CPAN::Index, which sounds very similar in intent. While it's not released, you can see the formative project at his public repository: http://tinyurl.com/g888h Perhaps you can join forces with him and help push some collective project towards a release. Quoted: BCPAN::Index provides object-oriented access to the CPAN index, using a collection of relatively common modules, and automates entire process of fetching and accessing the index. Uhm, no the DB should maybe be able to have a front-end that fills it from the CPAN index, but you should also be able to build a DB from a local file, if you so wish. The index is stored in a LDBD::SQLite database file, with an object model implemented around it using LDBIx::Class. To update the index, the LCPAN::Index::Loader class implements the logic to flush and reset the database, fetch the index files, parse them, and repopulate the database. The DB backend shouldn't matter at all, it should be transparent and be switchable without any noticable change at the front. Plus, I planned to use YAML because it creates a _much_ less heavy overhead and dependency chain. Using SQLite or similiar is what really creates the problems with CPANTS - you cant just access the raw database without the front-end. WithYAML, at least you could get at the data by other means. Of course for performance reasons it might not be good, but since premature optimization is the root of all evil, I'd say use YAML now, change when nec. Otherwise, the projects seem similiar in scope, except that I focus on the DB and let things like download stuff be done outside. Whether that works out, uh I don't know. In any event I have quite a few ideas I'd like to try out and this proves to be fun to me. I hope it doesn't end upI have to implement other people ideas - thats too much work like :D Best wishes, Tels - -- Signed on Wed Jul 12 18:54:01 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. When it's done in 2001. - 2000 Christmas card about Duke Nukem Forever (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRLUqL3cLPEOTuEwVAQK3DAf/VEIV3fCdHTMinHZqL9N3JTxAHBIVZSlw 4grWxod0u3/8DiAhHkSjNu4y0XjE2WV1LrI6JWFD+4/qoElUhvMFydLYXP8cG31X CnXGuAFvq6TVKXCQbHWWucSlcHrILc648i5sCkmi+OTJYUP1AP0/IWdyEbgevWp3 7daHed1UvCetKYyWwTNwgxerTwHAyziFd8kCR2pWzsXUve3zcHhEudm+KF6q6mOI K069eG99V0R5Ix5nisYAdJdei1+TQ8SSXmNZ30VKju8YFTRKcWQNMmWcdxqErydB 19E5C8HDpXAiafUizpmvG8/tChioFjOS+bbsV/AInid6BcQDBDXONg== =2qra -END PGP SIGNATURE-
CPANDB - was: Module::Dependency 1.84
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Moin Tim, On Tuesday 11 July 2006 18:34, Tim Bunce wrote: I needed some code to trawl through a directory tree parsing perl modules and scripts to determine their dependencies. The closest existing CPAN code was Module::Dependency but it fell short of what I needed. The original author (P Kent) has passed over maintenance to me. My latest release is: file: $CPAN/authors/id/T/TI/TIMB/Module-Dependency-1.84.tar.gz size: 52161 bytes md5: 90a83b2aee39f5d25060ebdb6cc3105d Thats sort of cool, although I havent looked at it yet :-D My real-grand-plan was always to have a CPANDB module that does exactly the following: maintains a database with: * every CPAN author with all details (ID, email, name) * every package with all details (author id, version, name etc etc) You would get current packages and old, for performance reasons in tow Dbs but this would be transparent for the user. There would be two interfaces: # cpandb --query Math::BigInt name: Math::Bigint author: TELS version: v1.77 latest: v1.77 # cpandb --update Math-BigInt-1.78.tar.gz package Math::Bigint updated. New entry: name: Math::Bigint author: TELS version: v1.78 latest: v1.78 # cpandb --query Math-BigInt-1.77 name: Math::Bigint author: TELS version: v1.77 latest: v1.78 and so on. This script would also update, add etc to the DB, much like RPM. (it only maintains the DB, no code no install etc). The other interface is Perl OO like so: use CPANDB; my $db = CPANDB-open();# default location print $db-author('TELS'); my $m = $db-latest_package'(Math::BigInt'); print $m-depends_on(); etc. The Db would be empty, but with a suitale wrapper around cpandb could be filled, or you could download a pre-made one. Pause could even maintain on on their own, because then it would be always update. This database could then be used by all the following modules: Module::Dependency Graph::Dependency CPANPLUS CPANTS CPAN Module::Author and a few others I forgot. Basically by every module out there that re-invents the wheel over and over again just to be able to query stuff about CPAN modules. (some of them do really horrible stuff like accessing search.cpan.org - I know I wrote one of them :D And up until today it is still not possible to get easily the answer what modules do I need install for Foo::Bar 1.23 when using Perl 5.8.x. (Why not use CPANTs database? Easy, because the interface module is as far as I know broken since a few years, the database changed formats a few times (breaking any interfacing module again), its undocumented (that is not the documentation you are looking for) and has a few other small problems, like no command line interface etc. And it is tightly integrated into CPANTS and it has a lot of dependency like sql or postgres or whatever. All the other solutions out there have some of the same problems or other problems of the same kind. The most common theme seems to be that everyone wants what the DB does, plus something more (website generator, graph generator, installator and a shell etc). And since no real DB exists yet, everyone invents their own DB backend again :) My idea was to build _only_ the database, and do it right, simple and easy to use and then get everyone else to just use the DB instead of fiddling with their own. (simple by having the database being superior to every other hack thats in existance now :-) I even got so far as to do a mockup v0.02 - but then went back to playing Guildwars. Is this a project that would be of general interest? best wishes, Tels PS: Sorry for the rambling on, its 3:00 am local time and I should be asleep since 3 or 4 hours. And this email should have been written like 2 months ago. I hope someone understand what I wanted to say :-D - -- Signed on Wed Jul 12 02:58:38 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I am looking for a Perl-related job (no, Python is not Perl-related :-). -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) iQEVAwUBRLRKWncLPEOTuEwVAQI9TQf+I9xoOMGGEj6V5poS4VUX9fVN8FcPyYlP jdT6PGCfurG7kGs2zuhyPYBM+W6rlk5wvrfI30KoDtxzDuCyCdogNIWekpjtnWB+ Ei72dZdVtiWEADxLopGG2gAMjhE4OPKo7qkmiox3sZQj/9jpU87nHCDpVHxrC1as QlVJUaA3MGl75mYepiMoyoBcGfjyWsVzd59rouymwp4/NVpSfU+z4/cZU4KRFNb+ RuKmYXQKSfSsQe4Jn1o69ZCkzPOlZ2NC0HfVN6ZXCZ/iz5/CZTq3nT6iM/JBOIOE HOAqwJzz3fkdS1z/AlKaoDbKNv+tBaH+6+wyX15dzr5f3UKR/2pb2g== =lDv9 -END PGP SIGNATURE-
Re: On Gaming CPANTS, and a Kwalitee Suggestion
Moin, On Thursday 06 July 2006 11:40, David Cantrell wrote: Tels wrote: And, improve compatibility - with broken systems? OMG. :) Yeah, you know, like when you comment this out before release :-) # die(Sorry, you must have a computer to run this software\n) # if($^O =~ /win32/i); Given that Mod::Sig checks are just that the signature is valid, not that the signature matches a known/registered developer, the security aspect is already minimal. This is a security bug and should then be fixed ASAP. Given that you have to be logged in to the PAUSE and have permission to upload stuff for that module, then I don't think that signatures matter in the slightest. It doesn't give you any kind of trust metric (like, say, that the author is a nice guy and his Makefile.PL won't delete your home directory) that you don't already have from the fact that my module had to have been uploaded by me. The signature makes sure that: * the mirror from where you download the file distrubutes you still the same file that was uploaded to CPAN. * it was signed by someone who knows/has the private key and nobody else These are two very important points, and none should be thrown away just because somebody doesn't understand how that works or some end-users aren't able to configure their systems. Best wishes, Tels -- Signed on Fri Jul 7 15:44:26 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Five exclamation marks, the sure sign of an insane mind. -- Terry Pratchett pgpNPGnuYys5b.pgp Description: PGP signature
Re: Module Signatures [was Re: On Gaming CPANTS...]
Moin, On Thursday 06 July 2006 03:22, Jonathan Rockway wrote: It adds a dependency on a binary application (gpg) that users have to install by hand, doesn't check for the presence of it properly, and if you don't have it, installs an enormous chain of dependencies, with said deps having some major issues of their own. It's become bad enough that Module::Signature is being pulled from Bundle::CPAN and being disabled by default in CPAN.pm, until Module::Signature gets a maintainer capable that can make it somewhat saner. Er, you realize that you _dont_ have to check the signature if you system is so broken as not allowing it? I really don't understand that argument anyhow: Replace Module::Signature with RPM and read it again: It adds a dependency on a binary application (gpg) that users have to install by hand, doesn't check for the presence of it properly, and if you don't have it, installs an enormous chain of dependencies, with said deps having some major issues of their own. I don't think anybody would suggest SuSE do no longer sign their RPM packages with their gpg key anymore... instead they make sure you have gpg installed and configured properly before doing the signature check. If you insist on running a system w/o gpg, and you want to check the signature on a Perl package, you gotta go, configure your system and install some software for the purpose. Next someone tells me I can't use XS because it makes the distribution depend on a compiler? :-) Leaving of the signature of software distributions just because someone isn't able to configure their system is so... so I fail the words for it. Best wishes, tels -- Signed on Fri Jul 7 15:47:00 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The difference between pornography and erotica is lighting -- Gloria Leonard pgptiZGndZIl9.pgp Description: PGP signature
Re: On Gaming CPANTS, and a Kwalitee Suggestion
Moin, On Wednesday 05 July 2006 17:56, David Golden wrote: Randy J. Ray wrote: I'm a fairly-recent addition to the list. I've read a good part of the Welcome! Secondly, having recently added digital-signing to a few of my modules, perhaps the presence of a SIGNATURE file might be a Kwalitee marker (with the caveat that it should be an actual Module::Signature-generate artifact, not just a zero-length file named SIGNATURE). I found the steps needed to add this to be pretty simple, not much more work than adding POD and POD-coverage tests to those same modules. Module::Signature has caused a problem at various points for people who have it installed, but not configured properly. Given that, some developers have started removing SIGNATURE to improve compatibility. Define some please :) And, improve compatibility - with broken systems? OMG. :) You mean we now don't sign packages anymore just because someone isn't able to check the signature? The right way is to tell the user to fix their borken system, not to remove features. Given that Mod::Sig checks are just that the signature is valid, not that the signature matches a known/registered developer, the security aspect is already minimal. This is a security bug and should then be fixed ASAP. But AFAIK, PAUSE checks the key upon upload, and I am *think* it would also check that the maintainer who uploads the package is the one who signed it. Anything else would be a stupid lapse and I can't imagine Andreas would be that stupid :) Best wishes, Tels -- Signed on Wed Jul 5 19:53:45 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Most of the screen on a blog is blank for an imaginary populace of readers still using 640x480 resolution. I didn't buy a 19 monitor to have 50% of its screen realestate pissed away on firing white pixels, you assholes. -- maddox from xmission pgpm5ers7dFNG.pgp Description: PGP signature
Re: Continuous testing tools
Moin, On Thursday 08 June 2006 15:11, Michael Peters wrote: Andrew Savige wrote: We are looking at introducing continuous builds/smoke tests at work across a number of platforms (mainly Windows and Unix), building a number of different languages (mainly C++). I quick google uncovered the list below. Anyone got any advice? I would advise keeping the test-harness and the test reporting separate. In Perl, we like the TAP (Test Anything Protocol - http://search.cpan.org/~petdance/Test-Harness-2.60/lib/Test/Harness/TAP .pod) for test output. And there are implementations in various other languages. Since you're using C++, you can probably use libtap (http://www.onlamp.com/pub/a/onlamp/2006/01/19/libtap.html and http://jc.ngo.org.uk/trac-bin/trac.cgi/wiki/LibTap) for writing the tests and then you could use a Perl harnes to collect those results. In a shameless plug, you might look at smolder (http://sourceforge.net/projects/smolder) as your reporting tool for the tests. It's currently in beta, but will probably have a 1.0 release in the next few months. It acts as a standalone server that recieves TAP based smoke reports from tests (either uploaded by developers or uploaded by automatic runs) and then provides some basic reports. It can even email developers when a test fails unexpectedly. On my todo (well, wish list) is still a project that works rouhgly like a server/client model. You upload a snapshot to the server, it notifies the clients, they download the package, run the tests and report the result back. Reports are viewed on the server. Is there any interest in such a package? Best wishes, Tels -- Signed on Thu Jun 8 17:38:00 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats. -- Howard Aiken pgpUuIqot9sCI.pgp Description: PGP signature
Re: Continuous testing tools
Moin, On Thursday 08 June 2006 18:10, Chris Dolan wrote: On Jun 8, 2006, at 10:39 AM, Tels wrote: On my todo (well, wish list) is still a project that works rouhgly like a server/client model. You upload a snapshot to the server, it notifies the clients, they download the package, run the tests and report the result back. Reports are viewed on the server. Is there any interest in such a package? Best wishes, Tels That sounds very similar to Adam Kennedy's PITA project. Yes, there is great interest! I am not familiar with Adam's PITA, so maybe such a project already exists and I can save myself the work :D Best wishes, Tels -- Signed on Thu Jun 8 18:14:57 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The need for a Steam account to play HL2 is like having to login to MS Passport to play Minesweeper. -- Tels pgpb1HkriDYPX.pgp Description: PGP signature
skip_all with Test::More?
Moin, I stumbled over a slight problem with Test::More: skip_all is an import feature, but not a subroutine. So you can do either: use Test::More; my $tests; BEGIN { $tests = 2; plan tests = $tests; } SKIP: { skip ( 'reason', $tests) if ...; # tests here } which is ugly (needs $test or copypaste number of tests, and an extra SKIP block), or do some trickery with: Test::More; if (...) { Test::More-import( skip_all = 'reason'); } Test::More::plan ( 123 ); # tests here This is a bit better, but fumbly and I am not sure it will always work, especially the bit with calling import etc. Idially I would like to write: use Test::More; plan tests = 123; skip_all( 'reason' ) if ...; # tests here Did I miss something or is this simple not yet possible? Best wishes, Tels -- Signed on Wed May 31 17:48:11 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. helft den armen vögeln -- gegen kleinschreibung -- Signed on Wed May 31 17:53:43 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Firefox: What are you trying to tell me, that I can block pop-ups? Morpheus: I'm trying to tell you that when you're ready, you won't have to. -- Skyshadow (508) on 2004-11-30 at /. pgpzYVtfxHmC0.pgp Description: PGP signature
Re: Test me please: P/PE/PETDANCE/Test-Harness-2.57_06.tar.gz
Moin, On Sunday 23 April 2006 23:08, Shlomi Fish wrote: On Sunday 23 April 2006 23:11, chromatic wrote: On Sunday 23 April 2006 12:46, Shlomi Fish wrote: I agree that a well-defined test output protocol is useful. However, are you implying that assuming we have that, one can write several different test harnesses to process such test outputs? (I'm just guessing.) I see. Well the final conclusion remains the same: we still need a good test harness that we should be able to customise using roles, subclasses, plug-ins or whatever. I still don't see where the well-definition of the test output protocol has anything to do with this issue. How would a well-defined test output protocol help with making the test harness customisable? Because instead of ever-changing text output (in various formatting), you might have XML (or whatever), that is transformed for output. Then you can have it display %, or not, in color or not, or in HTML or whatever. The current screenscraping really really has problems everytime the output changes. Best wishes, Tels -- Signed on Mon Apr 24 00:08:25 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Any sufficiently rigged demo is indistinguishable from an advanced technology. -- Don Quixote, slashdot guy pgpS5dgnXQ9tz.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Friday 07 April 2006 02:55, Adam Kennedy wrote: I use 5.8.0 as minimum, but for unicode I think it should be 5.8.1 - but I am unsure. COuld you give a reason for why specifically 5.8.3? Actually, in consultation with Audrey and other $experts, Perl::MinimumVersion applies a 5.8.4 minimum whenever it sees any mention of Unicode. Didn't know Perl::MinimumVersion existed :/ I believe it was that version that fixed the last major Unicode bug. Something to do with Cjoin ? The code never says 5.8.4: $VERSION = '0.11'; # Export the PMV convenience constant @EXPORT_OK = 'PMV'; # The primary list of version checks %CHECKS = ( # Various small things _bugfix_magic_errno = version-new('5.008.003'), # Included in 5.6. Broken until 5.8 _pragma_utf8 = version-new('5.008'), _perl_5006_pragmas= version-new('5.006'), _any_our_variables= version-new('5.006'), _any_binary_literals = version-new('5.006'), _magic_version= version-new('5.006'), _any_attributes = version-new('5.006'), _perl_5005_pragmas= version-new('5.005'), _perl_5005_modules= version-new('5.005'), _any_tied_arrays = version-new('5.005'), _any_quotelike_regexp = version-new('5.005'), _any_INIT_blocks = version-new('5.005'), ); Would be good to find this out. ALso, the changelog mentions ignore perlvar, could you please fix it? Best wishes, Tels -- Signed on Fri Apr 7 10:35:40 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Let's say there are a thousand. But there are 284 million people in this country. You can't have public policy that is aimed at 100,000 people when the other multi-multi-millions are also involved. You can't do it that way. - Jack Valenty in http://tinyurl.com/2y65n pgp0i48Wc8YF9.pgp Description: PGP signature
Re: Module requirements
Moin, On Thursday 06 April 2006 14:59, A. Pagaltzis wrote: * David Golden [EMAIL PROTECTED] [2006-04-06 13:45]: This underlying behavior is one of my biggest pet peeves with the perl community. Too many people want to go out and write their own version of modules instead of contributing to the work others began. I suspect that many of these are API driven. Programming should be fun and using an API that doesn't fit isn't fun. As a result people go write their own stuff that they feel is easier/faster to use. This is the flip side of impatience and hubris. E.g. CPAN search found 510 Simple, 82 Easy and 80 Fast modules -- not to mention the 49 Getopt modules. I don't think that sort of thing is going to change. I also don't believe it is particularly specific to Perl. It seems to me that it is just particularly visible in Perl, because the high manipulexity and whipuptitude we so enjoy make it quite feasible to reinvent moderately complex wheels, so people do it. But it actually happens everywhere. In addition, thanx to the highly central CPAN repository, it is also a very visible problem. Of the hundred re-inventions for Heap in C, C++ or C# you never hear anything because you never know they even exist. Best wishes, Tels -- Signed on Thu Apr 6 18:36:47 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #6,756,999 http://tinyurl.com/2vuqm: [ [ Konsoles* ] [ Mozilla ] [ KMail ]] pgpbui1ED1XdU.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Wednesday 05 April 2006 06:43, Adam Kennedy wrote: Ricardo SIGNES wrote: * H.Merijn Brand [EMAIL PROTECTED] [2006-04-04T10:40:39] [sniplots] But there's very little point in using Exporter::Lite because 100 other modules use Exporter in any given program. So even though Exporter::Lite is lite'r than Exporter, the use of Exporter is zero, while Exporter::Lite means loading another module, and adds another dependency. And because dependencies are recursive, you inherit it's baggage. If one dep doesn't work on VMS, now your program doesn't. And the more dependencies, especially if you are using more than one module that does the same thing just because of stylistic differences, then it means more problems. It's not till you hit something like Ricardo's exporter, which does some very novel and interesting extra things, that you reach the threshold. It's mostly the same, but if you need the extra parts, then it might be worth the extra dependency. Which is why Graph::Easy will include about 50 lines reinventing Heap::Binary - it removes the last dependency, uses less memory, is faster, and it avoids with me dealing with the only other option, Heap::Simple, because Heap::Simple comes in two flavours, Perl and XS and _you_ have to choose which to make the dependency, meaning the user doesn't get a choise other than needs suddenly a compiler, but is faster or needs still no compiler, but is not much faster than Heap::Binary. Anyway, I think that we all agree in principle, but everyone has different thresholds. best wishes, Tels -- Signed on Wed Apr 5 18:31:08 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My wife is just a slow brain, running up the bill.. -- Often misheard song lyrics #149 pgpWBojwpqe9N.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Wednesday 05 April 2006 06:57, Adam Kennedy wrote: chromatic wrote: On Tuesday 04 April 2006 10:32, Tels wrote: There is also the point that supporting ancient Perls means you can't use all the new, wonderfull features that were added to later versions of Perl, like our, warnings etc. This to me is the biggest problem. After 6 years, is it finally okay for me to use such exotic features as lexical warnings and lexical filehandles, just to satisfy someone who refuses to upgrade an eight year old installation of Perl? [snip] I'm trying to figure out why I've been sending patches to p5p for about five years now if people complain when I take advantage of the bugs they fix. At some point, it would be nice if people were to use software released this millennium. Ever written software for government? Yes. And I don't know which parts of the mystical government you speak off, but people everywhere are pretty pissed of when they have to work with 10 year old software. Hell, there are problems getting hardware that still runs that old stuff. It's routine to be required to offer a 10 year support period. Yes, but that does not mean that you need to upgrade the installation with the-latest-foo-bar-from-cpan-which-just-breaks-on-5.004. You just keep the system as it is and patch when breakage really occurs. :) This comes up more often that you might think. And so as my gold standard for back-compatability, I use 10 years. A decade is a nice round number. Ugh - but at least we don't have 16 fingers :) If it's something that isn't very core'y, I use a secondary support period of 5 years. Seeing as the worst support cases are about 10 years in a variety of countries and situations, I think that is what we should be aiming for for highly used CPAN modules. Which last time I checked is now 5.005.something So I aim there. I wont :) best wishes, Tels -- Signed on Wed Apr 5 18:21:33 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My glasses, my glasses. I cannot see without my glasses. - My glasses, my glasses. I cannot be seen without my glasses. pgpmeg0FZETKZ.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Wednesday 05 April 2006 20:46, H.Merijn Brand wrote: On Wed, 5 Apr 2006 18:30:33 +0200, Tels [EMAIL PROTECTED] wrote: Moin, On Wednesday 05 April 2006 06:57, Adam Kennedy wrote: chromatic wrote: On Tuesday 04 April 2006 10:32, Tels wrote: [snip] I'm trying to figure out why I've been sending patches to p5p for about five years now if people complain when I take advantage of the bugs they fix. At some point, it would be nice if people were to use software released this millennium. Ever written software for government? Yes. And I don't know which parts of the mystical government you speak off, but people everywhere are pretty pissed of when they have to work with 10 year old software. We *only* have local government as customers, and they get *my* perl, installed in *our* tree. Of course my perl includes defined-or :) :o) Hell, there are problems getting hardware that still runs that old stuff. :) One customer ran production on a system so old that they didn't dare to reboot it, because they were affraid it was not going to boot again. OK, that was 6 years ago, but still, government is a strange customer. You will laugh, but the most common hardware failure occurs due to power-down/power-up cycles. Systems run happy for months, even years, shut them down, let them cool, boot them up, and the HD, power supply or mainboard is dead. That's why you use a lot and big UPS. Government indeed is strange. Some parts of it can't buy ink for the printer, let alone a new HD, others blow a million on a new data center. Usually, both parts sit in the same building :-P It's routine to be required to offer a 10 year support period. Yes, but that does not mean that you need to upgrade the installation with the-latest-foo-bar-from-cpan-which-just-breaks-on-5.004. You just keep the system as it is and patch when breakage really occurs. :) I don't care if their default perl breaks down. That would be their fault. As long as they don't break mine. Perl has the advantage of not being tied to this product *must* be installed in /usr (and yes, we *do* have a third party that still sets that requirement for their product), symlinks to the rescue. Yeah, but if you install your own Perl, then the modules you use can work with it, hence there is no requirement for Foo-Bar to actually run under 5.004. That was my main point :D It's like saying that $LatestGame must run under Win95, just because there are a few people who insist that they use it. I hate upgrade cycles as much as everyone else, but even more annoying are people stuck in the last decade :D This comes up more often that you might think. And so as my gold standard for back-compatability, I use 10 years. A decade is a nice round number. Ugh - but at least we don't have 16 fingers :) 5.8.3 is the minimum to accept for me, and it should have defined-or I use 5.8.0 as minimum, but for unicode I think it should be 5.8.1 - but I am unsure. COuld you give a reason for why specifically 5.8.3? best wishes, Tels -- Signed on Wed Apr 5 23:17:38 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. helft den armen vögeln -- gegen kleinschreibung pgpOZC3IARHEP.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Tuesday 04 April 2006 01:50, Tyler MacDonald wrote: Sébastien Aperghis-Tramoni [EMAIL PROTECTED] wrote: OTOH, who still runs pre-5.8.x code deserves what they get. There are horrible bugs in older Perls, and I don't know why people still insist using insecure, buggy and feature-lacking code like 5.6. or even gasp 5.004. Just think Unicode support, hash randomization, memory leaks. FWIW I've heard at least one valid argument for sticking with 5.6, and that actually is unicode support. :-) Apparently, in 5.6 regular expressions don't have full unicode support. But in 5.8 the regexp unicode stuff is expensive. And to make matters worse, if anything in any package that you import uses unicode, the new, slower unicode regular expression algorithm is applied to *everything* and there's no easy way to turn that off. This is just a nasty rumour I'm sure, but I've heard it multiple times from multiple people. I like to stay on the cutting edge and if my regexps are too slow, I'll find some other way to do it. :-) Which is fine if you live in ASCII land. Herr Müller paying € 150 to Mr. ☺ 唐鳳☻ might not share your view. :) OTOH, since the introduction of 5.6, hardware has gotten faster and cheaper, so the slower, but actually working Unicode processing in 5.8 might something you actually want :D Best wishes, Tels -- Signed on Tue Apr 4 19:33:08 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Ivonna Humpalot pgp7hTifO3azx.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Tuesday 04 April 2006 18:30, Adam Kennedy wrote: Who was it who was working on the global CPAN dependency graph, to figure out what module was dependent on what? Whatever became of that? I think hard numbers that stand on their own merits are about the only way to get new stuff into core. Let the early adopters try out non-CPAN low-level modules. Then after a while, see what floats to the top. I was, but it is atm very hard to get simple things queried from the CPANTS (or CPAN or whatever) database. There is a package list, but it only includes author/file info, no dependencies, license etc. There is also CPANTS database, which includes the stuff, but is outdated (e.g. from 2005-12-05) I thought about writing my own stuff, but I am completely overloaded with other work atm. It would be cool to generated whatever graphs/stats from CPAN easily, though. And if you have easily dependency information, you could even easily build an auto-bundler, that throws you a .tar.gz containing the module and every nec. dependency in one go. best wishes, tels -- Signed on Tue Apr 4 18:54:00 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. A Thaum is the basic unit of magical strength. It has been universally established as the amount of magic needed to create one small white pigeon or three normal-sized billiard balls. -- Terry Pratchett pgp1HneGlmNHF.pgp Description: PGP signature
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Tuesday 04 April 2006 01:35, Sébastien Aperghis-Tramoni wrote: Tels wrote: Moin, Hello Tels, OTOH, who still runs pre-5.8.x code deserves what they get. There are horrible bugs in older Perls, and I don't know why people still insist using insecure, buggy and feature-lacking code like 5.6. or even gasp 5.004. Just think Unicode support, hash randomization, memory leaks. You forget that there's more than one way to use Perl :-) :) When Perl is used for sysadmin tasks, most of the features you listed (and I could add threads support, new IO implementation, signals handling, subroutines attributes) are of no to little use because such Perl scripts are run for executing tasks that do not require advanced Perl features like those just listed. Remember that on Unix systems, Perl is like Bash, Sed and Awk, only more powerful (even if it's by one or two orders). Do you replace your /bin/sh on your Solaris with the latest Bash just because it has very new and cool features? Usually you can't. Mainly because it could break things, and has little to no added value. On workstations, poeple (e.g me, collegues, family etc) tend to install a new system every 2..3 years because the old(er) linux versions are usually lacking in feature (like, say, no unicode support, no support for modern hardware, buggy software, etc etc). OTOH, I have server systems running for like 3 years (or until the hardware burns down) because it works. (Usually, after a few years you upgrade the system anyway, because the definition of works changed sufficiently, or the environment causes the machine to no longer work with others). In the former case I am not interested in running older perls, in the latter case I am not updating any module or software on the server unless its definitely broken, because updating lets say File::Temp would risk breaking the system, and users of the machine in question don't like downtimes. Now, there is definitely a difference between very basic modules that should run on 5.004, like File::Temp or whatever, and fancy stuff you don't want to run on such old systems, like say Graph::Easy, though. But for instance, I am totally at a loss why Version.pm needs to support 5.004 - I mean, if you are running such an ancient machine, why put a new Version.pm on it and risk breaking stuff? Likewise, why using BigInt on 5.004? The bugs in overload.pm alone would probably make your head spin. I think the worst case is that the testsuite runs ok, so you think it works, but it then breaks in many and subtle ways, exactly when you need it most. More below: Using these older Perls means you basically show the hard-working Perl5-Porters that you don't care for their work in improving Perl. But the Perl interpreter (which is what the P5Porters are working on) and the Perl modules are mostly disconnected (*). Where would be the interest to use an interpreted language if it were tied to a specific version of the interpreter? Most Perl code out there don't require recent features. To continue with my previous analogy, there are also many people that work hard on the Linux kernel, the GNU system, and all the different parts that compose a GNU/Linux distribution, but when a server is in production, you can't upgrade it at your wish. (*) Yes, I know that the core Perl distribution includes many modules, but ask any P5Porter and he'll answer you that the core is over-crowed and that all core modules that can be made dual-life should be released on the CPAN. I know, now people will come out of the wood and say that they have that old system, and no, they can't upgrade Perl etc, never touch a running system etc yadda yadda. But what the heck do you then try to upgrade modules on said system when you didn't want to touch the system? My current $work is to write a Perl program that must execute on about 1200 Linux servers, with Perl versions ranging from 5.004 to 5.8. I can't upgrade Perl on these because they have different kernel / glibc / gcc versions. But that's not a problem because I don't need to upgrade Perl or the modules on said systems, just to put the modules I need in a directory and use lib /that/directory. Of course I need to use modules that work with 5.004, or patch them so they work with 5.004, but you could be surprised to see how little some of the patches are. Can be as simple as removing require 5.6 (as for File::Temp). Most of the patches I've sent were less than 10 lines of differences. You $work is what I call a special case. It is certainly not the generic case (at least for my userbase), and I don't think that authors should have to care for such special needs (unless they want :-D. The biggest problem you face IMHO is that the module might work in testing, but not in praxis. Dont think CPAN testers even do 5.6 anymore, and I do not havy anything older than 5.8.3 at my disposal. This means
Re: Module requirements (was: Module::Build and installing in non-standardlocations)
Moin, On Sunday 02 April 2006 16:37, Sébastien Aperghis-Tramoni wrote: Adam Kennedy wrote: [snip] This is a little harder with Module::Build as it has a few dependencies that ask 5.005 or 5.6, although in some cases incorrectly. I send patches so modules like File::Temp or ExtUtils::Constant work with 5.004 (and maybe earlier) but their author haven't yet released updated versions. With these patches (and if the test suites of some of these are fixed), several modules can probably work on 5.004 or earlier with little to no changes. OTOH, who still runs pre-5.8.x code deserves what they get. There are horrible bugs in older Perls, and I don't know why people still insist using insecure, buggy and feature-lacking code like 5.6. or even gasp 5.004. Just think Unicode support, hash randomization, memory leaks. Using these older Perls means you basically show the hard-working Perl5-Porters that you don't care for their work in improving Perl. I know, now people will come out of the wood and say that they have that old system, and no, they can't upgrade Perl etc, never touch a running system etc yadda yadda. But what the heck do you then try to upgrade modules on said system when you didn't want to touch the system? Best wishes, Tels -- Signed on Mon Apr 3 18:28:11 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I'm not a vegetarian, but I eat animals who are -- Groucho Marx pgp2O2qldS6MZ.pgp Description: PGP signature
Re: [OT] TDD only works for simple things...
Moin, On Tuesday 28 March 2006 20:11, Fergal Daly wrote: On 3/28/06, David Cantrell [EMAIL PROTECTED] wrote: Geoffrey Young wrote: David Cantrell wrote: Try writing a test suite ahead of time for a graphing library. It's possible (indeed, it's trivial - just check the md5 hashes of the images that are spat out against images that you have prepared ahead of time in some other way) but it would be damnably time-consuming to create those tests. Consequently, I've not bothered. I throw data at it, and look at the results. If the results are good I then put an md5 hash of the image into a regression test. [snipbit] Unfortunately, the draw() method is the one that's the hardest to write, the one that is the most prone to error, the hardest to debug, and the one where it's hardest to write tests in advance. There are things you can do though. For example you can make draw take [snipabitmore] Basically it revolved around testing low-level bits, and then hoping that when each of the features for itself is correct, that their sum will also be correct. That works quite ok, but catching the remaining cases can be quite time consuming. OTOH, I would _never_ _ever_ consider starting testing the output if there arenot unit tests for all (well,most) of the basic features. In addition, with raster output you can atleast ensure that the output is what will be displayed, in my case I also have HTML output, which adds the fun code-looks-different-but-renders-the-same and vice versa variables to the testing matrix. Still, functional tests are a must-have. Don't accept less. Best wishes, Tels -- Signed on Wed Mar 29 19:03:36 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #5,546,528 and EU patent EP0689133: | Header | Body | Attachements | | |+ +--| | | ~ ~ pgpNM0UpF1x1P.pgp Description: PGP signature
Re: [OT] TDD only works for simple things...
Moin, On Tuesday 28 March 2006 20:01, Fergal Daly wrote: On 3/28/06, Tels [EMAIL PROTECTED] wrote: Moin, On Tuesday 28 March 2006 17:14, Fergal Daly wrote: I don't know of examples off-hand but I think in a way they're [snipabit] Also, the problem with php (assuming you use it as a webpage generator) is that it encourages you to embed code in your HTML and so yes, it is naturally difficult to test, Well, duh! If you break one of the general rules of coding[0], you have to live with the consequences. Yes but everything you're doing is wrong, you're stupid probably isn't the counter-argument that Geoff is looking for :) I know :) But still, sometimes you need to tell the other person that beating the dead horse faster will not help :D Anyway, I hope my longer replay was usefull and helped a bit, although I still can only guess what TDD stands for :) Best wishes, Tels -- Signed on Wed Mar 29 19:01:57 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Den wahren Wert dieser Software werden vermutlich nur Fach Läute und Firmen erkennen. -- So isst es. Ein gewißer Standart muss schon gewart beiben! -- Kabe (http://tinyurl.com/3kucx) pgp4zGtesIFze.pgp Description: PGP signature
Re: [OT] TDD only works for simple things...
Moin, On Tuesday 28 March 2006 16:11, Geoffrey Young wrote: hi all :) for those interested in both php and perl, it seems that php's native .phpt testing feature will soon produce TAP compliant output - see greg beaver's comments here http://shiflett.org/archive/218#comments so, TAP is slowly dominating the world... but we all knew that already :) what actually prompted me to write is a comment embedded there: Only the simplest of designs benefits from pre-coded tests, unless you have unlimited developer time. I am not sure if that proves it or not (need coffee before that), but you might look at the huge testsuite for the (moderately complex) Graph::Easy with at least 300 pre-coded tests in ascii.t alone: http://search.cpan.org/src/TELS/Graph-Easy-0.43/t/ Creating these tests takes quite a time, but then, to find a bug you have to have a clear testcase first anyway. And once you have it (breaks with old code, works with new code), you can just move it into the t/in/ directory, create the expected output in t/out/ and increment the counter in ascii.t and be done with it. The hard part is of course that all these tests should have been there from revision 0.01 on already (except the ones testing newly implemented features, but then the testsuite is still far from complete anyway) The one thing that absolutely does _not_ work is creating the output and inspecting it visually. Nobody will be able to view and inspect a few thousand testcases each revision - I did about fourty in one year for Graph::Easy alone. Hope this helps, Tels -- Signed on Tue Mar 28 19:14:13 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Now, _you_ behave! pgpsTG8H8TgUG.pgp Description: PGP signature
Re: [OT] TDD only works for simple things...
Moin, On Tuesday 28 March 2006 17:14, Fergal Daly wrote: I don't know of examples off-hand but I think in a way they're [snipabit] Also, the problem with php (assuming you use it as a webpage generator) is that it encourages you to embed code in your HTML and so yes, it is naturally difficult to test, Well, duh! If you break one of the general rules of coding[0], you have to live with the consequences. Best wishes, Tels 0: DMCADS! - Don't mix code and data, stupid! -- Signed on Tue Mar 28 19:19:53 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. To be beautiful is enough! If a woman can do that well who should demand more from her? You don't want a rose to sing. -- Thackeray pgpJSpyHbIG9H.pgp Description: PGP signature
Re: Proposed kwalitee metric: installer_not_executable
Moin, On Monday 20 March 2006 09:28, Thomas Klausner wrote: Hi! On Sat, Mar 18, 2006 at 06:12:37PM +1100, Adam Kennedy wrote: I'd like to propose a Kwalitee test installed_not_executable be added for which you get the Kwalitee point if and only if: 1) Both Makefile.PL and Build.PL (if they exist) are not executable 2) Both Makefile.PL and Build.PL (if they exist) do not have a leading hash-bang line I like it :-) Just a clarification: I checked and my Makefile.PL's don't contain a shebang and are not executable anyway, so there is no change and this means, Yay! I am in favour :) BTW, new and improved CPANTS is nearly finished. And sorry that I wasn't commenting on a few threads lately, but there was a lot of @jobs and $real_live stress which is mostely resolved now. Cool! Waiting for it. Best wishes, Tels -- Signed on Mon Mar 20 18:33:37 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #4,197,590: for (x = 0; x widht; x++) { for (y = 0; y height; y++) { setPixel (x+xm, y+ym, getPixel(x+xm,y+ym) ^ getCursorPixel(x,y); } } pgpHVPrE8scvm.pgp Description: PGP signature
Re: Proposed kwalitee metric: installer_not_executable
Moin, On Saturday 18 March 2006 08:12, Adam Kennedy wrote: From my understanding, one of the little idiosyncrasies of Makefile.PL/Build.PL installers (including MI variants of both) is that in order to make sure that the Makefile and Build use the correct perl installation, you should always be explicitly running M/B.PL with the perl you want to install the module with, and NOT necesarily with the default perl. This is why installation instructions read perl Makefile.PL make make test make install and not ./Makefile.PL make make test make install For what a tiny fraction of users is there a distinction between these two? And how many users read the insturctions at all, and if, do get the subtle difference or just use ./Makefile.PL anyway? I guess changing Makefile.PL to non-executable will result in a big outcry of all the people who only have one perl installed and find the added hassle annoying. (I always use perl Makefile.PL but this is just a habit, with no thought, I cannot remember having sit at a computer with more than one Perl installed, ever) Best wishes, Tels -- Signed on Sat Mar 18 09:34:39 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Look, I'm about to buy me a double barreled sawed off shotgun and show Linus what I think about backspace and delete not working. -- some anonymous .signature pgpY2O9Ym68Qc.pgp Description: PGP signature
Re: What is the Value of t/0-signature.t?
Moin, On Saturday 18 March 2006 03:39, Adam Kennedy wrote: Audrey Tang wrote: On 3/17/06, chromatic [EMAIL PROTECTED] wrote: Do you mean that it's valuable only for the author to run (perhaps during disttest) and rarely useful for the user to run during installation? Aye. Though I can imagine users who'd like to run them as well... This is after all not that different from the Test::Pod situation, in it that it verifies integrity of the distribution and not the module's function itself. Audrey For a user, how does signature.t act differently to the built-in signature checking of CPAN.pm. What does it add? (apart from hung blocky non-blocking connections to the keyserver on Win32) :( It adds the annoyance that a local test suddenly wants to connect to the outside world. Thats fun, when the outside world is not available... Best wishes, Tels -- Signed on Sat Mar 18 09:33:06 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Kernel Panik is here! - http://ubersoft.net/kpanic/ pgpqepr1vqvqE.pgp Description: PGP signature
Re: Proposed kwalitee metric: installer_not_executable
On Saturday 18 March 2006 09:36, Tels wrote: Moin, On Saturday 18 March 2006 08:12, Adam Kennedy wrote: From my understanding, one of the little idiosyncrasies of Makefile.PL/Build.PL installers (including MI variants of both) is that in order to make sure that the Makefile and Build use the correct perl installation, you should always be explicitly running M/B.PL with the perl you want to install the module with, and NOT necesarily with the default perl. This is why installation instructions read perl Makefile.PL make make test make install and not ./Makefile.PL make make test make install In addition, changing the shebang to: #!/usr/bin/env perl should fix the issues, it would use the first perl like perl Makefile.PL will do. Best wishes, Tels -- Signed on Sat Mar 18 09:37:20 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Like my code? Want to hire me to write some code for you? Send email! pgpEuzba1we0i.pgp Description: PGP signature
Re: Best Practice for testing compilation of scripts
Moin, On Thursday 16 March 2006 03:49, chromatic wrote: On Wednesday 15 March 2006 18:43, Geoffrey Young wrote: I was suggesting the functionality be added to Test::More as compile_ok(), rather than runperl() in some separate CPAN module, as it seems to closely parallel use_ok() for modules and would be rather useful on a larger scale. That would require prying Schwern out from having fun to do actual work! I feel a shaming coming on. SHAME SHAME *Tels is using Shame on Michael Schwern* *Tels is using Guilt on Michael Schwern* Best wishes, TeOops, now you know I play GuildWars instead of getting work donels -- Signed on Thu Mar 16 18:00:18 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. STOP! We have run out of virgins! pgpVbQ5f1IJAG.pgp Description: PGP signature
Re: getting round Test::More test formatting trickiness
Moin, On Tuesday 14 March 2006 10:53, Smylers wrote: Dr Bean writes: I've gotten comfortable with Test::More conventions, but it's difficult in my editor to really quickly create lots of tests. Which editor is that? is($o-index('You'), 1, 'objects index 1'); isnt($o-index(1), 1, 'objects index 2'); isnt($o-index(2), 2, 'objects index 2'); is($o-index($t), 3, 'objects index 3'); Incrementing numbers and substituting words and letters takes time If your editor happens to be Vim then be aware that Ctrl+A adds 1 to the number currently under the cursor, or the next number on the current line if the cursor isn't on a number. Wow. Thanx! (And I have used vim for years...) Best wishes, Tels -- Signed on Wed Mar 15 17:33:10 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I'm not a vegetarian, but I eat animals who are -- Groucho Marx pgpFZg672ctdB.pgp Description: PGP signature
Re: Activestate and Scalar-List-Utils
Moin, On Tuesday 14 March 2006 23:24, Jan Dubois wrote: On Tue, 14 Mar 2006, David Golden wrote: Steve Peters wrote: The problem was that newer Scalar-List-Utils uses an internal Perl function that Windows does not see as an exported function. This was changed with Perl 5.8.8. Once ActiveState releases a Perl 5.8.8, they should be able to upgrade the version of Scalar-List-Utils that they distribute. I don't really understand that answer given what I see in the field. It is not that simple. The problem is that the same PPM repository is used by clients using older versions of ActivePerl, and none of those versions contain a PPM that could upgrade their bundled Scalar-List- Utils module. So, easy, use two repositories, or ditch that method entirely. I want people using my modules from this decade, not from last. In the longer run we need to fix the whole PPM infrastructure to be able to upgrade core modules too. And I really hope this can be done, like, this year. The whole situation is getting rather frustrating, because the problem we are trying to solve is something that shouldn't even be there. Best wishes, Tels -- Signed on Wed Mar 15 17:37:59 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Now, admittedly, it's critical software. This is the 'let's go kill people' software. -- Mark A. Welsh III pgpost5naq4cV.pgp Description: PGP signature
Re: getting round Test::More test formatting trickiness
moin, On Wednesday 15 March 2006 10:50, A. Pagaltzis wrote: * Smylers [EMAIL PROTECTED] [2006-03-15 09:05]: If your editor happens to be Vim then be aware that Ctrl+A adds 1 to the number currently under the cursor, or the next number on the current line if the cursor isn't on a number. It also has “visual block mode,” which is initiated using Ctrl-v, and lets you cargo rectangular areas of text around the place. You can even indent such blocks to insert a block of whitespace in the middle of the selected lines. You can also use virtual edit mode to place the cursor beyond the end of a line. This can be combined this with visual block mode, too. (You can draw ASCII art tables that way very quickly.) Dang, and I wrote a Perl module to do that...using all the time vim! :D Best wishes, Tels -- Signed on Wed Mar 15 17:39:55 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Like my code? Want to hire me to write some code for you? Send email! pgpTv1X84PvQ7.pgp Description: PGP signature
Re: Best Practice for testing compilation of scripts
Moin, On Wednesday 15 March 2006 21:29, chromatic wrote: On Wednesday 15 March 2006 12:25, Jeffrey Thalhammer wrote: I'm sure I could clean this up by opening a pipe instead of using backticks and output redirection. But even that doesn't smell very good. I've looked around on CPAN, but I have not yet found a Test:: module that seems appropriate. I also wondered if fiddling with $^C would do the trick somehow. Any suggestions? Thanks. I've long intended to take t/test.pl from the Perl core distribution and wrap up at least its runperl() in a Test:: module. Perhaps that would work for you? Please drop me a note when it's done, since I also test quite a few scripts and their options with homegrown solutions. Best wishes, Tels -- Signed on Wed Mar 15 21:57:24 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Five exclamation marks, the sure sign of an insane mind. -- Terry Pratchett pgpFx2tVgiIGm.pgp Description: PGP signature
Re: New kwalitee metric - eg/ directory
Moin, David Landgren wrote: Hey! It's been over two months since we last had one of these suggestions! I did battle with a module that shall remain nameless the other day. I had a difficult time figuring out how to use it. In times like these, I like being about to go to the build directory and p(aw|ore) through the eg/ directory and take a script and bend it into a Whats the /eg directory you speak of? :D On Tuesday 14 March 2006 18:13, Adam Kennedy wrote: [snip] I have a shitload of distributions, mostly small components. For all those component distributions I consider it a failure if it is so complex that you need something more than just three or four lines from the SYNOPSIS. How about we penalise anything with a eg/example directory, for not having clear enough documentation, or a clean enough design/API. :) There's a lot of reasons for not having an eg/ directory, unless your distribution is huge and complicated, like say bioperl. You are contradicting yourself :) My modules are usually so feature crammed that they need a few examples for showing what you can all do with it or to enable the user oto use the modul without having to write/use perl code first. Best wishes, Tels -- Signed on Tue Mar 14 18:40:44 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Ich bin mit der Gesamtsituation unzufrieden! pgpaN87I3Gp1Q.pgp Description: PGP signature
Re: Erroneous CPAN Testers Reports
Moin, On Monday 13 March 2006 23:01, David Golden wrote: Jerry D. Hedden wrote: In addition to getting CPANPLUS fixed, I feel there is the issue of what to do about such fallacious reports in the CPAN Testers database. Currently, there is no functionality for deleting such reports. This issue also has frustrated me for some time, but I don't think that we should be considering deleting reports. Reports are just facts -- they have no value basis. Yes, people may make judgments about the robustness of a module based on pass/fail percentages, but I don't think we should alter the raw data. I'd rather see the ability for test reports to be annotated (e.g. by the author), or I'd like to see another site that summarizes the raw data and can filter down to a more reliable set of statistics. Well, OTOH such bogus reports are junk and should really be deleted. I had FAIL reports because the testing system crashed midway (or couldn't unwrap a tar file or whatever) etc. and these things really should be hidden from view or be deleted alltogether. I don't care how, but as a developer/user, I don't want to see them. Best wishes, Tels -- Signed on Tue Mar 14 00:01:17 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #4,197,590: for (x = 0; x widht; x++) { for (y = 0; y height; y++) { setPixel (x+xm, y+ym, getPixel(x+xm,y+ym) ^ getCursorPixel(x,y); } } pgpzEYfLYBhwD.pgp Description: PGP signature
Re: Show-stopping Bug in Module::Install and the Havoc it Created
Moin, On Saturday 11 March 2006 06:22, Adam Kennedy wrote: Tels wrote: Moin, [snip] Actually, that it worked on your system was intended behaviour. The bug that was introduced meant that installation failed only for authors (that is, that had Module::Install installed on their local system) and only if their installed version differed from the one bundled. Yes, I fucked up. But it's hardly a showstopper. For someone who wanted to install a module bundled with the borked M::I it was a showstopper since it didn't build. :) (But if I read that correctly, it would only fail for people having a different M::I installed than the one bundled) It only caused problems for authors. Although that was a little unfortunate given that Catalyst users seem to now all be authors by definition, it meant normal end-users shouldn't have been effected (I think). Module::Install was broken for less than a week, and only for authors. Actually it worked for me (the author) and broke for jpo (one of my users aka beta-tester). But that seems to be splitting hairs :) OTOH, you have to _install_ the latest version of M::I to bundle it with the module, and *this* means you cannot ever test that your bundled module works corectly except by trying it on a clean system (and a system with another M::I installed). This increases complexity quite a bit (complaint A below). Any author who upgrades to the just uploaded 0.60 will be fixed now. Which was one of my two concerns (listed below again :) A: M::I increases the size and complexity of a distibution (aka it can break, needs more testing) B when it breaks, end-users cannot fix the problem for themselves, they need to bug the author and he has to release a new version. (Good luck with that with sparsely maintained modules...) Whether this design really works in reality is, well, not known yet. Anyway, thanx for your work Adam, M::I makes some things easier as EU::MM and Module::Build, so it is one more tool in our author's toolset. I agree with your that Havoc is a too strong word for that little problem. Best wishes, Tels -- Signed on Sat Mar 11 10:10:58 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I'm a Wei-wei-wei-wei-wei-wow-wow-wow-wow-wow-wow-wizzzaahrd... pgpTONcrbWtbh.pgp Description: PGP signature
Re: Show-stopping Bug in Module::Install and the Havoc it Created
Moin, On Friday 10 March 2006 12:26, Shlomi Fish wrote: Hi all! We had a discussion here about the pros and cons of using Module::Install with use inc::Module::Install in the Makefile.PL, and bundling it along. Well, now a showstopping bug happened in Module::Install and several modules that included the affected version suffered: http://search.cpan.org/src/AUTRIJUS/Module-Install-0.59/Changes http://rt.cpan.org/Public/Bug/Display.html?id=18020 http://rt.cpan.org/Public/Bug/Display.html?id=18090 Just a litte bit of information: Module::Install 0.58 worked on my system, but didn't work on others. So the bug might not affect everyone - but it is bad and makes me re-consider using Module::Install only when necessary. best wishes, Tels -- Signed on Fri Mar 10 13:35:07 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. What you have to have faith in is human beings being able to work together. -- Larry Sanger pgpkCiLdeGo6l.pgp Description: PGP signature
Re: Request for Comments: Package testing results analysis, result codes
Moin, On Monday 20 February 2006 04:20, Adam Kennedy wrote: (Andreas J. Koenig) wrote: On Sun, 19 Feb 2006 22:22:20 +1100, Adam Kennedy [EMAIL PROTECTED] said: 1. Broken or corrupt packaging. A bad tarball, MANIFEST files missing. Make sure you verify that all files in the distro are readable. Reject if the permissions are bogus. Recently we had an increasig number of distros that had absurd permissions. That's a 1. Also there is the rule that it must unpack into a single top level directory and must not clobber the working directory. That's a 2. Besides that, we reject distros that contain a blib/ directory. This seems arbitrary usually just catches a trivial error that might cause grief later. That one's more interesting... the packaging itself is ok, and technically it's a valid perl5, perl5.make or perl5.build package, but it has failed something more like a compulsory consistency check... So maybe 3. Package failed compulsory quality check Can you do warnings as well? Warn if any of these is missing: SIGNATURE META.yml Makefile.PL ? If the SIGNATURE is there, but fails to check, then reject outright. Best wishes, Tels -- Signed on Mon Feb 20 12:29:40 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My glasses, my glasses. I cannot see without my glasses. - My glasses, my glasses. I cannot be seen without my glasses. pgpjcG7ZOo9VW.pgp Description: PGP signature
Re: Binary distributions
Moin Offer Kaye (sorry, can't identify which part of your name which is the one you are called by :-) On Sunday 05 February 2006 07:59, Offer Kaye wrote: On 1/28/06, Tels wrote: Of course you must reliaze that, except for pure-perl modules and very controlled environments, binary distributions are doomed to fail. You simple cannot guess what libraries/compiler/system/kernel the user has installed, unless you know the distribution and version *and* require that the user never updates anything. This email, and the entire discussion that followed, was very Linux centric. Correct me if I'm wrong, but for Windows this argument is a non-issue, right? I mean, compile a module for Windows and it will most likely work for all versions. Or at least the latest ones (2000/XP). This is a common pitfall :) While Windows doesn't have as many distribution as linux has, there enough to make the compile once, run everywhere thing to fail in the long run (but as murphy says, you realize this only after having spent considerable time to make it work :D It will work for pure-perl modules (as least when the prereqs are meet), that is true. And I have successfully bundled these together with scripts and the use lib mantra and deploied them on various machines. But as soon as you need to compile something or need certain libs, DLLs, or window components, you step up in the wonderfull world of different compilers, linkers, run-time libs, service packs etc. I think with linux this is more in the mindset of the developers (you know that the systems differ wildly), while a lot windows people tend to ignore these things thinking it doesn't apply to windows right? and then you end up with non-working apps because the author had MS Access, service pack 2, the SDK and a compiler (and some unspecified updates that came with an MS Office update) installed, while the user machine has none of this. Why not start off by providing ppm.cpan.org (as the OP suggested for linux distors), or something similar? There are many modules that I want to use where the PPM version provided by ActiveState or some other repository is badly of out date. Are you talking about ppm for windows or linux? For linux: But what would be the point of distributing the binary versions when you can download the source and compile/link it yourself? (Yes, I see the point, but it would bloody much work for a few selected distributions.) For windows: Why not fix activestates build system first? Their solution seems to be 80% there :) I guess that many more people use Perl on Linux boxes, but there are still uses for Perl on Windows... ;-) I pass the chance to make bad puns :) It would be wonderful to be able to fully use CPAN on Windows, with the same level of comfort that today's pre-packged PPM files already provide. I thought that CPAN already works on windows? Best wishes, Tels -- Signed on Sun Feb 5 12:44:18 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I'm a Sis-sis-sis-sis-sis-sis-sis-sinnahr... pgpfRiXogmEY4.pgp Description: PGP signature
Re: Kwalitee in your dependencies (was CPAN Upload: etc etc)
Moin, On Friday 03 February 2006 11:04, David Landgren wrote: David Cantrell wrote: brian d foy wrote: [EMAIL PROTECTED] wrote: Hopefully it will be something like: $I::don't::bother::to::write::portable::code=1; ;-) [snip] I want my code to be more like File::Spec, which provides a common interface to a load of platform-specific modules. That has very good coverage of bizarro OSes, and I think we'd all agree that it's an excellent example of a nice portable module. It doesn't work on RISC OS though. I suppose that this is less that RISC OS is so truly bizzare that it defies anyone to come up with platform-specific File::Spec code for it, and more a gentle nudge on your part for someone to find the tuits to do so? Problaby just because the last guy running RISC OS has died 4 years ago. SCNR :-) Best wishes, Tels -- Signed on Fri Feb 3 11:29:15 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates EU patent EP0394160: [ ## 66% ] pgpIKJpnslcrl.pgp Description: PGP signature
Re: What am I doing wrong? (Perl, UTF-8 and cyrillic)
Moin Alex, On Tuesday 31 January 2006 02:56, [EMAIL PROTECTED] wrote: Hello again, If I use this: use open ':encoding(UTF-8)'; in my script, it crashes and makes a big fat core dump. :-( Please trim this down to a minimal (!) example, and then send a bug report via perlbug. (You did not say what Perl version you were using, if in doubt, maybe you can upgrade it first. Coredumps are fixed often in minor Perl versions) I think it is up to me to figure out the problem now, but if you have any suggestions, I'll be glad to hear them. Unfortunately, because this is not a high priority project I can work on it only for half and hour daily - that's the reason I'm replying so slow. No problem we try to help, we will likely need more data from you. Best wishes, Tels -- Signed on Tue Jan 31 18:23:15 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Given enough time, all legal battles in the tech industry will invoke the DMCA. This generally means that all constructive arguments have ended. NialScorva's law pgpaebKVwk3EF.pgp Description: PGP signature
Re: YAML and Makefile.PL (was various topics)
Moin, On Tuesday 31 January 2006 06:50, chromatic wrote: On Monday 30 January 2006 20:40, Adam Kennedy wrote: Incremental releasing is a toolchain problem. [snip a good comparisation] I don't say this often, but that really doesn't seem scalable to me. If I have to re-release a distribution because of a bug in the build system that users can't upgrade on their own, the build system sucks for my purposes. And now you understand why I am angry that users updating their YAML to the newest version couldn't install my modules because YAML changed and I had to release new versions of all of them (or tell the users to downgrade their YAML, or wait for a new YAML and then upgrade it). I can mitigate this by not using YAML. So I could use Module:Install instead and find myself in the very same boat - I have to hope that the bundled version of Module::Install will work on whatever system the user has. (I think it will, but so I though YAML will :-D Now, I know Module::Install is an outstanding piece of work, and while it does have the bundling issue, it should also be noted that the other two options aren't much better as my YAML problem (and the Module::Build dependency) show. You basically have to hope that the user's system has the tools to install your module. At the end of the day, it comes down to who has the work, and the ability to fix this. If my users can fix things on their end, it removes the dependency on my (and my free time and energy). If I can fix things for them, it removes the dependency on their time and energy. I see myself as a solution provider, and I want my modules as small, lean, correct and easy to use as possible. If I can save 5 minutes, but create a bigger download/workload/system requirements for all my users, well, I would not do that. So, it comes down to find a compromise. If I spend all day long arguing install methodologies and fiddle with my Makefile.PLs, I am not writing code. So less talk and more code from me :) Best wishes, Tels -- Signed on Tue Jan 31 18:24:56 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Let's say there are a thousand. But there are 284 million people in this country. You can't have public policy that is aimed at 100,000 people when the other multi-multi-millions are also involved. You can't do it that way. - Jack Valenty in http://tinyurl.com/2y65n pgpLruH7EFNsa.pgp Description: PGP signature
Re: Kwalitee in your dependencies (was CPAN Upload: etc etc)
Moin, On Tuesday 31 January 2006 00:37, demerphq wrote: On 1/30/06, David Cantrell [EMAIL PROTECTED] wrote: demerphq wrote: On 1/30/06, David Cantrell [EMAIL PROTECTED] [snip] Sorry, i guess my comment was in bad taste. I was just alluding to observations made in the p5p lists and elsewhere that basing file system behaviour on the OS isnt entirely safe, and even expecting the same semantics in the a tree could be unsafe. Like when part of it is an mounted CD-ROM (Hint: ROM :) Best wishes, Tels -- Signed on Tue Jan 31 18:19:52 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Nuclear powered vacuum cleaners will probably be ready within 10 years. Alex Lewyt, of the Lewyt Corporation, a vacuum maker, predicted in The New York Times on June 10, 1955 -- A warning to all technophiles pgpJGfLUsLur0.pgp Description: PGP signature
Re: Kwalitee in your dependencies (was CPAN Upload: etc etc)
Moin, On Monday 30 January 2006 14:59, David Golden wrote: demerphq wrote: On 1/30/06, David Cantrell [EMAIL PROTECTED] wrote: Adam Kennedy wrote: A testing system should only be sending FAIL reports when it believes it has a platform that is compatible with the needs of the module, but when it tries to install tests fail. So how, then, do I tell the testing system this module only works on Unix-like filesystems on Unix-like OSes? Hopefully it will be something like: $I::don't::bother::to::write::portable::code=1; How do you define unix-like filesystems on unix-like oses btw? Would win32 count and what reason would you give for your answer, whatever it is. Well, the more generalized problem is how to you signal to an automated test that you're bailing out as N/A for whatever reason? For Perl itself, it's easy enough for the smoke test to check if the required version of Perl is available -- and the smoke test is smart enough not to try to install an updated version of Perl to satisfy the dependency. It bails out with N/A instead. What's a clean, generic mechanism for a distribution to signal please check this dependency and abort if it's not satisfied? Something in the META.yml (e.g. Alien::*)? Send a specific string to STDERR? Send a specific exit codes? Ugh. Other ideas? Makefile.PL: PREREQ_FAIL = 1, does it nicely for me. Best wishes, Tels -- Signed on Mon Jan 30 18:41:31 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. To get something done, a committee should consist of no more than three persons, two of them absent. -- Unknown pgpMtOfzBgK9F.pgp Description: PGP signature
Re: YAML and Makefile.PL (was various topics)
Moin, On Sunday 29 January 2006 12:27, Adam Kennedy wrote: As I mentioned early, the obvious upgrade path from EU:MM, (apparently if you don't care about 5.004 at least) is to Module::Install. For example... As far as I can tell, it does what you want. Except for the little fact that you have to bundle Module::Install in all of your modules and need not to forget to add inc/* to MANIFEST - Graph::Easy::As_svg increases from 27K to 47K gzipped And if there is a problem with Module::Install, you have to update all your dists with the new version - solve one problem, create two new ones :) I'll switch over to it anyway, probably. Funny thing is that I knew that Module::Build was to replace EU::MM, but didn't know there was YetAnotherInstaller on the playing field :) Best wishes, tels -- Signed on Sun Jan 29 12:44:55 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Remember: If the game let's you do it, it's not cheating. -- Xarax pgpXcrzaZrtBf.pgp Description: PGP signature
Re: YAML and Makefile.PL (was various topics)
On Sunday 29 January 2006 12:51, Tels wrote: Moin, On Sunday 29 January 2006 12:27, Adam Kennedy wrote: As I mentioned early, the obvious upgrade path from EU:MM, (apparently if you don't care about 5.004 at least) is to Module::Install. For example... As far as I can tell, it does what you want. Except for the little fact that you have to bundle Module::Install in all of your modules and need not to forget to add inc/* to MANIFEST - Graph::Easy::As_svg increases from 27K to 47K gzipped oops, typo: 41K. Sorry, Tels -- Signed on Sun Jan 29 12:54:35 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. ...no one would risk manipulating votes in an election because it's against the law and carries a heavy penalty... -- Diebold spokesman David Bear pgphCfZa8a0dd.pgp Description: PGP signature
Re: What am I doing wrong? (Perl, UTF-8 and cyrillic)
Moin Alex, On Saturday 28 January 2006 01:35, [EMAIL PROTECTED] wrote: Hello, I was doing some I18N of a bunch of existing CGI scripts and encountered a problem. I guess I'm making some very basic error, but I'm stuck with this for a day and I thought I may ask. I have my strings in UTF-8. I read most of them from file, do some processing and spit them out of the CGI-script. Let say I do this: $x=~y/a-ya/A-YA/; Here, with a I mean cyrillic a (1'st letter of the cyrillic alphabet), with ya - ciryllic ya (last letter of the cyrillic alphabet). I don't want to post ciryllic chars here - I don't know how they will show, but you understand what I mean. This doesn't work properly. I suppose it should convert the characters to uppercase, but what happens is that some characters do not get converted to uppercase, while other get converted to wrong characters. Another thing is that when I say substr($cyrillicString,5,1), the character returned is always invalid (shows as a white question on a black diamond). All other cyrillic strings, that are not manipulated show properly. The problem happens when I try to get a character from a string, to split it, things like this. What am I doing wrong? If you reply RTFM, I'll understand and will not complain... :-) Did you do: binmode ':utf8', STDIN; (or the equivalent) when reading UTF-8 from a file? best wishes, Tels What Perl version do you use? You may have to upgrade, because things prior to 5.8.2 (or even later) are a bit buggy. In addition, I think that tr/// doesn't work properly with unicode, have you tried uc($string)? In additon, what is the output charset set by your CGI? You need to tell the browser that you output utf-8, or it will/might incorrectly guess a different charset. Best wishes, Tels -- Signed on Sat Jan 28 11:13:40 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Where shall I put you? Under H, like Hot, Sexy Mama? pgp8az87GPnbE.pgp Description: PGP signature
Re: Dependency trees was: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Moin, On Saturday 28 January 2006 11:08, Adam Kennedy wrote: Graph::Easy installation failing here with YAML 0.50 (newer versions of YAML seem to be uninstallable at the moment due to Class::Spiffy + Spiffy + Test::Base install failures... Just what I said about dependecies etc. My Makefile.PL uses YAML for me (e.g. the author) to create a META.yml file with a license field, something that MakeMaker (could?) can't do. I used require YAML; to avoid that the user has to has it installed. Unfortunately, YAML got changed, and now you also need require YAML::Node; for my Makefile.PL working properly. :-( So you can either: * patch my Makefile.PL * patch YAML to work like the previous version, then update it on CPAN, then install it The latter is way more work, and needs time and due to what you wrote above, might even not work. I'd say keep the dependencies out of YAML (KISS!). Whether YAML should also load YAML::Node when you do require YAML; is a point for discussion, but it certainly tripped up a *lot* of existing Makefiles and I don't have the time to patch them all because that requires me to release a dozend or so modules. Sorry for the problem, but it is only partly my fautl :) Best wishes, Tels -- Signed on Sat Jan 28 11:22:01 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates EU patent EP0394160: [ ## 66% ] pgpzMUl8Ibv2L.pgp Description: PGP signature
Re: Binary distributions
Moin, On Saturday 28 January 2006 08:20, Tyler MacDonald wrote: Gabor Szabo [EMAIL PROTECTED] wrote: I have just moved to Ubuntu and thought I will try to rely on apt-get to install my Perl modules. Quckly I hit a wall and could not install some of the basic modules. I did not have the time to investigate and check if I made a mistake or if there is a .deb repository with the latest CPAN modules for Ubuntu. I reverted to use CPAN.pm. BTW here is an article on how to build Debian packages of Perl modules: http://www.debian-administration.org/articles/78 Anyway I think instead of trying to setup our own binary distribution we might want to make sure there are up to date repositories of Perl modules for the major distributions (and I am not talking only about Linux distributions here). It can be done by helping the people who already maintain some of these distributions or by setting up repositories such as debian.cpan.org, fedora.cpan.org, etc... That is such an incredibly good idea. I've got plenty of bandwidth to burn and I'm willing to set up debian.cpan.org. Of course you must reliaze that, except for pure-perl modules and very controlled environments, binary distributions are doomed to fail. You simple cannot guess what libraries/compiler/system/kernel the user has installed, unless you know the distribution and version *and* require that the user never updates anything. There is a reason that modules are compiled/linked against the target system prior to installation, and there is also a reason to run the tests: to assure that that step really worked. FreeBSD might get away with that because the user will ever only install their ports and they can make sure that they all play together. For everything else, this becomes a maintanance nightmare and I wish to be no part of that :) PS: I just read that Adam Kennedy wrote basically the same things. OOps. Best wishes, Tels -- Signed on Sat Jan 28 11:16:38 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #5,546,528 and EU patent EP0689133: | Header | Body | Attachements | | |+ +--| | | ~ ~ pgpV8xkBrSzPO.pgp Description: PGP signature
Re: Kwalitee in your dependencies (was CPAN Upload: etc etc)
Moin, On Saturday 28 January 2006 15:54, David Golden wrote: Adam Kennedy wrote: Likewise, if your module installs all the way from a vanilla installation and all it dependencies go on cleanly, then I think that's well and truly worthy of a point. Something like a clean_install metric. If there are any FAIL entries in CPAN Testers against the current version of your module, you lose a point. Those two are not the same. Leaving aside that Kwalitee tests don't run code, the ability of a vanilla version of the latest production release of perl to install a module and all of its dependencies with the vanilla version of CPAN for that release could be an interesting signal of quality. Knocking off points for fails, however, might be due to things that are completely idiosyncratic. For example, anyone whose module depended on a test module that used Test::Builder::Tester when Test::Builder changed and broke it could get dinged. Does this really tell us anything about actual quality? Yes :) The more things your module depends on, the higher the chances are that it breaks. Of course, determining what treshold is considered good re-use of code and what counts as excessive dependency hell is quite hard to decide. What about if I list a prerequisite version of Perl and someone who tries it under an older version causes a FAIL on CPAN Testers? Does that tell us anything? It shouldn't count as fail. There are so many special cases that I don't think the value derived from such a metric will be worth the effort put into it. That might be well true. Best wishes, Tels -- Signed on Sat Jan 28 16:44:09 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Like my code? Want to hire me to write some code for you? Send email! pgpak2HJQGAWC.pgp Description: PGP signature
Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Moin, On Thursday 26 January 2006 15:26, Thomas Klausner wrote: Hi! I finally found some tuits to work on CPANTS again. As the previous implementation had some drawbacks, I started from scratch, and from another direction. I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of the previous Kwalitee indicators and some code to check if one distribution tarball conforms to those indicators. It also includes a script calls icpants_lint.pl/p which is basically a frontend to the module. Very cool. However, I am _really really_ starting to wonder whether we need a Kwalitee rating based on *excessive usage of prerequisites*. On the box I tried to use it I had to install basically dozens of modules, with a few twists: * cant use CPAN (due to network security), so have to download everything manually, transfer it via USB stick etc. * technically, I would have to audit each module before installing it... * perl Makefile.PL make test make install is the mantra for everything except: ** some modules use Module::Build and the above doesn't work ** for some modules Makefile.PL will succeed, even tho the PREREQ are not met, meaning you get lots of silly test failures (at least it doesn't install the module because make test will fail) * in the middle of the operation search.cpan.org broke down, so I had to stop and wait 15 mins until I could continue (Murphy :) * in the end, tests fail, so all was probably for naught: Failed Test Stat Wstat Total Fail Failed List of Failed -- t/analyse.t2 512102 20.00% 6-7 Failed 1/10 test scripts, 90.00% okay. 2/56 subtests failed, 96.43% okay. make: *** [test] Error 255 :-( Will send you the full output off-list. I am still considering building something[0] that shows the module-dependency as a graph to show how bad the problem has become. Even simple modules like YAML seem to include everything and the kitchen-sink :-( Best wishes, Tels [0] As soon as I can extract the nec. data from CPANTS, which has failed the last two times I tried that for very similiar reasons - lots of dependencies, test failures, database scheme changed etc. ... -- Signed on Fri Jan 27 15:33:57 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The need for a Steam account to play HL2 is like having to login to MS Passport to play Minesweeper. -- Tels pgpwx4HJDGsDy.pgp Description: PGP signature
Dependency trees was: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Moin, On Friday 27 January 2006 17:42, Dominique Quatravaux wrote: Tels wrote: However, I am _really really_ starting to wonder whether we need a Kwalitee rating based on *excessive usage of prerequisites*. Doing work based on existing CPAN modules instead of reinventing the wheel by oneself is typically *beneficial* to quality, because it tremendously enhances test coverage: the prerequisites are supposedly useful to other things besides supporting the top-most module, and are tested for such alternate uses. Witness e.g. Catalyst. Yeah, but there is a fine line between re-inventing the wheel and requiring everything-and-the-kitchen-sink just because you saved yourself 10 lines of code. :) And it is the latter that troubles me. I have nothing against proper code-reuse. The counter-example is that there a lot of modules that are outdated, no longer maintained, buggy, broken, and/or in flux (read: break in the next version, be fixed, then break again). Depending on these modules actually decreases the quality of your module, because as a user you need the entire code base (e.g. Foo-Bar and all prereqs) to work reliable, not just Foo-Bar alone. I could give countless examples for things that go booom and tear down my work with them. On the other hand, what about a negative kwalitee metrics of this module depends on a lot of *crappy* [low-kwalitee] modules? A case could be made that that denotes poor architectural oversight on the part of the top-most module's author. * technically, I would have to audit each module before installing it... Sorry, this is a strawman argument: human-based audits are not a credible defense against _intentional_ security vulnerabilities in code. Case in point (for C): I didn't so much talk about security (I know this is hopeless, I am installing probably hundred modules a year and there is no way I could even remotely check them for security), but about breakage. See above. I could give cases in point (like YAML breaking all my Makefile.PLs) but I refrain. So, if the module you are requiring is uptodate, the author maintains it properly, and it isn't to alpha-beta and too complicated and/or platform dependend, requiring it saves lot of trouble. But there are the counter examples, as usual :) Theoretically, having lots of little modules doing one thing, and doing it right is a good idea. In pracise, that doesn't work like that. http://www.brainhz.com/underhanded/ Bottom line: you have to trust the CPAN authors to some extent (for not being evil). Of course. But the more things you include, the mode code and the more authors you have to trust. Not only security wise, but also bug wise, see above. [Lots of CPAN-related problems] Yes, CPAN can be a pain; however (kw|qu)alit(ee|y) is not meant to be a metrics of how easy to install a module is, but rather of whether it is possible to build something strong upon it, and to do so quickly and easily. (Or am I mistaken?) Actually, I have no idea :) Shouldn't have dragged Kwality into it, tho. I have another idea. What about reversing the odds, and rewarding those modules that provide an all-in-one archive (e.g. CatInABox, http://use.perl.org/~jk2addict/journal/28071) or a pure-Perl zero-dependency version with perhaps a restricted feature set, in addition to the full CPAN version? (hmm, maybe this check would be difficult to automate) There is the duplicate issue (if it contains everything it needs, you get duplication). However, my idea was along the lines of a install-builder ala: * query search.cpan.org/install-build-MY-OS-HERE/Foo-Bar/ * get back a tar.bz2/exe/tar.gz that contains every module you will need, including Foo::Bar and a setup script * the ones you already have installed are skipped, the rest is tested, then installed Basically something like CPAN, but with much less network traffic and much less hassle for a user. Bonus points if it gives you stuff pre-compiled for windows (all those ppl w/o a compiler). Of course, *this* needs proper dependency information, and I am currently working on this. More on that later, Tels -- Signed on Fri Jan 27 17:56:35 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Five exclamation marks, the sure sign of an insane mind. -- Terry Pratchett pgpxbAVnsja1A.pgp Description: PGP signature
Re: Dependency trees was: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Moin, On Friday 27 January 2006 18:48, Chris Dolan wrote: On Jan 27, 2006, at 11:23 AM, Tels wrote: Basically something like CPAN, but with much less network traffic and much less hassle for a user. Bonus points if it gives you stuff pre- compiled for windows (all those ppl w/o a compiler). I think you just described ActiveState's Perl Package Manager (PPM). http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/ I lived under the expression that it is: * for windows only * only includes Foo-Bar, but not it's dependecies Best wishes, Tels -- Signed on Fri Jan 27 19:00:59 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever will come out before Doom 3. - George Broussard, 2002 (http://tinyurl.com/6m8nh) pgpjxSfgrRpAS.pgp Description: PGP signature
Graph::Dependency 0.01
Moin, the aforementioned module has entered the CPAN. I put up a few examples here: http://bloodgate.com/perl/graph/dependency/examples/ It is: * a hack, using wget, Module::CoreList, Graph::Easy and graphviz. * failing for modules that do not have a META:yml file yet If you want to see a dependency graph for $YOUR_FAVOURITE_MODULE, just drop me a note and I add it. Hope this is interesting to someone, Tels -- Signed on Fri Jan 27 19:47:52 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Call me Justin, Justin Case. pgpD0nOhh0hE5.pgp Description: PGP signature
Re: Dependency trees was: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
Moin, On Friday 27 January 2006 23:55, chromatic wrote: On Friday 27 January 2006 14:43, Tyler MacDonald wrote: Part of the problem is that a lot of modules out there are fully functional even when a few of their tests fail due to assumptions about the environment they are being tested in. Another part is that the ActiveState perl package build process (cpanrun) doesn't behave exactly the same way as CPAN::YACSmoke. So, a lot of packages that build successfully for CPAN testers don't for ppm.activestate.com (and sometimes, the opposite is true). Indeed, another of the longstanding issues with the AS repository is that AS rarely reports build and test errors back to module authors. (For errors where their build system as at fault, I don't mind.) Yet Luke's idea of promoting PPM (or a similar system) as a binary installation process has a lot of merit. I hesitate to want to support users who've installed any of my software without running the tests themselves, but a system that could install modules as easily as through the CPAN or CPANPLUS shell without requiring compilation could be very useful. Which is probably _very_ exactly what the FreeBSD port system is doing. And from what little I see from them (I google sometimes for my own modules) they are very uptodate and make my modules in the latest version available. (Heh, thanx FreeBSD porters!) ActiveState rarely builds anything of my stuff due to whatever reasons - and most of them looked like their own build system stumbling over it's own legs :-/ Best wishes, Tels -- Signed on Sat Jan 28 00:04:32 2006 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Eat, eat, eat, eat the delicious sandwich! -- Elan the Bard (Order of the Stick) pgpQ8VpD58qMf.pgp Description: PGP signature
Graph::Usage
-BEGIN PGP SIGNED MESSAGE- Moin, since no one commented on rewritten my graph-usage package I have gone ahead and uploaded it to CPAN as Graph::Usage. Now you should be able override the detectionlogic and create graphs from usage/dependency trees as you like :) If you have any questions or comments, please don't hesitate to email me. Best wishes, Tels - -- Signed on Sun Dec 18 20:22:56 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I intend to live forever, or die trying. -- Groucho Marx -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ6W3lHcLPEOTuEwVAQHVkAf+J9VM2etNGqlRoq+JpMybkIMm98DtXIEO hHaFIMjZDNk6W5hBjNPh8Kf/bffyvR4bg2uxE35PNfc3yyH7DO2V0cdPD0jVsM9c uuHgWt9E7/k7qd2RxWUlSIvriOv9WsJaBaXForThafDuTGdmI0kidhWVpPsct9eM 05VmqvchwXjS3TzFO02y+sCOSLkKrjjI9WfEM3qAqbnHh9flMB5HJ2i+XNd6CwGy 5aAesgrQilqIqYoNtJhmiVNJwmBsq8rE87uBjcD4/8xpFdPRdIU7MYBkpthZzqpv 9q7Y1ScoTx1Y/412xP6A5CUVReJtyY7cW/L0tpLgnQLEgRREunP+7Q== =h58h -END PGP SIGNATURE-
Re: Test::Run Output with a Coloured Summary Line
-BEGIN PGP SIGNED MESSAGE- Moin, On Tuesday 29 November 2005 23:28, Shlomi Fish wrote: Check: http://www.flickr.com/photos/[EMAIL PROTECTED]/68430623/ This was done by using Test::Run::CmdLine's runprove (a yet-incomplete equivalent of Test::Harness' prove) and the Test::Run::CmdLine::Drivers::ColorSummary driver that is in fact a sub-class of Test::Run, my fork of Test::Harness. Cool. make it green for success, red for failure? (Or slightly different colors in case the terminal renders this so close together that red-green blind people have problems) :) Best wishes, Tels - -- Signed on Tue Nov 29 23:48:26 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Q: What do you get when you cross an insomniac, an agnostic, and a dyslexic? A: Someone who stays up all night wondering if there is a Dog. -- Groucho Marx -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ4za83cLPEOTuEwVAQGCJwf9GJsXjfZ0U0HqGXmNk2r1r9NX9oBDxp5o 4NpjoBLaU+gq9Sd12zKR2lCmcmQtVGB9r2h/xp9GQ0On7xsYScLRWua1WUEhlcyw Qi+fO95+PqhKk7R4Ffq3XuO+pAyOg/uRgxtoVUijoRPe1RPO7GMosUWcZjML4uzl W2ZcV5WGnM5OzfsRgnqJmUXHiQzcNpi6yvq95IIhc7OeyRm1QoISzsTuir0QWw6F J/gP6S2KjKwHoEoPeG/NwObBU1qMdNH8UD3MK1a99Y5sEGp2QX6dkK/QR6atiwi2 hRJVCDcupXsZr7VyLYn8U9orfRhn3sNduOcbFQXFoHNUSvaxjTFEvQ== =36Gw -END PGP SIGNATURE-
Re: Private tests
-BEGIN PGP SIGNED MESSAGE- Moin, On Monday 14 November 2005 18:21, Chris Dolan wrote: Hello all, I've just published an article about public vs. private regression tests. I've defined private tests as t/*.t files that are for the author only and don't go in MANIFEST. Naturally, those don't get as much publicity as tests included in CPAN distributions. In the article I advocate that some tests should be private. In particular, 1) those that test non-critical aspects of a module (like documentation and coding style) 2) those that are too expensive to run often 3) those that require special software or customization In my conclusion I describe a possible system where authors publish the results of private tests with their distributions as a trust- based kwalitee system. That is, authors assert kwalitee rather than be judged for it. http://www.chrisdolan.net/talk/index.php/2005/11/14/private- regression-tests/ Both positive and negative feedback is very welcome! Private tests will only be run by the author, meaning they will be only run on a very small subset of all systems the modules can be used on. This limits their usefullness quite a bit. Case ein point: I can test my modules on linux, 32 bit, unthreaded, under unicode, and under perl 5.8.x. Thats about it, everything else gets really really complicated for me to set up and maintain/test. So, no win32, no mac, now solaris, no irix, no perl 5.6.x, no iso-something, no EBDIC (or however it is spelled), no threading, no 64 bit, no SMP system. As for 1), these things should matter (the broken window analogy) and you would be surprised to know how these tests can pass on your system, and still fail on other systesm (forget to include the .pod file in MANIFEST is the most obvious one). As for 2), random testing should be employed (Math::BigInt does this, it runs 256 or so tests with random number patterns (and thus known results like 2 * A - A == A). The tests are quite fast, but they cover only a small subset of potential values. However, since each system and user runs a new, different random set, you end up with a really huge testing number being run. (Yes, this has found some bugs) And for 3), this might be the only point I can think that private tests are usefull (I have a private testset for Graph::Easy that I use from time to time, it is not public mainly because it fails/hangs/takes forever and is work-in-progress). However, I have to actually read your article to find out what your proposal solves (compared to me just running thetest once in a while :) Hope that was usefull :) Best wishes, Tels - -- Signed on Tue Nov 15 11:04:21 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Now, _you_ behave! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ3m0pHcLPEOTuEwVAQF6lQf8CtubDMQjLdCBcEGNczxZj2Y1kTVhOU7Z bvweeJe4RWFfmd2JMw7dwiu3Sjb57hNlVkl4LwN+7vx3tm3DsnhRUoMHvkDtCddC 8bfxpLcOi8WMlySAud+unKnpZVwlwn2rZ/enu2Dd01QKOgOQkBr1HWTJUguPv4No eWT3UiEZhV4hU764gtF7a8raHjbvxpTJcNk22KHnRmyTKX+SugCyI0qkmIQrFntl cQWXyA9GV7V+5bK5/Sp2eWv2MXX3fhNDxtZywkmqun+6/YhPgSDJQp3FcKThZFYy WxPXsrXVIXFJbbtkSs+PGe18VdXqEFCHOI29H1+9gyiC3FW3N6AARw== =GA3y -END PGP SIGNATURE-
Re: Sometimes MakeMaker won't make.
-BEGIN PGP SIGNED MESSAGE- Moin Rob, On Tuesday 08 November 2005 02:40, Rob Bloodgood wrote: Adam Kennedy wrote: Doesn't makemaker only like you if you have a single .pm file just in the root directory? And otherwise you have to have your lib files actually under lib? lib/Tree/Splay.pm lib/Tree/Splay/Node.pm lib/Tree/Splay/IntRange.pm t/01_basics.t t/02_compat.t Makefile.PL MANIFEST - use ExtUtils::MakeMaker; WriteMakefile( NAME= 'Tree::Splay', VERSION_FROM= 'lib/Tree/Splay.pm' ); Try that... Well... I don't know if your conjecture is true, but your suggestion worked like a charm. Thanks! (and now I'm on my way to reorganize my other distribution...) Which will probably raise your kwality! :) Best wishes, Tels - -- Signed on Tue Nov 8 17:36:37 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My wife is just a slow brain, running up the bill.. -- Often misheard song lyrics #149 -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ3DUQ3cLPEOTuEwVAQFXYgf+PFiX7NsKK3CLZHbVNe1B3f4o1Zuk+irS q6gAwln0Xrme/iGexwQyHM6x0jYDRpCBw11tV0V7gxuVjdxij1pz2W53dEM7FWGM 2U68rsLLPOX+BuA4Ec2KPG7m3WcrH9eQbnIg3gPbSDbfh1QY0yhJW1Xt5vbZyjxB zsOnST6O/WlLNTLuM3n7oapq0rICnSv76vfsOogCEn789XDXfTaoLfNIJKWH+AFP 9/M+Bg3ijtSZC4l+BUGauYhPiYrqBOb6eKk38vrxVYNgXOAX0kZh4byJtUJkFsdI pxVw2K+ejWf2Nc3xEF5SEdXhPEwc7CMU0CfLeLNHZ+69/j+sl8fDtA== =MdmI -END PGP SIGNATURE-
Re: Sometimes MakeMaker won't make.
-BEGIN PGP SIGNED MESSAGE- Moin Rob, On Monday 07 November 2005 23:22, Rob Bloodgood wrote: I've had this problem for awhile with a distribution I've been working on where sometimes, after invoking Makefile.PL, typing 'make' creates a blib folder with all of the .exists files in the right places, but doesn't copy the actual module files to it. This was driving me crazy. I don't have a solution. In desperation I removed everything from the folder that wasn't bundled with 'make tardist', cleaned it, and ran Makefile.PL again... and no love. but then suddenly thru nothing I could figure out, it started working again. Does this sound like a pretty half-assed problem? I thought so too. I figured it's my fault, don't bug other people for my mistakes. Well, last week I went to go write a little experimental module for myself, Tree::Splay (Hi Schwern!). I created Do you have timestamp/clock problems? IS your filesystem on an NFS mounted volume? Best wishes, Tels - -- Signed on Tue Nov 8 00:03:29 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever will come out before Doom 3. - George Broussard, 2002 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2/dZXcLPEOTuEwVAQFt7Af9Feyfi0hA6zQlcrEZndhBGmrIp0JSdCFB r3iopBFIr7/IM5dYuJIEfMAkQ7EOrpxWgr79TLNMjD1RNOWw5vkhRM1GZ0P8bJTq MLzPEvTt1VBkRYa6zwZMLuIwtCsxHEY0ADkqBnh5qwmIDmgzstM4EpkwaYaNIEIl vtsF2fK/gasbTJDDkdA3bZlIZxHI0GhU8ATUTnLXy/RN3a6O9iluECJqJKAh+0cr a0e8NuTXEjIzlN9ylB08cm2Lzc6yDdQB6AXbl7hqQ7IT95wxc/ZBFnoEpIMJSoUp I/EmROAhbA+07tFhwS6pvxbgwXcdlwznzV/P+h+J8jLPPhPBohZZCA== =KEZb -END PGP SIGNATURE-
CPANTS: has_signature, has_pod_index
-BEGIN PGP SIGNED MESSAGE- Moin, if these already have been proposed, please ignore me :) I think the following kwalitiy checks should be added: * has_signature: a SIGNATURE file exists, and is a valid signatur. Technically, you should get -1 points if the signature file is invalid/garbled/dosn't match. However, 0 points for an invalid SIGNATURE one, 1 for none, and 2 for a valid one would work w/o negative scores. 0 for none/invalid and 1 for valid, would work, too. * has_pod_index: The POD contains at least one X keyword that helps POD indexers. Whether only one is usefull is open for debate, because at least the license (Xgpl), your CPAN ID under authors (xtels), and some generic keyword what your module (Xfoo) is about can probably added even for the most minimal module. Best wishes, Tels - -- Signed on Sun Nov 6 15:40:11 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Die deutsche Zensoren - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dummköpfe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. Heinrich Heine -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ24WvncLPEOTuEwVAQEfsgf9FBSFugGZiLpMA2gmoq/SM79F1BMRcP+9 +NNhCMRaAWjoaoag/SnC0E9SahYYYrP7US8H2QNWpHWa75FhOTBZQNZdopBu271y rPGtBuOYzLc5w+cX4YGt7Sc3JelQ71MnG2lHS1BbSFKv4MgC9ebiNYIWnGe30C3P XUNXEustGEU2KYqYTu4PEMZD+zRW8WycuG0PgUzHsJDMJfYflRDFgTTmKruDPdme rGvRS2DfDoCyqV/9Wd7CAX0/Nnal7o2mrJvA6yX8b5Qqpt+DwidtxyeQhsVBk3FU bkz6xLOIWWAOzWZxbQ1uKjIT8hakBGUVlK6T1hTby0oqA9Z5Rf1TfQ== =QQsC -END PGP SIGNATURE-
Re: CPANTS: has_signature, has_pod_index
-BEGIN PGP SIGNED MESSAGE- Moin, On Sunday 06 November 2005 16:10, Ricardo SIGNES wrote: * Tels [EMAIL PROTECTED] [2005-11-06T09:44:14] * has_signature: a SIGNATURE file exists, and is a valid signatur. That seems reasonable, even though I dread signing all my dists. I feel like it will be a big hassle, but maybe I'm just afraid of change. * has_pod_index: The POD contains at least one X keyword that helps POD indexers. Whether only one is usefull is open for debate, because at least the license (Xgpl), your CPAN ID under authors (xtels), and some generic keyword what your module (Xfoo) is about can probably added even for the most minimal module. Can you give an example of how this has any practical impact on anything? Here is the main page for the project. http://pod-indexing.annocpan.org/wiki/index.cgi They talk only about the Perl core doc at this point, probably because adding keywords there is already enough work. AFAIK the core docs are now covered, so individual modules would be next. Yep, a google-like search engine could save the effort of manually tagging with keywords, but I think this idea is more practical and will improve perldoc greatly. Best wishes, Tels - -- Signed on Sun Nov 6 16:17:01 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Metaphorisch gesprochen war das Trusted-Computing-Vorhaben bisher wie eine Großmutter, die das Rotkäppchen in ihr Häuschen bitten will und ihm erklärt, dass die dort vorhandenen Ketten, Handschellen und Kameras zum Schutz vor dem bösen Wolf dienten und nichts mit ihren belgischen Geschäftsfreunden zu tun hätten. -- Peter Mühlbauer 22.02.2004 in http://tinyurl.com/yv6j3 -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ24fDncLPEOTuEwVAQEFhQf9HwkgsN0Z2O9RZmFMgmzPwqAPI4XlN9Q7 ki29yR2s7UFHhz7NcxWqq2lgLid/pISwb3/UNI4xjryx6lRCaMEFZBvPPcgi7XAV VmFXccIwz/O6q+DTvOQFFrQDlIbhrwog026Kr+CX7NrDx6wb3EcItdt2Oo9fAUEb sGsSD2D0IOqxrRqXZVJaUuXPMQ70TmmshqPy+mww9C3oq6M4NYftPWibE7DDt7ZT rko7RL0B4xQGVubwl4JgV+tupYe3OlwjdhoyKzmBkmJs1Kyn7RXjYy97aufhmTTg zlCM0i/v3AxD9n5SMJOJXyi/JykDowqMUcIpnrSHyz9TAOuBxGkgHg== =DfuA -END PGP SIGNATURE-
Re: CPANTS: has_signature, has_pod_index
-BEGIN PGP SIGNED MESSAGE- Moin Ivan, On Sunday 06 November 2005 17:39, Ivan Tubert-Brohman wrote: Tels wrote: * has_pod_index: The POD contains at least one X keyword that helps POD indexers. Whether only one is usefull is open for debate, because at least the license (Xgpl), your CPAN ID under authors (xtels), and some generic keyword what your module (Xfoo) is about can probably added even for the most minimal module. Can you give an example of how this has any practical impact on anything? Here is the main page for the project. http://pod-indexing.annocpan.org/wiki/index.cgi They talk only about the Perl core doc at this point, probably because adding keywords there is already enough work. AFAIK the core docs are now covered, so individual modules would be next. We are not done with the core docs yet; the list of documents that are done is listed at http://pod-indexing.annocpan.org/wiki/index.cgi?IndexStats . The next stage in my plan would be to index the modules that come with the core distribution. Indexing CPAN modules is up to each individual author and I haven't really thought much about it yet. Understood. Much as I love the POD indexing project, I'm reluctant to see this added as a kwalitee point. First, because there are already enough complaints that CPANTS is trying to force authors to do things in one specific way needlessly; and second, because it would be too early anyway, as pod indexing still needs to be tested in practice. Fair enough. Getting off topic: I still have to figure out how a perldoc -k would handle indexing of CPAN modules. The problem is that having too many things indexed could be counterproductive. For example, doing perldoc -k pop will give you the pop function ( http://pod-indexing.annocpan.org/perldoc-k.cgi?keyword=pop ), but what would happen if you index all of CPAN and there are dozens of modules that implement a pop method? I'm thinking that the best solution would be to have the option of doing a core search vs a global search... I thought about this, too, and I think that the search result lists will ultimatelvily be big - after all, there will be a lot of things having the same keyword. So, reducing the set of returned hits must be done. Adding too much keywords is not a good idea, but then, we have no experience on what is too much and too little. OTOH, I do think that adding a keyword with the name for each function is not a good idea, namely because you would get hundreds of hits for new. Hm, maybe like so for methods: Xmethod Xnew and for non OO: Xfunction Xconvert Then you could search for method and new (I think having the ability to search for more than one keyword is absolut nec so that the results do not overhelm the user :). Should this discussion be continued on another mailinglist? Best wishes, Tels - -- Signed on Sun Nov 6 17:50:48 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My glasses, my glasses. I cannot see without my glasses. - My glasses, my glasses. I cannot be seen without my glasses. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2415XcLPEOTuEwVAQH7cAf6A/jzDt4qxOou+Qy4PL+ThlyUp7SlrWX5 9eGGwxIEzjC6KR5LThJAmJJpJQXxuLU1kaNOvydNzbYO9a9ISg8/4T2k9K0UtvNX LX6wFktIFoky2U6T8xtmK6ywNYBx1CM7X3SgJlgm+CfVgX8fwovaWlS9UdcEJ80R /lQiF8YI9kbvgsfCUTRxf+5B40cMfU9uDmRQhHoxnfZe8bQaEsMSUKJQ7nZIMn1W tVChXkJssKTWgoHcOBUK64e7ARJp2Zig0VFIodBlgtYffZj34lM0KgAYC4LTA1O9 +h0Qi6XdFFGAJhABAIBjhCIJ2eEJZOAP8nP/2CAGmdICZYucQVh0vw== =mZiN -END PGP SIGNATURE-
Re: Test::More behavior issue with Devel::Cover + patch
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 04 November 2005 21:39, Pete Krawczyk wrote: Subject: Re: Test::More behavior issue with Devel::Cover + patch From: Ricardo SIGNES [EMAIL PROTECTED] Date: Thu, 3 Nov 2005 13:14:34 -0500 }It was using -isa instead of UNIVERSAL::isa because isa might be }overridden. Surely the same could apply to -can. I've been thinking about it, and it'd be nice to find out if the object's been blessed insead of relying on UNIVERSAL::can in my patch. The closest I've come to this is using Scalar::Util::blessed, but Scalar::Util wasn't core until 5.7.3 (according to corelist) and Test-Simple tests itself going back to 5.4.0. Stealing the code from Scalar::Util isn't necessarily the best fix either. Does anyone have a better way of checking whether an object is blessed that's backportable through core? Not sure if a ref() check will suffice, but you could also always call: $object-can(); if it is not defined, it would use UNIVERSAL::can, otherwise the overriden one. Or do I miss something? Best wishes, Tels - -- Signed on Fri Nov 4 21:48:35 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. This email violates U.S. patent #4,197,590: for (x = 0; x widht; x++) { for (y = 0; y height; y++) { setPixel (x+xm, y+ym, getPixel(x+xm,y+ym) ^ getCursorPixel(x,y); } } -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2vJdncLPEOTuEwVAQHARwf8DUPXYgNKWk7EWLRpme+CvwzzS5J5hJGD 4K3ZJcI/j5zScW1AMd+cCpUMOnjXrHmNAZmIIkxBPwHFdgHDKbrD/uA/OIvkH9ws kgy+T6joTghYYAEIlCHLEl2UUsytxnjwBJVdmDm3SWrVw4b/ZHX3AEpVHEsRAMvu XY7nmjjfCekOvkTTek6ANgCfBiu5ypwhkib0k9TiCpxX60uNC4IlKCpdH09Up1Ov 129j8Yxtau3he3r62o8+epBDdRMj6wQUM3+yNWIeJh4LrKipetw1XKbx5JLqiPBi cFUjVQBYWggTaFetwU5Ei/vDvaUsZX2g1IXi5D+h+0c5qNmtvxMR2g== =9JIP -END PGP SIGNATURE-
Re: automated web testing with selenium
-BEGIN PGP SIGNED MESSAGE- Moin, On Wednesday 02 November 2005 22:56, Luke Closs wrote: Hey there. I was just interviewed by qapodcast.com about Selenium, a cool new automated web testing tool. It's really great, and super easy to use. Also, yesterday Test::WWW::Selenium was uploaded to CPAN, so Selenium can now be driven by perl! Anyways, check out the podcast at http://qapodcast.com You mean you posted a link to an .mp3 file on a website, but hadn't had the courtesy to include in the mail (so that we all have to actually load the page to find it)? Bah! SCNR;) Tels - -- Signed on Thu Nov 3 18:47:02 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Retsina? - Ja, Papa? - Angriff im Morgengrauen. - Is gut, Papa. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2pNs3cLPEOTuEwVAQFauAf/TAp0j5yQigNurotky33uTFYbC9xxWxrS n50KOkHh5xoB13EYdHqMWk19S0AIEwzxIsztDVDd+ucuBD5n5cB007Dgqa7Lpkq5 FpAzs0RpXKXlXGTJrSlgd6iKFU/aR5ITAgnjkCYDgaNz1FePyW97r6dqsek+eRfY B4JG2bV1w3L0Yr0RbP4RWLHkdcRI9fzkvHrfcNUvugYNYmCooD+M+UFsA8IZdeD3 6PXJwYZqZQVbGtDCnAJVDZoaaHrIRIiCZaLDt5ZqFB1ZcS13h5mlRhM2pmDX3piE eZsKAR9qHfqRc2Hca8KAvf4LnLZhWgyw1PTPb4aHxTh7XDCfAARnrg== =SQ+k -END PGP SIGNATURE-
Re: Test Suite Slowing Down My Development
-BEGIN PGP SIGNED MESSAGE- Moin, On Wednesday 02 November 2005 16:45, Marcello wrote: Tels ha scritto: -BEGIN PGP SIGNED MESSAGE- [snip] I'm considering just using Test::WWW::Mechanize to do integration testing through a Web server I run in the tests. This will be much faster and allow me to get my development speed back up. However, I'd be skipping the unit testing of the output. I'll catch the bugs but it will likely take me longer to track them down. I feel your pain. The test suite for Handel has xml/tt output tests for its AxKit and Template Toolkit plugins. I've got oodles of template pages using the components whos output I compare to static .out files that contain the expected output. Everytime I write a new plugin, or a new tag in the plugin, I waste tons of time just writing the tests for them. So far, I've been good about writing the tests before I write the code, but it takes forever and I rarely get the tests right the first time. I'm curious to see what comes out of your question. I'm in the same boat. I am somewhat in the same boat with Graph::Easy - the t/ascii.t script tests rendering of graphs in ASCII, ala: [ A ] - [ B ] is transformed into: # echo [Test] - [This] .. [ Now ] | perl examples/as_ascii +--+ +--+ +-+ | Test | -- | This | .. | Now | +--+ +--+ +-+ While this works mostly fine for ASCII, the HTML/SVG is undertested because the text/code output can change quite radically, while still rendering/representing the same graph. And of course I do want to test that the end result is the right one, not that the generated SVG/HTML code is a specific example. If the output is valid xml, couldn't one semantically compare the expected output and the actual output with something like XML::SemanticDiff ? Might be, but I am not generting XML, but HTML... And there are many ways to write code that looks visually the same, and yet is wildly different. More so for, lets say SVG. Sometimes I resort to soft tests, like looking if I find certain strings in the output, like for [ Bonn ] - [ Berlin ], you expect Bonn and Berlin in there somewhere... Best wishes, Tels - -- Signed on Wed Nov 2 17:17:05 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life. -- Terry Pratchett -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2jm5HcLPEOTuEwVAQFI1Af+J5xwJopUDR/eLJ/AtyeVPrAxiwcF5Mt+ ikOj8jmLI0uwQ5bqrj74Ad+XNQxTOIoiu7ItecF0aAjQRMBWBm4wp+/bsSIgFdBr 6substw3TSNYaCeQTU95IVXQV1CNcerpnuC5SVdmIE9l+PJOUAZHWSa3QJLcLD7e bFg9Fj4WlJsdc1FY9+l+qzXnfFwTSpZoF9ExvVQlBsilEJNOfcUgbHzXnqE/Kt0i GTuNHrxPse+Lt+j25Kv2vBygQ94opiH/MEVM2jIED68nUESYhGJGNPZm23gvXRy7 CQw2qdmB6mHfXw3fEYB5E99nQn0rLP45KCcdm4AkEjBuSNNkBnuzpw== =5jrY -END PGP SIGNATURE-
Re: Test Suite Slowing Down My Development
-BEGIN PGP SIGNED MESSAGE- Moin, On Wednesday 02 November 2005 18:02, Marcello wrote: Tels ha scritto: -BEGIN PGP SIGNED MESSAGE- While this works mostly fine for ASCII, the HTML/SVG is undertested because the text/code output can change quite radically, while still rendering/representing the same graph. And of course I do want to test that the end result is the right one, not that the generated SVG/HTML code is a specific example. If the output is valid xml, couldn't one semantically compare the expected output and the actual output with something like XML::SemanticDiff ? Might be, but I am not generting XML, but HTML... Valid XHTML is also valid XML. But valid XHTML doesn't work well in the praxis. (It offers nothing what HTML can't do, but creates more problems) And it still doesn't solve the problem, because a: * div with 1px border * table cell with 1px border look exactly in the browser, but have much different (X)HTML source. And there are many ways to write code that looks visually the same, and yet is wildly different. More so for, lets say SVG. My point was that 'semantically' comparing XML data structures instead of their ascii representations is an improvement. Of course this doesn't take into account specific cases like SVG, where you have 'semantically' different xml documents producing the same (visual) output. To address this specific case one would need a way to test the 'visual' equivalence of two svg documents. The same for HTML documents. Hm. Maybe one could convert them to PNG and compare the outputs. But this is also hard. *thinks* Best wishes, Tels - -- Signed on Wed Nov 2 18:06:15 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. We're confident that DNF will be one of the greatest, if not the greatest, game of 1998. And this confidence is not misplaced. -Scott Miller, 1997 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2jy+ncLPEOTuEwVAQGOTQf9FDcLaYVVoYdgfq41pcqQK9avi1oqaqmp GKKMVnYT1PsDkhYxxgCj2MYJd7+nVZ+v5n+nW0PN2pjfHzPvDOq5bIHTbqqZaJ4s k14oUBk0JRLx78k9jQORdWhGbgWR2vAtcRtN6thI1IqANRGNX9kMQscSPl1gVaEG Wwz/NYY6JJJ5+DWZORa3xOPp3daE4lFY+pJl2ENSmcpqNBLlMBPm2/ajw0aa6Zkv Iz0TOh3pyXxzPwT7c4lP3kwdySc1yikUftan753yvAErCEaFmXEFbNYZE8L2xal5 o/d+aQ1uBh1r2ycCG918y6z04CL9Y5QA0GRW1ztKFbLLhSXA+5Sq4A== =M0v6 -END PGP SIGNATURE-
Re: Test Suite Slowing Down My Development
-BEGIN PGP SIGNED MESSAGE- Moin Marcello, On Wednesday 02 November 2005 18:36, Marcello wrote: Tels ha scritto: -BEGIN PGP SIGNED MESSAGE- Moin, On Wednesday 02 November 2005 18:02, Marcello wrote: Tels ha scritto: [snip] Might be, but I am not generting XML, but HTML... Valid XHTML is also valid XML. But valid XHTML doesn't work well in the praxis. (It offers nothing what HTML can't do, but creates more problems) And it still doesn't solve the problem, because a: * div with 1px border * table cell with 1px border look exactly in the browser, but have much different (X)HTML source. Testing 'visual equivalency' of two ([x]html|svg|whatever) documents is unfeasible IMHO. We need a compromise, like deciding to use a div or a table to produce some visual effect. This is required anyway, because while it's true that there are a dozen ways to generate the same page, they will differ wildly on some relevant aspects (e.g. browser compatibility, table- or css- based layout, etc.), so you have to make a decision at some point and choose one. Well, yes I did. :) The problem arose when I switched from one table cell per node to 3x3 table cells per node, and again when I switched theway CSS classes were used and again when I changed them again etc. Each time the source changed, but the basic output remained the same - and yet I had to adapt dozends of test. That was the original problem, and so far I haven't found a way to really avoid it. But the discussion has been interesting :) best wishes, Tels - -- Signed on Wed Nov 2 20:07:47 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. To be beautiful is enough! If a woman can do that well who should demand more from her? You don't want a rose to sing. -- Thackeray -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2kPEHcLPEOTuEwVAQH4Mwf+J8zZ/e7IEOVl0qwRRPCWhQT0UA+NgH4Y P0+WY8cowWbQx23+p6/HAZTuMFOygH8aAfeCioXlbV7OskeI0vD+Zevp0iPhT1uk xVf7McV2yu1qOVDko9zgLr+LrrkMgqUeINPiyqBUCemobKjhyr7c3jX6AfXvz5l5 0UukfGc89y9sSsuxlgVMAMr1RgbekQmcA3sctPiDYVkpHLbvM/I/Gzpi2+hEuDCa JDASjcKKxYHO8NMD25ba4Wxttu/0C8Gh+h15XY+zgNFAP/p5pRFeF62qXz1m5jcg thYUO+QjBLd5hmuusoH6SNNGhX7rv6ltZD2wtomuY5GGbO0VVrW/XQ== =JwwY -END PGP SIGNATURE-
Re: Test Suite Slowing Down My Development
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 28 October 2005 22:34, Christopher H. Laco wrote: Ovid wrote: The code is designed well enough that adding new features is quick and easy. Unfortunately, whenever I need to change my code I fire up a Web server and view the results in the browser and then write the tests after I've written the code (this is closely related to When test-driven development just won't do). This is because XML and XHTML are just text. I need to see the output. I've been finding more and more that small changes in my code are making huge changes in the output and trying to continuously update the tests to exactly match the XML, XSLT and XHTML using Test::XML and XML::XPath has led to a serious productivity drop. I'm considering just using Test::WWW::Mechanize to do integration testing through a Web server I run in the tests. This will be much faster and allow me to get my development speed back up. However, I'd be skipping the unit testing of the output. I'll catch the bugs but it will likely take me longer to track them down. I feel your pain. The test suite for Handel has xml/tt output tests for its AxKit and Template Toolkit plugins. I've got oodles of template pages using the components whos output I compare to static .out files that contain the expected output. Everytime I write a new plugin, or a new tag in the plugin, I waste tons of time just writing the tests for them. So far, I've been good about writing the tests before I write the code, but it takes forever and I rarely get the tests right the first time. I'm curious to see what comes out of your question. I'm in the same boat. I am somewhat in the same boat with Graph::Easy - the t/ascii.t script tests rendering of graphs in ASCII, ala: [ A ] - [ B ] is transformed into: # echo [Test] - [This] .. [ Now ] | perl examples/as_ascii +--+ +--+ +-+ | Test | -- | This | .. | Now | +--+ +--+ +-+ While this works mostly fine for ASCII, the HTML/SVG is undertested because the text/code output can change quite radically, while still rendering/representing the same graph. And of course I do want to test that the end result is the right one, not that the generated SVG/HTML code is a specific example. So everytime I change the HTML template/output, I need to fiddle back a host of tests... Best wishes, Tels - -- Signed on Fri Oct 28 23:33:31 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Ok, a shiny copper piece to the first person who can tell me why Elan is running around naked. - Giant moth attack? - Maybe a bad guy casted 'Dispel clothes'? - The Order of the Stick issue #26 -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ2KZ9ncLPEOTuEwVAQEZxAf/Rz/gxvA3w2bbD7D1CfT2HaFe+glj37kT WkJUQ7pj9bEZA/o74WJwpdZyL7MfTe3K6MhqohstrNDL9XxvN0C0ScSQiHlagHny zVl6gdZ9DDhxWBOzHZc5oEdrsV6qhkHkdvusADC3mTb0UZEqgE50RbgERw1Wlu1v 08O5NWmqJTI+KDujqdY5FZ6pBSGUR72eiaWw8UxN7HkSi42DP8/dmnw+23FsVTmc z3sJhNuhaNsVorMHdPHxUs9n5WuXRP/h1cemrrzpx2o3SfP4DBiDoxt0GKMdeRiB s29F8bWWQ4CLUsQqAgk9L4P7fOp00+tqDBLr/9t/ECLiVxWDFTxcWg== =b8rX -END PGP SIGNATURE-
graphing packages
-BEGIN PGP SIGNED MESSAGE- Moin, I haven't had any feedback on this message: http://groups.google.com/group/perl.qa/msg/7daba8b786b58838?dmode=sourcehl=en Did I miss it while I was away, or did nobody have to say anything about it? :) Best wishes, Tels - -- Signed on Mon Oct 17 16:44:03 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My wife is just a slow brain, running up the bill.. -- Often misheard song lyrics #149 -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ1O5E3cLPEOTuEwVAQFrHwf/S14f1R37RUiqpN1JB2qokprhio4d9U/r eE+x3RmnCi4v6+Udm/StLXM0OGdITHS7x0EYljmzDJ+ZFh0iqW6rK7oZaE9X43jK 3KnOKrM6QYPPOn6wACF0/1Ohq5iTLG7uFtzzOFZS4nwaxfcCbMk7q+psDl79RVcW hA8XAQCgz/RlT95ZrCOeRsy4vNvpQUzD7LaXfRD8cIpWGPEjaXlqluDRfnX5MSmb 3msvbC+uz5nELtxW08NEsE61thyTlTiguzN1Tsxrp2rZQnZD6ZQN76VntGX96lod OIWorfgBH94hayE4KnbG/p2Ioqhjbq7nNO9jxUpgXU/B60ct4uYlhw== =etkv -END PGP SIGNATURE-
Re: graphing packages
-BEGIN PGP SIGNED MESSAGE- Moin, On Monday 17 October 2005 16:45, Tels wrote: Moin, I haven't had any feedback on this message: http://groups.google.com/group/perl.qa/msg/7daba8b786b58838?dmode=sourc ehl=en Aaargl, I mean of course this message: http://groups.google.com/group/perl.qa/msg/52e0a93e0f425be4?dmode=sourcehl=en Teneed more coffeels Did I miss it while I was away, or did nobody have to say anything about it? :) Best wishes, Tels - -- Signed on Mon Oct 17 16:47:05 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever is a 1999 game and we think that timeframe matches very well with what we have planned for the game. - George Broussard, 1998 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQ1O5gncLPEOTuEwVAQHlSwf+OmiVXpzbWUJ3rPYuIfawxfs9dD+nv0WY rK4k2aBRwOnlRmM16EMZeXUiXdVd420dqYFBRqVapnU5M+C25tjJFfJcD99i5G9n gNyGBWjyFORQyoXR1VYLfK3sRXoBuuICICXTE7I10X2KRRo8enrl6uiP3O4p0mzX 2JHc3JDZ+ot+nBRAP6UFG7QnCz13PblQVFOv9VvfBha26EhWVirykV6oaPFj7s/A HyPDD35xyL1tAdeaasq9jB8pVgQN8BhgNLdUDMI1FbNFbnf9kvIr3BEEzBg8OxPQ sMQM7aAFnQfyjdfKSh9RvzM+9AlnR6U6qiFy/UM1nxvmayd21l03xQ== =m6vv -END PGP SIGNATURE-
Re: Graphing Perl Packages, updated (again :)
-BEGIN PGP SIGNED MESSAGE- Moin, On Saturday 24 September 2005 00:15, Michael G Schwern wrote: On Fri, Sep 23, 2005 at 07:33:04PM +0200, Tels wrote: Not yet. Good idea. The relevant code is in parse_file() in gen_graph - it gets as option one .pm file and then does something with it. The lopp for each file is in gather_data(), under the recurse branch: I'll redesign the code to be more re-usable and move away from the file methodology. But I won't have time until mid-October. Ok, thanks. I'll let you know if I get any tuits to work on it before then. Ah, what the heck, I couldn't relax if I have this problem on my mind, anyway :) So I whipped up Graph::Usage 0.10: http://bloodgate.com/perl/packages/devel/ it is not on CPAN because it is still a bit rough and I have a flight to catch. Anyway, the logic is now in Graph::Usage, which is loaded by gen_graph and then simple used. You can choose which package to use for processing via the --use command line switch. There is an example subclass of Graph::Usage in t/lib/Graph/Usage, and here is how you would use it: perl -It/lib ./gen_graph --use=Graph::Usage::MySubClass --recurse=Math::BigInt --versions I re-arranged the logic to call methods instead of fiddling some things directly into the graph, the relevant methods you would want to override are: parse_file($file); add_package($name,$ver); add_link ($src,$dst,$type); set_package_version($ver); There also some hooks that are called on strategic points through the code: sub hook_after_graph_generation sub hook_before_colorize sub hook_after_colorize I hope this is usefull, but I can imagine that I missed something or that the existing hooks are not enough for your application. Any feedback (preferable patches :) welcome :) Best wishes, Tels - -- Signed on Sat Sep 24 13:52:59 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. ...pornographic images stay in the brain forever. -- Mary Anne Layden; That's a feature, not a bug. -- God -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQzU/aHcLPEOTuEwVAQGUagf7Bt4gpeMF3ta3eRvYRI8RKinxSqPJcys/ 5DcASSg/wzrjcTteS/JxQoDVecOcnzoCM/1VaLIT/T60V2l5UNYa2dFALiOqBfXK JAEBTr+4izVsHlfk6kjC1Fz2WNbrOnfqW+D0AZ5/1kBXcnumLTZBx0xq6RH+1zkJ 5gRJlEexZyZEtoELjRGZsUqSXFs2PTuaEW6dv1aLRSb6nS6/h8qFCueloB9knQHB 7KV9ata2LbvJvLEy4wwszgwBSB+AvHCUekxP4GC3itN4PYTPgEUH33sfS2bcF9vo zDYfhjtuKrKmmLurMjH0jm5+xy6LWlyjoWEQU6iBhUjtGrnRpqp9Zw== =HZaT -END PGP SIGNATURE-
Graphing Perl Packages, updated
-BEGIN PGP SIGNED MESSAGE- Moin, I updated the graph-perl-usage package, to be found on my site or CPAN: http://bloodgate.com/perl/graph/usage/ http://search.cpan.org/~tels/ (0.07 is the latest version, please use together with 0.30 of Graph::Easy) I incorporated one idea from Randy, namely the --skip option. Give it a regexp to skip packages matching that regexp. Example ./gen_graph --recurse=Math::BigInt --skip='^[a-z]+\z' to skip all pragmas. (lowercase a-z package names). There is also a new --flow option, that you can use to control the general flow direction (up, north, left, right, down etc) of the resulting graph. On the output side, you can now generate SVG and dot-output (to look at it) via Graph::Easy. And you can now pass the desired format (as file extension) to dot, meaning you can generate other file formats than png like: ./gen_graph --recurse=Math::BigInt --skip='^[a-z]+\z' --ext=ps This would create a .ps file. :) If you have any ideas how to make this even more usefull, please speak now. I will have limited email reading/writing capabilities the next two weeks, but I *will* respond to all emails/critics/praises, even though it may only be when I return. :) Enjoy, Tels - -- Signed on Fri Sep 23 17:25:30 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life. -- Terry Pratchett -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQzQheHcLPEOTuEwVAQHkrgf+LcaFo8wsAh75NShFF+CE4KJBRwVanoU0 AC2v4a694BSopxG1uLuUNLy5mHVqI+suvWzBkFvnkwtuEvGQNTm9zVOM8p3LeJx+ rU7Y3CtIti/zEWR+ZGVccl6EaN9bu4i3xPnZY4UNEAhmc8DaQMvfsV8Lnxab5ojs pSJ2KRF1/80vBY6cGXYCXiDqsGEaXQ0+r8IluY3FknXjf7I/88mQNB4Fau5PzpEd nyxcSXNVRYhZrrGSSimeB3afmvohMzKbdi36rXfG05/+oc94q/wYnK1Yap9rs+Ht rCbjrr9abUb+wrx4x94LcyglHMgX2DXlYP5WAA2f9pjcTM/sEbvosQ== =ZQ93 -END PGP SIGNATURE-
Re: Graphing Perl Packages, updated
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 23 September 2005 19:15, Michael G Schwern wrote: On Fri, Sep 23, 2005 at 05:38:32PM +0200, Tels wrote: If you have any ideas how to make this even more usefull, please speak now. I will have limited email reading/writing capabilities the next two weeks, but I *will* respond to all emails/critics/praises, even though it may only be when I return. :) Is the dependency detector pluggable? The code I'm interested in graphing requires modules indirectly through things like aliased.pm, base.pm and Class::Autouse's superloader. It would be nice if I could extend its dep scanner to take these into account. Not yet. Good idea. The relevant code is in parse_file() in gen_graph - it gets as option one .pm file and then does something with it. The lopp for each file is in gather_data(), under the recurse branch: I'll redesign the code to be more re-usable and move away from the file methodology. But I won't have time until mid-October. Best wishes, Tels - -- Signed on Fri Sep 23 19:29:38 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. If you want to travel around the world and be invited to speak at a lot of different places, just write a Unix operating system. -- Linus Torvalds -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQzQ8WHcLPEOTuEwVAQHvzQf9Fe7T0Q8gZ8Tm5x0OvgBsOflftLptABJJ syBXXamTDtIqA2dABbdxXRCfp1wZna/V7MzZmhJoxaChFdCXAQHfCJLNHxMLZaha wwu9HBm8edfATkDbS0pft4RmETR66gjSHHUrGyPutKBCfmuOx1Waqp/462xagAOf lxxeyUOUp/D+qAQTqBP1uWjZ1T0RM4dGdvII9M59vKh6KRf9Sqtjnl3+CXFF2vTX VwVyybGxG8yq4zgX7IbRrOQu+tQzn7mt+I2H9hjNIFLF+O/DccPv9IbygsCgKTRT aLmGb2lb+OISyxDi3+t7ZZ+7xpd9me0Az0eNvCBSd2mOd65486MWRA== =zn3o -END PGP SIGNATURE-
Re: CPANTS: has_license ?
-BEGIN PGP SIGNED MESSAGE- Moin, On Monday 19 September 2005 11:33, David Landgren wrote: Gábor Szabó wrote: What do you think about adding a has_license kwalitee to CPANTS ? Checking if the META.yml has that entry ? This will penalise all the modules that use ExtUtils::MakeMaker, which, last time I looked, does not generate the license metadata, even though the module may clearly state the license used in the documentation. I made a half-hearted attempt at patching EU::MM to provide a LICENSE key to WriteMakefile but then Real Life intervened. It did help me get an appreciation of what a thankless job the maintenance of EU::MM is, though. I have to agree. I did run out of energy to do this, myself, and resorted to stick this (with variations if nec.) into all my Makefile.PLs: sub MY::metafile { package MY; my $self = shift; if (!eval { require YAML; 1 }) { warn (YAML not installed, 'make dist' will not override 'META.yml'.); return $self-SUPER::metafile_target(@_); }; my $node = new YAML::Node {}; $node-{name} = $self-{DISTNAME}; $node-{abstract} = $self-{ABSTRACT}; $node-{version} = $self-{VERSION}; $node-{version_from} = $self-{VERSION_FROM}; $node-{license} = 'gpl'; $node-{distribution_type}= 'module'; $node-{generated_by} = $self-{DISTNAME} version $self-{VERSION}; $node-{installdirs} = 'site'; $node-{requires} = $self-{PREREQ_PM}; my $dump = YAML::Dump( $node ); $dump =~ s/^(.*)$/\t\$(NOECHO) \$(ECHO) $1 META.yml/gm; $dump =~ s/META\.yml/META.yml/; return metafile:\n$dump; } Needless code duplication, I know, but currently this is easier than to try to fix MM myself... Best wishes, Tels - -- Signed on Tue Sep 20 00:02:36 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Für eine solche Bitratenreduktion muss ich den Transcoder so umkonfigurieren, dass er gröbere Quantisierungskoeffizienten für die MPEG-Matrizen verwendet, Captain - An die Arbeit, Mr. LaForge. -- Jens Baumeister in http://tinyurl.com/oomb -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQy82LXcLPEOTuEwVAQF36Qf8CvDA9AnUyq6SUq5TbMLw2lGiy90fz7Pk okuohCLShutXnK6ZFW3ZTivD6eBbfkZnNy1kz+avXHSEkVhYqVNDwYBq0z8+mqpt 9NqNqu7YxEqAO3g8BU8+rafWnYoD4OskkMcr0hzQQwwOx9L1lXeYMBLs5hKuEauW GNQ9oGhuGzoyLxhAcfSxIKjmKJGkA8M6okQmMxAY1LmwAwV4eS6R/ll9ZbJBJLGh Wl3J6v1penvspyp5oYQ3ZaNRlqiPXZrtGU3qGdyet8Xv42u3n4k/EicdoFIGICty lCgHw6qYvC1aPlKV3bhwDSVKJPqTQT7+9p1nOXOXuxmZ18VTRuVN1w== =n5uj -END PGP SIGNATURE-
Re: CPANTS new
-BEGIN PGP SIGNED MESSAGE- Moin, On Sunday 18 September 2005 10:29, Thomas Klausner wrote: Hi! Data using the new metric 'has_changelog' is now available from http://cpants.perl.org Thanks again to Adam Kennedy, H.Merijn Brand and Smylers for various suggestions/help with 'has_changelog'. I've also added suggestions to improve ones kwalitee. For each metric I wrote up a short 'remedy'. You can view all here: http://cpants.perl.org/kwalitee.html The remedies are also listed in each distributions main page and in the kwalitee details page. Hm, this one f.i.: http://cpants.perl.org/kwalitee/shortcoming?name=has_test_pod_coverage doesn't show the remedy!? Oh, and the 'Release Date' graph is working, thanks to pointers in the right direction by Tels. Hooray! Except for some nits: http://cpants.perl.org/graphs.html Shows 2005 with 0 released distributions and 3073 releases. (e.g. it shows it twice :o). And: http://cpants.perl.org/hall_of_shame http://cpants.perl.org/hall_of_fame Both point back to the main page. And: Searching for an author like tels yields: http://cpants.perl.org/author/search?pauseid=tels Why not show the result immidiately if there is only one match? And: http://cpants.perl.org/dist/shortcoming?metric=has_test_pod There are four empty points at the top of the list :) Oh, and it would be nice if: * there was a total_number_of_dists, total_number_of_authors display somewhere (like at the main page) * Searching could use more standard wildcards (% from SQL seems to work, but this is nowhere explained). Otherwise good work :-) Best wishes, Tels - -- Signed on Sun Sep 18 12:10:41 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Sundials don't work, the one I've had in my basement hasn't changed time since I installed it. grub (11606) on 2004-12-03 on /. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQy0/X3cLPEOTuEwVAQH4EAf+NQs2jheE3uvSU2f2bNnxNg4n/EXFle5D HMNP8gNHfkh0YGfkiyHBWCtlEsrzeWkwhWvb3/XDH1mluZnv7Qq1EkkY198ywZpS Tst/LI6xLaimsig7QY61rXu0GJ3OCzyOSJYy6t2X0SB8Q3hoLB3lJ7K/cMIXviYa C2WykAjtypXz4C5A/h4Hi9vhtJoqTBeZFdzBEBCeKo5lhegPVGP10MKeCS2kiP6Y 3foOvTsdxnZGDoTb3y0sEmGXPbM3ROpF2OiVt5mzV4mvhR0WvfrTNncAmBJ5rt8m Kzgptmghm1yfIiO0c2tqYRBAh6IpBmZCaYFxCEcSYZokhYWgcvgnkQ== =MWfM -END PGP SIGNATURE-
Re: CPANTS new
-BEGIN PGP SIGNED MESSAGE- Moin, On Sunday 18 September 2005 11:48, David Landgren wrote: Thomas Klausner wrote: Hi! Data using the new metric 'has_changelog' is now available from http://cpants.perl.org Ooh! my kwalitee improved :) except other people's kwalitee improved more than mine :( Same for me... Thanks again to Adam Kennedy, H.Merijn Brand and Smylers for various suggestions/help with 'has_changelog'. I've also added suggestions to improve ones kwalitee. For each metric I wrote up a short 'remedy'. You can view all here: http://cpants.perl.org/kwalitee.html Seriously though, I have a module whose test suite includes Test::Pod and Test::Pod::Coverage, except that I use the following construct: SKIP: { skip( 'Test::Pod not installed on this system', 1 ) unless do { eval qq{ use Test::Pod }; $@ ? 0 : 1; }; pod_file_ok( 'foobar.pm' ); } The cpants analysis fails to recognise this as valid. What is it looking for and/or could it be taught to look for this? I thought that it was only looking for a string eval of use Test::Pod. I would like to know the same. I do want to add pod-tests, but not burden users of my module with a dependency on yet-another-test-module. (If the pod tests pass on my dev system, they are very likely to pass at the users system, too. So no point in running the tests there always) Best wishes, Tels - -- Signed on Sun Sep 18 12:23:00 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My name is Felicity Shagwell. Shagwell by name, shag very well by reputation. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQy1AWncLPEOTuEwVAQHUxAf+K6S4wClGowI00C7XKcvN9L1ieb08HXVJ /ovwH2uzBZ+cQJBUdthtgJMN6CGNVR68PedEkd5LJIKgEEdMMu3pikkJfJcnlsUn MXuLUQBh+w+M7XDn0JfLQuDVEKSqn1aeP4LESNmfTR/AcrlIkd5tOrlqimDBIyv/ Imw91QHIPwO4zaVf1HQ64QkuC9Gtv2TakoqumBBpkKQbOkxegvwS8JHWgmVjZ8XJ K2z7YEU5ah8Mlqt8J93rqzbfpfvqr3Ept8QXITIZQK1+N3LhxcHZhG5+qS//0qam DpwZh9M1PzJp3gwrL+YuB1KcnKAW05ZZOn/94iWiNSgvPCyHazUahQ== =Rq4k -END PGP SIGNATURE-
Re: Test::Harness Extension/Replacement with Color Hilighting
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 16 September 2005 19:44, Shlomi Fish wrote: On Friday 16 September 2005 19:34, Mark Ethan Trostler wrote: Alls you need to do is call: ($tot, $failedtests) = Test::Harness::_run_all_tests(@tests); instead of 'run_tests' to get at the '$tot' '$failedtest' hash refs (Data::Dumper it or look at the comments in Test::Harness) which has all the info you need to output whatever/however you want - I use it to XML-ize Test::Harness output instead of the standard format. This also avoids the call to '_show_results' (or you can call it yourself later) so you can output whatever/however you want. Hmmm... I've inspected the Test::Harness source now. While one can indeed do what you said, if I want to emulate the functionality of _show_results in its entirety, except for a small difference, then I'll have to duplicate a lot of code. That's Not Goodtm. So I think a spin-off of Test::Harness which will facilitate doing that is still in order. Why not fix Test::Harness instead of re-inventing it entirely? Best wishes, Tels - -- Signed on Fri Sep 16 19:57:37 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The campaign should combat the messages of pornography by putting signs on buses saying sex with children is not OK. -- Mary Anne Layden in ttp://tinyurl.com/6a9cy -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQysHu3cLPEOTuEwVAQHJWwf+J/oro0TGsR684rUYoSPZae7HWH2ccXED EhKR3bHRXVAFhz490+yWaajYQ88FMfYObH90dPOPDTKKJyHgGqmzC6awswuZlchX GalceBaQyU77yhLn3D5lLo/v/Cx+Xa99sO9/K8OMGbrphSUOj6xqKm615Ts6xHsL vpALbXG3ztYFRWowzGRWj8sjy6dyGYlDYx0De3jLXtavBeYITLNLf2v38axgEl6x IHn+ycSkgZJkxGhjEa2+83gVbUpQp4EFsEgZGpBNVmpoy/EtARFx0i/A74VoQWoC DksImhKs8vP+kOerqGOH/yLTn9o1XO1dI3/5KnSNqFnbFn+7kE1a+g== =5wa9 -END PGP SIGNATURE-
Re: kwalitee: drop Acme?
-BEGIN PGP SIGNED MESSAGE- Moin, On Thursday 15 September 2005 00:42, Peter Kay wrote: David Golden wrote: Probably could be done with a Build.PL that pulls the full module list then constructs a massive requires hash. Unless CPANTS scans for dependencies, in which case you'd need to build the .pm file dynamically, too. And then run a cron job to rebuild/re-release with cpan-upload every so often to keep it fresh. Geeze, you guys weren't kidding about the competitive part, were you? --Peter Shhh, dont tell anybody about my plan to hack the cpants webserver and silently raising my K rating to +inf :) Best wishes, Tels - -- Signed on Thu Sep 15 17:52:45 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. It is true that some lawyers are dishonest, arrogant, greedy, venal, amoral, ruthless buckets of slime. On the other hand, it is unfair to judge the entire profession by a few hundred-thousand bad apples. -- The Washington Post -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQymY7XcLPEOTuEwVAQHe/Af8D2+b2wapQ8HNtlM4yTQrr2Vd9BSRW6Sy yLViq8u+jpjmR5z/Scy+7fSzS5mLij9lT3Brk9kOcg9d4fIs//A12ybaHgBmQS9A KX+kBzfxcPG9/0SY+aF+jg1ezzkxMxgi8IDQYW2rrU0BXznK5SllG6YQVoXHE7L7 oULL91B2mVgiSCTyeD8+nW8V+3u8uSlOedA7gw1t9ItIHV6C1wmPqOro8wZagcJZ TZUZFuwtOMrKDO/rj1cfM8SY06QXZ9X8J5rimIuO+Er//ELu4s2nv4ot6fJTl3sA lKMre2B7T5HJKJxD9f6fVQWdLijS+MAA/jOpEK2I2kKigUQpAa+9Lw== =Z3oD -END PGP SIGNATURE-
rantTesting module madness
-BEGIN PGP SIGNED MESSAGE- Moin, you are in a maze of Test modules, all looking alike. You are likely being beaten by a dependecy. This is a mini-rant on how complex the tesing world for Perl modules has become. It starts harmless, like you want to install some module. This time it was CPAN-Depency. Since for security reasons your Perl box is not connected to the net, you fetch it and all dependencies from CPAN and transfer them via sneaker net and USB stick. It includes some gems like: 'Test::Deep' = 0, 'Test::Warn' = 0, Huh? Never heard of them, but if it needs them, well, we get 'em. Presumable they are only needed for testing the module, but who knows? However, as you soon find out, Test::Deep needs these two: Test::Tester = '0.04', Test::NoWarnings = '0.02', Put on your high-speed sneakers, grumble shortly and fetch them. Test::Tester is moderate, it only needs Test::Builder, which we somehow already got. And Test::NoWarnings needs only Test::Tester (are you confused yet?), so we are clear. Except for one test failure in Test::NoWarnings: t/noneYou should load Test::Tester before Test::Builder (or anything that loads Test::Builder) I call that warning ironic. Anyway, now on to Test::Warn (not to be confused with test::NoWarnings). It needs: Warning: prerequisite Array::Compare 0 not found. Warning: prerequisite Sub::Uplevel 0 not found. Warning: prerequisite Test::Builder::Tester 0 not found. Warning: prerequisite Test::Exception 0 not found. Warning: prerequisite Tree::DAG_Node 0 not found. Ugh! Test::Builder::Tester? Is there also a Test::Tester::Builder? And when does the madness end? At this point I got testy (no pun intended) and seriously considered screwing CPAN-Dependecy... One saw me continuing, however, until I found out that Array::Compare needs Module::Build, and I don't have this, either - and most of it's dependecies are missing here, also. Aarg! I am all for putting often used stuff into extra modules, but I think this has gone way to far, especially the user will go through all this just so that Random-Module-0.01 can run it's freaky test suite /rant Best wishes, Tels, who was last seen FYAMFC (Fetching Yet Another Module From CPAN) - -- Signed on Sat Sep 10 17:23:26 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever will come out before Unreal 2. - George Broussard, 2001 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQyL+jncLPEOTuEwVAQFiyQf9Fx/C+mqQNaQt4i9PQsSfJX9Td2U3UeMp dHBpBAGl8pNIZUtKFOFXHqLhrR/d94SM69MfN9VpFEfnLD5h6DjPsqXoO9FTWswV ALyll3uHX8M8S+hm6qGWewXY7wk8o0WekFe70zQ4qCgBQO7P2nnXZEZzCV/Pzw9Q WEb/GULo2z1PvhLfgvieTCGb8kt1JKIKZI0OpO6MZcoB8GvoQ7XxfXt44zPKdFTc 2pxo7UVlIun3dfJI4CDkFx1jIgazmWpBAFd0BYcljhZgcp8J64WZc2twfQlSpxzt wjtSmaWCGdMXsZyfoQWvPY4R5WAVSo/1AOThCQSzPABEH2aoWw0H0w== =CRZL -END PGP SIGNATURE-
Re: rantTesting module madness
-BEGIN PGP SIGNED MESSAGE- Moin, On Saturday 10 September 2005 19:27, chromatic wrote: On Sat, 2005-09-10 at 17:40 +0200, Tels wrote: I am all for putting often used stuff into extra modules, but I think this has gone way to far, especially the user will go through all this just so that Random-Module-0.01 can run it's freaky test suite You can always just not run the tests and hope that things work. If the tests don't add any value to you, ignore them. They add some value to me (show that at least something works). (I find the quoted sentence somewhat ironic in light of the recent p5p discussion archived at http://xrl.us/hijf ). Uhm, that was the discussion about not loading Carp. Why do you find this ironic? Btw, my graph-perl-usage project is about the same topic: don't load unnec. modules. And I frequently use it to figure out what is all loaded when you do use Some::Random::Module - sometimes the resulting graph is outright scary... Best wishes, Tels - -- Signed on Sat Sep 10 20:17:48 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Eat, eat, eat, eat the delicious sandwich! -- Elan the Bard (Order of the Stick) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQyMkRXcLPEOTuEwVAQGlAAf+P//wgXY6D98sOVqgWQeN6OTvQe78uchd i8oktEhb/sWih3RWuQRs9NJvNwYZ/vmetlgg+R/TLzB+3tvweWVL5MQhjq5t6PYS BQiI4qKp3Ah762O4eISWnQMybz6ISTxJGNcg0kmBv+O/LhvPern2OQkeQg6Rd1yN qn7zcjJCU57b1uXw4FTxWFI/yGJK1pojZCkwax1Kg9QvoDNFDDp1cdYFIULAZ9ZF +3DEVAONumFJx7+QB2KrtcRIpnoK8TPG2cG2C1DpItint8Y0okDsTLV0Gv32lHof 3q7kWBoYl+3v6V1aY3eV/JKAQ2M2dj9NsQhTNnQFfm1GCefVymyIAw== =/ect -END PGP SIGNATURE-
Re: rantTesting module madness
-BEGIN PGP SIGNED MESSAGE- Moin, On Saturday 10 September 2005 21:00, chromatic wrote: On Sat, 2005-09-10 at 20:21 +0200, Tels wrote: On Saturday 10 September 2005 19:27, chromatic wrote: You can always just not run the tests and hope that things work. If the tests don't add any value to you, ignore them. They add some value to me (show that at least something works). Either they're valuable enough that you install their prerequisites or they're not. But how am I supposed to find this out? I dont even know whether the required modules are used for the tests only, without digging through the source... Btw, my graph-perl-usage project is about the same topic: don't load unnec. modules. *You* don't get to decide which modules *I* use are unnecessary. No, but I can give you hints. Like if you load Data::Dumper, but never use it. You are free to ignore me, tho. And, actually, in _my_ code, I _do_ decide which moduls to use, and when, and when not. And for that I need a way to find out what they currently use. (Think of it like a profiler, without a profiler it is silly to optimize running time.) When I write code, I can either copypaste everything ever needed into it (but that would be bad), or use a gazillion modules (that would be equally bad). Finding the right balance is the proper way. And without the information what is used by whom and when, you cannot change that. (Like in profiling, you first must measure what takes how much time, and then you can optimize it). I never said that using modules is bad. But using a gazillion modules surely adds quite a few complexity layers to your module, and makes me want to not use it. You don't know what problem I'm trying to solve, what my constraints are, and how I want to solve those problems. When I give away code I write, I hope that it's valuable to other people. I'm open to suggestions, but I'm only going to go so far to make it useful to other people, especially if those suggestions are to duplicate existing, well-tested code that I don't have to maintain or to optimize for constraints I don't have and don't believe in. I agreed with you to some point. Code reuse is good, but sometimes it creates more problems than it solves. If I mark a module with build_requires in my Build.PL file, I know that that means and I do it for a reason. If you don't want to run the tests, you don't have to install that module. Life's good. Yes. But I was talking about a case where Build.PL wasn't even used by the module in question... I don't think the answer is don't use modules or, as in the p5p discussion to which I linked, add these simple extra four lines of code to every module to prevent using another module which already solves this problem. As I said, it is about finding the balance. It's abit like the age-old debate about inlining functions, vs. calling them. Sometimes you want to inline them to not have the calling overhead. But most of the time you don't want to inline everything. Some of the problems the testing modules solve are difficult enough that it takes a lot of us to get them right and I don't have a lot of hope that any one of us could get it right individually every time we retype the same sort of code. Test::Exception, for example, is a lot more valuable to me than the way I tested exceptions before the module existed. It has a better interface, has more features, and requires me to use much less code. The same goes for Test::MockObject, Test::Class, Test::LongString, Test::Builder::Tester, Code reuse is not the problem. Manual installation is the problem. Acually, in theory anything and all that gets installed should also be tested and evaluated, for security and not breaking anything else. So automated installs are not the answer for all questions :) Maybe there could be some sort of bundle installer that grabs a module and all of its dependencies for people who do offline installations. That might be a great thing. But I'd still need to install all the testing modules just to run the tests prior to install the module itself. Hm. It should be possible to take the offline-prepared bundle and run the testsuite, and only then install the module and the absolute nec. dependencies. Best wishes, Tels - -- Signed on Sat Sep 10 21:03:22 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Elliot, Sie Schwachkopf! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQyMyJHcLPEOTuEwVAQHjjwf/QXtRvByIw0K8dgp5Oxekncyj/Gklttcz h1quREA5cRoPVElSzaSu/LAyR6j0PMzlsTVSlyQajlsgOKx5D6SRQhNjMWMyTanp Wclm9xyviJQZzhb1hKrg1Qq4ok+q3JrjnkKIBfbZKxzQOtu280szE+MjJYiJ4zhe zEXZiYvuqwDp+qpUw1zyysn0FLC4+SYGi5CUTlIxCvkK2X+9geVmM+TwvwcYNILe hZ4tTtOTdx3ZEWTM8j5LsZTUocbPK69e3Gn0Gq+8og9bBcQSAAIBOPYVpQpYeMjE vMEfyVJ5xBUfMlhexUd19E13/W3uBLRcu+fzZbfS0rH7dc71vuVrmw
Re: rantTesting module madness
-BEGIN PGP SIGNED MESSAGE- On Saturday 10 September 2005 21:20, Tels wrote: Moin, btw, here is an idea that occured to me: There is a reason that not every little function in Test::More is it's own module on CPAN: it makes it much easier to maintain and use them. So maybe it would be possible to collect all the various test modules together and either build a few of them together to meta-packages, or build a tets-bundle with includes every test module so you have only one download-make-maketest-makeinstall cycle opposed to half a dozend. Best wishes, Tels - -- Signed on Sat Sep 10 21:25:21 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Where shall I put you? Under H, like Hot, Sexy Mama? -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQyMzm3cLPEOTuEwVAQHAFAf9FAaW0EhNYUWg3MIRmsR6tnQg3Bxg6uHi TtxgpFLAJlrcUQ4HdMIoHiwfo9sGnDNC6vtNmYTbaeuRBqdm03l0CaVIpGGF9Q1F FxVGyIUDzthfPbb8ymr0Jnqk3cubeNxbtn3cGRxHo4T33U5xFB6UsyRrE1tJS6p2 WnC2q1uVyusdzBdhX9bDUGEkcS2Hhfal8+SLoQq/h4AcWerMp1sxFgrogh/6TxZM IKcw0G5IVstE8B0K+Wca7JJWBUQNy0Go1w1wclgjlmyOK376T3Y+gQIn0OayZ57i 8vTEj3L+7EPumSnAm6xqAbRx1deGgaA0myJN223qdNNSdJGY7a0zYQ== =veNO -END PGP SIGNATURE-
Re: kwalitee: drop Acme?
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 09 September 2005 03:08, David Golden wrote: It can't be by the same author, though, to count for is_prereq, right? So someone needs to create a new CPAN ID, and release a module under that ID that prereqs all of CPAN. Then we'd all get our prereq points. Probably could be done with a Build.PL that pulls the full module list then constructs a massive requires hash. Unless CPANTS scans for dependencies, in which case you'd need to build the .pm file dynamically, too. And then run a cron job to rebuild/re-release with cpan-upload every so often to keep it fresh. If I were to run CPANTS, I would drop that module like a hot potato at a summer campfire. Oh, and reduce everyone's K rating involved in the little prank by one :) Tels - -- Signed on Fri Sep 9 10:23:47 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Sacrificing minions: Is there any problem it CAN'T solve? -- Lord Xykon -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQyFGy3cLPEOTuEwVAQFa8Qf9FpuKKWW+ZOfBNrbyMupfxZv/BadjOrWO Gdlu5jNSYK1s9NQ9LYJGtAlPsAp43zbMTdPqrpnA1pj4DcWLTgElm9qMVcxqvSoX IxSGSDgIQOKNS8UaZQ/FhYnyOEUdRS/wHYnc4k5K0Zo8KKqlR2dHX6GpIaW8T6YU oXmqoTZmSunC399tiRqdhPgSF5dINndogD5jdnJ654O1rk1vxWaf/HS7Jc7DDjAu 0eAaPCNMc6uaoizd5sWX1NNTtLjws3FJXT1oDl8xcmJrIiNCO2efQf3Vd1YtnTxt CJYnQpuu2Df84W009fqh10fvBAkXti29eEpaEj8AYEwMMHZxxCsLGA== =8Uuc -END PGP SIGNATURE-
Re: Why are we adding more kwalitee tests?
-BEGIN PGP SIGNED MESSAGE- Moin, On Tuesday 06 September 2005 09:10, Adam Kennedy wrote: Andy Lester wrote: Why are we worrying about these automated kwalitee tests? What will happen once we find that DBIx::Wango has only passed 7 of these 23 items on the checklist? I thought the same thing, until kwalitee turned competative. Now we have a situation in which a large number of authors have altered their behaviour to match the scoring mechanism. So once you find out DBIx::Wango only passed 7 out of 23, it will go into the author's average, and if he ever looks presumably the competative spirit will kick in and he's fix some of the problems I thought that was the whole point behind this. And I look forward to learn about problems I didn't even know existed before. Of course, it is up to me (Joe Author) to weed out virtual from real problems. (Given the low test-coverage most modules have, I'd say most people will ignore CPANTS, too). It is a tool, you are free to not use it. :) best wishes, Tels - -- Signed on Tue Sep 6 18:03:22 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. I am soo clumsy today. *crash* -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQx3BCHcLPEOTuEwVAQHrwAf/TPMXDtH6/p/rq6GwQEqzqePvN/MHbnB6 qaODl09NOHPVXQv74jZWUF4L9/2Dq5/RPYEUiZVbqaIQZEpQ9ChTY2ZeYLXhC5ON v1/hBwuS/tVmlI1JtMiGuNfrk5WAPmEkLeiPM7oB09EvReKQ9WAwyFnncgD4ap+r cwTkR6pld7wKje4nm6uIwuxu84XBlGtz4MlzOnyxea7zYq4TZq4wRltCqxarvVIZ gWdMDmABt0RWfbR8nTEB3NP5+i4Cyt9BRwMWx5eQwcCzYnz0GI6jHNMPqXsluYG6 B1h+24IoEoJiY0NcKAwFAXeCdOLy2+Cz0B20qk48PSFXbuB3AauTxA== =SmzH -END PGP SIGNATURE-
Re: Adding more kwalitee tests
-BEGIN PGP SIGNED MESSAGE- Moin Klaus, On Monday 05 September 2005 14:51, Thomas Klausner wrote: Hi! On Mon, Sep 05, 2005 at 03:43:02PM +1000, Adam Kennedy wrote: I know the whole kwalitee thing sort of stalled out at 17 tests, but what would be involved in adding some more? There's obviously been enough interest from people trying to boost their You might be aware that I did a talk at YAPC::Europe on CPANTS. Slides are here: http://domm.zsi.at/talks/2005_braga_cpants/ I also did a new Catalyst-based frontend that can be reached here: http://cpants.perl.org Cool. Never heard of that before. Unfourtunalty my server seems to have crashed last night, and I'm working remote, so I had to kick our sysadmin to get it back up running. I also removed some bugs on my way home from Braga, so I'm currently rerunning the tests which should finish in a few hours. Does it mean I should ignore output like: http://cpants.perl.org/author/TELS Where it says I have less than 5 modules on CPAN and none of them has a K rating? :-) Best wishes, Tels - -- Signed on Mon Sep 5 18:46:55 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Morton's Law: If rats are experimented upon, they will develop cancer. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQxx2wncLPEOTuEwVAQGtTgf/R2GaKdBYW4BTKGvqQ3JSydlLbZs42IZ3 wWhABdW5znP7mJEehdSgfLhRw5i90QH1fR6hBMYdAs10D3EKOIvgS+nrXSkDkbaX xE2CSSXuwPCGMaust8h8mDebHzbPRAcJmJrZy7C2XLOuoUyG0uyr8WKK5fZNz0zm OXpoe3K9w5B2TRUAQGyvJnajg15pXB9AROQXeWRUv/W6/r0CfZVhGT8ZejxZWDFo RBG/eVVn1Fq84FdhrRKF0ThljOjPy7DPBwNdN+h58CKWcE7DOZfnR2IbHKp2sWZY TrAe9Yl/wfRB6kZIs13oSVDJE0qizu0K+2MyibxP2l0pOsZksNfWrQ== =Xj6U -END PGP SIGNATURE-
Re: Adding more kwalitee tests
-BEGIN PGP SIGNED MESSAGE- Moin, On Monday 05 September 2005 17:53, Adam Kennedy wrote: Sébastien Aperghis-Tramoni wrote: Adam Kennedy wrote: has_perl_dependency: In the META.yml (assuming it exists) there is a dependency on the version of perl required to install the dist. Problem is that the version said to be required is often bogus. For example, the distributions created with h2xs since Perl 5.8 all contain a prereq using the version of the local Perl. Hence a good number of recents uploads on the CPAN with use 5.008007 while the code perfectly works under any 5.8.x That's just fine, because the first thing that's going to happen is that they are going to try to install the module on some other machine and boom insufficient version. Or it will be the first bug that gets reported... But at least it's known and obvious and the author has to do the check to see which version and become aware of the issue in the process. Personally, I wouldn't mind seeing a default of 5.006 and some Perl::MinimumVersion + CPAN Testers method for testing if it works undef 5.006 or not. P:MinVer grabs the easy to see cases, CPAN Testers gets the rest. I thought cpantesters skip modules that list 5.8.7 when the testbox only has 5.8.1 or so? OTOH, I sometimes get FAILs because a listed prerequisite is not installed and the testsuit fails (no wonder). Best wishes, Tels - -- Signed on Mon Sep 5 18:48:43 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Boooring! - Dot, the Warner sister -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQxx3LncLPEOTuEwVAQGiQgf/Q9ugbEoTXFTSRTcN6sk2OPZwLv39skoz C6BP9eyUQgghaVOhDlnJMQa2tMuUxinh1++Tw3arcbTQNQBsp8RYyzH0XU9sDekt YSziAtn2/hXpd55v3MAeBf6oayyX+ERl7WwrfY+d61PBVWfUqhL8oh+jYBa/CVWA HhTRaqDptGUtR4Mfse6uJbNudX5X6l6Wm+kpREPgx6yo4luQLLjimXIRUGGCNKpD cZnbMfcVMo1G6piwDmqrLoz2Sof5iBzDP3gSM3ufwRxKw4WHxB43tIj4JYyVMHa7 1pkTSliitkvsWe9FjcePNbLBWhE+HT1DsagMXvDkJ9tGo3ZIEBKRGA== =Q1c2 -END PGP SIGNATURE-
Re: Modules::Starter question
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 05 August 2005 17:32, Robert wrote: I am creating my first module (finally) and I was told a while ago to use Module::Starter. Which I did. I am fine there. When I look at the code generated I see that all the POD stuff is inline while I prefer to see POD stuff at the end. Is the inline POD the current preferred way? Some do it that way, others not. Personal preference I would say. Each has advantages, and you should use the one you are more comfortable with. Technically, it doesn't matter much. If it is, I am fine with that and will continue to chug along. If not, I will move it to the end and I would make a request to the M::S author to have a command line switch added to indicate which POD style to use (defaulting to whatever the auther wishes of course). Which would be a good idea, nonetheless :) Best wishes, Tels - -- Signed on Sat Aug 6 11:36:56 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever will come out before Doom 3. - George Broussard, 2002 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQvSFBncLPEOTuEwVAQFzBQf/T7/ek6ar36MSiNJV6Oko/sHSZa/ClHQP 5wPW6dTJAwWFHI47zFeQJypGdnFCO4ST6bVo6Kg30QUcsLVgNagqcNPUItU8c4rl SrrsbTy0yNJASArUJ9fdYNsedFCpO9w0l8mmOddh9JywKby8FjMrOG28XGR/msI2 Lmo9r9taj+GucyO0tLud/Pcjk1TrNW1jpLDyxxL2FEgwH3JTsoR3URYWUC7G0Imo 740Y2fHLFk55BFi6Hux99oZgnPNoDOKlyV84W2NZUaKp8L1+v73DGlKc3v7qsJxy CfSPgV/S/xDVV/ivbkibQnROLuCBjh4fI1qEMdVjkYxXngda5b3hZQ== =SL7D -END PGP SIGNATURE-
Fwd: failure notice
-BEGIN PGP SIGNED MESSAGE- Moin, robert, you need to work on your reply-to address :) - -- Forwarded Message -- Subject: failure notice Date: Saturday 06 August 2005 11:38 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Hi. This is the qmail-send program at relay03.pair.com. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. [EMAIL PROTECTED]: 64.62.181.91 does not like recipient. Remote host said: 550 [EMAIL PROTECTED]: inactive user Giving up on 64.62.181.91. - --- Below this line is a copy of the message. [snip] - -- Signed on Sat Aug 6 12:02:45 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Sundials don't work, the one I've had in my basement hasn't changed time since I installed it. grub (11606) on 2004-12-03 on /. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQvSK+3cLPEOTuEwVAQHbuAf+Lkf1oN0JqsqWrwGj0LVF9n0xP45yWpF4 Lr1UMFlj6iXbj0Zqw2qM/dM0XE8MNgPPgjvd8emMyrdSVCVBld5Tp/XDP8ZkzjzX W+771gDiAGB+rb/MOfoUi22OYWgVuc0x3lxcQ+eJKpJK+2gqAOjvU4MwCxNgI5R9 YCwhkrP7Ute8Faxgjr/8+3qwzxP1/kxjPrLRUNQ/eubfDaTT6ZG6aCOCisJngarX bfTe2XC9FMloSguoa7woYjcWpuTeOsvnRrwPqXmJ2mpX2BgKL6YF5usKoOsc6l65 Mxt9E6oVYMw14cssHe/5VqprQA/tVKzMXdO2L5RRnwkdwRis2fa0SA== =Ufij -END PGP SIGNATURE-
Re: Why were the CPAN tester results turned upside down?
-BEGIN PGP SIGNED MESSAGE- Moin, On Saturday 23 July 2005 13:48, James E Keenan wrote: Michael G Schwern wrote: http://testers.cpan.org/show/Test-Simple.html Looking at the CPAN tester results for Test-Simple... why are they suddenly oldest version first? I care about test results from the newest version, not the oldest. From personal e-mail: On Jul 9, 2005, at 8:49 PM, Leon Brocard wrote: On 7/10/05, James Keenan [EMAIL PROTECTED] wrote: Unless my memory is failing me at even greater rates than I suspect, up until a few months ago the reports at testers.cpan.org were presented with the most recent results first. Now they're showing up oldest first ... which means I always have to scroll down to see the most recent results. Feature or bug? Bug! Will be fixed soon, sorry. Hopefully, because I also wondered and complained via email (I forgot to whom, though) :-) Best wishes, Tels - -- Signed on Sat Jul 23 14:33:35 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. ...pornographic images stay in the brain forever. -- Mary Anne Layden; That's a feature, not a bug. -- God -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQuI5SXcLPEOTuEwVAQEIwAf7Bu/J0VVOb+ZZXK5OTvuOVElQtgeL1ZzZ /k6IVRSX8o3Zbgm62QXivND2d27Ko9rT7wEYm5i5Tenp1oyzkoPJneCPndJP4eqA 2pDCOXnc+XB0R2aiKpoKKRqowtmX/B410dyJXJuazJ4R/Reu8QF2TKHLYQhf/BB0 GHCDqkUCvLqktSB4AA5z1pp/lQn4uBbmJ7qpCNldb1uiFKyFKRCmtFE6M20XAGDD uBnTv0q2Y/lJWze64XfC7lmMgFt/Qdvf/8b1bAlM7yo+v6IiQvD31gfdDiXLzDAo 79Jforr3v4UmlMI9PK6jQl71XeOBFPID6ZuChGmC6Ebm+D+imCMsEQ== =1/qF -END PGP SIGNATURE-
Re: Need to talk to an EU patent attorney
-BEGIN PGP SIGNED MESSAGE- Moin, On Tuesday 12 July 2005 23:00, Michael G Schwern wrote: Barbie's journal, via Ovid, made me aware of patent EP1170667 Software Package Verification granted last month in the EU. http://gauss.ffii.org/PatentView/EP1170667 It appears to patent basic software testing frameworks. This entire patent system is becoming so silly. :-( For what it is worth, this patent would be not legal/not enforcable in Germany due to be software only. (It would also probably not quality on grounds of being obvious, I fail to see what is so patent-worthy on this patent. Even I could have come up with a testsystem.) As for the rest of the EU, software-only patents are very probably not enforcable, anyway. (Although I lost track over how the issue now really is, the last thing I heard there was a victory for the no-software-patent crowd (yeah!), but then maybe it just cemented the status quo (namely, everything under the sun gets patented left/right). But IANAL nor a PA. Best wishes, Tels - -- Signed on Wed Jul 13 00:27:25 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Duke Nukem Forever will come out before Doom 3. - George Broussard, 2002 (http://tinyurl.com/6m8nh) -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQtRFVHcLPEOTuEwVAQEbOAf+L12iUs3dcSI438H6h5q3QYWvCl1yeqQi Lj0N1uIFTJjJTavUiOyPfwKO6OswVVCKfezukfHGlayaZ27yrry2O4PMMs33bwbP w7ueSJf8X0iHOQOX464/tI+DnIlzpnfLpT+TMHxot0XYB1WHa8nyfuFcZBHtTqrn 5/QdxXxR91RHAMFpAZjvMXfUyre0yQGqZCiqXtcEkBBMxN7NW6ATwojBXkg/cj/W jAj4T0iuIIe6CfKQyv/tzEBwgsucFSHkvLs4g8AWTco9bD2gjQMGDVn6aOsqzbu/ hbX6paEwa0Ygti6zxWO68BOx303p30yAGGdG4VNJGoYoEyNRLfd+LQ== =3zD3 -END PGP SIGNATURE-
Re: Graphing Perl Package Usage for Fun and Profit
-BEGIN PGP SIGNED MESSAGE- Moin Randy, On Sunday 10 July 2005 15:08, Randy W. Sims wrote: Tels wrote: graph-perl-usage is a little script that uses various modules/programs to generate usage graphs of Perl package. That is, it tracks which package uses or requires which and puts that into a graph. Recursively, if you wish so. Neato, cool. How difficult would it be to add an option to exclude certain modules? --exclude 'strict' --exclude 'strict,warnings' --exclude '::CORE' # all perl core modules --exclude '/^File.*/' or to include only modules matching a regexp --include-only '/^Graph/' Not so difficult, I guess. or just to add a little more challage... Looking at your Graph::Easy example, it'd be nice to graph everything in the Graph::Easy::* namespace plus any 1st level requirements. I.E. any modules directly referenced by files in the given namespace. --include-only '/^Graph::Easy/' --level 1 Pushing my luck, no, no, I posted because I wanted *exactly* that feedback. Unfortunately, I wasted my afternoon/evening by playing Morrowind :) But I'll see what I can do tomorrow. if I understand correctly, --level should limit the recursion to only one level - that would be the same as --recurse A. I think --level 2 would then be include A, and anything A uses (level 1) and anything *these* use (level 2), but no more. Did I understand this correctly? --level=inf would then be the default.. Best wishes, Tels - -- Signed on Sun Jul 10 21:56:19 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. A bus station is where a bus stops. A train station is where a train stops. On my desk I have a work station. -- Unknown -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQtF+CHcLPEOTuEwVAQHfPQf/QkzGZEJ9q51qtKF/oybq6KYNBNZxl3a4 BiDMcTGlQBXUOfBcaZva8BVSkn7WCR+eUSzpBwcVrCHKkKpM2opMwC4jnguktaq0 IRO/U1oQ2w1TJIQAYGV6++ls0qU8r9TQ6gF6GmfJRSFYXWOrwgvgDgNplMzLcz93 ni4RyN6Gde5MO3xhiUHEk0pdfy5MHeS+kFz94kMykKbZMeYi/7JxO5ESedrA3zkZ sqF+RdJ+DJRHVWW47/rPbAc/+tiJxPg4KKP99e7qQ+q6PuPigB5MDEtSzX2Lv/ZH ZoEbzJq5/9NPmsFK/wB0oMuqlHGpTgsJUpWjG7tQY0xyQ9TENfi3eg== =zSK0 -END PGP SIGNATURE-
Re: is_deeply() and code refs
-BEGIN PGP SIGNED MESSAGE- Moin, On Sunday 26 June 2005 07:18, Collin Winter wrote: My initial quick-glance at B::Deparse's documentation mentions something about perl optimising certain constants away, which could well throw a spanner into the works. Storable uses B::Deparse when serialising coderefs, though, so I'm certain there's a way around this. That shouldn't matter because any oddities B::Deparse applies to one code ref it will apply to the other. For equivalent code the decompiled result should be the same. After tinkering with B::Deparse for a bit, I think this particular oddity may just be a result of poorly-written docs (or, more probably, poorly-read on my part). The module seems to do the right thing in all cases I could come up with (i.e., it only optimises out truly-useless constants), so it should be safe to use for this particular purpose. With this matter sorted, I've started on the code and requisite tests to make the new stuff work. Just for clarification: this means that: is_deeply( sub { 1 + 2; }, sub { 3; } ); should/will pass because the subs compile to the same code? Best wishes, Tels - -- Signed on Sun Jun 26 10:24:45 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My name is Felicity Shagwell. Shagwell by name, shag very well by reputation. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQr5ml3cLPEOTuEwVAQEW9Qf+LP8XYCHoyVBYO3G535U7u76UzljgJNRS BTY9yD6KhnAkff8pdlNk7TQhzF1iCYOhJEIvFUDKW07d9ChhQJlWv4j61/YUucwb 1yR1egvDtRpzaHPA7fDT/KpPbUSt4hAUiq88C3ULOkadw8ZxTPpsS3HKp7E0MW12 fbzWEf/Jaf02oZXBRaj4jsqSLgeuLIix2b/HeTAEHhx5gSUauWrjb14y4ed5tVO5 Q4hpCSSBJNwwwANMzwAztjoZsRefMuawURsFNkJvVffqDQSZfmunRiOYa/vvlRPP yTs3WT/AYpwsSe47t/4+ua2Cw+M4LzBIZYM0YAHTNTVTDOFF3Cf2+w== =+6+Q -END PGP SIGNATURE-
Re: Testing for NULL return values in test scripts
-BEGIN PGP SIGNED MESSAGE- Moin, On Wednesday 13 April 2005 22:52, Walter Goulet wrote: So the good news is that I was able to convince the author to let me include my dependancies in the test library. So I'll switch to Test::More. Thanks for the help. Thats very good news! Best wishes, Tels - -- Signed on Wed Apr 13 23:57:19 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The campaign should combat the messages of pornography by putting signs on buses saying sex with children is not OK. -- Mary Anne Layden in ttp://tinyurl.com/6a9cy -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQl2V3ncLPEOTuEwVAQEaqQf9EvluE+1OPSV9qdg+ccl8llGrP309fDDx irQS6AETmYH7Y20kp5gRylYwMY0GvOu0sg6qlHWEZt7GxhJpX+Woh60QPDGuIYC8 8RnfRw/YyaNDjvILTVlXo1ayZUO0K1Bmry6rBwmgpmncXDfTbaQJhyDRT6CQmNbw pavmF6ONpkW5J/U/4IDiu0kjy+29VCIpz+hVA+I9Q0xbhisb/JIc6DvRTmEoifux lT6Do7YgGStE5bNiBtBMqqIxBCQQryNa9YKqFhtpNyY1Rfn6I3MB9EFqAwvZPC7t bJMPmT8k2blt2Lu072LPfgQzKUk2l8L/phz+QH7yhJl/awOht/NBPw== =mDWX -END PGP SIGNATURE-
Re: Testing for NULL return values in test scripts
-BEGIN PGP SIGNED MESSAGE- Moin, On Tuesday 12 April 2005 22:15, Michael G Schwern wrote: On Tue, Apr 12, 2005 at 01:39:59PM -0500, Walter Goulet wrote: I can't use Test::Simple, I have to use Test.pm for this module for backwards compatibility reasons. Try Test::Legacy, it gives you an upgrade path away from Test.pm. http://search.cpan.org/dist/Test-Legacy/ It almost perfectly emulates the Test.pm interface and it works in conjunction with other test modules. If you're worried about dependencies, you can simply ship a copy of Test::Legacy and Test::Builder with your module. Stick 'em in t/lib/ and put use lib qw(t/lib) at the top of your tests. Then you can say: Uhm, is there any reason why you can't do this with Test::Simple, too? *puzzled* Best wishes, Tels - -- Signed on Tue Apr 12 22:56:23 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. Retsina? - Ja, Papa? - Schach Matt. - Is gut, Papa. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQlw2JncLPEOTuEwVAQFHXwf/Uuk+jnOjvijI+Nm+/9v4KaaPa61XoqYx 73Aot4Vm203Q5mYm86ax/HgdsqHQyQWxRBeAIKGN9cASpHj9ZdVBbOrMgNrw4jzC y/eEw1eODAhb6SfvWLn6mbxjZIFzxmkphP5mgxRMNqqTsXHUCkmk0VaaIcvAxxoH C61gAcM7uSYSVt+WMlDRPq6D9CmmKVerFpgjo4Puqq32taPK8RRdwtlfDnQTEyDR KApr8bgCrHNUeWAtuXxO3keig2E96KM/UEKziAPcdLwCH1IJ82JJ24LZl7RRHtTv jzT1/Fspf5rWptEPyAYQ+QNWDcVInPmJAgs4TAO6Mp+q1zwGCqew5Q== =01+/ -END PGP SIGNATURE-
Re: Testing Net-SSLeay
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 01 April 2005 21:47, Walter Goulet wrote: Hi, I've been in contact with the author of Net-SSLeay about testing his module. One limitation I have to work with is that the module has to work out of the box with perl 5.6.0 which doesn't include the Test::Simple and Test::More modules. I am sometimes quite sick of having to work around already-fixed bugs or already-implemented features just because someone insists of using outdated software. There is at least 5.6.1, and AFAICT this doesn't even include the last security fix from a few weeks ago. I'd say toss in a prerequisite for Test::Simple and be done with it. Anybody who is still using 5.6.0 with no additional modules does something wrong. Best wishes, Tels - -- Signed on Sat Apr 2 12:54:19 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. My other computer is your Windows box. -- Dr. Brad (19034) on 2004-08-13 at /. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQk56ZXcLPEOTuEwVAQE9Rwf+OmKKnNWn8U8DjABgf/ctooPLZEvWfU0O 5ZoSg+/CP08X+xOjCeARkjuSX+2tZtXjHWktvjo+JT+GczfPE4Moil5O5V7wQfM+ GeFXXP+r2UJNYjKtzAh+U7kT46hjfz+/gXsJ36A5OkZZ/UEc0aCiXE61mLgb7Uh0 Nb5spd7v5KeAzTKkxv25dDhImo88XC+b6h0qgbhXyZJx+Lklj6cYgmnSm3rQxYQQ JxoW5nVMehj6X9KJZrAjQ8P/4JU9+UlXR+DkHu/zOWiTTzGRaRlWXmHmxQ52Dc7x AWCwS6ASLAiNHfl9bNiZ+Uf5dAqGV7XXou9gCL+Y2yy74vZPkImV1g== =+L1z -END PGP SIGNATURE-
Re: Testing Net-SSLeay
-BEGIN PGP SIGNED MESSAGE- Moin, On Saturday 02 April 2005 17:14, Andy Lester wrote: I'd say toss in a prerequisite for Test::Simple and be done with it. Anybody who is still using 5.6.0 with no additional modules does something wrong. But it's the author's choice, not ours. Of course. Can we convince him? :) I would like to clarify that supporting plain 5.6.0 really doesn't make sense. If you don't want to update your environment for whatever reasons past 5.6.0 (e.g. don't fix it if it ain't broke), why would you install a new version of module Foo? Wouldn't you want to _not_ update Foo, too, because updating makes a change and risks something not working? And if you dare to try to install a newer Foo, why not install the harmless Test::Simple, too? :) Best wishes, Tewho hasn't had a 5.6.x installation under his belt for a loong timels xoa - -- Signed on Sat Apr 2 17:41:03 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. The campaign should combat the messages of pornography by putting signs on buses saying sex with children is not OK. -- Mary Anne Layden in ttp://tinyurl.com/6a9cy -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQk69mncLPEOTuEwVAQEk4Qf+N1HaMQVzgzV+tAqhfs8B1HCdrP47wzNn +xz5KgUHVI1ss3OrfidXf2JX7Ev5pwHM2GaBB18D7cQe/LfAtjADR7H9cJsraa6L kviSyEW2VeUrScxOkUyZ7gdQYtal+X/lO4K1FPzYkX/nFV5pY2CyNlkt5Ti/DiZs DAoF6xNMccZ84HNAgCmSDhujIpG03bNBAAwN8VgKECdp3HX+JL7357Z1kboiVIPQ tgjVo5XHaerrySrH2NFDMRZGbxvtcJeV5zPclZ9EfhYPWEK32be0SCTOj57Vi5zi cBGcZAzo8wm57AtaiN8mK0U8A+1Csg5AWAqp9LRQ4esnPjnHXXRf9A== =PLr6 -END PGP SIGNATURE-
Re: Testing What Was Printed
-BEGIN PGP SIGNED MESSAGE- Moin, On Friday 11 February 2005 21:08, David H. Adler wrote: On Thu, Feb 10, 2005 at 09:28:30PM -0500, James E Keenan wrote: And here are the fruits of my application of IO::Capture: a module with three subroutines which have proven useful in the project I'm working on for my day job. The full module is here: http://mysite.verizon.net/jkeen/perl/modules/misc/TestAuxiliary-0.01. tar.gz Here is the SYNOPSIS, which includes simple examples of each function: use Test::More qw(no_plan); use IO::Capture::Stdout; use TestAuxiliary qw( verify_number_lines verify_number_matches get_matches ); $capture = IO::Capture::Stdout-new(); $capture-start(); print_greek(); $capture-stop(); is(verify_number_lines($capture), 4, number of screen lines printed is correct); A question: is there any reason that you made this an OO module but still show calls to the methods as functions rather than methods on the object? I.e. why Cverify_number_lines($capture) rather than C$capture-verify_number_lines ? This would also remove the need to explicitly export those functions. Just askin'. :-) In similiar line of thought: Why verify_number_lines instead of the (much shorter :) lines? Speaking source code is something I like, but it shouldn't gabble on :) Oh, and why TestAuxiliary and not Test::Auxiliary? (Auxiliary is also a very tough word for non-native speakers - I am bound to misspell it forever :) Best wishes, Tels - -- Signed on Fri Feb 11 21:18:47 2005 with key 0x93B84C15. Visit my photo gallery at http://bloodgate.com/photos/ PGP key on http://bloodgate.com/tels.asc or per email. http://www.informatik.hu-berlin.de/~hstamm/beweis.html - Nützliche Beweismethoden für jeden Tag -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.4 (GNU/Linux) iQEVAwUBQg0UKHcLPEOTuEwVAQFOQQf7BXJ/iUjwxYUTj6m15C50Xwma+EqpXu2H 8acuKcKJh5iNyuCBaDePSjzza+n8UstlfhvK3P+kEzdoN2mTiTtSIXFIvMpR2nSw Y9FNkAIORkDvsn30jmdNUXnbbF+LtINP1ryTV6jMrIAA43t44S/hgY4Jo7zt8BQL H21FiEQbfRNe/0ZaYLvfO+nFtdqMjKyEjSv00ZzQxkGqz94OmEtkRLQBbLZiOyKi /bn3zzZhH1PA+UOkDtRtx5nCzmlWvObwvARNTm6mwrypxf/tLwnzcja0FwW57pZp U+nfMPlmD0GFpX3ihjK8eB7SdouHlZlAZ5UUQGfLfYBEfpwrD/0B1A== =eIuR -END PGP SIGNATURE-