request namespace for HTML::TagMaker

2000-07-15 Thread Darren Duncan

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

2000-07-15 Thread Darren Duncan

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

2000-07-15 Thread Darren Duncan

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

2000-07-15 Thread Darren Duncan

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

2000-07-15 Thread Vipul Ved Prakash

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

2000-07-15 Thread Marc Lehmann

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

2000-07-15 Thread Helberg Jens (QI/LBS1-Bue) *

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.

2000-07-15 Thread Sean P. Scanlon

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

2000-07-15 Thread Aryeh Goldsmith


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

2000-07-15 Thread Maurice Aubrey

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

2000-07-15 Thread Riad Wahby

-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

2000-07-15 Thread Riad Wahby

-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

2000-07-15 Thread Aryeh Goldsmith


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