et up properly. Is that a reason not to use them?
Andrew Rowley
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
u are
talking about a routine executed by a running program, I would expect
Java to be close to C. (Certainly not 3 orders of magnitude different.)
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / ar
nce should be much better than Rexx if you have significant
numbers of records. I wouldn't consider 5 million records a large
number, unless they are particularly large records.
Andrew Rowley
Black Hill Software
--
Fo
ut it does get
complex when it is extended to do other tasks.
There seem to be various "tricks" used which work, but are not exactly
intuitive.
Andrew Rowley
Black Hill Sofware
--
For IBM-MAIN subscribe / sign
On 9/09/2022 11:20 pm, John McKown wrote:
I just tested this out at work using Java 8 instead of Java 7. Java 8
reports that it will not run on a z9BC. "Processor detected (z9) does not
support instruction MVGHI" .
Can you just run it on another platform?
Andrew Rowley
Black Hil
switching processors was justified. it probably also depends on
whether the CP is full speed - a slower CP probably makes it switch to a
zIIP earlier.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff
between zIIP and CP.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
On 26/10/2022 8:47 am, Steve Thompson wrote:
So this is what I want to do:
[already set to the correct location in windows]
get '/u/abc/some.java.file.jar' some.java.file.jar
Try without the quotes? I think the quotes might indicate a dataset
rather than HFS file.
--
Andrew Ro
t out.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
l.com
port 443. A certificate error would show that the certificate is being
validated.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.u
s that.
Pasting is more complicated in that there are areas you can't write to.
That's more a design issue though - how you handle multiple lines, do
you wrap etc.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN s
press
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
z/OS.
This seems to be surprisingly difficult - IBM doesn't seem to have
considered round trip capability when they wrote the FTP functions.
(Although I haven't tried it with a RECFM U transfer.)
--
Andrew Rowley
Black Hil
have looked into it a few times, but get as far as "significant
indentation" and "no variable declarations" and decide it's not
something I want to use. Is it a sign of weakness to ask the compiler to
help me avoid bugs?
--
And
ave a ZonedDateTime
you can't assign/compare a LocalDateTime without specifying the time
zone. So the class designers can protect you form a whole heap of common
errors, and flag them before the program starts.
--
Andrew Rowley
Black Hil
to use an existing library or write your own.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
e language that is most available makes sense.
But my question was: Why Python? What are the reasons for using Python
rather than e.g. Java?
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / arch
less restricted on other platforms...
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
of zEDC with/without the CICS
compression? I have limited samples, but it looks like zEDC might
compress data better if it has been already been compressed by CICS. Of
course, there is the CPU time to consider.
I think I/O can also be much faster for zEDC compressed data.
--
Andrew Rowley
Black
of
Rexx, but I hate to go back because it is so much easier to get things
done in Java.
Rexx is good for small tasks where the overhead of starting the JVM is
significant, or where there isn't functionality in Java. Otherwise, Java
is my c
side-track. On the other hand, I think zEDC has
to decompress and recompress the data for SMF dump etc. so CICS
compression might save some overhead for SMF housekeeping type
operations, reducing the amount of data going through zEDC?
--
Andrew Rowley
Black Hill Sof
and run them on z/OS using
Java :-)
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
aster.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
e language you write it without thinking and avoid the traps, but the
rules are there nonetheless.
Java is relatively straightforward, and shares many rules with other
languages - C++, C# etc. I'm not saying Java is perfect - it has its own
traps (int vs Integer etc) but I find it a much easi
DD *
CLASSPATH=/home/andrewr/java/lib/twilio-10.1.3-jar-with-dependencies.jar
TWILIO_ACCOUNT_SID=xx
TWILIO_AUTH_TOKEN=
//SYSOUT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
--
Andrew Rowley
!
I'm not trying to be negative about Rexx. I still use it when
appropriate. But I think z/OS people make a mistake ignoring Java. It's
fast (e.g. 1GB/s for my CICS SMF processing), makes powerful features
available (e.g. the Twilio example to send SMS messages from z/OS) an
never been able to see anything particularly useful.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
would use it?
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
"DELETE " || foo
seems much clearer about exactly what is happening/expected, which are
variables and which are (expected to be) constant etc.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff
On 23/04/2024 11:55 am, Paul Gilmartin wrote:
On Tue, 23 Apr 2024 10:59:47 +1000, Andrew Rowley wrote:
...
To me, it is much clearer to be explicit, including the concatenation, e.g.
"DELETE " || foo
That overkill is apt to confuse a POSIX shell partisan who would
see the blank
ead the details here:
https://www.blackhillsoftware.com/news/2024/04/29/using-zedc-compression-for-smf-data/
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
On 8/05/2024 7:40 am, Wayne Bickerdike wrote:
EasySMF. Andrew Rowley may chip in here.
Thanks, yes EasySMF is another option.
There is a Windows based component with canned reports, and Java SMF API
for customized reports that can run on z/OS.
I'm happy to work with you to reproduce
re new tools, e.g. I have been experimenting with Zowe CLI. It's
worth trying for file transfer and can create new datasets, PDS etc. It
only requires z/OSMF on the mainframe, i.e. nothing to install there -
only configuration.
--
Andrew Rowley
Black Hi
could have hundreds of instances
running from the same CSI and presumably with the same UUID.
Probably the easiest way is to generate a UUID for an instance yourself
as part of your product installation.
--
Andrew Rowley
Black Hill Software
tmstp": "2023-07-24T15:04:40.61",
"dcuvers": 2,
"dscacces": "NO_PREF",
"dscavail": "DONTCARE",
"dscdate": "2021-09-16",
"dscdesc": "STORAGE CLASS FOR DB2 V12",
"dscdfacc": true,
"dscdfavl": true,
"dscdirb": "DONTCARE",
"dscflag2": 128,
"dscflag3": 64,
"dscflags": 64,
"dscname": "DBCGSC",
"dscpavs": true,
"dscseqb": "DONTCARE",
"dsctime": "10:11:00",
"dscuser": "IBMUSER"
},
...
This works for all DCOLLECT record types (and SMF record types supported
by EasySMF) .
You can also do filtering by various fields, calculations etc - whatever
is required.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
le
tested the total CPU time was over 1 minute, but only 2 hundredths of a
second appeared in the main job SMF record.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
sen
re or long after the other processes so
it can be difficult to relate them in the SMF data.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.u
with SMF30WID = OMVS. IEFACTRT could presumably
process them, but there are potentially thousands per second.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
on is grouped together rather than
generating individual OMVS records...
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message:
table overflowed?
Compiled languages also solved this problem a long time ago e.g. vector
in C++.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists
t) in note pad!!
If you're trying to write Java outside of an IDE you're doing it the
extremely hard way. It's worth learning the IDE - everything else
becomes much easier.
If you have any questions about Java on z/OS let me know - I'm happy to
help.
--
Andrew R
me systems could also be a challenge, if all your
systems are down. Time to launch your DR systems perhaps - but what if
the offending product is part of the real time data mirrored to the DR
site? And every customer is ringing the DR providor and declaring disaster?
--
Andrew Rowley
Black Hil
y have multiple systems,
there will always be an LPAR available to use for recovery. Maybe not
always the case...
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
-z-os/
Andrew Rowley
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
nd what they provide,
they are very useful.
https://www.ibm.com/docs/api/v1/content/SSA3RN_11.0/com.ibm.java.api.11.doc/com.ibm.jzos/ibm.jzos/module-summary.html
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / sign
On 31/08/2024 4:09 am, Steve Beaver wrote:
There is so much JAVA can’t do that we do on MVS like breathing
Not really, there are a few things I wouldn't try (APF etc.) but it's
more the other way round...
--
Andrew Rowley
Black Hil
here is no guarantee that it will
always work. You might find that there are circumstances where you get
totally different data, or it fails completely.
Andrew Rowley
Black Hill Software
+61 413 302 386
On 21/11/2015 6:41, Paul Gilmartin wrote:
I shouldn't have implied "caller"
In answer to the original question, having SMP/E use the JAVA_HOME
environment variable would be the clean way. It would be nice if there
was somewhere you could set environment variables usable for any dubbed
process, rather than requiring a shell. /etc/environment maybe?
Andrew R
On 21/01/2016 15:00, Jack J. Woehr wrote:
Andrew Rowley wrote:
In answer to the original question, having SMP/E use the JAVA_HOME
environment variable would be the clean way.
http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.gim3000/java.htm?lang=en
Isn't
that there is no
easy way on z/OS to set an environment variable system-wide. Maybe that
horse has bolted, but I do think it is better to work towards common
standards rather than inventing yet another way z/OS is different to
everything else.
Andrew R
need assistance getting Java up and going, or
some sample reports doing time zone conversion.
Andrew Rowley
Black Hill Software
+61 413 302 386
On 3/02/2016 0:57, Ravi Gaur wrote:
Does somebody got a quick example of time conversion for SMF Records from GMT
to EST or any other timezone based on
urate benchmarks, they were tests to
get a basic feel for performance.)
Java is not as good as assembler, but I wouldn't call it abysmal. I have
ambitions to improve it although that may be difficult as most of the
time seems to be in the I/O routines.
Regards
Andrew Rowley
Black Hill Software
+
imezones to the date/times returned by the API. That will be
interesting, because it obviously does require a certain amount of
looking up rules.
Regards
Andrew Rowley
Black Hill Software
+61 413 302 386
--
For IBM-MAIN
On 5/02/2016 12:13, Tom Marchant wrote:
On Fri, 5 Feb 2016 10:15:41 +1100, Andrew Rowley wrote:
Java batch job, basic report:
CP time 0.9 s
+ zIIP time 2.4s
Is that normalized zIIP time or raw zIIP time?
And if raw, what level of kneecapping? That is, what model processor was it run
on?
On
something silly like that.
Andrew Rowley
Black Hill Software
+61 413 302 386
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
EasySMF probably has the information you are looking for. You can
download the 30 day trial and see:
https://www.blackhillsoftware.com/easysmf/
The information would be in the Dataset Activity report.
Regards
Andrew Rowley
Black Hill Software
+61 413 302 386
On 10/02/2016 22:06
nt.
GC can be a problem for interactive workloads where response time is
critical. In that case deterministic memory managment e.g. C++ might be
better. However, batch jobs are about the least likely workload to
suffer ill effects from regular "stop the world" GC.
Andrew Rowley
--
On 19/02/2016 05:15 PM, Timothy Sipples wrote:
Andrew Rowley wrote:
I will make the same comment I made last time this topic came up -
avoiding garbage collection is not usually a wise goal.
It depends on the workload(s). The point I made is that with the z13 and
z13s you have more such
On 11/03/2016 4:38, Paul Gilmartin wrote:
o Malware intrusion. To prevent that, a checksum transmitted over a separate
secure channel should suffice.
Or even better, design a delivery format for z/OS that can be digitally
signed...
--
Andrew Rowley
Black Hill Software
+61 413 302 386
In your initial question you showed path
/Service/usr/lpp/cobol/../../demo/oosample/Check.j
".." refers to the parent directory, so doesn't this resolve to
/Service/usr/demo/oosample/Check.j
//
Andrew Rowley
On 15/03/2016 2:41, venkat kulkarni wrote:
Here also its same /usr
fer to z/OS and it should work.
Andrew Rowley
--
Andrew Rowley
Black Hill Software
+61 413 302 386
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
he command which ends
as soon as the CLASSPATH= command ends. "export" makes it stick for
subsequent commands.
Adding $CLASSPATH to the start will add the jar to the end of any
existing definition instead of replacing it.
Andrew Rowley
On 16/03/2016 10:41, Janet Graff wrote:
Andre
t
so helpful if what you really want is to minimize total CPU consumed
e.g. batch on z/OS.
--
Andrew Rowley
Black Hill Software
+61 413 302 386
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to
blems, but it's a
good problem to have. It just means that if it can only get 5% CPU
instead of 50% it will run ~10 times as long. Total CPU time is a better
measure than CPU%.
--
Andrew Rowley
Black Hill Software
+61 413 302 386
-
e VM! ParallelScavenger,
ConcurrentScavenger and MarkingScheme which I assume is part of the
mark-and-sweep GC engine.
Half the time in GC sounds excessive. Which GC option (and Java version)
are you using? Gencon? There are verbose GC settings you can use to try
to figure out what is going o
results
would be. I think it would be very difficult to create an artificial
program with the same opportunities (or lack of) for optimization that
you would see in production code.
--
Andrew Rowley
Black Hill Software
a 5% total reduction over RecordReader, but the
time on CP was much greater. I have some other improvements to do in my
own code first but might revisit it later.
Regards
Andrew Rowley
--
Andrew Rowley
Black Hill Software
+61 4
On 01/04/2016 06:26 PM, Bill Woodger wrote:
Andrew, I don't think it would be difficult at all. Especially for ARCH 11,
there's some substantial differences in that example of what code would be
possible (with V5 or V6), so it will be interesting to see if the ABO takes
full advantage.
I'm n
va did any processing of the
records.
Regards
Andrew Rowley
On 01/04/2016 05:40 PM, David Crayford wrote:
Pretty close. I haven't tried it on a massive data set. The assembler
routine is for QSAM.
RECFM=VB ,LRECL=32756,BLKSIZE=32760 SPACE=(CYLS,(1500))
Assembler:
Program
va.time.LocalDate, CPU time to java.time.Duration etc.
At the moment I use the JZOS RecordReader and I would prefer to keep
using it rather than do my own JNI. It's useful to be able to say the
API is 100% Java.
Regards
Andrew Rowley
On 02/04/2016 08:48 AM, Kirk Wolf wrote:
I'm c
used?
I generally use e.g. Java HashMap, C# Hashtable for grouping so the data
doesn't need to be sorted. Do other common languages on z/OS provide
similar functions? (C++ I know.) Are there opportunities to use
programming language features to avoid sorts altogether?
And
ely
always too small quantities for something like DFSORT) and almost always
sort for presentation. Presentation is hopefully also too small
quantities for DFSORT.
It is an interesting idea though to use it to read data via the exits
without actually giving it back to DFSORT to process.
--
Andr
arning." Or,
maybe, just plain NIH syndrome (Not Invented Here). I mean, have you read
the screams here about the latest COBOL requiring PDSEs for their
executable output? You'd think that they'd been told to convert their COBOL
to FORTRAN.
--
Andrew Rowley
Black Hill Software
+6
g. It was just
speculation about whether Java etc. on z/OS provided opportunity to
reduce CPU by implementing better algorithms, prompted by the comment
about the amount of batch DFSORT people run.
--
Andrew Rowley
Black Hill Software
+61 413 302 386
--
On 05/04/2016 01:20 AM, Tom Marchant wrote:
On Mon, 4 Apr 2016 16:45:37 +1000, Andrew Rowley wrote:
A Hashmap potentially allows you to read sequentially and match records
between files, without caring about the order.
Can you please explain what you mean by this? Are you talking about using
RY to establish
the starting point for the DUMP operation, then use INCLUDE to _explicitly_
specify the files I want. The available documentation states:
"DFSMSdss does not provide wildcard support when processing UNIX files."
which, for my purposes, is a complete show-stopper.
--
Andrew R
the way I hoped.
It does seem to be less useful than it could have been. I wonder what
the thinking was when it was being designed?
Andrew Rowley
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
t the units.
There are methods provided to extract the record sections.
Some sample reports to demonstrate the use are available on Github:
https://github.com/BlackHillSoftware/easysmf-samples
--
Andrew Rowley
Black Hill Software
-
://www.blackhillsoftware.com/news/2019/08/27/comparing-bash-and-bin-sh-on-z-os/
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the
n't a criticism of bash. It is very
useful to have bash available, and it makes sense to minimize the
changes for the z/OS port to make it easier to keep up with changes in
the mainstream. Whereas /bin/sh has probably been optimized for z/OS.
--
Andrew Rowley
Black Hil
thout
_BPX_SHAREAS=YES the SMF data showed most of the elapsed time was due to
the setfacl command.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.u
mpletely - I guess it is
built into the shell.
When I tried with _BPX_SHAREAS all the individual steps for the shell
commands disappeared, except for the SH step
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe
er COZBATCH, PS consistently showed the cut command which is part of
the pipe. Under BPXBATCH, the only command which seemed to show up was
setfacl. Presumably that is because that was the command where most of
the time was spent.
--
Andrew Rowley
Blac
much sense - maybe more - that the last piped
command runs in the original address space, not the first.
I didn't see the 2 breakit.sh PS entries when running under BPXBATCH -
only COZBATCH. Maybe it is fast enough that I was unable to catch it.
And
to the confusion.
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
menting an incompatible variation, less so.
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
ot;
Call me a pedant, but if the record length information is not where it
is supposed to be IBM is not following RFC 4506.
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
nary files.
I am a bit surprised it is required for git. I would have expected that
git would need a binary connection, without EBDCIC-ASCII conversion. If
conversion is being performed I would be worried whether the data
transfer was reliable, even if it appeared to be working.
--
Andrew Ro
esting much more complicated. It seems like it would be much better to
do the translation outside of an UNTERSE implementation, and have the
compression code give you back exactly the same data that was compressed.
Andrew Rowley
Black Hill Software
-
LRECL for fixed RECFM, and it's
impossible for variable records because the original implementation
throws away the record length information.
However, the limitations of EBCDIC to ASCII translation mean that if you
do the translation, it can't really be considered lossless (de)comp
On 14/03/2021 9:32 am, Andrew Rowley wrote:
On 14/03/2021 2:32 am, Robert Prins wrote:
Why hasn't it been released as open source under the same license,
after all it's just decompression code, and given the note in the
User's Guide,
After a discussion with Mario at SHAR
Record format . . . : FB
Record length . . . : 80
Block size . . . . : 27920
1st extent megabytes: 1000
Secondary megabytes : 1000
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access in
rfect, but
IND$FILE isn't perfect either.
It is fast... it can compress data in transit, so for transfer of SMF
data (my purpose) is about 10x faster than FTP if bandwidth is the
limiting factor.
--
Andrew Rowley
Black Hil
already be there in z/OSMF, and there is pretty much zero
chance they will be added to IND$FILE.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@list
com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1/en/homepage.html
. As always, see the z/OS Internet Library at
https://www.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosInternetLibrary
for links to all releases and formats of the z/OS content.
-Sue Shumway
--
Andrew Ro
efulness but decreased the astonishment by 90%.
The good news is that the syntax probably allows an easy fix in a new
version: a new value such as SYMBOLS=(JCLCNVT) where symbols are
substituted at the same time with the same logic as the rest of the JCL.
Please IBM?
--
Andrew Rowley
Black Hil
ht need to be supplied for the various proc steps.
If I have
//DD1 DD DISP=(OLD,DELETE),UNIT=SYSDA,VOL=SER=&VVV
I end up with multiple copies of that JCL statement with different
values. I have no problem with multiple copies of the SYSIN, it is what
I expected.
--
Andrew
ds to be before the PROC, the
job needs to know exactly which variables the PROC needs exported, which
negates some of the convenience of abstracting stuff into a PROC.
The best solution seems to be SET VAR=&VAR in the PROC.
--
Andrew Rowley
Black Hill Software
+61 41
with
JCL because you don't get one allocation until you get them all.
The connection between program (DDNAME) and resources (dataset etc.) is
nice too. In something like Rexx you need to pass the names as arguments
(JCL is much better than one long command line) or hard code them.
--
And
q-iyVlkZQ2
It looks like the biggest hurdle might be getting 100 people with 200+
reputation on other Stack Exchange sites.
--
Andrew Rowley
Black Hill Software
--
For IBM-MAIN subscribe / signoff / archive access instruct
201 - 300 of 464 matches
Mail list logo