home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 1997 / w1997-05.txt < prev    next >
Text File  |  1997-10-13  |  23KB  |  529 lines

  1. What's Up, DOCumentation?
  2.  
  3.  
  4.  
  5.        Robelle Consulting Ltd.
  6.        Unit 201, 15399-102A Ave.
  7.        Surrey, B.C.  Canada  V3R 7K1
  8.        Toll-free:    1-888-ROBELLE
  9.                     (1-888-762-3553)
  10.        Phone:       (604) 582-1700
  11.        Fax:         (604) 582-1799
  12.        E-mail: support@robelle.com
  13.        Web: www.robelle.com
  14.  
  15. Date:  September 1997
  16.  
  17. From:  Robert M. Green, CEO
  18.        David J. Greer, President
  19.        Paul Gobes, Editor pro tem
  20.  
  21. To:    Users of Robelle Software
  22.  
  23. Re:    News of the HP 3000 and of HP-UX, 1997 #5
  24.  
  25.    What You Will Find in This News Memo:
  26.  
  27.    HP World '97, Christmas in August
  28.    Report from Chicago
  29.    Qedit for Windows
  30.    WRQ and TCP/IP
  31.    Suprtool Training Schedule
  32.    IMAGE Grows Trees
  33.    Unsticking Your Keyboard
  34.    Editing the Net or--"How I Came to Love Really Remote Programming"
  35.    Testing Client/Server Software
  36.    Recovering Qedit/UX Scratch Files
  37.    Sorting Huge Datasets with Limited Disc Space
  38.    Calculating Days Between Two Six-Digit Cross-Millennium Dates
  39.  
  40.  
  41. HP World Æ97, Christmas in August
  42. =================================
  43.  
  44. The word from Chicago has been very positive. HP made quite a few
  45. announcements that please MPE users. HereÆs a quick summary:
  46.  
  47. - 64-bit processors:  This means huge files and databases will be able to be
  48.   stored in one piece. (The lack of this had been considered the death knell
  49.   for MPE.)
  50. - SAMBA will become officially supported, allowing better file sharing for
  51.   3000s on LANs
  52. - JAVA will be completely available and supported. This is great for hosting
  53.   interactive Web sites on the 3000.
  54. - Netscape server will be ported to the POSIX environment
  55. - 32-bit ODBC will become part of FOS-great for client/server access to data
  56.   in IMAGE databases
  57. - IMAGE B-Trees and Dynamic Dataset Expansion for master sets will be
  58.   released soon
  59. - "DEVELOPERS 918DX" for $7,000, a CPU-plus-software package to encourage
  60.   more software to be developed for MPE
  61. - 100VG AnyLAN and 100BaseT high speed network links were both showcased
  62.  
  63. The HP3000-L was alive with comments about these offerings. Kudos belong to
  64. HPÆs Harry Sterling and his CSY staff for doing a great job.
  65. [Paul Gobes]
  66.  
  67.  
  68. Report from Chicago
  69. ===================
  70.  
  71. By all accounts the 1997 North American Interex conference was a success.
  72. Interex has reported that this yearÆs conference broke attendance records.
  73. Over 6,000 attendees and exhibitors made their way to ChicagoÆs excellent
  74. Navy Pier conference center for five days of meeting their peers, sitting
  75. through vendor presentations, swapping war stories, and learning how to
  76. improve their HP-UX and HP 3000 operations.
  77.  
  78. The late August weather was perfect in the windy city. On Sunday, the opening
  79. day of the conference, an air show entertained the Navy Pier troops with jets
  80. screaming overhead. On Monday night at an HP 3000 25th anniversary party
  81. hosted by Hewlett-Packard, George Stachnik of HP took over Orly LarsenÆs
  82. tradition of singing a song written for the event. George sang The Ballad of
  83. MPE, which described, in three-part harmony, HP 3000Æs history from 1972 to
  84. the present. A number of long-time HP 3000 supporters were wearing silver
  85. lapel pins embossed with the words "MPE Forever." They had received the pins
  86. in the mail the week before the conference from an anonymous source. So far
  87. nobody has publicly claimed responsibility for this bit of MPE boosterism.
  88.  
  89. The hot topics this year were ODBC for IMAGE, Year 2000, and HPÆs apparent
  90. renewed commitment to the HP 3000 platform.
  91.  
  92. A 32-bit ODBC driver for IMAGE/SQL called ODBCLink is already available from
  93. M.B. Foster Associates, with HPÆs version scheduled for inclusion in MPE/iX
  94. 5.5 Express release 3 by the end of the year. Minisoft also has a 32-bit ODBC
  95. driver. DISC provides an ODBC driver to connect to Omnidex indexed databases.
  96. Computing Solutions was showing their Linkway ODBC driver.
  97.  
  98. Year 2000 readiness was a big issue for many users, and there was no shortage
  99. of solutions proposed. Talks and papers outlined a number of approaches, and
  100. a number of vendors were claiming that their products are Year 2000 ready.
  101. Allegro and SolutionSoft each offered new products that will allow programs
  102. to "think" the system date is any desired date, making for easy testing of
  103. Year 2000 readiness without actually changing the system date.
  104.  
  105. A common "complaint" from attendees was that there were too many good talks
  106. and papers being presented simultaneously, making it very difficult to choose
  107. among them. This may be one reason why a few vendors were disappointed with
  108. the low volume of people visiting their booths.
  109.  
  110. We at Robelle had no such complaint. Our new Qedit for Windows client/server
  111. editor and SmartDate Year 2000 products were very popular draws. At one point
  112. people were lined up six deep to get a look at the Qedit for Windows client
  113. demo stations, where we were connected over the Internet to our HP-UX and HP
  114. 3000 servers in Canada and Anguilla. The Internet connection was sometimes a
  115. bit slow, but Qedit for Windows came through like a champ, even when the
  116. connection was so bad that a normal terminal connection was too slow to be
  117. useable.
  118.  
  119. Robelle collaborated with Adager and DISC to show how the HP 3000 can be used
  120. for data warehousing, eliminating the need to move data from the HP 3000 to
  121. another database or platform. First we used Suprtool to load the data
  122. warehouse from operational data, then we used Adager to create the warehouse
  123. in a star or snowflake schema, and finally DISCÆs new ODBC driver was used to
  124. extract the data quickly using any popular PC-based reporting tool.
  125.  
  126. Robelle technical staff presented a number of tutorials and papers on a
  127. variety of topics. Two of these were chosen by Interex to be in the Top 20 of
  128. HP World Æ97. These twenty sessions were videotaped and will be collected on
  129. a multimedia CD-ROM set with full-motion video, sound, slide show, and full
  130. transcript and text retrieval. Interex should be releasing the CD-ROM package
  131. in a few weeks. The two Robelle sessions in the top twenty are Neil
  132. ArmstrongÆs HP-UX For MPE Users, and David GreerÆs tutorial co-presented with
  133. AdagerÆs Alfredo Rego, HowMessy Is My Database? All the Robelle presentations
  134. are available for downloading from our Web site.
  135.  
  136. Next yearÆs conference will be in San Diego on August 2-6, 1998.
  137. [Mike Shumko]
  138.  
  139.  
  140. Qedit for Windows
  141. =================
  142.  
  143. Announcing Our Contest Winner...
  144.  
  145. Over the past few months, some of you have visited the Robelle Web site to
  146. request a quotation for Qedit for Windows (QWIN).  Everyone who asked for a
  147. quotation was entered into the QWIN prize draw, which took place on August
  148. 14th.  And the lucky winner is...  drumroll, please...
  149.  
  150.     Mr. Pat Hale, 3M Corporation (Aberdeen, SD)
  151.  
  152. Pat will receive the Qedit for Windows HP-UX server module and two client
  153. licenses. Congratulations Pat!
  154.  
  155. Are Demos Available Yet?
  156.  
  157. This continues to be the most frequently asked question weÆre hearing these
  158. days. After HP World, we went right into beta release of Qedit for Windows
  159. and by the time you receive this newsletter, the beta sites will be well
  160. underway with their testing.  Our technical staff will be working overtime to
  161. keep up with beta feedback, and we anticipate full product release in
  162. November.
  163.  
  164. The sales department is keeping track of everyone who has requested a demo of
  165. Qedit for Windows, so donÆt worry--as soon as regular demos are ready to ship,
  166. we will contact you.
  167. [Nicky Gunther]
  168.  
  169.  
  170. WRQ and TCP/IP
  171. ==============
  172.  
  173. It looks like Microsoft has defined yet another "standard". WRQ has decided
  174. to stop shipping its own TCP/IP stack. The next version of RNS will simply be
  175. called NFS Connection; it will have the same utilities (NFS, FTP, PING, LPR
  176. etc.), but it will not have any winsock.dll. It also will not have the
  177. Serial/PPP programs that many of us at Robelle use to connect from home to
  178. our office LAN. Here is an excerpt of the announcement sent to WRQ beta
  179. testers:
  180.  
  181. "What has become clear to WRQ, in discussions with Microsoft, is that in
  182. future versions of Windows 95 and NT, it will make TCP/IP a fully integrated
  183. and protected component of the base operating system environment.  Because of
  184. this change, WRQ believes that while it is still possible to add value to the
  185. Microsoft kernel, it is now in the best interest of our customers to use what
  186. Microsoft provides in order to minimize risk and ensure a stable operating
  187. system."
  188.  
  189. WRQ added that they will continue to provide a 16-bit Windows TCP/IP stack
  190. and additional licenses for existing 32-bit stack customers who do not plan
  191. to move off Windows 95 soon.  For those customers using the WRQ Windows 95
  192. stack who plan to deploy Windows 98, or Winsock 2 dependent applications, we
  193. recommend you contact WRQ Tech Support for assistance with a smooth
  194. migration.
  195. [Paul Gobes]
  196.  
  197.  
  198. Suprtool Training Schedule
  199. ==========================
  200.  
  201. Space is still available for Suprtool training at RobelleÆs offices near
  202. Vancouver, Canada. These are the course dates:
  203.  
  204.     - October 16-17, 1997
  205.     - January 22-23, 1998
  206.     - May 28-29, 1998
  207.     - October 15-16, 1998
  208.  
  209. We can also arrange private training at your site. If you are interested,
  210. contact us for more information.
  211. [Rosemary Van Poelgeest]
  212.  
  213.  
  214. IMAGE Grows Trees
  215. =================
  216.  
  217. HP added a generic search and partial key retrieval feature to IMAGE/SQL by
  218. attaching B-Trees to a given master dataset key item. This feature will be
  219. available in versions of IMAGE/SQL C.07.03 and higher. B-Trees are only
  220. allowed to be built on the key item of a given Manual or Automatic master
  221. dataset. However, if the path into a given detail dataset has a B-Tree
  222. attached, you can implicitly take advantage of the B-Tree, and a partial key
  223. lookup will work on the associated detail.
  224.  
  225. The B-Tree feature is implemented by creating a native-mode KSAM file in the
  226. POSIX domain. The file is created with the same name as the master dataset,
  227. but it has an .idx extension. If you implement B-Trees you should not store a
  228. database with the ;transport option because the B-Tree index file will not be
  229. stored.
  230.  
  231. Index maintenance is done through three new Dbutil commands:
  232.  
  233.     Addindex     database for [ All | Setname | Setnum ]
  234.     RebuildIndex database for [ All | Setname | Setnum ]
  235.     DropIndex    database for [ All | Setname | Setnum ]
  236.  
  237. A nice feature of the B-Tree implementation is that you can build the indexes
  238. without affecting any of your applications. Once you build your indexes
  239. Dbfind mode-1 will not take advantage of the B-Tree until you change a
  240. setting within Dbutil. In order to choose the B-Tree you must set BTreeMode1
  241. to On. Although this setting is turned on at the root level, you can also
  242. change the setting programmatically via a Dbcontrol call.
  243.  
  244. Suprtool Support for B-Trees
  245.  
  246. Suprtool version 4.0.11 has been enhanced to take advantage of these B-Trees
  247. via the Chain command. Suprtool will also show any B-Trees that it can use
  248. through the Form command.
  249.  
  250. The Chain command has been enhanced to allow partial key retrieval for X and
  251. U items on the master dataset and implicitly on any associated detail
  252. dataset. For example,
  253.  
  254.     >base cd.db.data,5,reader
  255.     >chain a-songs,song-title="w@"
  256.     >list
  257.     >xeq
  258.     Warning:  Using DBGET for the input records
  259.     >GET A-SONGS (289) >OUT $NULL (0)
  260.     SONG-TITLE      = we only come out at night
  261.  
  262.     >GET A-SONGS (56) >OUT $NULL (1)
  263.     SONG-TITLE      = where boys fear to tread
  264.  
  265.     IN=2, OUT=2. CPU-Sec=1. Wall-Sec=1.
  266.  
  267. As mentioned, we can search a detail dataset by using the implicit B-Tree or
  268. by the search item that has a B-Tree attached to the associated master.
  269.  
  270.     >chain d-songs,song-title="w@"
  271.     >list
  272.     >xeq
  273.     Warning:  Using DBGET for the input records
  274.     >GET D-SONGS (37) >OUT $NULL (0)
  275.     CD-NO      = 2                    CD-TITLE    = Mellon Collie
  276.     ARTIST     = Smashing Pumpkins    SONG-NO     = 10
  277.     SONG-TITLE = we only come out at night
  278.  
  279.     >GET D-SONGS (28) >OUT $NULL (1)
  280.     CD-NO      = 2                    CD-TITLE    = Mellon Collie
  281.     ARTIST     = Smashing Pumpkins    SONG-NO     = 1
  282.     SONG-TITLE = where boys fear to tread
  283.     IN=2, OUT=2. CPU-Sec=1. Wall-Sec=1.
  284.  
  285. Form Command
  286.  
  287. The Form Command has been enhanced to show whether or not you have B-Trees
  288. that the Suprtool Chain command can use. Currently the Chain command will
  289. only use those B-Trees that have a type of X or U. The Form command will not
  290. show B-Trees that it cannot use, even if the B-Tree does exist.
  291.  
  292. The Form command will also report if a B-Tree is damaged and what the
  293. wildcard character is set to. The wildcard character is the character that
  294. may be used in order to invoke a partial key retrieval.
  295.  
  296.     >form sets
  297.  
  298.     Database: CD.DB.DATA
  299.                BtreeMode1 = ON       Wildcard character : @
  300.  
  301.                   Set       Item            Entry  Load   Entry
  302.     Sets:        Num Type  Count Capacity  Count  Factor Length  B/F
  303.       M-ARTIST    1   M  i  2     211       3      1  %   75      4
  304.       A-SONGS     2   A  i  1     307       41     13 %   20      16
  305.       A-CD-TITLE  3   A  i  1     211       3      1  %   20      16
  306.       D-SONGS     4   D     6     1004      41     4  %   78      4
  307.  
  308.     >form m-artist
  309.     Database: CD.DB.DATA
  310.            BtreeMode1 = ON       Wildcard character : @
  311.  
  312.          M-ARTIST         Master    Indexed       Set# 1
  313.             Entry:                     Offset
  314.                ARTIST               X30     1  <<Search Field>>
  315.                NOTES               2X60    31
  316.          Capacity: 211 (4)  Entries: 3  Bytes: 150
  317.  
  318.      >form d-songs
  319.      Database: CD.DB.DATA
  320.                BtreeMode1 = ON       Wildcard character : @
  321.  
  322.       D-SONGS          Detail                  Set# 4
  323.           Entry:                     Offset
  324.             CD-NO                J2      1
  325.             CD-TITLE             X40     5  (!A-CD-TITLE) <<Indexed>>
  326.             SUB-TITLE            X40    45
  327.             ARTIST               X30    85  (M-ARTIST) <<Indexed>>
  328.             SONG-NO              J1    115
  329.             SONG-TITLE           X40   117  (A-SONGS) <<Indexed>>
  330.       Capacity: 1004 (4)  Entries: 41  Highwater: 41  Bytes: 156
  331. [Neil Armstrong]
  332.  
  333.  
  334. Unsticking Your Keyboard
  335. ========================
  336.  
  337. Computer keys that stick can be frustrating. It happens because dust, hair,
  338. food and other foreign matter build up between the keys. Janet Attard, author
  339. of The Home Office and Small Business Answer Book has some simple advice: "If
  340. you donÆt have a computer vacuum or air blower at hand, reach for your pad of
  341. Post-it Notes," she says. "Take one note and swipe the sticky part gently
  342. between the rows of keys. The dust and grime will adhere to the note paper."
  343. Important: DonÆt substitute tape or labels. They may stick to the keys
  344. themselves.
  345. [Excerpt from "The ManagerÆs Intelligence Report"]
  346.  
  347.  
  348. Editing the Net or--"How I Came to Love Really Remote Programming"
  349. ==================================================================
  350.  
  351. When I moved from Western Canada to the tiny Caribbean island of Anguilla
  352. (http://news.ai), I took my own MPE and HP-UX servers with me. I did
  353. development on a copy of the Qedit source code and transferred the changes to
  354. Vancouver every few days over the Internet. We have a SYNC job that uses MPE
  355. to list all the files that have changed on each system, then it uses Suprtool
  356. to merge the lists and detect the duplicate files-those changed by someone in
  357. Vancouver and by someone in Anguilla. Then we transferred the source files
  358. using FTP and argued over the conflicts. I had been working this way on Qedit
  359. and the new client/server Qedit for Windows (QWIN).
  360.  
  361. Recently I started editing on the Robelle servers, many thousands of miles
  362. away, instead of on my local servers. I use Reflection and a VT-MGR
  363. connection over the Internet.  Early in the morning when I start work, the
  364. Internet is not very busy. I get about the same response time from a Qedit
  365. Visual screen in Reflection as a Qedit for Windows connection. However, about
  366. 11 A.M. in Anguilla  the people on the US West Coast get to work and the
  367. Internet slows down. Eventually Reflection becomes almost unusable because
  368. the echo time for each character stretches into many seconds.
  369.  
  370. However, even at the slowest speed, I can still get a lot of programming done
  371. in Qedit for Windows. This is amazing, yet the reasons are quite simple. In a
  372. terminal session, each exchange of packets with the host system handles only
  373. one character when you are typing. In a QWIN editing session, all the user
  374. interface is done locally by the PC program and is not tied directly to the
  375. response of the network or the host server.
  376.  
  377. When Qedit for Windows does exchange packets, they contain a complete edit
  378. transaction (such as Delete 10 lines, Insert 5 new lines, Get 20 lines). Much
  379. more information is transmitted in each packet, so much less network
  380. bandwidth is used to provide a comfortable response time. Lines retrieved by
  381. Qedit for Windows are retained in a cache and can be repeatedly displayed
  382. without bothering the host; you donÆt have to wait while the entire file is
  383. downloaded or uploaded.
  384.  
  385. Very neat for the very remote programmer.
  386. [Bob Green]
  387.  
  388.  
  389. Testing Client/Server Software
  390. ==============================
  391.  
  392. At Robelle we believe in automated testing of our products.  Verifying the
  393. correct function of a program after every revision is just too boring for
  394. humans to do reliably.
  395.  
  396. Griffin Webster of RobelleÆs Anguilla office was asked to find an automated
  397. test tool for Windows applications. He evaluated two products: Vermont
  398. HighTest and Microsoft/Rational Visual Test.
  399.  
  400. The criteria for selecting a tool included:
  401. 1. Ability to construct a test suite that would cover anticipated user
  402.    interaction
  403. 2. Fast, convenient macro recording of individual tests
  404. 3. Execution of the complete test suite even if individual tests fail
  405. 4. Manual creation/editing of a scripting language for special cases
  406. 5. Ability to generate a test log that clearly identifies which tests failed
  407.    and where
  408. 6. E-mail notification of developers when a test suite fails
  409. 7. Speed of creating tests
  410. 8. Compatibility with 16- and 32-bit versions of our client
  411. 9. Ease of modification of existing tests to create others
  412. 10. Power of scripting language
  413. 11. Portability of test suites from one PC system to another
  414.  
  415. The log output of both products was suitable for identifying failed tests,
  416. but neither product made it possible to automatically notify a user of test
  417. failures via e-mail.  We have added this feature ourselves by FTPing a
  418. customized report on test results daily to a Web site where all developers
  419. can view it.  We are still working on e-mail notification of failures from
  420. the test PC to specific developers.
  421.  
  422. Both products were capable of doing the basic recording of test scripts and
  423. playing them back automatically against a new version of the software. Our
  424. results put Visual Test clearly ahead of Vermont HighTest in creating and
  425. managing tests, although it does cost three times as much ($600 versus $200).
  426. Visual Test comes with a run-time version that can be installed on any PC to
  427. execute tests, but not record or modify them. We considered this a very
  428. useful feature because we would like to run the tests on as many client
  429. platforms as possible.
  430. [Excerpt from Bob GreenÆs paper "Converting Qedit to the Client/Server Model"]
  431.  
  432.  
  433. Robelle Products: Problems, Solutions and Suggestions
  434. -----------------------------------------------------
  435. Recovering Qedit/UX Scratch Files
  436. =================================
  437.  
  438. Temporary Qedit scratch files are usually created in /usr/tmp (for HP-UX 9.x)
  439. or /var/tmp (for HP-UX 10.x), unless TMPDIR is specified to a different
  440. directory.
  441.  
  442. If your connection is lost, however, scratch files still remain in the
  443. system. If you use the Text command on the file after losing the connection,
  444. you will get an "Error: In Use" message. To force a crash recovery, use the
  445.  
  446. Open command instead of Text.
  447.  
  448. We recommend that System Administrators periodically delete scratch files
  449. that are older than about 10 days.
  450. [Fran╡ois Desrochers]
  451.  
  452.  
  453. Sorting Huge Datasets with Limited Disc Space
  454. =============================================
  455.  
  456. When you are selecting and sorting records from a large file, Suprtool does
  457. not know how many records might be selected by the If command, so it has to
  458. reserve enough sort scratch space in case every record is selected. On a
  459. system with an insufficient amount of free transient disc space, there may
  460. not be enough space for this temporary scratch file to be built. Suprtool
  461. allows you to reduce the size of the scratch file using the Numrecs command,
  462. but you have to know what value to use, either a specific number of records
  463. or a percentage of the input file. What do you do if you cannot predict how
  464. many records may be selected?
  465.  
  466. One approach, in use at Redwood Health Services in Santa Rosa, CA, is to
  467. forget about Numrecs, and just use two Suprtool passes. The first pass
  468. selects the records without sorting them, putting the selected records into a
  469. file, then the second pass sorts the file. By default, the sort scratch file
  470. in the second pass is built exactly large enough for the number of records
  471. being read.
  472.  
  473.     :run suprtool.pub.robelle
  474.     >base mybase
  475.     >get bigdataset
  476.     >if {...selection criteria...}
  477.     >output myfile
  478.     >xeq
  479.     >input myfile
  480.     >sort key-field
  481.     >output=input
  482.     >xeq
  483.  
  484. The resulting file, myfile, has the selected records in the desired sequence.
  485. [Mike Shumko]
  486.  
  487.  
  488. Calculating Days Between Two Six-Digit Cross-Millennium Dates
  489. =============================================================
  490.  
  491. SmartDateÆs library of date routines allows for converting and editing many
  492. different date formats.  You usually provide it with one or two dates,
  493. indicate their format and what operation needs to be done.  This operation
  494. can be either a validation, conversion or calculation.  One of these
  495. calculations is to assign a century to a six-digit date based on some cut-off
  496. value. Another calculation is to determine the number of days between two
  497. dates.
  498.  
  499. The problem arises when you want both operations to occur together. SmartDate
  500. only allows one a time.  The solution is to use the RobelleCutoffYear JCW  to
  501. accomplish both tasks.  Here is some sample COBOL code to find the days
  502. between December 28, 1999 and January 6, 2000.
  503.  
  504.     move "281299"           to from-datex6
  505.     move "060100"           to to-datex6
  506.     move 0101               to rdt-from-type.
  507.     move 01                 to rdt-to-type.
  508.  
  509.     call "RDTCONVERT" using from-datex6
  510.                         to-datex6
  511.                         rdt-control
  512.  
  513.     if rdt-status of rdt-control = 0  then
  514.        move rdt-aux-result  to days-between
  515.        display "Days between are : ", days-between.
  516.  
  517. DonÆt forget to set the JCW before running the program, otherwise you will
  518. get an error.
  519.  
  520.     : setjcw RobelleCutoffYear 50
  521.  
  522. Use this example to assume a century of 20xx for all dates that hold a value
  523. of less than 50 in the last two digits of the year.
  524. [Paul Gobes]
  525.      
  526.  
  527.  
  528.  
  529.