CONTENTS
Editor's Notes New Releases MS-DOS Kermit 3.14 and BBSs and Business Communication C-Kermit 5A(190) for UNIX for VMS for OS/2 for Stratus VOS IBM Mainframe Kermit-370 4.3.1 Digital PDP-11 Kermit-11 3.62-8 Other New Kermit Releases New Features File Transfer Recovery Auto-Upload, Auto-Download, Auto-Anything Character Sets: Circumnavigating the Web with MS-DOS Kermit People and Places Cover Story: Kermit in the Brazilian Elections Kermit Helps Automate Mail Delivery Kermit and Market Research in the UK Computer Access for Persons with Print-Handicaps Down to Business Ordering Information Kermit Version List Order Form.
Kermit News (ISSN 0899-9309) is published periodically free of charge by Kermit Development and Distribution, Columbia University Academic Information Systems, 612 West 115th Street, New York, NY 10025, USA. Contributed articles are welcome.
Editor: Christine M. GianoneCopyright © 1995, Trustees of Columbia University in the City of New York. Material in Kermit News may be quoted or reproduced in other publications without permission, but with proper attribution.
E-Mail: cmg@columbia.edu
The Kermit file transfer protocol is named after Kermit the Frog, star of the television series The Muppet Show, used by permission of Henson Associates, Inc.
Cover: Brazilian Presidential Election, October 1994. Using computers to count votes, Rio de Janeiro. Photo: Jorge William, Agência O Globo.
These new versions offer:
The increased accessibility of Kermit software via network is good... and bad too. While we're delighted with its increased visibility and popularity, mail orders are down and our support burden is up.
To keep pace, we must increase our mail-order sales and the use of our documentation. Our manuals teach users, even complete novices, how to use Kermit software effectively, and are also excellent reference works for seasoned professionals and everyone in between. Please keep in mind:
Second, we look to those large organizations that save huge amounts of money on software licensing and support by distributing Kermit software internally, to purchase manuals from us in bulk (at quantity discounts) and to consider making contributions to the Kermit effort so we may continue to produce and support the software that saves them so much money.
Third, we must reemphasize our policy towards commercial distribution of Kermit software. Remember, most Kermit software is not in the public domain; the copyright is held by Columbia University, and forbids redistribution by commercial enterprises without our written permission, even when not done directly for profit, and even on "free software" or "shareware" CD-ROMs (or other media). If your company wishes to distribute Kermit software to its customers or clients, please contact us -- the advantages are many, our terms are easy. You can read about several successful new cooperative ventures in this issue.
http://www.columbia.edu/kermit/Here you will find our new illustrated catalog, MS-DOS Kermit graphic screen shots, and a whole new approach (for us) to software distribution. But please do remember to purchase the relevant manuals if you haven't already done so.
And for a unique international perspective on the Internet, be sure to read Circumnavigating the Web in this issue.
DIGITAL PRESS(a member of the Reed Elsevier group).
Butterworth-Heinemann
225 Wildwood Street
Woburn MA 01801, USA
Voice: +1 800 366-2665, Fax: +1 617 933-6333
Kermit books can, as always, be obtained directly from Columbia University (see our order form), but orders to the publisher (e.g. from bookstores) must now go to Butterworth-Heinemann.
Overseas offices of Butterworth-Heinemann can be reached at the following telephone numbers:
+44 1865 314627 (Oxford, England office for UK/Europe)The new arrangement has been in effect for more than a year so all the wrinkles should be ironed out. But if your bookstore is having difficulty obtaining English-language Kermit books, please refer them to the new publisher.
+61 03 9245 7111 (Melbourne, Victoria office for Australia & NZ)
+65 338-3306 (Singapore office for Asia
+27 (31) 2683111 - Durban office for South Africa
Frank da Cruz and Christine M. Gianone, C-Kermit -- Einführung und Referenz (1994), ISBN 3-88229-023-4. Deutsch von Gisbert W. Selke. Price: DM 88,00. Verlag Heinz Heise GmbH & Co. KG, Helstorfer Straße 7, D-30625 Hannover, Germany. Tel. +49 (05 11) 53 52-0, Fax. +49 (05 11) 53 53-1 29.Readers may recall that Gisbert also translated, and Heise also published, a German edition of Using MS-DOS Kermit for German-speaking Kermit users.
Christine M. Gianone, Kermit MS-DOS mode d'emploi (1993), ISBN 2-901143-20-2. Adaption française: Jean Dutertre. Heinz Schiefer & Cie., 45 rue Henri de Regnier, F-78000 Versailles. Tel. +33 39 53 95 26, Fax. +33 39 02 39 71.Our neighbors to the north are heartily encouraged to indulge their bilingual inclinations by keeping both French and English editions close by at all times! (We also hope that French authorities will kindly overlook the comments on page 46...)
James HugginsIn his preface to Frank da Cruz's book Kermit: A File Transfer Protocol, Don Knuth wrote:
Department of EE and CS
University of Michigan
Ann Arbor, MI, USA
I hope that many readers of this book will be challenged to find high-level concepts and invariant relations by which various versions of the Kermit protocol can be proved correct in a mathematical sense.I'm pleased to announce that such a proof has recently been completed. It shows that Kermit is both safe (if you receive a file using Kermit, it will be the same one that was sent) and live (if you send a file using Kermit, and the network doesn't behave hideously, it will eventually get to the recipient).
The proof appears in Kermit: Specification and Verification, to be published in the Oxford University Press book "Specification and Validation Methods," edited by Egon Börger, due in April 1995. After publication, an electronic version of the paper will be placed on the Kermit archives at Columbia.
If you're interested in a preprint, or if you have questions or comments about the paper, feel free to contact me at huggins@umich.edu.
The PC marketplace grows and changes constantly, and MS-DOS Kermit is changing with it. MS-DOS Kermit 3.14 for PCs with DOS or Windows was released in January 1995. It was prepared by Professor Joe R. Doupnik of the Center for Atmospheric and Space Sciences and Department of Electrical Engineering of Utah State University in Logan, Utah, USA, in cooperation with Columbia University in New York City and Dr. Hirofumi Fujii of the Japan National Laboratory for High Energy Physics (KEK).
The new release includes an incredible number of enhancements in every area designed to keep MS-DOS Kermit up-to- date with new PC, modem, and networking technology. The big ones are:
The "Lite" version has no network support or terminal emulation at all, including no CONNECT command. It still includes serial communications, the full Kermit protocol implementation, and the complete script programming language. Weighing in at only 105K, it is perfect for use as an external protocol and script execution engine in BBSs, in embedded applications, and behind custom menus.
Diskette subdirectories include:
To view a graph from an interactive SAS/GRAPH session, use this syntax at the beginning of your graphics program:
GOPTIONS DEVICE=KRMTxxx;where xxx is VGA or AUTO, corresponding to Kermit's SET TERMINAL GRAPHICS setting.
For more information on these device drivers, contact SAS Institute Technical Support at +1 919 677-8008 and ask for the Graphics group.
To view sample full-color Kermit SAS graphics screens, point your graphics Web browser at URL:
http://www.columbia.edu/kermit/shots.html
New features ideal for use in BBS systems:
The KERMIT.UPD file that comes with MS-DOS Kermit 3.14 includes a new BBS Operators Guide to show you how it's done.
Bob Mahoney, President of Exec-PC, Inc., the World's largest BBS ("The Business Knowledge Exchange, serving the business community since 1983"), says "we had not supported Kermit since 1989 when our old version of PC-Kermit became obsolete when it was unable to support the higher DTE speeds of the new modems. We took Kermit offline and have been looking for a replacement ever since. We finally came across KERLITE -- just what we were looking for. It is now installed on Exec-PC and has proven to be very popular on our Telnet-in nodes of the BBS that are available via our Internet connection. The other protocols we have online were troublesome for many of the Telnet users. Kermit has done a good job on fixing the download problems for many of them."
Mike Robertson in Sweden says, "We have been using the KERLITE program to provide an external Kermit protocol under the MBBS system (a BBS system found mostly in Scandinavia). ... We run two of the BBS lines as direct connect to a Portmaster box acting as a Telnet server to let people get to the BBS over the Internet (our address is bbs.gar.no for those who'd like to try it). Because the Telnet server only gives us a short carrier interruption before it's ready to accept a new login, it's very important that external protocols terminate quickly when carrier is dropped so that the BBS can sense the drop. KERLITE fulfils this requirement. Other options set here make sure that Kermit tidies up after failed uploads, and also forbids access to files other than those specified by the BBS in the command line, both of which are important requirements for a BBS. Experience so far has shown KERLITE to be extremely reliable as an external protocol."
MS-DOS Kermit may be used by BBS operators without any special arrangements. Simply order it, install it according to the instructions in the BBS Operators section of the KERMIT.UPD file, and then announce it to your users.
Makers and vendors of BBS software packages may contact us if they would like to make arrangements to package MS- DOS Kermit with their products.
Health care providers and insurers are turning to PCs and modems to eliminate costly paperwork in order to reduce health-care costs and speed up the reimbursement process. Claim forms are filled out on the computer screen in the doctor's office, hospital, or pharmacy, and submitted at the touch of a button to a medical claims clearinghouse or directly to the insurance company.
Over the years every insurer and clearinghouse developed proprietary and incompatible formats and software. The recent growth in electronic claims submission has spurred a movement towards standardization, allowing (for example) a doctor's office to submit different types of claims in a uniform manner. The American National Standards Institute (ANSI) recently approved EDI formats for Insurance Claims Submission and Electronic Remittance, and this will only hasten the end of the "mountains-of-paper" system, with all its confusion and delays, and will enable not only a standardized method for electronic submission of claims, but also for their payment.
A similar movement is stirring in the consumer electronics market, where warranty claims can now be filed electronically. Likewise, companies that use computers to keep track of inventory can now refresh their stocks automatically when items run low, using software that sends orders to their suppliers by modem. Retail distributors of standardized parts and components can now have pricing updates loaded automatically into their business computer systems by their suppliers.
Much of this new software relies on MS-DOS Kermit to make the connections and transfer the data behind the scenes. Because of its unobtrusive user interface, MS-DOS Kermit can be invisible to the user, and because of its powerful script language, it can easily be programmed to do automatically anything that might be done interactively, such as dialing up, logging in, handling various error conditions, and (of course) transferring data swiftly and accurately.
According to Allen Firstenberg, XAP President, "through the development of information management technologies -- data collection, hard-copy printing, multimedia interactive information display, database management, and electronic data exchange -- XAP Company is making the task of filling out complex forms simple for students and their parents and also more efficient to process.
"Over 2 million students annually are expected to utilize XAP's software by 1996, submitting their completed applications electronically. As the availability of modems for students continues to increase, XAP Company is planning to receive the predominance of its applications via EDI."
Embedded within the XAP software will be MS-DOS Kermit "Lite," the special small-size version for PCs, chosen for its flexible scripting capabilities, ease of use, and high file-transfer efficiency. When modem transmission is elected, Kermit Lite, driven by a custom script program, dials to the XAP facility and, acting as the EDI transport, submits the completed applications automatically and reliably.
According to an article in Bank Systems Technology, October 1994, this system not only replaces the burdensome and "notoriously lengthy and complicated" paper-based financial aid disbursement process with a more streamlined and efficient one, but, through the newly formed Educational Loan Management (ELM) Resources, aims to create a universal standard for all students, schools, and banks that will vastly simplify the financial aid process.
Frank da Cruz
Version 5A(190) of C-Kermit, the world's most portable communications software program, was released in October 1994 for:
The short list of new features is:
UNIX C-Kermit 5A(190) runs on 16-bit, 32-bit, and 64-bit architectures under 2.xBSD, 4.2-4.4BSD; AT&T UNIX System III and System V R2, 3, and 4; POSIX; OSF/1. Plus many and varied releases and incarnations of: 386BSD; AT&T 3Bx systems and UNIX PCs and workstations; Amdahl UTS; Apple A/UX; BSDI; COHERENT; Convex/OS; Cray UNICOS and CSOS; Data General DG/UX; DEC OSF/1 and ULTRIX; ESIX; Encore UMAX; FreeBSD; Harris CX/UX; Hewlett Packard HP-UX (all versions); IBM AIX on RS/6000, PC RT, 370 mainframe, and PS/2; ICL DRS/NX; Interactive UNIX; Intergraph CLIX; Linux; Lynx; MIPS RISC/OS; Motorola System V/68 R3 and System V/88; NCR UNIX; NeXTSTEP; NetBSD; Olivetti X/OS; Pyramid OSx; QNX; SCO ODT, UNIX, and XENIX; Sequent DYNIX and DYNIX/ptx; Silicon Graphics IRIX; Sun Solaris and SunOS; Sony NEWS-OS; Stratus FTX; Tandy XENIX; Trusted XENIX; UnixWare; and many more.
In addition to file transfer recovery and auto up- and download, version 5A(190) includes lots of UNIX-specific improvements too: a faster CONNECT mode, more reliable signal handling, an option for a system-wide initialization file, TELNET screen-size negotiation. Hardware flow control (RTS/CTS) support, since it is so important for using today's high-speed modems, has been added to many of the UNIX versions, and so has support for higher serial speeds.
"With hundreds of thousands of installations worldwide, QNX is the leading realtime operating system for the PC. You'll find this POSIX-certified OS at work in everything from process-control applications to financial systems, point-of-sale systems, communications, and medical instrumentation.
"QNX consists of a team of optional cooperating processes that interact with each other through a tiny microkernel, just 10K. As a result, QNX can be scaled down for embedded systems, scaled up for large development workstations running X and TCP/IP, or scaled out for vast fault-tolerant networks. QNX's networking facility integrates the entire network into a single, logical computer. So, for example, an embedded system can inherit the disk, database, and other resources of the entire network, and the rest of the network can communicate with processes on the embedded system."
As Dan Hildebrand, Senior R&D Staff Member at QNX Software Systems Ltd., says, "The QNX network transparently supports several standard protocols while simultaneously carrying its own high-speed FTL protocol. Kermit extends QNX's connectivity by providing a broad-spectrum communications solution that lets users make connections to, and transfer files with, virtually any other kind of computer, over either serial connections or TCP/IP."
For more info on QNX, phone QNX Software Systems at +1 800 676-0566 or +1 613 591-0931. Internet: info@qnx.com. Web: http://www.qnx.com/.
However, of even greater interest to some VMS shops might be the fact that the new release is able to run in batch jobs and when SPAWNed from other programs such as ALL-IN-ONE or VMS MAIL. This was our number-one wish-list item from VMS users for the new release.
Other important new features include support for the CMU/Tektronix TCP/IP package and new, automatic compensation for small system buffers during file transfer: now long packets can generally be used even when big buffers have not been installed in VMS at SYSGEN time.
VMS C-Kermit binaries are available for all combinations of VAX and Alpha AXP hardware with the following TCP/IP products: Digital (UCX); TGV MultiNet; Wollongong WIN/TCP or PathWay; Process Software TCPware; and (VAX only) CMU/Tek. And, of course, no TCP/IP at all. A VAX binary is also available for VMS version 4.4. The TK50 BACKUP- format distribution now includes .EXE files for all of these. The 9-track ANSI C-Kermit tapes include them all in "hex" format.
Thanks to Mark Berryman, Terry Kennedy, William Bader, James Sturdevant, Mike O'Malley, Hunter Goatley, and Tarjei Jensen for assistance with the new release of VMS C-Kermit.
OS/2 C-Kermit's comprehensive array of communications methods is rivaled only by MS-DOS Kermit's, and it illustrates one of the greatest advantages of Kermit software: it is a single, common solution for many communications needs. You don't have to learn one application for dialing up BBSs, another one for dialing up your corporate mainframe, yet another one for the Internet, and still another one for peer-to-peer LAN connections. C-Kermit does it all, in a uniform, consistent way. You only have to learn one application, not a big pile of them. You only need one compact application on your disk, occupying about a megabyte, not three or four using up tens of megabytes. This saves you not only lots of disk space, but money too.
When you learn C-Kermit's script programming language, you can use it to make all kinds of connections, not just serial ones. You can also use the same script programs (with minor alterations, e.g. for device or directory names) on other operating systems where C-Kermit runs: UNIX, VMS, and so on. You can even make the same scripts portable to DOS and Windows, since MS-DOS Kermit's script programming language is very similar to C-Kermit's.
This is a significant leveraging of our most precious asset: people-time -- time spent in training, studying, figuring things out. Make the investment once, rather than over and over again. Even afterwards, once you've become an expert, you can benefit from not having to retrain your fingers every time you access a different host or service -- you can set up consistent key maps for all your online connections.
Then there is ANSI terminal emulation for full-color access to BBSs with all their special effects. Hopefully (see article) more BBSs will be offering a good Kermit protocol from now on, but even when they don't, OS/2 C-Kermit is set up to let you run external protocols easily.
In all types of terminal emulation, there are new options for screen rollback, as well as increased capacity -- up to about two million lines!
There is also Hebrew terminal emulation for use with host-based Hebrew applications such as ALEPH software (see article).
The new terminal emulator also supports auto-download and auto-upload -- automatic switching to file transfer mode, as well as automatic configuration by the host.
You can now use the mouse during terminal emulation: copy and paste to and from other applications; use the mouse to move the cursor by simulating arrow-key strokes. The latter is useful with full-screen host applications that support arrow keys -- one touch of the mouse button sends the arrow-key codes necessary to move the cursor from its present location to wherever the mouse pointer is.
When using a Western European language in your online session, you now have a special Compose Key (Alt-c) for composing accented and special characters mnemonically; for example, Alt-c, ^, and u sends û (u-circumflex), just as in MS-DOS Kermit, and as on a real VT220 terminal.
All sorts of improvements have been made to the on-screen helpers and prompters -- the status line indicates exactly what is going on; context-sensitive pop-up help screens are available in all different modes: online, rolled-back, compose-key sequences, and so on. There are no sacred keys in C-Kermit's terminal emulator; all functions can be remapped to other keys, and the help screens and status line keep track automatically. And of course you have total control over the colors used in all types of screen elements: the status line, the pop-up screens, the terminal screen, and so on.
Printer functions are expanded and improved -- host-directed and user-initiated printing of online screens and sessions is now available, as well as redirection of printer material to a file or device.
Finally, a powerful session-debugging capability has been added, similar to a professional-quality, expensive line monitor. It shows control characters, eight-bit characters, escape sequences, and even TELNET option negotiations symbolically, but readably, in different colors and renditions for easy problem diagnosis and, perhaps more importantly, to help you with your INPUT and OUTPUT commands when you are constructing script programs, so you can see exactly what the host is sending.
In addition, some exciting new OS/2-specific features were added. OS/2 C-Kermit has always supported the long file names of the High Performance File System (HPFS), and has always been able to distinguish between FAT (DOS-like) and HPFS volumes for the purposes of file access and creation. In version 5A(190), however, OS/2 C-Kermit is able to preserve an incoming file's original long name, even when creating the file on a FAT volume, by storing the long name in the file's Extended Attributes. A file, thus created, can later be copied to an HPFS system and its long name will magically reappear.
Of even greater significance is a new method for transferring OS/2 files along with all of their regular and extended attributes, including desktop information, icons, and so on. We call this "labeled" file transfer; previously it was available only in VMS C-Kermit. Labeled transfers can be done directly between two OS/2 systems, in which case each file will arrive at its destination with all of its attributes intact. Labeled transfers can also take place between an OS/2 system and some other kind of system, in which case the file will be "archived" together with its attributes, for later restoral to (perhaps another) OS/2 system, again with all its attributes intact.
Finally, OS/2 C-Kermit comes with a procedure for sending entire directory trees and their contents, preserving the directory structure. When used in conjunction with labeled mode, this lets entire directory trees, and even entire file systems, be cloned from one OS/2 system to another. In non-labeled mode, it also facilitates the movement of directory trees between PCs running similar, but different, systems such as OS/2 and DOS or Windows.
And beyond finally: OS/2 C-Kermit 5A(190) comes with a complete repertoire of macros for easy access to external protocols, for the hopefully rare occasions when you must transfer files with a host or service that does not support Kermit protocol.
Version 5A(191) is 32-bit only and works only on OS/2 2.00 and above. The 16-bit version of OS/2 C-Kermit (for OS/2 1.x) is frozen at 5A(190). Thanks to Jeff Altman for all of the work that went into OS/2 C-Kermit 5A(191).
David Lane, Stratus Computer Inc
Stratus Computer, Inc. (NYSE SRA) is the second-largest provider of fault-tolerant hardware systems. VOS is the proprietary operating system for Stratus hardware. Stratus systems are designed to reach (and often attain!) uptimes greater than 99.99%. They are used for applications where downtime is extremely costly, such as stock exchanges, banking, and airline reservations; and where downtime can be deadly, such as public safety systems.
Because of the markets into which Stratus sells, VOS is primarily optimized for transaction-processing, rather than for general terminal users (The mention of Stratus in Tom Clancey's Debt of Honor notwithstanding!). This means that, unlike UNIX, VOS does not come with a dial-out program, though some can be found. There are several programs available, but they either require specific software at the remote end to perform file transfers, do not perform file transfers at all, or are quite costly.
I had previously developed a small communications program for our support group to use to dial out to our customers for remote maintenance. I had been getting many requests to add file transfer capability to this program. However, I wanted to have a better program than what I was prepared to write from scratch, so I started to look around at what was available and soon discovered a "portable, full-featured implementation of Kermit written in C."
It only took several evenings to get the basic sources compiled under the VOS C compiler, even though it was, at the time, not an ANSI compiler. Great care has been taken by all the people involved with C-Kermit to allow it to work with older compilers. Even though the VOS compiler at the time had many ANSI features, if C-Kermit had required a full ANSI-compliant compiler, I would have had a great deal of trouble getting it to work on VOS. After the portable pieces of the C-Kermit code compiled, it took several months of evenings and weekends to fill in the system dependent modules of C-Kermit which perform serial and file I/O.
As a side benefit, C-Kermit supports X.25 and TCP/IP connections, similar to the VOS CALL_THRU and TELNET commands. There was file transfer support for X.25 on VOS, but only with modifications to a system server (x25_exchange.pm) and with unsupported software from Stratus. Of course, TCP/IP file transfers can use FTP, but using FTP through a corporate firewall or proxy server can be difficult to automate.
Having the X.25 and TELNET support within C-Kermit has also helped to debug the option setting on remote connections, because we can have a single method that allows us to see the options for both X.25 and TCP/IP, rather than having different methods for each; and C-Kermit doesn't require privilege to debug it's own connections! Using the ACCESS macros in C-Kermit is much easier than using different commands for each type of remote host connection, and it greatly simplifies the use of proxy servers.
So now we have a full-featured C-Kermit implementation for Stratus VOS that fills a need in this area of critical computing.
Its other major new feature is the ability to initiate automatic file transfers with MS-DOS Kermit 3.14 or C-Kermit 5A(190) by sending Application Program Command (APC) escape sequences (see article). Also, the CMS and CICS variants can now set the date/time stamp for a received file to match that of the original, and the MUSIC variant has newly-added support for long names and now allows arbitrary MUSIC commands to be executed from within Kermit.
Kermit-370 4.3.1 has been verified to transfer both text and binary files flawlessly with the new 3270 terminal emulator supplied with Cisco terminal server software release 10.3, even with performance features such as long packets and 8-bit transparency enabled. This is welcome news for the many sites where Ciscos provide dialup access to the mainframe.
Thanks, as always, to John Chandler of the Harvard / Smithsonian Astronomical Observatory for the new release! January 1995, Tape B.
This program runs under RT-11 from V4 and TSX from V5. A special minimum version for floppy-disk-based systems is included, especially handy on systems having no line time clock, or for getting files from small systems often found in older image-processing equipment. File creation date, time (TSX only), protection, and length attributes are now supported and work with C-Kermit and MS-DOS Kermit. And: smaller program size, bigger packets, improved communications and modem control, faster CONNECT sessions, and command-line arguments are now supported. September 1993. Tape B.
Frank da CruzSeasoned modem users know well the aggravation of long file transfers interrupted by broken phone connections: The screams of agony, the torn-out clumps of hair, the rent garments ... only to relive those awful moments when the monthly phone bill arrives.
The problem is not confined to modem connections, either. Internet users know only too well the heartbreak of the broken ftp connection, especially that excruciatingly slow trans-oceanic one. Connections break--all kinds of connections--and the laws of the eponymous Murphy dictate this will happen at the worst possible time; for example, when you are 9.8 megabytes into a 10-megabyte transfer on a sloooooow connection.
Our three new Kermit releases to the rescue: MS-DOS Kermit 3.14, IBM Mainframe Kermit 4.3.1, and C-Kermit 5A(190). From now on, no more worries about broken connections, at least not during binary-mode file transfers, on all of the following platforms:
When a file is transferred in binary mode, its size does not change; it is sent literally, without any kind of format or character-set conversion. Thus, if a file is partially transferred, we know exactly where in the original file to resume the transmission.
For the new round of releases, the Kermit programs were changed to keep partially received files by default, rather than discard them (which was the default action previously), and the Kermit protocol was extended to support recovery of binary-mode transfers. When a recovery operation is requested, the two Kermit programs negotiate this capability; if successful, the file receiver tells the sender the position in the source file from which to start sending, and then the receiver appends the new material to the end of the partially received file. Only one new command is needed:
RESEND filename
The same file can be recovered in this way more than once; for example, if the phone connection is broken several times.
Another interesting property of the RESEND feature is that it can also be used to recover interrupted non-Kermit transfers, such as with Ymodem-G or FTP. As long as you have a partial file that was transferred in binary mode, by whatever means, you can continue the transfer from the point of failure using Kermit's new RESEND feature.
When you combine Kermit's automation features with its new recovery ability, you can create script programs (like the one opposite) that are virtually guaranteed to transfer a file, even under the worst conditions, by automatically redialing and RESENDing each time there is a failure, until the file is completely transferred. Once started, such a script can run totally unattended; read the newspaper, go out to dinner, take a nap -- relax, don't worry -- barring total failure of the telephone network or destruction of one of the computers, the file will get through.
What about text-mode transfers? These can't be recovered automatically because there is no reliable correspondence between the original file and the transferred file: many operating mark lines of text differently: CR (carriage return) and LF (linefeed) at the end, as in DOS; LF-only as in UNIX; CR-only as on the Mac; via length fields or other mechanisms on record-oriented file systems, and so on.
But all is not lost. Here is a useful hint: if you are transferring text files between computers that have like file systems (e.g. DOS to OS/2, or HP-UX to Solaris), and you don't need character-set conversion, then use binary mode. This is somewhat more efficient than text mode because all conversions are skipped, and you can recover interrupted transfers.
Even when a text-mode transfer is interrupted, it's now possible to recovery "manually" by telling MS-DOS Kermit or C-Kermit to "PSEND" (partially send) the file from the point of interruption (which you must determine by inspection), and to tell the receiving Kermit program to append the incoming partial file to the existing file, via SET FILE COLLISION APPEND if it is supported. If not, you can receive the partial file into a separate file and then join the two afterwards. In any case, the part that was successfully transferred need not be transferred again.
ask \%u { username: } askq \%p { \%u's password: } ; Settings for entire session. ; define \%s 20 ; Seconds to pause between each try define \%n 7654321 ; Phone number set port com1 ; Communication port set modem pp14400 ; Modem type (dial with PP14400.SCR) set file type binary ; File transfer mode must be binary set input timeout quit ; (to keep the script program short) set count 50 ; Try up to 50 times to send the file goto nomsg ; Skip message the first time :LOOP ; Come here to redial hangup ; Give the phone line a rest echo CONNECTION BROKEN. echo Pausing for \%s seconds... sleep \%s Echo redialing... :NOMSG dial \%n ; Dial the phone number if fail goto AGAIN ; Keep trying... output \13 ; Answered, send carriage return input 15 login: ; Get UNIX login prompt output \%u\13 ; Send user ID input 8 Password: ; Get UNIX password prompt output \%p\13 ; Send password input 60 {$ } ; Get UNIX system prompt cd \budget ; CD to desired local directory output cd budget\13 ; and remote destination directory input 8 {$ } ; Get system prompt out kermit -r\13 ; kermit -r(eceive) on remote system input 10 KERMIT READY ; Wait for READY message pause 1 ; Plus a second for safety resend fy9495.wks ; RESEND the file if success goto done ; = file is completely transferred :AGAIN if count goto LOOP ; Otherwise, try again. Stop 1 Too many tries. ; Too many tries, give up. :DONE echo File transferred OK ; Success, give message output exit\13 ; Log out from remote computer pause 5 ; Give it time... hangup ; Hang up stop 0 Script succeeded ; Finished, the end.
(This MS-DOS Kermit 3.14 script dials into a UNIX host and assumes UNIX prompts and other conventions. It can easily be modified to run under C-Kermit and/or to access non-UNIX host computers. A copy of this script can be found on the MS-DOS Kermit diskette as RECOVER.SCR in the UTILS subdirectory.)
Stop asking so many questions! You wanted it to be easier, now it can be. MS-DOS Kermit 3.13 (announced in our last issue) added a new capability called "APC", which stands for Application Program Command.
When an APC-capable Kermit program receives an APC while in CONNECT mode, it executes the commands contained in the APC and then returns automatically to the CONNECT screen. This allows the host application to initiate file transfers in either direction (auto-upload and -download).
It also lets the host application operate and configure Kermit in all sorts of other ways, such as setting protocol and file parameters, or loading custom keymaps. This makes it easy for administrators of central corporate computers, dialup information services, and BBSs to create canned procedures for their user communities, especially novices.
SET TERMINAL APC { OFF, ON, UNCHECKED }Turning it ON enables operations that are nominally safe, such as file transfer, protocol settings, and so on, without opening up operations that are intrinsically dangerous, such as system access or deleting files. Please read the APC section of the update notes carefully, and then put:
SET TERMINAL APC ONin your Kermit startup file.
PCSEND is a single command that takes the place of:
<ESC>_string<ESC>\where "<ESC>" is the ASCII control character, Escape (27).
When the terminal emulator is a Kermit program, the string can be any Kermit command, even a list of commands separated by commas, for example:
<ESC>_set file typ bin, s oofa.zip<ESC>\
A: Local B: Remote MS-DOS Kermit MS-DOS Kermit OS/2 C-Kermit UNIX C-Kermit UNIX C-Kermit VMS C-Kermit VMS C-Kermit OS-9 C-Kermit OS-9 C-Kermit IBM Mainframe Kermit
The ability of the remote application to initiate file transfers automatically in either direction is a big step forward in the ease-of-use department, especially when the host application is menu-driven. Since it is so easy to hide Kermit software behind menus, it's only a matter of time until "one-touch" file transfer becomes the norm in Kermit land.
Frank da Cruz
It's practically compulsory nowadays to "surf the Information Superhighway" using high-powered graphical navigation tools, but once you leave the confines of your own country, or -- more often -- attempt to access information that is not written in English, you are very likely to run into trouble. A quick tour of the World Wide Web (WWW) using NCSA Mosaic on a Hewlett Packard workstation turned up only garbage in place of accented or non-Roman characters when trying to access Web pages in just about every country we visited: Costa Rica, Belgium, the Czech Republic, France, Germany, Hungary, Iceland, Israel, Italy, Norway, Poland, Russia, ...
Much time was wasted trying to rectify the problem, involving adding hundreds of cryptic lines to the .Xresources file, repeatedly shutting down and reloading the X Windows system, logging out and back in, all to no avail. German still came out looking like Icelandic; Russian and Hebrew were hopeless. (A solution was found eventually, but it only works for the Western European "Latin-1" languages; HyperText Markup Language, or HTML, the language of the Web, does not allow for any other writing systems.)
Similar problems occur when using graphical newsreaders like NewsGrazer and the ones built in to Mosaic and Netscape; they don't give you easy (or any) control over character sets.
MS-DOS Kermit might not be a WWW navigator or newsreader, but it has a distinct advantage: it can handle a wide variety of character sets and writing systems simply and easily. MS-DOS Kermit 3.14 comes with all the pieces you need -- fonts, keyboard drivers, key mappings, instructions, and macros for quick switching -- for five important writing systems: West European, East European, Cyrillic, Hebrew, and Japanese. And, by a stroke of good luck, Chinese too (Japanese and Chinese require special versions of DOS; more about that later).
Approximately 1100 years later, in the former Soviet Union and elsewhere, several encodings were devised for computer representation of Cyrillic letters, each one incompatible with the others: KOI-8, KOI-7 (Short KOI), DKOI, ISO 8859-5 Latin/Cyrillic, Alternative Cyrillic, PC Code Page 866, Mainframe Code Page 880, and so on.
Although MS-DOS Kermit has been capable of Cyrillic text-file transfer since version 3.11, version 3.14 is the first to also incorporate a complete Cyrillic terminal emulation package, including a font that everybody can use, keyboard drivers, and complete key and screen mappings for accessing host-based applications using KOI-8, Short KOI, or Latin/ Cyrillic.
As a quick demonstration, if you have the rn or trn newsreader on your UNIX host, or similar programs on other hosts, you can use MS-DOS Kermit 3.14 (under DOS, not Windows) to read the Russian relcom.* newsgroups, such as relcom.ads, relcom.commerce, or relcom.currency. Just type:
MS-Kermit> cyrillicbeforehand to load the Cyrillic font (code page 866) into your PC and set up the translations between CP866 and the KOI8 encoding used in the newsgroups. Now you can get the latest news on Russian business, commodities, investment opportunities, and currency.
If you also want to write in Russian during your terminal session (or, for that matter, in DOS on your PC), you must load a Russian keyboard driver, two of which are provided on your Kermit diskette. The term "Russian" is used advisedly here, since these drivers do not support the special characters unique to Serbocroation, Macedonian, Ukranian, and Bielorussian. One driver conforms to the USSR-model PC keyboard layout, the other assigns Cyrillic characters to Roman letter keys "by sound" for easy use by QWERTY typists; pick the one that is most natural for you. In both cases, a hot key switches the keyboard between English and Roman modes.
For e-mail, which is predominantly 7-bit, you should use Short KOI, which is understood by most Russian computer users:
MS-Kermit> cyrillic shortkoiSome applications might also require the new 8-bit ISO standard:
MS-Kermit> cyrillic latincAs always, you can also transfer Cyrillic text files between your PC and any computer that is running C-Kermit 5A or IBM Mainframe Kermit 4.2 or later, with full character-set translation, as explained in the appropriate Kermit manuals.
Now back to the World Wide Web... Switching to a text-based Web browser, Lynx from the University of Kansas, on a UNIX host, and using MS-DOS Kermit as your terminal emulator, you can surf the Russian Web in Russian -- for example, starting at URL http://www.ac.msk.su.
[ \ ] { | } ~ `are sacrificed for the special characters needed in a particular language; thus each ISO 646 version is incompatible with all the others. ISO 646 sets are commonly used in e-mail, a predominantly 7-bit medium.
For example, when you receive e-mail from "H}kan Sj|berg" in Sweden, it is probably from Håkan Sjöberg (fictitious name), encoded in ISO 646. Tell Kermit to SET TERMINAL CHARACTER-SET SWEDISH and it will look right. On the other hand, if the same person's return address looks like "Hekan Sjvberg", it was probably encoded originally in 8-bit Latin-1 and had its 8th bit chopped off on its way to you, an irritating trait of many e-mail systems.
Newsgroups, on the other hand, use an 8-bit transport and one can often find Latin-1 encoding in them. In one newsgroup recently, swnet.svenska, there was a debate (in Swedish) over the relative merits of Swedish ISO 646 and ISO Latin-1, with the encoding of each message reflecting the preference of its author. This was handled quite nicely by setting up "hot keys" in MS-DOS Kermit to switch between the two character sets without leaving CONNECT mode:
def swedish set term char swedish, c def latin1 set term char latin1, c set key \315 {\Kswedish} set key \316 {\Klatin1}Here we assign one macro to F1 and the other to F2. When a message comes up that is not readable, we push the "other" hot key and then ask our newsreader to redisplay the message.
Hunting through the newsgroups that we receive locally, we find Latin-1 in use on Norwegian groups such as no.film and no.sport.diverse and on German groups like de.etc.finanz.boerse (daily listings from the Frankfurt and Berlin financial markets) and de.rec.motorrad (motorcycles). But in other European newsgroups (French, Dutch, etc) we found only ASCII -- no true accented letters in any encoding at all. We suspect the Finnish newsgroups, such as:
finet.freenet.oppimiskeskus.- akvaariokoulut.opetussuunnitelma(line continued due to lack of horizontal space) use Latin-1 in line with the other Scandinavian countries, but alas, the Finnish groups are not delivered here (possibly due to some kind of buffer overflow...).
Some newsgroups we would have liked to look at were the Brazilian groups in Portuguese, and the pl.* groups from Poland, in Polish, but these feeds do not arrive here either. If these newsgroups use Latin-1 and Latin-2, respectively, Kermit would handle them just fine: MS-DOS Kermit 3.14 comes with ROMAN and EASTERN macros which load Western and Eastern European fonts, respectively, and support character-set conversion for all major Western and Eastern European languages.
Not only that, for Western European languages, we also provide a Compose Key for entering accented letters "mnemonically", with complete independence from the character sets used on the PC and on the host. For example, no matter what code page is loaded on your PC or what character-set is used on the host, you can always enter u-circumflex the same way: Alt-c (for Compose), then circumflex (^), then u.
Here again we have the classic problem -- different computers use different encodings for Hebrew letters: 7-bit "Hebrew-7", ISO Latin/Hebrew; IBM PC Code Page 862; IBM Mainframe CECP 424; each incompatible with the others. Confounding the situation further is the intrinsically bidirectional nature of the Hebrew writing system: Hebrew letters right to left, digits and Roman letters left to right.
Since version 3.13, MS-DOS Kermit has included full Hebrew character-set translation as well as Hebrew VT terminal emulation at the VT420 level (which includes host-directed screen-writing direction). Version 3.14, however, is the first release to come with a complete Hebrew package: a Hebrew font that anybody can load (under DOS, not Windows), a key map for entering Hebrew letters on the keyboard, hot keys for switching the keyboard between English and Hebrew modes -- all you need for accessing Hebrew applications online. The HEBREW macro sets it all up for you. Just type "hebrew" at the MS-Kermit> prompt and off you go.
David de Leeuw, Head of Computing Services at Ben Gurion University of the Negev, Faculty of Health Sciences says, "Our range of computers and applications is very wide. To complicate things even more, many of our applications run in a variety of Hebrew setups -- three different character sets and various concepts of screen orientation (mixed left-to-right and right-to-left). The only communications software I know of that handles all this smoothly is Kermit. The new 3.14 release even takes care of automatic translation between different character-sets when transferring text files from one system to the other. Our users working on PC's accessing UNIX, VAX, and IBM Mainframe can't tell the difference between different `code-pages' and now they don't have to!"
The Japanese fonts are combined into Code Page 982, also known as Shift-JIS, supplied with DOS/V along with the Japanese keyboard input driver. CP982 includes "half-width" Roman, a 7-bit character set identical to ASCII except in two positions; "half-width" (Hankaku) Katakana, a 7-bit phonetic character set, and then a double-byte "full- width" Kanji set consisting of thousands of symbols. Shifting among these three character sets, which are all essential in Japanese writing, is a challenge for the terminal emulator during both keyboard input and screen display, but MS-DOS Kermit 3.14 does it all.
It is now commonplace in Japan to make use of all Kermit's Kanji features: compose long documents "offline" in the native PC environment, transfer them with Kermit to a UNIX host, translating them in the process from Shift-JIS to JIS X 0208 or other encoding for printing or e-mail; read and send e-mail and netnews online in Japanese, and finally download new material from UNIX to the PC, translating back to Shift-JIS.
You can also use text-based Web browsers such as Lynx-2.3jp (the Japanese version from Chiba University) to access Japanese information on the World Wide Web; no matter whether the Japanese Web server uses JIS7, EUC, or Shift-JIS, MS-DOS Kermit can display the Kanji text correctly.
If you are on the World Wide Web and have a Web viewer that can display GIF (graphics) files, you can view an illustration of MS-DOS Kermit's Kanji capacity in:
http://www.columbia.edu/kermit/kanji.html
These two encodings, GB and Big5, are used on most Chinese host computers and services. So you would run the appropriate DOS extension or version, and then simply tell Kermit to:
set parity none set terminal bytesize 8 set term character-set transparent
This allows Chinese characters to be received, viewed, typed, and transmitted during terminal emulation. No translation is necessary because the PC and the host are using the same codes. Input is according to the input method supplied in the particular DOS version or extension: BoPoMoFo, Chang-Jie, etc. In this way, MS-DOS Kermit can be used as a terminal to (say) a UNIX host, where Lynx is used to view Chinese newsgroups (such as alt.chinese.text and tw.*) or to access Chinese Web servers.
Most C-Kermit implementations can also handle character-set conversion during CONNECT mode, just as MS-DOS Kermit does (IBM Mainframe Kermit does not have a CONNECT mode). The difference is that most C-Kermit programs do not contain actual terminal emulators, but instead provide a semi-transparent "pipe" to a terminal, terminal window, or terminal emulator. Thus, loading of fonts and so on must be accomplished outside of C-Kermit.
An exception is version 5A(191) of OS/2 C-Kermit. It has a terminal emulator and it comes with Cyrillic, Hebrew, and other fonts that can be loaded when C-Kermit is running in a fullscreen session (the fonts can't be loaded in an OS/2 window because then Kermit does not have access to the video adapter).
This lets you use OS/2 C-Kermit to access Hebrew applications (such as ALEPH) just as you would with MS-DOS Kermit, and to read Russian and East European newsgroups, and (most of) the rest.
Now, since most versions of C-Kermit (OS/2, UNIX, VMS, VOS), like MS-DOS Kermit itself, are full-fledged TELNET clients as well as serial communication programs, poof ! -- you've got international Web access from home and office.
Thanks to the Internet, the world is becoming smaller every day, and it becomes increasingly necessary for us in the USA to dust off our high-school Spanish, German, Italian, French, or Russian (etc) if we want to partake fully in the information revolution -- just as it is becoming increasingly necessary for business communications to take place in many languages.
Those who can read the German, Japanese, and Russian financial notices will have a definite edge. Those who can respond have a sharper edge still.
Fernando Cabral, CEO PADRÃO iX Sistemas Abertos, Brasília, BrazilKERMIT SOFTWARE PLAYED A CRUCIAL ROLE in Brazil's general election of October 3, 1994, almost certainly the world's largest and most complex election ever. At stake in this country of 180 million were the presidency, all of the 28 state governorships, two-thirds (or 56) of the Federal Senate seats, and almost 600 Federal and 1000 State Representatives.
To cope with this task, the Tribunal Superior Eleitoral (Superior Electoral Court), or TSE, a specialized court of law dedicated to supervising all elections in the country, decided to take on the challenge of automating the process as much as possible, and to do it with a single stroke.
Introducing automation into a nationwide election in a huge country like Brazil, the same size as the continental USA, was fraught with hazards and obstacles. First, long-established regional oligarchies of conservative landowners would resist automation as a threat to their previous control over elections; second, the state data processing bureaus, which usually operate in the black only during election years, would be open to automation only if the bureaus could provide--and profit from--the automation instead of the TSE; and finally, the TSE staff's own lack of experience and know-how could threaten the success of the project.
VOTING IS MANDATORY in Brazil for everyone aged 18 to 65. 96 million voters, starting at age 16, elect their government officials directly, not through an electoral college as in the USA. The widely-anticipated election involved 27 states, the Federal District, 300,000 ballot boxes, eight presidential candidates, 231 Federal Senate candidates, 3164 candidates for seats in the Federal House of Representatives, 7977 to a seat in one of the 600 seats in 27 states plus the federal district; and 134 candidates for 28 governorships. Altogether we are talking of 501,456,916 votes in the first round alone. And all of them, checked and double-checked, were transferred with Kermit software.
The chairman judge in charge of the TSE, Minister Sepulveda Pertence, and the court's director-general, Alysson Mitraud, did not take these numbers lightly. Despite the risks of failure and the uncertainty of gaining widespread support for their decision, the two officials decided to proceed with the automation. The single most important factor to the venture's success was close and effective partnerships with software and hardware vendors.
Among the software providers were Kermit developer Frank da Cruz of Columbia University, and his collaborator, Joe Doupnik of Utah State University, who both worked with the TSE to make everything run as smoothly as possible.
Not until the early 1930s did a modified constitution give women the right to vote. Unfortunately, a dictatorship quickly took control of Brazil and no elections were held until after World War II. So in fact, women voted for the first time in 1945. However, only in 1988 did the right to vote become truly universal. Gender, property, literacy, and other excluding criteria were eliminated and the minimum voting age was lowered to sixteen.
Brazilian elections prior to 1994 were susceptible to many different kinds of manipulation and fraud. Most have become parts of Brazilian folklore and have revealing names like the "tip-of-the-pen vote," where the result desired by the local landowner was simply recorded on the document listing the tabulation of each ballot box. There was also the "lunchbox vote" where the local plantation coronel ...
[In Brazil, originally a title of honor which could be awarded by -- or bought from -- the federal government. Eventually the title took a derogatory meaning when used to identify landowners, industry barons, and other rich and powerful people who used their money and influence to force common people and lesser politicians to do what they wanted. When referring to elections, the term always means the rich, influential, and conservative persons who use their power and money to allure or coerce poor voters.]... would fill out the ballots before delivering them to the awaiting voters in a closed, or "lunch," box. Not even the voters knew who they were voting for. The term "corral vote" means that the landowner kept his workers in his own corral, like cattle, and told them who to vote for. Like cattle, they obeyed. Not to be forgotten is the "phantom vote," when the dead arose to cast their ballots. Of course, these ghosts existed in name only -- on their voter ID cards, their polling site signatures, and on their tombstones.
New times, new ways to commit fraud. The computer introduced new potential and real ways to manipulate election results, such as a variation on the "tip-of-the pen" scheme: simply alter the numbers during the transcription of the official ballot box results from paper to computer. The easiest way to do this without attracting too much attention is to turn blank or invalidated ballots into "valid" ballots.
The RISC servers installed at each regional electoral court ran HP-UX, Oracle database software (supplied by Oracle's Brazilian distributor, UNIMIX), Gauntlet security software from TIS, and Columbia University's C-Kermit communications software. Each machine was responsible for tallying all state ballots, including those for state and federal representatives and senators, and for transferring the results of the presidential race from each tabulating station to the Superior Electoral Court in Brasilia, and at the same time, offered any interested party, particularly the press, all information concerning the election, especially the numbers coming out of the ballots boxes.
Meanwhile 3,800 Digital Equipment Corporation DECpc personal computers with modems, special data entry software, and Columbia University's MS-DOS Kermit software were installed at 2,000 data entry and transmission sites in all parts of Brazil, some of them so remote that they could only be reached by boat or small plane.
Thus Kermit software linked together the two worlds: the world outside the network and the world inside it. In more than one sense Kermit was the bridge connecting the external, unprotected world to the internal, Gauntlet-protected world.
The next morning, dozens of tabulating teams, under the close scrutiny of the political parties' representatives, break open the ballot boxes one by one and check the reported numbers of voters against the ballot count for the box. If there are discrepancies, or if there is any indication of tampering, the ballot box is declared invalid. If everything checks out, the tabulation proceeds.
The white and yellow ballots are separated into two piles. First the votes for the presidency and the federal senate are counted; then the votes for governor and federal and state representatives. This is a time-consuming process since each name or number has to be checked against a long list of valid numbers, names, nicknames, etc. After all the ballots are counted, an official statement is issued and signed by the committee, the parties' representatives, and the judge in charge of the regional electoral court.
Then this official statement is transcribed to the PC. This is the point where most of the fraud occurred; blank and invalidated ballots were "transferred" to a chosen candidate. Cross-checking can't prevent this type of fraud; only an attentive monitor can spot it. After the transcription, a computer report is printed and checked against the original statement. If the numbers are equal, the file can be transferred.
Once the connection is established, the TIS software, Gauntlet, sends a challenge to the calling machine. Using her "Digital Pathways' SecureNet Keys" (token generator), the user types in her PIN and then the challenge. The generator produces a number that is sent as an answer to the server. If all is OK, the Gauntlet firewall opens and the file is transferred.
Once at the regional machine, the federal (white) votes are dispatched for tabulation at the TSE, while the state (yellow) votes are tabulated locally. Small numbers flow in, big numbers flow out. The results of each ballot box are added to the total as they arrive. An exact copy of each individual box's result is kept so if any fraud eventually turns up in any ballot box, its votes can be deducted easily from the total.
Newspapers, TV and radio stations, poll takers, and other interested parties could access partial results using a number of methods. Here again, TIS's Gauntlet ensured that only cleared information flows out and no tampering is possible. And Kermit was there too, ensuring that the information that flowed in piece by piece can now flow out in aggregate.
Kermit's update feature allowed any user with read privileges to dial in and download the latest numbers without tying up valuable telephone lines unnecessarily if no updates had occurred since last time. Kermit's flexible scripting language eliminated the end-user contact with the file transfer mechanism: after automatically dialing, Kermit would check whether the remote file was newer than the local one, and transfer it only if it was. In any case the local application would proceed. This way no file was ever transferred twice, and no user had to control anything: Kermit took care of all this automatically.
Using Kermit's powerful scripting language, the results of each ballot box, as well as the aggregated results, were easily transferred from end to end--all complexities were hidden under Kermit's well-thought-out user interface.
People may wonder why didn't the TSE try other protocols like ZMODEM, YMODEM and akin beasts. Simple to answer in a nutshell (the long answer has been provided above): Kermit can be used with 7- or 8-bit lines, with leased, dial-up or PAD lines; the scripting language can be used to automate even the most complex operation; smooth operation in MS- DOS, MS-Windows, and HP-UX environments; and superb, unbeatable performance in all kinds of connections and line conditions. Finally, if anything bad happened, prompt and expert help was just a phone call or an e-mail away.
But despite minor disturbances and a few major troubles, the election was considered a huge success. President-Elect Fernando Henrique Cardoso is recognized as a prudent person, an intellectual who has written dozens of books and taught sociology in the USA, England, France, and Chile. As the Economy Minister he reduced inflation from 48% per month to about 3% in less than five months. Since his election as President, inflation has dropped to under one percent per month, and the Real has gained value against the US dollar, which not even the wildest dreamer could have predicted a year ago. 85% of Brazilians are optimistic about the future and the economy is growing by leaps and bounds.
In many of the P&DCs (and eventually all of them), the rejected pieces are routed to a Remote Bar Code System (RBCS), where the electronic image of the front of the mail piece appears on a video display terminal, an operator keys in the ZIP Code, and then the bar code is applied. Thus all mail pieces leave these facilities with bar codes.
It is at the destination post office that the automation process returns to manual handling of the mail. Mail carriers still have to sort mail into bins and cubbyholes, a labor-intensive and time-consuming process, before they can embark on their routes. The ever-increasing volume of mail adds to the workload of the mail carriers, and the manual sorting step can no longer keep pace.
Using technology licensed from AEG ElectroCom of Konstanz, Germany, the CSBCS machines sequence bar-coded mail for each mail carrier at 36,000 pieces per hour. The mail is sorted by mail route, and within each route according to the order in which the mail carrier visits each building. Routes can be customized on a daily basis; for example, to allow for buildings that are closed on Saturdays. By sorting mail in walk sequence without manual handling, the new systems will cut costs and enable faster mail delivery, even as volume goes up.
Both the DBCS and the CSBCS machines are partially controlled by PCs running DOS or QNX. QNX is a POSIX-compliant realtime version of UNIX from QNX Software Systems, Ltd., Kanata, Ontario (see profile). The PCs provide the user interface and the link to the outside world.
Each day, Kermit software dials up and sends machine usage, performance, diagnostic, and other reports to a regional hub of the National Directory Support System (NDSS) for postanalysis--fault detection, trend analysis, and so on. The regional hubs are equipped with Digital Equipment Corporation VAX and Alpha AXP computers running the (Open)VMS operating system and Kermit software.
Once a week, Kermit software is also used to load updated address information, the data for the "sort plans," into each CSBCS(The DBCS receives the sort plan data via TCP/IP, but is also equipped with Kermit software as a fallback in case the network should fail.) from the NDSS, which maintains a database of every address in the region. Thus each bar-code sorting system depends on Kermit software in order to do its job: to sort the mail.
Pat Molloy, Operations Director,NOP is the third largest market research company in the UK. Roughly 55% of our interviewing is done face to face, conducted by some 1600 field staff located all over the country. In February 1994, we equipped 600 of our field staff with small personal computers, with which to conduct this data gathering exercise.
NOP Research Group Limited Tower House,
Southampton Street, London WC2E 7HN, England
Naturally we required a cost-effective and reliable method for transferring data to and from these machines. It must be borne in mind that the typical market research interviewer is no PC expert and so a further prime requirement was that the system had to be pretty well idiot- and bomb-proof.
We looked at a number of commercial offerings which, as well as being expensive, also did not give us the required functionality. We decided early on that the prospect of managing a rack of fifty or so modems filled us with dread and therefore looked towards a service provider giving us a number of dial-up Points of Presence (PoPs) all over the country. Not only did this mean that the modems were avoided, but it also offered us the potential to significantly reduce our telecommunications costs.
We settled on a system called GNS (Global Network Systems) by British Telecom. It is an X.25 Packet Switching service, available all over the world, but importantly for us, with a hundred PoPs in the UK, from which 93% of our field force is just a local (i.e. cheap) phone call away.
Kermit was selected as the communications software of choice -- it is extremely robust, cheap, and provides us with the all the scripting functions required. Kermit 3.12 is currently in use at the PC end, and Kermit 5A(190) on a Sun SPARCstation host at head office, running SunOS 4.1. We tried a number of other protocols, X-, Y-, and Zmodem for example, but because field agents are actually dialing into an X.25 PAD, we found that these did not work to our complete satisfaction.
Each PC in the field is associated with an interviewer who has a five-digit interviewer ID. We maintain a database on the SPARCstation that contains information concerning the interviewer, their location, various passwords, and the phone number of the local PoP. When a machine is sent into the field for the first time and booted, the boot process asks the interviewer for their ID number, and then Kermit places a call to a known PoP. Having established a link to the PoP, Kermit then initiates a transfer of the configuration file from the host to the PC. Thereafter the PC is "configured," that is, it contains a file which has pointers to the local PoP.
As far security is concerned, once the call has been made to the PAD the process is entirely automated and the user cannot "escape" to gain access either to the PAD or the SPARCstation. The autocall facility on the PAD is set to call only a single host, our SPARCstation in London. Once the call arrives at the host, a modified login process takes the call and fires up Kermit in a restricted shell, from which the end user cannot escape.
At the head office, the SPARCstation joins the GNS network via four 64K digital links, which automatically load- share and perform hand-offs to other circuits if any should fail. This gives us an inbound capacity of 256K/second, handled by SunLink X.25.
There is a single menu option available to the interviewer to "transfer data to head office". In all cases, a single ZIP'd file is sent from the PC to the Sun and another back from the Sun to the PC. (Actually there are other hidden menu options to put Kermit into "verbose" mode for error trapping).
A long (500+ lines) Kermit script file handles the entire communications process. It reads data from the configuration file and sets up a call to the local PoP. Because there are over 70 ways in which the process can fail there is extensive error checking and reporting in the script file. Having set the call up to the PoP, Kermit logs in and the PoP automatically and sets up an X.25 call to the Sun here in London (this is the GNS autocall feature). Kermit then logs into the Sun host, does some authentication and then starts C-Kermit on the Sun in server mode. The PC file is uploaded first and then, if it exists, the Sun file is downloaded.
At any failure or exception, an external program is called to beep and display an appropriate flashing error message. Otherwise the communication session terminates normally and the machine is returned to the main menu.
We'll be upgrading to Kermit 3.14 soon to take advantage of the new performance and recovery features which will greatly improve the overall system. We experience around 10% failure rates on the UK phone system which can be frustrating if you are 250K into a 300K transfer. We've already lab tested this feature to death and have found it to be extremely successful and will be deploying it following some more small-scale field trials with agents dotted around the country.
Since February 1994, we have transferred over 50,000 files of about 250K each on average -- 12.5Gbytes roughly. Kermit has performed magnificently and the sophistication of the scripting and error reporting has meant that even when things have gone wrong the support team has easily been able to spot the problems (most often the modem not switched on!). We've taken advantage of both large packets and sliding windows to enhance performance of the file transfers -- we have also disabled compression on the modems themselves, since that process was actually leading to significantly slower transfers of the ZIP files (some 20%).
The move away from traditional data collection techniques (pen and paper, primarily) has been a sea change for the market research industry. As well as the considerable technical challenge, we have faced a number of difficult management issues -- scaling down our print department, elimination of our key-to-disk department, the changed lines of communication within the business itself.
Putting on a green hat, we've eliminated seven million sheets of paper a year already -- we expect this to rise to a savings of twenty million within two years. Then of course there was the huge challenge of training 600 people, most of whom had never used a PC before!
Kermit has been central to the success of the project thus far, and with the continuing developments such as the newly introduced recovery facility, it is certain to remain a cornerstone of the system.
Alan CantorPersonal computers equipped with adaptive technology are making it possible for thousands of individuals with disabilities to pursue independently their personal, vocational and educational goals. Examples of adaptive technologies include environmental control units; TDDs (Telecommunication Devices for the Deaf); large keyboards; input devices actuated by infra-red pointers, eye blinks, puffs of air, and head-sticks; voice recognition systems; optical character recognition systems (OCR); reading machines; text enhancement software; refreshable braille displays; and screen readers. This article is about screen readers, and why MS-DOS Kermit is an appropriate communication program for use in conjunction with this class of adaptive technology.
West Toronto, Ontario
A screen reader transforms an ordinary PC into a talking computer. The voice is heard through a headphone or the system speaker. The screen reader pronounces keystrokes or words as they are typed. Keystroke commands allow the user to "read" individual characters, words, lines, sentences, and paragraphs. Some screen reader systems use Alt- and Control-key combinations for their reading functions; others use a separate keypad. All screen reading systems allow the user to customize and save vocal characteristics such as reading speed, inflection and pronunciation.
The original screen readers were intended for persons who are blind or who have low-vision. In recent years it has become clear that other constituencies benefit from the technology too. For example, persons who have a learning disability that interferes with their ability to read, but not to write, successfully use screen readers.
Screen reading technology has made previously inaccessible documents available to persons with print handicaps. Because almost all books, newspapers, and journals begin as computer files, the potential exists, for the first time, for persons who have print-handicaps to read any printed document.
Virtually all DOS, VMS and Unix applications are "screen reader friendly." Screen reading technology enables users to run most DOS applications, access Bulletin boards, communicate by e-mail, and transfer files and other information using Internet services like GOPHER and FTP. The ability to use computers effectively has opened doors to new educational and employment opportunities for persons who have print-handicaps.
Save Document? Yes (No)_
The same consistencies let print-handicapped users navigate through complex programs without having to see the screen. In WordPerfect 5.1, line 25 of the document always displays the status line and lines 24 and 25 of the "List Files" screen always display a list of options (1 Retrieve; 2 Delete, etc.). A person with a print handicap can easily "get lost" in an unfamiliar program. By pressing the key that reads Line 25, the WordPerfect user can usually become reoriented.
Such consistencies do not exist in GUI environments. A Windows screen consists of a riot of icons, scroll bars, pull-down menus, dialogue boxes, and cascading windows. A window can assume different shapes and sizes. The active window may be minimized or maximized; shrunk or expanded; placed above, below, to the side, behind, in front of, or overlapping another window. Although keyboard shortcuts exist, many functions were intended to be done by positioning the screen pointer and clicking the mouse. The mouse was designed to be guided by eye. Controlling a mouse is awkward -- if not impossible -- if you cannot see the screen.
Efforts to develop screen reading programs for GUI environments have been underway for several years. Screen readers for GUIs are now available, but the graphic user interface itself remains relatively inaccessible. Windows access is especially problematic because many Windows applications write information to the screen in non-standard ways, making automatic detection of screen updates difficult.
The graphical user interface problem is compounded by the proliferation of "pseudo-GUIs" -- character-based programs that emulate the look and feel of GUI software. Pseudo-GUIs are sometimes even less "screen reader friendly" than true-GUIs. The boundaries of a window in a real GUI application can at least be defined; determining the position of a pseudo-window in a pseudo-GUI with a character-based screen reader is problematic. The latest DOS-based screen readers can, however, handle some of the idiosyncrasies of some pseudo-GUIs applications.
There are many horror stories about persons who rely on screen readers being fired or denied promotion because of their difficulties coping with GUIs. In 1993 blind students and staff at the University of Toronto were effectively barred from using the on-line library catalogue when a new "Windows-like" interface was introduced. Students with disabilities and their advocates pressured the library for more than a year before the old command-line system was reinstated. Interestingly, now that both systems are readily available, many able-bodied students say they prefer the old command-line interface.
Many DOS-based communication programs are pseudo-GUIs, a development that has perilous consequences for blind computer users. Because these software packages feature dialogue boxes, pull-down menus and graphical file transfer "thermometers," they are inherently more difficult to access by screen reader than text-based communication programs.
An example Kermit's screen-reader-friendly commands is SET DISPLAY SERIAL, which causes the status of the transfer to be written to the screen as a series of dots and pluses instead of as a screen thermometer and columns of continuously changing numbers. When using a screen reader the default setting (SET DISPLAY REGULAR) produces an "alphanumeric stream of consciousness." SET DISPLAY SERIAL transforms the cacophony into a useful gauge of file transfer progress.
Other settings that I would usually recommend for use with screen readers include SET TERMINAL MARGIN-BELL ON, SET INPUT ECHO OFF, SET MODE-LINE OFF, SET TERMINAL VIDEO-WRITING BIOS.
Of particular utility is the SET KEY command. With it, I can reassign application keystrokes that conflict with screen reader commands, disable online application keystrokes that have untoward effects, and bind special-purpose macros and scripts to a key. For example, UPLOAD.SCR might be activated by Alt-u:
define UPLOAD take upload.scr set key \2326 {\kUpload}
Also handy are CLEAR, which clears the INPUT/REINPUT command buffer and the communication device buffer, and SET TERMINAL CLEAR-SCREEN for clearing the terminal screen. Together the two commands effectively wipe the display clean during script operations so the screen reader does not read irrelevant, out-of-date information.
These two commands have proven so indispensable that I have combined them into a single macro:
define ERASE-SCREEN clear,- set terminal clear-screen
Finally, a novel use for the SET PROMPT command, which changes MS-DOS Kermit's interactive command prompt. In some circumstances I have found it advantageous to define macros with single-character names as a means to streamline script and macro operations. Then I modify the prompt to create an audible "menu prompt:"
define 1 {dial School} define 2 {dial Library} define 3 {dial Work} define e {echo Exiting, hangup, exit} set prompt - {1=School 2=Library 3=Work e=Exit> }
The moral of this story is that improving accessibility for persons with disabilities benefits everybody else too. Kermit scripts that are suitable for persons who rely on screen reader technology are good for able-bodied computer users as well.
Acknowledgments
I would like to thank Professor Betsey Doane, Mr. Tim Noonan, Mr. John O'Rouke, and Dr. Jim Thatcher for their thoughtful critiques of this article.