Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

On The Networks


June 1991/On The Networks

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 [email protected] (dsinc!syd for those who cannot do Internet addressing).

Usenet is wending its way through the group-creation procedures for a new sources group titled comp.sources. reviewed. The charter for this group is similar to the charters for comp.sources.unix and comp.sources.misc and falls between them in the amount of checking performed by the moderator before posting.

Postings in comp. sources. unix are restricted to those sources that will run on UNIX systems. (The sources can also run on non-UNIX systems.) Rich Salz subjects the postings to various tests for portability and insists on documentation, a MANIFEST (a list of files in the submission), a Makefile, and a README file before posting. He then compiles the submission and tries it out. This checkout by Rich takes time and delays the appearance of postings in this group for several months after submission.

Postings in comp.sources.misc are not checked by Kent except for having a Makefile and a README file. They are also not restricted to sources just for UNIX systems. Postings to this group are handled promptly, but you may have some problems with them, especially with portability.

Many have desired a group in the middle, with fewer delays than found in Rich's group but better checking than Kent's group. A concern was also raised that part of the delay in Rich's group was due to the workload required on one person. Andrew Patrick of the Department of Communications, Ottawa, Canada, <[email protected]> volunteered to moderate a new newsgroup, comp.sources.reviewed, in which a new concept in source-postings groups would be given a fair trial. This concept is peer review. Peer review has long been used for scientific journals. He has proposed that peer review for this new newsgroup will function as follows:

First the moderator will solicit for a set of reviewers, whose function will be to test submitted software to make sure it can be compiled and run following the directions given, and that it appears to function as per its documentation (a smoke test, but not a rigorous one). New reviewers will be selected on a regular basis because some reviewers will get too busy and drop out. The pool of reviewers will include people with all different types of UNIX systems so portability can be tested.

When a source is submitted to the moderator, he will assign the reviewers for that source from his pool of reviewers and ship the source to them via electronic mail. These reviewers will then check the submission for completeness (are any parts or files missing?), packaging (do the shars work?), and for portability. The reviewers will then reply to the moderator with their review, indicating what problems they had and if they think the submission is suitable for the newsgroup.

If the submission is ready, the moderator will post it to the group. If not, he will contact the submitter and report all of the problems and solicit corrections from the author. If the submission is deemed inappropriate for the newsgroup, he will suggest other groups for which it would be more appropriate.

All of these steps will evolve as the group matures. The goal is to test the submissions without taking many months to be posted. If the submission does not need any changes, the entire posting proccess should take one to two months.

This proposal is then voted on by the members of the USENET network-news community. The vote lasts 30 days. If 100 more yes votes (for the group's creation) are received than no votes, the group is then created. The vote was: 270 YES and 54 NO. The group is too new to have any postings yet, so it's back to the rest of the groups...

Rich Is Unfazed

The appearance of a call for another group has not stopped the postings to comp.sources.unix. New this time:

In CUJ (Volume 7, Number 4) I wrote about two source-code librarians. One of those was RCS, the Revision Control System by Walter Tichy of Purdue University. Since its original release in 1983, several authors have extended and supported it. The most recent is Paul Eggert who coordinated extensive enough changes to warrant a new release. Adam Hammer <[email protected]> submitted RCS 5.5. This new version is released under the GNU General Public License. This version is backwards compatible with the older versions and adds many new features. Some of these new features make the term source-code librarian obsolete. RCS 5.5 can now handle arbitrary files, not just text files (this includes binaries). Keyword substitution — always one of RCS's strong points — has been improved. In addition, changes to support four-digit years (yes, it's almost 2000) and developers in multiple time zones have been added. RCS now uses all of the features of GNU diff. RCS 5.5 is Volume 24, Issues 1-12 with Patch 1 being Volume 24, Issue 13.

The concurrent version-control system, CVS, by Brian Berliner <[email protected]> which uses RCS was upgraded to support RCS 5.5. This upgrade, a two-part patch was issued as Volume 24, Issues 14 and 15. CVS allows for concurrent development of the same sources by many developers. It is a front end to RCS to extent it to support this concurrent access.

Along with RCS and CVS, a new version of GNU diff was released. Version, 1.15, by Paul Eggert <[email protected]>, provides all the support required by RCS and adds the new unified difference format, more options for diff3, a file-label option, and support for incomplete lines (lines that do not end in a new line). It still provides all the features of BSD diff. GNU diff is Volume 24, Issues 16-23.

Elm, the UNIX Electronic Mail User Agent whose development I coordinated, has finally had its patches distributed via comp.sources.unix. There were 11 patches stored up awaiting distribution for Elm 2.3. They finally got distributed as Volume 24, Issues 25-35. Perhaps this will reduce the load on my archive-server, which up to this time had been a major source of the patches.

