INTERNATIONAL UNIX fflUt i f’QnjSj iSHli .tm. I fgfr Wa) i$ ib tf x. Jgg o Modular. Integrated. Now. Handle Writer/Spell™ Word processing with integrated spelling correction and verification. Handle Calc™ Spreadsheet with up to 32,000 rows and columns. Conditional and iterative recalculation. The Handle Office-Automation Series is a powerful set of modular, integrated software tools developed for today's multiuser office environment. Handle application modules can be used stand-alone or combined into a fully integrated system. The Handle Office-Automation Series modules offer: • Ease of Use and Learning • Insulation from UNIX • Data Sharing Between Multiple Users • Data Integration Between Modules • Data Sharing with Other Software Products • Sophisticated Document Security System Handle Technologies, Inc. Corporate Office 6300 Richmond 3rd Floor Houston, TX 77057 (713) 266-1415 Sales and Product Information 850 North Lake Tahoe Blvd. P.O.Box 1913 Tahoe City, CA 95730 (916) 583-7283 TM-HANDLE. HANDLE HOST. HANDLE WRITER. HANDLE SPELL HANDLE WRITER/SPELL and HANDLE CALC ARE TRADEMARKS OF HANDLE TECHNOLOGIES. INC. TM-UNIX IS A TRADEMARK OF AT&T BELL LABORATORIES. Circle No. 53 on Inquiry Card Howtogo from UNIX to DOS without compromising your standards. It’s easy. Just get an industry standard file access method that works on both. C-ISAM™ from RDS. It’s been the UNIX™ standard for years (used in more UNIX languages and programs than any other access method), and it’s fast becoming the standard for DOS. Why? Because of the way it works. Its B+ Tree indexing structure offers unlimited indexes. There’s also automatic or manual record locking and optional transaction audit trails. Plus index compression to save disk space and cut access times. © 1985, Relational Datalxtse Systems, Inc. UNIX is a trademark of AT&T INFORMIX is a registered trademark and RDS, C-ISAM and File It! arc trademarks of Relational Database Systems, Inc. How can we be so sure C-ISAM works so well? We use it ourselves. It’s a part of INFORMIX: INFORMIX-SQL and File-it.? our best selling database management programs. For an information packet, call (415) 322-4100. Or write RDS, 4100 Bohannon Drive, Menlo Park, CA 94025. You’ll see why anything less than C-ISAM is just a compromise. 73 RELATIONAL DATABASE SYSTEMS, INC Circle No. 40 on Inquiry Card How we as part of the program, you can ask more of your database. Using the emerging industry- • 1 pi . standard query language. improved Structured “ yourjob Query Language. Actually, we didn’t change a thing. We just combined it with the best relational database management system. Introducing INFORMDO-SQL. It runs on either MS"*-DOS or UNIX™ operating systems. And now with IBM’s SQL easier, INFORMIX-SQL comes with the most complete set of application building tools. Including a full report writer and screen generator. Plus a family of com¬ panion products that all work together. Like our embedded SQLs for C and COBOL. So you can easily link your pro¬ grams with ours. File-it!^ our easy-to-use file manager. And C-ISAM™ the de facto INFORMIX is a registered trademark and RDS, C-ISAM and File-it! are trademarks of Relational Database Systems, Inc. IBM, UNIX and MS are trademarks of International Business Machines Corporation, AT&T and Microsoft, respectively. /2 bits-per-character would be opti¬ mal, so be it. Then is when cost should be thrown into the equation so that cost/performance tradeoffs can be assessed. One thing is for sure. Implementations must allow for upward expansion: the initial releases of 24 UNIX REVIEW DECEMBER 1985 double the pew° f TOUR MX VAX 11/780. Additional AP/10A systems give greater perform The AP/10A can be used fh m VAX 11/730, V/IX 11/750, 11/780, VAX 11/785, or VAX 8600. „ ... V /JX peripherals and all VAX. APHOA programs can access all P operating system capabil the VAX processor. system organization. PRICE 6990 QTY1,4990 QTY10 Circle No. 58 on Inquiry Card AVALON Avalon Computer Systems 425 E. Colorado Blvd. *710 Glendale, California 91205 Telephone: 818 247-2216 Telex II: 910 588-3274 Cable: avaloncom MADE IN THE USA Implementors who find an assignment difficult to accomplish will do well not to complain. an internationalized version of UNIX might be excused for not including everything, but developers who need added functionality shouldn’t be frozen out until hardware and storage costs have fallen enough to prompt a complete redesign. Any com¬ pany prepared to shoulder the additional cost before then should be allowed to. It should be emphasized that cost is the real issue in any of these considerations. Technical difficulty is only an issue if it makes a solution too expensive, or if it prevents a solution from being regular and ex¬ pandable. Implementors who find an assignment difficult to accomplish will do well not to complain. They were hired to solve hard problems, after all— if they don’t like the job, they should consider a ca¬ reer in politics. COMPARING, COLLATING, AND CONVERTING Comparisons, collations, and conversions of characters are accomplished completely indepen¬ dent of encoding. That’s because these are seman¬ tic—rather than lexical—issues. The distinction may make it difficult to base sorting algorithms closely on encoding, but that’s the implementor’s problem. Users will need table-driven routines to perform tasks like sorting, character comparison, and other similar functions if their systems are to be capable of adapting to different languages and intended uses. English itself needs help with these tasks. In British telephone directories, for instance, it would be helpful if the names “McDonald” and "MacDon¬ ald’’ could be sorted to the same position. Such approaches can be extended into absurdity, of course, with the suggestion that O Donnell also be sorted to the same position—but it is not for the implementors to say where the line should lie between a genuine language-dependent problem and absurdity. The customer decides that question. And. in keeping with that, users should be able to generate their own collating and sorting tables so that they can introduce new schemes when the standard ones aren’t adequate. Conversions. Capabilities like toupper and to- lower run into some entertaining internationaliza¬ tion problems. As far as I can ascertain, the German lower case character /J (the "sharp s”) has no upper case equivalent, but converts into “SS” instead. What does toupper return in such circumstances? A string? This is a piece of woodwork that promises to reveal many worms once the paint is peeled off. REGULAR EXPRESSIONS The ramifications of internationalized regular expressions are actually unlikely to concern the great majority of system users. However, implemen¬ tors may want to use them to express concepts with which most of us are familiar. Some common ones include: [a-z] all lower case alphabetics [A-Za-z][A-Za-zO-9]* identifiers in C (almost) [-A-Za-z] any non-alphabetic character We could go on, but let’s assume that these have been used in sed and awk scripts for data validation. How then are they to deal with Norwe¬ gian—a language that is nearly as hard to pro¬ nounce as it is to write regular expressions for? All of the Scandinavian languages have the interesting feature of "extended” alphabets, with more letters than English. (Of course, the Scandinavians think that English suffers from a “restricted” alphabet.) All of the extra letters in Norwegian are vowels: s, 0 , and a. They follow immediately after “z” in the language’s collating sequence, but this isn’t where they fit in any proposed encoding I am aware of. Consider the following: ”a vaere eller ikke a vaere. det er sporen?" How are regular ASCII expressions to deal with something like this? There doesn’t seem to be any consensus at the moment. MESSAGES The suggestion that all prompts, strings, and so forth be extracted from programs and listed in databases is fine in theory, but difficult in practice. Let’s take a simple example. A program is written to prompt for the user’s name and then use it in responses. Some of the responses look like: printf("OK.%s.now I am going to %s your %s\n".name.action,object) : If “joe” has signed on, it might say: ”0K. joe. now I am going to test your typing skills" This works fine in English, but few other languages 26 UNIX REVIEW DECEMBER 1985 TANDY.. Clearly Superior * The Tandy 6000 lets your office balance the books track sales and write memos.. .simultaneously. For many companies, its hard to justify the cost of a separate computer for each employee. That’s why we de¬ signed the efficient Tandy 6000 multi¬ user computer. The Tandy 6000 system allows three people to simultaneously access programs and data, and you can expand with up to six users at any time. With a single Tandy 6000 and printer, you can save B - - - time and effort. \bur accounting can be processed in one office, word pro¬ cessing in another, and data base man¬ agement in a third office. The Tandy 6000 can also help with other departmental functions, like financial planning, inventory, job costing, and sales analysis. The Tandy 6000 comes with 512K of memory, XENIX 3.0 operating sys¬ tem and a 15-megabyte hard disk drive (26-6022, $5499). Discover how your business can benefit from a Tandy 6000 multi-user office system. Drop by your local Radio Shack Computer Center for a free demonstra¬ tion. Ask about our leasing 5 - nn Prices appiy at Radio Shack Computer Centers and participating confusion: Just a direct pa h to the features you need most. Features like terminal emulation ull access to I )OS functions. Error-free uploading and downloading ai loss public networks FAN s, or phone lines. Automatic restart and H overy of interrupted transfers. Key-selectable signon sequences Softkeys you can program from DOS or UNIX to automate repeat ma"nframes,'t(!<» eVen ' V ° U ^ l<> ° ther PC ’ S ’ • • and Honeywell Interested/ Give us a call for more information about DaTapaSS- your best route to error-free PC-to-UNIX communications. P DTSS Incorporated Burk Hoad • Box 70 • Hanover, NH o;i7f>f> •(>();{ (vl.MMOO A Subsidiary of Metropolitan Life Insurance Company l WIN is a trademark «»l* AT&T I tell I .a lira lories IBM is h.iriematk nl International Business Machines (Wporation. Circle No. 10 on Inquiry Card UNIX REVIEW DECEMBER 1985 65 ADVISOR Debugging with adb by Bill Tuthill m r \~V/ M In many ways, effective debug¬ ging is as critical as intelligent programming. The UNIX operat¬ ing system has achieved a certain stability in the marketplace, making debugging skills all the more important as consolidation of various versions of the system proceeds. Application software also demands debugging since there is at least one program for every known application, and at least one bug for every page of program source. Some bugs are merely a nuisance; others pre¬ vent programs from working altogether. Debugging isn’t glamorous. The joy of creating something original is largely absent. Afterwards, there's no new program to show your users. Nor can you produce pages of code to impress your manager. All you can say is that the software you’ve tended to works better than it did before. To my knowledge, no university offers a course on debugging, and no textbook exists that purports to teach debugging. This is too bad. because debugging requires much skill and programmers would benefit greatly from training on the subject. Even after Fred Brooks counseled against it in The Mythical Man Month, novice programmers have continued to be assigned debugging chores while more experienced programmers have been allowed to write new code. It is best if programmers maintain the code they write, but this does not usually happen because talented programmers like to move on to new challenges. On the other hand, some programmers actually enjoy debugging. Programmers who are good at the task usually fall into three categories: 1) those with good intuition and a grasp of the “big picture”; 2) 66 UNIX REVIEW DECEMBER 1985 those with great patience and attention to detail: and 3) those with a good debugger. It is hard to find programmers in the first two groups. And, unfortunately, the standard UNIX debugger, adb, does not qualify its users for the third group. [It should be men¬ tioned, though,that other debug¬ gers are available under UNIX— sdb, dbx, and cdb in particular.) All too often programmers use printfQ statements instead of em¬ ploying a debugger. This is a slow method, because code must be recompiled at every step. Intelli¬ gent use of a good debugger can yield better production. This article is the first of a series that describes the UNIX debuggers. The most widely propagated UNIX debugger is adb, which first appeared on Version 7 and has been on every major UNIX release since. One reason why UNIX programmers use printf() statements instead of a debugger is that adb is so limited. It may have the worst user interface of any UNIX program. Furthermore, it is not symbolic, so you can’t display C source code as you debug. Better debuggers are provided on other systems, including VMS and MS- DOS. This is embarrassing for an operating system that is supposed to be the best software develop¬ ment environment available. Like compilers, debuggers are not portable. Since both deal with machine instructions and subroutine calling sequences, they have to be changed when the UNIX system is moved to a new processor or even when a different implementation is used on the same processor. Consequently, adb is not the same under every implementation, lhe examples here were taken from an MC68000-based machine: you may see slightly different results on different UltraCalc* PEOPLE WHO DO HANDS-ON COMPARISON OF ELECTRONIC SPREADSHEETS CHOOSE ULTRACALC HANDS DOWN As you may have discovered by now, choosing a software package by its list of features or by the claims made by its manufacturer can be very disappointing. The best way to judge software is to use it. The next best way is to talk to people who have used it. Good software gets a reputation for being good. UltraCalc is an electronic spreadsheet of unusual quality. It’s reputation is getting around. We don’t expect you to take our word for it. We want you to judge its features for yourself. That’s why we’re offering free evaluation copies of UltraCalc on selected machines. UltraCalc is a virtual electronic spreadsheet program. You won’t run out of memory even on limited memory machines, and it’s FAST! If you compare, UltraCalc will outshine the competition. Lots of OEM’s and end-users are turning to UltraCalc for its speed, versatility, and ease of use, including IBM and AT&T. UltraCalc was written specifically for UNIX, so it takes full advantage of UNIX’s capabilities. It also runs on XENIX/UNIX 8086 and 80286 machines. Not only does UltraCalc run, but it runs circles around the competition. In spreadsheet size, recalculation speed, and ease of use, UltraCalc is the clear winner. UltraCalc is earning its reputation. We know that sonner or later you will hear about it. If you want to hear about it sooner than later, call or write us and we’ll arrange for a hands-on comparision. Some of UltraCalc’s advanced features: - Virtually unlimited spreadsheet size. - Full, multi-level, context sensitive, cross- referenced, on-line help. - Macro command files. - Report generating print facility. - Auto-linking of spreadsheets. - Automatic consolidation facilities. - Multiple key sorting on rows OR columns. - Escape to UNIX without leaving UltraCalc. - Importing/exporting of data, even through pipes. - Color/business graphic character support. - Vertical and horizontal bar charts. - Command recall. - Named cells and regions, use of names in com¬ mands and formulas. SOFTWARE, INC. UltraCalc is available from Olympus Software on the following machines: IBM PC/AT & PC/XT (XENIX, PC/IX) Altos, 486, 586, 986 (XENIX 3.0 & 2.3) Plexus P60 & P35 NCR Tower AT&T 3B2 & 3B5 (Sys V Rev 2) Sun Microsystems (Sunwindows) All UNIPLUS+ systems Intel 310 Motorola VME10 All XENIX/286 3.0 machines Tandy 6000 & Model 16 Fortune 32:16 Zilog S8000 (all models) DEC PRO 350 & 380 (VENIX) DEC VAX (all models, ULTRIX, BSD 4.2) SCI 1000 & 2000 Integrated Solutions (all models) Pyramid Convergent Technologies UNIX is a trademark of Bell Laboratories. XENIX is a trademark of Microsoft. Lake City, Utah 84105 -4534 Circle No. 60 on Inquiry Card Available NOW from IBM as Interactive Executive UltraCalc. Also available from AT&T as UltraCalc. UC ADVISOR It is best if programmers maintain the code they write, but this does not usually happen because talented programmers like to move on to new challenges. machines. Not all features of adb work on every processor. THE adb DEBUGGER Most of the time, programmers use adb to find out why a program dumped core (stack backtrace). To ensure valuable output, it’s first necessary to check that the program hasn’t been stripped of its symbol tables. If it has, few of adb’s features will work. In¬ voke the debugger as follows, where program is the pathname of the executable file that dumped core: $ adb program core Also, consider the program listed in Figure 1, ^include (stdio.h) ^define LIMIT 5 mainQ /* print message and die */ { int i: for (i = 1: i <= 10 : i++) { printf("Goodbye world!\n") : dumpcore(i): } exit(O)= } dumpcore(lim) /* de-reference NULL pointer */ int lim : { int *ip: if (lim >* LIMIT) { ip = NULL; *ip = lim : } } Figure 1 — A program that de-references a NULL pointer. which de-references (references through) a NULL pointer. This is a common (but illegal) operation on VAX/UNIX, but causes a core dump on MC68000- based UNIX systems. On many machines, an assignment to address zero will cause a core dump due to a segmentation violation or memory fault. Here’s how you could find out why the program died: S adb core file = core / program = a.out memory fault $c _dumpcore[80b8](5) + 26 _jiain[8074](1.fffd84.fffd8c) + 2e $C _rlumpcore[80b8](5) * 26 ip: 0 _main[8074](1.fffd84.fffd8c) + 2e i: 5 The request $c yields a C stack trace, while $C yields a stack trace and also prints the value of all local variables. Other useful requests are $r to print the contents of all registers, $e to print the value of ex¬ ternal variables, and $m to print out the memory maps. Note that the values of the local variables ip and i are just what we would expect—0 and 5. You can print the values of local variables in active procedures (ones that actually are located on the stack) by typing the procedure name, a period, and then the variable name, followed by a slash: main.i/ fffd68: 5 = orb «0,d0 dumpcore.ip/ fffd58: 0 = ??? The value of ip in the dumpcoreQ procedure is suspicious because it doesn’t point to anything. The three question marks are an indication that some¬ thing is amiss. If you are an assembly language buff, you can see the assembler instructions at the beginning of mairt() by typing: main.5?i _main: _main: link a6.#0 addl #-4,a7 moveml «<>,sp@ movl #1.a6@(-4) cmpl #a.a6@(-4) Now you’ll probably want to edit the program. To get out of adb, type CTRL-D or use the $q request. Since 68 UNIX REVIEW DECEMBER 1985 Some adb Format Letters Letter Description one byte as a character one short word in octal one short word in decimal one short word in hexadecimal one long word in octal one long word in decimal one long word in hexadecimal single-precision floating point double-precision floating point machine instruction a null terminated character string the value of dot (the address) print a newline print a tab decrement dot (not really a format) Figure 2 — A table of formats for the adb debugger. adb traps signals, you can’t interrupt out of it. SYNTAX SUMMARY You can examine locations in an executable file with the ? request, or locations in a core file with the / request. These requests take the form: address ? format address / format The address may be a number or a symbol. The cur¬ rent address, called dot, is set when you specify an explicit address, and can be advanced by pressing RETURN. A table of formats is given in Figure 2. Your system remembers these formats, so once you give an address and format, RETURN advances through memory in the same format. Note that capital letters indicate added length, as in the difference between short word and long word. Requests are different from formats because they cause adb to react, rather than simply to print data. Put your UNIX ™ Training in High Gear with... Learning that gets your attention. USER TR ammE CORPOR3TIO/J See us at UniForum Booth #1317 (408) 370-9710 130-B Knowles Drive • Los Gatos, CA 95030 Circle No. 15 on Inquiry Card UNIX REVIEW DECEMBER 1985 69 w C ADVISOR The adb dubugger may have the worst user interface of any UNIX program. The general form of a request is: address.count command modifier This sets dot to address and executes command count times. Figure 3 lists the meaning of various adb commands. The useful commands presented there —Sc for a stack trace, Sr for the registers, and Se for the externals—are all considered miscella¬ neous requests. SETTING BREAKPOINTS Many programmers are intimidated by the adb documentation for breakpoints, but it isn’t hard to learn and is well worth the effort. The main problem is that adb can set breakpoints only at the subroutine level—but not at the statement level (this is possible, however, with the 4.2BSD debugger dbx.) When you invoke adb, give a dash as the second argument to indicate that the core file should be ignored. (On some systems a second argument is not necessary.) This will let you run the program under the control of adb: S adb a.out - dumpcore+4:b $b breakpoints count bkpt command 1 _dumpcore+4 Some adb Commands Command Description ? print contents from a.out file / print contents from core file = print value of dot breakpoint control $ miscellaneous requests request separator ! escape to shell Figure 3 — The meaning of various adb commands. On an MC68000, set the breakpoint at the subrou¬ tine plus 4 (the first instruction sets up the stack frame pointer) and then list the breakpoints with the Sb request. To run the program, enter :r. To con¬ tinue the program after the breakpoint, enter :c. Do t his five times, printing the variable i to make sure it works: : r Goodbye world! breakpoint _dumpcore+4: main.i/ fffd68: 1 :C Goodbye world! breakpoint _dumpcore+4: main.i/ fffd68: 2 addl #-4.a7 orb #0.d0 addl #-4,a7 orb #0.d0 When the value of i reaches 5, the program will have a memory fault. This is because the NULL pointer is de-referenced only when lim becomes 5 or greater: main.i/ fffd68: 5 = orb *0.d0 : C memory fault stopped at _dumpcore+26: moveml a6@(-4).«<> Now you know exactly how the program got to the point where it core-dumped. If single-stepping proceeds too slowly, you can remove breakpoints with the :d request, which has the same syntax as :b. SOME ANOMALIES Like ed, adb issues no prompt. When it doesn’t understand a request, it types its name back at you. For example, if you forget to put the slash after a variable name, you’ll see something like this: main.i adb This is the same response you’ll get if you try to in¬ terrupt it. You can print external variables simply by giving their name before the slash. Local variables, however, must be preceded by their function name. If you forget to do this, you’ll see the following message: i/ symbol not found 70 UNIX REVIEW DECEMBER 1985 Many programmers are intimidated by the adb documentation for breakpoints, but it isn't hard to I earn and is well worth the effort. If everything fails, you are probably trying to debug an executable file that has been stripped of its symbol tables. Make sure the file command reports that it is “executable not stripped” before starting to worry. If the file has been stripped, recompile the program and try to duplicate the bug that caused it to dump core in the first place. If you cannot recompile the program, you’re out of luck. Q-CALC A superior spreadsheet on UNIX* As powerful as Lotus 1-2-3* large spreadsheet many business functions complete GRAPHICS package translates 1-2-3 models into Q-CALC already ported to: VAX, Callan, Fortune, 3B2, Cyb, Plexus, Codata, Cadmus, Masscomp, Sun, etc. Ideal for VARs/ISVs Available since Jan. ’84 For more information write/call Quality software Products 348 S. Clark Drive Beverly Hills, CA 90211 213-659-1560 * Lotus 1-2-3 is a trademark of Lotus Development Corp. UNIX is a trademark of AT&T. Circle No. 16 on Inquiry Card It is possible to use adb to examine arbitrary binary files, to disassemble object code, and to patch binary files. The first task can also be done with od, but adb provides lots of control over the output format. You can even write adb scripts for non¬ interactive use. The patching of binary files is outside the scope of this article, but can be of great use for binary UNIX licensees. Next month, we will discuss a more powerful debugger, available on 4.2BSD— dbx. It is a symbol¬ ic debugger, so you can display code as you’re debugging. You can also set breakpoints at source statement boundaries, which is extremely useful. Bill Tuthill was a leading UNIX and C consultant at UC Berkeley for four years prior to becoming a member of the technical staff at Sun Microsystems. He enjoys a solid reputation in the UNIX community earned as part of the Berkeley team that enhanced Version 7 (4.0, 4.1, and 4.2BSD). m SS 68020 SOFTWARE TOOLS WE ARE PROUD TO ANNOUNCE THE BIRTH OF THE NEWEST MEMBERS OF OUR 68000 FAMILY ... YOUR 68020 TOOLS ARE HERE! TOOL KIT * 68000/10/20 Assembler Package: - Macro Cross/Native Assembler - Linker and Librarian - Cross Reference Facility - Symbol Formatter Utility - Object Module Translator * Green Hills C 68000/10/20 Optimizing Compilers * Symbolic Debuggers AVAILABILITY VAX, microVAX, 8600, Sun, Pyramid, Masscomp. IBM/PC, OASYS Attached Processors for VAX and PC, others. Runs under VMS, Bsd 4.2, System V, MS/DOS. dozens more. You name it ... We provide a "One-Stop Shopping" service for more than 100 products running on. and/or targeting to. the most popular 32-, 16- and 8-bit micros and operating systems FEATURES Runs native or cross. Extensive libraries. Supports OASYS compilers. Generates PROMable output and PIC. Full Floating Point support. • Written in C: fast, accurate, portable. • Supports 68000 and 68010. • 5,000 line test suite included. • EXORmacs compatible. • Produces full listings and maps. • Outputs S-records and Tek-Hex formats. Over 100 Other OASYS software tools to choose from. -a Division or xel 60 Aberdeen Avenue. Cambridge, MA 02138 (617) 491-4180 Circle No. 17 on Inquiry Card UNIX REVIEW DECEMBER 1985 71 mini mm -hu i mmmmmmu Pi m m m m m m m m mmmmim mmm-mmmmm mmmwmmmw mmm-mmmmm mmmmmmmm mmmmmmmm mmmmmmmm One company. One OS. One to240 users. A singular statement. With multiple benefits for who understands more about what makes your y0Ui business special than any collection of suppliers Software transportability. Vertically, as well as could ever hope to. horizontally. Because Sperry is the world s largest supplier Open channels of information, communication of hardware running the UNIX™ 0/S, it’s the only and the creative energy that results when many company that can offer you all the benefits of users can share the same ideas, address the same the UNIX Operating System in such a range of problems. superior products, including. A growth path that is impossible to outgrow. Desktop PCs. And therefore protects your investment, by Microcomputers, enhancing it. . Minicomputers. And the securitv of dealing with a single supplier Superminis. t+H tHittW tf4 Hi ItHmtm.WttHTtHw tHiWMWWtWtttltH tHi tW ttHIHt HU HU HU ttUHU HU HU tfi HUHUHUHHHHHUHUnUHUHUHUHl And up. And Mainframes. A single call will bring you a free Sperry Inform¬ ation Kit on our Micro-to-Mainframe line featuring' the UNIX™ Operating System. For your copy, or to arrange for a demonstration at a Sperry Productivity Center near you, tele¬ phone toll-free: 1-800-547-8362, ext. 6L Or write Sperry Corporation, P.O. Box 500, Blue Bell, PA 19424-0024. Resellers: Call Sperry at 1-800-547-8362, ext. 125 to carry the only complete UNIX 0/S micro-to-mainframeline. •UNIX is a trademark of AT&T Bell Laboratories. fis n »rr V mor Circle No. 63 on Inquiry Card RULES OF THE GAME Law and motion by Glenn Groenewold By now nearly everyone who reads the business pages must be aware that Steven Jobs, co¬ founder of Apple Computer, sev¬ ered his connection with that company this past September. Most of these readers probably also know that Apple quickly responded by filing a lawsuit against its former leader, claim¬ ing that by planning and starting a new enterprise, Jobs had violat¬ ed his obligations to the company and thus had harmed it. It’s too soon, of course, to know what will come of this controver¬ sy. Possibly the entire matter will end up being settled quietly. If so, that would be that. But if this doesn't happen, the dispute has the potential to generate a land¬ mark court decision—one which could have a major impact on the future of the computing industry. Jobs, after all, can be consid¬ ered the archetypical computer entrepreneur. He started a busi¬ ness with Stephen Wozniak in a garage in 1976, and then presided over the endeavor's growth into a Fortune 500 company. In the process he not only became a rich man. but, as much as anyone, helped bring the computer out of the domain of giant corporations and into America’s schools and homes. Though the Jobs and Wozniak enterprise was perhaps the most spectacular of the Cinderella sto- 74 UNIX REVIEW DECEMBER 1985 ries emerging from what came to be referred to generically as Sili¬ con Valley, Apple was scarcely alone in its success. These days the observation is made with increasing frequency that none of this achievement would have been possible in the absence of the free-wheeling atmosphere that prevailed in the computing field during the '70s. It was a time when hardware and software were viewed as things to be used, improved upon, and then left behind as dazzling leaps were taken into superior technology. This was all happening too fast for anyone to pay much attention to legal niceties such as licensing requirements and ownership of derivative creations. Who really cared about protecting a propri¬ etary interest in something that soon would be obsolete? The re¬ sult was a field day for hackers. A new industry typified by such rapid technological innova¬ tion at the hands of a large number of gifted—and generally quite young—individuals is prob¬ ably without parallel in our histo¬ ry. Though the infant motion picture industry had its rough- and-tumble beginning, film tech¬ nology stabilized relatively quick¬ ly, and control over theaters and escalating costs of film produc¬ tion soon limited access for new participants. By contrast, computer technol¬ ogy continues to advance at dizzy¬ ing speed, and no one can predict where it might take us. Moreover, unlike other 20th Century indus¬ tries founded on new technol¬ ogies—automobile and aircraft production, for instance—com¬ puting has continued to provide nearly limitless opportunities for perceptive individuals and small concerns. Requirements of scale and financing precluded this sort of individual entrepreneurship in other fields. But is the creativity that has characterized the computing in¬ dustry now in danger of being stifled by the application of legal concepts that tend to favor estab¬ lished enterprises? Questions of this sort are being asked more and more often. Steve Jobs him¬ self has been quoted as saying, ‘With five other people 1 want to go start a company. . .and they Compare These Special ^ Easy to remember mnemonic commands s Online user’s manual for instant help s Menu driven interface Fast - 9600 baud file transfers ^ Self installing ^ Powerful scripting language with variables ^ Wildcard file send/receive capability s Automatic error-checking and re-transmission s Xon/Xoff, Etx/Ack, Line and character proto¬ cols for communications with non-TERM systems s Xmodem protocol for remote bulletin boards Full/half duplex emulation modes s Automatic login and logout ✓ Auto-dial, auto-redial, answer and hangup modem support ^ Unlimited phone number directory for auto¬ dialing ^ Unattended file transfers ^ Remote maintenance capability ^ Sample scripts included s MS-DOS and CP/M versions available to TERM with your Unix/Xenix communications problems. TERM - More Powerful. To Use. TERM - Powerful Communications. TERM - Unix/Xenix’s most powerful communications program. TERM Communications Software provides a full-featured, programmable communications tool under the Unix/Xenix environment. You’ll appreciate TERM’s ease of use, compatibility with a wide user base, and ability to talk to most other systems. TERM is both a smart terminal and file transfer program. It has extras you won’t find in other Unix communications programs: On-line HELP, character translation, efficient error-checking protocols and file transfers for text and binary data. TERM provides full modem control, an extensive script language, auto-login and logout functions, and can be run unattended for remote maintenance. TERM COMMUNICATIONS SOFTWARE Call or write for more information. CENTURY SOFTWARE TERM is .available NOW on the Altos 586, 2086, IBM AT, Tandy Model 16, 6000, AT&T 3B2, IBM PC/XT, and many others. Find out how easy it is to get your Unix, Xenix and MSDOS machines all talking together. 9558 South Pinedale Salt Lake City, Utah 84092 (801)943-8386 VISA / MC Unix is a trademark of AT&T Bell Laboratories. MS-DOS and Xenix are trademarks of Microsoft Corp. CP/M is a registered trademark of Digital Research Inc. Circle No. 56 on Inauirv Card U RULES OF THE GAME won't let me. If this hadn’t hap¬ pened before, how could there ever have been a Silicon Valley?” How indeed? And yet there have to be rules of the game for the computer industry, as for any other. Its future may depend on whatever the courts decide these are to be. THE "CASE" AGAINST STEVEN JOBS Regular readers of this column should have little difficulty understanding the grounds on which Apple’s suit against its former wunderkind is based. To begin with, Jobs, like any employee, owed the company a fiduciary duty. But Jobs was, of course, more than an ordi¬ nary employee. He had been Ap¬ ple’s vice-president until he was pushed out of that position last May. Even afterwards he re¬ mained chairman of the com¬ pany’s board of directors. In these positions, the law dictates that he had a greater responsibility to serve the interests of the com¬ pany than even a key employee would have. In whichever capacity, Jobs certainly could have been ex¬ pected to acquire intimate knowl¬ edge of Apple’s operations—at least through last April. It would be surprising if this knowledge did not encompass many, if not all, of Apple’s trade secrets. In addition, it seems reasonable to assume that Jobs would have become familiar with a great deal of proprietary information which, though lacking the exalted sta¬ tus of a trade secret, neverthe¬ less remains valuable to Apple in maintaining its competitive position. Apple’s suit against its former chairman was triggered by the disclosure that he intended to launch a new company oriented toward the university market, and that five of Apple’s employees would be joining him in the ven¬ ture. As might be expected, each side has its own version of the facts beyond these bare details. Apple contends that the former employees who will be associated with Jobs’ new company, Next, Inc., held key technical, finan¬ cial, and marketing positions. Specifically, Apple’s suit names Richard A. Page, who while em¬ ployed at Apple allegedly worked on the type of technology that it’s speculated Next intends to utilize. Who really cared about protecting a proprietary interest in something that soon would be obsolete? In its lawsuit, Apple asks that Jobs and the other five former employees be prevented from us¬ ing the assertedly confidential information they acquired while at Apple, that they be precluded from hiring any more of Apple’s employees, and that they be barred from competing with their former company. For his part, Jobs denies that Next intends to use Apple’s tech¬ nology or to enter into direct competition with it. Whether the employees who left to join him were key employees or not “de¬ pends on what your definition of ‘key’ is”, he stated. And Jobs insists that Next will not be doing anything similar to the project Page was working on at Apple, noting that protection of Apple’s trade secret prevents him from discussing the matter further. WHAT'S AT ISSUE The Apple-Steve Jobs contro¬ versy brings to a head the ques¬ tion of how much use departing employees can make of knowl¬ edge and contacts acquired dur¬ ing employment. We discussed these problems in some detail in “What can you take when you clean out your desk?” in October, 1984. There, it was indicated that the trend is for the courts to protect employee mobility when possible. It also was pointed out that blanket prohibitions against competing with a former employ¬ er are void in California, which is the site of Apple’s present lawsuit. A great deal will depend on the provisions of the employment contracts and agreements signed by Jobs and the other departing employees while they still were at Apple. The circumstances under which they acquired their knowl¬ edge of technical matters also will be significant. (Employment agreements were the subject of last September’s column, while the general area of lawsuits be¬ tween former employees and em¬ ployers was explored last month.) As we’ve suggested in many of these earlier columns, the legal concepts that apply to employer- employee relationships can be simply stated, but in practice are difficult to apply to the business of computing, both because of the nature of the technology and because of the relatively unstruc¬ tured work environments charac¬ teristic of the industry. For in¬ stance, press accounts indicate that Apple became interested in RISC technology earlier this year, and that Richard Page supposedly “participated” in “several” meet¬ ings concerning it. Even taking this to be the case, should Page be precluded from working with this technology for the remainder of 76 UNIX REVIEW DECEMBER 1985 his professional career? The Apple-Jobs controversy raises fundamental questions re¬ garding the application of estab¬ lished legal concepts to this in¬ dustry. Exactly what is a trade secret in the computing field, anyhow? How deeply does a com¬ pany have to be involved in a technology in order to claim a proprietary interest in it? Just when is an employee considered to be on his or her own time? Where does the employee’s duty to an employer begin and where does it end? How much weight should the courts give to agree¬ ments that attempt to limit an employee’s use of information acquired during employment? Another factor, unique to com¬ puting, enters the picture. Aside from entertainment and sports, there probably is no other indus¬ try where such a great number of individuals reach the top of their profession near the beginning of their working lives. Steve Jobs illustrates this; as he wrote in his letter of resignation, “I am but 30 and still want to contribute and achieve.” And while entertain¬ ment and sports careers often depend on physical attributes that do not survive the passing of time, there is no comparable limitation on computing skills. It’s difficult to conceive that a court will tell Jobs that he must spend the remainder of his days tending roses in his garden be¬ cause he knows too much to be allowed to continue in his chosen profession. If Apple vs. Jobs does not resolve these questions, sooner or later we shall see other lawsuits that will. The entire industry has a stake in their outcome. BY THE WAY. . . Apple Computer has been pro¬ viding quite a bit of subject mate¬ rial for this column. In July, 1984, we considered the landmark court decision of Apple Com¬ puter. Inc. vs. Franklin Com¬ puter Corporation. In that case, as readers will recall, Apple obtained a decision from a US Court of Appeals establishing that Franklin had infringed Ap¬ ple’s copyrights by copying 14 of its operating programs for the Apple II. However, the court in its opinion also put forth the scary notion that if Franklin could prove there was no other way these programs could have been written to achieve their purpose, Apple’s copyrights would be in¬ validated. Following this deci¬ sion, Apple and Franklin settled the suit. Then, in September of this year Franklin unveiled its new per¬ sonal computer, which it says is compatible with software de¬ signed for the Apple II. Presum¬ ably, Franklin was able to come up with alternate operating pro¬ grams of its own, though Frank¬ lin’s CEO is quoted as complain¬ ing that the Apple ‘‘was designed in a manner to make it difficult to build a computer and not infringe on the company’s copyright.” Questions on legal subjects from readers of this column are most welcome. Individual re¬ sponse is usually not possible, but queries dealing with areas that are of general interest to the UNIX community are used as the basis for future columns. Any questions (or comments) should be sent in care of UNIX REVIEW. 500 Howard Street , San Francisco. CA 94105. Glenn Groenewold is a California attorney who devotes his time to computer law. He has served as an administrative law judge , has been active in trial and appellate work , and has argued cases before the state Supreme Court. ■ Much More than cu and uucp— OUTBOUND™ Simplicity for the End User • Menu control of communications link • Local scripting for batch terminal sessions Flexibility for Outside Communications Terminal emulation • X.PC and X.MODEM protocols for public data access Security Provisions for Management Control • Remote host control over local machine • User/group level security - Automatic audit trails for traffic/cost of communications For further information, contact: COSI, Incorporated 313 North First Street Ann Arbor, Michigan 48103 Phone: (313) 665-8778 Telex: 466568 COSI Cl Outbound is a trademark of COSI, Inc. Circle No. 18 on Inquiry Card UNIX REVIEW DECEMBER 1985 77 THE DEVIL'S .ADVOCATE. Goodspels, badspels. . . by Stan Kelly-Bootle Those of you blissfully un¬ versed in contemporary Biblical scholarship still must be basing your Christmas activities hope¬ fully and innocently on the King James Version of the Gospels. In particular: Glory to God in the highest , and on earth peace , good will toward men. Luke 2:14 (KJV) Yet, most reputable scholars, suitably aided with Biblical and Dead Sea Scroll databases, are now convinced that the Greek word eudoxia is better translated in the above context as “good pleasure” or “favor” rather than as “good will”. Further, the pre¬ ferred Lucan manuscripts have eudoxias, which is the genitive form: “of (God’s) good pleasure”. Cutting through many years of heated exegesis (see, for example. The Anchor Bible , Volume 28, pp. 410-412, Joseph A. Fitzmyer, Doubleday, NY), we can report that the heavenly hosts undoubt¬ edly proclaimed to the frightened shepherds: Glory in highest heaven to God: and on earth peace for people whom he favors. The good news is that anthro¬ poid formerly rendered in the macho modal (“men”), becomes “people”, thereby subsuming the ladies. The not-so-good news is that the Almighty is still male (to offset this, though, note that Commodore’s Amiga is a sefiorita) and that the target group for peace is restricted to those whom God favors or to whom he “mani¬ fests his predilection” (op. cit. p. 411). Whether this spoils your holi¬ day or not I must leave to you and your conscience. Other season¬ able scriptures, unchanged as far as I can determine at the time of this essay, stress the advantages of giving over receiving, a precept that I wish more of my friends would observe! The same secular tendencies that label Christmas as “Xmas” or “Bah-humbug- time” also replace the pure joy of giving with a cold, annual calcu¬ lation known as the exchange of gifts, whereby December 26 is spent unwrapping the new PC and computing VAL_GIFTS_IN and VAL_GlFTS_OUT. Any im¬ balance is carefully noted and used to prepare next year’s shop¬ ping lists. If you doubt me, look up “Present Value” in the in¬ dex of any book on Actuarial Algorithms. “What’s in all this for me, me, me?” I hear you bleat. Well, I seem to have talked myself into a generous frame of mind, and many of you will benefit as 1 discharge my merry sleigh. True, some of my gifts this year will be of an advisory disposition, but remember that computer con¬ sultants are so exorbitant nowa¬ days that it is patently crazy to ignore their advice. With mine, which is free, you can take it or leave it; see if 1 care. I am even prepared to offer a free second opinion. The first present out the bag goes to the semiconductor indus¬ try—my suggestion is that it immediately adopt a sensible sup¬ ply/demand mechanism. It ap¬ pears obvious to me that the only solution to the present roller¬ coaster instability is to make demand continuously responsive to supply , rather than the other way round. You see how simple things can be when a fresh, uncluttered mind approaches a problem from the outside? 78 UNIX REVIEW DECEMBER 1985 Ah, and here we find a game for all those who consider Raymond Smullyan’s puzzles too difficult. I call it the “Towers of Cracow”. You have to transfer the hoop from A to B without using C. (See Figure 1.) Next, for non-accountant com¬ puter scientists who have been forced to use spreadsheets, I offer binary and hex versions of a well- known package, which I have named Lotus 01-10-11 and Lo¬ tus H01-H02-H03, respectively. These help spreadsheets look like the more familiar and tractable core dumps. I have something special for all ye who labor in vain. Whenev¬ er your genius slips by unrec¬ ognized, re-read the following complete review of the first-ever performance of Mozart’s opera Idomeneo in 1781, as reported in the local Munich newspaper: On the 29th of the month, the opera Idomeneo was per¬ formed for the first time in our new opera house. Li¬ bretto, music and transla¬ tion originated in Salzburg. The decorations—of which the most inspiring are the view of the seaport and the temple of Neptune—are masterpieces by our archi¬ tect, Mr. Corent Quaglio, and aroused the admiration of all. Is there a Mr. (or maybe a Mrs.) Quaglio in your life, grabbing all the glory? Everyone it seems—including such culprits as glossarist Steve Rosenthal — keeps complaining about the impossible data flow generated by the computer indus¬ try—this daily accumulative as¬ sault on the finite bandwidth of our comprehension. Our numbed channels, they claim, can no longer distinguish useful signals from noisy hype. So. for all of us, God-favored or not, I whisper a heartfelt prayer for peace and a well-earned break from the dyna-quo. Liverpool-born Stan Kelly-Bootle has been computing, on and off, at most levels since the pioneering EDSAC I days in the early 1950s at Cambridge University. After graduat¬ ing from there in Pure Mathematics , he gained the world's first post¬ graduate diploma in Computer Sci¬ ence. Between authoring such books as The Devil's DP Dictionary and The MC68000 Pnmer, he has also served as Chairperson of the Biblical Studies Special Interest Group for the Asso¬ ciation of Literary and Linguistic Computing. ■ ^ o o The “Towers of Cracow” game—what a great gift idea! (0 0 u PC to UNIX™ conversations open with— A A’ d 6 O Distributed processing Dynamically distribute data and programs to PCs Control all PC access to corporate data with UNIX Reliable Systems Monitor with UNIX Investigate PC environment with UNIX utilities DP Managemen Audit, security, and integrity functions TANGO FEATURES: Terminal Emulation File Transfer Full Host Control For further information, contact: COSI, Incorporated 313 North First Street Ann Arbor, Michigan 48103 Phone: (313) 665-8778 Telex: 466568 COSI Cl UNIX is a trademark of AT&T Bell Laboratories. Tango is a trademark of COSI, Inc. Circle No. 19 on Inquiry Card UNIX REVIEW DECEMBER 1985 79 Note: only those terms relat¬ ed to the general topic of UNIX internationalization have been included in this listing. ANSI X3.64 — the prevailing standard for character encoding and display in the non-IBM mini¬ computer and mainframe world. A superset of ASCII, it includes escape sequences for communi¬ cations and output formatting. attribute —an extra unit of infor¬ mation attached to a character, word, or region indicating how it should be displayed or processed. Many programs in UNIX use the eighth bit in each byte to convey attributes (the shell uses it to “quote characters” conveniently, for example), but this makes for trouble when the seven-bit ASCII character set is expanded to eight bits to accommodate internation¬ al alphabets. Berne Convention —a major in¬ ternational treaty for the protec¬ tion of intellectual property. For protection under the Berne Con¬ vention, software must first be published in a Berne Convention country. The US is not one of these countries. binding —the process of assign¬ ing a system resource—such as the text of error messages—to a program where it can be changed THE UNIX GLOSSARY Worldly words by Steve Rosenthal from its general form to a specific code in order to be executed. Ideally, programs for internation¬ al use should be written in a language-independent way with hooks that allow them to be bound to appropriate localiza¬ tion packages. This process is sometimes called assignment. character class —a construction used to specify a range of charac¬ ters acceptable for use in a token attached to a particular com¬ mand or instruction. In the UNIX shell notation, a character class is created by enclosing a speci¬ fied range in square brackets. For international use, character classes present thorny problems because they depend on an equiv¬ alence between the collating se¬ quence of underlying codes and the dictionary collating sequence of visible characters—an equiv¬ alence that does not occur in many languages. character set —the complete col¬ lection of characters a computer is capable of representing. Most UNIX machines use the ASCII character set, which defines 128 characters by using seven-bit code values that are part of eight- bit bytes, in which the high bit commonly is ignored or set to zero. However, for international use, larger character sets using as many as 32 bits to encode each symbol may prove to be necessary. code expansion —the enlarge¬ ment of a character set by in¬ creasing the number of bits used to denote each character. Al¬ though this theoretically is the cleanest way to make room for more characters, it often creates a multitude of practical difficulties. In UNIX, for example, many sys¬ tem utilities assume seven or eight-bit characters, and thus would need to be rewritten in order to accommodate characters of a longer bit length. code extension —the use of char¬ acter sequences to represent symbols that cannot be accom¬ modated in the normal codeset. The most frequent method is to define an “escape” character 80 UNIX REVIEW DECEMBER 1985 that introduces such sequences and then, as needed, ascribe meanings to those extended char¬ acter sequences that seem useful. Codes also can be extended by using “escape” sequences to shift between two or more subsets; this is the method most commonly used to extend the seven-bit ASCII code for international use. codeset —the collection of num¬ bers available to represent char¬ acters or other information in a given computer system or pro¬ gram. Most codesets are less fa¬ miliar to users than their corre¬ sponding character sets; consider the ASCII code and character set, for instance. collating sequence —the order in which items are sorted. For example, alphabetical order is the most common collating se¬ quence for entries in a diction¬ ary. Because most sorting on computer systems is based on a simple comparison of the codes that represent characters—rath¬ er than on the true lexical rela¬ tionships between characters— the results of a computer sort can seem illogical to the lay observer. Collating sequences are problem¬ atic when the order of a codeset differs from that of corresponding symbols: some UNIX utilities can handle these sorts of irregulari¬ ties (as in the case of the differ¬ ence between lower and upper case letters), but the problem is more acute with many non-Eng¬ lish alphabets. cursive —a writing style that uses letters that are connected by flowing lines. Cursive character sets are difficult to implement because letter forms often differ depending on preceding or suc¬ ceeding characters, and on the position a character maintains within a word. date format —the way a date is represented in written form. In the US, the abbreviated date for¬ mat is mm/dd/yy (with mm standing for month, dd for day, and yy for year). In other regions of the world, the positions of days and months often are transposed. See European date. dead-key —a key on a typewriter or other printing apparatus that sets a mechanism to prevent a normal advance to the following print position. For European lan¬ guages that use accents, electron¬ ic systems sometimes use the electronic equivalent of a dead- key to produce a composite char¬ acter out of a normal letter and an accent mark. diacritical mark —an accent or other modifying symbol attached to a letter. In some languages, diacritical marks serve only to alter pronunciation, while in oth¬ ers the mark changes the nature and alphabetical order of the letter. Standard UNIX does not support diacritical marks. Many utilities, in fact, cannot handle the two and three-byte combina¬ tions sometimes used to repre¬ sent characters with such marks. European date —a date given in the dd/mm/yy form rather than the mm/dd/yy form used in the United States. See date format. GMT —the English-language ab¬ breviation for “Greenwich Mean Time”, the traditional standard for solar time obtained by using the local time in Greenwich, Eng¬ land, as a reference. In more recent documentation, this same value has come to be referred to as “Universal Coordinated Time”. hard-coded —as applied to mes¬ sages and instructions in pro¬ grams, “hard-coded” refers to instructions embedded within program code instead of those that are linked by way of a connection to a separate module to □ u When UNIX™ is too much, And DBMS is too little— VISUAL/menu i Standardized .End-User Interface. Full-screen interface Identical interface for transactions Increased Progfammer/Analyst Productivity Interactive, full-screen (graphic) interface to set of tools Incremental specification of transactions, screens, and help text Incremental development using top-down design, bottom-up implementation Improved Management Control Security definable by user and transaction Automatic transaction logging For further information, contact: CQSIj Incorporated 313 North First Street Ann Arbor, Michigan 48103 Phone: (313) 665-8778 Telex: 466568 COSI Cl UNIX is a trademark of AT&T Bell Laboratories. VISUAL/menu is a trademark of COSI, Inc. Circle No. 22 on Inquiry Card UNIX REVIEW DECEMBER 1985 81 Illlllllll or file. intellectual property —the legal term used to refer to the rights that authors of programs and other intellectual works can use to protect the fruits of their labor. Unfortunately, the rights accord¬ ed to intellectual property vary greatly from country to country, thus complicating the efforts of those who would like to sell UNIX programs internationally. Basmark BASIC The first IBM—PC Compatible BASIC Compiler for UNIX® Available now: • IBM/370, Amdahl • VAX®, PDP®-11 • Intel® 80286, 8086 • Motorola® 68000 • System V, System III • 4.xBSD, Xenix® • AT&T 3B2 (in progress) - Binary/Source licenses available OEM/Distributor inquiries invited Basmark Corporation 1717 East Ninth ■ Cleveland, Ohio 44114 (216) 621-7650 Trademarks: Motorola - Motorola Inc., VAX, PDP- Digital Equipment Corp., IBM - International Business Machines Corp., UNIX - AT&T Bell Laboratories Inc., Intel - Intel Corp., Xenix - Microsoft Corp. Circle No. 20 on Inquiry Card international characters-a col¬ lection of letters from the or¬ dinary Roman alphabet that bear the diacritical marks needed to print various European lan¬ guages. All countries, of course, have a different view of what an “international character” is and what a “national character” is. international character set —a collection of letter forms used in various languages—in particu¬ lar, the currency symbols and Roman alphabet members re¬ quired for the printing of various European languages. See also ISO character set. ISO character set —the various alphabets and symbols used in different countries, as standard¬ ized by the International Stan¬ dards Organization. ASCII is ISO Alphabet Number 5. JIS —an abbreviation for Japa¬ nese Industrial Standard, a Japa¬ nese equivalent to the US ANSI (American National Standards Institute) or ECMA (European Computer Manufacturing Associ¬ ation) standards. JIS values are used by most Japanese compan¬ ies in the production of terminals and printers, including many that ultimately are used with UNIX systems. Kanji —the Japanese pictogra- phic character set, consisting of thousands of different charac¬ ters. Various attempts have been made to produce versions of UNIX that use Kanji, with most of these using two-byte (16-bit) codes for each character. Katakana —a phonetic render¬ ing of the Japanese language that can be expressed in well under 100 characters, making it 82 UNIX REVIEW DECEMBER 1985 suitable for use with keyboards and display screens. Unfortu¬ nately, Katakana is regarded as being more crude than full Kanji, which, of course, is much more difficult to implement on computers. language-independent —said of programs or systems that work equally well under different lan¬ guages, at least once their mes¬ sage and help screens have been translated. Much of UNIX cur¬ rently is not language-indepen¬ dent, especially those utilities concerned with text processing, sorting, and file formatting. lexical —referring to the way that elements of a language or code are constructed, rather than to the meanings (semantics) these elements have or the way they are combined (grammatics). Lexical issues, such as the means by which languages with symbol repertoires larger than 128 or 256 characters are represented, are a major concern in efforts to internationalize UNIX and other software products. localize —to change a program or system into a form suitable for a particular country, starting ei¬ ther from a universal version or from a different national imple¬ mentation. Most vendors agree that UNIX and its attendant soft¬ ware will need to be localized if it is to be successfully sold and supported internationally. Pan American Convention —a set of major treaties that protect intellectual property rights in the Americas. The US is a party to the Buenos Aires Convention in this series. Among its other require¬ ments, the convention specifies that the phrase “All rights re¬ served” (or “Todos los derechos reservados”) must appear on all materials to be protected. repertoire —the total group of symbols to be included in a char¬ acter set, providing there’s room. In most cases, a smaller subset is chosen for inclusion. transborder data flow — the transmission of information, particularly computer informa¬ tion, across national boundaries. Many nations restrict such trans- border exchanges, either for eco¬ nomic or privacy-protection rea¬ sons. The UNIX community, on the other hand, expects to send data back and forth freely using such networks as Usenet and EUnet. Universal Coordinated Time— the more formal and contempo¬ rary name for “Greenwich Mean Time”, the mean solar time de¬ scribed by using the local time in Greenwich, England, as a refer¬ ence. By historical convention, this is the most popular time standard used internationally. Universal Copyright Conven¬ tion —the principal internation¬ al treaty protecting intellectual property. In essence, it gives the residents of all treaty countries the same rights international¬ ly that they enjoy as citizens in their own countries—providing, of course, that certain standard procedures are followed. The US is a member of this convention. Zulu Time —the name given to expressions of Greenwich Mean Time that use a 24-hour clock. Zulu Time is often used by international networks and documents. If you have comments , ques¬ tions, or corrections to ojjer, please send them to Rosen¬ thal's UNIX Glossary . Box 9291, Berkeley, CA 94709. Steve Rosenthal is a lexicogra¬ pher and writer living in Berkeley. His columns regularly appear in six microcomputer magazines. ■ Tape Management and Backup for UNIX™ El F ^ 1 E l ™ Automatic Backup Operations Full-screen operator interface Automatic configuration of different backups Error handling Automatic logging of tape events Standardized i Interfaces to Tape 1 Devices IBM and ISO/ANSI tape label formats Management mount/ dismount queues and operator interfaces Access/update tape system library database Improved Disk Utilization User-oriented utilities to request file backup Reports showing file and tape usage For further information, contact: COSi, Incorporated 313 North First Street Ann Arbor, Michigan 48103 Phone: (313) 665-8778 Telex: 466568 COSI Cl UNIX is a trademark of AT&T Bell Laboratories. REEL is a trademark of COSI, Inc. Circle No. 21 on Inquiry Card UNIX REVIEW DECEMBER 1985 83 FIT TO PRINT High tide in C literature by August Mohr For years, the notable refer¬ ence on the C language was The C Programming Language , by Bri¬ an W. Kernighan and Dennis M. Ritchie. Although the past couple of years have seen several addi¬ tions to C’s bibliography, it wasn’t until a few months ago that the floodgates truly opened. This month’s commentary looks at three of the books included in the recent torrent: The C Answer Book , by Clovis L. Tondo and Scott E. Gimpel; C Made Easy , by Herbert Schildt; and Reliable Data Structures in C, by Thomas Plum. The C Answer Book Clovis L. Tondo and Scott E. Gimpel 209 + vii pp. ISBN 0-13-109877-2 Prentice-Hall, Inc., 1985 Englewood Cliffs, NJ 07632 $14.95 (paper) built our solutions using the language constructions known at the time the exer¬ cises appeared in K&R. The intent is to follow the pace of K&R. Later, when you learn more language con¬ structs, you will be able to provide possibly better solutions. Since the avowed emphasis of the book is on solutions to exer¬ cises, it’s hardly surprising that it contains more program than prose. Basic concepts of the C language are not the concern of this work. Such explanations are properly left to K&R. All that is repeated from K&R are the problem statements (complete with page references). The solutions to these problems are explained in detail, if a bit dryly. For example: Exercise 4-9: (page 87 K&R) The C Programming Language has become such a “bible” among C programmers that it commonly is referred to simply as “the white book’’. The C Answer Book is a long-awaited companion to this old favorite. Tondo and Gimpel have provided answers to the exercises presented by Kernighan and Ritchie. In describing the premise of their book, they note: Careful study of The C Answer Book, used in conjunction with K&R. will help you under¬ stand C and teach you good C programming skills. Use K&R to learn C, work the exercises, then study the solutions presented here. We Define a macro swap(x, y) which inter¬ changes its two arguments. (Block structure will help.) ^define swap(x. y) { int_z ; _z = y ; y = x : x =_z ; } The swap macro works if neither of the arguments is _z. If one of the arguments has the name _z, then when the macro is expanded it becomes { int _Z; _Z =_Z; —Z = X ; X=_Z; } arid the result is undefined. The assumption 84 UNIX REVIEW DECEMBER 1985 NAME THE MOST WDEDTUSED MIEGRATED OFFKE AUTOMATION SOFTWARE FOR UMX SYSTEMS. "UWPIEXH" YOU'VE GOT IT! User satisfaction is the primary reason no other product can make this claim. Already in its second generation, UNIPLEXII offers features designed to meet the requirements of the most demanding user. The beauty of UN1PLEXII is its simplicity. One personality and one command structure throughout the program provide an ease of use never before experienced with UNIX application software. UNIPLEX n integrates sophisticated word processing, spreadsheet, and relational database applications into a powerful one-product solution. UNIPLEX II uses termcap, so it can run on virtually any computer terminal. “Softkeys” allow the user to define function keys which are displayed on the 25th line of most terminals to provide versatility and ease of use. All this at a price you’d normally pay for a single application software package. UNIPLEX II is available immediately from UniPress Software, the company that’s been at the forefront of quality UNIX software products longer than anyone else. Call today! Once you’ve got it, you’ll see why UNIPLEX II is the most widely used integrated office automation software for UNIX-based systems. OEM terms available. Mastercard and Visa accepted! Write to: UniPress Software, 2025 Lincoln Hwy., Edison, N) 08817 or call: 1-800-222-0550 (outside NJ) or 201-985-8000 (in NJ); Telex: 709418. European Distributor: Modulator SA, Switzerland 41 31 59 22 22, Telex: 911859- UNIX is a trademark of AT&T Bell Laboratories. Uniplex II is a trademark of Uniplex Integration Systems /lowAvAtiAuzofi/m ^ /prompt 73oo i 3e> seaes/ IniPressSoftujorG )bur Leading Source for UNirSoftware Circle No. 47 on Inquiry Card FIT TO PRINT This is an excellent, sorely needed book. is made that _z will not be used as a variable name. "define swap(x. y) { x -= y : y -« X; x -= y : } This solution uses the bitwise exclusive OR operator (~). The following table shows the resulting value of z for different values of x and y: x * y » z 0 0 0 0 1 1 1 0 1 1 1 0 x and y are swapped by exclusive OR'ing x and y three times: x = x - y : y = x - y : - x = x - y : The first exclusive OR operation sets x equal to a mask. A bit in this mask is equal to 1 if both bits in the original x and the original y differ, and a bit is equal to 0 if both bits in the original x and the original y are equal. The second exclusive OR operation sets y equal to the original x from the information in the mask and from the original y. The third exclusive OR operation sets x equal to the original yfrom the information in the mask and from the new y (original x). The C Answer Book is clearly typeset, with a nice mono-spaced font used for the C code itself. My only complaint is that the zero is hard to distinguish irom the "O character, but the difference is usually clear in context. The index also seems very complete. The macro problem listed above is indexed under “* bitwise exclusive OR operator , “bitwise exclusive OR operator "block structure", "exclusive OR operator, bitwise "macro swap", "operator, 86 UNIX REVIEW DECEMBER 1985 bitwise exclusive OR -", ‘"OR operator, bitwise exclusive and "swap macro”. This is an excellent, sorely needed book. C Made Easy E Herbert Schildt 292+ x pp. ISBN 0-07-881178-3 Osborne McGraw-Hill, 1985 2600 Tenth Street Berkeley, CA, 94710 $18.95 (paper) Herbert Schildt has produced a reasonable introduction to C programming. Topics are present¬ ed in a straightforward manner, and the explana¬ tions he offers are clear. It’s unfortunate that the book suffers from several disappointing flaws. Schildt starts with the presumption that his reader can program on a microcomputer and already has some experience with BASIC. Almost every chapter has example programs that are presented with their "equivalent” in BASIC. Unfor¬ tunately, the equivalences are not strict, and printfQ is used both with and without a newline as if it were equivalent to BASIC’s PRINT command. There is also the presumption, repeated frequently in the text and example programs, that output lines are terminated with both a carriage-return and a line¬ feed. The difference between this and standard UNIX usage is not mentioned, although Schildt does recommend using a "UNIX-compatible" C compiler. The typesetting of the program examples usually uses an unambiguous, mono-spaced font, but the book is not consistent in this respect. Frequently, C Made Easy suffers from the all-too-common mis¬ take oi using open and close-quotes when C’s syntax demands quotes of the same type. For instance: First, individual characters that use the %c format command must be enclosed between single quotes: for example, ‘c’. Second, strings of characters that use the %sformat command are enclosed between double quotes: for example, “this is a string”. This kind of inaccuracy can be glossed over by the experienced programmer, as no doubt it was by the author, but it is inconsistent with the otherwise careful tone Schildt takes toward his beginning audience. The book also has other limitations, such as an index that's too sparse. But there’s no need to TEXT EDITING Another in a series of productivity notes on software from UniPress. Subject: Multi-window, full screen editor. Multi-window, full screen editor provides extraordinary text editing. Several files can be edited simultaneously, giving far greater programming productivity than vi. The built-in MLiSP m programming language provides great extensibility to the editor. Trademarks ol UniPress EMACS & MU$P, UniPress Software, Inc. UNIX. AT&T BeHaboralones. VAX/VMS & Ramtxiw 100 +. Digital Equipment Corp , MSDOS. Microsoil Corp., WordStar. MicroPro; Pyramid. Pyramid. Gould, Gould Circle No. 48 on Inquiry Card NEW RELEASE UNIPRESS EMACS New Features: ■ EMACS is now smaller and faster. ■ Sun windows with fonts and mouse control are now provided. ■ Extensive on-line help for all commands. ■ Overstrike mode option to complement insert mode. ■ New arithmetic functions and user definable variables. ■ New manual set, both tutorial and MLISP guide. ■ Better terminal support, including the option of not using unneeded terminal drivers. ■ EMACS automatically uses terminal's function and arrow keys from termcap and now handles terminals which use xon/xoff control. ■ More emulation-TOPS20 for compatibility with other EMACS versions, EDT and simple Wordstar emulation. Features: ■ Multi-window, full screen editor for a wide range of UNIX, VMS and MS-DOS machines. ■ "Shell windows”are support¬ ed, allowing command execution at anytime during an edit session. ■ MLISP programming language offers extensibility for making custom editor com¬ mands! Keyboard and named macros, too. ■ “Key bindings” give full freedom for defining keys. ■ Programming aids for C, Pascal and MLISP: EMACS checks for balanced parenthesis and braces, automatically indents and reformats code as needed. C mode produces template of control flow, in three different C styles. ■ Available for the VAX™ (UNIX and VMS), a wide range of 68000 machines, AT&T family, Pyramid,™ Gould,™ IBM-PC,™ Rainbow™ 100+ and many more. Price: Binary Source VAX/UNIX $995 VAX/VMS $2500 7000 68000/UNIX 395 995 MS-DOS 325 995 For our Free Catalogue and more information on these and other UNIX software products, call or write: UniPress Software, Inc., 2025 Lincoln Hwy., Edison, NJ 08817. Telephone: (201) 985-8000. Order Desk: (800) 222-0550 (Outside NJ). Telex: 709418. European Distributor: Modulator SA, Switzerland Telephone: 4131592222, Telex: 911859. OEM terms available. Mastercard/Visa accepted. EDITOR FOR: UNIX / VMS'/ MS-DOS' nlwcss Software )bur Leading Source for UNIX "Software U FIT TO PRINT belabor the problems here. Suffice it to say that the clear explanations and well-written, readable prose should have been given a better presentation. With more careful editing and typesetting—and a good index—this could have been an excellent book. Reliable Data Structures in C Thomas Plum ![★ Pages by chapter. ISBN 0-911537-04-X £1 Plum Hall Inc., 1985 1 Spruce Ave. Cardiff, NJ 08232 $25.00 (paper) Plum’s new offering, in some ways, is a sequel to the author’s 1983 book. Learning to Program in C. Many of the sections begin with the notation “Topics assumed from previous book ”, and proceed to list topics with chapter and page Plum has given us more than a book on data structures. references from that book. The explicit listing of those topics that assume background knowledge is admirable, and make the book valuable to readers from a wide variety of backgrounds. Plum has given us more than a book on data structures. Reliable Data Structures in C also covers reliability and clear programming, and provides advanced tutelage on programming in C. Plum writes clearly and shows respect for the intelligence of his reader. Over and again he points out potential traps and warns of bugs that are hard to find. What’s more, he takes care to label examples of poor programming: Just giving a constant a name is not enough to ensure modifiability; you must be careful always to use the name , and remem¬ ber that that value could change. One project had difficulties changing the value of BUFSIZ because some programmers had written nblocks = nbytes >> 9 ; hard to modify, uses * ‘magic number" in a number of places where nblocks = nbytes / BUFSIZ; was needed. The programmers figured that “everyone knows that BUFSIZ equals 512.” and right-shifting nine bits is the same for positive numbers) as dividing by 512. But when BUFSIZ changed to 1024 on some systems , modifications were difficult. Hence , this rule: Rule 1-5: If a value is given for a # defined name , do not defeat its modifiability by assuming its value in expressions. Plum is very conscientious in his references to the idiosyncracies of different compilers. He also makes reference, as appropriate, to the evolving ANSI X3J11 standard for the C language. For instance, he covers the new (ANSI C) “generic pointers’’, but is careful to emphasize that the standard is still in its draft form. This is just the sort of precise reference one would expect from a member of the committee, as Dr. Plum is. The book covers standard data structure tech¬ niques like stacks, queues, double-ended queues, and trees. Plum’s discussion of I/O explains stan¬ dard files, direct screen output, and binary records. The syntactic subtleties of # if (conditional compila¬ tion), typedef, void functions, enum, pointer types, pointers to functions, unions, bit-fields, dynamic allocation (malloc, calloc, and free), and cross¬ module (lint) type-checking are also given attention. The chapter on structures includes a case study of a menu processor and menu generator. Reliable Data Structures in C is well-indexed, endowed with a good bibliography on C, and supplemented by an appendix that collects together all the rules of C programming that Plum has formulated. Graphically, the book is very crowded, with diagrams done in the same font used for program ex¬ amples. This may have been easier for the author, but I object to the use of As and Vs for up and down arrows. With a background in both computer science and publishing , August Mohr formerly served the interna¬ tional UNIX users’ organization /usr/group as the founding editor of its newsletter/magazine CommUNIXations. He also compiled and produced the UNIX Products Catalog. As a consultant , Mr. Mohr continues to maintain an active role in the computer and desktop publishing communities. ■ It’s in the stars; 0 = kitty litter; 1 = take it if it’s free; 2 = worth the cover price; 3 = well worth reading: 4 = get the leather-bound edition. 88 UNIX REVIEW DECEMBER 1985 WY/s //////*' '/////// XXsy/// /V/As / ■ / /////'// A ' ' ' ////// ' ' y V / / / / '' / / / / / V/x / / // EXTENSIVE LINE OF PROGRAMMING LANGUAGES FOR NATIVE AND CROSS DEVELOPMENT WORK // , / / / '//// , // m™ FORTRAN 771 LATTICE ® C CROSS PRICE: Pascal/BASIC-PLUS/C COMPILER SI/S family of native mode M SVS Languages FORTRAN 77, Pascal, and C $995 each 750 / / . ______.. _. Use your VAX m (UNIX or compilers for MC68000 m VMS) or other UNIX machine Pascal, and ( UNIX ™ machines. Full ANSI to create standard MS-DOS m BASIC-PLUS standard, symbolic debugger object code for 8086 m and u ™ and optimized code generator 186 ,™ The Lattice package f™-KAir with high speed optimization. includes compiler, linker, Mn J,nnn° Support for IEEE floating point, librarian, disassembler and MC68000 both single and double 808 7™ floating point support. precision. SI/S languages give Optional SSI Intel-style cross SSI TooM A/////////// X XX X/ / / / / XXs excellent performance. u4th FORTH prog for UNIX, with the FORI u4th is interactive and a//on„ full UNIX system call interface, as well as UNIX command VAX (UNIX and VMS) MC68000 development tools can be umsbnnn used in conjunction with ....X Lattice for native mode 8086 applications. ' /// AMSTERDAM COMPILER KIT Now includes BASIC, additional back-ends and pass-through. Permits C ~. — primitives and FORTH words to p licensing! be toaded into a new kernel ApackageofC, Pascaland Tif 6 '- ^ e t d / requent l y m , BAS/C (native and cross) who Lincoln Hwy. Artificial Intelligence work. compilers for UNIX machines. Edison, NJ 08817. Hosted on VAX, PDP-11 ,™ Telephone: (201) 985-8000. MC68000 ,™ Z8000 m and Order Desk: (800) 222-0550 cc , T ..... f/j XX 8086. Targets for VAX, PDP-11, (Outside NJ) SSI Toolkit is a set of In el-style MC68000 ,™ 6500™16502™ Telex' 709418 J S f ° r Zm °’ 8086 ’ NS °16032 - European Distributor: includes macro cross X ^ 50 i J 0/Z50 ™ C . r °X f Modulator SA, Switzerland. Telephone: 413159 2222. Intel ASM-86/87/88/186/188. .SlSsijZ linker, locator and librarian. 2650™ Package contains complete sources. Telex: 911859 / / X 8000 5000 .... ipiler VAX (UNIX and VMS) 5000 MC68000 3000 Amsterdam Compiler Kit lercial users 9950 ucational Institutions 995 For our free catah more information and other UNIX soi products, call or w UniPress Software , 2025 Lincoln Hwy., OEM terms available. Mastercard and Visa accepted. ////AX /// A A / X / / / / / / / / Y / / Trademarks ol UNIX. AT&T Bet Laboralovs. VAX. m.andPDP II.DigXal£= 256) /* UNIX command line length V return(-2L) : if(system(buf) == 127) return(-IL): return(OL); } U S Postal Service STATEMENT OF OWNERSHIP. MANAGEMENT. AND CIRCULATION Required by 39 U S C 3685 1 A TITLE OF PUBLICATION. UNIX REVIEW. I B. PUBLICATION NO 07423 I 36 2 DATE OF FILING 10/1/85 3 FREQUENCY OF ISSUE: Monthly. 3A. NUMBER OF ISSUES PUBLISHED ANNUALLY 12. 3B ANNUAL SUBSCRIPTION PRICE: S28.00 4. COMPLETE MAILING ADDRESS OF KNOWN OFFICE OF PUBLICATION: 901 South Third Street, Renton. Washington 98055 US A 5 COMPLETE MAILING ADDRESS OF THE HEADQUARTERS OF GENERAL BUSINESS OFFICES OF THE PUBLISHER. 901 South Third Street. Renton, Washington 98055 U S A. 6 FULL NAMES AND COMPLETE MAILING ADDRESS OF PUBLISHER. EDITOR, AND MANAGING EDITOR. PUBLISHER Pamela J. McKee. 901 South Third Street, Renton, Washington 98055 U S.A. EDITOR Mark Compton, 500 Howard Street. San Francisco. California 94105 U S A ; MANAGING EDITOR None 7 OWNER Review Publications. 901 South Third Street, Renton, Washington 98055 U S A ; Pamela J. McKee. George C. Arrowsmith. Stuart M. Stern, Ronald P King, all at 901 South Third Street. Renton, Washington 98055 U S A ; Miller Freeman Publications, 500 Howard Street, San Francisco, California 94105 U S A., a wholly-owned subsidiary of United Newspapers, pic., 23-27 Tudor Street, London EC4Y OHR. England 8 There are no known bondholders, mortgagees, and other security holders owning or holding I percent or more of total amount of bonds, mortgages, or other securities. 9 Does not apply 10 EXTENT AND NATURE OF CIRCULATION—AVERAGE NO. COPIES EACH ISSUE DURING PRECEEDING 12 MONTHS A. TOTAL NO. COPIES (Net Press Run); 22,991 B PAID AND/OR REQUESTED CIRCULATION: I. Sales through dealers and carriers, street vendors and counter sales 2317. 2 Mail Subscription (Paid and/or requested): 14,1 30. C. TOTAL PAID AND/OR REQUESTED CIRCULATION (Sum of 10BI and I0B2): 16.447. D. FREE DISTRIBUTION BY MAIL. CARRIER OR OTHER MEANS SAMPLES. COMPLIMENTARY. AND OTHER FREE COPIES 1063 E. TOTAL DISTRIBUTION (Sum of C and D): 1 7.5 10 F. COPIES NOT DISTRIBUTED I Office use. left over, unaccounted, spoiled after printing: 4318 2 Return from News Agents. II63 G TOTAL (Sum of E, FI and F2—should equal net press run shown in A) 22,99 1 ACTUAL NO COPIES OF SINGLE ISSUE PUBLISHED NEAREST TO FILING DATE A TOTAL NO COPIES (Net Press Run) 37,000 B PAID AND/OR REQUESTED CIRCULATION 1 Sales through dealers and carriers, street vendors and counter sales. 1950 2 Mail Subscription (Paid and/or requested) 28.164 C TOTAL PAID AND/OR REOUESTED CIRCULATION (Sum of I0BI and I0B2) 30,1 14 D FREE DISTRIBUTION BY MAIL, CARRIER OR OTHER MEANS SAMPLES. COMPLIMENTARY, AND OTHER FREE COPIES 1246 E TOTAL DISTRIBUTION (Sum of C and D): 31,360 F. COPIES NOT DISTRIBUTED I Office use. left over, unaccounted, spoiled after printing. 4590 2. Return from News Agents 1050 G TOTAL (Sum of E. FI and F2—should equal net press run shown in A) 37,000 1 I I certify that the statements made by me above are correct and complete (signed) Pame¬ la J McKee. Publisher In Fortran use: call unixc('l$ -1') Please note that the Version 7 Fortran compiler gives a warning if the subroutine name is more than six characters long. David Tak-Shen Chen The New York Blood Center Elmont, NY COMMITTEE REPORT Dear UNIX REVIEW, In your Monthly Report for July, you combined two different IEEE Committees into one. The PI003 Committee is focusing strictly on the Operating System Standards and, in fact, more specifically on the system call interface. This effort will hopefully go to ballot this Winter, reflecting heavily the 1984 /usr/group Standard with input from System V and also a limited number of Berkeley extensions such as mkdir. The second IEEE Committee is addressing Open System Architecture. This is being chaired by Paul Borrill, Secretary of the IEEE Computer Society, and represents a substantially longer-term effort. Operat¬ ing System Standards will be just one of the areas ad¬ dressed by the OSA effort. Marc Rochkind’s comments on the Standards effort [also in July’s Report ] were slightly misleading. For better or worse the Standard work to date from /usr/group and IEEE has been based on System III and to some degree on System V, without a strong focus on any Berkeley extensions with 4.1 or 4.2. He is correct that Interprocess Communications (IPC) is not ad¬ dressed in the current effort. This has been delegated to a real-time subcommittee which will be addressing a number of real-time related capabilities. Terminal interface control was not addressed in the /usr/group Standard. However, a set of termio facilities have been specified in the IEEE drafts. Record and file locking capabilities have been included in both the /usr/group document and the IEEE document. This capability has also been adopted by AT&T as part of the System V Interface Definition. A subcommittee has been formed in the IEEE group to address issues of record locking and atomic operations for interac¬ tion and database work. We are seeking experts in this area to help with this subcommittee. I hope this helps to bring your readers up to date. James Isaak Chairperson, IEEE/CS PI003 Charles River Data Systems Framingham, MA 7 06 UNIX REVIEW DECEMBER 7985 COMPLETE YOUR UNIX REVIEW LIBRARY! June/July 1983—UNIX on the IBM/PC .... August/September 1983—Sritek and Venix . October/November 1983—UNIX Typesetting December/January 1984—VI and Emacs . . . February/March 1984—UNIX Databases . . . April/May 1984—Menu-based User Interfaces June 1984—Big Blue UNIX . July 1984—The AT&T Family . August 1984—Documentation. September 1984—System Administration . . . October 1984—UNIX on Big Iron . November 1984—User Friendly UNIX . December 1984—Low Cost UNIX . January 1985—Evolution of UNIX. February 1985—UNIX Portability. March 1985—Performance. April 1985—UNIX Networking. May 1985—Distributed Resource Sharing . . . June 1985—UNIX Applications . July 1985—Office Automation. August 1985—Database Intricacies . September 1985—Languages. October 1985—UNIX and Universities. November 1985—Scientific Applications .... Back issues are $4.95 each including postage. Payment in advance is required. Send this order form with check (US funds payable at US bank only) or credit card information to: REVIEW Publica¬ tions, 901 S. 3rd St., Renton, WA 98055. Additional $ 1.00/issue for foreign mail. Name _ Company - Address - City _ State _Zip _ M/C or VISA # _ □□□□□□□□□□□□□□□□□□□□□□□□ ADVERTISERS' INDEX Adax Inc. .91 Interactive Systems Corp. .41 Arnet Control . .92 Marc Software. . . 100,101 AT&T Information Systems. .43 Mt. XINU. _96,97 Avalon Computer Systems, Inc. . . .25 Oasys . .71 B.A.S.I.S. .64 Olympus Software, Inc. .67 Basmark Corp. .82 Overland Data, Inc. .33 bbj Computer Services . .47 Quality Software Products .... .71 Bell Technologies. .49 Radio Shack . .27 Blast/Communications Research .17 Rapitech Systems, Inc. .19 Ceegen Corp. .39 Relational Database Systems . . 1,2,3 Celerity. .13 San Carlos Computer Supply . . .94 Century Software . .75 Santa Cruz Operation. .95 C-Line. .29 Scientific Placement. .92 Cogitate. .53 Sperry Corp. . . . . 72,73 Corporate Microsystems . .57 UniForum . .99 COSI . 77,79,81,83 Unify Corp. . . . . 10,11 DSD Corp. .56 Unipress Software. . . 85,87,89 DTSS, Inc. .65 Unitech Software Inc. .15 Emerald Systems Corp. .35 Uniworks . .21 Emerging Technology . .9 User Training Corp. .69 Franz, Inc. .94 UX Software . Handle Technologies. . Cover II Webco Industries. .17 Hewlett-Packard. Centerspread XED/Computer Methods. .7 Image Network . .49 Zanthe . . . Cover III Inspiration Systems . .93 COMING UP IN JANUARY Global Communications • The anarchy of long-haul networking • Names, addresses, and routes • A user's view on global communications • The user's dilemma • Technology futures 108 UNIX REVIEW DECEMBER 1985 Have you been looking for perfect data management that you can enjoy on your own terms? Then you've probably already heard of ZIM 2.4 — the most powerful database system available. Until now. Because ZIM 2.5 is here. ZIM 2.5 is a fourth generation application development tool which makes it possible to expand the capabilities of your micro beyond what you've ever imagined. ZIM mirrors the complexities of the real world by letting you develop as many and as varied applications as you could possibly need. "ZIM is... a successful migration of mainframe ideas and needs to a micro. (ZIM) proves not only that the job can be done but also that it can be done well. ZIM provides a reference against which current and future data bases can be judged." James Creane, Data Based Advisor/July 1985. Portability ZIM is the only database management system with 100% application portability for single-user and multi-user configurations. ZIM is available under PC-DOS, Concurrent PC-DOS, UNIX, XENIX, and QNX. Never again will you be required to re-write your applications for different operating systems environments. Circle No. 42 on Inquiry Card Power ZIM's high-level language lets you build user commands which implement applications without the necessity and cost of additional programming tools. ZIM's forms facility and extensive report generator permit completely menu-driven applications. Completed compiled, applications use the Runtime System, leading to fast execution, preventing unauthorized access or modifications, and decreasing cost and memory requirements. Flexibility ZIM gives you unprecedented simplicity and flexibility. ZIM commands parallel simple English sentences, making it easy to learn and use. Other features include automatic updates of all indexes, multi-user support, and an extensive range of validation, editing and masking facilities. ZIM's limits are only those of your hardware, operating system and imagination. And with ZIM 2.5, your database is no longer limited to a single hard disk. "ZIM is (a) well-conceivedsoundly-implemented , thoroughly professional system. Its design evidences a strong commitment to consistency and to the goal of natural nonprocedural user interaction." Richard M. Foard, PC Tech Journal, October 1985. Woodward Drive Ontario K2C 0R1 (613) 727-1397 ZANTHE INFORMATION INC Speed ZIM breaks the speed limit — between 3 and 50 times faster than industry leaders in sorting and joining files within the data-base. ZIM's internal architecture, and the implementation of its strategy analyzer and priority-driven buffering ability, ensure that data is processed in the most efficient manner possible. ZIM 2.5 - DATA MANAGEMENT AT ITS BEST The Language for a New Generation Portability. UX-Basic™ application programs execute unchanged on any UNIX™ machine and are completely device independent. Power. UX-Basic contains the building blocks for efficient application program develop¬ ment. It also allows you to tap the full power of UNIX and gives you direct access to data bases. Productivity. UX-Basic is friendly and easy to learn and use. The interactive program¬ ming environment provides syntax checking as well as real-time debugging and testing. UX Software, Inc. 10 St. Mary Street, Toronto, Canada M4Y1P9 Tel: (416) 964-6909 TLX: 065-24099 Available from major computer manufacturers such as Altos. AT&T, Siemens and an international network of distributors. UNIX is a trademark of AT&T Laboratories. UX-Basic is a registered Trademark of UX Software. Inc. ©UniForum. The International Conference of UNIX Users February 4-7,1986 Performance. UX-Basic gives you speed when you need it with our efficient pseudo-cpde compiler/runtime package. We are constantly working to keep UX-Basic’s performance at the leading edge. Profit. UX-Basic programs are structured, modular and readable. Maintenance and support are easy. Perfect for UNIX ... a new generation of computers... a new generation of computer users. Circle No. 54 on Inquiry Card