request namespace for HTML::TagMaker
Context Note: I am releasing a succession of around 15 Perl 5 object modules. Six of these are complete and documented, and will be submitted quickly. The others are working but not fully documented, so I am holding them back for the moment. All of these modules, with info on how they can be used together (and working examples), are available at http://www.DarrenDuncan.net. They have temporary names in the DDuncan::* name space. They all require 5.004 for consistency, although some can do with less. --- Here is #4: NameDSLI DescriptionInfo -- - --- HTML::TagMaker bdpO make single,groups of HTML tags, head/footers DUNCAND If you have suggestions of alternate names for this module, I would be happy to hear them. Likewise, I appreciate suggestions for a better brief description for use in the module list. For a good description of my module, I have provided part of its POD at the end of this letter. The rest of the POD is on my site. Currently, at least 2 of my other modules use this one. // Darren Duncan -- =head1 NAME DDuncan::HTMLTagMaker - Perl inheritable module that can generate any HTML tags at all, as well as lists of said tags, or just parts of said tags. I =head1 DEPENDENCIES =head2 Perl Version 5.004 =head2 Standard Modules =item I =head2 Nonstandard Modules =item DDuncan::MethodParamParser 1.01 =head1 SYNOPSIS use DDuncan::HTMLTagMaker 1.02; my $html = DDuncan::HTMLTagMaker->new(); $html->groups_by_default( 1 ); print 'Content-type: text/html'."\n\n", $html->start_html( -title => "This Is My Page", -style => { -code => <<__endquote }, \nBODY { background-color: #ff; background-image: none; } __endquote ), $html->h1( 'A Simple Example' ), $html->p( "Click " . $html->a( href => 'http://search.cpan.org', text => 'here' ) . " for more." ), $html->hr, $html->table( $html->tr( [ $html->th( [ 'Name', 'Count', 'URL', 'First Access' ] ), $html->td( [ 'Old Page', 33, 'http://www.domain.com', '1999/04/23 13:55:02' ] ) ] ) ), $html->hr, $html->form_start( method => 'post', action => 'http://localhost' ), $html->p( "What's your name? " . $html->input( type => 'text', name => 'name' ) ), $html->p( "What's the combination?" . $html->input_group( -type => 'checkbox', -name => 'words', -value => ['eenie', 'meenie', 'minie', 'moe'], -checked => [1, 0, 1, 0], -text => ['eenie', 'meenie', 'minie', 'moe'] ), ), $html->p( "What's your favorite colour? " . $html->select_start( -size => 1, -name => 'color' ) . $html->option_group( -value => ['red', 'green', 'blue', 'chartreuse'], -text => ['Red', 'Green', 'Blue', 'Chartreuse'] ) . $html->select_end ), $html->input( type => 'submit' ), $html->form_end, $html->end_html; =head1 DESCRIPTION This Perl 5 object class can be used to generate any HTML tags in a format that is consistent with the W3C HTML 4.0 standard. There are no restrictions on what tags are named, however; you can ask for any new or unsupported tag that comes along from Netscape or Microsoft, and it will be made. Additionally, you can generate lists of said tags with one method call, or just parts of said tags (but not both at once). In this implementation, "standard format" means that tags are made as pairs () by default, unless they are known to be "no pair" tags. Tags that I know to be "no pair" are [basefont, img, area, param, br, hr, input, option, tbody, frame, comment, isindex, base, link, meta]. However, you can force any tag to be "pair" or "start only" or "end only" by appropriately modifying your call to the tag making method. Also, "standard format" means that tag modifiers are formatted as "key=value" by default, unless they are known to be "no value" modifie
request namespace for HTML::FormMaker
Context Note: I am releasing a succession of around 15 Perl 5 object modules. Six of these are complete and documented, and will be submitted quickly. The others are working but not fully documented, so I am holding them back for the moment. All of these modules, with info on how they can be used together (and working examples), are available at http://www.DarrenDuncan.net. They have temporary names in the DDuncan::* name space. They all require 5.004 for consistency, although some can do with less. --- Here is #5: Name DSLI Description Info --- -- --- HTML::FormMaker bdpO predefined persistant forms, reports, validate DUNCAND If you have suggestions of alternate names for this module, I would be happy to hear them. Likewise, I appreciate suggestions for a better brief description for use in the module list. For a good description of my module, I have provided part of its POD at the end of this letter. The rest of the POD is on my site. Currently, at least 2 of my other modules use this one. // Darren Duncan -- =head1 NAME DDuncan::HTMLFormMaker - Perl module that can create web fill-out forms as well as parse, error-check, and report their contents. Form contents are persistant if desired, and form field definitions can be stored in a file. I =head1 DEPENDENCIES =head2 Perl Version 5.004 =head2 Standard Modules =item I =head2 Nonstandard Modules =item DDuncan::HashOfArrays 1.04 =item DDuncan::MethodParamParser 1.01 =item DDuncan::HTMLTagMaker 1.02 =head1 SYNOPSIS use DDuncan::HTMLFormMaker; my @definitions = ( DDuncan::HashOfArrays->new( 1, { visible_title => "What's your name?", type => 'textfield', name => 'name', } ), DDuncan::HashOfArrays->new( 1, { visible_title => "What's the combination?", type => 'checkbox_group', name => 'words', 'values' => ['eenie', 'meenie', 'minie', 'moe'], default => ['eenie', 'minie'], } ), DDuncan::HashOfArrays->new( 1, { visible_title => "What's your favorite colour?", type => 'popup_menu', name => 'color', 'values' => ['red', 'green', 'blue', 'chartreuse'], } ), DDuncan::HashOfArrays->new( 1, { type => 'submit', } ), ); my $query_string = ''; if( $ENV{'REQUEST_METHOD'} =~ /^(GET|HEAD)$/ ) { $query_string = $ENV{'QUERY_STRING'}; } else { read( STDIN, $query_string, $ENV{'CONTENT_LENGTH'} ); } my $user_input = DDuncan::HashOfArrays->new( 1, $query_string ); my $form = DDuncan::HTMLFormMaker->new(); $form->form_submit_url( $ENV{'SCRIPT_NAME'} ); $form->field_definitions( \@definitions ); $form->user_input( $user_input ); print 'Content-type: text/html'."\n\n", $form->start_html( 'A Simple Example' ), $form->h1( 'A Simple Example' ), $form->make_html_input_form( 1 ), $form->hr, $form->new_form() ? '' : $form->make_html_input_echo( 1 ), $form->end_html; =head1 DESCRIPTION This Perl 5 object class can create web fill-out forms as well as parse, error-check, and report their contents. Forms can start out blank or with initial values, or by repeating the user's last input values. Facilities for interactive user-input-correction are also provided. The class is designed so that a form can be completely defined, using field_definitions(), before any html is generated or any error-checking is done. For that reason, a form can be generated multiple times, each with a single function call, while the form only has to be defined once. Form descriptions can optionally be read from a file by the calling code, making that code a lot more generic and robust than code which had to define the field manually. If the calling code provides a HashOfArrays object or HASH ref containing the parsed user input from the last time the form was submitted, via user_input(), then the newly generated form will incorporate that, making the entered values persistant. Since the calling code has control over the provided "user input", they can either get it live or read it from a file, which is transparent to us. This makes it easy to make programs that allow the user to "come back later" and continue editing where they left off, or to seed a form with initial values. (Field definitions can also contain initial values.) Based
request namespace for CGI::WebPageContent
Context Note: I am releasing a succession of around 15 Perl 5 object modules. Six of these are complete and documented, and will be submitted quickly. The others are working but not fully documented, so I am holding them back for the moment. All of these modules, with info on how they can be used together (and working examples), are available at http://www.DarrenDuncan.net. They have temporary names in the DDuncan::* name space. They all require 5.004 for consistency, although some can do with less. --- Here is #6: Name DSLI Description Info --- - --- CGI::WebPageContent bdpO store/assemble web page parts, search and replace DUNCAND If you have suggestions of alternate names for this module, I would be happy to hear them. Likewise, I appreciate suggestions for a better brief description for use in the module list. For a good description of my module, I have provided part of its POD at the end of this letter. The rest of the POD is on my site. Currently, at least 2 of my other modules use this one. // Darren Duncan -- =head1 NAME DDuncan::WebPageContent - Perl module for holding the pieces of an HTML web page while it is being constructed. I =head1 DEPENDENCIES =head2 Perl Version 5.004 =head2 Standard Modules =item I =head2 Nonstandard Modules =item HTTP::Headers 1.37 =item DDuncan::HTMLTagMaker 1.02 =head1 SYNOPSIS use DDuncan::WebPageContent 1.02; my $webpage = DDuncan::WebPageContent->new(); $webpage->title( "What Is To Tell" ); $webpage->author( "Mine Own Self" ); $webpage->meta( { keywords => "hot spicy salty" } ); $webpage->style_sources( "mypage.css" ); $webpage->style_code( "H1 { align: center; }" ); $webpage->replacements( { __url_one__ => (localtime())[6] == 0 ? "one.html" : "two.html", __url_two__ => (localtime())[6] == 0 ? "three.html" : "four.html", } ); $webpage->body_content( <<__endquote ); Good Reading Greetings visitors, you must wonder why I called you here. Well you shall find out soon enough, but not from me. __endquote if( (localtime())[6] == 0 ) { $webpage->body_append( <<__endquote ); Sorry, I have just been informed that we can't help you today, as the knowledge-bringers are not in attendance. You will have to come back another time. __endquote } else { $webpage->body_append( <<__endquote ); That's right, not from me, not in a million years. __endquote } $webpage->body_append( <<__endquote ); [ click here | or here ] __endquote print STDOUT $webpage->to_string(); =head1 DESCRIPTION This Perl 5 object class implements a simple data structure that makes it easy to build up an HTML web page one piece at a time. In its simplest concept, this structure is an ordered list of content that would go between the "body" tags in the document, and it is easy to either append or prepend content to a page. Building on that concept, this class can also generate a complete HTML page with one method call, attaching the appropriate headers and footers to the content of the page. For more customization, this class also stores a list of content that goes in the HTML document's "head" section. As well, it remembers attributes for a page such as "title", "author", various "meta" information, and style sheets (linked or embedded). This class also manages and generates all the HTTP headers that need to be sent to the web browser prior to the actual HTML code. Similarly, this class can generate redirection headers when we don't want to display any content ourselves. A single to_string() call will return everything the browser needs to see at once, whether page or redirect. Additional features include global search-and-replace in the body of multiple tokens, which can be defined ahead of time and performed later. Tokens can be priortized such that the replacements are done in a specified order, rather than the order they are defined; this is useful when one replacement yields a token that another replacement must handle. Future versions of this class will expand to handle an entire frameset document, but that was omitted now for simplicity. =head1 OUTPUT FROM SYNOPSIS PROGRAM Content-Type: text/html What Is To Tell mailto:Mine Own Self"> Good Reading Greetings visitors, you must wonder why I called you here. Well you shall find out soon enough, but not from me. That's right, not from me, not in a million years.
request namespace for Data::HashOfArrays
Context Note: I am releasing a succession of around 15 Perl 5 object modules. Six of these are complete and documented, and will be submitted quickly. The others are working but not fully documented, so I am holding them back for the moment. All of these modules, with info on how they can be used together (and working examples), are available at http://www.DarrenDuncan.net. They have temporary names in the DDuncan::* name space. They all require 5.004 for consistency, although some can do with less. --- Here is #1: NameDSLI Description Info -- -- --- Data::HashOfArrays bdpO data (text,bin) store/parse/url-encode, subset DUNCAND I strongly request suggestions of alternate names for this module, as there are doubtless some of you who have better ideas on what it should be called. Likewise, suggestions for a better brief description for use in the module list. For a description, I have provided part of this module's POD at the end of this letter. The rest of the POD is on my site. Let it be known that at least 5 of my other modules use this one. Good days, // Darren Duncan -- =head1 NAME DDuncan::HashOfArrays - Perl module that implements a hash whose keys can have either one or several associated values. I =head1 DEPENDENCIES =head2 Perl Version 5.004 =head2 Standard Modules =item I =head2 Nonstandard Modules =item I =head1 SYNOPSIS use DDuncan::HashOfArrays 1.05; my $case_insensitive = 1; my $complementry_set = 1; my $params = DDuncan::HashOfArrays->new( $case_insensitive, $ENV{'HTTP_COOKIE'} || $ENV{'COOKIE'}, '; ', '&' ); my $query_string = ''; if( $ENV{'REQUEST_METHOD'} =~ /^(GET|HEAD)$/ ) { $query_string = $ENV{'QUERY_STRING'}; } else { read( STDIN, $query_string, $ENV{'CONTENT_LENGTH'} ); } $params->from_url_encoded_string( $query_string ); foreach my $key ($params->keys()) { my @values = $params->fetch( $key ); print "Field '$key' contains: '".join( "','", @values )."'\n"; } open( KEVOEL, "+to_url_encoded_string( "\n" ); local $\ = undef; seek( KEVOEL, 0, 0 ); my $all_records_str = ; flock( KEVOEL, 8 ); close( KEVOEL ); @record_str_list = split( /\n*=?\n/, $records ); @record_list = map { DDuncan::HashOfArrays->new( $case_insensitive, $_, "\n" ) } @record_str_list; foreach my $record (@record_list) { print "\nSubmitted by:".$params->fetch_value( 'name' )."\n"; print "\nTracking cookie:".$params->fetch_value( 'track' )."\n"; my %Qs_and_As = $params->fetch_all( ['name', 'track'], $complementary_set ); foreach my $key (keys %Qs_and_As) { my @values = @{$Qs_and_As{$key}}; print "Question: '$key'\n"; print "Answers: '".join( "','", @values )."'\n"; } } =head1 DESCRIPTION This Perl 5 object class implements a simple data structure that is similar to a hash except that each key can have several values instead of just one. There are many places that such a structure is useful, such as database records whose fields may be multi-valued, or when parsing results of an html form that contains several fields with the same name. This class can export a wide variety of key/value subsets of its data when only some keys are needed. In addition, this class can parse and create url-encoded strings, such as with http query or cookie strings, or for encoding binary information in a text file. While you could do tasks similar to this class by making your own hash with array refs for values, you will need to repeat some messy-looking code everywhere you need to use that data, creating a lot of redundant access or parsing code and increasing the risk of introducing errors.
Mail::Internet::Extensions
Hi, I have written a few extensions for Mail::Internet that I'd like to release as a module. This module will have two important methods: One that extracts a forwarded mail from a Mail::Internet object and constructs a new object representation that contains this forwarded mail. The other that parses the body to isolate urls, email addresses and phone numbers which may be used in spam filtering and content-sensitive delivery applications. For lack of a better name I call this module Mail::Internet::Extensions. If you have suggestions for a more appropriate name, I'll gladly consider. Also, I am not sure if it's ok to invade gbarr's namespace in this way. The DSLI description of the proposed module will be bdpO. best regards, vipul.
new module Convert::Scalar
The removal of tr///UC,CU recently prompted me to write this module, which contains a bag of misc. functions like taint/untait, unmagic and access to utf8-conversion functions inside perl. NAME: Convert::Scalar DESCRIPTION: convert between different representations of perl scalars DSLI: Rdcf USER: MLEHMANN CHAPTER: 6 (Data types), however it could be argued that 2 (Language Extensions) would be more appropriate. -- -==- | ==-- _ | ---==---(_)__ __ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / [EMAIL PROTECTED] |e| -=/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+ The choice of a GNU generation | |
CPAN id registration
Hi folks, please register a CPAN id for me. name: Jens Helberg e-mail: [EMAIL PROTECTED] user-id:jhelberg description:I've planned to publish my modules on the cpan. They're written for the win32 platform and some people use them for their daily work. At the moment, they're hosted at Dave Roth's ftp site. A few people asked me, why they're not available on CPAN. The language I used is English. In particular: Lanman-Module: contains the most important calls from the MS-Lanmanger API (User, Groups, Shares, Services, Policies and some more). It's ready to use and contains a complete documentation. NameDSLI Description Info - lanman Rd+f Win32 Lanmanager API JHELBERG Security-Module:all about Windows-NT Security (File-, Registry-, Object-Security, ACLs, ACEs, Tokens, etc). About 90% of the calls are implemented and tested. The documentation is still missing. NameDSLI Description Info - securitybd+f Win32 Security API JHELBERG Setupsup-Module:allows you to automate setup routines (Sending key strokes, windows management, process lists,...). It's finished since two years and comes with a documentation. NameDSLI Description Info - setupsupRd+f Automation for Win32 GUI-Applications JHELBERG
CPAN account request.
Grettings Maintainers, My name is Sean Scanlon, I have written a module for use with the package vpopmail < http://www.inter7.com/vpopmail/ >. This module makes available some of the functionality of the C library for vpopmail ( libvpopmail.a ). I would like to make this module available via the CPAN. -- name: Sean P. Scanlon email address: [EMAIL PROTECTED] preferred user-ID on CPAN: sscanlon DSLI: adcf -- Thanks for your time. -- - Sean P. Scanlon [EMAIL PROTECTED] - 4. Put your hand down the garbage disposal while practicing your smile and repeating: "mild discomfort".
Re: Net::AIM namespace collision, (seemingly) abandoned older project
Hi everyone, The project hasn't died, it simply hasn't been updated. I initially took the Net::IRC module which I was familiar with and have worked on and rewrote the connection class to suit the AOL TOC Servers. Therefore although the readme states the module is beta, it has been taken from Net::IRC which has gone through many revisions and bug fixes. And this module itself hasn't seen many bugs. (I uploaded a working version) I do not know how many people have downloaded the module and currently use it, but I do get correspondence lately quite a few times every other week about the module, which seems to mean that people are using it and working with it. I have started putting together a perlTk front-end for it though I am not satisfied with it or some of the components. Anyway the module was put together for the TOC server, if your module uses the real AIM protocol which I started coding but never finished (TOC was the easy solution) you can make another connection class and integrate this into the module - which I was intending to do at some point, so you can choose which protocol to connect with. I don't know how much time you spent on you AIM module but I think it might have been more productive if you would have followed the instructions on CPAN concerning creating modules. I really hate to come off sounding like a bitter ass but I'm insulted that someone wants to take over a namespace because they went and started a project before simply reading the instructions on cpan.org or checking for its existence. This is of course regardless of the performance of the 2 modules. Maybe I should have made the version 3.02 ;). I didn't slap something together. I worked with modules that were already written and tried to design a module that would be able to grow properly (ie the different connection classes). Cheers, aryeh DBD::Sybase is alpha software ... I still can't believe it. -- Aryeh Goldsmith Director of Interactive Programming CheckMate Internet Strategies & Solutions http://www.checkmate.net/ On Sat, 15 Jul 2000, Riad Wahby wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > >You could try to first contact him and ask if he is willing to surrender > >the name to you. Although, if his module seems to be in some significant > >use, that might not be appropriate, unless you had the same interface. > >Otherwise, then another name for your module might be best. > > Well, according to the readme, the module is quite beta, so I doubt > that its use is widespread. Thus, if I can get Mr. Goldsmith's > permission, I will continue using this name. As far as getting > permission, this is exactly why I CCed the original mail to him. I'm > going to hope that he responds; if he does not, I'll assume that the > project has been abandoned and keep using Net::AIM. > > If it turns out that I do have to change the name, it is time to > restart the thread concerning what it should be called. How does > Net::AOLIM sound? I'm fairly certain that it's not taken :-) > > Riad Wahby > [EMAIL PROTECTED] > [EMAIL PROTECTED] > > 5105 > > -BEGIN PGP SIGNATURE- > Version: PGPfreeware 5.0i for non-commercial use > Charset: noconv > > iQA/AwUBOW/si4h6K+kZMcamEQL3CACg8mDOzhj/e0n3WXDnQABX+QvFG/cAoNB2 > zQ5FuRethHfrp9Rkq4lI6FkK > =2F8s > -END PGP SIGNATURE- >
Text::DoubleMetaphone
I'd like to register the Text::DoubleMetaphone namespace. Text::DoubleMetaphone adcf Convert string to phonetic encoding MAURICE It implements the new Double Metaphone search algorithm developed by Lawrence Philips which he wrote about in the June issue of C/C++ Users Journal. -- Maurice Aubrey <[EMAIL PROTECTED]>
Re: Net::AIM namespace collision, (seemingly) abandoned older project
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 >The project hasn't died, it simply hasn't been updated. I initially took >the Net::IRC module which I was familiar with and have worked on and >rewrote the connection class to suit the AOL TOC Servers. Therefore >although the readme states the module is beta, it has been taken from >Net::IRC which has gone through many revisions and bug fixes. And this >module itself hasn't seen many bugs. (I uploaded a working version) > >I do not know how many people have downloaded the module and currently use >it, but I do get correspondence lately quite a few times every other week >about the module, which seems to mean that people are using it and >working with it. Obviously, then, this module is being used and is not outdated. Thank you for making this clear. >Anyway the module was put together for the TOC server, if your >module uses the real AIM protocol which I started coding but never >finished (TOC was the easy solution) you can make another connection >class and integrate this into the module - which I was intending to >do at some point, so you can choose which protocol to connect with. Mine is actually also an implementation of the TOC protocol. Since AOL is not allowing MS et al. to create clients that use the 'real' protocol, I felt that any module based on it would be quite unstable--it seems that AOL has no problem breaking everyone's client by making small changes to the protocol that do not effect their own code base, as they've done just this many times. >I don't know how much time you spent on you AIM module but I think it might >have been more productive if you would have followed the instructions on >CPAN concerning creating modules. > >I really hate to come off sounding like a bitter ass but I'm insulted that >someone wants to take over a namespace because they went and started a >project before simply reading the instructions on cpan.org or checking for >its existence. I did check for the existence of similar modules and found that the existing modules were unsatisfactory (or, at least, their documentation suggested this to me when I began my project). That I decided to name mine Net::AIM is somewhat accidental. I began by calling it Net::InstMsg, which was, as you can see in the archives of this list, objected to (and rightly so) on the grounds that instant messaging is not limited to AIM. Forgetting that Net::AIM actually existed, I followed a suggestion originating on this list and renamed my module to Net::AIM. I readily admit that it was pure sloppiness on my part that I did not first check to make sure that no such module existed. I relied on my memory of the names of the modules I had examined; it obviously failed me. I'm sorry that you feel insulted. I meant you no offense in naming my module Net::AIM. In fact, with one exception, I did follow the protocol suggested on cpan.org concerning the creation of modules. The oversight I committed, not making a final namespace check before deciding on a name, was unfortunately a grevious one. >This is of course regardless of the performance of the 2 >modules. Maybe I should have made the version 3.02 ;). I didn't slap >something together. I worked with modules that were already written and >tried to design a module that would be able to grow properly (ie the >different connection classes). I feel that my module was also carefully designed to make instant messaging easy for the module user. The fact that my module does not rely on previous work does not in any way indicate, in my mind, that it was, as you say, 'slapped together.' The final project is, to my eyes, a fairly elegant solution, managing permit and deny lists, buddy lists, and the like, as well as giving the module user complete control if necessary while still maintaining the ability to abstract away all socket communication if the module user wishes to do so. I feel that the module is a useful contribution to CPAN, and it is certainly one that I will be actively using and updating. I do realize that some of my actions were wrong, and I apologize for the trouble; I will be renaming my module to Net::AOLIM, so the namespace collision issue will be resolved within the hour. Riad Wahby [EMAIL PROTECTED] [EMAIL PROTECTED] 5105 -BEGIN PGP SIGNATURE- Version: PGPfreeware 5.0i for non-commercial use Charset: noconv iQA/AwUBOXEz+4h6K+kZMcamEQJGcwCgiUVEoA8wvi9CpIuXgcstTJDfkn8AmgNQ q71ZyQ0PgvB5bewzs194ZxE1 =wIiX -END PGP SIGNATURE-
request namespace Net::AOLIM
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, I'd like to request the name Net::AOLIM for a module that handles connections to the AOL Instant Messenger servers via the TOC protocol. Its information: Name: Net::AOLIM DLSI: bdpO Description: OO interface to the AIM TOC client protocol Info: RWAHBY The module is currently available at: http://web.mit.edu/rsw/Public/Net-AOLIM-0.11.tar.gz The README file contains complete documentation (as does the module, as pod). Regards, Riad Wahby [EMAIL PROTECTED] [EMAIL PROTECTED] 5105 -BEGIN PGP SIGNATURE- Version: PGPfreeware 5.0i for non-commercial use Charset: noconv iQA/AwUBOXE/vIh6K+kZMcamEQIimQCfYPajVDklqJ5X+toD9L2XAlaiXD4AoOIv zTOvLzPoFCBUxLES6T/VsynO =KcBd -END PGP SIGNATURE-
Re: Net::AIM namespace collision, (seemingly) abandoned older project
Riad, (I knew this would come to this point) OK, I am not angry or insulted, and let me apologize for the tone of my last letter. It was written in haste - it seemed like I missed the first round of corespondance so the timer started. Additionally I was speaking only of what I have done when I said that it wasn't something I just slapped together. I'm sure there are different things in each module that would be advantageous under certain circumstances. I would definitly like to hear about any problems roadblocks you've come across and how to fix them. I can share my findings with you aswell. I think I'll go do some work now on pickle. Cheers, aryeh -- Aryeh Goldsmith Director of Interactive Programming CheckMate Internet Strategies & Solutions http://www.checkmate.net/ On Sun, 16 Jul 2000, Riad Wahby wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > >The project hasn't died, it simply hasn't been updated. I initially took > >the Net::IRC module which I was familiar with and have worked on and > >rewrote the connection class to suit the AOL TOC Servers. Therefore > >although the readme states the module is beta, it has been taken from > >Net::IRC which has gone through many revisions and bug fixes. And this > >module itself hasn't seen many bugs. (I uploaded a working version) > > > >I do not know how many people have downloaded the module and currently use > >it, but I do get correspondence lately quite a few times every other week > >about the module, which seems to mean that people are using it and > >working with it. > > Obviously, then, this module is being used and is not outdated. Thank > you for making this clear. > > >Anyway the module was put together for the TOC server, if your > >module uses the real AIM protocol which I started coding but never > >finished (TOC was the easy solution) you can make another connection > >class and integrate this into the module - which I was intending to > >do at some point, so you can choose which protocol to connect with. > > Mine is actually also an implementation of the TOC protocol. Since > AOL is not allowing MS et al. to create clients that use the 'real' > protocol, I felt that any module based on it would be quite > unstable--it seems that AOL has no problem breaking everyone's client > by making small changes to the protocol that do not effect their own > code base, as they've done just this many times. > > >I don't know how much time you spent on you AIM module but I think it might > >have been more productive if you would have followed the instructions on > >CPAN concerning creating modules. > > > >I really hate to come off sounding like a bitter ass but I'm insulted that > >someone wants to take over a namespace because they went and started a > >project before simply reading the instructions on cpan.org or checking for > >its existence. > > I did check for the existence of similar modules and found that the > existing modules were unsatisfactory (or, at least, their > documentation suggested this to me when I began my project). That I > decided to name mine Net::AIM is somewhat accidental. I began by > calling it Net::InstMsg, which was, as you can see in the archives of > this list, objected to (and rightly so) on the grounds that instant > messaging is not limited to AIM. Forgetting that Net::AIM actually > existed, I followed a suggestion originating on this list and renamed > my module to Net::AIM. I readily admit that it was pure sloppiness on > my part that I did not first check to make sure that no such module > existed. I relied on my memory of the names of the modules I had > examined; it obviously failed me. > > I'm sorry that you feel insulted. I meant you no offense in naming my > module Net::AIM. In fact, with one exception, I did follow the > protocol suggested on cpan.org concerning the creation of modules. > The oversight I committed, not making a final namespace check before > deciding on a name, was unfortunately a grevious one. > > >This is of course regardless of the performance of the 2 > >modules. Maybe I should have made the version 3.02 ;). I didn't slap > >something together. I worked with modules that were already written and > >tried to design a module that would be able to grow properly (ie the > >different connection classes). > > I feel that my module was also carefully designed to make instant > messaging easy for the module user. The fact that my module does not > rely on previous work does not in any way indicate, in my mind, that > it was, as you say, 'slapped together.' The final project is, to my > eyes, a fairly elegant solution, managing permit and deny lists, buddy > lists, and the like, as well as giving the module user complete > control if necessary while still maintaining the ability to abstract > away all socket communication if the module user wishes to do so. I > feel that the module is a useful contribution to CPAN, and it is > certainly one tha