Columns


On The Networks

It's Back!

Sydney S. Weinstein


Sydney S. Weinstein, CDP, CCP is a consultant, columnist, author, 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, Huntingdon Valley, PA 19006-2320 or via electronic mail on the Internet/Usenet mailbox syd@DSI. COM (dsinc!syd for those who cannot do Internet addressing).

It's official. Paul Vixie has indeed taken over the moderation of comp.sources.unix. He also has the assistance of two co-moderators, Mike Stump and Nick Lai, to help him prevent the kind of backlog that occurred recently. Submissions to the news group, and comments to the moderators should be sent to unix-sources-moderator@pa.dec.com or decwrl!unix-sources-moderator. The queue has been cleared, and the backlog posted. However, it includes over six megabytes of sources in 37 separate postings. Here are just the highlights.

The first posting of the "new era" was chop from George Sicherman <gls@hrmso. att.com>. chop extracts selected fields or columns of lines from the specified files or standard input, and writes them to standard output. It is similar to cut, a tool from the UNIX Documenters Workbench. chop allows for variable field separators and for output of the fields in the order specified on the command line. chop is Volume 25, Issue 1.

Victor Abell <obe@mace.cc.purdue.edu> has obsoleted two of his older postings, ofiles and fstat, with a new version of lsof. LiSt Open Files displays the names of files opened by processes on selected UNIX systems. This new version in Volume 25, Issue 2, supports any file system based on the SunOS vnode model. This includes SunOS, AIX, HP-UX, NeXTStep, Dynix and some others. It understands most vnode extensions, NFS connections, FIFOs, multiplexed files, and UNIX and INET sockets.

Abell having obsoleted ofiles, Robert Ehrlich <ehrlich@margaux. inria.fr> then went and reworked the original ofiles and released ofiles2 for Volume 25, Issue 72. This new version is more portable, but is still designed for BSD derived UNIX systems. As with lsof, ofiles2 displays the names of files that are being used by processes.

A major update to the "Threaded RN" Newsreader was issued by Wayne Davison <davison@boreland. com> for Volume 25, Issues 4-16. TRN is based on RN 4.4, and the posting includes both RN and the changes to make TRN from RN. TRN uses the References header to build a discussion thread out of the news group. The articles are then presented in discussion thread order.

One of the long promised postings, held in the queue for ages, is ease v3.5. ease is a decompiler that converts sendmail.cf into a language that is much easier to understand, and then allows editing of that intermediate language. It also includes a compiler to convert the ease language back into a sendmail.cf file. Considering how unreadable sendmail.cf files are, anything is an improvement. However, ease is a vast improvement. B r u c e B a r n e t t <barnett@crdgw1.ge.com> contributed ease for Volume 25 Issues 17-22.

W e n - K i n g S u <wenking@vlsi.cs.caltech.edu> contributed fsp, one of the more interesting postings. It consists of a set of programs that implement a public-access archive server similar to anonymous-ftp. While the actual code is probably not of much use to most CUJ subscribers, the concept and the implementation of that concept are a very well thought out lesson in client/server computing. It shows the tradeoffs between multiple servers, and a single stateless server. FSP was posted as Volume 25, Issues 24-26.

Several of the newer UNIX shells provide interactive command line editing. The ile program from Robert C. Pendleton <bobp@hal.corn> provides this same capability for any program. It runs the program as a subprocess so it does not need to modify the program, nor does it even need the source of the program it is servicing. It cannot provide a command history from program to program however. ile is Volume 25, Issue 29.

One of the nicer capabilities of the Bitnet sites is the listserv program provided to automate maintenance of mailing lists. Anastasios Kotsikonas <tasos@cs.bu.edu> has provided similar capabilities in his listserv v5.31 package posted in Volume 25, Issues 35-40. listserv provides support for list, list-owner, and list-request aliases for the mailing list and provides the back end programs for archives, moderated lists, peer lists, automated subscription, changes of address, and canceling of subscriptions.

I get spoiled by running on a bit-mapped screen with a good windowing system. Just writing this column I have several windows open, one for the column, one for the list of files to write about, and one containing the file I am reviewing. For those stuck on standard ASCII terminals Juergen Weigert <jnweiger@immd4. informatik. uni-erlangen.de> has released version 3 of his multi-session package, screen3, for Volume 25, Issues 41-48. It allows several different virtual screens on a single terminal using a short "hot key" sequence to switch between the sessions.

