October Linux Freeware

Reviewed this month are VNC, rsync, sgml-tools and expect.

By Richard Keech

Section Index
Products in this section:

Windows: Graph Paper Printer 3.31, FinePrint 3.43, PrintKey 2000 5.03, Poster-Printery 2.0d, PrintFile 2.1.3A

OS/2: Clearlook 1.71 for OS/2, DeScribe 5.0 

Mac: DragThing 2.7, Default Folder 3.0.3, BeHierarchic 4.0.1, Snitch 2.6.2, ColorSwitch Pro 1.2.2, AliasMenu 2.1

Linux: VNC, Rsync, Sgml-tools, Expect

Other Workshop Files: OS/2 Workshop, Java files

 

VNC
VNC is a little-known gem. VNC stands for Virtual Network Computing. In practical terms it allows the display from one machine to appear on another machine. "What's new about that?" you say. VNC stands out because it uses a lightweight protocol that makes sending a display over a modem line viable. It also uses a protocol which is said to "store no state" in the display software, which means you can disconnect your display on one system (maybe in the office), and re-connect at another system and get the full state of the display re-established.

VNC is not Linux- or Unix-specific. VNC servers are available for Unix/Linux, Win32 and Macintosh. VNC viewers are available for Unix/Linux, Win32 and Macintosh, as well as Java and Windows CE. So with VNC it becomes possible to display your MS Office applications on your Linux box, served from VNC on a Windows box. With the Java version, it is even possible to run programs within a Java-enabled browser.

VNC is the product of Olivetti Research Labs (ORL) in the UK, which has since been taken over by AT&T. Despite its origins in the corporate world, VNC is available under the GNU Public License and is free for all.

We found the installation of the RPM package to be trivially easy. The only trick in getting it running under Red Hat Linux was making sure that the 100dpi fonts were installed (rpm -ivh XFree86-100dpi-fonts-3.3.3.1-52.i386.rpm). On our system the 75dpi fonts were used by the X Window system, so the 100dpi set of fonts were not already installed.

Another neat feature that we intend to utilise is the ability to share a display to multiple viewers. In a classroom situation, this means that each of the students can see the instructor's display.

 

Download the version for your operating system here:

Linux
Publisher: AT&T Research Labs (UK) GPL
Requirements: Pentium-based Linux PC (for the RPM version), preferably with at least 16-bit colour depth.
Links online:  http://www.uk.research.att.com/vnc/ 
Rating: score_5.gif (3904 bytes)

 

Rsync
The rsync program, or at least the algorithm underlying it, is going to change the World Wide Web. Rsync was written by Samba author Andrew Tridgell, formerly of the Australian National University in Canberra. At the most basic level, the rsync program is a tool for synchronising the contents of disks across a network. Like all good tools, it quickly gets used for reasons the creator had not originally anticipated.

In the documentation rsync is described as "a tool for fast incremental file transfer". Some of the uses that rsync gets used for are back up to a spare disk, automating mirroring of ftp sites, and backups across low-bandwidth links.

The future of the underlying rsync algorithm is bright because of its promise as part of a future update to the http protocol. The integration of rsync techniques in future browsers, proxy caches and web servers holds the promise of much greater efficiency. The current generation of web caches are next to useless with dynamically generated content. Without going into detail, rsync makes caching of dynamic content a practical reality. Good luck to Andrew in his attempts to convince W3C of the merits of this approach.

The rsync program has recently been incorporated into the Red Hat Linux 6.0 standard release. Installation, where necessary, is the trivial loading of a single RPM package.

In our own use we have found it lives up to its promise. We use it to backup a 10G disk every night to a backup disk. Since there are relatively few changes from day to day, the whole process is very efficient and takes only a couple of minutes.

  

Download the version for your operating system here:

rsync-2.2.1-1.i386.rpm

rsync-2.3.1-1tar.gz

Publisher: Andrew Tridgell (ANU, Canberra) GPL
Requirements: Any Linux PC
Links online: http://www.samba.org.au/rsync 
Rating: score_4.GIF (1372 bytes)

 

Sgml-tools
Your mission (should you choose to accept it) is to produce high-quality technical documentation and provide, from a single source base, versions for hard copy, HTML, plain text. Here is where sgml-tools can help. The great body of documentation in Linux is from the Linux Documentation Project (http://metalab.unc.edu/LDP/). The LDP uses SGML as the master document format from which all other formats are derived. The sgml-tools package is used by the project to achieve its aim of having a single source file for each component of the project, regardless of final format.

The sgml-tools package is a standard part of most Linux distributions, so installation won't be an issue. Red Hat Linux 6.0 comes with version 1.0.9 of sgml-tools, although version 2.0 was released in October 1998.

In its use for the LDP, sgml-tools provides support for the Linuxdoc document type. With version 2.0 of sgml-tools, support for the industry standard DocBook document type is supported.

We have found sgml-tools straightforward to use in preparing course notes, and the SGML language is easy to get used to if you're familiar with HTML, and you use the examples provided for guidance.

If you're looking for an integrated document preparation system, this is not it. You need a good editor (we use emacs) to hack the SGML code, and sgml-tools provides the back-end processing. Emacs understands basic SGML syntax and can make working with SGML documents a lot easier than a 'dumb' editor.

 

Download the version for your operating system here:

Linux
Publishers: Cees de Groot (Netherlands) freeware
Requirements: Any Linux PC with at least 16M of RAM.
Links online: http://www.sgmltools.org/  
Rating: score_4.GIF (1372 bytes)

 

Expect
The expect programming language is a way of automating text-based interactive programs. It can pretend to be the human user and take control of a program for you. It was built by Don Libes as an extension to John Ousterhout's Tcl language.

A typical use of expect might be to create a 'wrapper' program around an existing interactive, command line-based program like ftp. A short expect program can do automatically what would normally be done manually with prompted keyboard input. Expect has been put to many uses, the most notable being its use as the basis for the Free Software Foundation's DejaGNU software testing framework. Without expect, it is possible to control programs such as ftp from conventional shell scripts, but the degree of control is limited, and provides no systematic means of coping with unexpected behaviour of the program under control. Expect, on the other hand, give full control to cope with any possible variations of behaviour.

Expect can simulate the timing characteristic of a human user, for accurate load testing of interactive programs. It can also be used to link two interactive programs together. A good example here is to have a computer play chess with itself. The GNU chess program (http://www.gnu.org/software/chess/chess.html) can be used from the command line. Two instances of the program can run simultaneously. Using a small expect program, one instance of the program can be used to 'play' the other.

Expect is provided as a standard part of most Linux distributions, although most Linux users may not know it's there. On Red Hat Linux 6.0 it comes as the package expect-5.28-29 and uses the tcl-8.0.4-29 package.

 

Download the version for your operating system here:

Linux
Publisher:  Don Libes (US National Institute of Standards & Technology) BSD
Requirements: Any Linux PC
Links online:  http://www.gnu.org/software/dejagnu/dejagnu.html 
Rating:

⌐ Australian Consolidated Press 1999. All rights reserved.