Surf'nRexx v1.1- by Dr. Dirk Terrell

I started using OS/2 when version 2.0 was released in the spring of 1992. OS/2 offered superior stability and multitasking, which were requirements for the work I was doing. As I learned more about OS/2, the depth of its power became more and more apparent. One of the powerful tools that OS/2 puts in your hands is REXX, the BASIC-like programming language built into the operating system. REXX is probably the most underrated part of OS/2. It is very easy to learn, and yet very powerful.

Of course, like any programming language, it has advantages and disadvantages. One advantage is that its syntax is clean and simple, making for very readable programs. An example of this is the fact that all variables in REXX are strings. There are no variable type declarations (i.e., integer, real, etc.) to worry about. Another advantage is its ability to process text files in complex ways with very little programming. A disadvantage of REXX is that it is an interpreted language rather than a compiled one, making it much slower for intensive calculations.

But, as a testament to the foresight of its designers, REXX can be extended very easily when you need to do something that its built-in functions can't handle or something that involves extensive calculations.

Surf'nRexx v1.1 from InnoVal Systems Solutions, Inc. is a set of tools that gives you the ability to write powerful Internet utilities with REXX. The heart of the package is a dynamic link library (DLL) that has several functions, such as copying a file from an FTP or Web site, that you can call from within your REXX program. If you are even remotely familiar with typical Internet tasks, such as getting a file by FTP, you will know what most of these functions do without even reading the manual. For example, RxIpFtpGet() will get a specified file from an FTP server that you have logged into using RxIpConnect(). For those seeking more low-level functions, Surf'nRexx does not disappoint, giving you the ability to create and access socket connections, although the available features are not quite as extensive as the freely available rxSock library from IBM.

Surf'nRexx comes with several example REXX programs that demonstrate the kinds of things that can be done with the library. Most of the time, programming tools come with silly demo code that illustrates how to use the tools, but isn't itself very useful. The Surf'nRexx example programs, on the other hand, are likely to stay on your hard disk and be used frequently. The following is a list of the programs that come with Surf'nRexx:

FTPCOPY retrieves a file from an FTP site.

FTPSEND sends a file to an FTP site.

FTPNEW sends updated files to an FTP site. The program keeps track of files (in a list you specify) that have been modified since the last time the program was run. It then uploads the modified files to the FTP server. This tool is ideal for people who edit HTML files for a web site on their local machine, but have the web server running on a remote machine.

GETMAIL connects to a POP mail server running on a remote machine and downloads any messages waiting to be read.

MAILNEW retrieves the number of available messages from a POP mail server.

NEWSPOST posts a message to one or more Usenet newsgroups.

REUTERS is a very handy utility that retrieves news articles from the Reuters area on Yahoo. It retrieves articles (based on criteria you specify in a configuration file), and builds an HTML file which can, of course, be viewed with your favorite Web browser.

SENDNOTE sends an e-mail message to one or more people. This tool is especially useful for people who use mailing lists.

WEBCOPY retrieves a file from a Web site. For those times when you know when and where a file is, but are too impatient to wait for Web Explorer to start up, this is the tool you need. A very nice feature of this program is a switch that tells the program to download not only an HTML file, but the graphics that are referenced in it as well. With a little modification (i.e., combining it with the WEBCRAWL and WEBNEW programs below), I can imagine this program turning into a full-fledged Web site mirroring program.

WEBNEW checks to see if a Web page has changed since the program was last run. The program generates an HTML file listing the status (new or old) of the Web page.

WEBCRAWL implements a web crawler, a program that starts at a given Web page and then follows the links that it contains to a specified depth or until a specified number of pages have been searched. (If it starts on page A and follows a link therein to page B, then follows a link on page B to page C, the search would be three levels deep.)

WEBINFO takes a list of pages and makes sure that they can be accessed. It also reports e-mail addresses on the pages as well as whether or not they contain graphics.

HOBBNEW keeps an eye on the incoming directory of Hobbes, and retrieves the descriptions of files that have been uploaded since the program was last run.

Version 1.1 is mostly a minor bug fix upgrade from v1.0. A few new features have been added, notably HOBBNEW and the documentation has been updated, but overall the new version is the same as the earlier release. Installation is still just a matter of unzipping and moving the surfrexx.dll to a directory in your LIBPATH statement.

Surf'nRexx comes with tools that easily make it worth the US$39 asking price. It is true that you can find similar REXX libraries for free (namely the RxFTP and RxSock libraries from IBM), but the Surf'nRexx library has some capabilities not found in other libraries, and it comes with some very instructive and useful sample programs that can be easily modified to fit your specific needs. If you need to automate Internet tasks, REXX with Surf'nRexx is hard to beat.


 * Surf'nRexx v1.1
by InnoVal Systems Solutions, Inc.
MSRP: US$39
Dr. Dirk Terrell is an astronomer at the University of Florida specializing in interacting binary stars. His hobbies include cave diving, martial arts, painting and writing OS/2 software such as HTML Wizard.

Send a letter to the editor.

Our Sponsors: [Indelible Blue] [Mt. Baker] [Post Road Mailer] [Shenandoah]


Back to Contents | ® Previous Article | Next Article ¯


This page is maintained by Falcon Networking. We welcome your suggestions.

Copyright © 1996 - Falcon Networking