Columns


On the Networks

Normal is Wonderful

Sydney S. Weinstein


Sydney S. Weinstein, CDP, CCP is a consultant, columnist, lecturer, author, professor and President of Datacomp Systems, Inc., a consulting and contract programming firm specializing in databases, data presentation and windowing, transaction processing, networking, testing and test suites and device management for UNIX and MS-DOS. He can be contacted care of Datacomp Systems, Inc., 3837 Byron Road, Huntington Valley, Pa 19006-2320 or via electronic mail on the Internet/USENET mailbox syd@DSI.COM (dsinc!syd for those that cannot do Internet addressing).

Considering the turmoil out in the real world, the networks have been running along very peacefully. No one is currently upset at the moderators, and no single group is stalled. For the first time in several years, all one has to do is sit back and wait for the sources to come rolling in.

Before the summary, a report on a patch that was not in the source groups, but in comp.sources.bugs. The Free Software Foundation GNU project updated the program used to apply patches, patch v2, originally written by Larry Wall, to v2.0.12u6, with patch u6 being released on March 16, 1992. David J. MacKenzie <djm@eng.umd.del> posted this patch which adds SVR4 and Next support to the automatic configuration of patch everal bug fixes. Patches to patch are not very frequent, and rarely have included bug fixes, so when one does come out it is worth noting. Both the patch, and the patch program are available from any site that archives the GNU utilities.

Backlog Gone

Now that the backlog is cleared, comp.sources.unix uch more normal pace. Here are the highlights of the 23 major postings during the last two months.

MSG sends a one line message to another user or set of users, either local or over the network. It has the ability to mark a message as a reply. Unlike write or talk, the traditional UNIX utilities for this purpose, MSG sends only one line and then exits. Network-wide sends do require the Berkeleysocket interface. John M. Sellens <jmellens@ watdragon.waterloo.edu> contributed MSG. He posted it as msgd (because a prior package already had the archive name msg) for Volume 25, Issue 151.