One of the more popular UNIX shells for interactive use has been csh, the c-shell. Over the years, many interactive extensions to csh were published as tcsh. These extensions used to require the source of csh as the base for the patches. Now with version 6, the full source of tcsh can be released. tcsh is a "kitchen sink" shell. It supports command line editing, command and file name completion, lists, manual lookup, job control, and has been ported to many different UNIX systems. For those that prefer csh to ksh, then tcsh will give you all the benefits of ksh with the csh syntax. The newest version, 6.01, was contributed by Christos Zoulas <christos@ee.cornell. edu> for Volume 25, Issues 54-71.

Another major update is the latest version of the Revision Control System. RCS v5.6, which is a very flexible source code librarian not only supports source files, but also can track changes to binary files. RCS v5.6 was contributed by Adam Hammer <hammer@cs.purdue.edu> for Volume 25, Issues 77-87. New in v5.6 are changes to fix security problems, efficiency changes for retrieving older versions, and the following of symbolic links instead of breaking them, and more reliable lock files under NFS.

Emmet Gray <fthood!egray@uxc.cso.uiuc.edu> has updated his mtools package to version 2.0.5. mtools allows UNIX systems read, write, and manipulate files on an MS-DOS filesystem (typically a diskette). It emulates the commands ATTRIB, CD, COPY, DEL/ERASE, DIR, FORMAT, LABEL, MD/MKDIR, RD/RMDIR, COPY, REN/RENAME, TYPE, and COPY. The FORMAT command only adds the MS-DOS File system to the diskette. It depends on the UNIX low-level format routines to actually low level format the diskette. mtools2 was posted in Volume 25, Issues 97-99. Volume 25, Issue 103 is a set of patches to mtools 2.0.5 from Henry van Cleef <vancleef@netcom.netcom.com> to support XENIX 286 systems. There were portability problems in the original release in regards to assuming that ints are at least 32 bits long. In XENIX 286, an int is 16 bits.

Recent patches appearing in comp.sources.unix include:

psroff had patches 5, 6, and 7 posted as Volume 25, Issues 32, 33, and 104. psroff allows both older C/A/T troffs and the newer di-troffs to work with Postscript printers and with HP Laserjet printers. Patch 5 is minor fixes mostly for compilation on 80286 style machines. Patch 6 is very important as several major features were broken and fixed by this patch. Patch 7 is fixes for groff/di-troff users using HP laserjets.

pathalias, the USENET map routing program, had patch 10 released by Peter Honeyman <honey@citi.umich.edu> as Volume 25, Issue 89. This is purely a bug fix patch and it is very small, but since so much depends on pathalias, I though it worth mentioning.

No Reviews

The status postings show several projects in the re-review stage, but nothing appeared in comp.sources.reviewed over the past two months. Now that comp.sources.unix is back, this is not unexpected.

misc Tries an Experiment

Kent Landfield, the moderator of comp.sources.misc tried an experiment this time. He took a very large posting, made a tar file of it, and then compressed the tar file. He then uuencoded the compressed tar file and posted that. Even posted that way it was 42 parts (plus part 00 with the text on what the posting is and how to convert it back to a tar file). If posted as the normal shar format it would have been over 140 parts, probably the largest single posting ever tried. Reviews of this method were mixed, with a large amount of complaints on how it is harder to determine what is there, and to sort and deal with it, but I had no problems saving the files, running my concatenation script and feeding that to uudecode to convert the ASCII back to binary. It then uncompressed cleanly and produced a 7.5MB tar file.

And what was this grand experiment..., pp v6.0, a Mail Transfer Agent (MTA). pp is designed for high volume message switching, protocol conversion, and format conversion. pp supports X.400, RFC-822, and RFC-1148bis conversion between RFC-822 and X.400. PP is designed as a replacement for MMDF or sendmail. pp speaks X.400 (1984 and 1988), SMTP, JNT, UUCP, DECNET Mail-11, X.500, alias files, RFC-822 local delivery, and Fax Internetworking. No User Agents are provided, but a line oriented and an X-Window based management console program are provided. pp v6.0 was contributed by Steve Hardcastle-Kille <S.kille@cs.ucl.ac.uk> for Volume 27, Issues 24-66.

The shadow log-in suite for UNIX systems was rereleased by John F. Haugh II <jfg@rpp386.cactus.org> for Volume 26, Issues 54-64. New in release 3 is support for SVR4 style maintenance utilities and the grouping of the code into libraries to make maintenance easier. This suite provides shadow login/password management to many UNIX systems that do not yet have such support natively. One file was left out of the distribution and was posted as patch 1 in Volume 26, Issue 75.

