Editors, QUED-M
Volume Number: 6
Issue Number: 5
Column Tag: Kelly's Corner
QUED/M, Preditor, and Mactivator 
By Dave Kelly, MacTutor Editorial Board
QUED/M™ vs. Preditor™
Back in the “good old days” when the Macintosh was still a newborn 128K baby,
a good editor was hard to come by. Actually, the “good old days” weren’t as good as it is
today. The “programmer’s” text editor in those days was EDIT. Today, there are
several editors that can be helpful to you as a software developer, e specially if you
don’t like the editor that came with your language system.
Last month I mentioned a few words about Freditor, an editor for FORTRAN
programmers. This month, let’s check out two other text editors that are very
similar. Comparing QUED/M (pronounced “kwed-em”) and Preditor has been a
difficult task because each has its advantages. I hope some of my comments here will
help to sort out the differences.
Some of you are probably asking “What do I need another word processor for?”.
First, please understand that these text editors are not designed to support fancy
formatting of text and graphics for “desktop publishing”. They were written to
provide a fast and easy way to work with text. You can still transfer the text to another
word processor for final formatting. The additional features that are offered provide
advantages over word processors. Their strong point is the ability to use powerful
Macros and regular expression matching features. These features allow you to store,
manipulate and retrieve large amounts of information quickly without restrictions
imposed by structured data base or other programs. QUED/M is the descendant of
QUED. Macro capability and other improvements were added to QUED when QUED/M
was released. Preditor is the new kid on the block. Both provide many of the same
features with some differences that I will discuss here.
I’ve created a comparison table to review some capabilities provided in QUED/M
and Preditor. I’d like to preface this chart with one observation. Both programs are
flexible and macros can be created in one application to perform some tasks that would
be considered built in features in the other application. I don’t want to receive cards
and letters telling me that by writing a macro, the features can be accomplished. I’ve
tried to include that in my chart, but in case I missed any sorry about that. Creation
of the chart was not that easy anyway. Preditor has a very organized manual with the
features organized into logical sections. The QUED/M manual puts more emphasis on
macros and so the features are explained throughout the manual. The index didn’t
really help either. Section 11 covers all the menus in QUED/M so it was possible to
round up most everything for the chart. I’m sure glad that QUED/M is more intuitive
than its manual.
The comparison chart shows that QUED/M and Preditor are very similar in many
ways. Both applications have “Open Window” dialogs for opening, but only Preditor
has filter controls for extensions on file names. Automatic file saving is an option for
saving the file automatically when a set number of keystrokes have been pressed.
Preditor also can do an autosave after a specified number of minutes.
Text editing features are basic to both programs, but there are some minor
differences. Preditor provides rectangular editing. Rectangular editing allows you to
select a rectangle of text to cut and paste. This is more useful if you are doing tables of
data. Overstrike typing allows you to replace text instead of insert text when editing.
In Preditor the editing modes are selected through a Format menu that displays a
format dialog. This sets the format for the entire document.
Preditor has a command called “Reformat text” that will format the text between
a left and right column settings. The formatting can be set to break at word boundaries
or at the column settings. Reformatting text inserts a return character at the right
boundary giving you the appearance of wrapped text. QUED/M on the other hand lets
you set the line length and the paragraphs wrap automatically at the end of the line
without modifying your text. There is currently a bug with the Undo of Preditor’s
“Reformat Text” command. All “editing” operations (all operations that affect the
text) in Preditor ARE undoable. This includes tab conversion, change all, remove all
impossibles, etc. Currently there is a simple patch (a 2 byte change) to fix the
problem (this same problem exists with undo of tab conversion operations as well),
and the patch fixes both. I haven’t seen the patch yet, but I expect that it fixes the
problem satisfactorily. The chart indicates that Reformat Text is undoable, but that
was without the patch. In QUED/M it is very conspicuous that every action is undoable.
In Preditor, most actions are undoable, but without the bug patches mentioned,
QUED/M’s Undo/Redo works better.
Preditor has a complete and easy to use on line help system (in case you can’t
find your manual). A nice touch is that you can keep the help window open and switch
to another window for editing. Some help systems I’ve seen, you must quit a modal
type dialog before the help system relinquishes control. Preditor also supports
collapsing text and a function called “Twiddle” that swaps the character before the
selected text with the character after the selected text. I’m not sure what you would
use this one for.
Preditor supports tags. Tags are an extremely powerful feature for people
programming in C, Pascal and Fortran. It allows you to highlight any function or type
name, and have Preditor immediately open the file that contains the definition and
scroll the definition into view. The Tags feature also supports the standard MPW
Commando interface. This brings us to another related area that is supported by
Preditor. Preditor can read “language modules”, which are produced by the LDC
(Language Definition Compiler) that comes with Preditor. Any language modules that
are placed in the “Preditor Folder” will be available within Preditor. Preditor uses
the language modules to obtain information about a particular programming language.
This includes bracket and comment delimiters, reserved words, language syntax, file
extensions, and more. Commonly used code can be set up as a template that may be
“pasted” into your text. These language capabilities together with the tags capability
make Preditor very attractive for programmers. Keep in mind that by using Macros
in QUED/M could provide some features of the language modules, although these
features would have to be developed before they could be used. Preditor has these
features already.
Preditor also provides a glossary function for quick lookup/substitution of words
or phrases. QUED/M will sort lines and compare differences between documents. Both
programs have excellent search capability including searches for mismatched
parenthesis or brackets. I like the way QUED/M displays the bracket pairs in the
upper right corner of the document window’s title bar. This way gives you a visual
feedback of the number of open brackets. Preditor also does what they call an
incremental search. Incremental searching allows Preditor to search continuously as
you enter text in the “Find What” text box. For example, if you type in the word
“Hello”; after you type the ‘H’ Preditor will find the first ‘H’, then after you type the
‘e’, Preditor will find the first occurrence of “He”, and so on.
With all I haven’t said much about macro capability. In general, any feature that
can be done manually, also can be done in a macro. QUED/M is very strong in the
macro area, while Preditor is strong in its language support. The result of this is that
both are good text editors and will do the job, but each has its own advantages.
QUED/M is available from:
Paragon Concepts, Inc.
990 Highland Drive, Suite 312
Solana Beach, CA. 92075
(619) 481-1477 or
(800) 922-2993 outside California
Price: $119.00
Preditor is available from:
Evatac Software
P. O. Box 219093
Portland, OR. 97225
(503) 297-6175 or
AppleLink: D3852
Delphi: CARSTENSEN
Compuserve: 73627,2762
GEnie: T.CARSTENSEN
Requires System 3.2 or later and 512K RAM minimum.
Price: $90.00
Mactivator
I hate copy protection. This subject has been beat to death so many times that it
is pathetic. But lately, I’ve been seeing some ads on hardware copy protection schemes
that turns my stomach to think about it. One ad shows a device connected to the ADB
port. I don’t have any information about the ADB device so I can’t say much about it.
Another scheme has shown up from Software Security, Inc. called The Mactivator that
plugs into the SCSI port. I recently received a demo version of the Mactivator.
Before continuing I must say, copying software illegally is wrong, there’s no
question about that. But setting all that aside, let’s take a look at The Mactivator.
The Mactivator plugs into the SCSI port of any Macintosh. It does not require
power and doesn’t use up a SCSI address. Several Mactivator units may be plugged in at
once (they say as many as 10 may be daisy chained). What? Doesn’t this interfere
with normal SCSI operations? Before answering this question lets take a look at how it
works.
The key to the Mactivator is a custom ASIC chip. A series of bytes is sent to the
chip via the SCSI port. These byte increment and/or decrement a set of counters on the
device. When the counters reach a factory-programmed Product ID value, the
Mactivator sends out an acknowledge response which can be tested for. If no signal is
received, it is assumed that the device is not present and the application program can
take necessary action (like erasing your hard diskjust kidding).
The counters are divided into two sections. The Product ID side is programmed at
your factory with your unique code. There are over 250 thousand possible codes. The
other selection is the Custom ID side, that contains selectors or filters. These values
can be programmed by Software Security, Inc. to your specifications, or you can use an
optional field programming unit to program the filters yourself. Both sides of the
device may be accessed incrementally, decrementally, and in an AND/OR mode. By
combining these modes and other features, the device can be set up to respond
differently to every interrogation.
You don’t have to perform the entire interrogation at one time. Since the device
has so many ways to be programmed it is nearly impossible to duplicate the device.
The device can be used for serialization, multiple modules, and multiple package
protection.
Does the device interfere with normal SCSI operations? Answer: It shouldn’t.
The device is counting on the fact that it is unlikely that any normal SCSI operations
would send the apparently random series of bytes the Mactivator is programmed to
respond to. This scares me. When I tried out the demo that Software Security sent me,
my 80 Meg. CMS internal hard hung up when I used the demo software. A telephone
call soon told me that a fix was on its way to me since there was a known problem when
CMS drives were used. As a developer can I afford to risk the reputation of my
software on a device like this? What if there is some other peripheral that comes
along in the future which isn’t compatible? Hopefully the response will be as quick
when that happens as it was for the CMS fix.
OK, I admit that if copy protection must be used that a device like this one would
be a good way to do it. There are a few side effects which come with any device like
this. One of the biggest legitimate complaints about software copy protection is the
way that the protection always seems to get in the way of everyday operation of the
software. The need for a master (or key) disk and not being able to copy the
application for backups or convenience are two of many complaints. If your software
will always be run only at one location then a device like Mactivator would like not
give the user any grief.
A problem that I have faced since I work for a big company is that sometimes I do
work at home. I have favorite software which I have purchased, but the company has
not. I still have a legal right to use my copy on any one computer at a time, but it isn’t
the same computer each time. I often use my legal copy while at work. A device like
Mactivator would be an added burden that I wouldn’t want.
The Mactivator could be moved from one machine to another, but sometimes this
is awkward depending on what other equipment is also installed. And the Mactivator
uses the system SCSI connector which means that it must connect to the CPU although a
change in connector would make it possible to mate to other SCSI peripherals. This
means that SCSI peripherals connected to a CPU must be disconnected to allow the
Mactivator to be installed.
I have mixed feelings about this kind of device. If you must have copy protection
then I definitely recommend using something like this, but I still feel that copy
protection should be avoided wherever and whenever possible.
The Mactivator is available from:
Software Security, Inc.
1011 High Ridge Road
Stamford, CT. 06905
1-800-333-0407
In CT: 203-329-8870
FAX 203-329-7428