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 Date: July 17, 1992 From: Robert M. Green, CEO David J. Greer, President Michael Shumko, Customer Support To: Users of Robelle Software Re: News of the HP 3000, 1992 #3 What You Will Find in This News Memo: News Tidbits Suprtool/XL version 3.4 Doubles Sort Speed! Technical Tips About Robelle New Orleans Calendar of Events The Warning Signs A Pop Quiz on Quality Logon Command Files Robelle Products: Problems, Solutions, and Suggestions News Tidbits Shared X-Windows Applications. At the BWRUG vendor show, HP demonstrated what they called Groupware - software that allows users at multiple workstations to share the same data files. The demo showed two X-terminals sharing the same application, with the two users interacting. Anything that was done on one screen was seen on the other screen, and vice versa. This will permit users working in different offices, or even different cities, to work together on a project. Sounds like HP's vision of 1995 is well underway. Bull Picks Big Blue. Groupe Bull, the troubled French computer maker, announced that it had chosen IBM's Power Architecture over HP PA-RISC. IBM, HP, Motorola and MIPS have each been courting computer systems vendors to get them to adopt their RISC chips. IBM and HP waged a tough battle to win Bull's favor, but the deal came down to cash and resources. In the end, IBM gave Bull a stronger commitment than HP. "HP saw the deal as a risk, a potential black hole. IBM saw it as a chance for significant market penetration," said Bob Herwick, an analyst with the securities firm of Hambrecht and Quist. [from UnixWorld] Australian Airline Regulations. The original Macintosh Portable weighs 6.5 kg with an empty hard drive. In order to stay within airline cabin baggage, Apple recommends keeping the hard drive not more than half-full. [Australian MacWorld] Suprtool/XL version 3.4 Doubles Sort Speed! Every spring, Robelle Consulting releases a new version of Suprtool, the HP 3000 utility program that provides speedy access to your data. Suprtool typically lets you access your data from two to ten times faster than traditional tools, combining the features of Query, Sort and Fcopy. This year's release includes numerous enhancements, not the least of which is a doubling of sort speed in the Native-Mode version. The improvements for 1992 include: * Faster Sorting on MPE XL Suprtool/XL sorts records twice as fast as last year's version, using our proprietary sorting algorithms. Previous versions called HP's sort intrinsics. * Simple Reports Made Easy The List command, which is used to produce formatted record displays, now supports sub-headings and a new option for producing simple reports. The reporting options include page numbers, titles, column headings, and LaserJet capabilities such as Landscape and Duplex mode. * On-line Tutorial to Learn About New Features An on-line tutorial is now included for first-time Suprtool users, or old friends who want to catch up on the latest features. The tutorial is constructed using the new Q and Userpause commands to display comments and wait for the user to press return before continuing. * New Commands, Options, Features Other changes include two new commands for working with use-files, more support for packed-decimal (comp-3) fields in the Table and Chain commands, a Quiet option on the Use command, and tighter syntax checking of the Output, Sort and Use commands. * New and Improved Bonus Programs Suprtool includes a number of bonus programs at no extra cost. HowMessy, which reports on internal database efficiency, is now available in Native-Mode, and displays the highwater mark of detail datasets. The new Spell is an English-language spelling checker for your letters and documentation. The Prose text-formatter is now in Native-Mode. A complete description of these and all the new features is in the change notice which accompanies update tapes. All Suprtool users on support receive an update automatically. The update tape contains the latest manuals, which can be printed on your own printers using our Printdoc utility. The entire manual is available in the on-line help, too. If you are a Suprtool user but your service has lapsed, don't worry. Robelle's reasonable pricing policy lets you get back on support without any penalty, just by paying the current support fee. This entitles you to the latest version, technical support for a year, and our famous What's Up Doc newsletter. If you aren't a Suprtool user, find out what you're missing. Demo tapes are free. Technical Tips Scary Error Messages. If you start running out of disc space, MPE XL can report bogus, scary error messages. For example, Steve Hammond at AAMC did a /TEXT of a spoolfile in Qedit, and got the error messages FWRITED ERROR 96 and DISC I/O ERROR. For some reason, this worried Steve. Further investigation revealed that there was nothing wrong with his disc drive. In fact, he wasn't even out of disc space - he had plenty of free space. It turned out that the account was out of disc space. That is, there was a limit on the number of sectors the account could occupy, and when he tried to exceed that limit, MPE mis-reported the error in a particularly worrisome way. About Robelle Welcome Facer Information Design. We recently transferred the Australian and New Zealand territories from Co-Cam to Facer Information Design. Laurie Facer is now in charge of sales and support for Australia and New Zealand, bringing his expertise with the HP 3000 and the Australian market to Robelle. Welcome aboard Laurie, we wish you the very best of luck with your new enterprise. Welcome Neil Armstrong! Say hello to our first astronaut/Robellian. Neil is the newest addition to our technical support team and has had lots of experience with our products while working for Domtar, Gilles Schipper, and Leach & Garner. He and his wife, Alyson, have made the big move from Toronto to Vancouver with their two boys, Nathan (21 months) and Conner (1 month). Neil was born on Friday the 13th, which may explain his sense of humor that only a select few can understand. We're glad to have you here, Neil! Bob Green Goes Green. The Suprtool 3.4 manual was printed on paper made from recycled stock. Future Robelle manuals will also be printed on recycled paper. New Orleans Calendar of Events Robelle has a full roster at the Interex conference in New Orleans, being held August 24-27. Bob Green, David Greer and Ken Robertson are all presenting papers. Bob, David, and Mike Shumko will be giving product tutorials to help you brush up on your Qedit and Suprtool skills. Look for your Robelle information packets in the mail in a few weeks. Monday, 24 August 11:00 - 11:50 How Developers Can Adopt Self-Describing Files, David Greer 20:00 - 23:00 Robelle Customer Appreciation Party, Grand Ballroom A Tuesday, 25 August 10:00 - 10:50 The Warning Signs: A Pop Quiz on Quality, Bob Green 11:00 - 11:50 Ten Essential Qedit Skills, Mike Shumko 14:00 - 15:50 Qedit Problem-Solving with the Developer, Bob Green Wednesday, 26 August 11:00 - 11:50 Learn Ten Essential Suprtool Skills, Mike Shumko 14:00 - 15:50 Suprtool Performance with the Developer, David Greer Thursday, 27 August 09:00 - 10:50 LaserJet Lustre: Making Your HP 3000 Reports Shine, Robertson &f0S*p+0x-1215Y&f0S*p+4a+4B*c1950a1215b10g2P&f1S *c1950a4B*c0P*c4a1215B*c0P*p+1950X*c0P *p-1950x+1215Y*c1954a4B*c0P *p+25X*c1950a25B*c40g2P*p-1215y-25X*p+25y+1950X *c25a1215B*c2P&f1S The Warning Signs A Pop Quiz on Quality by Robert Green and David Greer Here is a sneak preview of a talk that I will be presenting at the New Orleans conference. Throughout the talk I will give real-life examples of each point. See how your shop rates. [Bob Green] I was presenting my paper, Improving Software Quality, before a hometown crowd in Vancouver, when a local consultant rose to ask a question. "Responding to the users sounds fine," she said, "but I've seen a lot of systems where the programmers did constant changes and patches to give the users whatever they wanted. Most of the systems were a buggy, kludgy, impossible mess. How do you avoid that?" "That's the topic for another paper," I replied, with a quick tap dance to distract the audience. Later, I admitted to myself what a good point she had made. Robelle creates software tools. About once a month we release a new version of Qedit and Suprtool. We are constantly on the go, so how do we avoid producing a disaster? I went to my partner David Greer for the answer. At Robelle I'm the one who leans toward wild, creative impulses. David is stronger on reliability, discipline, and long-range thinking. I was so concerned by bureaucratic software groups which didn't satisfy user needs that I was overlooking another style of shop: groups with weak software skills who react to user complaints as fire fighting. The ideal software group uses feedback and repeated development cycles to find out what users really need. But it also uses rigorous software engineering. Despite the constant changes, the ideal software group ensures that existing features continue to work and future changes are possible. My previous paper on improving software quality was only half the story. Now David Greer and I finish it off. Everyone is in favor of software quality, but not everyone is producing quality software. How can you tell if a software group has gone off the track? It could be your DP department, your computer manufacturer, or even one of your software suppliers. Teaching Quality Without "Should" and "Ought" To avoid having the talk degenerate into a sermon, we have organized our ideas into a non-threatening Pop Quiz -- a way to quietly rate your quality record. The quiz consists of giveaway phrases that warn of a troubled software project, remarks such as "that's not my job" and "it's against our policy." See how many of these phrases you've heard. Score 5 penalty points for each one you hear regularly. We made the penalty 5 points so you could fudge if you want to. a. That's a feature, not a bug. b. That's an error in the manual. c. Why would you want to do that? d. If there are no questions, everyone must be happy. e. We've lost the source code. f. We're too busy to document that. g. It must be a hardware problem. h. It would cost too much to update the paperwork. i. No one will ever notice. j. One more Go To won't hurt much. k. We'll just reuse this data item. l. That could never fail -- don't bother testing for it. m. Fascinating project -- too bad it failed. n. We tested it once by hand, isn't that enough? o. It's fixed, but is waiting for the next release cycle. p. It can't be changed, too much code references it. q. That would mean changing all the programs. r. We gave the users what they asked for. Computing Your Score Now calculate your score. Remember, five points per warning sign, and the lower the score, the better. 0 is too good. You must have cheated. 20 is excellent. Congratulations. 40 is respectable. Good work. 60 is worrying. 80 or more is a disaster. Update your resume. Logon Command Files by Christopher Hart, BTS This article is reprinted with the kind permission of IMRUG - Intermountain Regional Users Group Quarterly Newsletter, March 1992. MPE/XL (soon to become MPE/iX) introduced the concept of command files as an alternative to UDCs. A command file can do everything that a UDC can, except for a couple of minor exceptions. The first is that they cannot be executed at logon time. A UDC file can have an OPTION LOGON statement that allows a command to be executed at logon time. The second is that the UDC file does provide a level of security, especially when at the account or system level. With the combination of a simple OPTION LOGON UDC and a command file, it is possible to give anyone their own custom logon file: Sample UDC file: start option logon if finfo("!hpuser.cdmfiles",0) then xeq !hpuser.cmdfiles endif ***** The above UDC will first test to see if a file that matches your logon is in the CMDFILES group. If it does exist, it will be executed by the UDC. This allows any user who wants a variety of different tasks to be performed, to be easily set up and modified as needed. This allows for a single account level UDC to service any or every logon in the account. A sample logon command file may look as follows: setvar hppath "!hpgroup,pub,pub.sys,cdmfiles" setjcw glancekey = 2 xeq allowme,cdmfiles setvar hpprompt "!!hpgroup:" if hpldevin = 221 then setvar hptypeahead true echo Type ahead has been turned on for this terminal on ldev 221 endif The first thing this command file does is to alter the path command HPPATH to include the CMDFILES group. Any command file can then be executed at the MPE prompt. The second line sets up a JCW for a product called HPGLANCE. The third line is a command file executing a secondary command file. Command files can be 15 levels deep, but I wouldn't want to debug one that deep. The fourth line changes the : prompt to the name of the current group followed by a :. If you were in the Pub group, the prompt would change to PUB:. This allows you to see what group you are in at all times. The double !! in front of the HPGROUP system variable tells the system to dynamically evaluate it each time it is referenced. This means that when you use the CHGROUP command, the prompt will change to the current group that you are in. On the fifth through eighth lines, I evaluate which logical device I am logged on to. In my work environment, I have a PC on which I use Reflection with its type ahead used within Reflection, and a secondary HP-700/92 work terminal that I want the HPTYPEAHEAD turned on. This tests to see if I have logged on to that secondary terminal and if the LDEV matches, it will set the type ahead variable. It then echoes to the screen telling me that the terminal now has type ahead turned on. The logon command file can have most anything you want in it local to you. Because it is not a UDC file, it can be updated and changed at any point in time. Robelle Products: Problems, Solutions, and Suggestions Qedit Version 4.0 Compiling Part of a Quiz Program. Our dealer in Sweden, Ole Nord, sends us the following UDC. It allows you to ZZ-mark part of your file and let Quiz execute only the marked part of your file. The same UDC lets you execute a complete file, as usual. quiz source=$null,info=" ",vers=current comment Specify parameter 1 (source) as: comment for an mpe file comment * for currently-open file (qeditscr) comment 'zz' for range set by ZZ command comment ' ' for interactive mode Quiz if finfo("!source",0) or ("!source" = "$null") then echo Filename !source used as input to Quiz file qsource=!source else echo Range !source saved in Hold file /holdq !source file qsource=hold endif setjcw cierror,0 continue setpowerhouse ,!vers if cierror = 0 then continue run quiz.!vers.cognos;info="auto=qsource suspend !info" endif setpowerhouse true *** Detecting a LAN terminal. Qedit's visual mode editing reads and writes full screens of data to the terminal or PC, in a single, large FREAD or FWRITE. We are getting reports of this failing on PCs connected to the HP 3000 via LANs. If we were able to detect that the PC was on a LAN we might be able to do something to work around the problem. Does anybody out there know how to detect that the PC is on a LAN, maybe using FCONTROL calls? Suprtool Version 3.4 Suprtool Examples. The Suprtool manual is full of examples of source code which calls Suprtool2 and Speed Demon. Of course nobody wants to type those examples from scratch, but we've learned that many customers are doing exactly that. This is error-prone and tedious. Here's a tip: the manuals are on your system in the Doc.Robelle group. For example, the Speed Demon manual is the file Demon.Doc.Robelle. You can use your favorite text editor, Qedit, to text a copy of the documentation file and extract the portions that you are interested in. The files are stored in Qedit's compressed format, so if you use another editor you will have to convert the file to "editor keep" format first. Use our Qcopy program to do this. :run qcopy.qlib.robelle >from demon.doc.robelle; to=mysource; new >exit Updating Records with Suprtool and Dbedit. There are times when you need to serially read a big dataset and update a few selected records. Suprtool is very fast at selecting the records, but unfortunately you can't use Suprtool to update them. You could use Query to find and update the records, but it will be very slow. If the entries that you have selected are identified by a unique IMAGE key (for example, if you are serially reading and updating entries in a big master dataset), you can use Suprtool to generate a list of key-values and use Dbedit to update the records. Steps 1 and 3 use MPE/XL i/o redirection, Classic users would need to perform these steps inside an editor. 1. Create a workfile with the commands to get into Dbedit and set up the modification. :build keylist;rec=-80,,f,ascii;temp :file keylist,oldtemp;dev=disc;acc=append :echo BASE sales,1,writer >> *keylist :echo EDIT >> *keylist :echo MODIFY cust-mast:amount >> *keylist 2. Append the key values plus the constant that you want updated using the new LIST command options from Suprtool 3.4. :file suprlist=*keylist :run suprtool.pub.robelle >base sales,5,reader >get cust-mast >if cust-status="I" >extract cust-number {cust-number is the key} >extract amount=0 {field to be changed to zero} >list oneperline noname norec noskip >exit 3. Append the command that Exit from Dbedit and Suprtool. :echo // >> *keylist :echo EXIT >> *keylist :echo EXIT >> *keylist The keylist file now looks like this. BASE sales,1,writer EDIT MODIFY cust-mast:amount 187654 0 876677 0 // EXIT EXIT 4. Finally run Suprtool using the workfile of commands and data as input. :reset keylist :run Suprtool.Pub.Robelle;stdin=keylist For detail datasets this approach may be too complicated. After providing all the search and sort fields, there may be more than one record. Dbedit's prompting sequence would then be different and the wrong records could get updated. Xpress Version 2.8 NS-less E-Mail Between HP 3000s. Ole Nord has managed to get Xpress electronic mail exchanging messages among multiple HP 3000s, using only a PC instead of Network Services. The PC executes a Reflection command file which dials up the various CPUs involved and picks up and delivers the Xpress mail. It does the job quickly and inexpensively. The only drawback is that Xpress attached files are not sent. Fortune Cookie of the Month "Duct tape is like The Force. It has a light side, a dark side, and it holds the universe together." -- Carl Zwanzig &f0S*p+0x-270Y&f0S*p+4a+4B*c1950a270b10g2P&f1S *c1950a4B*c0P*c4a270B*c0P*p+1950X*c0P *p-1950x+270Y*c1954a4B*c0P *p+25X*c1950a25B*c40g2P*p-270y-25X*p+25y+1950X *c25a270B*c2P&f1S