Since so many UNIX users like biff, the Berkeley tool that announces the arrival of incoming mail (like the author's dog biff used to bark at the mailman), Phil Budne <budd@bu-it.bu.edu> extended the idea to create fido for Volume 25, Issue 163. This is an update of his earlier version. fido watches the rwhod status files and reports on the comings and goings of both users and systems. What fido watches can be configured to include users on particular machines, users on any machine, and even logins to a particular port.

If you need to exchange archive files with sites running the MS-DOS ARC program, Howard Chu <hyc@umix.cc.umich.edu> submitted arc v5.21 for Volume 26, Issues 4-6. This a UNIX port of the 5.21 version of the MS-DOS program with two enhancements. The first returns squeeze analysis to the program as it works better on graphic images. The second provides support for the PKxxx method of squashing files.

With as many UUCP hosts listed in the maps as there are, it is sometimes difficult to locate a particular entry for a given host. Even knowing what state the site is in doesn't always help. Although the map files are broken down by state/country, there are currently 18 files just for California. Jan-Piet Mens <jpm@Logix.DE> has taken pity on all of us and contributed uuhost v2.1 for Volume 26, Issue 18. It makes a small index of all of the files in the map directory and allows access to any given host name and its associated information very quickly.

If you run a large number of listener tasks on your UNIX system, one of the solutions to consolidating them into a single listener task as a dispatcher has been the Berkeley inetd daemon. Paul Kranenburg <pk@cs.few.eur.nl> has extended this to include RPC (Remote Procedure Calls), UNIX-domain sockets (in addition to Berkeley sockets) and PTY connections. Version 5.25 of munetd was posted as Volume 26, Issue 19. By supporting PTY's in addition to sockets, it allows more programs to be consolidated under the common dispatcher than does inetd.

grep, a tool used on UNIX systems, searches for text in a stream, file, or set of files. Its name comes from the old ed command g/re/p (re means regular expression). Sun Wu <sw@cs.arizona.edu> contributed agrep for Volume 26, Issues 21-23. This variant on grep is faster, and supports the ability to search for approximate patterns. It can find a match to a pattern that can have at most N substitutions, insertions, or deletions. Alternatively it can find the best set of matches (using the least number of substitutions, insertions, or deletions) and offer to print those. In addition agrep is record-oriented rather than line-oriented. The record delimiter can be specified as any string. This allows for searching for a string within a mail message and returning the entire mail message if it matches. Lastly agrep supports and and or connectives on its patterns, so it can search for word1 or word2 and print the line (record) if either of the words is found.

If the syntax of UNIX's dc confuses you, and bc is not much better, then consider CALC from David I. Bell <dbel l@pdact.pd.necisa. oz.au>. It has man features, but it is a very easy to use arbitrary precision calculator. And it even has a C like syntax. CALC was posted as volume 26, Issues 27- 47.

If you still don't have an equivalent to Sun's filemgr, then consider the screen-oriented file and directory maintenance program from Leonard J. Peirce <peirce@gw. wmich. edu>. He submitted maint for Volume 26, Issues 49-55. It makes scanning directories easier, and allows for common commands to be executed on files and directories.

cforms, a tool for manipulating forms using the SVR3/SVR4 curses package, was submitted by Lars Berntzon <lab@techno.sth.cgl.se> for Volume 26, Issues 56-58. It uses the curses system to provide routines to build forms- based applications. It handles views, pictures, fields, and literals. It also supports C escape routines to handle extensions within the field processing.

On the patch front, patches 13 and 14 were issued by Raphael Manfredi <ram@eiffel.com> to kit, his ultimate mailing kit. Posted as Volume 26, Issues 10 and 11, these are purely bug-fix patches.

Patch 9 to psroff v3.0 was issued by Chris Lewis <clewis@ferret. ocunix.on.ca> for Volume 26, Issue 14. This corrects some problems the author introduced by patch 8. In addition, the documentation is updated by this patch.

Reviews Stay Quiet

With comp.sources.unix back on track, I would expect this group to stay very quiet or to fade away. There were only three postings over the two months.

Mike Brennan <brennan@ boeing.com> submitted patch 1 to mawk for Volume 1, Issue 70, taking it to version 1.1.1. This patch fixes several bugs and adds support for NeXT, SGI and Aix.

A new release of malloclib Conor P. Cahill's <cpcahil%virtech@ uunet.UU.NET> debugging library for dynamic memory was posted as Volume 2, Issues 1-6. malloclib tracks allocations (making it easier to find memory leaks), detects out-of-bounds write accesses to malloc data, and can aid in finding malloc chain-corruption bugs. New enhancements include better chaindump information, enhanced error reporting, support for ANSI C and many bug fixes.

Mike Lijewski <lijewski@theory.tc.cornell.edu> submitted dired, a directory editor and file manipulator modeled after the Dired mode of GNU Emacs. It allows for actions on the current file pointed to by the cursor, including copy, delete, edit, view, chmod, chgrp, compress, rename, and uncompress. It is also possible to walk the directory tree by placing the cursor on a directory name and selecting edit for the current file.

Updates abound in misc

The latest from the Info-Zip project is unzip v4.2 contributed for Volume 29, Issues 31-42 by Info-Zip <infozip@cs.ucla.edu>. This is a portable generic UNIX unzip utility that also works on VMS, OS/2, MS-DOS, Amiga and Macs. Although highly compatible with Phil Katz's PKZIP and PKUNZIP utilities of MS-DOS fame, the objective has been one of portability. This upgrade was only to the unzip side. The companion zip utility was not upgraded, and is still at version 1.0.

DES encryption has been under a large amount of export control by the US Government. However, this hasn't stopped other countries from writing their own versions to make up for the lack of US computer companies being able to export the software. Eric Young (eay@psych.psy.uq.oz.au> has contributed his implementation of the DES routines in software, libdes, for Volume 29, Issues 43-47. These are fast, and compliant with the MIT usage, so they can be used with kerberos. Patch 1 was released in Volume 29, Issue 74 and adds support for installation in the makefile, support for System V memory routines, changes to support VMS, and some code speedups. Patch 2 in Volume 29, Issue 114 fixes a bug and adds support for MS-DOS.

An alternative DES package with just the core routines, with very quick implementations is descore from Dana How <how@isl.stanford.edu>. It is designed for DES filter implementation, so key setting is not optimized, but encryption/decription is highly optimized. descore is Volume 29, Issue 80.

David H. Brierley <dave@galaxia. newport.ri.us> decided that the normal ls -lR used by archive sites to list what files are available is not very useful. He instead wrote his own ls_archive that lists the full path name of each file, omits the mode, number of links and other unneeded info, and places the date on the front of the line in yy/mm/dd hh:mm format. This allows for sorting by date, and for easier grepping of files. ls_archive is Volume 29, Issue 58 and requires ANSI C.

If you are looking for a BBS that combines access to USENET Network News and Internet Mail, but looks and feels like a PC-DOS BBS, check out mbox from Volker Schuermann <Volker.Schuermann@unnet.w.open. de@unnet>. Contributed for Volume 29, Issues 63-72, this BBS was written and tested on MINIX 386 and runs on UNIX SVR3 (and therefore also SVR4). It requires UUCP, NEWS, and mail to already be function on the UNIX system.

procmail was updated to version 2.70 by Stephen R. van den Berg <berg@pool.informatik.rwth-aachen.de> for Volume 29, Issues 90-94. procmail creates mail servers, mailing lists, and sorts incoming mail. New in version 2.70 are several configuration changes including LD_LIBRARY_PATH to avoid a security hole and a change to the usage of KERNEL_LOCKS. Also added are ANSI C changes for portability, several speedups, lockfile enhancements, allowing selection of mail based on size, multiple recipient delivery, and several code reorganizations.

A new version of the Z shell was released by Paul Falstad <pfalstad@phoenix.Princeton.EDU> for Volume 29, Issues 97-113. zsh v2.2 is very close to the ksh/sh grammar but has csh additions and most of the features of ksh, bash, and tcsh. Version 2.2 is faster, has fewer compilation warnings, fixes several portability bugs, has new features in which/whence/type, and has more options on the history file/access. Redirection is now performed after file name-generation. Other features include enhancements to the print and read commands, a POSIX conformant getops, support for co-processes, and many, many more. (The change list alone runs over 200 lines).

Once again, parseargs has a new author, and a new version. Although its been since Volume 17 for the last release, this new release is contributed by Brad Appleton <brad@hcx1.ssd.csd.harris.com> for Volume 29, Issues 115-125. parseargs is a generic argument-parsing library for use in programs. It is extremely flexible and supports many more syntaxes and features than getopt. It can even support keyword=value methods and support defaults from the Environment table. It runs on UNIX, VMS, OS/2, MS-DOS and AmigaDOS.

Another major upgrade was to the threaded news reader, tin. Version 1.3, Volume 30, Issues 1-14, was contributed by Iain J. Lea <iain%anl433.uucp@germany.eu.net>. tin is more based on Notes and tass than the rn style newsreaders. It is a full-screen newsreader for both local spools and NNTP remote access. It supports threads on both the Subject and the Archive-Name headers with multiple selection levels. New in 1.3 are built-in NNTP client (reader) functions. New commands select the spool to use, re-crosspost the current article to more groups, catchup a thread, toggle author/subject tracking at the thread level, support Reply-To: headers for mail replies, support more function keys, and fixes many bugs.

On the patch front, the public domain Korn Shell work-alike, pdksh, had patches 2 (Volume 29, Issues 81-82), 3 (Volume 29, Issues 83-87), 4 (Volume 29, Issue 89) and 5 (Volume 29, Issue 96) released by Simon J. Gerraty <sjg@zen.void.oz.au>. Some bugs were fixed and adds automatic setting of the edit mode, a history file to save the history between sessions, and job control for system V systems. Patch 4 just fixes some omissions from patch 3.

The shadow login suite, shadow, was updated with patch 4 in Volume 29, Issues 47-49. John F. Haugh II <jfh@rpp386.cactus.org> contributed this update to provide support for SunOS 4.1.1, better interaction with the password changing program passwd, date-format support enhancements for the aging command, and added the concept of a tty group.

The C prototype generator cproto was both rereleased and patched, although the rerelease was really because the patch was bigger than a rerelease. Contributed by Chin Huang <zerosan!cthuang> for Volume 29, Issues 61-62 (patchlevel 2) with patch 3 in Volume 29, Issue 79. Most of the changes were bug fixes or code reorganizations. Patch 3 did add the features to support running a particular C preprocessor and a quiet-mode option to suppress error messages.

X-Based Hypertext

Hypertext is very popular, and very useful for its hot links from keywords on the currently displayed page to further relevant information. One common use is tying together help information. Baudouin Raoult <mab@ecmwf.co.uk> contributed hyperwidget to Volume 16, Issues 143-148. It's a hypertext like widget that displays text with highlighted text. Clicking on highlighted text will call a callback function of the application using the widget. In addition the package includes hman, a UNIX manual browser that uses HyperWidget to link together the pages.

Most text editors are designed for text-based windows. Slowly editors evolve that take advantage of the X interface. One of these that uses the mouse to advantage is point from Charlie Crowley <crowley@chaco.cs.unm.edu>. point has an unlimited number of windows and files, can move and copy within and between windows, is completely configurable (menus, key meanings, titles, etc.), has extensive options to modify the look and behavior, uses tcl as a macro language and the Tk toolkit, has circular mouse menus, that is, gesture commands, and an unlimited undo, redo, and again (repeat last command). point was posted as Volume 17, Issues 2-17.

dvi is the portable output format used by the TeX formatting system. Paul Vojta <vojta@powdermilk.berkeley. edu> has updated the Xdvi previewer for X11R5 and submitted it as Volume 17, Issues 23-27. It supports virtual fonts as well as the traditional dvi fonts and has support for UNIX and VMS.

Also for TeX users Fritz Haubensak <hsk@informatik.uni-wuerzburg.de> submitted xtexcad v1.2 for Volume 17, Issues 65-74. xtexcad is a drawing tool for producing LaTeX picture environments. It is re-implementation to run under X of the well-known TeXcad distributed with emTeX.

A simple program to display a changing value in a gauge format under XView was submitted by George Neville-Neil <gnn@minestrone.Berkeley.EDU>. xv-gauge, Volume 17, Issue 54, reads standard-in at a sampling interval and modifies the gauge object accordingly.

A pop-up command panel was submitted by Bruce Ingram <brik@ukc.ac.uk> for Volume, 17, Issues 61-62. bricons ties shell scripts to buttons. Pressing the button runs the shell script. In addition, buttons can be configured to display a spring-loaded popup menu with up to ten more buttons.

The only patch this time was to contool taking it from v3.2a to v3.2b contool is a console output display and filter that can keep track of the messages written to your console and only interrupt you for the ones you consider important. The patch, submitted by Chuck Musciano <chuck@trantor.harris-atd.com> for Volume 16, Issue 106, fixes some bugs in the make files and a bug in the filter-editing dialog.

No Fun and Games?

comp.soures.games has been extremely quiet. The only posting of note was an update to x4war called x4war2. This updated version, contributed by Xiaobing Chen <xiaobing@cs.sfu.ca> for Volume 13, Issues 82-85 with patch 1 in Volume 13, Issue 86, provides some enhancements, bug fixes, and a set of pictorial bitmaps in addition to the original chinese character bitmaps. x4war is a board game which implements the Chinese four-state war game for X. It allows four players to participate on four separate displays. Each player coordinates his or her own army and players on opposite sides of the board are allied. It is somewhat similar to Stratego.

Previews from alt.sources

The first release of a golf simulator for X was posted by Mark Harrison <markh@saturn.ee.du.edu> on April 1, 1992 in 11 parts. xgolf is a Golf simulator with two 18-hole courses, a practice range, practice green, handicap system, pro-shop, and more. xgolf works on color and bitmap X displays (the color version only uses eight colors).

I am note sure of the usefulness of this submission, but the level of detail they went to is very interesting. David Gingold <gingold@strident.think. com> posted Xtrs on April 1, 1992 in five parts. It is a rather complete TRS-80 Model I Emulator for X-windows. It even includes a Z-80 emulator with debugging mode.

The vi clone elvis was updated to version 1.5 in 18-part posting (parts 00-17) on April 2, 1992 by Steve Kirkendall <Kirkenda@rigel.cs.pdx.educ>. This version of vi runs on almost any UNIX, MS-DOS, Minix, Coherent, OS-9, VMS, and AmigaDos. New in 1.5 are VMS support, more compatible with the real vi, mapping of function keys in a terminal-independent way, color support, a ruler option, and portability changes especially for POSIX.

A port of the Citadel room-based BBS was posted by ken Macleod <ken@bitsko.slc.ut.us>, on May 3, 1992 in nine parts. unidel v1.0 is a room-based system. In a room, you can read messages on the wall, add your own message, up/download files (if allowed) or messages, talk to other users, query information about yourself or the system, or go to another room. There is no main menu and no separate file areas. Rooms can optionally be grouped into floors to provide continuity. Unidel supports a full set of newsgroups, a secure shell, mail reader, char or cb, and file transfer. It relies on the underlying news system (CNews or BNews) to provide message distribution and expiration.

Two updates to the Xpilot multi-player game which has some common features with games like Thrust and Gravity Force. You have control over a fighter which you maneuver through customizable cave-like worlds. Players may form teams or just have a plain old dogfight. The last version posted was version 1.1 which fixed several bugs and now is more portable to various flavors of UNIX. Xpilot v1.1 was posted in 7 parts (00-06) on May 11, 1992 by Bjoern Stabell <bjoern@stud.cs.uit.no>.

Ian Lance Taylor <an@airs.com> has previewed his UUCP configuration library to go with his uucp package. uuconf, posted on May 19, 1992 in 12 parts, provides a set of functions which can be used to read UUCP configuration files. V2, HDB, and Taylor UUCP configuration files are supported. Also included are uuchk to display the contents of configuration files in a verbose format and uuconv to convert files from one type to another.