Robert Davis<robert@am.dsir.govt.nz> contributed a new version of his C++ matrix package for Volume 26, Issues 87-91. newmat04 supports matrix, upper and lower triangle, diagonal and symmetric matrices, row and column vectors and the element type float/double. Operators include *, +, --, inverse, transpose, submatrix, determinant, decomposition, triangularization, eigenvalues, sorting and fast Fourier transforms. It is intended for matrices in the size range 4x4 to 90x90.

Have an HP Laserjet with the Pacific Data Systems 25-in-One font cartridge? If so, Bill Walker's <bkw@uecok.ecok.edu> wroff is what you need. It is a text formatter in the spirit of nroff, but designed specifically for this combination of hardware. wroff runs on UNIX, XENIX, MS-DOS and CPM-68K. It does kerning and some other troff like items as well. wroff is Volume 26, Issues 97-101.

Ted Campbell <tcamp@hercules.acpub.duke.edu> contributed sfs the space flight simulator for IBM PC's with EGA or VGA, UNIX- PC's with MGR or UNIX with X11. A 21-part posting in Volume 27, Issues 1-21, sfs offers a graphics-based real-time animated simulation of orbital flight. You can simulate a complete range of orbital parameters and can also simulate multiple planets in a solar system. A particularly full map is given of the earth and can be displayed as viewed from the orbiting spacecraft, as a ground track map, or as a distance perspective in which the orbital track can be seen.

A compatible regex (regular expression) package without any licensing restrictions was contributed by Tatu Ylonen <ylo@ngs.fi> for Volume 27, Issue 23. It is fully compatible with the GNU regex library and can handle arbitrary data including binary patterns. It also can compile and run on 16-bit machines such as MS-DOS.

Those interested in genealogical research may want to get Steve Murphy's <murf@oakhill.sps.mat.com> gcom from Volume 21, Issues 72-78. gcom reads in GEDCOM format files containing genealogical data and merges them, utilizing not only name and date match heuristics, but familial ties as well.

In my February column, I mentioned Archie, the service that keeps track of which sites archive which data. Brendan Kehoe <brendan@cs.widener.edu> has updated his archie client in Volume 27, Issues 79-84. Version 1.3 of archie is his Prospero client for the archie service. Note, using this client requires TCP/IP access to an Archie server, which means you must be on an Internet.

Last on the new release front is the latest release of dmake. Version 3.8 replaces version 3.7 and hopefully addresses all the little obscure bugs and features that remained. Dennis Vadura <dvadura@plg.waterloo.edu> has provided this version of the make utility. This package is the extended make ala BSD 4.4 release including many more features than the traditional versions. It includes support for UNIX, XENIX, MS-DOS, OS/2, and Atari-ST TOS. dmake 3.8 is Volume 27, Issues 101-142.

On the patch front, patch 9 was issued for parseargs in Volume 26, Issues 65 and 66 by Brad Appleton <brad@ssd.csd.harris.com>. parseargs provides a set of functions to parse command-line arguments. It can do much more than the getopt variety of parser. Patch 9 is mostly bug fixes and was followed by patch 10 in Volume 26, Issue 116 for a bit more cleanup.

qbatch from Alan Saunders <tharr!alan> had its patch 2 posted for Volume 26, Issue 70 and patch 3 posted in Issue 85. Again, these were bug fix releases.

The KSH lookalike, pdksh, posted by Simon Gerraty <sjg@zen.void.oz.au> was updated to patch 1 in Volume 26, Issues 71 and 72. The build process was cleaned up and some portability issues were addresses.

The tin threaded newsreader had patches 6 and 7 posted by Iain Lea <stevax!iain> in Volume 26, Issues 76-82. New are support for Minix 386, more -M options for From lines, unread articles, and scrolling, plus some bug fixes. Patch 6 was in five parts and patch 7 in two parts.

PBMPLUS the multi-format image manipulation toolset was also updated to fix some bugs and to add several new programs. Jef Poskanzer <jef@gwell.sf.ca.us> provided patch 10 in Volume 26, Issues 106-110. New are pgmcrater, ppmforge, ppmtoacad, and sldtoppm.

Alternative Games

Two different versions of a "get the money game" called sokoban were contributed by two different authors. Kevin Solie <kevins@ms.uky.edu> contributed his xsokoban for Volume 13, Issues 1-2. This X-based game is a very incomplete implementation of an idea from a similar PC game.

