September 16, 1996
What You Will Find in This News Memo:
At the recent HP World conference, a group of people who frequent the HP3000-L Internet list combined forces to produce and assemble the world's largest poster. Driven by an HP 3000 Micro XE, an HP755CM DesignJet printer spent two weeks printing the required 463 billion pixels. The 687 pound poster proudly sported the caption, "HP 3000 Users Kick Butt."
Wirt Atmar spearheaded the campaign, volunteering his time to print the 2,650 3-foot x 4.5-foot panels required. HP 3000 notables such as Fred White, Alfredo Rego, Stan Sieler, and more than a hundred others helped piece together the massive project.
The entire Robelle programming team went to Redondo Beach in July to take this course, but we wouldn't have even seen the beach had the instructors not walked us down to it for lunch one day. For twelve hours each day, fifty-two students met, each with his or her own Pentium PC pre-installed with Windows NT 3.51 and MSVC 4.1. Every couple of hours the course theory was reinforced with a practical lab assignment for the students. The instructor had two giant screens so that the entire room could easily see what he was doing on his PC.
Each of the three instructors took turns leading the class, but all three were always available to answer questions and provide Gorilla humor when the material became too dry. An important part of the class was having the chance to watch experienced instructors use the MSVC environment to write code. More than once, a plaintive cry of "How did you do that?" errupted from the students as an instructor solved a problem too quickly for the students to follow. Fortunately, however, Ted, Don, or Chris were always happy to stop and show us how they did it.
Course hours were 10:00 a.m. to 10:00 p.m. daily. When people started to fade around nine in the evening, one of the instructors would pick a topic not covered in the course and discuss it for an hour. For example, one evening Don Box wrote an entire TCP/IP client/server application from scratch while we all watched. What was even more impressive was that Don did it without reference to a book or even to the on-line help. As a final show of ability, he programmed backwards from the normal method, with the server coded in Visual Basic and the client coded in Visual C++.
There is much to learn about Windows programming, and no one can expect to become an expert in five days. However, if you intend to do serious Windows programming, this is an excellent course that will give you a firm basis for this complicated work.
For more information (they offer Guerrilla COM, too), visit the DevelopMentor web site or call them at (310) 214-7800. If you need to become a Windows "Microsoft Foundation Classes" programmer then you have to take this course. [David Greer]
GIF files do not compress for photographs because of the gradations of tone. Instead, convert to JPEG (JPG) format. When you save a file in JPG format, Paint Shop Pro has an Options button. Click it and try setting the compression to 50 and the DPI to 72. In Adobe Photoshop your options are "best quality," "medium quality," and "low quality." Try "low quality." This should give you a small JPG file that is still good enough for web browser use.
I have been working with the Windows 95 versions of both browsers for a couple of weeks, and have some initial opinions of the pros and cons of each one. Note that I'm not a really heavy user of the WWW. For example, I don't know anything about Java and did not try accessing any Java sites.
I like the way you can type an abbreviated address into Navigator (for example, robelle), and it adds www. and .com to make the most common valid address (e.g., www.robelle.com). Internet Explorer doesn't do that. On the other hand, in Internet Explorer when you move the cursor over a picture, a short text description of the picture pops up. In both browsers when you move the cursor over a link, the status bar at the bottom of the window shows the destination of the link. Netscape shows the full URL, whereas Internet Explorer shows only the filename and the hostname, leaving out any directory info. This "friendly URL" feature can be turned off if you like to see complete URLs.
The Internet Explorer toolbar can be customized. You can add your own buttons for your favorite locations. Internet Explorer scrolls text smoothly, while Navigator jumps, as most applications do.
In my tests, Netscape Navigator was usually a little bit faster at loading pages than was Microsoft Internet Explorer. Overall, Navigator worked about 4% faster, which is not a lot. There are so many external factors that are not under your control, such as network traffic or the performance of the server you're connecting to, that I don't think this is a big deal. The Internet Explorer application always got started more quickly than Navigator did, which makes a difference only if you stop and start your browser all day long. If you minimize the browser instead of closing it when you're done, start-up speed shouldn't matter much.
The complete Internet Explorer package is almost 10 Mb, taking almost an hour to download over a 28.8 K modem. Netscape Navigator is about 6 Mb, downloading in a bit over half an hour. Both browsers come with the ability to play a number of different sound and video formats. With Navigator you have to download "plug-ins" to handle the less common data formats. Plug-ins are Netscape's way of opening the architecture of Navigator; Microsoft's method of extending Internet Explorer is through "Active-X." Both browsers can use the other browser's extensions. Internet Explorer comes with more built-in formats, at the expense of a larger initial download. Both browsers come with e-mail and newsreader capabilities. Both have a telephone gadget: Navigator has CoolTalk, Internet Explorer has NetMeeting.
Microsoft Internet Explorer is free for the downloading. Netscape Navigator is try-before-you-buy shareware, which means it can get pretty expensive to deploy throughout your organization. Internet Explorer 3.0 is available only for the 32-bit Windows platform, whereas Navigator 3.0 is available for all flavors of Windows, along with Macintosh and a number of flavors of UNIX. I looked only at the Windows 95 versions, but I could see that this might be a critical difference for a few shops.
Netscape Navigator is a bit faster, but Microsoft Internet Explorer's user interface looks better. Navigator is on more platforms, but Internet Explorer is free. It's a tough call, but I give Internet Explorer the edge overall.
P.S. Soon after release, Microsoft uncovered and fixed a security bug. Microsoft recommends that all Internet Explorer 3.0 users download and install the patch. [Mike Shumko]
Suprtool accesses Allbase via the familiar Select command. It then sorts the selected records up to twice as fast as Allbase can. Suprtool's speed and easy sort capability mean that system resources are freed up more quickly for other applications.
The Allbase access module is now available. It is priced as an add-on module to the basic Suprtool package. This basic package includes the Suprtool extraction utility, the Suprlink multi-file linking tool, and the STExport utility to prepare data in formats that can be imported into spreadsheets and databases on various platforms. As for processor models, we charge the same price for all models; this one-price-fits-all policy means that customers do not have to pay upgrade fees between models in the same platform (no matter whether HP 3000 or HP-UX).
Suprtool Training Course; Surrey, B.C. Visit the Robelle offices for this two-day course. Price $750US, $1000Cdn. To register or for more information, call or e-mail Rosemary Van Poelgeest at Robelle.
SRN Users Conference; Reno, Nevada. Come and chat with Hans Hendriks at the Software Research Northwest annual user conference. Meet him at the vendor's table, and attend his talk on using Suprtool.
Oracle Open World '96 Conference and Expo; San Francisco, CA. Come find out how Suprtool/UX can speed up sorting Oracle data. Visit David Greer, Marie Reimer and François Desrocher at booth #2038 at the Oracle Open World '96 conference and exposition.
This year we at Robelle demonstrated our products via a hook up to our machines in Canada. One morning the connection from our Internet provider went down, but the day was saved when we connected to Bob's machines in Anguilla. You gotta love this Internet stuff. At the booth we gave away copies of the new SMUG Book, which were very popular. There was also a lot of interest shown in our "alpha" version of WinQedit, the Windows client/server version of Qedit, currently in development.
We presented eight talks and tutorials including "Intro to HP-UX for MPE Users," "Publishing a Book on the World Wide Web: A Guide for Novices," "Exporting Data from MPE to the World," and "How Messy is My Database in 1996?". The How Messy presentation was to be a joint effort between David Greer of Robelle and Alfredo Rego of Adager. Unfortunately, Alfredo was recovering from surgery and was not able to take part in the presentation, so Ken Paul and Fred White from Adager filled in for Alfredo.
One final note: remember, the special HP World promotion is still available, so send us your orders. Any full license product purchased before September 30th, 1996 is eligible for a 15% discount. [Marie Reimer]
> access m-customer link to d-sales > select m-customer if state-code = "CA" > report product-no sales-qty .... > ....etcThe customer file is accessed only for purposes of qualifying which sales records should be selected. Quiz retrieves the D-Sales records via keyed reads for each Cust-Account value, so D-Sales records are grouped by Cust-Account, though not necessarily in Cust-Account sequence. If the report should be in Cust-Account sequence, you need to add a sort to the above commands.
This could be done more efficiently by using Suprtool's Table command. First, create a file of qualified customers:
> base store,5,WRITER > get m-customer > if state-code = "CA" > sort cust-account > extract cust-account > output calcust,temp,link > xeqThen use this file to load a table, which is used to select the required D-Sales records:
> get d-sales > table custable,cust-account,sorted,calcust > if $lookup(custable,cust-account) > extract product-no, sales-qty ...... > list standard ..... > xeqSuprtool reads the D-Sales dataset serially, with fast MR/NOBUF access (and thus minimum disk I/O), to return the qualified records.
An even more dramatic improvement can be achieved in cases where files are being linked in order to test for missing records. For example, to select which customers do not have sales records, the following Quiz code would apply:
> access m-customer link to d-sales optional > select if not record d-sales exists > ......This would perform keyed reads into D-Sales for every M-Customer record, and select only when no sales records are found. Again, this could be achieved more efficiently with Suprtool:
> base store,5,WRITER > get d-sales > sort cust-account > duplicate none keys > extract cust-account > output salfile,temp,link > xeq > get m-customer > table saltable,cust-account,sorted,salfile > if not $lookup(saltable,cust-account) > list ..... etcThis method involves two passes, but because of Suprtool's efficient reads, it is generally much faster than the traditional approach. [Hans Hendriks]
If the line is wider than 80 columns, you have to scroll right. In doing so, you lose the columns on the left. Also, all numeric columns are displayed with the configured number of fractions (default 2) no matter what scale was used.
In the example below, Empno and Mgr should not have any decimals. If you Set Fraction 0, the decimals on Sal and Comm disappear. For example:
ISQL> select empno,ename,sal,comm,mgr from scott.emp; ------------+----------+----------+----------+------------ EMPNO |ENAME |SAL |COMM |MGR ------------+----------+----------+----------+------------ 7499.00|ALLEN | 1600.00| 300.00| 7698.00 7521.00|WARD | 1250.00| 500.00| 7698.00 7934.00|MILLER | 123.34| 33.44| 7782.00With Suprtool, you can use the default List format to see all the columns you are interested in without having to scroll left and right. You access the database with the Open command, enter the same Select command and a simple List command. If you defined a column with no scale, you can use the Item command to specify an implied number of decimals (as depicted here with Mgr).
>open Allbase demodbe scott >select empno,ename,sal,comm,mgr from scott.emp >item mgr,decimal,1 >list >xeq >SQL (1) >OUT $NULL (0) EMPNO = +7499 ENAME = ALLEN SAL = +1600.00 COMM = +300.00 MGR = +769.8 >SQL (2) >OUT $NULL (1) EMPNO = +7521 ENAME = WARD SAL = +1250.00 COMM = +500.00 MGR = +769.8 >SQL (3) >OUT $NULL (2) EMPNO = +7934 ENAME = MILLER SAL = +123.34 COMM = +33.44 MGR = +778.2[François Desrochers]
To enable Insert-Wrap in Reflection 1 for DOS, you press Ctrl-Insert. "Ins Wrap" shows on the terminal status line below the function keys. In Reflection 1 for Windows, you have to press Alt-Insert. The Insert button on the status line will be depressed and show "Ins Wr."
Normally in Insert mode, the text to the right of the cursor moves as you type in new characters. If the line overflows past the right margin, that portion of text cannot be recovered. In Insert-Wrap mode, however, the overflowing text moves on to the next line, one character at a time. When the second line reaches the right margin, Reflection inserts an empty line above it and allows you to enter more text.
Similarly, to use Delete-Wrap, you press Ctrl-Delete in Reflection 1 for DOS and Alt-Delete in Reflection 1 for Windows. Nevertheless, there are a few differences. Insert-Wrap is a mode that has to be turned on and off. Delete-Wrap operates immediately. Normally, the Delete key removes the character above the cursor and shifts the rest of the line to the left. The line just gets shorter. With Delete-Wrap, the text from the next line is brought back just as if the two lines had been typed together. The biggest difference is that Insert-Wrap creates as many new empty lines as needed. Delete-Wrap does not deal with more than two lines and does not delete an empty line. [François Desrochers]