Volume 24, Issue 24 was an experiment for Rich. It's not truly a UNIX source posting, but a set of shell scripts that display a set of policy screens for a user. The policies describe who is allowed to use the computer system and other local site policies. Sample screens are included in the posting, which was submitted by Bud Hovell <[email protected]> Rich has solicited comments on the usefulness of his group, including this type of posting.

Evolution

While only a few sources appeared in Rich's group, comp.sources.misc was very active again. Most of the postings deal with systems administration or system utilities.

First, one of the major programs from the last column, ECU, an extended CU for SCO type systems, has started its growing-pains evolution. This is when your program first really gets a wide audience and you start finding all the portability problems. ECU, from Warren Tucker <[email protected]> released several patches to ECU to fix its teething pains. These were Volume 16, Issues 87, 88, 91, 92, 98, and Volume 17, Issue 11. The original ECU is Volume 16, Issues 25-29.

In mtf, Richard L. Goerwitz <[email protected]> gets daring. He has written a program to remap the longer flexi-file names of BSD systems to shorter names for USG type systems. Not too daring? How about doing it within a tar archive. Still not too daring? How about also changing all references to these file names in other text files within the archive. If it works well, it sounds great, but modifying the text files sounds scary to me. Of course, it does also fix up the checksums in the tar archive for the routines it modifies. mtf is Volume 16, Issues 85 and 86.

If you ever wondered how some sites manage to archive the postings that go by in each group, some do it with computer assistance. Frederic Chauveau <[email protected]> contributed his news_split program for Volume 17, Issue 1. This program will read the articles in a set of groups and create the appropriate directories and files to save them for later use. It extracts the volume, issue, and archive name information from the posting for use in saving the files. Patch 1 in Volume 17, Issue 10 added the ability to save the files in compressed format. Patch 2 was issued as Volume 17, Issue 15.

An alternate method of saving the source postings for archive was submitted by the moderator, Kent Landfield <[email protected]>. Rkive also supports filename generation from the headers of the articles and compression to save space. It also supports NNTP so the archives can be created and maintained on remote systems. Rkive supports the X-Checksum-Snefru: header used to verify the correct reception of the article. These headers are used in both comp.sources.unix and comp.sources.misc. Rkive 2.0 is Volume 17, Issues 17-22.

David Skoll <[email protected]> has released Remind. Remind replaces the UNIX calendar command. It notifies you about upcoming events. It supports time-based pop-up reminders as well as the mail messages sent several days in advance. Remind version 2.3 is Volume 17, Issues 3-6 with a patch in Volume 17, Issue 33.

Continuing with systems-administration tools, space, contributed by Frederic Chauveau <[email protected]>, keeps track of how much disk space is being used by each user on a per day, per user, and per file system basis. By looking at the reports, trends in disk space usage can be spotted, and reminders to large users to clean up their files can be sent. space is Volume 17, Issue 7.

Another systems-administration tool is which6, a fast which program. which searches a path looking for aliases and command matches to the names given. It then reports which files would have been executed for each command. This new version supports the BSD concept of multiple group memberships at the same time. which6 is Volume 17, Issue 12.

finddup is a tool that will search a set of files looking for duplicate files. It does this by taking each file and doing a length and CRC check. It then byte-by-byte compares all files that have the same length and CRC with different inode numbers (to rule out reporting on links to the same file). This allows for listing files with the same contents even though they have different names. Bill Davidsen <[email protected]> contributed finddup for Volume 16, Issue 95.

Jonathan Kamens <[email protected]> of the MIT Project Athena (The original home of the X Window System) submitted two entries. delete is the current version of Project Athena's file deletion utility that supports file recovery by renaming the file and deleting it later. delete at patchlevel 12 is Volume 17, Issues 23-26 with patch 13 being Volume 17, Issue 37.

His other contribution is com_err, the common error handling library used by the Project Athena tools. He remarks that this is not an official release of the com_err library by its authors, but is posted so that delete can be compiled and linked. He made that remark to state that com_err is not currently supported by Project Athena. com_err at patchlevel 3 is Volume 17, Issues 27-29 with patch 4 being Volume 17, Issue 38.

Leaving the system utilities behind and heading towards the applications, I found two postings this time. Ted Wisiewski <[email protected]> submitted another menu system for UNIX. This small and very simple text-file based menu system supports command execution and submenus. The menus files are editable with any text editor. pscmenu is Volume 16, Issue 99.

MIDI is not only a method of controlling musical instruments via computer, it's also a file format for storing the musical information. Andrew Arensburger <[email protected]> rewrote Tim Thompson's midifile parser for reading MIDI-format files. It allows for event selection and track filtering. midifile is Volume 17, Issue 2.

Spoils And War

The nethack spoilers file was updated and reported to comp.sources.games. Paul Waterman <wheaton!water> has graced us with an update to the list of clues and answers for playing nethack. The file is not guaranteed to be 100 per cent correct. It was gathered from playing the game and from reading USENET mail and news groups. This four-part posting is Volume 12, Issues 17-20.

