MVS TOOLS AND TRICKS OF THE TRADE DECEMBER 2003 Sam Golob MVS Systems Programmer P.O. Box 906 Tallman, New York 10982 Sam Golob is a Senior Systems Programmer. He also participates in library tours and book signings with his wife, author Courtney Taylor. Sam can be contacted at sbgolob@cbttape.org. Information about the CBT MVS Tapes can be found on the web, at http://www.cbttape.org. EVERYBODY'S DIFFERENT Once upon a time, in the long distant pre-Internet past, I had a very long daily commute to work--about 70 miles or more each way. I did it for almost seven years. My boss and I had an informal arrangement, that I could come in late and work late, to avoid the rush hour and not make a bad situation worse. The place was also trying to stay on the lowest budget possible, because of frequent high-level outsourcing attempts on our data center. Because of the company's needs, my boss also allowed me to visit friends in other data centers that were on my way to work, to negotiate with them for free software tools that they might have. Of course I had to carry tapes then, and go by car. Electronic networking was nonexistent between different companies in those years. Since I would visit many different people, I would have a chance to sit behind them and watch them work for a while. I noticed one common denominator. Although MVS everywhere is approximately the same operating system, there were always some things that the other person could do better than I could. And there would be other things that I could do better than they could. I would try to learn from the things that the other person could do better. And I would also try to teach the other person some of my own stronger points, in the limited time that I had there. It always seemed to me, that the differences were the commonality. The one constant condition between all the people, was that everybody was different. My point today is to show why this is good, and to teach us how to take advantage of a good thing. WORKING PATTERNS When somebody is new at a job, he or she wants to succeed, and is nervous to make sure the job will be done right. Not sure in the position, the person is anxious to learn everything possible. Advice from more experienced people is eagerly accepted and absorbed. As the person becomes more comfortable in the job, the patterns become more stable as he or she settles into the routine. More of the same things are done over and over. Advice from others is not as easily taken or absorbed. Together with the establishment of working patterns, there also tends to grow an attitude of: "I know how to do this. You don't have to tell me." It's a rare person who is smart enough to keep an open mind once he is already settled. But smart people tend to learn by experience. And even though they know how to do their job, they also know that it's a good practice to keep your mind open to new possibilities and creativity. I've noticed that when it comes to using MVS tools, people's patterns tend to be very similar to that. In order to do a certain job, you may have to learn to use a certain tool. Once you know how, there's a tendency not to want to use another tool that does nearly the same thing, even though the second tool does it better. Again, a smart person will still keep his or her mind open, ready to learn more. The second tool can get the job done twice (or fifty times) as fast. The smart person will change. The others will not. Of course, if you're very frustrated with the first tool, and you see a second tool that is easier to use while doing more, then there's a motivation to change. You've come to appreciate what that second tool can do, through your frustration with using the first tool. And then you switch. That's why I nearly always use TSO Fullscreen ZAP from File 134 of the CBT Tape collection, rather than AMASPZAP from IBM. So the truth is that most of the time, once they're established in their patterns, people need to be kicked in the tail in order to change. Many people will wait for their bosses to do the kicking. But smart people will kick themselves in the tail, because they have a self-motivation to always improve and learn more. I've noticed that many MVS systems programmers are smart in this way. MVS systems programmers tend to be a clever sort, because in order to do this job, you have to constantly exercise creativity in some form or other, nearly every working day. So I've seen a tad more willingness to change among systems programmers, than among most other people. DIFFERENT CIRCUMSTANCES In little shops, the systems programmer tends to be a jack of all trades, and a master of many (if he's been there for a long time). In large shops, the labor is divided, and even very experienced systems programmers who work there, tend to be more restricted in the scope of their duties. But in a big place, there are a lot of other experienced people to talk to. This pretty much sums up the circumstances. Mid-size places are half-way in between. Even though MVS is nearly the same everywhere, the tasks that we do are often reflected by the equipment that the shop has. For example, if the place has STK tape silos or other automated tape libraries, then at least some of the people are in charge of making sure they work right. The same goes for any other equipment which affects the computing. And the equipment dictates the specialized tasks that one person has to master, while others have to master other things. As a result, it comes out that even two MVS sysprogs in the same place will get widely different experience. And the experience of two sysprogs in different places will most likely be even more different than that. So in facing their circumstances, our clever and creative MVS sysprogs often have to adjust. Different circumstances push people's creative juices in different directions, to develop their own techinques. Not only that, but some of them actually write their own program tools so they can do their specialized jobs better. It's usually nice not to have to re-invent the wheel. So if you can use a free tool that someone else created, that's a big plus. Where can you get "other people's free tools?" For one place, you can go to the large CBT Tape collection of free tools and utilities, which dates back to 1975 and which is now accessible through the web. Another place is the big Xephon collection of tools that are more than two years old, are which available for free. (Many people don't know that.) Xephon's tool collection can be found on the web at www.xephon.com . I've downloaded some of these free tools from Xephon and found them very useful. If you think about it, you'll realize that such a divergent collection of utility programs could only have arisen from people having to do widely different tasks, even in the same MVS shop, and certainly when they worked in different shops. Setting up MVS isn't like setting up a punch machine. If you work the punch machine in one place, you can probably work a similar machine anywhere, with little extra training. But MVS is so large, and it has such flexibility, and it can be connected to so many different types of equipment, that servicing all these different phases of MVS really presents a different picture. There's simply too much learning that has to be done, and too little time. So you have to rely on other people's work, and you are forced to keep your own mind open. GETTING PRACTICAL Andrew Armstrong is a systems programmer, but he does things that I never have. Andrew has (thus far) contributed four separate packages that he wrote, to the CBT Tape collection of free MVS software. Two of the packages deal with TCP/IP or networking. (These are CBT Tape Files 628 and 629.) One of them is an add-on to Levi Ray and Shoup's VPS printing package so you can "produce spectacular full-color separator pages" and do several other extra things with VPS. (This is on CBT Tape File 640.) And the fourth is an XML parser written in REXX (on File 647). I'll now ask you to please ask yourself this question: "Does my MVS experience closely match Andrew's?" I'd bet that in more than 98 out of 100 cases, the answer is "no". But I'll ask you another question. "Do you think that there are more than 100 people out in the world who can benefit directly from Andrew's work?" And the truth be known, I'm sure that the answer would be a resounding "yes". So you can see it's good that everybody's different. I'll bring this thought home a bit better. Let's say that there were fifty different people, somewhere in the world, who are doing almost the same job that Andrew Armstrong does. My question now is: "Will the result of all these people having nearly the same experience as Andrew, be the same?" Again, the answer is a clear "no", and for several obvious reasons. First, Andrew used his experience to write new tools that help him do his job. Not everybody (even doing the same job) has the same program writing skills that Andrew has. And even if they had similar programming skills to Andrew, the programming design and their attention to detail would be different. So the results, even if they wrote their own programs, would never be the same. And there's another factor, even more important. It's obvious to me that Andrew Armstrong is a public-minded person. Out of a random fifty people that you know, how many of them are public-minded enough to share their own work, so that other people can benefit from it? Only you alone can answer that one. If the number is more than ten, you've got some mighty good friends! So you see very clearly that it's a wonderful thing in this world that everybody's different. Don't we all benefit? Isn't it NICE, that not everybody else thinks like we do? Have a good month and a happy year. Please come and visit again in the next issue.