Columns


On the Networks

What Happened — Again?

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).

Once again, things have dried up in comp.sources.unix. But this time they have also dried up in comp.sources.x. Both groups have been extremely quiet, with no postings in comp.sources.unix. and only one in comp.sources.x. But what is unusual is that there hasn't been any word from the moderators of each group about any problems.

Also different this time is that the other groups have also quieted down. This is unusual. Normally when one of the groups quiets down, the others overflow with the items that would have been posted to that group. This time even the catchall group, comp.sources.misc has been relatively quiet.

I can only chalk this up to a combination of three things:

I can say that the last two are true about the Version 2.4 release of Elm. It was submitted to the moderators of comp.sources.unix two months ago as of this writing, and I haven't pressed as to why it hasn't been distributed yet because we now use a set of FTP mirror sites that include ones able to be accessed via UUCP. In addition we publish it on several of the CD-ROM collections.

The single posting in comp.sources.x consisted of wscrawl from Brian Wilson <brianw@apple.com>. The word "wscrawl" stands for "window-scrawl." The user may think of wscrawl v2.0 as a paint program shared by any number of people at the same time. When wscrawl is run, it opens up a separate window on each participant's display. From that point onward, each participant sees the actions and ideas of every other participant as they occur. Each individual may simply watch, or participate at any moment. Any individual may exit out of the session at any time without affecting the other participants. wscrawl requires Motif 1.1 to compile but binaries for common architectures are available from 128.109.178.23 via anonymous ftp.

Reviews Alive, Barely

The only controlled newsgroup that had activity was comp.sources.reviewed, with updates to two packages and two patches.

Mike Lijewski <lijewski@theory.tc.cornell.edu> updated his Directory Editor, written in C++, to version 1.8. dired was posted as Volume 2, Issues 32-37. dired is a directory editor modeled after Dired Mode of GNU Emacs, but targeted for non-emacs users and designed for the UNIX environment. In addition to fixing bugs, and portability problems, about two pages worth of new features have been added.

Version 1.7 of cextract from Adam Bryant <adb@cs.bu.edu> was posted in Volume 2, Issues 38-43. cextract is a C prototype extractor. It is designed to generate header files for large multifile C programs, and will provide an automated method for generating all of the prototypes for all of the functions in such a program. It may also function as a rudimentary documentation extractor, generating a sorted list of all functions and their locations. Changes since the last posted version (1.2) include portability fixes, file name and line numbers in error messages, improved documentation, support for C++ // comments, proper support of the __STDC__ #if construct, and support for runtime selection of which C preprocessor to be used.

On the patch front, ncompress received patch 1 in Volume 2, Issue 27. Peter Jannesen <peter@ncs.nl> fixed the -c flag, a utime error, and added support for the AMIGA. ncompress is an enhancement to the USENET de facto standard file-compaction program to increase its speed.

Volume 2, Issues 28-31 were patch 2 to mawk from Mike Brennan <brennan@boeing.com>. This was a bug fix patch to this awk work-alike and also added new configuration support for AIX, Convex, and SVR4/386.

Even misc is Updates

Most of the postings in comp.sources.misc were also patches and updates to existing packages. Please don't tell me that everything good has already been written.

The patches included patch 2 to oraperl v2 from Kevin Stock <kstock@encore.com> in Volume 32, Issue 93. oraperl is a set of extensions to perl to access Oracle databases. This patch handles null fields properly and a change to ora_ titles to allow truncating the titles to the data width or retrieving the full titles of the columns.

ECU, which was highlighted in the last column, had patch 3 posted by Warren Tucker <wht@n4hgf.Mt-Park.GA.US> for Volume 32, Issue 96. Changes include addition of a -l flag to fkmap to load an alternate map from the library directory, changes to how seven-bit mode is reported and recognizing the ,M suffix in the UUCP Devices tables for all platform types.

