[Please note: this is a text only version of the on-line magazine, OS/2 e-Zine!.  OS/2 e-Zine! is a graphical, WWW OS/2 publication and, if possible, should be viewed in its HTML format available on-line at http://www.os2ezine.com/ or zipped for off-line reading.  Some graphically oriented articles have been removed from this document.]

OS/2 e-Zine!		October 1, 1998		volume 3, number 15
--------------------------------------------------------------------------
Copyright 1998		Falcon Networking	ISSN 1203-5696

	"Over Three Quarters of a Million Satisfied Visitors!"


OPINIONS:

  Chris Wenham 
  Chris Wright 

REVIEWS:

Apache vs. Domino Go

  Apache for OS/2 - Dr. Dirk Terrell
  Lotus Domino Go - Dr. Dirk Terrell

  Nota Musica - Christopher B. Wright
  Nota Musica Sequencer - Christopher B. Wright
  Web Mirroring Software in OS/2 - Lief Clennon
  First Looks: WarpZilla 0.007 - Christopher B. Wright

ARTICLES:

  Rexx Newbies - Chris Wenham
  The first in a series that teaches the beginner how to program in 
  Rexx and improve his or her daily routine


ADMINISTRIVIA:

* How to Subscribe to OS/2 e-Zine! for FREE.
* How YOU can Sponsor OS/2 e-Zine!
* The Sponsors that Make this Issue Possible


Copyright 1998   -   Falcon Networking
ISSN 1203-5696


Chris' Rant		-Chris Wenham

Leak

Summary: An anonymous source within IBM leaks a document that outlines their strategy for OS/2. What eyebrow-raisers were in it, and why could IBM's abandonment could be the best thing that could happen to OS/2?

Last week a document containing a detailed plan of IBM's Network Computing Software strategy was leaked to the press. Not long thereafter, it was yanked from the original news site where it was posted (The OS/2 Supersite's News and Rumors page, as maintained by Loren Bandiera) after phone calls of complaint came in from IBM's top brass. This was supposed to be a private document, accessible only through IBM's restricted Intranet by IBM employees only, so it contains a lot of information that Big Blue never intended to be made public. This includes admissions of weak links in their strategy, the recognition of Microsoft as a serious competitor to their goals, and the black-and-white proof that IBM only wants to support OS/2 as much as it has to. This probably comes as nothing new to most people who've been watching IBM's actions closely for the last couple of years. From the perspective of its father, OS/2 is to die from suffocation.

It's clear that IBM is not just recognizing Microsoft as a competitor, but is actually scared of them. It might just be dawning on them now that the desktop battle was more important than they thought it was. Because the battle for the desktop OS was not so much who's product won the game, but who's API won. As Windows took the desktop, tools for developing Windows software matured and excelled fast. And tools that are used to develop desktop programs are also the same tools you use to develop server programs. As soon as Microsoft delivered a server operating system, the popularity of its desktop incarnation and the quality of the tools carried the battle over onto IBM's more sacred turf.

IBM now sees it as too late to resurrect OS/2 for the desktop. They're right. It would take amazing amounts of money and marketing to even give it so much as a 10% market share. The only way to keep the desktop open, for them, is with Java. Java has mindshare, Java is growing in the marketplace instead of shrinking, Java is gaining new development tools and they're maturing fast.

But revealed in the document is IBM's unnatural dependence on Netscape as their Java "distribution engine" of choice. When Netscape was really popular it spread a working Java Virtual Machine to millions of desktops in no time flat. This explains why IBM is going out of their way to save Netscape from the attack by IE, funding a port of the browser to OS/2 -- for which they'll almost certainly gain nothing from directly, but which will prop up Netscape's market share and mindshare by every tiny, precious percentage point. It's almost certainly Microsoft Internet Explorer and it's "impure" Java that you can thank for the port of Communicator to OS/2, not some side-effect of IBM's inertia or the workings of a high-ranking philanthropist with a soft spot for Warp. If Netscape loses market share, developers will write for Microsoft's bastardized Java - an intolerable scenario.

But propping up Netscape will most likely fail and so will Sun's "Activator" project -- which is supposed to force-feed a preferred Java VM onto IE, but will have limited long-term success as Microsoft keeps changing the interfaces. This is why IBM is also considering a small, fast, and easily (if not transparently) installable Java Virtual Machine for Windows. If they make it free (which is unclear at the moment) then Java developers can put it on the same CD or web site as their programs with no licensing hassles. Developers would create a single seamless install for their Java applications that also makes sure the most up-to-date (read "non-Microsoft") virtual machine is installed and properly configured too. Remember how Microsoft did this for Win32s, enabling developers to write their applications for Windows 95 without abandoning their Windows 3.1 customers too? Same trick.

The most disturbing parts of the document, for OS/2 users at least, is IBM's strategy for OS/2, which can best be summed up with one word: None. IBM's priority is to migrate OS/2 customers to Java and Windows NT based solutions, only doing what they must do to avoid their important customers with large OS/2 investments from getting pissed off. WorkSpace on Demand (WSOD) is there only to push the Network-Computing ideology, Aurora is there only to push WSOD, and WSOD is being ported to Windows.

IBM is clearly doing its best to limit the long term survival of OS/2. Remember that the last we heard, IBM had committed to 10 more years of OS/2 only for the sake of some big customers. This is a pretty pathetic reason. IBM is doing nothing for OS/2. They're not giving us the power to manifest our own destiny by releasing OS/2's source code, and they're not giving OS/2 the ability to live on the future of hardware since they refuse to port it to the upcoming 64-bit processors (such as Intel's Merced and others.)

