FAQ
Anyone know what the accepted procedure is to change the name of a
module? I presume I just have to talk to the modules@perl.org guys,
for the CPAN portion of this. But with regard to changing the name of
a module in such a way that folks using the module don't suddenly find
that their code does not work any more.

Not that millions of poeple are relying on Date::Discordian ...

The name changes would be:

Date::Chinese -> Date::Calendar::Chinese
Date::Discordian -> Date::Calendar::Discordian
Date::Doomsday -> Date::Algorithm::Doomsday
Date::DayOfWeek -> Date::Algorithm::DayOfWeek
Date::Easter -> Date::Algorithm::Easter
Date::ISO -> Date::Calendar::ISO
Date::Leapyear -> Date::Algorithm::Leapyear
Date::Passover -> Date::Algorithm::Passover
Date::SundayLetter -> Date::Algorithm::SundayLetter
Date::ICal -> Date::Calendar::ICal

The only ones of these that I think are actually being used by more
than one person is Date::ICal and perhaps Date::Leapyear.

What have others of you done when you've changed the name of a module?

--
Rich Bowen - rbowen@rcbowen.com
Author - Apache Server Unleashed - http://www.apacheunleashed.com/

Search Discussions

  • Jesse at Aug 13, 2001 at 1:54 am

    The only ones of these that I think are actually being used by more
    than one person is Date::ICal and perhaps Date::Leapyear.
    If it's in CPAN, that's never a safe assumption. :/
    What have others of you done when you've changed the name of a module?
    IME, the standard thing to do is to package up a set of wrappers and stubs
    to ease transitions for folks with code that uses the old namespaces....
    optionally screaming loudly every time they get used.

    -j
    --
    Rich Bowen - rbowen@rcbowen.com
    Author - Apache Server Unleashed - http://www.apacheunleashed.com/


    _______________________________________________
    Reefknot-devel mailing list
    Reefknot-devel@lists.sourceforge.net
    http://lists.sourceforge.net/lists/listinfo/reefknot-devel
    --
    jesse reed vincent -- root@eruditorum.org -- jesse@fsck.com
    70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

    '"As the company that brought users the Internet, Netscape is now inviting
    the more than 60 million people who have used our client software to
    'tune up' and upgrade to Netscape Communicator," said Mike Homer,
    senior vice president of marketing at Netscape.' Sometimes I wonder.
  • Srl at Aug 13, 2001 at 2:10 am

    On Sun, 12 Aug 2001, Jesse wrote:

    The only ones of these that I think are actually being used by more
    than one person is Date::ICal and perhaps Date::Leapyear.
    If it's in CPAN, that's never a safe assumption. :/
    I think he meant "module author" when he said "person".
    What have others of you done when you've changed the name of a module?
    IME, the standard thing to do is to package up a set of wrappers and stubs
    to ease transitions for folks with code that uses the old namespaces....
    optionally screaming loudly every time they get used.
    Hm, that sounds like a sane idea. put a BEGIN block in that bitches
    if you're using the old module instead of the new module, but
    otherwise just wrapper the old module.

    I don't think I've ever heard anyone say what the standard Perlish
    thing to do is, though.

    srl
    --
    Shane R. Landrum slandrum@cs.smith.edu
    we generate our own light to compensate for the lack of light from above -AD
    GPG public key: http://cs.smith.edu/~slandrum/srl_pgpkey.txt
  • Jesse at Aug 13, 2001 at 2:15 am

    On Sun, Aug 12, 2001 at 10:10:55PM -0400, srl wrote:
    On Sun, 12 Aug 2001, Jesse wrote:

    The only ones of these that I think are actually being used by more
    than one person is Date::ICal and perhaps Date::Leapyear.
    If it's in CPAN, that's never a safe assumption. :/
    I think he meant "module author" when he said "person".

    Hey! Application developers are people too! ;) By the way, Hi, I'm Jesse.
    I'm the author of a ticketing system called "RT" (http://fsck.com/projects/rt)
    I've been talking to Shane a bit lately about making use of some of ReefKnot's
    stuff within RT and he suggested I show up here and say hi to y'all.

    Jesse



    --
    jesse reed vincent -- root@eruditorum.org -- jesse@fsck.com
    70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

    After all, it's not every day you meet up with an evil power
    -M. Bulgakov
  • Abigail at Aug 13, 2001 at 7:09 am

    On Sun, Aug 12, 2001 at 10:10:55PM -0400, srl wrote:
    On Sun, 12 Aug 2001, Jesse wrote:

    The only ones of these that I think are actually being used by more
    than one person is Date::ICal and perhaps Date::Leapyear.
    If it's in CPAN, that's never a safe assumption. :/
    I think he meant "module author" when he said "person".
    What have others of you done when you've changed the name of a module?
    IME, the standard thing to do is to package up a set of wrappers and stubs
    to ease transitions for folks with code that uses the old namespaces....
    optionally screaming loudly every time they get used.
    Hm, that sounds like a sane idea. put a BEGIN block in that bitches
    if you're using the old module instead of the new module, but
    otherwise just wrapper the old module.
    Huh?

    What's the point of that? To even get such a module, you need to upgrade.
    If you don't upgrade, you still have to old, working, code.



    Abigail
  • Jesse at Aug 13, 2001 at 7:13 am

    On Mon, Aug 13, 2001 at 09:07:54AM +0200, Abigail wrote:
    Hm, that sounds like a sane idea. put a BEGIN block in that bitches
    if you're using the old module instead of the new module, but
    otherwise just wrapper the old module.
    Huh?

    What's the point of that? To even get such a module, you need to upgrade.
    If you don't upgrade, you still have to old, working, code.
    When existing application code uses a module in the old namespace and it
    is dropped onto a box with a perl install that doesn't already have the
    old module. Not making existing applications need to be rewritten just
    because we want to shuffle modules around the namespace is a win.

    Abigail
    --
    jesse reed vincent -- root@eruditorum.org -- jesse@fsck.com
    70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

    As I sit here alone looking at green text on a laptop in a mostly bare room listening
    to loud music wearing all black, I realize that that it is much less cool in real life :)
    --Richard Tibbetts
  • Abigail at Aug 13, 2001 at 7:31 am

    On Mon, Aug 13, 2001 at 03:13:57AM -0400, Jesse wrote:
    On Mon, Aug 13, 2001 at 09:07:54AM +0200, Abigail wrote:
    Hm, that sounds like a sane idea. put a BEGIN block in that bitches
    if you're using the old module instead of the new module, but
    otherwise just wrapper the old module.
    Huh?

    What's the point of that? To even get such a module, you need to upgrade.
    If you don't upgrade, you still have to old, working, code.
    When existing application code uses a module in the old namespace and it
    is dropped onto a box with a perl install that doesn't already have the
    old module. Not making existing applications need to be rewritten just
    because we want to shuffle modules around the namespace is a win.

    So, this application cannot find the module. What BEGIN block is it
    then supposed to run?



    Abigail
  • Jesse at Aug 13, 2001 at 7:40 am

    On Mon, Aug 13, 2001 at 09:26:30AM +0200, Abigail wrote:
    When existing application code uses a module in the old namespace and it
    is dropped onto a box with a perl install that doesn't already have the
    old module. Not making existing applications need to be rewritten just
    because we want to shuffle modules around the namespace is a win.

    So, this application cannot find the module. What BEGIN block is it
    then supposed to run?
    Let's say the old module was Foo::Bar and the new module is Foo::Algorithms::Bar;

    In the distribution for Foo::Algorithms::Bar, we include a wrapper "Foo/Bar.pm"
    as well as "Foo/Algorithms/Bar.pm". Foo::Bar would include the aforementioned
    BEGIN block and the apropriate wrappers to hand everything off to Foo::Algorithms::Bar. Or, if we wanted to, we could upload one last version of Foo::Bar containing our wrappers which depends on the new package...


    Abigail
    --
    jesse reed vincent -- root@eruditorum.org -- jesse@fsck.com
    70EBAC90: 2A07 FC22 7DB4 42C1 9D71 0108 41A3 3FB3 70EB AC90

    As I sit here alone looking at green text on a laptop in a mostly bare room listening
    to loud music wearing all black, I realize that that it is much less cool in real life :)
    --Richard Tibbetts
  • Srl at Aug 13, 2001 at 2:11 am

    On Sun, 12 Aug 2001, Rich Bowen wrote:

    Date::ICal -> Date::Calendar::ICal
    So you're planning to do this in an effort to sanify the
    Date:: module namespace? When?

    srl
    --
    Shane R. Landrum slandrum@cs.smith.edu
    we generate our own light to compensate for the lack of light from above -AD
    GPG public key: http://cs.smith.edu/~slandrum/srl_pgpkey.txt
  • Mordechai T. Abzug at Aug 13, 2001 at 7:21 am

    On Sun, Aug 12, 2001 at 09:48:57PM -0400, Rich Bowen wrote:
    Anyone know what the accepted procedure is to change the name of a
    module? I presume I just have to talk to the modules@perl.org guys,
    for the CPAN portion of this. But with regard to changing the name of
    a module in such a way that folks using the module don't suddenly find
    that their code does not work any more.
    Assuming your new module would pass the empty subclass test, you can
    include an undocumented module under the original name that inherits
    from the new name. Code written for the old module would continue to
    Just Work.

    - Morty
  • Elaine -HFB- Ashton at Aug 13, 2001 at 1:33 pm
    Rich Bowen [rbowen@rcbowen.com] quoth:
    *>Anyone know what the accepted procedure is to change the name of a
    *>module? I presume I just have to talk to the modules@perl.org guys,
    *>for the CPAN portion of this. But with regard to changing the name of
    *>a module in such a way that folks using the module don't suddenly find
    *>that their code does not work any more.

    1. You upload a last version of the old module with a note in the Changes
    file and in the documentation itself indicating that it's been deprecated
    by the new module Foo::Bar::Baz

    2. Upload the new module

    3. While still logged into PAUSE you can change the metadata for those
    modules that are on the Modules List.

    4. email modules@cpan briefly detailing the change

    e.
  • Rich Bowen at Aug 19, 2001 at 9:47 pm

    On Sun, 12 Aug 2001, Rich Bowen wrote:

    Anyone know what the accepted procedure is to change the name of a
    module? I presume I just have to talk to the modules@perl.org guys,
    for the CPAN portion of this. But with regard to changing the name of
    a module in such a way that folks using the module don't suddenly find
    that their code does not work any more.

    Not that millions of poeple are relying on Date::Discordian ...

    The name changes would be:

    Date::Chinese -> Date::Calendar::Chinese
    Date::Discordian -> Date::Calendar::Discordian
    Date::Doomsday -> Date::Algorithm::Doomsday
    Date::DayOfWeek -> Date::Algorithm::DayOfWeek
    Date::Easter -> Date::Algorithm::Easter
    Date::ISO -> Date::Calendar::ISO
    Date::Leapyear -> Date::Algorithm::Leapyear
    Date::Passover -> Date::Algorithm::Passover
    Date::SundayLetter -> Date::Algorithm::SundayLetter
    Date::ICal -> Date::Calendar::ICal
    So, I get the impression that Jarkko is not terribly thrilled with
    this sort of name change, which, along with the fact that I have been
    rather buried in other things, is why I have not done this yet. I did
    not follow the entire conversation on P5P, or wherever that was. What
    was the final decision on this? Is this something we want to do?

    --
    Pilgrim, how you journey on the road you chose
    To find out where the winds die and where the stories go
    --Pilgrim (Enya - A Day Without Rain)
  • Chris Nandor at Aug 19, 2001 at 10:36 pm
    In article
    <Pine.LNX.4.33.0108191745300.1074-100000@rhiannon.rcbowen.com>,
    rbowen@rcbowen.com (Rich Bowen) wrote:
    So, I get the impression that Jarkko is not terribly thrilled with
    this sort of name change, which, along with the fact that I have been
    rather buried in other things, is why I have not done this yet. I did
    not follow the entire conversation on P5P, or wherever that was. What
    was the final decision on this? Is this something we want to do?
    I don't recall seeing Jarkko unhappy with the change, just that he
    decided not to include Time::Piece (nee Time::Object) in the core.
    However, I did not follow the discussion closely. He is leaving for
    vacation soon, you might want to email him now and find out (unless he's
    already left ... :-).

    --
    Chris Nandor pudge@pobox.com http://pudge.net/
    Open Source Development Network pudge@osdn.com http://osdn.com/
  • Rich Bowen at Aug 20, 2001 at 2:13 am

    On Sun, 19 Aug 2001, Chris Nandor wrote:

    In article
    <Pine.LNX.4.33.0108191745300.1074-100000@rhiannon.rcbowen.com>,
    rbowen@rcbowen.com (Rich Bowen) wrote:
    So, I get the impression that Jarkko is not terribly thrilled with
    this sort of name change, which, along with the fact that I have been
    rather buried in other things, is why I have not done this yet. I did
    not follow the entire conversation on P5P, or wherever that was. What
    was the final decision on this? Is this something we want to do?
    I don't recall seeing Jarkko unhappy with the change, just that he
    decided not to include Time::Piece (nee Time::Object) in the core.
    However, I did not follow the discussion closely. He is leaving for
    vacation soon, you might want to email him now and find out (unless he's
    already left ... :-).
    Bah, now I can't find the article in the archived. Basically he said
    that 3-level names (foo::bar::baz) were unnecessarily hard to find,
    and did not do anything to improve the situation. I'm still looking
    for the actual postings, and I can't figure out where I saw them.
    Skud, do you recall where that discussionwas?

    --
    HTML Writers Guild training classes
    http://www.hwg.org/services/classes/
  • Robin Berjon at Aug 20, 2001 at 2:12 pm

    On Monday 20 August 2001 04:12, Rich Bowen wrote:
    Bah, now I can't find the article in the archived. Basically he said
    that 3-level names (foo::bar::baz) were unnecessarily hard to find,
    and did not do anything to improve the situation. I'm still looking
    for the actual postings, and I can't figure out where I saw them.
    Skud, do you recall where that discussionwas?
    I've heard this 3-level names argument several times from several different
    people, but I still fail to understand what's so wrong with them. I never
    noticed that they were hard to find, and for some vast namespaces (eg Date) I
    think that they provide a nice partitionning. In fact, I feel that
    restricting namespaces to two levels makes things actually harder to find, I
    prefer a nice conceptual "hashing" over an n-page long sequential search.

    --
    _______________________________________________________________________
    Robin Berjon <robin@knowscape.com> -- CTO
    k n o w s c a p e : // venture knowledge agency www.knowscape.com
    -----------------------------------------------------------------------
    There are things that are so serious that you can only joke about
    them.
    -- Heisenberg
  • Kirrily Robert at Aug 21, 2001 at 2:28 am

    In perl.datetime, you wrote:
    Skud, do you recall where that discussionwas?
    Nope, I don't recall it. I don't think it could have been very serious
    or I would have taken note. I'm literally taking notes on this stuff
    whenever I see anyone make a meaningful comment.

    K.

    --
    Kirrily 'Skud' Robert - skud@infotrope.net - http://infotrope.net/
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
  • Rich Bowen at Aug 20, 2001 at 7:46 pm

    On Mon, 20 Aug 2001, Robin Berjon wrote:
    On Monday 20 August 2001 04:12, Rich Bowen wrote:
    Bah, now I can't find the article in the archived. Basically he said
    that 3-level names (foo::bar::baz) were unnecessarily hard to find,
    and did not do anything to improve the situation. I'm still looking
    for the actual postings, and I can't figure out where I saw them.
    Skud, do you recall where that discussionwas?
    I've heard this 3-level names argument several times from several different
    people, but I still fail to understand what's so wrong with them. I never
    noticed that they were hard to find, and for some vast namespaces (eg Date) I
    think that they provide a nice partitionning. In fact, I feel that
    restricting namespaces to two levels makes things actually harder to find, I
    prefer a nice conceptual "hashing" over an n-page long sequential search.
    Except that CPAN does not work that way. That is, all Date::* module
    appear on one page, regardless of how deep the namespace is. (Note to
    those that take umbrage at comments about CPAN. I am just stating the
    way that things are, not making a judgment call about that state of
    affairs.) So, within a particular "top level domain", we have a flat
    namespace, with some names just longer than others. There is already a
    Date::Convert::FrenchRevolution, but it appears in the main Date::
    directory with everything else.

    If there were a subdirectory structure, I agree, things might be
    rather easier to find, *if* there were a naming structure that we
    could get people to agree with, and more importantly, adhere to.
    Apparently, however, it also makes the CPAN/PAUSE code more
    complicated. I don't know, having never looked at that code. Likewise,
    I don't know how files are placed in directories. I would assume that
    it would just s!::!/!g on the module name, but I don't know all the
    intricacies involved. And I'm reluctant to make a change to my modules
    if I don't have the support of folks that are willing to back me up in
    the change, if/when others think it was an intrinsically bad thing to
    do.

    --
    Rich Bowen - rbowen@rcbowen.com
    http://www.rcbowen.com/kenya/
  • Robin Berjon at Aug 20, 2001 at 7:49 pm

    On Monday 20 August 2001 21:46, Rich Bowen wrote:
    I've heard this 3-level names argument several times from several
    different people, but I still fail to understand what's so wrong with
    them. I never noticed that they were hard to find, and for some vast
    namespaces (eg Date) I think that they provide a nice partitionning. In
    fact, I feel that restricting namespaces to two levels makes things
    actually harder to find, I prefer a nice conceptual "hashing" over an
    n-page long sequential search.
    Except that CPAN does not work that way. That is, all Date::* module
    appear on one page, regardless of how deep the namespace is.
    I know, but putting them in three level namespaces has the result of sorting
    them correctly (Date-Calendar-*, Date-Algo-*, ...). That makes things a lot
    clearer to me (clearer in fact than if they were in subdirectories).

    --
    _______________________________________________________________________
    Robin Berjon <robin@knowscape.com> -- CTO
    k n o w s c a p e : // venture knowledge agency www.knowscape.com
    -----------------------------------------------------------------------
    Give a man a fish and he will eat for a day. Teach him how to fish,
    and he will sit in a boat & drink beer all day.
  • David Cantrell at Aug 20, 2001 at 9:17 pm

    On Mon, Aug 20, 2001 at 03:46:10PM -0400, Rich Bowen wrote:

    Except that CPAN does not work that way. That is, all Date::* module
    appear on one page, regardless of how deep the namespace is.
    That still doesn't mean that Foo::Bar::Baz-style names don't give us
    some benefits. For example, Date::Convert::FrenchRevolution tells us
    that the module is for converting dates to and from whatever madness
    the French revolutionaries used. Calling it simply Date::FrenchRevolution
    would remove that useful information, and we wouldn't know whether it
    was for doing conversions to and from that calendar, whether it was for
    doing calculations in that calendar, or what.

    --
    David Cantrell | david@cantrell.org.uk | http://www.cantrell.org.uk/david

    Educating this luser would be something to frustrate even the
    unflappable Yoda and make him jam a lightsaber up his arse
    while screaming "praise evil, the Dark Side is your friend!".
    -- Derek Balling, in the Monastery
  • Rich Bowen at Aug 20, 2001 at 11:10 pm

    On Mon, 20 Aug 2001, David Cantrell wrote:
    On Mon, Aug 20, 2001 at 03:46:10PM -0400, Rich Bowen wrote:

    Except that CPAN does not work that way. That is, all Date::* module
    appear on one page, regardless of how deep the namespace is.
    That still doesn't mean that Foo::Bar::Baz-style names don't give us
    some benefits. For example, Date::Convert::FrenchRevolution tells us
    that the module is for converting dates to and from whatever madness
    the French revolutionaries used. Calling it simply Date::FrenchRevolution
    would remove that useful information, and we wouldn't know whether it
    was for doing conversions to and from that calendar, whether it was for
    doing calculations in that calendar, or what.
    OK, just making sure that I had the support of a few folks. Remember,
    I'm the one that proposed the change in the first place, so I still
    think it's a good idea. Mostly, I just have not had time.

    So it seems, then, that the sentiment is still for this change. And it
    should probably be accompanied by a document of some variety that
    explains the name divisions, and encourages people to use them.

    Rich
    --
    HTML Writers Guild training classes
    http://www.hwg.org/services/classes/
  • Bruce Van Allen at Aug 20, 2001 at 11:40 pm

    At 7:09 PM -0400 8/20/01, Rich Bowen wrote:
    OK, just making sure that I had the support of a few folks. Remember,
    I'm the one that proposed the change in the first place, so I still
    think it's a good idea. Mostly, I just have not had time.

    So it seems, then, that the sentiment is still for this change.
    Yes from here.
    And it
    should probably be accompanied by a document of some variety that
    explains the name divisions, and encourages people to use them.
    That sounds great, and -- take the time to give it a good effort.
    This kind of task only succeeds with clear thought and community
    buy-in.

    Thanks.
    --

    - Bruce

    __bruce_van_allen__santa_cruz_ca__
  • Tom Braun at Aug 21, 2001 at 2:41 am
    Maybe I should finally check in on the rollcall. Hi, I only wrote the
    nonsensical (but hopefully fun) Date::Tolkien::Shire, and I'd love to add a
    few more Tolkien calendars to it if I can find the time and enough info on
    the calendars.

    Anyway, Rich, I like the idea as well. Though I wonder if anyone besides me
    has a three level names that this would make four, and if this is a problem
    for anyone? I don't have a problem with it, but I don't know if my module
    counts much, since it implements an entirely fictional calendar.

    Also, I presume it would be good if as many of us as possible jumped ship
    and made these changes together. Should we standardize on the new prefixes
    and what will go where, before two or three people makes these same changes
    with different names (say one doing Date::Cal::foo and another
    Date::Calendar::Foo for example)? If we all do something different, then we
    don't gain much. So far, I see (from Rich's original email)
    Date::Calendar::* and Date::Algorithm::*. Do we want to use these? Is
    there need for a Date::Convert::* or the like?

    Tom

    OK, just making sure that I had the support of a few folks. Remember,
    I'm the one that proposed the change in the first place, so I still
    think it's a good idea. Mostly, I just have not had time.

    So it seems, then, that the sentiment is still for this change. And it
    should probably be accompanied by a document of some variety that
    explains the name divisions, and encourages people to use them.

    Rich
  • Abigail at Aug 21, 2001 at 6:34 am

    On Mon, Aug 20, 2001 at 10:16:48PM +0100, David Cantrell wrote:
    On Mon, Aug 20, 2001 at 03:46:10PM -0400, Rich Bowen wrote:

    Except that CPAN does not work that way. That is, all Date::* module
    appear on one page, regardless of how deep the namespace is.
    That still doesn't mean that Foo::Bar::Baz-style names don't give us
    some benefits. For example, Date::Convert::FrenchRevolution tells us
    that the module is for converting dates to and from whatever madness
    the French revolutionaries used. Calling it simply Date::FrenchRevolution
    would remove that useful information, and we wouldn't know whether it
    was for doing conversions to and from that calendar, whether it was for
    doing calculations in that calendar, or what.

    Well, that's a nice argument, if you want the module name to tell you
    what the module does, then Date::Convert::FrenchRevolution fails.
    A conversion is between two systems. So, Date::Convert::FrenchRevolution
    tells us it's converting dates from the French revolutionaries. But
    to what? Gregorian? Hebrew? Mayan? Chinese? A standard like Julian days?
    Unix epoch seconds?

    Not that I'm against 3 level modules names - I've several of them on
    CPAN. I've even a 4 level name (Lingua::EN::Numbers::Easy).



    Abigail
  • Robin Berjon at Aug 21, 2001 at 2:48 pm

    On Monday 20 August 2001 23:16, David Cantrell wrote:
    That still doesn't mean that Foo::Bar::Baz-style names don't give us
    some benefits. For example, Date::Convert::FrenchRevolution tells us
    that the module is for converting dates to and from whatever madness
    the French revolutionaries used.
    In fact I think it's called that because it inherits from Date::Convert, but
    I still agree that it's useful to have three level names.

    As for the French Revolutionary Calendar, it's actually rather fun. It was
    part of the move to decimalize everything, and to move away from christian
    referentials. However, while it's easy to decide arbitrarily that distances,
    weights, etc are to be measured in decimal systems, it becomes rather harder
    to have a calendar that works that way. There were twelve months of three
    weeks (which held ten days), and a number of extra days that belonged to no
    month to compensate. Year 1 started with the revolution. I don't recall all
    the details, and I don't remember if ten hour (of 100 minutes) days ever
    happened.

    You can read more about it from http://www.faqs.org/faqs/calendars/faq/part3/
    part 6.

    --
    _______________________________________________________________________
    Robin Berjon <robin@knowscape.com> -- CTO
    k n o w s c a p e : // venture knowledge agency www.knowscape.com
    -----------------------------------------------------------------------
    Learn from your parents mistakes - use birth control.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdatetime @
categoriesperl
postedAug 13, '01 at 1:49a
activeAug 21, '01 at 2:48p
posts24
users12
websitemetacpan.org...

People

Translate

site design / logo © 2019 Grokbase