John F. Haugh II's <jfh@rpp386.cactus.org> shadow password suite, shadow, was updated to version 3.2.2 by patch 6 posted as Volume 32, Issues 98-100. The most significant change made for this patch is the addition of administrator-defined authentication mechanisms. This allows the system administrator to replace the standard encrypted password with a program which performs the authentication. Any user-written program may be used. This feature may be used to add any of a number of authentication schemes. Haugh has also started to revise the commands to work both with the shadow password and with the standard password file.

The Mail Users Shell has been updated with patch 5 for version 7.2 by Bart Schaefer <bart@zigzag.z-code.com> in Volume 32, Issues 101-103. New in this version is POP Support, MIME support, expansion of variables now more closely resembles how the shells handle it, and checking for the UNIX From_ line even if MMDF is being used. Of course there are also numerous bugs fixed.

Chip Rosenthal <chip@chinacat.unicom.com> issued a portability patch for SCO XENIX 2.3.3 users to his prtscrn2 screen capture program (for SCO UNIX and XENIX console screens). This very short patch fixes up the doc a bit and adds a missing define for that version of the OS. It appeared as Volume 33, Issue 29.

The delete/undelete utilities for UNIX from Jonathan I. Kamens <jik@Athena.MIT.EDU> were updated to patchlevel 15 with Volume 33, Issue 70. This is a bug fix patch which corrects malloc problems, POSIX dirent support, AFT mount point problems, some memory allocation problems on nesting, and a bug in symlink support.

Leaving the patches and turning to packages, yet another graphical directory tree program was contributed by Tom A. Baker <tombaker@world.std.com> for Volume 32, Issue 97. tbtree allows users to get a visual idea of where things are on their system. It was written on SunOS, and with a little work should port to other flavors of UNIX.

A device driver for UNIX System V.3 to implement the poll and select system calls was submitted for Volume 32, Issue 105 by Bruce Momjian <candle!root>.poll and select are UNIX C library functions that allow programs to determine if a number of file descriptors are ready for reading or writing. In addition, his pol package includes a modified version of the public domain System V pty device driver written by Jens-Uwe Mager, with changes for System V by Michael Bloom.

Guido Gronek <gg@trillian.tp1.ruhr-uni-bochum.de> had the need for a fast substring search routine. He created qsearch, an ANSI-C implementation that searches for the leftmost or rightmost occurrence of a pattern string in a text string. The algorithm used is "quick search" by D. M. Sunday, which is a simple but fast practical method. It's supposed to be even faster than the well known Boyer-Moore algorithm. (See Sunday's original paper, CACM 33.8, page 132 for several improvements of the basic method as well.) He implemented the reverse text scanning by a rather simple variation of the original algorithm. qsearch was posted as Volume 32, Issue 106.

A newer derivative to an older vi (a UNIX text editor) clone package called stevie, was contributed by John Downey <jmd@cyclone.bt.co.uk>. Xvi was posted as Volume 33, Issues 10-27. While the name starts with X, there is as of yet no specific X-window version of the editor. Xvi is a portable multi-window version of vi that uses text windows separated by horizontal status lines on character-mode displays. The windows may represent different files being edited, or different views on to the same file.

For those just learning vi, Wes Craig <wes.craig@umich.edu> contributed vilearn for Volume 33, Issue 35. There are five short tutorials, each a text file intended to be edited with vi. The first, "Basic Editing," covers the handful of commands required to both navigate all five tutorials and do basic editing. The second tutorial, "Moving Efficiently," covers all of the cursor positioning commands. These are the commands used later as arguments to editing commands. Tutorial three, "Cutting and Pasting," introduces the first compound commands, numbering, and copy buffers. The "Inserting Techniques" tutorial continues the discussion of compound commands, while completing the list of insertion commands first discussed in tutorial one. The final tutorial, "Tricks and Timesavers," is less a tutorial than a description of common vi commands which don't fit correctly into normal vi logic.