But maybe that will change. After gracefully abandoning it, IBM is set to release the full source code of (http://www.software.ibm.com/ad/opendoc/) OpenDoc into the public domain (according to their web page). If they were to gracefully abandon OS/2 then there's reason to believe they'd do the same thing as before. There are many things that could be done with a public-domain OS/2, not the least of which is spit out turnkey solutions that could clobber Microsoft. The other, more appealing manifestation would be the "Linuxization" of OS/2 by its users - bringing updates and improvements from the GUI right down to the kernel level on an almost daily basis.

                         - * -

If you've had the chance to read IBM's "secret document" before it was pulled and think IBM is doomed, or think there are better things that could happen to OS/2 than the release of its source code, then join us in our (http://www.os2ezine.com/forums/get/forums/rant/Oct1-1998.html) Interactive Forum and talk about it with other readers.

(chris@os2ezine.com) Chris Wenham is the Editor In Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Corporate Sponsors

[(http://www.blueskyinnovations.com/) BlueSky Innovations]
[(http://www.bmtmicro.com/) BMT Micro]
[(http://www.ChipChat.com/os2ezine/) ChipChat]
[(http://www.indelible-blue.com/) Indelible Blue]
[(http://www.prominic.com/) Prominic Technologies]
[(http://www.prioritymaster.com/) ScheduPerformance]

(http://www.blueskyinnovations.com/) BlueSky Innovations
Whether you want to boot multiple Operating Systems or from an Iomega Zip disk, we have a solution for you.

(http://www.bmtmicro.com/) BMT Micro
Your complete source for over 175 of the best OS/2 shareware applications available.  Drop by today and check out our WWW catalog or download the .INF version.

(http://www.ChipChat.com/os2ezine/) ChipChat Technology Group
ChipChat produces excellent 32-bit OS/2 software for wireless text paging and state-of-the-art multimedia Sound Cards for Micro Channel PS/2 computers.

(http://www.indelible-blue.com/) Indelible Blue
Indelible Blue, a mail order company, provides OS/2 software and hardware solutions to customers worldwide.

(http://www.prominic.com/) Prominic Technologies, Inc.
On-line sales & solutions for VisualAge, DB2, OS/2 Warp, Workspace on Demand, Notes/Domino, AIX Firewall, and Net.Commerce (design/hosting).  The best deals on IBM and Lotus software and hardware (PCs, Servers, and RS/6000s) -- with OS/2 preloads!

(http://www.rsj.de/) RSJ Software
The successful software CD-Writer for OS/2 by RSJ. CD-Writer is suitable for backup, data filing, creating Audio CDs etc. and is compatible with most CD-Recorders.

(http://www.prioritymaster.com/) ScheduPerformance, Inc.
Dramatically improve performance on your OS/2 system now with the patented priority scanning logic and visual priority identification of Priority Master II.

***********************************

Chris Wright		-Christopher B. Wright

A Wolf in Sheep's Clothing in a Den of Lions, Part 3
If you've had the "opportunity" to read the internal IBM document outlining their alleged position on the future of OS/2, you might be feeling a little depressed right now.  After all, it's not every day you read that the company that makes your operating system wants to phase it out in three years, without telling you, while claiming the entire time that they're not really doing that.

It's easy to get depressed when you think about the current state of OS/2 compared to what it once was and what it has the potential to be.  It's so easy to get depressed, in fact, that it's tempting to overlook what our community has going for it right now.

Let's accept for the moment that the OS/2 community is in a period of struggle.  People want to dismiss OS/2 as an 'also-ran' operating system, as a computer platform that may or may not be technically superior, but has been allowed to slide into irrelevance by its neglectful parent.  This kind of stacks the odds against us in many respects, but we're not down yet.

First off there are still OS/2 users, period.  After being told that OS/2 is dead for 10 plus years, after being run around by IBM and other vendors that make promises they don't keep, after all the prophecies of doom from high-paid "industry analyists", we haven't gone away.  We still use OS/2 because we believe in the product, in the technology behind the product, and all the potential it still has as a client & workstation platform.

What's more, we're still vocal and active users.  If you're not sure what that means, why not attend Warpstock '98 in Chicago, roughly two weeks from now?  Despite various and sundry challenges, including internal and external strife, Warpstock is still a go, and it looks like it will be an amazing event.

Warpstock is a classic example of the almost mythical "Let's put on a show" Hollywood storyline come to life.  With little financial backing, the group has found an old barn they could turn into a stage, and managed to assemble an impressive set of vendors and presenters to put on quite a show, indeed.  (Ignore the fact that I'm speaking there, and it will be even more impressive.)
Of course, this "barn" is the Wyndham hotel, a location familiar with many people who have attended conventions in Chicago.  And I expect you'll find more polish and professionalism at Warpstock than you would in, say, the show that saves "the old homestead" on a Hollywood black & white musical.  But the thing that made those movies so charming -- the idea that a bunch of "just plain folks" can save the day all by themselves -- is the same kind of energy that's driving the OS/2 Community right now.

The OS/2 community has always, in my opinion, displayed a tendency to find a way to survive in difficult times.  When resellers like CompUSA stopped selling OS/2 software on their shelves, the ISVs and software companies moved on line.  OS/2 was the first computing community to fully embrace the idea of e-commerce and e-distribution -- largely because we had no choice!  OS/2 users soon learned to use the World Wide Web and Usenet Newsgroups as a powerful communications and organizing mediums for the OS/2 community.  The fact that OS/2 users are accused of being rabid ballot-stuffers is clear proof of how mobilized we can become (when given enough reason).

Any success that OS/2 has had to date has been the results of OS/2 users and OS/2 ISVs.  There is an internet community that, if only we had a reliable and enthusiastic distributor for OS/2, would provide a great structure for future market expansion.  Companies like BMT Micro, J3 Technologies, and of course Indelible-Blue -- as well as the newcomer, Centauri Computers -- have really been there for OS/2. Even though many of them are expanding their markets to include operating systems other than OS/2, their commitment and dedication to OS/2 and OS/2 users is still plainly evident.

Warpstock is an excellent example of what we, as OS/2 users, have going for us and what we can accomplish, even without Big Blue sponsorship.  An all-volunteer event, it shows how we're willing to pull together and put our time and energies into a common cause.  It's an event where enthusiastic users will get to meet enthusiastic vendors, and people can see that they are not, in fact, the only OS/2 user on the planet.  It's an event that will remind us of what is our biggest strength -- community.

It seems somewhat poetic that this year Warpstock is going to be held in Chicago, the birthplace of some of the biggest US labor movements at the start of this century.  The laborers, once the biggest underdogs in the industrial age, were able to band together and use their solidarity to change the miserable conditions they were forced to endure by people who just didn't get it.  Socialists, anarchists, communists, and activists of all kinds -- people who wouldn't usually associate with each other, like each other, or even admit each others existence -- were willing to work together because they understood that they had a common goal.  The OS/2 community has seen its share of scandal and upheaval: The Warpstock Steering Committee vs. the Warpstock Chicago Organizing Committee, OS/2 e-Zine! vs. 32 Bits Online, OS/2 e-Zine! vs. Warp City, Warp City vs. Stardock, Warp City vs. the IBM Netscape team.  Some of these conflicts have been real and heartfelt, some of these have been blown out of proportion, and some of these have been decidedly one-sided.  None of these, however, have been fatal, and all are minor in comparison to the goal that all of us should have: having OS/2 realize it's potential as a client and workstation operating system.  Perhaps we can take our cue from all those anarchists, liberals, communists, socialists and other activists who were willing to put aside their differences, and get the ball rolling again.

I'm excited about Warpstock 98, and I hope to see all of you there.  (But leave the brown acid at home.)

                         - * -

Extend the spirit of the OS/2 community right here in our (http://www.os2ezine.com/forums/get/forums/wright/Oct1-1998.html) Interactive Forum.
 
(wrightc@dtcweb.com) Christopher B. Wright is a technical writer in the Richmond, VA area, and has been using OS/2 Warp since January 95.  He is also a member of Team OS/2.

***********************************

While You Were Out...		-OS/2 e-Zine! staff

Summary: A recap of the past two weeks events and news as it occurred on the Internet for those who may have missed it.

VOICE Speak-Up Session with Sundial
Happened on: Monday, September 21st.
Where: IRC Channel #VOICE on Webnet IRC network.

Rollin White, Randell Flint and Dan Kulp of (http://www.sundialsystems.com/) Sundial Systems, Inc. -- makers of the popular Relish personal information manager, Mesa 2 for OS/2 spreadsheet and DBExpert database -- discussed their company and product line in an internet chat session with (http://www.os2voice.org/) V.O.I.C.E. The main focus of the interview was their Mesa 2 spreadsheet product. Among the highlights were:

o Version 2.2 of Mesa 2 was announced (early, the official release occurred the next day on the 22nd), with an upgrade price of $39, a regular retail price of $129 and a 98-day limited offer of $98.
o New features in Mesa 2 that include SmartFormulas, Freezing of titles, enhanced customization, HTML exporting, and an improved user interface (see our (http://www.os2ezine.com/v3n10/pr22.htm) preview look at Release 6 for more information).
o Excel 95 and 97 import/export capabilites (for files up to 7mb in size).
o A new version of the ClearLook word processor is in the works, but no hints or giveaways as to its features were made. They did let it drop that the 100 page supplement to the Mesa 2 2.2 manual was made entirely in an "internal build" of ClearLook.

A (http://www.os2voice.org/logs/V092198.LOG.html) full log of this interview can be found at the (http://www.os2voice.org/) V.O.I.C.E. web site.

Communicator 4.04 for OS/2 Released
Happened on: Tuesday, September 29th.
Where: (http://www.software.ibm.com/os/warp/swchoice/) IBM Software Choice

Out of Beta and into General Availability, Communicator 4.04 for OS/2 is the must-have upgrade to Netscape Navigator 2.02 that we've been stuck with for so long. Available for free to all owners of OS/2 Warp 4, Communicator is available with both low-grade encryption capabilities, or 128-bit high-grade encryption for use within the continental US and Canada only.

The download weighs in at 7mb, plus another 2.3 megs for the optional and updated Plugin pack. You might want to note that as of writing, there is a typo on the download page for the 128-bit (high-grade encryption) version that reports Communicator's size to be 16 megabytes instead of 7. So don't worry if the file is half the size you expected, it hasn't been corrupted.

Early users are reporting faster page-rendering speeds but some are still having problems with blank lines corrupting images. Mike Kaply, of the Communicator development team, (http://www.os2ss.com/warpcast/wc2237.html) posted some tips for Communicator, one of which claims to fix this remaining major problem.

(feedback@os2ezine.com) The OS/2 e-Zine! Staff are made up of professionals involved in and around OS/2. Many have a long background as supporters of the platform, as programmers, consultants, and sometimes just users.

***********************************

Apache for OS/2		-Dr. Dirk Terrell

Apache is the web server of choice in the Unix world. Begun in 1995 by a small team of volunteers, Apache has grown to become the most widely used web server on the Internet, commanding over 50% of the server market in the latest (http://www.netcraft.com/Survey/) Netcraft survey. Apache is free and that usually makes the (http://www.dilbert.com) pointy-haired types nervous. I was somewhat surprised when (http://www.ibm.com/News/1998/06/223.phtml) IBM announced that it would include Apache in its WebSphere Application Server. But make no mistake about it, Apache is a robust and professionally done piece of software.

Installation

Installing Apache involves downloading the (http://www.apache.org/dist/binaries/os2/) latest OS/2 version from the (http://www.apache.org) Apache website and unzipping the archive. You also need the latest (http://www.os2ss.com/archives/hobbes/os2/dev/emx/v0.9c/emxrt.zip) EMX runtime. If you have special needs, you can compile Apache yourself since the source code is included, but this is not a trivial exercise. Garey Smiley, who has done the OS/2 port of Apache for years has some information on his web page about (http://www.slink.com/ApacheOS2/) compiling Apache for OS/2.

Apache In Use

As is usually the case with free software, Apache is replete with features but getting to those features requires a little bit of work. Originally designed for Unix and ported to OS/2 using the EMX environment, Apache is a text mode program that is configured using text files. This isn't a pretty, point and click kind of program. But the documentation that comes with the distribution thoroughly covers all of the configuration parameters, and the sample configuration files require only a few modifications, such as the directory where the HTML documents exist, in order to get up and running. The sample configuration files are also well-commented, so making changes is usually pretty easy.

Apache's performance is quite good under OS/2 even though it spawns multiple servers as separate processes rather than using threads. It has, at times, been used for the OS/2 Supersite which handles about 100,000 requests and a gigabyte of data per day across the whole site on an aging machine with a Cyrix P150+ CPU, 64 megs of RAM, and a SCSI disk system.

Apache provides the expected features of a web server such as CGI and virtual hosts (the ability to host more than one website on a server). The latter is a bit more cumbersome under Warp 3 because of the lack of an alias capability in the TCP/IP software. The alias parameter was added to ifconfig in Warp 4, making it easy to associate more than one IP address with a particular network interface. Apache also has the ability to use non-IP virtual hosting, but this requires that the client browser support the HTTP 1.1 protocol. Most of the new browsers like Navigator/2 do but you are certain to hear complaints from people who use older browsers unless you go through the cartwheels necessary to make non-IP virtual hosting work for them.

Wrap-Up

Although it doesn't have some of the perks of other commercial web servers like a search engine or web-based configuration capability, Apache is still a good choice for an OS/2-based web server. It is well-designed, robust, and has great performance even on minimal machines. Unlike PC operating systems, web servers are chosen based on based on technical merits like stability and performance. It's no surprise that Apache holds the number one spot in web server popularity.

Suitability:	5
Ease of use:	3
Stability:	5
OS/2 Leverage:	2

Overall:	3.5


Apache for OS/2
by (http://www.slink.com/ApacheOS2/) The Apache Project
download from (ftp://hobbes.nmsu.edu/pub/os2/apps/internet/www/server/apach124.zip) the Hobbes Archive (1.5M)
Registration: Free

(http://www.gnv.com/HTMLWizard/) 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.

***********************************

Lotus Domino Go		-Dr. Dirk Terrell

Summary: While you can't get the source code, Domino Go from Lotus is still free for use as a non-secure web server. Plus, unlike Apache, it comes with a much easier set of graphical tools to use for configuration.

The Domino Go Webserver from Lotus is an evolution of the old IBM Internet Connection Server. It combines easy installation and maintenance with good performance, and is definitely a top contender in the OS/2 web server market. One very nice touch to this server is the fact that all administration functions can be done from a web-based interface or from command-line programs.

Installation And Support

A trial version of Domino Go can be downloaded from the (http://www.software.ibm.com/webservers/dgw/) Lotus web site. The trial version includes the secure server (SSL) for a 30-day testing period. After 30 days the secure server will no longer function, but the non-secure side will continue to function. So, if you are only looking to set up a regular web server, Lotus Domino Go will cost you nothing. If you need to do secure services, Domino Go will cost you between $500 and $600. There is another version of the software, Domino Go Webserver Pro, but it only adds Windows 95/NT software of little interest to the OS/2 user. In addition to OS/2 Warp, Domino Go itself is available for Windows 95/NT, AIX, HP-UX, and Solaris.

Domino Go uses the IBM installer that many OS/2 programs use. It requires an HPFS partition, at least 24 megabytes of RAM, about 15 megabytes of disk space for a full install (about 7 megabytes for a minimal install),and OS/2 Warp 3.0 or later. The installation went smoothly on two machines, both running Warp 4.

Domino Go In Use 

Domino Go is the server software we use at the OS/2 Supersite. The only real complaint I've had about it has recently been fixed. In earlier versions, Domino Go wouldn't properly handle requests involving directories if the trailing slash was omitted. For example, Martin Senftleben recently created a nice set of pages covering OS/2 support for various (http://www.os2ss.com/users/DrMartinus/Notebook.htm) notebook computers on his personal site at the Supersite. The URL for his homepage is http://www.os2ss.com/users/DrMartinus/. It should be possible to access the URL as http://www.os2ss.com/users/DrMartinus but older versions of Domino Go would not correctly handle the URL. It would display the page, but any relative URLs within the document would not be correct. The latest version of Domino Go, 4.6.2.5, does fix this long-standing problem.

One nice feature of Domino Go is the <a href="dom-1.gif) PM-based program window (.GIF, 7K) that gives you instant feedback on the status of the server such as the number of active connections and the number of requests that have been served. The tabbed notebook in the window also gives you access to error messages. The program window is very convenient when you want to quickly look at the status of the server or to restart it.

Domino Go offers two methods of configuring the server. For those not fearful of editing a text configuration file manually, the httpd.cnf file in the directory pointed to by the ETC environment variable (\MPTN\ETC\ is the default for network installations) contains all of the settings for the server. The httpd.cnf file is liberally commented, so making changes to it is usually pretty easy. The other way of configuring the server is to use the <a href="dom-2.gif) web-based administration forms (.GIF, 31K). During installation you set up an administration account with a password and after the server is up and running, you can configure and even restart it from a <a href="domcfg.gif) web browser. The web-based configuration forms provide a simple, straightforward way of maintaining your web server from anywhere.

The logging and reporting options in Domino Go are extensive. You can fully configure the information that is recorded in the log files which are created daily by the server. You can also create custom reports for your web server's activity and find out who is getting what. The reports are accessed using a Java-enabled web browser.

Domino Go includes the NetQuestion search engine which makes it easy to add search capabilities for your web site. You can create and maintain the search databases from the web-based administration forms, but the most flexible way to do things is to combine the various command-line programs with REXX. With REXX you can easily create the necessary list of files to be indexed and then call the indexing programs to update the databases.

In a corporate environment, Domino Go's proxy capabilities could prove very useful. It is able to link to a firewall using a socks server or run on the firewall machine itself. It can also cache remote documents locally, reducing the load on the external network connection for commonly requested documents.

Java servlet support is included in Domino Go. Java servlets (server-side applets) are Java programs that can be executed by the client, similar to CGI programs. Domino Go uses the Java virtual machine installed on your OS/2 system. The performance of Java servlets is very good, primarily because they are instantiated when the server starts rather than each time they are called, as CGI programs are.

Wrap-Up 

In short, the Domino Go Webserver has proven to be a robust, flexible, and easily maintained HTTP server for the OS/2 Supersite. Because it uses native OS/2 threading, it makes for an efficient web server under OS/2. With easy setup and maintenance and an unbeatable price tag, there is every reason to take a look at it if you are setting up an OS/2 web server.

Suitability:	5
Ease of use:	4
Stability:	4
OS/2 Leverage:	4

Overall:	4

Lotus Domino Go
by (http://www.lotus.com/) Lotus Development Corp
MSRP: $574
 
(http://www.gnv.com/HTMLWizard/) 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.

***********************************

Nota Musica		-Christopher B. Wright

Summary: Nota Musica isn't a MIDI sequencing program -- it's a musical scoring and arrangement program. Nota Musica does this and this alone -- and does it well. Not a program for novices, not a program for people with no musical knowledge, this is an excellent scoring program that will capably create sheet music from scratch, or even from preexisting MIDI files.

While there are many of us in the world who prefer to use MIDI as a kind of digital multitrack recorder, where we play our music "live", instrument by instrument, layer on top of layer, stopping only to correct our most grievous mistakes, there are those with the skill and ability to actually write music before they play it. Just as writers use computers to arrange words and sentences into chapters and books, so too do some musicians use computers to arrange notes and instruments into movements and symphonies.

For those of you serious musicians who use OS/2 as your operating system, Nota Musica is a must-have tool. It is a word processor for the musical world, allowing composers to arrange and print out sheet music -- as well as play their music with their MIDI instruments.
Installation, Documentation, Support 

Nota Musica uses a custom install routine that gives you the opportunity to install emTeX as well as Nota Musica itself. The registered version of Nota Musica comes with emTeX, which is necessary to actually print out sheet music. It is recommended you install it when you install Nota Musica. Of course, emTeX is (http://www.os2ss.com/archives/hobbes/os2/unix/apps/tex/emtex/) available on the OS/2 Supersite and some of you probably already have it on your machine. If this is the case, you can opt to skip the emTeX installation and simply install the Nota Musica and MusicTeX files instead.

Once installed, a Nota Musica folder appears on your desktop, containing a program object, an electronic manual in OS/2's horrid .inf format, and a folder with a lot of sample tunes in Nota Musica's native .nmf format.

The documentation for Nota Musica is very complete. If you take the time to read the whole thing, it'll tell you everything you want to know about properly setting up and configuring the application, and using all its features.

User Interface 

People used to using programs like Cakewalk (or MIDI Station Sequencer, reviewed last issue) will find the user interface of Nota Musica bizarre, to say the least. When you first open Nota Musica, all you see is what looks to be an empty folder. As instrument tracks are added to the work, they appear in that folder as program objects. Double clicking on an object will open the Graphical Note Editor, a window that displays the track as if it were sheet music. This view is where you do most of your work in Nota Musica; from here, you build or modify your compositions note by note.

This view is a bit quirky in some ways. First, the notes do not "wrap" -- the entire track is presented and displayed as one horizontal line. This can be tedious when you're working on an especially long piece. Another oddity is that you can only view one bar at a time -- the notes "stretch" to fill the window horizontally. This can make the notes almost unreadable in some situations, and you may want to adjust the window to size the notes so they can be viewed more comfortably.

Also, Nota Musica's settings notebooks use the "old" (Warp 3) style format, so if you're looking for voicetype integration in this product, you'll be sorely disappointed. (Read the Nota Musica sequencer review for my observations on a voice-enabled sequencing app).

Features 

UI quirks aside, Nota Musica is a powerful application in the areas it was designed to address. With Nota Musica you can compose an orchestral symphony from scratch, or import a MIDI file and print it out as sheet music to be played by actual musicians.

From the main window, you create your work by creating various instrument objects and assigning names and sounds to them (if you plan on playing your work through the computer as a MIDI file). Double-clicking on an individual instrument object brings up the Graphical Note Editor for that instrument, which you can use to modify that track. There is also a folder object you can double-click on which will open up a Graphical Note Editor that displays the score for every instrument in the program (though you'll have to scroll up or down to get from one instrument to the next, because the notes still scale to fill the entire height of the page).

The Graphical Note Editor acts as the "drawing board" or "printed page" of your track. A floating note palette contains notes and note modifiers of various lengths and intensities, similar to the many kinds of drawing tools available on a floating palette in Photoshop or CorelDraw. With these tools you can "draw" your piece, adding to and deleting from your work as you see fit.

Unfortunately, Nota Musica is not a sequencing program, so you can't sit down in front of your MIDI keyboard and watch quarter and half notes magically appear on your screen. You can, however, record a midi track in a program like MIDI Station Sequencer, or Nota Musica Sequencer, and import the MIDI file into Nota Musica's native .nmf format. Nota Musica imports Midi type 1 files very well, though there seems to be a glitch in importing notes with very, very long sustain (in one case, a note that was originally played once and held for 12 beats was changed into a note that was played three times for 4 beats each, giving it a pulsing effect I hadn't originally intended).

Also, Nota Musica needs to know the shortest note used in the music piece in order to arrange the notes correctly. If you guess wrong, the piece will be horribly off beat. In another test of MIDI conversion I tired to import the BLUEJAM.MID file that comes with OS/2 Warp 3 and 4. When I attempted to play it through Nota Musica's player tools, all of the tracks were horribly off beat, because I'd defined the shortest note as an 8th note -- and there were more than a few 16th notes in the piece.

Nota Musica's settings notebook allows you to control many of the ways it handles and plays music. For example, you can define how crescendo and decrescendo's change the volume of a piece during MIDI playback, as well as preset the volumes of various musical cues, from "ppp" to "fff". You can define what notes Nota Musica recognizes, and what notes it does not (you can, for example, tell Nota Musica to ignore all 64th notes in any MIDI files you import).

One of Nota Musica's most useful features is the ability to print out sheet music based on your work. If you are able to configure your printers correctly, this feature can print out extremely accurate sheet music. Someone who knows what they are doing can theoretically use Nota Musica to compose and print out music to be played live.

The problem with this is that Nota Musica is based on TeX, a UNIX typesetting program that doesn't really hook in to the rest of the OS/2 operating system. One of the unfortunate disadvantages of this is that it cannot use OS/2's printer drivers -- it comes with limited built-in printer support. If your printer can emulate LaserJet, HP Inkjet, or Epson Inkjet printers, you shouldn't have too many problems printing out your music. If your printer can't emulate any of these, getting Nota Musica to print out anything legible might be something of a challenge.

Final Thoughts 

Nota Musica is not software intended to be used by amateur musicians, it's not designed for people with no background in music theory, and it's not for people more comfortable with playing an instrument than they are composing for instruments. If you don't know how to read and write sheet music, there's very little about Nota Musica that you will find useful. If you know how to score your own music, however, Nota Musica is one of the few programs that can do it for you. And Nota Musica's price makes it a competitive product on any platform.

However, Nota Musica is based on TeX, a UNIX based typesetting system, so don't expect it to be a "pure" OS/2 program. Nota Musica will not support many of the things you'd expect an OS/2 application to support, such as your printer objects. Expect an initially steep learning curve for many of the configuration settings.

The lack of an integrated MIDI sequencer is disappointing, but Nota Musica isn't intended to be a sequencing program, it's a scoring program. Thus, it gets high marks for suitability -- but remember that it focuses on a very specific task (creating, playing and printing sheet music). If you're really looking for a MIDI sequencing program, MIDI Station Sequencer is much more suited to your needs.

Suitability:	4.5
Ease of use:	2.5
Stability:	4
OS/2 Leverage:	2

Overall:	3

Nota Musica
by (http://www.teamos2.de/software/notamusica/) Johannes Martin
download from (ftp://ftp.bmtmicro.com/bmtmicro/nota253demo.zip) BMT Micro (1.5M)
Registration: US$97
 
(wrightc@dtcweb.com) Christopher B. Wright is a technical writer in the Richmond, VA area, and has been using OS/2 Warp since January 95.  He is also a member of Team OS/2.

***********************************

Nota Musica Sequencer		-Christopher B. Wright

Summary: While it's integration with VoiceType Dictation is innovative, overall this is a very lightweight product, especially when compared to its powerful big brother, Nota Musica. All but the most casual dabbler in MIDI will find this program a bit restrictive.

Nota Musica isn't a sequencing program, but Nota Musica Sequencer is. A bare-bones sequencer intended to create rough tracks that will be imported into and refined in Nota Musica itself, it sports few features and is not suitable for many kinds of MIDI sequencing. It works well with Nota Musica, however, and it's innovative use of OS/2 Warp 4's VoiceType integration makes it easier to manage your takes.

Installation, Documentation, Support 

Nota Musica Sequencer uses a command line install routine to set up the file directory and create the program object. If you already have Nota Musica installed, the program object will automatically appear in its folder. If not, it will create one on its own.

The documentation (an electronic file in .inf format) seems somewhat hastily thrown together, but it is complete and will tell you what you need to know to use the program. The fact that it seems sparse reflects more on the feature set of Nota Musica Sequencer itself rather than the thoroughness of the documentation.

User Interface 

If elegance is simplicity, Nota Musica Sequencer is the epitome of elegance. Nota Musica Sequencer consists of one program screen and one settings notebook -- both of which are fairly self explanatory and can be used with little prompting. A more interesting aspect of the UI is that Nota Musica Sequencer uses OS/2 Warp 4's VoiceType dictation to allow you to create spoken shortcuts to use the program while keeping both hands on your keyboard ("Play." "Rewind." "Record.") This feature is activated in the settings notebook and you can assign your own phrases to each command. For example, you could replace "Play" with "Go, Cat, Go", and "Stop" with "Dig it, Man, Crazy."

Features 

Recording MIDI Tracks in Nota Musica Sequencer is simple. You start the program, you press the "record" button, and you start playing. When you're done, you press the "stop" button, and you either close the program or press the "next movement" button to move to a fresh track, where you repeat the process.

Unfortunately, simplicity comes with a price -- and the price you pay is: 1) an inability to configure your MIDI instruments through software, and 2) a general lack of information when it comes to trying to figure out what is going on in the music you're recording at the time.
Nota Musica Sequencer acts basically as a multitrack that can only record one track at a time. All it does is record signals, so you can't use it to assign instruments to the various channels in your tone generator. If you want to hear different instruments play on different tracks, you have to set those up from the hardware itself, which can be very, very annoying depending on the hardware you're using. For example, while my MIDI keyboard can choose what channel I play through, it can't assign a specific bank to that channel. That has to be done on my tone generator. This means that instead of being able to configure all my instruments from one software panel, I have to mess with the settings two hardware devices. If you use more than one MIDI instrument you will find this a very, very frustrating process.

Further, the longer and more complex your musical piece becomes the more frustrated you'll get at the lack of track information. Currently, all Nota Musica Sequencer will tell you is the total length of the piece and where you currently are, time-wise, within that piece. What it doesn't tell you is which track is currently active, and in what order all the other tracks are arranged. The main problem with this is that in a piece with more than five or six instruments, it will be relatively easy to lose your place if you need to keep jumping back and forth between instruments.

However, one of the tools that makes using this program so interesting is it's use of VoiceType Dictation as kind of shorthand for commonly used commands. This can allow you to effectively "punch in" the middle of a track, record for a bit, then "punch out" with a fair degree of accuracy. It's convenient not to have to fumble around with the mouse when you're in the middle of recording, and it's nice to be able to keep both hands on your keyboard when you're working on a musical piece.

Still, the simplicity of Nota Musica Sequencer is pretty restrictive. You can't really edit your work unless you import it into Nota Musica. You can't quantize or loop tracks, and you can't really play with any stereo effects. Nota Musica Sequencer is very much a bare-bones sequencer, and without Nota Musica, it's not terribly useful.

Final Thoughts 

Nota Musica Sequencer is an interesting program, and when used with Nota Musica it can be useful. However, it's inability to assign instruments to your MIDI hardware is frustrating, and the fact that it doesn't display any real information about the music itself -- what track you're currently working on, where in the track you are, and other such data -- is doubly frustrating. While the use of VoiceType is innovative, and could make using a full-featured program much easier to use, it is overkill in a program like Nota Musica Sequencer. At the moment, the sequencing counterpart to Nota Musica is too simple and confined to make full use of this feature, and it's lack of configurability will frustrate many musicians used to being able to see the tracks individually and program the instrument settings from within the program itself. Although it is almost half the price, you'll get a lot more use out of MIDI Station Sequencer. In time, Nota Musica Sequencer could grow into a useful tool, but at this stage in its development, it still has a ways to go.

Suitability:	2
Ease of use:	3
Stability:	4
OS/2 Leverage:	4.5

Overall:	3.5


Nota Musica Sequencer
by (http://www.teamos2.de/software/notamusica/) Johannes Martin
download from (ftp://ftp.bmtmicro.com/bmtmicro/NotaMusicaSequencer20.zip) BMT Micro (1.3M)
Registration: US$17
 
(wrightc@dtcweb.com) Christopher B. Wright is a technical writer in the Richmond, VA area, and has been using OS/2 Warp since January 95.  He is also a member of Team OS/2.

***********************************

Web Mirroring Software in OS/2		-Lief Clennon

Summary: Speed up your doily browsing and save money by staying offline while you read your favorite sites, all with the help of these Web Mirroring and caching utilities.

There are a surprising number of entries in the OS/2 web-mirroring market, and even more surprisingly many of them are commercial software packages. Out of the group, I found four worthy of review: Sslurp, WebMirror/2, Templeton, and Wget.

Sslurp

Sslurp, while not the strongest in its feature set, is pure OS/2 software; WebMirror and Templeton are concurrently developed in Windows and Unix respectively, and Wget is GNU free software. Sslurp is copyrighted freeware, and has previously gone by the names "spider" and "wsuck".

Sslurp's interface is fairly straightforward; you type a URL (the "http://" or equivalent prefix is required) into the entry bar, and press the Start! button. It uses only one download thread, so everything's done in order; if it's getting a file you don't want it to, press skip, and if you want it to stop, there's a button for that too. The URLs of the files being retrieved and their current status are displayed in the window below.

Sslurp allows you to set a specific path for the files to be retrieved to, but under that directory it creates a separate directory for each server (e.g., www.os2ezine.com) and for each subdirectory on those servers, no matter how deep your starting directory was. This is fairly standard behavior for mirroring utilities, but most of them have an option to disable it; Sslurp does not. Because of this it requires an HPFS partition to support the long file and directory names it will try to create.

You may also specify an exclusive list of extensions that will be downloaded (for instance, htm and html to only download pages and not any other files they link to). A nice feature is that control over whether or not inline images are downloaded is completely separate from your extension list, meaning that you don't need to explicitly include (or not include) extensions like GIF and JPG.

WebMirror

WebMirror is commercial shareware also available for Windows, and is replete with user-friendly efficiency blockades. Its shareware limitation is that only one level of mirroring is done, which makes the unregistered version useless except as a demo. It has very little in the way of control over what is mirrored; you can only specify how many levels deep to go, and whether to follow links off the server. However, it may be worthwhile for many, especially in a business environment, because of its special features.

First, you can specify that pages are regularly updated automatically. Not only that, but you can configure WebMirror to automatically dial into your provider for this purpose. And, perhaps most useful, WebMirror includes a proxy server. This means that you can store your most frequently accessed sites locally, with frequent automatic updates. With the additional option to completely disallow access to sites not locally cached, this allows a LAN administrator -- or for that matter, a concerned parent -- to keep tight control over what gets accessed.

Wget and Templeton

The last two web mirroring utilities are command-line applications, and being Unix ports, both require the EMX runtime environment. Templeton has an interactive mode if run with no parameters, but this only gives access to the most basic of features; Wget, in the standard method of Unix software, requires everything to be either on the command-line or in the configuration file. However, these two are the most powerful and feature-rich selections. The basic rule of thumb for these two is that if you can think of it, so did the authors. A full feature-by-feature comparison of the two would probably be about as big as their combined help files (300k or so), so I'll only mention a couple of the more unique features.

Templeton will rewrite the HTML it downloads on the fly. Not only will it perform minor corrections on HTML grammar, and fix a few of the easier-to-detect typos, but it also has the capability to rewrite links to point to mirrored local files, instead of to files on remote servers. This isn't quite the proxy feature of WebMirror, but with a little bit of scripting it can serve the same purpose, and in a much more dynamic fashion. Templeton has a shareware timeout; it will only run for ten minutes, so if your mirroring takes longer than that, you'll have to register.

Wget is distributed under the GNU General Public License, meaning that not only do you get the software, you get the source code as well. It has two features that set it apart: first, it will mirror FTP sites as well as web sites, including the ability to process links in HTML files accessed through FTP. Second, it supports the resume functions of both HTTP and FTP servers, and will automatically attempt to continue a file whose transfer was cut short.

Final reflections

Each of the utilities reviewed here has its strong points. Sslurp is far and away the easiest to use; WebMirror has its proxy server and Templeton has a power-user's equivalent; Wget is free, surprisingly user-friendly for a command-line app, and does FTP and resumes. All of them have a place, and it's up to the individual as to which best fits their personal needs.

                         - * -

Sslurp 1.6
by (http://www.kaneff.de/~mike/sslurp/) Michael Hohner
download from (http://www.kaneff.de/~mike/sslurp/sslurp16.zip) The Sslurp Homepage (70K)
Registration: Freeware

WebMirror 1.32
by (http://www.maccasoft.com/) Marco Maccaferri Software Development
download from (ftp://www.bmtmicro.com/catalog/wmos2131.zip) BMT Micro (333K)
Registration: $25

Templeton 2.900
by (http://www.bmtmicro.com/catalog/tton/) Neal Krawetz
download from (ftp://ftp.bmtmicro.com/bmtmicro/tton2900.zip) BMT Micro (304K)
Registration: $30

WGet
by Hrvoje Niksic
download from (http://www.os2ss.com/archives/hobbes/os2/apps/internet/www/util/gnuwget.zip) The OS/2 Supersite (404K)
Registration: Free
 
(liefc@os2ezine.com) Lief Clennon is a computer hobbyist and Team OS/2 member currently residing in Albuquerque, NM. He can usually be found badgering his friends on IRC.

***********************************

First Looks: WarpZilla 0.007		-Christopher B. Wright

The Warpzilla team (the group of programmers who are madly porting the Mozilla Netscape 5 code to OS/2) have recently released their latest alpha. Version .007, informally dubbed the "Bond Release", is a surprisingly functional, though somewhat basic, browser.

Sporting a very, very basic UI (just a field to enter URLs in and some menu commands) Warpzilla doesn't have the fancy buttons, built in support for mail and newsgroups, and HTML editing controls of the newly released communicator. You can use it to browse, however, and it does that extremely well for what is only alpha release code.

Warpzilla usually loads pages very, very fast, but it occasionally stalls out on large, complicated pages. It seems to have some difficulty correctly rendering nested tables (try going to http://www.slashdot.org with Warpzilla to see what I mean). It also doesn't support java, but it does support javascript - although not perfectly yet. Still, it supports just about everything else: frames, fonts, layers, even support for forms.

.007 is the last version of Warpzilla that will be using the "older" rendering engine. The team is now starting to port the next-generation Mozilla engine -- the one that will be used in Communicator version 6 -- to OS/2. As it states in one of the help files, "the next release will be a step backwards in GUI functionality terms. But, with any luck, a monster leap forward in rendering."

                         - * -

Warpzilla 0.007
by (http://www.innotek.de/warpzilla) The Warpzilla Project
download from (http://www.innotek.de/warpzilla/warpzilla0007.zip) The Warpzilla Homepage (2M)
Registration: Free
 
(wrightc@dtcweb.com) Christopher B. Wright is a technical writer in the Richmond, VA area, and has been using OS/2 Warp since January 95.  He is also a member of Team OS/2.

***********************************

Results from our September 16th Survey		-Chris Wenham

When PCs first became available the majority of software was of commercial nature that you purchased a license for in a shrink-wrapped box. But soon programmers began experimenting with a new idea, made possible by Bulletin Board Systems (BBSes), that let people download and try out software for free - paying for it only if they really found it useful. Later still, Richard M. Stallman championed the cause of free software - the kind that you could not only download, but were not expected to pay for, and could even obtain the source code for.

In last issue's survey we sought to find out what kind of software you wanted to see more of, as well as what you anticipated would really be the case. Each have their benefits and disadvantages, but what matters to you the most? Commercial software has historically been of higher quality, depth and polish thanks to the money that can be poured into development by the parent company, plus it usually comes with a printed manual and telephone support. Shareware offers instant gratification, a fair trial period, and occasionally a few gems that reach the same level of polish and depth as their commercial counterparts. While Free or Open source software can't be beat for price, appeals to some for idealistic reasons, and benefits from the power of peer-review to stamp out bugs and deliver a rock-solid program.

For our September 16th survey we had 645 valid responses. For a vote to be considered valid it must be accompanied by an e-mail address, not be a duplicate, and have answered all of the questions. Votes were accepted between September 16th and 29th.

What kind of software would you like to see more of for OS/2?

Wishful thinking or not, most of our readers (58.3%) wanted to see more commercial software developed and released for OS/2. This could have been due to a combination of factors. One being that people just prefer the qualities of commercial software, and another being the image of OS/2 as a viable and lively platform that each release of a commercially sold application creates.

Following far behind commercial, but each close together, was Free/Open Source software (21.7%) and Shareware (19.7%). As an experiment, we also asked if you'd be interested in seeing some "Meterware" made available - software that you don't buy, but rent by the hour. This is an idea that's being experimented with by several companies and may bear fruit one day. Imagine being able to use Lotus SmartSuite, which retails for $495, for only 50 cents each hour that you actually use it. Only one lonely reader voted for this alternative, however, so perhaps the idea isn't so appealing after all.

What was the last piece of major software you installed on your machine?

To put things into perspective we also asked what kind of software was the last major application that you installed. Not meant to suggest anyone wasn't practicing what they were preaching, but it ought to be interesting to see how the results from last month will compare to the same survey question asked in a year from now. The majority (53.6%) said that they had last installed a commercial piece of software.

Have you tried Win32-OS/2?

It's possible that in the future, the team working on the Win32-OS/2 binary converter project (a utility that will convert a Windows 95 program into a native OS/2 program without requiring the source code) will complete a version that's able to translate the vast majority of software written for Windows 95 and Windows NT. This would open up the floodgates to a never-ending surge of software that can run on OS/2. With that in mind, it was worth asking to see how many of our readers had already tried it in its early state, as there are a number of desirable Windows 95 applications (such as QuakeII) that can now be converted with it. A healthy number of you (39.4%) did, but it looks as if most have yet to get around to it.

In the future, how much of your software do you anticipate being Windows 95 applications converted with Win32-OS/2?

Yet this lack of trying did not stop many of you from speculating on just how much of your day-to-day software would be Windows 95 programs converted with the utility. 37.1% of our readers guessed that at least 10% or less of their software would come from this avenue. This should certainly give OS/2 developers some hope, as only 6 people went so far as to guess 100% of their software would be converted Windows apps.

How much do you anticipate being Commercial OS/2 Software / Shareware / Free or Open Source Software?

For the remaining three questions, the majority said they expected under 50% of their software to be made up of these groups. Very few thought they would be using 100% of anything, but for what it's worth, more readers (14) thought they'd be using a 100% Free or Open Source based system than any other.

Complete September 16th Survey Results

What kind of software would you like to see more of for OS/2?

Category		Count		Percentage
Shareware		127		19.7%
Commercial software	376		58.3%
Free/Open-source 	140		21.7%
Meterware		1		0.2%
I do not understand	1		0.2%
TOTAL			645		100.1%


What was the last piece of major software you installed on your machine?

Category		Count		Percentage
Shareware application	177		27.4%
Commercial OS/2 app.	346		53.6%
Free/Open-source app.	117		18.1%
A Windows 95 
application converted 
with Win32-OS/2		4		0.6%
I do not understand 	1		0.2%
TOTAL			645		99.9%


Have you tried Win32-OS/2?

Category		Count		Percentage
Yes			254		39.4%
No			389		60.3%
I do not understand 	2		0.3%
TOTAL			645		100.0%


In the future, how much of your software do you anticipate being Windows 95 applications converted with Win32-OS/2?

Category		Count		Percentage
100%			6		0.9%
Between 50% and 100%	57		8.8%
Under 50%		143		22.2%
Under 10%		239		37.1%
None			90		14.0%
I haven't tried it	109		16.9%
I do not understand	1		0.2%
TOTAL			645		100.1%


How much do you anticipate being commercial/shrinkwrap OS/2 applications?

Category		Count		Percentage
100%			10		1.6%
Between 50% and 100%	174		27.0%
Under 50%		257		39.8%
Under 10%		170		26.4%
None			24		3.7%
I do not understand 	10		1.6%
TOTAL			645		100.1%


How much do you anticipate being Shareware?

Category		Count		Percentage
100%			5		0.8%
Between 50% and 100%	262		40.6%
Under 50%		313		48.5%
Under 10%		48		7.4%
None			10		1.6%
I do not understand	7		1.1%
TOTAL			645		100.0%


How much do you anticipate being Free/Open-source applications?

Category		Count		Percentage
100%			14		2.2%
Between 50% and 100%	130		20.2%
Under 50%		288		44.7%
Under 10%		190		29.5%
None			13		2.0%
I do not understand 	10		1.6%
TOTAL			645		100.2%

 
(chris@os2ezine.com) Chris Wenham is the Editor In Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Rexx Newbies		-Chris Wenham

Summary: As the first in a limited-run series intended to help newcomers get up to speed with Rexx, we introduce some of the benefits of Rexx, examples of how you can put it to productive use in your daily work, and your first few lines of Rexx code.

Second only to the Workplace Shell in terms of flexibility and usefulness is OS/2's built-in scripting language, Rexx. As an interpreted language that doesn't have strict type checking (the enforced difference between, say, number and character variables) and follows an easygoing syntax, Rexx is very easy to learn. If you've ever learned enough about plumbing to fix a leaky faucet or install a new bathroom sink, then you've probably got what it takes to learn a little bit of Rexx and make life under OS/2 much easier.

This is a limited-run series of articles that will go on through the next few issues of OS/2 e-Zine!, teaching the fundamentals of Rexx and giving some examples of how it can be used to automate simple everyday tasks and enhance Rexx-enabled applications that you may already own. It's written to both stand on its own and serve as a "stepladder" to the more advanced techniques found in Dr. Dirk Terrell's monthly Rexx Files.

What Is Rexx Useful For?

To give you an idea of what Rexx is useful for, consider these example scenarios:

o Your favorite web page editor cannot "publish" pages to the web server. So you use a few lines of Rexx to give it that capability or at least the closest approximate.
o You want an anti-virus check performed on a regular schedule, but you also want the results e-mailed to you.
o You want your Internet chat program to keep a log of anything said to you or about you in the chat rooms that you frequent, in case you miss anything while you're away from the screen, or want to double check something weeks or months later.
o You need to update records in your database program with cells from your spreadsheet, or vice versa.
o You're looking to buy a new piece of equipment and the current price for it is advertised on a web page. You want something that will check that web page regularly and notify you when only the price changes, but not when other unimportant parts of the page change.
o Your favorite e-zine is distributed in offline format, and you want to automatically download and unpack each issue as the e-mail reminder arrives.

All of the above examples are not only possible, but almost trivially easy to do with only a few lines of Rexx. In the coming months I'll be describing how to do all of them and more. Rexx is often used in one of two ways: To write stand-alone programs that you launch from the command line or a desktop icon, or as macros that enhance other applications.

An example of a stand-alone Rexx program (which I'll call a "Script" from now on) that you've probably come across dozens of times before is the one that creates an icon on the desktop for the shareware programs you download.

An example of a Rexx program used to enhance another application (which I'll call a "Macro") are the examples that ship with Photo>Graphics Pro and Mesa 2. These macros are not designed to run on their own, but will often automate multi-step procedures in the programs you use (such as setting up a default letterhead or template). Most of the example scenarios described above would be incarnated as the second type; the macro. These are often the most useful and the ones that most beginners seek to learn Rexx for, as it helps them expand the capabilities of programs they're already familiar with.

What Are The Strengths Of Rexx As A Macro Language?

Consider the situation on the Windows platform. Since there is no default macro language there, application developers are faced with the nontrivial and expensive job of designing and creating their own language from scratch whenever they want to add macro features to their programs. These languages, for both copyright, economic and subjective reasons, are nearly always different from program to program. The SALT language you learned for your terminal program is different from the Visual Basic for Applications that you learned for the office suite, which is different from the Word Perfect macro language you grew up with, which is different from Corel's language and LotusScript and so-on and so-on. You might also have noticed that for all these dozens of languages that all do pretty much the same thing anyway, you're giving up 1-2 megabytes of disk space each.

Not so under OS/2. For an OS/2 application developer, adding basic Rexx support to a program is an afternoon's work. What a program is doing when it runs your Rexx macro is simply handing it over to OS/2's built-in interpreter and forgetting about it. The program might also expose a few of it's own internal functions to OS/2 for you to make use of within the macro. Functions to make the host application load or save a file, functions to make a database flip to the next record, update a field, or print a report. This is how a Rexx macro can control the program that launched it. Plus, since adding Rexx support is so easy, even tiny programs come with it. Take HTML-Ed for example: the program is just over a measly 100K, yet it comes with full fledged Rexx macro support. Possible because the author of HTML-Ed didn't have to write his own Rexx interpreter.

For you it means no redundant code and only one language to learn. Once you've mastered Rexx in the course of customizing your spreadsheet, you can apply the same skills to your database, chat client, or any other program that supports Rexx. Better yet, as OS/2's Rexx interpreter gets upgraded and improved (such as when Object Rexx was introduced, or whenever you download one of the many third-party function libraries), then all of your applications are instantly enhanced too. Download a library of functions for sending files over the Internet, and instantly you can add these features to every Rexx empowered program you own.

What Are The Strengths Of Rexx As A Language On Its Own?

As mentioned at the beginning, Rexx is very easy to learn. The syntax is relaxed, not cryptic or heavily symbolic, and is very forgiving of "loose" code that's been written in a hurry.

Rexx is very good at "string processing", or the manipulation of phrases and words in a sentence or paragraph of text. This makes it especially useful in filtering (looking for catch phrases or keywords), filling templates and generating automatic responses to things like e-mail.

And Rexx is good at manipulating files, making it ideal for housecleaning jobs like deleting old log files and automating backups.

Wherever Rexx lacks in some areas, there's often a plug-in library of functions to make up for it. For example, Rexx on its own has only basic and rudimentary math functions, but as shown in Dirk Terrell's Rexx Column, you can download a library of extended math functions easily. There's more where that came from, as will be shown later.

Your First Lines Of Rexx

Assuming you're a complete beginner, we'll start with the complete basics. Rexx is not a fancy-shmancy language like C where you have to import a slew of libraries just to make it say "Hello." To do a simple "Hello, World" program in Rexx, launch a text editor such as the OS/2 System Editor (e.exe) or EPM and type in the following lines:

/* This is our first Rexx program */ 
Say "Hello, I'm Rexx. Woof! Woof! Woof!" 

Then save it into a file called hello.cmd. Open up an OS/2 command prompt, navigate to the directory where you saved the file, and type "hello" followed by Enter. You should see something like the following on the screen:

[C:\]cd Work 
[C:\Work]hello 
Hello, I'm Rexx. Woof! Woof! Woof! 

You've just learned your first Rexx command: Say. Its job is to send messages to the screen (or more precisely, Standard Out (STDOUT), but that's a technicality we'll ignore until later). In Rexx it doesn't matter if you use upper case, lower case or mixed case when you type commands. I could have used "Say", "SAY", "say" or "sAy" and it would have still worked. Use whatever feels comfortable to you.

Important: All Rexx programs must start with a comment block (a phrase encased in the /* and */ characters) on the very first line! This tells the OS/2 interpreter that it's dealing with a Rexx program as opposed to a simple batch file. Try taking out the comment at the top (/* This is our first Rexx program */) and see what happens. OS/2 should display the whole "Say 'Hello..." line and complain that it doesn't recognize "Say". This is because OS/2 is trying to look for a program on your hard drive called "say" and it isn't finding one. Without the comment block at the top, it doesn't realize that it should be interpreting a Rexx program.

You'll also notice that we put the "Hello, I'm Rexx" phrase in double quotes. In Rexx, you can actually use single or double quotes interchangeably. This makes it quite handy if you must use one or the other kind within the string (phrase or sentence) itself. Wrap the string in single quotes if you're going to use double quotes inside (eg: Say 'I turned around and said, "What?"') and double quotes if you're going to use a single quote or apostrophe inside (eg: Say "I'm pleased to meet you.") Rexx will figure out what you mean on a line-by-line basis, so you can mix methods within the same program.

In the next article in this series, I'll start describing how to do simple arithmetic and make decisions in your code. We'll be slowly building up to our first real-world example of a macro that you can use in your applications.
 
(chris@os2ezine.com) Chris Wenham is the Editor In Chief of OS/2 e-Zine! -- a promotion from Senior Editor which means he now takes all the blame.

***********************************

Subscribe for FREE

If you would like to receive notification when new issues of OS/2 e-Zine! are posted or remove yourself from our notification list, use our on-line subscription form at http://www.os2ezine.com/subscrib.htm -or- send an e-mail to subscribe-request@os2ezine.com with only the word:

     subscribe 

in the body of the message. 

Please make sure your software is properly configured with your e-mail address! 

If you have problems please (feedback@os2ezine.com) e-mail us or contact us at:

Falcon Networking
4302 NW 25th Terrace
Gainesville, FL 32605

800-595-1974 (US and Canada)
352-335-9693 (elsewhere)
 
***********************************

Sponsor OS/2 e-Zine!

Corporate Advertisers

OS/2 e-Zine! has space for a very limited number of corporate advertisers.  A variety of affordable high impact, inline graphical advertising options are available.  Arrangements are available for multiple issue insertions.

For more information please (sales@os2ezine.com) contact us via e-mail or phone 800-595-1974 in the US and Canada or 352-335-9693 elsewhere.

Readers Can Sponsor Too!

If you feel OS/2 e-Zine! is useful, entertaining or educational, please send whatever 12 issues are worth to you.  Even sponsorship of a few dollars is appreciated.  Individuals sponsoring US$ 15 (or CDN$ 20) or more will be listed in our Sponsors Page (with an optional link to their home page).

Please (feedback@os2ezine.com) send cash, cheque or money order (International or US, made payable to Falcon Networking) along with:

o a note stating that your contribution is for OS/2 e-Zine! sponsorship
o your name
o your address (city, state/province & country)
o your e-mail address
o your web URL if applicable.</ul>

Alternatively, you may choose to sponsor OS/2 e-Zine! by credit card through (http://www.bmtmicro.com/catalog/ezine/) BMT Micro, Inc.  BMT Micro accepts Visa, Mastercard, Discover, American Express, Diner's Club, and many other credit cards.  Just call:

o (800) 414-4268 (Voice) 9:00am - 7:00pm EST
o (910) 791-7052 (Voice) 9:00am - 7:00pm EST
o (910) 350-2937 (Fax) 24 hours a day
o (910) 350-8061 (Modem) 10 lines, all 14.4K, or
o (910) 799-0923 (Modem) Direct 28.8K line

Or, use BMT's <a href="https://secure.falcon-net.net/BMT/order0261.html) Secure Order Form.  It's safe, fast and simple!

Remember, any amount is appreciated and whether you choose to sponsor or not, you will still be able to enjoy every issue of OS/2 e-Zine! on the WWW!

For more information or any other questions please (feedback@os2ezine.com) see our contact information.
 
***********************************

Corporate Sponsors

[(http://www.blueskyinnovations.com/) BlueSky Innovations]
[(http://www.bmtmicro.com/) BMT Micro]
[(http://www.ChipChat.com/os2ezine/) ChipChat]
[(http://www.indelible-blue.com/) Indelible Blue]
[(http://www.prominic.com/) Prominic Technologies]
[(http://www.prioritymaster.com/) ScheduPerformance]

(http://www.blueskyinnovations.com/) BlueSky Innovations
Whether you want to boot multiple Operating Systems or from an Iomega Zip disk, we have a solution for you.

(http://www.bmtmicro.com/) BMT Micro
Your complete source for over 175 of the best OS/2 shareware applications available.  Drop by today and check out our WWW catalog or download the .INF version.

(http://www.ChipChat.com/os2ezine/) ChipChat Technology Group
ChipChat produces excellent 32-bit OS/2 software for wireless text paging and state-of-the-art multimedia Sound Cards for Micro Channel PS/2 computers.

(http://www.indelible-blue.com/) Indelible Blue
Indelible Blue, a mail order company, provides OS/2 software and hardware solutions to customers worldwide.

(http://www.prominic.com/) Prominic Technologies, Inc.
On-line sales & solutions for VisualAge, DB2, OS/2 Warp, Workspace on Demand, Notes/Domino, AIX Firewall, and Net.Commerce (design/hosting).  The best deals on IBM and Lotus software and hardware (PCs, Servers, and RS/6000s) -- with OS/2 preloads!

(http://www.rsj.de/) RSJ Software
The successful software CD-Writer for OS/2 by RSJ. CD-Writer is suitable for backup, data filing, creating Audio CDs etc. and is compatible with most CD-Recorders.

(http://www.prioritymaster.com/) ScheduPerformance, Inc.
Dramatically improve performance on your OS/2 system now with the patented priority scanning logic and visual priority identification of Priority Master II.

***********************************
Copyright 1998   -   Falcon Networking
ISSN 1203-5696