The other version, xsokoban2, is from Joseph Traub <jt1o+@andrew.cmu.edu> and was released in Volume 13, Issues 13-15. It provides a slightly different user interface than Kevin's version, but is essentially the same game.

Volume 13, Issue 3 provides dr_mario from Scott Noecker <noecker@seq.uncwil.edu>. This is a one-player lookalike version of Dr. Mario, a popular game for Nintendo that has nothing to do with the Mario Brothers series. It uses the standard keyboard and curses for the display driver.

A complete revision of the WCST Nethack spoilers file updating it to version 7 was contributed for Volume 13, Issues 4-9 by Paul Waterman <wheaton!water>. A complete reformatting has been done to make the information easier to use, and of course, more changes and sections have been added.

A connect-five-in-a-row-game, make5 was contributed by Chih-Hung Hsieh <hsiehch@spunky.cs.nyu.edu> for Volume 13, Issues 10-12. This game, written in C++ provides both a curses and an X-Window interface. The X version uses the athena widgets library.

For those with multi-user networks, a multi-player networked bridge game was contributed by Matthew Clegg <mclegg@cs.ucsd.edu>. okbridge, Volume 13, Issues 16-23, is a computer mediated bridge game that allows four players to participate in a game of rubber or duplicate bridge. The program handles dealing, scoring and communication of bids and plays. Issue 23 is a patch to fix a small problem in one of the distribution files.

Previews from alt.sources

Its been a quiet two months in alt.sources, only 4MB worth of notable postings (that or I am being more selective in what I consider notable). The most notable posting is a release of a uucp work-alike package from Ian Lance Taylor <ian@airs.cam>. taylor-uucp v1.01 was posted on November 24, 1991 in 18 parts. It is a complete replacement for HDB style UUCP. It supports V2 style configuration (L.sys, L-devices) and BNU (aka HDB) style configuration files (Systems, Devices). It is a complete system, except for the fancy maintenance shell scripts and uusched (the latter is in the works).

Curt Mayer <hoptoad!curt> posted his disassembler for Z80/Z280 CP/M .COM files on November 27, 1991. The output is capable of being assembled and can detect code sequences by tracing jump targets.

Along with the CP/M disassembler, D'Arcy J. M. Cain <druid!darcy> posted on December 19, 1991 in three parts his Z80 CP/M emulator for UNIX. Most of the Z80 instruction set is implemented, except for the I/O section. The emulator also uses the UNIX shell commands to simulate some of the CP/M commands and uses the UNIX file system for drives. All I/O must go via the BDOS or BIOS as IN and OUT opcodes are not fully implemented.

On the opposite front, Quinn Jenson <jensenq@qcj.icon.com> posted a DSP56001 assembler on November 29, 1991 in four parts. The syntax was intended to be compatible with Motorola's syntax, but without the docs he could only guess. It does allow for UNIX based DSP code development for those not lucky enough to have a NeXT.

pcal, the postscript calendar program has been updated to Version 4.3 by Joseph Brownlee <jbrO@cbnews.cb.art.com> on December 16, 1991 in seven parts. pcal allows for creation of personal calendars. New in 4.3 are generation of UNIX calendar files, move the previous and following month boxes around on the page, allow notes in any empty day box, change both note font and size via command line options, addition of the nearest keyword as in "workday nearest every 10th", plus about a page more worth of additions (something had to fill the 13000 lines of the posting).

Mayan Moudgill <moudgill@cs.cornell.edu> has posted his C++ socket library that adds UNIX and INET sockets to the iostreams functions. It was posted in late December, and then an updated posting was made on January 8, 1992 in two parts. Supported are convenient connection setup routines, use of the usual << & >> operators for i/o, support for out of band message transmission and reception, and an easy method of specifying per socket SIGIO, SIGURG and SIGPIPE handlers. Also include is an interface to the select system.

A gateway between the UNIX and the Citadel style BBS was posted on December 24, 1991 in four parts by Ken MacLeod <unidel@bitsko.slc.ut.us>. uccico implements the Citadel BBS networking for a UNIX system much like uucico does for UUCP. It handles USENET news and RFC822 mail conversion.

A large posting was mixview, posted by Robert Lau but written by Douglas Scott <doug@woof.columbia.edu> in 11 parts on January 12, 1992. It is an X-Window program that allows for editing sound files. It supports any BSD style system that has sound capabilities, such as Sun's and NeXT's.