An interpreter for a superset of the ANSI Standard for Minimal BASIC (X3.60-1978) was contributed by Ted A. Campbell <tcamp@acpub.duke.edu> for Volume 33, Issues 37-47. bwbasic is implemented in ANSI C, and offers a simple interactive environment including some shell program facilities as an extension of BASIC. The interpreter has been compiled successfully on a range of ANSI C compilers on varying platforms with no alterations to source code necessary.

An update to tarmail v2.3 was contributed for Volume 33, Issue 36 by Paul Lew <lew@gsg.gsg.com>. tarmail and untarmail provide a reliable way to send files through electronic mail systems. Large files will be divided into smaller chunks for transmission. Unlike the previous version of tarmail, the new tarmail will attach a CRC checksum on an individual chunk instead of on the entire file(s). The ability to retransmit only the faulty chunks make tarmail the idea tool for sending files by electronic mail.

Brendan Kehoe <brendan@cygnus.com> has updated his archie client in Volume 33, Issues 50-56. archie is a system to locate programs stored in the various anonymous ftp archives on the Internet. This patch takes archie to 1.4.1.

David F. Skoll <dfs@doe.carleton.ca> has released an update to his remind package. Version 3.0.0 was contributed for Volume 33, Issues 58-69. remind is a sophisticated reminder program. It has a flexible and powerful script language, and allows you to easily specify reminders for most occasions including: particular dates (birthdays, etc.), holidays like Labor day, which occur on a particular weekday of a month, dates which repeat with an arbitrary period, meetings which are automatically moved in the event of holidays among others. remind also includes a feature to activate timed alarms in the background. remind should work on most UNIX systems, as well as MS-DOS. This allows you to use the same script on your UNIX and MS-DOS systems.