In addition, Izchak Miller <[email protected]> released patch 10 to nethack. This patch in Volume 12, Issues 25-32 "adds no new features, few optimizations, fixes many mostly rare bugs, and extends support to a couple of more system variants."

An update to bt, bt2, was posted as a complete re-release. Broken Throne is a multiplayer real-time conquest game for UNIX systems that support BSD-type sockets and curses-based terminals. Contributed by Tom Boutell <[email protected]> it's Volume 12, Issues 22 and 23 with a patch in Issue 24.

Larn, described last time, also had some patches released, patch 2 was Volume 12 Issue 33. Patch 3, which adds support for OS/2, is Volume 12, Issue 34. Patch 4 is Issue 35.

MDG, the Multiuser Dragon Game was contributed by Chris Gonnerman <tree!jcg> for Volume 12, Issues 37-42 with patches in Issues 43-45. MDG is a hack/larn/rogue style game, but with a difference, it's multi-user. It allows up to nine people to play in the same game. They can ignore each other, do battle, or team up to fight the monsters or each other. It does not require BSD-type sockets because it is not networked, just multi-user. It uses the System V-style IPC calls (message queues and shared memory).

For those wishing to bring up, tinymud2 is a BSD networking-style multi-user game under systems without the BSD sockets. John Temples <jwt!john> has contributed a set of patches to use the System V named-pipe facility instead of sockets. Because of the way he faked the select call, only 14 users can play at once. This set of patches also requires the Xenix patches to tinymud2 previously posted. The sysv_diffs are Volume 12, Issue 46 along with the named-pipe-based client for tinymud2 in Issue 47.

Previews From alt.sources

Once again there were many postings to alt.sources. I am only going to highlight some of the 54 major postings. If you need BBS software for UNIX, several different packages were posted all around mid January 1991. Each has its drawbacks and each is rather large, so I won't mention any more. Find an archive site and have at it.

If you've ever seen talk, the BSD user-communication program with its split screen and immediate modes, and have gotten tired of UNIX's write, then it's Chat to the rescue. Posted by Mark Laukien <[email protected]> on January 22, 1991 in two parts, UNIXChat is a full screen multi-user conferencing system that does not use BSD sockets. Therefore, it is limited to the current machine.

For those still running Xenix, P. Garbha <[email protected]> posted on January 25, 1991 a three-parter for making shared libraries. It includes tools to convert x.out to coff format and some routines from other sources to replace Xenix routines that are not compatible with shared libraries. It was written for putting up X11R4 on Xenix where having a shared library can really save a large amount of space. It does require gcc (GNU CC) and gas (GNU assembler) to build the libraries.

One of the problems with TCP/IP-based networks is that it is easy for users to fool the standard application software to hide their identity. Dan Bernstein <[email protected]> posted on February 7, 1991 a set of postings providing an implementation of RFC931, an authentication server for TCP. This server will report the user name of the owner of the process that has the requested TCP connection open. He provided the daemon to report the owner, authd, an authorization-request subroutine for use by applications, and modifications to several standard utilities, including talk.

One of the larger postings was a beta copy of Python, an extensible interpreted programming language. Posted by Guido van Rossum <[email protected]> in 21 parts on February 19, 1991, it was the largest single program posted. python can be used instead of shell, awk, or perl scripts to write prototypes of applications. Built-in modules interface to the operating system and to X11 and the Mac window system. It has been ported to UNIX and the Apple Macintosh. His STDWIN package is also required to use the windowing interface with python That was posted in 19 parts on March 4, 1991.

Maintaining sendmail.cf files, the cryptic configuration file used by a popular UNIX Mail Transport Agent, can be difficult. The programming language EASE was written to make writing these important files both easier and less buggy. Bruce Barnett <[email protected]> posted a beta of version 3.0 of EASE on February 23, 1991 in six parts and some portability fixes in a patch on February 26, 1991.

Liam R. E. Quin <[email protected]> posted his full text-retrieval package in a 13-part posting on March 4, 1991. Lqtext lets you search for phrases in text that has previously been indexed. The indexing program is also part of the package.

The Binary Editor And Viewer (BEAV) was posted by Peter Reilley in 11 parts on February 27, 1991. This editor can insert and delete within the file (thereby changing its length) as well as display and change data in place. Data can be displayed in byte, word, or long word formats in either big-endian or little-endian order.

Several years ago, someone wrote a program to print calendars on PostScript printers. The program was extended to support placing events on the various days. This constant extending has led to more than 25 versions being posted to alt.sources over the years. The latest version, pcal 4.0 was posted by Joseph Brownlee <[email protected]>. It includes a complete reworking of the source, support for MS-DOS and Amiga in addition to the prior UNIX and VMS, and a whole laundry list of new features. This is one program that has really turned into the kitchen sink. pcal v4.0 was posted on March 14, 1991 in five parts.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.