What's Up, DOCumentation? Robelle Consulting Ltd. Unit 201, 15399-102A Ave. Surrey, B.C. Canada V3R 7K1 Phone: (604) 582-1700 Fax: (604) 582-1799 E-mail: support@robelle.com Date: October 14, 1994 From: Robert M. Green, CEO David J. Greer, President Neil Armstrong, Editor To: Users of Robelle Software Re: News of the HP 3000 and HP-UX, 1994 #5 What You Will Find in This News Memo: News Tidbits Book Review: The UNIX-HATERS Handbook Suprtool System Aborts Technical Tips Robelle Products: Problems, Solutions, and Suggestions About Robelle News Tidbits Welcome to Winterex 1994. Once again the weather attempted to upstage various announcements and goings on at the Interex Conference. This year it snowed on the Wednesday afternoon of the Denver conference. The "snow" storm, however, was nothing compared to hurricane Andrew which hit New Orleans during Interex '92. This year's conference was certainly a hit with a lot of the people I talked to. The last Interex I attended was in Boston in 1990, which became known as the Great Unbundling of TurboImage Debate. Interex '94 was a pleasant contrast with HP's new product announcements, the bundling of ARPA services and a general positive tone regarding the future of the HP 3000. The HP booth was a beehive of activity with Client-Server demonstrations and huge printers on display. My personal favorite was looking at the camera on the HP-UX workstation and seeing yourself in a VUE window. The fun part was moving from side to side quickly and watching the CPU graph go up! [Neil Armstrong] HP Bundles in ARPA Services. Hewlett-Packard announced that ARPA services will be bundled into the "push" release of MPE/iX 5.0. If you cannot wait for the push release to start transferring files between your HP-UX and MPE systems, you can purchase ARPA services now at 50 percent of the regular price. Bundled on MPE/iX 5.0 will be the Thinlan Link product as well as ARPA, FTP and outbound Telnet. Inbound Telnet will be bundled when it is available, which may be as soon as an express release after the push. Color Laser Printer. In September, HP introduced the Color LaserJet printer for everyday office use. Printing speeds of up to 2 pages per minute (ppm) for full-color pages and up to 10 ppm for one-toner color and traditional black-only documents are reported. The printer uses color-palette caching to store commonly used colors. Volume features include a 15,000-page monthly duty cycle, 2,200-page toner yield and up to 500 sheets of paper input capacity. The printer, designed for Windows and DOS computing environments, comes with enhanced HP PCL 5 with Color, 8MB RAM and an HP Bi-Tronics bidirectional parallel port. HP JetDirect network connectivity and PostScript Level 2 software from Adobe are available for networked, Macintosh, UNIX and mixed computing environments. [HP Press release] Reminder About IMAGE/SQL! October 30th is the final day for getting IMAGE/SQL added to your support contract. The following is a summary of how to do so. [Reprinted from What's Up, Documentation, January 11, 1994] IMAGE/SQL is the next generation successor to TurboIMAGE. TurboIMAGE development is frozen, but IMAGE/SQL will continue to receive enhancements. HP is offering IMAGE/SQL to the entire HP 3000 install base via increased support costs. You may remember that we users voted for this last year. Unfortunately, you must ask HP to add IMAGE/SQL to your support contract; it is not the default. And you only get one chance! It will be easy to miss out on IMAGE/SQL and all future IMAGE enhancements. The following statement by Jim Sartain, HP SQL Program Manager, appeared on the Internet: When support contracts are up for renewal, customers are given the option of upgrading from TurboIMAGE to IMAGE/SQL. The product support cost is from $10 to $325 per month depending on the MPE/iX user level and whether the customer is on basic line or response line. Customers who decline this offer will continue to receive a functionally stable version of TurboIMAGE (no future enhancements). Should the customer want to upgrade to IMAGE/SQL in the future they must purchase the upgrade and pay for IMAGE/SQL support. HP has been rolling this out at the rate of 1/12 of the customer base per month. Better warn purchasing today. If you don't ask for IMAGE/SQL now, asking for it later will be expensive. [David Greer] A New SIG Is Born. Jim Knight, Chairperson of SIGNETWORKING, hosted and organised the first ever meeting of SIGNETWORKING at the Interex '94 conference in Denver. Here is a synopsis of Jim's thoughts on the success of the first SIGNETWORKING meeting. If you wish to join SIGNETWORKING, feel free to send Jim a note via e-mail at jfk@umcc.umich.edu or jfk@m-net.arbornet.org, or call Jim at (313) 996-3733. SIGNETWORKING was an enormous success I believe. It was held at 8 a.m. on Wednesday (after the Tuesday night party). We had 60+ people attend with a very strong mix of HP 3000 and HP 9000 people represented. I also received 35+ additional names at the Networking roundtable, so the SIG has already grown to over 100 names. If you are interested in being in on the SIGNETWORKING mailings, and have not gotten your name to me, feel free to send me some e-mail. HP was very excited about the prospects of working with this group to help drive their customer-focused R&D in the networking area. [Jim Knight] And the Winner Is... We gave away some real nifty prizes at the Robelle booth this year, as well as over 700 limited edition T-shirts. Congratulations to the following prize winners: Canon Sure Shot 35mm Camera William Gripp Sony Telephone Answering Machine Alan Buchholz Sony Cordless Headphones Christopher Kylander Sony Portable Stereo System R.D. Drollinger Book Review: The UNIX-HATERS Handbook by Paul Gobes From its humble beginnings in 1969 as a quick way to get a game called 'Space Travel' to run on a DEC PDP-7, UNIX has had its supporters and detractors. Some of the latter group banded together on an Internet Mailing List called "UNIX-HATERS". That list has been cleverly edited into a systematic attack in book form. It is often cruel and sarcastic but it is difficult not to empathize with the frustration that many of the users have endured. Some of the chapter subheadings will give you a good idea where the book is heading : Unix - The world's first computer virus Welcome New User! - Like Russian roulette with six bullets loaded Documentation? - What documentation? Snoozenet - I post, therefore I am Terminal Insanity - Curses! foiled again! The X-Windows Disaster - How to make a 50-MIPS workstation run like a PC csh, pipes, and find - Power tools for power fools Security - Oh, I'm sorry, sir, go ahead, I didn't realize you were root The File System - Sure it corrupts your files, but look how fast it is! Going under the premise that "you learn more about someone from their enemies than from their friends" this book is both enlightening and entertaining. I found myself laughing out loud on the bus while reading it. I even described it to my wife as "fun reading" as opposed to "work reading". Some of my favorite quotes: Two of the most famous products of Berkeley are LSD and Unix. I don't think that this is a coincidence. - Anonymous Anyone else ever intend to type: rm *.o and type this by accident: rm *>o Now you've got one new empty file called 'o', but plenty of room for it! - Dave Jones Note: rm *>o means remove all files on my system and put all the names of the files that were removed into a file called o. As a final insult, the book comes equipped with its very own barf bag. Thanks to Gavin Scott of Quest and the others on the HP3000-L for recommending this book. The book is edited by Garfinkel, Weise and Strassmann, and published by IDG Books, 1994. ISBN 1-56884-203-1 Suprtool System Aborts System Aborts 1458 or 1757 In the last eighteen months, Suprtool's prefetch feature has caused a small number of system aborts. With the help of the HP Response Center, we have finally been able to isolate and fix this problem. A System Abort would occur only if you did all of the following: 1. You set Prefetch to a non-zero value (default is two). 2. You reset the input source or Suprtool was unable to execute your task due to problems with combinations of commands (e.g., trying to extract a field beyond the record-length of the input file). 3. You purged the input file or the database of the input dataset. 4. You executed another Suprtool task before terminating. There are three solutions to avoiding these System Aborts: 1. Disable prefetch by adding this line to your Suprmgr.Pub.Sys file: >set prefetch 0 2. Wait for the production release of Suprtool 3.7 in March/April 1995 and warn your users about the combination of commands above. 3. Request the latest Suprtool pre-release (version 3.6.06 or later). Each Suprtool pre-release has had alpha testing and some beta testing, but not as much testing as a production release. Technical Tips Who Is Using My Program? Have you ever wondered who is using a program when you are trying to install a new version and don't have the luxury of having MPEX's Listf,access command? The Showproc command can show all processes currently on the system with program names, CPU time and PIN numbers. Just type showproc 1;tree;system (only if you have SM capability), and all of the system and user processes will be displayed. I have a Qedit command file that will send a message to a user of a particular program: parm parm1 purge pinfile showproc 1;tree;system>pinfile /t pinfile /delete "!parm1"(nomatch) /cq 1/23 "" /cq 10/80 "" /dq "J" (1/1) /cq 1 "tell " /append "; Please exit from !parm1" /use * If I want to tell all the users of a particular program to exit from that program, I just type: cmdfile program Is a Job or Session Really Running? I often need to know whether or not a process is running on any of our in-house systems. Recently, I needed to know if a job was taking any CPU and I didn't have Glance or Shot on the system. I devised a simple command file that does a Showproc of a job or session and puts the output to a second file. Then the command file pauses for a number of seconds (based on the second parameter entered), does another Showproc and dumps the output to another file. It then compares the two files and shows what has changed. To do the comparison, I use our own utility called Compare, which can be found in the Pub group of the Robelle account. If no output exists I know that the job or session is inactive. Here is my Compproc command file: parm parm1,parm2 setjcw cierror = 0 continue showproc ;job=!parm1>file1 if cierror = 11008 echo sorry that job or session does not exist else echo I am now pausing for !parm2 seconds pause !parm2 showproc ;job=!parm1>file2 file filea=file1,oldtemp file fileb=file2,oldtemp file outfile=$stdlist run compare.pub.robhome endif If I execute this command file and the process changes (either the CPU time or the program running), I will see the differences: :compproc s1147,10 I am now pausing for 10 seconds Compare/iX/Copyright Robelle Consulting Ltd. 1991-1994 (Version 2.2) Compare/iX (Version 2.2) Match Criterion = 6 Lines ---------------------------------------- Mismatch: Line 4 of FILE1.NEIL.ACCOUNT: > C152 0:26.652 WAIT S1147 71 (QEDIT.PUB.ROBELLE) Line 4 of FILE2.NEIL.ACCOUNT: > C152 0:26.704 WAIT S1147 71 (QEDIT.PUB.ROBELLE) Now I know that Qedit is active and has consumed some CPU time. If no CPU activity has occured, I will get the message No difference between these two files from Compare. Aging UNIX Passwords. A password that "ages" is one that will expire after some time. The man 4 passwd pages are obscure, and both Unix Power Tools and the HP-UX System Administration Tasks manual do not say anything about it. Here's an explanation of how to take advantage of this feature. We'll assume you don't have aging in effect. If you want passwords changed every three months, add ,A. in /etc/passwd after the encrypted password. For example, fred:xxxxxxxxxxxxx,A.:... --- Now, the next time users log on, they will be immediately asked to change their password, then be asked to log on again. If you look at the /etc/passwd entry after logon, you'll see a small change but don't worry about it yet. fred:xxxxxxxxxxxxx,A.fH:... -- If you don't want aging, but want users to change their password the next time they log on, use ,.. (comma dot dot) after the password. After logon the ,.. (comma dot dot) will be removed. What does the ,A. (comma A dot) stuff mean? They are digits in base 64. Digit Value . 0 / 1 0-9 2-11 A-Z 12-37 a-z 38-63 The , (comma) indicates password aging. The first digit is the number of weeks for which a password is valid. The second digit is the minimum number of weeks that must pass before the password can be changed by the user. The remaining digits, automatically updated by the passwd command, show the last time the password was changed (in weeks, since 1970). In our example, "A" means the password is valid for 12 weeks (3 months), and "." means the password can be changed immediately after expiry. The remaining weeks has the least significant byte first. In the example above I changed the password in the week of February 14, 1994. Accordingly the value fH appeared in the line after my first logon. fH is translated from the above table as being 43 and 19. In order to convert this to the number of weeks since January 1970, you need to multiply the second digit by 64 and add the first digit. fH = 43,19 fH = 43 + 19 * 64 fH = 1259 The week of February 14, 1994 was 1259 weeks away from January 1970. Robelle Products: Problems, Solutions, and Suggestions Suprtool Version 3.6 Combining Suprtool IF and Dbedit Commands. The Dbedit module of Suprtool has some pretty powerful commands for deleting and listing records. The only drawback is that Dbedit requires you to select these records by their key values. Sometimes you would prefer to select them based on non-key data information. What to do? A simple solution is to do the job in two steps. The first step uses the "regular" part of Suprtool to select the desired records using the If command, putting the list of key values in a file. The next step is to massage the file into the proper series of Dbedit statements. Finally, execute the commands using Dbedit. For example, here is a job that will do a Dbedit Delete-Related of any M-Product records (and all associated detail records) which have the string "wrench" in their product description. This example uses Qedit to massage the file, but you could use any text editor. !run suprtool.pub.robelle base store,5,reader get m-product if product-desc == "@wrench@" extract product-no out foo,temp exit ! !run qedit.pub.robelle set language job add base store,1,writer {these three lines are} edit {put at the top of the} delete m-product;rel {list of key values} // add last = foo add {and these three lines} exit {are added to the end} exit {of the list} // set keep var on keep foo2,temp exit ! !run suprtool.pub.robhome;stdin=foo2 {execute the commands} Producing a Tab Delimited File. At the Interex conference in Denver a user approached us and asked if Suprtool could produce a tab delimited file. The user remarked that a tab delimited file can be then imported into an Oracle database. Creating a tab delimited file with Suprtool is easy. All you need to do is define a single byte-field to hold the tab character, and then extract the decimal equivalent of the tab character in between each field as shown below: run suprtool.pub.robelle base orddb.db,1,; get orderfil {could also extract from flat files} define tab,1,1 ext order-number ext tab = ^9 {extracting the tab character} ext order-date ext tab = ^9 ext order-qty ext tab = ^9 output testfile exit However, we aren't certain that these files can be imported into an Oracle database. Are there any Suprtool or Oracle users that have had some experience with tab delimited files? If so we would love to hear from you. Please call technical support or send us e-mail at support@robelle.com with some of your experiences. Qedit Version 4.2 How Do I List All My COBOL Paragraph Names? The solution to this question is not that obvious, especially for new users of Qedit. The following Qedit commands show one solution: findq "Procedure Division." first listq "~?"(7/8 pat) */last The above assumes that the string "Procedure Division." doesn't occur in comments or data before the actual Procedure Division. The Listq command will list all of the lines where a hard space is in column 7 and an alpha-numeric character is in column 8. This is specified by the tilde and question mark and pattern-matching. Our search window is restricted to columns 7 and 8. A handy feature to add to the List command is the J (jumping) option. Qedit shows you a screenful of data at a time, and then prompts you with "More?[Yes]". lqj "~?(7/8 pat) */last As I'm a typical lazy-typist programmer, I've created a command file called Listpara to list all my COBOL paragraph names. setjcw cierror 0 /zz */* {save the current line number} continue /findq "procedure division" (8/25 ups) [ if cierror <> 0 then echo Warning: No Procedure Division Found /lq [ endif /lqj "~?"(7/8 pat) */ /list zz {go back to where we were} About Robelle Welcome Francois Desrochers. You may hear a new voice when you call Robelle for technical support. Francois comes to us with fifteen years of HP 3000 experience and having used Robelle products during most of that time. Francois graduated from CEGEP Ahuntsic in Montreal in 1979 and began working for Scott Paper as a programmer. He then worked in technical support from 1984 until 1992. After transferring to the Vancouver office, he worked as a data and computer security administrator. Francois and his wife, Julie, are expecting their first child any day now! Welcome aboard Francois. Everyone Is a Comedian. Well, at least Neil Armstrong seems to think so. A Robelle programmer by day, at night Neil performs at comedy clubs in and around the Vancouver area. He recently competed in the "Funniest Amateur Comedian in British Columbia" contest and made it to the final five. Congratulations Neil!