A program to calculate dates in the Jewish calendar for a given gregorian year was contributed by Danny Sadinoff <sadinoff@unagi.cis.upenn.edu>. hebcal v1.2, Volume 33, Issue 71, is fairly flexible in terms of which events in the Jewish calendar it displays. Each of the following can be individually turned on or off: the Hebrew date, Jewish holidays (including Yom Ha'atzmaut and Yom HaShoah etc.), the weekly Sedrah, the day of the week, and the days of the Omer.

Mike Lijewski <lijewski@rosserv.gsfc.nasa.gov> contributed problem v1.1, a database manager for bug reports and such, meant to be used in a UNIX environment. It is written in C++, uses the GNU Database Management Library (GDBM) for low-level database operations, and uses the termcap(3) library for screen control. The basic idea is to provide a central front-end for managing the various databases of bugs and miscreant behaviour that a large UNIX site might be interested in tracking, and facilitating the sharing of this information amongst all interested parties. Version 1.1 was posted in Volume 33, Issues 72-78.

Twice, Twice

The trend in comp.sources.games is to post things twice. It happened a bit this time, where the same game got posted and then updated with a newer version.

A version of the popular game scrabble was contributed as scrabble2 by James A. Cherry <jac@doe.carleton.ca> for Volume 14, Issues 93-110 with patch1 in Volume 15, Issue 9. This version of scrabble is curses-based and uses a dictionary to allow play against one or more computer opponents. It only requires a text-based screen.

A generic tetris game for X11R4/5 was submitted by Qiang Alex Zhao <azhao@cs.arizona.edu> for Volume 15, Issues 5 and 6. gtetris2 is a generic version that uses no toolkit, only Xlib, and is highly portable.

Thomas Grennefors <etxtsg@solsta.ericsson.se> contributed xminesweeper for Volume 15, Issue 3. It is a game where your task is to find the hidden mines in a minefield. Play is with the mouse and buttons control marking where the mines are, or marking safe squares. One wrong move and the game is over. Patch1 appeared in Volume 15, Issue 10.

Xstratego is a X-window-based stratego interface for two players submitted by Henk-Jan Visscher <hjvissc@cs.vu.nl> for Volume 15, Issues 11-14. You can either play against another player (on the same or different host) or create a board setup for later use. It uses the Xaw toolkit.

Two different curses-based versions of reversi were posted. The first, reversi, contributed by Elias Martensson <elias@proxxi.se> was posted in Volume 15, Issues 7 and 8. Cursor movement is via the usual h, j, k, and l keys. The second, reversi2, was contributed, but not written, by Eric Safern <esafern@shearson.COM> and was posted in Volume 15, Issues 18 and 19. This version supports both human vs. computer and two human player mode.

A restructuring of bt4, the broken throne multiplayer real-time conquest game was submitted by Tom Boutell <boutell@isis.cshl.org> in Volume 15, Issues 15-18. Added are some new features and support for AIX. Note, this game requires INET sockets (the BSD socket interface) as well as curses.

Previews from alt. sources

At least this hasn't been quiet. It sounds like only the moderated groups are being shunned. Here are the highlights of what I hope will reappear on the moderated source groups.

Version 1.2 of uustatus, a real-time UUCP status monitor for BSD and System V was posted on July 17, 1992 by Ed Carp <unislc!erc> in one part. This simple program dynamically displays the status of your UUCP connections for you, without your having to cd into all of those pesky directories. It's also faster than uustat -m, and it's real-time! Bug fixes were posted in a one-part patch on August 5, 1992.

A program to convert xwd (X-window dump) files into color or gray-scale PostScript was posted on August 30, 1992 in two parts by Brian Totty <totty@flute.cs.uiuc.edu>. Colors can be stored in an array to allow for mapping to be modified after the file is generated.

Steve Cole <steve@sep.Stanford.EDU> contributed xtpanel, a program to build an interactive X program from the command line using a simple scripting language. It is not intended as a replacement for a full-featured interface-programming toolkit or as a replacement for a simple menu builder. It falls somewhere in the gap between the two. It is intended as an easy to use tool that can be used to add an interactive wrapper to all those old programs and shells that you have lying around. It was posted on September 3, 1992 in eight parts.

The tin newsreader was updated with two patches by Iain Lea <Iain.Lea%anl433.uucp@Germany.EU.net> on September 14, 1992 in 15 parts, a complete report at patchlevel 6, and on November 15, 1992 in 10 parts, a patch to PL6 taking it to PL7. Many new features have been added to the threader news reader including CD-ROM support, INN support, support for many more OS types and of course more bug fixes.

If you find your cursor on the X display is always in the way, unclutter, posted in one part on September 28, 1992 by Charles Hannum <mycroft@hal.gnu.ai.mit.edu> will help. unclutter is a program which runs permanently in the background of an X11 session. It checks on the X11 pointer (cursor) position every few seconds, and when it finds it has not moved (and no buttons are pressed on the mouse, and the cursor is not in the root window) it creates a small sub-window as a child of the window the cursor is in. The new window installs a cursor of size 1x1 but a mask of all 0, i.e. an invisible cursor. This allows you to see all the text in an xterm or xedit, for example. The human-factors crowd would agree it should make things less distracting. Once created, the program waits for the pointer to leave the window and then destroys it, restoring the original situation and thereby redisplaying the cursor.

Last is the beta release of version 3.0 of Steven Grimm's <koreth@hyperion.com> workman v3.0. Posted on November 16, 1992 in six parts, its an X CD player program. It requires XView 3.0 or higher (XView source is available with the X11R5 distribution) and runs under both SunOS 4.x and Solaris 2. The major new feature is that tracks may now be split into sections at arbitrary locations. You may split a track while the CD is playing, useful for marking off particular sections of a song. Sections may be named and selected just like tracks. Of course, if the CD-ROM drive doesn't support data across the SCSI bus (and Sun's doesn't) you must use external speakers or a patch cable to take the analog sound from the CD-ROM.