Re: Sockets?

2022-01-05 Thread David Crayford

On 6/1/22 5:14 am, Paul Gilmartin wrote:

On Wed, 5 Jan 2022 12:57:08 -0800, Charles Mills  wrote:

On the one hand C++ is an almost perfect superset of C. ...


I'd call it better than perfect if it doesn't have trigraphs.


Trigraphs were removed in the C++17 standard.



-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Seymour J Metz
The nomenclature for OO languages varies from language to language, and there 
isn't even agreement over what is an OO language. Consider the editor wars, the 
language wars and the OS wars. In some languages only methods can be public.

"I don't want to talk small talk 80",  Richard Adler and Jerry Ross


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Bob 
Bridges [robhbrid...@gmail.com]
Sent: Wednesday, January 5, 2022 7:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

Hm, interesting.  If I were doing that in VBA I suppose I'd have to have a 
property I called Name that would have the dog's name, and a constant set to 
"canis familiaris".  Or, no, wait, VBA doesn't allow a class to have a public 
constant, so it would have to be a Property Get, I suppose.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Civilization advances by extending the number of important operations which 
we can perform without thinking about them.  -Alfred Whitehead, "An 
Introduction to Mathematics" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, January 5, 2022 15:57

Classes have "static methods" that are generic and pretty much always 
available, and "instance methods" that apply to a particular instance of a 
class.

If you had a class that represented a dog you might have a static method "what 
species are you?" that would always return "Canis familiaris." On the other 
hand a method "what is your name?" would have to be an instance method. A 
particular instance or example of a dog has a name; asking dogs in general 
"what is your name?" would be meaningless. You could always ask the dog class 
what its species was, but to ask for a name you would need to have a particular 
dog (an instance of the dog class) to ask.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 12:10 PM

Yeah, so maybe it wasn't a C compiler that I bought.  It's been a long time; 
I'm not sure any longer.  And I'm pretty sure that at the time I didn't 
comprehend what OO programming was about.  The descriptions I read, and the 
examples, didn't seem all that different to me; what's the big deal?, I 
wondered.

But when trying to program in VBA/Excel I kept running into the message "does 
not support this property or method", which drove me crazy since I'd JUST USED 
IT OVERE HERE!  I didn't understand the difference between a general function 
and the method of an object, you see.  It wasn't until I followed a VBA 
programmer's advice and tried writing my own class, even though I didn't 
particularly need one at the moment, that it suddenly became clear.  I've been 
a fan ever since.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Bob Bridges
Hm, interesting.  If I were doing that in VBA I suppose I'd have to have a 
property I called Name that would have the dog's name, and a constant set to 
"canis familiaris".  Or, no, wait, VBA doesn't allow a class to have a public 
constant, so it would have to be a Property Get, I suppose.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Civilization advances by extending the number of important operations which 
we can perform without thinking about them.  -Alfred Whitehead, "An 
Introduction to Mathematics" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, January 5, 2022 15:57

Classes have "static methods" that are generic and pretty much always 
available, and "instance methods" that apply to a particular instance of a 
class.

If you had a class that represented a dog you might have a static method "what 
species are you?" that would always return "Canis familiaris." On the other 
hand a method "what is your name?" would have to be an instance method. A 
particular instance or example of a dog has a name; asking dogs in general 
"what is your name?" would be meaningless. You could always ask the dog class 
what its species was, but to ask for a name you would need to have a particular 
dog (an instance of the dog class) to ask.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 12:10 PM

Yeah, so maybe it wasn't a C compiler that I bought.  It's been a long time; 
I'm not sure any longer.  And I'm pretty sure that at the time I didn't 
comprehend what OO programming was about.  The descriptions I read, and the 
examples, didn't seem all that different to me; what's the big deal?, I 
wondered.

But when trying to program in VBA/Excel I kept running into the message "does 
not support this property or method", which drove me crazy since I'd JUST USED 
IT OVERE HERE!  I didn't understand the difference between a general function 
and the method of an object, you see.  It wasn't until I followed a VBA 
programmer's advice and tried writing my own class, even though I didn't 
particularly need one at the moment, that it suddenly became clear.  I've been 
a fan ever since.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Bernd Oppolzer

Am 05.01.2022 um 21:48 schrieb Peter Sylvester:

On 05/01/2022 21:09, Bob Bridges wrote:


C++ has nothing to do with C?  That's weird.


That is not what Bernd said..


Thanks for clarification. I said:
C and C++ are different languages ... and:
C++ is the OO language; C has nothing to do with OO.

