Novice to Novice
This series has aimed at the Unix beginner who has experience with MS-DOS. I have assumed that such a person is exploring Linux primarily to learn Unix easily, cheaply, and conveniently. This person may buy or download Linux, get it running, and probably focus on the main veins—Networking, X-Windows, GNU C/C++, etc.—without really exploring some of the other offerings such as sc, oreo, or xfractint. I originally dismissed these programs, thinking they couldn't have much substance being freeware and certainly couldn't compare to what exists in DOS or Windows.
Then I realized that these freebies weren't necessarily equal to the latest versions of commercial programs like Lotus-123 or WordPerfect but perhaps would be comparable to older versions. And I realized that, just like in DOS/Windows, these freeware and shareware programs served to fulfill an applications void or to present inexpensive alternatives to their commercial counterparts or came into existance because they were fun and a challenging exercise to develop.
This article will be the first of a small journey to seek out these other programs and see what they have to offer. I will concentrate on three main topics: spreadsheets and text editors, databases, and seredipity. The general focus will be towards business applications and things that would impress someone visiting from a DOS/Windows environment.
For the majority of these programs, a major advantage over commercial rivals is that the source code is included. Linux lovers already know of that luxury. Unfortunately, that advantage usually dissipates with the need to compile the source, a task that brings anguish to many novices. As a note of reassurance to other novices, I've found that recompiling isn't always a headache. With a swap file active to boost memory, I've had few problems with compiles. Many of the glitches I've had occur when the make files expect certain files in certain places; that is, when file locations are hardcoded in. And, of course, it helps to read the README files.
A point to remember: many of these programs undergo constant revision and by the time this article sees the light of print newer versions may have been released. With the updates, changes may be made to installation routines or requirements. Consequently the procedures or problems I describe during installing or bugs that I find may not always carry over to newer releases.
My goal is to see how these programs compare to known DOS/Windows counterparts, not to imply that either operating system is better, but simply to provide a frame of reference.
Finally, if no installation option was available from Slackware I unarchived these programs under /usr as those more experienced than myself in Unix have recommended.
Let's snoop around, shall we?
I realized that my copy of Linux from October 1994 was old. Factor in the time for publishing preparations and I was committing a grave disservice. It was time to upgrade to Linux 1.2.1.
Although I had been using Morse Telecommunications' Slackware Professional 2.1 I decided to try another Linux offering. Highly recommended, and what I tried, is InfoMagic's Linux Developer's Resource. This 4-CD monster is an amazing bargain. Archives of Sunsite, TSX-11, and GNU, “live” Slackware, tons of everything else, and best of all: a great price. For the novice, the package may be too overwhelming—there's only a little manual for installation. (Other documentation is on the main CD. InfoMagic offers a beginning package—“Linux Toolbox”—that looks pretty good and comes with a variety of printed help.)
I have two complaints. The first is when using the Windows Boot/Root disk maker routine of the Distribution. The manual says that the program will let you choose UMSDOS as a Root option but I didn't see one and I had to create one manually from the CD. Not a big deal and certainly not heart attack inducing.
The second complaint, not specific to InfoMagic's product, is far worse, but it only applies, I believe, to those having a Sony cdu31a/cdu33a CD-ROM. The auto-detect function was removed or disabled from the kernels. This means that even when you specifically choose the cdu31a kernel from the “Q” disks or recompile the kernel your CD-ROM still will not be recognized. At least it did not for me. Why the decision to remove this chunk of code which worked in earlier versions, I don't know. But I went through Linux-novice hell to get Linux working again.
[The reason that cdu31a/33a autodetect support was removed is that the only possible way to autodetect these drives is so dangerous that detecting it has the potential to hang the computer at boot. This was causing immense troubles for thousands of people without Sony CD-ROM drives, and so the autodetect capability had to be removed, and it is no longer part of the standard Linux kernel. —ED]
A positive change is in the X-Windows configuration routine. Now it does all the dirty work. You do not have to manually edit any files afterwords. As before, however, you will need all the information about your monitor and video card, but the entire process is easy and quick. Kudos!
sc (6.21, on disk set 'AP') and oleo (v0.03.2, from Sunsite) are both simplified spreadsheets similar to early version of Lotus-123 or Excel. Both programs have a fair variety of functions but lack the bang! of their MS-DOS counterparts. I had no problems installing either one because binaries were included in the archives. Both ran without fault. The problems I did have were primarily related to cursor movement. I'm spoiled; I like to use the cursor keys and PageUp and PageDown. Both programs used keys and combinations that may be familiar to Unix users, especially Emacs users, but aren't familiar to this Novice. For example, the Lotus-123 '/' command didn't bring up the menu. Also you can't just type a number into a cell; you must first hit the '=' key (like Excel). I received an out of memory error in sc when I tried to get the cursor to (g)o to cell zz3000. Sure I was running sc through X-Windows but the swapfile was active. Like I said, I'm spoiled.
xspread (1.1L2, from Sunsite) is an X-Windows spreadsheet based on sc. Like sc the data is entered via '='. Unlike sc '/' does bring up a Lotus-123-like menu. If you had to use any of the freeware spreadsheets mentioned this would get my recommendation, simply because of the Lotus-like menu.
vi and Emacs (GNU version) are the two most popular and renowned text editors in Unix. Most of the following appeared on the main Slackware CD and had installation scripts available.
vi is on most every system and is a useful compact program, though I don't care for it personally. The commands and three operating modes aren't the most intuitive—not that DOS's edlin fares better by comparison (though DOS's newer edit does shine). My advice to novices is to learn it just in case. Again, this program is everywhere so it helps you to have at least a basic understanding of how to work it.
GNU emacs (19.27, on disk “E”) is not a program, it's a lifestyle. Either you love it because it can do almost anything or you hate it for its obscureness. I know it overwhelms me. The X-Windows version is amazing. It has a menu bar to make things easier and the menu choices are bizarre and unique. You can read your mail or news, learn from the tutorial, search by most anything. Choosing calendar lets you play with Mayan, Islamic, Hebrew, and some other dates. “Moon phases” is an option. A diary is available. As for word processing I didn't think it so hot. In X-Windows, I expected the ability to change fonts or typesizes and there was no obvious way to do so. Comparing emacs to Microsoft's Word for Windows will show even greater inconveniences for the would-be Unix word processor. But emacs can apparently do so much for so many types of people—programmers, writers, e-mail readers—that to focus on just one area doesn't quite give it a fair appraisal.
[The reason that it doesn't compare well with work processors is that it isn't one. Even in the DOS and Windows, world, programmers don't use Word for Windows to write the programs, nor do they use Brief to write theses, as a general rule—Ed]
A mild warning: if you don't have the option to run it from CD, expect emacs to use a little over 20 megs of your hard drive.
And that's all I will say about vi and emacs. If you want more in depth information about any of the programs look for HOW-TO's, FAQ's, and books. Linux Journal had an article about customizing emacs in the September 1994 issue. A good basic intro to vi is in Matt Welsh's “Linux Installation and Getting Started” guide.
A quick aside: I don't care for vi but I use it; I like the X-Windows version of emacs but I don't use it yet. In general, I find the non-X-Window command structure of the emacs programs too arcane. In part, this is because I'm coming over from DOS where most text editors have available the Wordstar-compatible commands or where most everything is mouseable. Since I use a “modern” word processor, many of the Unix programs I found seem outright brutal. For me <F1> should always be the help key, not some ^h-? combination requiring three hands.
Lucid Emacs (19.10) is a clean variant of GNU Emacs and is very nice. Unlike the GNU version it doesn't bombard you with a variety of unusual options. It appears to focus on basic text editing and that's it! Cursor key and mouse movement and all the other basics are there. The one immediate nitpick I discovered is that when you change the font or type size for a sentence, word, or a block, all the text in the file gets changed. [This is because Lucid Emacs, like GNU Emacs, is a text editor, and you are changing the font that the whole file is displayed in—Ed] Like GNU Emacs, Lucid will eat up about 20 megs of hard drive space so you may want to choose between the two and/or run it from the CD.
jove (4.14.10, on disk “AP”) stands for “Jonathan's Own Version of Emacs”. Unfortunately I couldn't explore whatever differences exist between this and the real emacs since I'm not an expert user of emacs. One obvious difference is the amount of hard drive space used. jove doesn't come close to the over-20 megs that emacs consumes. Other than that, the same annoying obscure commands are present.
vim (3.0, on disk “AP”) stands for Vi IMproved. I've already stated that I'm not enthused about vi. Sadly, vim doesn't improve my opinion. It may be improvement over vi but it still doesn't make the commands any more intuitive or the vi idea any more palatable.
fpted is another clone. Unfortunately I couldn't really try it because it crashed. It looked like, at least, a help menu was easily available.
celvis required compiling, which produced a multitude of warnings. Yet it ran without any apparent problems. A unique aspect to this clone is that with the proper terminal you can write in Chinese.
vile and xvile for X-Windows are yet more vi clones. I liked these two because of the highlight bar at the bottom which, in part, clearly tells the command for help. I keep focussing on help because for novices it is perhaps the most important command to know. Considering that many of these programs do not include help files or tutorials, a menu bar saying that help is ^h-? or something is a great benefit.
nvi (1.03) is—guess what—yet another clone of vi but without a helpful menu bar at the bottom. [It's the official “new vi” from Berkeley—Ed]
xvi needed compiling which I passed on. My guess is this program is yet another variant on vi and will run under X-Windows.
jed (0.96, also on disk “AP”) is a program that I like. It uses the cursor keys for easy movement. There's a menu at the top and another available that appears at the bottom when you hit ^h-?. However, one warning about that: option 6 will not exit you from the secondary menu but from entire program! [Jed can also use Emacs, EDT, and Wordstar keys, and the curser keys work the same no matter what keyset you are using, so most people will be comfortable with it one way or another—Ed]
joe (2.2, disk “AP”) is a program I also like but not quite as much as jed. The screen is cleaner, not as cluttered with a help menu, just a simple bar at the top. joe uses Wordstar-like commands so I had no problems with cursor movement and other commands. The help was a bit tricky. ^k-h to turn it on but to page through required an awkward ^[-. or ^[-, (for backwards).
ed stands for “standard editor” and I couldn't stand it. This is a very small program with no obvious help command. In fact, to figure out the commands you have to read the source code; fine for hackers, not so good for novices. [Even most hackers avoid this like the plague. It complains about errors with only a question mark; the manual says, “Experienced users will usually know what is wrong.” —Ed]
ez (7.0, ATK 6.3.1) provides a clean X-Windows Word Processor that apparently can be used standalone or part of the larger Andrew system. This program was covered in Linux Journal, issues 4 (August, 1994) and 5 (September, 1994). ez certainly lives up to its name with mouse and cursor key control and a good word processor with multimedia options. Despite its ease it didn't have any obvious way to change fonts or type sizes, unusual for a program of this quality. I discovered a window that had the information about fonts and whatnot listed but again no obvious way to make changes.
[ez can edit documents of many different types transparantly. In order to access the word processing features, you have to open the right kind of document by giving the file the correct extension. Files ending in .d or .doc will turn on ez's word processing capability, which will show up in obvious menus; for instance, font changes are accessed through the “Font” menu—Ed]
crisp (v2.2e from the Sunsite CD) is an editor that is like emacs in that it has great expandability, obscure commands, and can be used for programming. Untarring the binaries produced a barrage of files including the two main executables cr and xcr (for the X-Windows version). Upon startup of either you get a window with an information bar at the bottom. For novices there is no obvious help command. ^-h didn't work. crisp was the last package I looked at and I was determined to at least figure some of it out. I used mc and finally discovered user and programmer help files under /usr/local/lib/crisp/help/org. The user.hlp file said Alt-h would give help but back in crisp it didn't; it gave gibberish that told me I probably had an emulation problem. Enough, enough, I resign. For Crisp this is apparently the last freebie version and they now have a snazzy graphical offering. I hope it has an obvious help command.
I probably missed a few spreadsheets and text editors while scrounging through the CD's. My general impression is that for the spreadsheets the level of the freeware is comparable to an early Lotus-123 or Excel. But the programs work and will get you through your basic spreadsheet needs.
There are quite a few choices of text editors available with the majority of them clones of either vi or emacs. My personal favorites are jed, joe, either X-Windows version of emacs, and Andrew's ez. They get the job done fairly easily and Emacs can apparently handle most anything. To conserve hard drive space, I would probably choose GNU Emacs over Lucid or maybe have both runnable off the CD. But to summarize my feelings: I guess I expected programs that were more for word processing and for that I gained disappointment. Maybe the WordPerfect demo would have met my expectation could I have installed the beast. For word processing I would stay with what I have in DOS or perhaps purchase a good commerical UNIX word processor. As a writer, I need advanced features and none of the above programs really satisfied that criterion, instead being better for producing ASCII files and for programming environments.
[Projects are now underway to provide more word processing programs. We will cover them in Linux Journal when they are ready for public consumption—ED]
Dean Oisboid, owner of Garlic Software, is a database consultant, Unix beginner, and avowed Diplomacy addict. He can reached at firstname.lastname@example.org.