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: March 2, 1994 From: Robert M. Green, CEO David J. Greer, President Neil P. Armstrong, Technical Support To: Users of Robelle Software Re: News of the HP 3000, 1994 #2 What You Will Find in This News Memo: News Tidbits Technical Tips About Robelle Qedit 4.2 Press Release Robelle Products: Problems, Solutions, and Suggestions How Do I Read Source Code? News Tidbits Delays or Hangs in Qedit's Visual Mode? After Reflection Network Series version 2.1 was released, Hewlett-Packard released a Power Patch version B.40.06 for MPE/iX version 4.0. Some Reflection Network Series users who have installed the HP patch have experienced difficulties using Walker Richer and Quinn's NS/VT protocol. As of February 16th, WRQ has available a new Vtmgr.Exe as a patch for the Reflection Network Series. The patch is labeled version 2.101 Patch Level 1, and corrects the following problems: Long delays in block-mode applications, such as VPlus or Robelle's Qedit Hung terminal sessions where the keyboard locks up in block-mode applications (a session that locks up while DOS or Window remains active) WRQ's LSL (Limited Site License) customers will receive this patch automatically. All other customers need to contact WRQ's technical support to request the new Vtmgr.Exe. This file is available only via WRQ's technical support department. The new Vtmgr.Exe will not be distributed on the BBS or on CompuServe. WRQ's technical support may be contacted at Phone: (206) 325-4357 Fax: (206) 329-7565 Bulletin Board: (206) 322-8047 CompuServe: GO REFLECTION or GO WRQFORUM Internet: support@wrq.com Software Support Conference. As with every new profession, sooner or later someone organizes it and puts on a conference (usually somewhere sunny by a golf course). Now it is technical support's time. Support has become a critical part of every software vendor's business, sometimes generating as much revenue as sales departments. The first annual conference of the Software Support Professionals Association was recently held in Monterey, California. The attendees were a "who's who" of the computer industry: IBM, HP, DEC, Microsoft, Novell, Lotus, Oracle, Speedware, WRQ and this year, even Robelle. The focus of the event was on ways of improving customer satisfaction and raising the profile of tech support within the company. This is beginning as we see ads on TV for Compaq's customer support; Fortune magazine recently had a 12-page advertising supplement just about support. Apart from the sessions, the conference showcased software for tracking customer calls and resolving problems, as well as consulting and extra-staffing services. The highlight was the awards evening with the big winners being IBM (two awards) and Microsoft which takes an unimaginable 35,000 support calls a day. The event was a winner, and I recommend it to others whose job is supporting software. [Paul Gobes] HP-UX 10.0 News. We recently learned that Dscopy would not be available on HP-UX 10.0. This caused us some concern as our software development relies on the ability to move files between HP-UX and MPE/iX. We have since found that the solution is to purchase FTP/iX for our MPE/iX machines. HP is offering an 80% discount on the purchase of FTP/iX for each NS license. In addition, HP is dropping NetIPC on HP-UX 10.0 and replacing it with BSD Sockets. You can order the NetIPC to BSD Sockets and Dscopy to FTP Migration Guide (Part No: 98194-90045) at no charge. We had also heard a rumor that vt3k was going to be dropped in this release, which we have since found to be false. Vt3k will be included in HP-UX 10.0. Technical Tips ALT-O in Reflection. The Alt-O keystroke in Reflection causes the current screen to be printed on the PC's printer. This keystroke is next to Alt-I (Insert Line), which is used hundreds of time a day by Visual mode users. It is an easy mistake to press Alt-O instead of Alt-I, and print out the current screen. What a waste of paper. Luckily, Reflection allows us to remap the keyboard to give the print screen function a different keystroke. Several other common keys have unwanted similar "counterparts": Common Key is close to Unwanted Key Alt-I {insert line} Alt-O {print screen} Alt-D {delete line} Alt-X {exit Reflection} Ctrl-X {stop output} Alt-X {exit Reflection} To prevent these mistakes, you can remap the keyboard so that accidentally pressing the wrong key has no effect. Here's the procedure: create a PC file with the remapping instructions (e.g., /reflect/paul.kbm) and then compile it into your Reflection config file. Here is a sample file that remaps these keys to require the "Ctrl" key to be used when exiting or printing. keyboard-id = enhanced term = hp alt x = null ctrl alt x = exit-to-dos alt o = null ctrl alt o = print-screen To compile these changes into your config file, use the KEYMAP command. c:\reflect\keymap paul.kbm r1.cfg Shift in Windows. The new book by Brian Livingston, More Windows 3.1 Secrets, is full of useful tips for users of Microsoft Windows. For example, the Shift key has a couple of undocumented features. You can ignore the Startup group completely by pressing the Shift key when you see the Windows logo and keeping it pressed until Program Manager has finished initializing. Also, you can save your Program Manager or File Manager settings without exiting Windows or File Manager, by holding down Shift while double-clicking the System Menu icon. Pressing Shift-Alt-F4 does the same thing. [Mike Shumko] eXceed/W X-terminal Emulator and Qedit for HP-UX. Recently, I began working in an X-windows environment using some of the X-terminal emulators that run on PCs. The first one I tried was eXceed from Hummingbird. I connected to our HP 9000 Series 800 Model F20 with an HP VUE session, clicked on the hpterm box and fired up Qedit. To my horror I found that I could not work efficiently: my backspace left a block on the screen and I had no way to insert and delete lines. I am used to pressing Alt-I for insert line and Alt-D for delete line, as I have done in Reflection for years. I solved the backspace problem quite easily by removing the comment from one line in the US.kbd file, as shown below. # U.S. English keyboard # if the BackSpace key does not work but +BackSpace does # remove the comment indicator (#) from the next statement. Symbol BSunshifted 1 eXceed/W allows you to define a Modeswitch key, which when depressed in combination with another key, can perform some action. The first step is to pick a key that you want to do the Modeswitch for you, so I chose the Left Alt key. I changed the definition for keycode 60 (Left Alt key) to the following: 60 Modeswitch Modeswitch Now all I have to do is to add the hex value for Insert Line into the keyboard definition file beside the keycode definition for 'i'. The trick here is finding out the hex value for Insert Line. One method is to use Hummingbird's Xev Local client program which can show the hex value for key sequences pressed, but I would refer you to Hummingbird's excellent technical support department for help on using Xev. I found the hex values by doing a xmodmap -pke on our HP 705 which has the HP extended keyboard with Insert Line, Delete Line, etc. The xmodmap shows the Keycode value, followed by the hex value of the key (known as the Keysym value) and then a description of what the key does. Following are the new definitions for my I and D keys. Please note that the hex values are added in two columns beyond the key definitions. The hex values shown are for Insert Line and Delete Line respectively. 24 XK_i XK_I 0x1000ff70 0x1000ff70 33 XK_d XK_D 0x1000ff71 0x1000ff71 Finally, if you choose an Alt key as being your Modeswitch key you need to tell eXceed/w whether or not the Alt key gets passed to X or to Windows. This can be changed while running eXceed/W by clicking on the small box in the upper left-hand corner (the Control-Menu button) and selecting tools and then options. Select the keyboard icon lower down the scroll window and click on it. Then, select the Right to Windows, Left to X button for the Alt key definition. Left Alt will go to X and Right Alt will be passed to Windows. [Neil Armstrong] About Robelle New E-mail Addresses! You may have noticed on page one that our e-mail address has changed. We now have a direct link to the Internet. Subsequently, our new e-mail addresses are Technical support: support@robelle.com Sales: info@robelle.com Individual: firstname_lastname@robelle.com e.g., neil_armstrong@robelle.com Please update your records accordingly. We will continue to maintain the previous address (%robelle@mcimail.com) for the next few months, but our new Internet connection has shown to be faster and more reliable. You will get the most prompt response using the new address. A "Thank You" from Jennifer Mollan, Customer Accounts Manager: As the person who keeps your customer records up to date, I want to thank you all for helping us collect your HPSUSAN and serial numbers. Our fax machine was kept busy, and so were several people in the office. We typed approximately 24,000 characters to update all the numbers in the customer records. Reader Comment Sheet. Many Qedit users have contacted us to let us know that they love the new format for the Qedit manual. We are always trying to update and improve our documentation. If you have any comments, suggestions, or complaints, please fill out the reader comment sheet at the back of the Qedit 4.2 manual and fax it to us. Business Travel in the 90's. I was invited to visit WRQ technical support for four days in January to review some of the common calls they get about Robelle products and to meet some of the people I talk to on the phone. I decided that I would make my way from Vancouver to Seattle in an unusual manner. I started out on my mountain bike Sunday morning at 6:30 a.m. (with a fifty pound backpack), and headed for the Tsawwassen ferry. I managed the sixty kilometers or so to Tsawwassen in just under four hours and boarded the 11:00 a.m. ferry. We sailed to Schwartz Bay on Vancouver Island in about an hour and a half. I then cycled to Victoria (a distance of 30 kilometers) and boarded the Victoria Clipper which sails directly from downtown Victoria to downtown Seattle. From there it was a quick ride to my hotel, but mostly uphill (pant, pant!) WRQ also has a number of serious cyclists, enough that they have their own parking "room" in the parking garage. The room must be unlocked with a magnetic employee card which they kindly provided for me. Hmmmm ..... I wonder how I am going to get to Denver in September? [Neil Armstrong] Release Announcement New Qedit 4.2 Robelle continues to enhance Qedit, the efficient full-screen editor for all HP 3000 computers. Qedit is a complete environment for programmers, interfacing with most software tools on the HP 3000. You can remain inside Qedit all day: directly compile your workfile, run programs, execute UDCs and command files, and suspend tools like MPEX and Quiz for instant access. In addition to its full-screen mode with cut-and-paste, Qedit also has a powerful command mode for batch editing jobs. Here are the highlights of Qedit 4.2: * New Commands: Divide and Glue. Two new commands, Divide and Glue, let you easily split and splice record-oriented data. Divide will separate one record into multiple lines with one field per line. Glue will do the reverse, joining a list of fields into one record. Both commands are also available as cut-and-paste operators in full-screen mode. * Many Screen Mode Enhancements. Screen mode enhancements include a new screen design and the option to hide the line tags. Screen mode can now enable Insert Character by default, and will support 132-column mode with Reflection for the Macintosh. * Better User Commands. Qedit 4.2 boasts much faster and more efficient UDCs and command files. As well, the :Escape command exits immediately from nested User Commands, and returns you to Qedit. * Easier Invocation. It is now easier to access Qedit from within applications, by specifying everything through the Info= string alone. The resulting scratch files are randomly named to avoid possible user conflict when multiple copies of Qedit are used in the same session. * Merge or Compare Files. Qedit users can use the new Merge command to apply the source code changes-files that are supplied by some application vendors. Qedit 4.2 also comes with a new NM Bonus program, Compare/iX, that compares two text files and prints out the line-by-line differences for you. These and other new features are fully described in the change notice and revised user manual which accompany update tapes. All Qedit users who have service coverage receive an update tape automatically. You can print extra copies of the manual from the tape or use the complete on-line help. For a free demo or more information, please contact Robelle Consulting Ltd. Training Slides for Qedit 4.2. A complete set of training slides is available at no charge. These include the same instructors notes that we use when we give Qedit classes at your company. Call for a copy of the slides, or to find out more about on-site training. Robelle Products: Problems, Solutions, and Suggestions Suprtool Version 3.5 Suprtool and System Abort 1787 warning. Since the release of Suprtool 3.5 we have had about six reported cases of System Abort 1787. The problem is rare and not reproducible. It occurs when there is a bad space-id or bad GUFID while referencing prefetch. It is unclear if this is a Suprtool/Suprlink bug or a problem with the MPE/iX ffileinfo intrinsic. We added extra code to check the file pointers in Suprtool 3.5.04 and since then have not had any further aborts. If you are at all concerned about the possibility of this occurring at your site you can disable prefetch by adding the line set prefetch 0 to the file Suprmgr.Pub.Sys. This should degrade performance by about ten percent. You can remove this line when Suprtool 3.6 is released in March/April for North American customers. Qedit Version 4.2 X.25 Problems in Visual Mode. Qedit 4.2 does not properly identify terminals that are connected over X.25 networks. The usual symptom is that the terminal locks up as Qedit starts running. To unlock the terminal you must do a soft reset. The source of the problem is that we do not properly set the G and H straps. This causes the terminal recognition code to fail on the startup of Qedit. We have developed the following patches to correct the problem. Please call if you have any questions or problems in applying the patch. The compatibility-mode patch is as follows: :hello mgr.robelle :run patch.pub.sys File?qedit {CM patch only} ?m,0,010116 {you type this} 013604,013704 {patch prints this} ?exit The native-mode patch is: :hello mgr.robelle,pub :run sompatch.pub.sys sp> open qedit {NM only} sp> modify visutil_open$2$check_primary+2c {you type this} visutil_open$2$check_primary + 2c d260fa1f {sompatch prints this} d2607a1f {you type this} d260fa1f|d2607a1f sp> exit Total number of patches being applied 1 Host Prompt and Qedit for HP-UX. Recently it came to our attention that Qedit for HP-UX version 4.2 Visual mode does not work when the Host Prompt is set to null (^@). Visual mode updates failed with the error message: Missing or invalid status line This was a problem since null is necessary for file transfers with WRQ's Reflection products. We decided that the best option was to set the Host Prompt to be DC1 (^Q) when entering Visual mode and set it back to null when leaving Visual mode. Qedit for HP-UX version 4.2.50 and higher now sets the Host Prompt for you when entering Visual mode and resets it when exiting. Please call if you are interested in trying this pre-release version of Qedit for HP-UX. Qedit Visual over Telnet. With the prevalence of network connections over the last five years, we are finding that users are connecting to HP 3000s in a wider variety of ways. One method is connecting to the HP 3000 via Telnet. Unfortunately, not all Telnets are alike and some have a tendency to strip line feeds at the end of each line. In the past, Qedit has always relied on carriage return/line feed being the record separator in a block of data. With the line feeds missing, it could not be certain of where a line ended. However, in Qedit 4.2 there is a new option that tells Qedit to ignore line feeds altogether. If you are having problems with Visual mode updates over a Telnet connection, try the following Set command: set vis ignorelf on This has proven to have been helpful for connections to Telnet Express boxes and Reflection for Network Series for the Macintosh. How Do I Read Source Code? by David Greer For about ten years now, I have been reading source code only on the screen. Once in a while, I print a few pages of a source module, or more often of global variables. Even with paper copies, I don't read source code without my tools nearby. While some people prefer markers, post-its and paper clips, I prefer my electronic tools. These are the ones that I use the most for reading: MPE Tools Hp-UX tools MPE HP-UX Qedit/MPE Qedit/UX Magnet grep Debug/iX xdb I'm sure I use others, but these are the main ones. Note that in both MPE and HP-UX, one important aspect of reading source code is how the code is organized into directories. In MPE, we store all source code in one account and use many groups (about 300). When I'm trying to understand source code, I usually examine the major code paths and try to gain an understanding of the major assertions in the program. To do this, you usually have to answer a few common questions: 1. Where is a variable declared? 2. Where is a variable used? 3. What does a procedure do? 4. Who calls a particular procedure? One feature of Qedit that I use extensively to answer the first two questions, is /list $include "var-name". This shows all files and occurrences of the variable. Since we use many Include files, finding the specific one with a variable can be hard. The /list $include feature is even more useful on HP-UX, when trying to find a procedure or variable declaration in one of the standard header files. I find this much better than magnet/grep, since Qedit only searches Include files that are included in the current source module (or included in one of the included Include files -- clear as mud, eh?) For finding who calls a procedure, I use magnet (many, many thanks to Stan, Jacques, and SRN for magnet). Magnet is fast, effective, and quickly isolates a few procedure calls out of thousands of lines of source code. Try doing that on a printed piece of paper. Finally, I almost always try to have a running copy of the software available, along with the source code. This lets me set breakpoints and test hypotheses about code paths and assertions. I can usually obtain a lot of information about a program, just by setting procedure entry breakpoints and looking at the parameters passed in, and by breaking just after the return to the procedure and looking at what was returned. For looking at MPE routines, I highly recommend the CSEQ (calling sequence) nugget from SRN (written by Stan Sieler of course). I have never understood why using a PC for developing HP 3000 software is a good idea. It's difficult or impossible to have all source code available on the PC (we have about 500,000 lines of source), which is where you want it. I write code in about 10-20 line "chunks". It's critical to me that editing/writing, compiling/linking, and running/testing all execute incredibly fast. I typically do at least five compile/link/run/test cycles an hour. Since our average module size is about 2,000 lines, I couldn't stand to wait the additional one to two minutes to upload a new copy of my module (I write all software from home using a V.32 modem). This would eliminate at least one of my compile/link/run/test cycles per hour. We make sure that source code looks nice in screen-sized chunks. We also assume that you will have all your tools available when examining our code (e.g., a /list "$page" of any Robelle source module will produce a concise table of contents, typically of one screen page in length). Happy programming! Calendar of Events March 1994 Bob Green will be speaking at the Interex Computing Management Symposium (ICMS), being held March 14-16 in New Orleans, Louisiana. Bob will be giving his "Pop Quiz on Software Quality" talk, which won an Interex best paper award. Stop by the booth and say "Hi". April 1994 Paul Gobes will be attending the Interex International meeting in Maastricht, Holland from April 10-14. Paul will be at the Samco Automation b.v. booth. Samco is our distributor for The Netherlands and Belgium. Samco reports that this vendor show will be the biggest ever in Europe. May 1994 If you're planning on attending the upcoming annual SCRUG meeting, be sure to drop by the Robelle booth to say hello! Exhibiting Robellians this year will be Mike Shumko, Robyn Rennie, and Ken Robertson. We'll be demonstrating the latest releases of Qedit for HP-UX and MPE, as well as Suprtool. Here's your chance to match faces to the friendly voices you hear when you call Robelle.