(of course, you can use C to implement OO concepts;
I've done it myself, but it is a lot harder than simply using C++)

I forgot to mention: C++ is a superset of C (but others did).

Kind regards,

Bernd

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Charles Mills
Pluperfect? Perfect++?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Wednesday, January 5, 2022 1:15 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

On Wed, 5 Jan 2022 12:57:08 -0800, Charles Mills  wrote:
>
>On the one hand C++ is an almost perfect superset of C. ...
>
I'd call it better than perfect if it doesn't have trigraphs.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Paul Gilmartin
On Wed, 5 Jan 2022 12:57:08 -0800, Charles Mills  wrote:
>
>On the one hand C++ is an almost perfect superset of C. ...
>
I'd call it better than perfect if it doesn't have trigraphs.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Charles Mills
> C++ has nothing to do with C?

I would not agree with that assertion, but I get what the writer meant.

On the one hand C++ is an almost perfect superset of C. The things that work in 
C but not in C++ are pretty obscure. 99 out of 100 C programs will compile and 
execute correctly if you compile them as C++ programs.

On the other hand C++ is a whole lot more than C. C is assembler-like in that 
the designers were thinking about "how does a computer work? What machine 
instructions will be necessary for this function? Will this be easy to do?" 
when they designed the language. C++ is full-on OOP. They designed for an OOP 
paradigm and figured they could generate code to support it somehow. (You can 
criticize C++ or say Java is better or whatever but it is undeniably a 
full-court implementation of OOP.)

I *love* OOP. I have written two largish commercial product families in C++. 
You have the almost-assembler-level flexibility of C, but then the OOP 
constructs force a discipline and a way of thinking on you that I find very 
helpful. (Others might find it restricting or confusing.)

Here's an example. One of the fundamental concepts of OOP is encapsulation, 
which (my unofficial definition) is a bundling of "record layout" and 
executable function. Suppose you were writing a product library in assembler. 
You might tell your co-workers "this DSECT represents one Widget. If you want 
to deal with a Widget you should GETMAIN a Widget DSECT." Oh, by the way, the 
length of the DSECT is in Widget_Len so GETMAIN that much storage. Oh, and you 
need to call WIDGINIT first thing to initialize your Widget, and before you 
FREEMAIN a Widget you should call CLOSWIDG. 

In OOP you would lay out the Widget "record" (class) and bundle in it a 
"constructor" and a "destructor" routine. The compiler would automatically 
generate code to call those routines every time someone allocated or 
deallocated a Widget. So you would not have to tell people to call those 
routines themselves, nor deal with people who said "your Widget does not work" 
and let you debug for an hour before you figured out they had not called 
WIDGINIT. The length is also bundled in magically, so properly allocating and 
initializing a Widget could come down to one line of code:

Widget mywidget;

I like that. Others might find it constricting.

There is much, much more to OOP; that is just one easy example.

> the difference between a general function and the method of an object

Classes have "static methods" that are generic and pretty much always 
available, and "instance methods" that apply to a particular instance of a 
class.

If you had a class that represented a dog you might have a static method "what 
species are you?" that would always return "Canis familiaris." On the other 
hand a method "what is your name?" would have to be an instance method. A 
particular instance or example of a dog has a name; asking dogs in general 
"what is your name?" would be meaningless. You could always ask the dog class 
what its species was, but to ask for a name you would need to have a particular 
dog (an instance of the dog class) to ask.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 12:10 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

Yeah, so maybe it wasn't a C compiler that I bought.  It's been a long time; 
I'm not sure any longer.  And I'm pretty sure that at the time I didn't 
comprehend what OO programming was about.  The descriptions I read, and the 
examples, didn't seem all that different to me; what's the big deal?, I 
wondered.

But when trying to program in VBA/Excel I kept running into the message "does 
not support this property or method", which drove me crazy since I'd JUST USED 
IT OVERE HERE!  I didn't understand the difference between a general function 
and the method of an object, you see.  It wasn't until I followed a VBA 
programmer's advice and tried writing my own class, even though I didn't 
particularly need one at the moment, that it suddenly became clear.  I've been 
a fan ever since.

C++ has nothing to do with C?  That's weird.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Peter Sylvester

On 05/01/2022 21:09, Bob Bridges wrote:


C++ has nothing to do with C?  That's weird.


That is not what Bernd said..

C++ is C plus Simula67 classes.

C++ was created by Bjarne who learned OO from  Kristen Nygaard, one  of the 
fathers of SIMULA67.

    https://en.wikipedia.org/wiki/Bjarne_Stroustrup

I learned SIMULA67 in 1973 at the university. The TK4- system has the IBM/NCC implementation (still 
works at least under ESA)


happy new year and stay safe.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Bob Bridges
Yeah, so maybe it wasn't a C compiler that I bought.  It's been a long time; 
I'm not sure any longer.  And I'm pretty sure that at the time I didn't 
comprehend what OO programming was about.  The descriptions I read, and the 
examples, didn't seem all that different to me; what's the big deal?, I 
wondered.

But when trying to program in VBA/Excel I kept running into the message "does 
not support this property or method", which drove me crazy since I'd JUST USED 
IT OVERE HERE!  I didn't understand the difference between a general function 
and the method of an object, you see.  It wasn't until I followed a VBA 
programmer's advice and tried writing my own class, even though I didn't 
particularly need one at the moment, that it suddenly became clear.  I've been 
a fan ever since.

C++ has nothing to do with C?  That's weird.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Seek simplicity, and distrust it.  -Alfred Whitehead */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Bernd Oppolzer
Sent: Wednesday, January 5, 2022 13:44

C is a very simple language, and you need almost no verbose code to get 
started. (Same as Pascal, BTW).
See the very simple "Hello world" example programs, which only take one line of 
source code, like this:

int main (void); { printf ("hello world\n"); }

Ok ... you should probably add some standard headers like

#include 
#include 

(which contain the definition of printf etc.), but that's it.

Don't mix up C with C++, which is a complete different language

C has nothing to do with OO ... C++ is the OO language.
C is a language for systems programming or embedded systems, only sometimes 
used for commercial or math applications.

The C socket interface is very low level, but easy to use and easy to 
understand.

--- Am 05.01.2022 um 18:56 schrieb Bob Bridges:
> I guess you're saying below that socket calls are built into the C language, 
> or more likely are part of a standard library of C functions.  I once bought 
> a C compiler, but was dismayed by the amount of code that has to go into 
> every program just to get started.  (I'm prejudiced by the simplicity of REXX 
> and PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
> program.)  So I dropped the matter and never got further.  No doubt I'll get 
> back to C eventually.
>
> Meanwhile, is there a OO class (for example) that can interact with 
> object-oriented languages such as VBS, Jscript, ooREXX etc?  Or is it time 
> for me to buy a C compiler (again).  Or maybe VB Studio, or whatever it's 
> called?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Seymour J Metz
High level? A lot more low level than, e.g.., MACRO-11


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Tony Harminc [t...@harminc.net]
Sent: Wednesday, January 5, 2022 2:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

On Wed, 5 Jan 2022 at 10:13, Charles Mills  wrote:
>
> I think of the native "home" of sockets being in the C language and library. 
> If you do a basic search you will find simple client and server examples on 
> the Internet. I don't want to start a language war but C is available on 
> nearly every platform and is kind of a halfway point between assembler and 
> high level languages.

Or, as some have put it, C is a fairly good high level assembler for
the PDP-11. To the extent that it works for other CPU architectures,
it tends to take a PDP-11ish view of things.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Tony Harminc
On Wed, 5 Jan 2022 at 10:13, Charles Mills  wrote:
>
> I think of the native "home" of sockets being in the C language and library. 
> If you do a basic search you will find simple client and server examples on 
> the Internet. I don't want to start a language war but C is available on 
> nearly every platform and is kind of a halfway point between assembler and 
> high level languages.

Or, as some have put it, C is a fairly good high level assembler for
the PDP-11. To the extent that it works for other CPU architectures,
it tends to take a PDP-11ish view of things.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Charles Mills
I hear you. I thought sockets were esoteric. It is trivial, too trivial*, to 
write two socket programs and get two computers talking to each other.

*Too trivial in that you can get going while ignoring certain error and 
security considerations that might ultimately be important.

> socket calls are built into the C language

Yes and no. Yes, I think it is fair to say that sockets/TCP, C and UNIX all 
grew up together. Sockets seem to me to be most at home in C.

No, in that C has a very different philosophy from Rexx or COBOL. Rexx has SAY. 
COBOL has WRITE. C "has" nothing like that. C does not even "have" a character 
string move instruction. All of those things are accomplished with standard 
format library calls. That is both good and bad. On the one hand it adds a 
layer of complexity (you can't SAY, you have to call printf()) and on the other 
hand a layer of simplicity (less language to learn). Ditto for sockets: it's 
all standard library calls.

You can interface to and from C from almost any other language. C is so 
universal that every problem like that has probably been solved.

And again, I am not "selling" C. C has some horrible flaws: a too-appealing 
ability to write inscrutable code, and some open invitations to horrible 
security exposures. (Not exposures in C itself, but a trivial ability to create 
your own exposures using C.)

Sockets are pretty fundamental. Whatever your favorite language it should be 
fine for getting started with sockets. I used a PC Rexx (Regina?) at one point 
that that was totally satisfactory, and that I assume had socket support (I did 
not use it).

FWIW, my intro to OOP was C#, which is actually a Java derivative. It precludes 
many of the bad habits one can get into as a C++ programmer, but if you learn 
C# then it is easy to get from there to C++ or Java.

VS Code is a great IDE, includes C# and C/C++ and many other languages, and is 
totally, absolutely free. https://code.visualstudio.com/ I think there may be 
free plugins for "mainframe" languages and development.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 9:57 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

If you don’t understand the question then it's doubtless because I don't 
either.  Let me explain more fully, and maybe it'll show what part of my 
ignorance needs to be filled in, so to speak.

I'm familiar with a number of 3GL programming languages, but even after I 
learned about sockets (from studying and using the REXX calls mentioned below) 
I pictured sockets as something exotic and complicated happening below my 
grasp, in the bowels of the OS; I needed (so I thought) an interface to connect 
to them.  (This is why I mentioned assembler earlier.)  Thus the value of the 
REXX functions for sockets; it enabled me to get to them.

My assumption was therefore that if I'm trying to implement some socket 
communications on my PC, TSO-REXX wouldn't meet my need and I'd have to write 
in a different language -- VBSCript, say -- and for that would need a different 
set of function calls, designed not for REXX but for something else, either for 
VBS specifically or something more general that object-oriented languages could 
use.

I guess you're saying below that socket calls are built into the C language, or 
more likely are part of a standard library of C functions.  I once bought a C 
compiler, but was dismayed by the amount of code that has to go into every 
program just to get started.  (I'm prejudiced by the simplicity of REXX and 
PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
program.)  So I dropped the matter and never got further.  No doubt I'll get 
back to C eventually.  Meanwhile, is there a OO class (for example) that can 
interact with object-oriented languages such as VBS, Jscript, ooREXX etc?  Or 
is it time for me to buy a C compiler (again).  Or maybe VB Studio, or whatever 
it's called?

(I don't really care for VB as a language; I love it in one way because it's 
the language in which I first finally got what OO programming is about, but I 
recognize that there must be languages that do the same thing more easily.  Is 
it time for me to acquire and learn Perl?  Python?  Ruby?  Java?)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Bernd Oppolzer

Some minor clarification, see below ...

HTH, kind regards

Bernd


Am 05.01.2022 um 18:56 schrieb Bob Bridges:

I guess you're saying below that socket calls are built into the C language, or 
more likely are part of a standard library of C functions.  I once bought a C 
compiler, but was dismayed by the amount of code that has to go into every 
program just to get started.  (I'm prejudiced by the simplicity of REXX and 
PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
program.)  So I dropped the matter and never got further.  No doubt I'll get 
back to C eventually.

C is a very simple language, and you need almost no verbose code to get 
started. (Same as Pascal, BTW).
See the very simple "Hello world" example programs, which only take one 
line of source code, like this:


int main (void); { printf ("hello world\n"); }

Ok ... you should probably add some standard headers like

#include 
#include 

(which contain the definition of printf etc.), but that's it.

Don't mix up C with C++, which is a complete different language


Meanwhile, is there a OO class (for example) that can interact with 
object-oriented languages such as VBS, Jscript, ooREXX etc?  Or is it time for 
me to buy a C compiler (again).  Or maybe VB Studio, or whatever it's called?



C has nothing to do with OO ... C++ is the OO language.
C is a language for systems programming or embedded systems,
only sometimes used for commercial or math applications.

The C socket interface is very low level, but easy to use and easy to 
understand.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Seymour J Metz
I don't understand why you couldn't use RxSock  on your PC. From RxSock TCP/IP 
Socket Functions Reference:

RxSock is a Rexx function package providing access to the TCP/IP socket APIs
available to the C programming environment. Most of the functions described
in this reference are similar to the corresponding C functions available in 
the
TCP/IP socket library.

The following sections describe the socket class supplied with ooRexx. This
class encapsulates the rxsock external functions into several classes that
improve the functionality if the external function library by extending the 
error
checking and reducing the amount of code needed in an average rxsock 
program.

BSF4ooRexx allows an oorexx program to use Java classes.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Bob 
Bridges [robhbrid...@gmail.com]
Sent: Wednesday, January 5, 2022 12:56 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

If you don’t understand the question then it's doubtless because I don't 
either.  Let me explain more fully, and maybe it'll show what part of my 
ignorance needs to be filled in, so to speak.

I'm familiar with a number of 3GL programming languages, but even after I 
learned about sockets (from studying and using the REXX calls mentioned below) 
I pictured sockets as something exotic and complicated happening below my 
grasp, in the bowels of the OS; I needed (so I thought) an interface to connect 
to them.  (This is why I mentioned assembler earlier.)  Thus the value of the 
REXX functions for sockets; it enabled me to get to them.

My assumption was therefore that if I'm trying to implement some socket 
communications on my PC, TSO-REXX wouldn't meet my need and I'd have to write 
in a different language -- VBSCript, say -- and for that would need a different 
set of function calls, designed not for REXX but for something else, either for 
VBS specifically or something more general that object-oriented languages could 
use.

I guess you're saying below that socket calls are built into the C language, or 
more likely are part of a standard library of C functions.  I once bought a C 
compiler, but was dismayed by the amount of code that has to go into every 
program just to get started.  (I'm prejudiced by the simplicity of REXX and 
PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
program.)  So I dropped the matter and never got further.  No doubt I'll get 
back to C eventually.  Meanwhile, is there a OO class (for example) that can 
interact with object-oriented languages such as VBS, Jscript, ooREXX etc?  Or 
is it time for me to buy a C compiler (again).  Or maybe VB Studio, or whatever 
it's called?

(I don't really care for VB as a language; I love it in one way because it's 
the language in which I first finally got what OO programming is about, but I 
recognize that there must be languages that do the same thing more easily.  Is 
it time for me to acquire and learn Perl?  Python?  Ruby?  Java?)

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* If you are ambushed, your survival depends entirely on the inadequacy of 
your attacker.  -Damon Fay, law-enforcement officer and tae kwon do instructor 
*/

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, January 5, 2022 12:13

Not sure I am exactly getting the question.

In C at least, sockets are sockets are sockets. I did a whole lot of 
multi-platform C socket code and almost EXACTLY the same code will run Windows, 
Linux or legacy MVS. There is one additional call at startup that you need in 
Windows, and a few obscure functions are platform-dependent. But if you 
download a generic C sockets client/server demo program from the Web it will 
almost certainly run unmodified on Linux or MVS.

I'm not trying to sell some language here; just relating the facts as I see 
them.

Here for example is the documentation for the socket() function on MVS, Linux 
and Windows respectively:

MVS: int socket(int *domain, int type, int protocol);

The socket() function creates an endpoint for communication and returns a 
socket descriptor representing the endpoint.

Linux: int socket(int domain, int type, int protocol);

socket() creates an endpoint for communication and returns a file descriptor 
that refers to that endpoint.

Windows:

SOCKET WSAAPI socket(
  [in] int af,
  [in] int type,
  [in] int protocol
);

The socket function creates a socket that is bound to a specific transport 
service provider.

(Between you and me, "SOCKET WSAAPI" = int.)

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 8:19 AM

Th

Re: Sockets?

2022-01-05 Thread René Jansen
Bob,

ooRexx has socket support (first google hit: 
https://snys.nl/index.php?page=en/tutor/sock_08_oorx_client.html 
 ) , as have 
Regina-Rexx (ANSI-Standard), NetRexx (Java classes as output)  and NetRexx 
Pipelines (if you are a CMS person). These all eventually get to the platform’s 
network stack socket implementation, but in a more pleasant way.

Best regards,

René.

> On 5 Jan 2022, at 13:56, Bob Bridges  wrote:
> 
> If you don’t understand the question then it's doubtless because I don't 
> either.  Let me explain more fully, and maybe it'll show what part of my 
> ignorance needs to be filled in, so to speak.
> 
> I'm familiar with a number of 3GL programming languages, but even after I 
> learned about sockets (from studying and using the REXX calls mentioned 
> below) I pictured sockets as something exotic and complicated happening below 
> my grasp, in the bowels of the OS; I needed (so I thought) an interface to 
> connect to them.  (This is why I mentioned assembler earlier.)  Thus the 
> value of the REXX functions for sockets; it enabled me to get to them.
> 
> My assumption was therefore that if I'm trying to implement some socket 
> communications on my PC, TSO-REXX wouldn't meet my need and I'd have to write 
> in a different language -- VBSCript, say -- and for that would need a 
> different set of function calls, designed not for REXX but for something 
> else, either for VBS specifically or something more general that 
> object-oriented languages could use.
> 
> I guess you're saying below that socket calls are built into the C language, 
> or more likely are part of a standard library of C functions.  I once bought 
> a C compiler, but was dismayed by the amount of code that has to go into 
> every program just to get started.  (I'm prejudiced by the simplicity of REXX 
> and PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
> program.)  So I dropped the matter and never got further.  No doubt I'll get 
> back to C eventually.  Meanwhile, is there a OO class (for example) that can 
> interact with object-oriented languages such as VBS, Jscript, ooREXX etc?  Or 
> is it time for me to buy a C compiler (again).  Or maybe VB Studio, or 
> whatever it's called?
> 
> (I don't really care for VB as a language; I love it in one way because it's 
> the language in which I first finally got what OO programming is about, but I 
> recognize that there must be languages that do the same thing more easily.  
> Is it time for me to acquire and learn Perl?  Python?  Ruby?  Java?)
> 
> ---
> Bob Bridges, robhbrid...@gmail.com , cell 336 
> 382-7313
> 
> /* If you are ambushed, your survival depends entirely on the inadequacy of 
> your attacker.  -Damon Fay, law-enforcement officer and tae kwon do 
> instructor */
> 
> -Original Message-
> From: IBM Mainframe Discussion List  > On Behalf Of Charles Mills
> Sent: Wednesday, January 5, 2022 12:13
> 
> Not sure I am exactly getting the question.
> 
> In C at least, sockets are sockets are sockets. I did a whole lot of 
> multi-platform C socket code and almost EXACTLY the same code will run 
> Windows, Linux or legacy MVS. There is one additional call at startup that 
> you need in Windows, and a few obscure functions are platform-dependent. But 
> if you download a generic C sockets client/server demo program from the Web 
> it will almost certainly run unmodified on Linux or MVS.
> 
> I'm not trying to sell some language here; just relating the facts as I see 
> them.
> 
> Here for example is the documentation for the socket() function on MVS, Linux 
> and Windows respectively:
> 
> MVS: int socket(int *domain, int type, int protocol);
> 
> The socket() function creates an endpoint for communication and returns a 
> socket descriptor representing the endpoint.
> 
> Linux: int socket(int domain, int type, int protocol);
> 
> socket() creates an endpoint for communication and returns a file descriptor 
> that refers to that endpoint.
> 
> Windows:
> 
> SOCKET WSAAPI socket(
>  [in] int af,
>  [in] int type,
>  [in] int protocol
> );
> 
> The socket function creates a socket that is bound to a specific transport 
> service provider.
> 
> (Between you and me, "SOCKET WSAAPI" = int.)
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU 
> ] On Behalf Of Bob Bridges
> Sent: Wednesday, January 5, 2022 8:19 AM
> 
> That looks right, yes.  I have a PDF copy in my library.  However I don't 
> think I ever saw it in this context; maybe I'll benefit by reading elsewhere 
> in the "z/OS Communications Server" library, now that you've pointed me to it.
> 
> If I do, I may find the answer to my question.  But probably not; this is 
> about z/OS.  What I'm asking about is what calls exist to do the same sort of 
> operations

Re: Sockets?

2022-01-05 Thread Bob Bridges
If you don’t understand the question then it's doubtless because I don't 
either.  Let me explain more fully, and maybe it'll show what part of my 
ignorance needs to be filled in, so to speak.

I'm familiar with a number of 3GL programming languages, but even after I 
learned about sockets (from studying and using the REXX calls mentioned below) 
I pictured sockets as something exotic and complicated happening below my 
grasp, in the bowels of the OS; I needed (so I thought) an interface to connect 
to them.  (This is why I mentioned assembler earlier.)  Thus the value of the 
REXX functions for sockets; it enabled me to get to them.

My assumption was therefore that if I'm trying to implement some socket 
communications on my PC, TSO-REXX wouldn't meet my need and I'd have to write 
in a different language -- VBSCript, say -- and for that would need a different 
set of function calls, designed not for REXX but for something else, either for 
VBS specifically or something more general that object-oriented languages could 
use.

I guess you're saying below that socket calls are built into the C language, or 
more likely are part of a standard library of C functions.  I once bought a C 
compiler, but was dismayed by the amount of code that has to go into every 
program just to get started.  (I'm prejudiced by the simplicity of REXX and 
PL/1, and dislike all the verbiage that's necessary even to start a COBOL 
program.)  So I dropped the matter and never got further.  No doubt I'll get 
back to C eventually.  Meanwhile, is there a OO class (for example) that can 
interact with object-oriented languages such as VBS, Jscript, ooREXX etc?  Or 
is it time for me to buy a C compiler (again).  Or maybe VB Studio, or whatever 
it's called?

(I don't really care for VB as a language; I love it in one way because it's 
the language in which I first finally got what OO programming is about, but I 
recognize that there must be languages that do the same thing more easily.  Is 
it time for me to acquire and learn Perl?  Python?  Ruby?  Java?)

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* If you are ambushed, your survival depends entirely on the inadequacy of 
your attacker.  -Damon Fay, law-enforcement officer and tae kwon do instructor 
*/

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Wednesday, January 5, 2022 12:13

Not sure I am exactly getting the question.

In C at least, sockets are sockets are sockets. I did a whole lot of 
multi-platform C socket code and almost EXACTLY the same code will run Windows, 
Linux or legacy MVS. There is one additional call at startup that you need in 
Windows, and a few obscure functions are platform-dependent. But if you 
download a generic C sockets client/server demo program from the Web it will 
almost certainly run unmodified on Linux or MVS.

I'm not trying to sell some language here; just relating the facts as I see 
them.

Here for example is the documentation for the socket() function on MVS, Linux 
and Windows respectively:

MVS: int socket(int *domain, int type, int protocol);

The socket() function creates an endpoint for communication and returns a 
socket descriptor representing the endpoint.

Linux: int socket(int domain, int type, int protocol);

socket() creates an endpoint for communication and returns a file descriptor 
that refers to that endpoint.

Windows:

SOCKET WSAAPI socket(
  [in] int af,
  [in] int type,
  [in] int protocol
);

The socket function creates a socket that is bound to a specific transport 
service provider.

(Between you and me, "SOCKET WSAAPI" = int.)

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 8:19 AM

That looks right, yes.  I have a PDF copy in my library.  However I don't think 
I ever saw it in this context; maybe I'll benefit by reading elsewhere in the 
"z/OS Communications Server" library, now that you've pointed me to it.

If I do, I may find the answer to my question.  But probably not; this is about 
z/OS.  What I'm asking about is what calls exist to do the same sort of 
operations on other platforms than the mainframe and from other languages than 
REXX.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Horein
Sent: Wednesday, January 5, 2022 06:53

I believe these are the socket functions Bob is referring to:
https://www.ibm.com/docs/en/zos/2.5.0?topic=interface-runtime-functions

--- On Wed, Jan 5, 2022 at 12:15 AM Itschak Mugzach < 
0305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:
> The function name is "HTTP/HTTPS protocol enabler". It supports 
> several languauges, including rexx and works great.
>
> --- On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges  wrote:
> > Maybe not the best place to ask, but I've heard folks here mention 
> > writing interfaces using sockets.  Now, someone sent me a manual on 
> > 

Re: Sockets?

2022-01-05 Thread Charles Mills
Not sure I am exactly getting the question.

In C at least, sockets are sockets are sockets. I did a whole lot of 
multi-platform C socket code and almost EXACTLY the same code will run Windows, 
Linux or legacy MVS. There is one additional call at startup that you need in 
Windows, and a few obscure functions are platform-dependent. But if you 
download a generic C sockets client/server demo program from the Web it will 
almost certainly run unmodified on Linux or MVS.

I'm not trying to sell some language here; just relating the facts as I see 
them.

Here for example is the documentation for the socket() function on MVS, Linux 
and Windows respectively:

MVS:

int socket(int *domain, int type, int protocol);

The socket() function creates an endpoint for communication and returns a socket
descriptor representing the endpoint.

Linux:

int socket(int domain, int type, int protocol);

socket() creates an endpoint for communication and returns a file
descriptor that refers to that endpoint.

Windows:

SOCKET WSAAPI socket(
  [in] int af,
  [in] int type,
  [in] int protocol
);

The socket function creates a socket that is bound to a specific transport 
service provider.

(Between you and me, "SOCKET WSAAPI" = int.)

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Wednesday, January 5, 2022 8:19 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sockets?

That looks right, yes.  I have a PDF copy in my library.  However I don't think 
I ever saw it in this context; maybe I'll benefit by reading elsewhere in the 
"z/OS Communications Server" library, now that you've pointed me to it.

If I do, I may find the answer to my question.  But probably not; this is about 
z/OS.  What I'm asking about is what calls exist to do the same sort of 
operations on other platforms than the mainframe and from other languages than 
REXX.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Our prayers may be awkward. Our attempts may be feeble.  But since the power 
of prayer is in the One who hears it and not in the one who says it, our 
prayers do make a difference.  -Max Lucado */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Horein
Sent: Wednesday, January 5, 2022 06:53

I believe these are the socket functions Bob is referring to:
https://www.ibm.com/docs/en/zos/2.5.0?topic=interface-runtime-functions

--- On Wed, Jan 5, 2022 at 12:15 AM Itschak Mugzach < 
0305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:
> The function name is "HTTP/HTTPS protocol enabler". It supports 
> several languauges, including rexx and works great.
>
> --- On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges  wrote:
> > Maybe not the best place to ask, but I've heard folks here mention
> > writing interfaces using sockets.  Now, someone sent me a manual on the 
> > socket functions that could be used with REXX, and I successfully 
> > wrote a client/server pair for use on the mainframe, just as a proof 
> > of concept for a project that in the end was never executed.  I enjoyed
> > the experience, and captivated by the possibilities.
> >
> > But it was a set of calls for use only with REXX.  I hear other 
> > folks here talk about sockets, and I'm wondering what else there is that
> > I can use on other platforms.  Someday I'll learn assembler for Windows,
> > but until I do, are there other tools available?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Bob Bridges
That looks right, yes.  I have a PDF copy in my library.  However I don't think 
I ever saw it in this context; maybe I'll benefit by reading elsewhere in the 
"z/OS Communications Server" library, now that you've pointed me to it.

If I do, I may find the answer to my question.  But probably not; this is about 
z/OS.  What I'm asking about is what calls exist to do the same sort of 
operations on other platforms than the mainframe and from other languages than 
REXX.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Our prayers may be awkward. Our attempts may be feeble.  But since the power 
of prayer is in the One who hears it and not in the one who says it, our 
prayers do make a difference.  -Max Lucado */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Horein
Sent: Wednesday, January 5, 2022 06:53

I believe these are the socket functions Bob is referring to:
https://www.ibm.com/docs/en/zos/2.5.0?topic=interface-runtime-functions

--- On Wed, Jan 5, 2022 at 12:15 AM Itschak Mugzach < 
0305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:
> The function name is "HTTP/HTTPS protocol enabler". It supports 
> several languauges, including rexx and works great.
>
> --- On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges  wrote:
> > Maybe not the best place to ask, but I've heard folks here mention
> > writing interfaces using sockets.  Now, someone sent me a manual on the 
> > socket functions that could be used with REXX, and I successfully 
> > wrote a client/server pair for use on the mainframe, just as a proof 
> > of concept for a project that in the end was never executed.  I enjoyed
> > the experience, and captivated by the possibilities.
> >
> > But it was a set of calls for use only with REXX.  I hear other 
> > folks here talk about sockets, and I'm wondering what else there is that
> > I can use on other platforms.  Someday I'll learn assembler for Windows,
> > but until I do, are there other tools available?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Charles Mills
I think of the native "home" of sockets being in the C language and library. If 
you do a basic search you will find simple client and server examples on the 
Internet. I don't want to start a language war but C is available on nearly 
every platform and is kind of a halfway point between assembler and high level 
languages.

I don't think anyone other than the most hardcore write assembler "for 
Windows." All but the very, very lowest level development for Windows is done 
in C or one of the .NET languages (C#, VB, etc.) or one of the scripting 
languages. I have written 80x86 assembler but it was a long time ago. My 
background was 360 assembler and it was no trouble picking up Intel assembler 
-- but as I say, no real reason to bother at this point.

Windows does not use the control block- and macro-based approach to API 
services that MVS has always used. Pretty much everything is a standard call. 
So you can do everything in C.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Tuesday, January 4, 2022 9:04 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Sockets?

Maybe not the best place to ask, but I've heard folks here mention writing 
interfaces using sockets.  Now, someone sent me a manual on the socket 
functions that could be used with REXX, and I successfully wrote a 
client/server pair for use on the mainframe, just as a proof of concept for a 
project that in the end was never executed.  I enjoyed the experience, and 
captivated by the possibilities.

But it was a set of calls for use only with REXX.  I hear other folks here talk 
about sockets, and I'm wondering what else there is that I can use on other 
platforms.  Someday I'll learn assembler for Windows, but until I do, are there 
other tools available?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Saddam Hussein, having campaigned under the catchy populist slogan ''A Vote 
For Saddam Is A Vote for Not Getting Both Your Feet Chopped Off Without 
Anesthetic,'' is re-elected with a solid 127 percent of the popular vote, which 
includes several thousand votes apparently cast via Internet from Broward and 
Miami-Dade counties.  -from Dave Barry's 2002 "Year in Review" */

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Rupert Reynolds
Just a thought... I'm not sure how much experience you have with sockets in
general, but if you want a high level view, languages such as Python make
that quicker on Windows and Linux. I wrote a simple Python script to
process print output from MVS under Hercules and I remember it being fairly
painless. I also played in Rexx, but somehow I felt sockets were an awkward
fit. Perhaps I should have tried harder.

And if you want to work at a lower level, I'd have thought that gcc under
Linux is a more natural way, with more working examples to view online.

Assembly under Windows involves a lot of extra work, and to my mind isn't
worth it, compared with using assembly under MVS/ESA, which was a thing of
beauty where almost everything behaved as expected from reading the manuals.

Roops

On Wed., Jan. 5, 2022, 05:04 Bob Bridges,  wrote:

>  Someday I'll learn assembler for Windows, but until I do, are there other
> tools available?
>
> ---
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-05 Thread Steve Horein
I believe these are the socket functions Bob is referring to:
https://www.ibm.com/docs/en/zos/2.5.0?topic=interface-runtime-functions



On Wed, Jan 5, 2022 at 12:15 AM Itschak Mugzach <
0305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:

> The function name is "HTTP/HTTPS protocol enabler". It supports several
> languauges, including rexx and works great.
>
> ITschak
>
> *| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
> Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux
> and IBM I **|  *
>
> *|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
> *Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il  **|*
>
>
>
>
>
> On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges  wrote:
>
> > Maybe not the best place to ask, but I've heard folks here mention
> writing
> > interfaces using sockets.  Now, someone sent me a manual on the socket
> > functions that could be used with REXX, and I successfully wrote a
> > client/server pair for use on the mainframe, just as a proof of concept
> for
> > a project that in the end was never executed.  I enjoyed the experience,
> > and captivated by the possibilities.
> >
> > But it was a set of calls for use only with REXX.  I hear other folks
> here
> > talk about sockets, and I'm wondering what else there is that I can use
> on
> > other platforms.  Someday I'll learn assembler for Windows, but until I
> do,
> > are there other tools available?
> >
> > ---
> > Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
> >
> > /* Saddam Hussein, having campaigned under the catchy populist slogan ''A
> > Vote For Saddam Is A Vote for Not Getting Both Your Feet Chopped Off
> > Without Anesthetic,'' is re-elected with a solid 127 percent of the
> popular
> > vote, which includes several thousand votes apparently cast via Internet
> > from Broward and Miami-Dade counties.  -from Dave Barry's 2002 "Year in
> > Review" */
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Sockets?

2022-01-04 Thread Itschak Mugzach
The function name is "HTTP/HTTPS protocol enabler". It supports several
languauges, including rexx and works great.

ITschak

*| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux
and IBM I **|  *

*|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
*Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il  **|*





On Wed, Jan 5, 2022 at 7:04 AM Bob Bridges  wrote:

> Maybe not the best place to ask, but I've heard folks here mention writing
> interfaces using sockets.  Now, someone sent me a manual on the socket
> functions that could be used with REXX, and I successfully wrote a
> client/server pair for use on the mainframe, just as a proof of concept for
> a project that in the end was never executed.  I enjoyed the experience,
> and captivated by the possibilities.
>
> But it was a set of calls for use only with REXX.  I hear other folks here
> talk about sockets, and I'm wondering what else there is that I can use on
> other platforms.  Someday I'll learn assembler for Windows, but until I do,
> are there other tools available?
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* Saddam Hussein, having campaigned under the catchy populist slogan ''A
> Vote For Saddam Is A Vote for Not Getting Both Your Feet Chopped Off
> Without Anesthetic,'' is re-elected with a solid 127 percent of the popular
> vote, which includes several thousand votes apparently cast via Internet
> from Broward and Miami-Dade counties.  -from Dave Barry's 2002 "Year in
> Review" */
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN