Dear
Reader,
We were thrilled by the warm reception of our last issue of
the SA SHAREWARE Magazine. Hopefully, this issue will meet with
the same approval.
As multi-media is becoming more affordable, many South
Africans are investigating CD-ROM. Ted Tang provides some answers to commonly
asked questions. Also included is a slightly more academic article on virus
technology, covering some angles which other popular virus articles haven't
touched on. A slightly more relaxing article on Basic-Zen takes a
pot-shot at all those high-powered Pascal, C, Lisp, Ada etc. programmers. And
there is plenty of new shareware - this time we have provided slightly more
detailed descriptions but this has unfortunately reduced the amount of space
available for other articles; we will try to strike a more balanced note next
time 'round.
Enjoy your reading!
Jean-Paul Van Belle.
From the Editor's Desk 1
Common Questions about CD-ROM
Ted Tang 2
Computer Viruses - Current
Status, Future Trends and Possible Advantages
Jean-Paul Van Belle 6
BASIC-ZEN
John Richard De Palma 16
Quotable Quotes 21
New Shareware Reviews 22
by Ted Tang
AUDIO CD PLAYER TO CD-ROM DRIVE
No, you cannot convert your CD audio player into a CD-ROM
drive.
But, Bill Hemmings of 1:300/11 claims: I should get a
nickle for all the times the question has been asked "can I use a cheap
ordinary cd-rom drive for computer data". And a dollar for all the wrong
answers. Because, it turns out, it not only can be done, but it's cheap. I'm
not going to go into the details here, because my opinion is that it's not
worth the trouble. But for those on a REALLY short shoestring, check out the
July/ August issue of 'Midnight Engineering'. Everything you need to read the
digital data stream is there. You'll need a device driver, however, to
interface to DOS. You can order the magazine from 303-225-1410 if you can't
find it on the newstand. Tell 'em I sent ya. Maybe they'll give me a free
issue. Or something. Bigfoot's RBBS - Tucson,AZ - HST - (8:902/1) or
(1:300/11.0)
[I read the article. It sounds like it would take a lot of
technical expertise to get the computer to control the CD player. The experiment
was for playing around with digital music, not reading CD-ROM discs.]
Doors/BBS Usage
Most CD-ROM databases, including encyclopedias, do not
permit you to install on a BBS for public access.
Errors
Experiencing disc read errors? Try cleaning the lens with a
CD lens cleaner available at any audio store and clean the disc. Disc access
slow? Try increasing MSCDEX buffers.
Microsoft CD-ROM Extension
Non-removable TSR that configures your CD-ROM drive to
behave like a network drive/device. Supposedly, you can get the latest version
on Compu$erve. Otherwise, it is available from your dealer but not Microsoft.
With DOS 5.0, you must use SETVER. Here's a brief summary of command line
options-
MSCDEX [/E/K/S/V]
[/D:<driver> ... ] [/L:<letter>] [/M:<buffers>]
option:
/E Use expanded memory for
cache
/K Include support for
Kanji character set
/S Network server support
/V View setup on
installation
/L:[C-Z] DOS drive letter
to use
/M:[4-xx] Cache size,
16=32K
/D:[name] Device driver
name
[I don't know how multiple
CD-ROM drivers would be defined]
Definitions
* CD-ROM
Means "Compact Disc Read-Only
Media". It is exactly the same thing as the audio CD except for just
music, it also contains data. Introduced in 1984.
* CD-I - Interactive
A Sony-Philips developed consumer
oriented CD based video and audio system combining hardware and software. A
home consumer version of CD-ROM, with music, pictures, and partial-screen
motion video that plugs into a TV set and stereo. CD-I gives a variety of high
quality digital pictures, including still photographs, graphics, and animation;
and it delivers four grades of sound from AM quality for narration to CD
digital audio style high-fidelity for music. However, moving video is currently
only possible on 40% of the screen. CD-I is designed to deliver interactive
entertainment (anything from encyclopedias to games). CD-I offers ease of use
by having a microprocessor built into the CD-I player, which hooks up to a TV
set and stereo system and plays audio and video CDs as well as CD-I specific
applications (no microcomputer is required). The user interacts with the
program using a pointing device such as a joystick or mouse.(1)
* CD-ROM XA - Extended
Architecture
A CD that is a hybrid of CD-ROM and
CD-I proposed by Philips, Sony, and Microsoft. This technology requires a
microcomputer and gives CD-ROM users the ability to access some of CD-I's audio
and video features, and CD-I users the ability to play some (but not all)
CD-ROM XA discs.(1)
* CD-ROM WO - Write Once
Aka "Frankfurt Group
Proposal" Proposed successor to the ISO 9660:1988 standard to support
CD-WO hardware and X/Open or IEEE POSIX file systems. Contact Sun Microsystems.
Sony has marketed a re-writable CD-ROM
system for in-house publishing. Cost $20,000
* CDTV
Available from Commodore.
* Magneto-optical
Magnetic media utilizing optical
tracking. Not CD-ROM compatible.
* WORM
Means "Write Once Read
Many". Not CD-ROM compatible.
DRIVES
Access Time: rated time it takes for the CD-ROM drive to
seek to the requested position on the disc, usually 300-1500ms. See stroke for
max access time spec.
Audio: most CD-ROM drives have stereo audio capability and
simply require software to play a CD-Audio disc; such drives will usually have
a headphone jack, volume control, and/or line out jacks; some have such jacks
directly on the interface card.
Buffer/Cache: The CD-ROM drive hardware cache is the
internal buffer size. It ranges from 0-64K. For software cache, see Microsoft
Extension.
Caddy: provide extra protection to CD-ROM disc at
additional cost. Some people complain they rattle. Not all drives use a caddy
(top or drawer loading).
compatibility- Sony/Toshiba/Amdek/Chinon/Apple type Access
type Philips type
rumored best price: EduCorp $5.50/10
Data transfer rate: 150-171 Kb/sec depending on interface.
Device driver: hardware specific software that handles
low-level calls to CD-ROM hardware.
Error correction technique: CIRC, EDC/ECC
Interface: CD-ROM drives are either proprietary serial or
SCSI.
Jukebox: Pioneer DRM-600/610 CD-ROM Changer (6-cd jukebox
unit) only one known in existance.
Stroke: measurement of arm movement from inner to outter
track, in CD-ROM drive case, the laser. See access time.
DISCS
Capacity: 540-720 megs per side (CD-ROM discs are rarely
double sided) depending on format.
Coating: polycarbonate material (plastic)
Disc or disk: Use "disc" to refer to optical
media and "disk" for magnetic media.
Format: foreign file access, HFS- compatible on Mac. High Sierra
Group (HSG)- HS allows 4 path tables per byte ordering vs 2 ISO 9660 allows.
ISO 9660 date formats have an additional field for offset from UTC. Pseudo
compatible with ISO 9660. Docs supposedly available on Compu$erve. ISO9660-
international standards organization, ANSI standard recording format for CD-ROM
discs. Single case 31(8+3) character file names; limited 8 subdirectory depth.
Compatible on PCs, Mac, & Sun. Kodak- photo/image storage red book- CD
audio specs (44.1 Mhz) yellow book- ???
Life: 25+ years
Medium: information is pressed on alluminum as pits or
lands.
Century Disc. Gold medium in between very hard tempered
glass using mineral based protective coating. Designed to last 100-3000 years.
Books, Magazines, Conferences & Groups
"alt.cd-rom"
Internet Usenet conference
"Brady Guide to
CD-ROM" by Laura Buddine & Elizabeth Young
"CD-Rom Collection
Builder's Toolkit" Softcover 190 Pages. $29.95 from Online Inc.
"CD-ROM End User
Magazine" (defunct?), Helgerson Associates, Inc, free
"CD-ROM Extensions
Information Packet" Microsoft
"CD-ROMs in Print
1991: The Book Version" Comprehensive international coverage of over 1,400
CD-ROMs. Up to 25 items of information on each CD-ROM in the Optical Product
Directory. A NEW Macintosh Title Index. Annually in November. ISBN
0-88736-587-6 $49.50
"CD-ROMs in Print
1991: The CD-ROM Version" Provides detailed information on the 1630
Cd-ROMs currently available. Each record in this database has up to 26 items of
information. $175.00 CD-ROM ISBN 0-88736-732-1
"CD-ROM Librarian
Magazine" includes monthly update to "CD-ROMs in Print".
"CD-ROM Local Area
Networks: A User's Guide," edited by Norman Desmarais. Just published by
Meckler Ltd. It's 175 pages and costs 21 pounds... no U.S. price listed, but
Meckler has an office in Westport, Conn. ISBN is 0-88736-700-3
"CD-ROM Professional
Magazine" Pemberton Press, Inc, Adam Pemberton, president/publisher, rate:
$86/year (bimonthly)
"CD-ROMS:
Breakthrough in Information Storage" by Frederick Holtz Tab Books, 1988,
TK7882.C56H65
"CD-ROM USERS
GROUP" They have special offers to members. Membership is FREE. They
recently had a 7-PAC of CD-ROM discs for $69. Numerous PC titles to choose from.
"CDROM" Fidonet
Echomail conference; Bob Hall, moderator
"DISC Magazine"
(defunct?), Helgerson Associates, Inc
"Ebsco CD-ROM
Handbook" Ebsco Subscription Services
"Information
processing - Volume and file structure of CD-ROM for information interchange"
from ANSI, ECMA, or GED
"MS-DOS
Extensions" Microsoft Press
"MS-DOS CD-ROM
Extensions Programmer's Reference Manual" Laser Magnetic Storage Intl.
Specify document number 75117166C. $11
"Nautilaus"
monthly CD-ROM publication designed to provide a multi-disciplinary forum to
present and discuss multimedia applications. Linda Davies, Ph.D., contributing
editor for the Macintosh version, and Sharon Summers Ph.D for the Windows 3.0
version
"optiC-Digest
Magazine" rates 3 months 4 months base $39.95 $49.95 int'l +$45.00 +$60.00
CN+$15.00 +$20.00
"Special Interest
Group on CD-ROM Applications & Technology" (SIGCAT) User group
sponsored by the U.S. Geological Survey which is devoted to the investigation
of CD-ROM technology. Free membership.
"USGS Library/SIGCAT CD-ROM
Compendium" U.S. Geological Survey Open-File Report 91-40. Great listing
of lots of government CD-ROM's
by Jean-Paul Van Belle
Abstract
This article attempts to take a longer term perspective on
the computer virus technology. Firstly, viruses are defined, described and
classified. Popular anti-virus protection mechanisms are listed. The current
impact of viruses is briefly assessed and an attempt is made to isolate and
project some expected trends in virus technology. Finally, a number of potential
advantages of viruses are discussed.
1. Introduction
The computer virus and its technology represent a
relatively new phenomenon, although its origins can be traced back to the late
fifties. The emergence of the virus technology may be attributed to a
combination of factors, including the wide availability of computer resources,
the increased level of connectivity, the advent of decentralized computing with
a certain relaxation of security measures, the development of a hacker
community, and perhaps a general decline in moral principles. All of these
factors have resulted in what may be called a democratization of computer
technology. This has in its turn established the necessary "critical
mass" for the virus technology to develop.
The media have publicized a large number of virus attacks,
not necessarily in the most accurate or factual manner. But the very fast
evolution of the technology has even confused many professionals. This resulted
in a lot of "hype", popular myths and misconceptions about computer
viruses. An interesting study claims that "[s]tories about computer
viruses may be as full of myth as they are of truth" and careful
investigation of these stories led to the conclusion that "tales about the
destruction wrought by Trojan horse programs were, in fact, a new form of urban
legend".
Although a number of computer specialists are still of the
opinion that the virus problem has been over-estimated, surveys indicate that
the incidence of virus infections within academic and commercial computing
environments has grown exponentially to very high levels over the past three
years.
Most of the virus literature has focused on the security
aspects of viruses. This has led to a relatively reactive viewpoint which is
mostly concerned with the negative aspects of viruses. In this article, an
attempt will be made to extrapolate a number of future trends in the virus
technology which might enable a more pro-active attitude. A separate section
will deal specifically with the advantages of viruses.
2. Definitions and
Concepts
Definitions of viruses abound. As one extreme, the very
fuzzy, broad concept used by most mass-media could be adopted. At the other end
of the continuum the following definition has been proposed by Kauranen &
Mkinen "a computer virus is a description of a TM whose simulation by the
[universal] TM causes another description of a viral TM to appear to the tape
of the [universal] TM" with the TM [Tring Machine] being a 7-tuple M =
{Q, Σ, Γ, δ, q0, B, F} where each of
the tuples is specifically defined as a (set of) state(s), tape symbol(s) or a
function.
For the purposes of this article a more operational
definition will be adequate: "a computer virus is a set of instructions
which, when executed, spreads itself to other, previously unaffected, programs
or files". The key property of the virus is thus its "infection"
feature: it attaches itself to another piece of code which serves as its
carrier or host. A virus does not necessarily need to contain destructive code,
nor does it need to make exact copies of itself. Some viruses also infect
previously infected files. Various plural forms of "virus" can be
found in the literature: viruses, viri and virii. The most common plural
appears to be "viruses" and is the form that has been adopted in this
article.
Often, the term "virus" is used inappropriately
to describe other types of malicious or destructive, replicating code. They are
typically known by colourful names such as rabbit, bacterium, time or logic
bomb. The following two types in particular are commonly confused with viruses.
A Trojan Horse is any program designed to do things that the user of the
program did not intend it to do. A Worm is a program that spreads copies of
itself through network-attached computers. Neither program requires a host. The
widely publicized American "Internet Virus" was in fact not a virus
but a worm.
3. Virus Technology.
3.1 General Theory of
Operation.
Viruses have two distinct operational features: a
replication function and a (usually destructive) action triggered by a certain
event.
The objective of the replication function is to infect as
many files or systems as possible. Each time the virus code is run it attempts
to locate uninfected files on the host system or any other on-line system. Sophisticated
viruses employ several techniques to make this process as efficient and
invisible as possible: temporary modification of file attributes, intelligent
device access, keeping the reported file size as before, not modifying file
date or time stamps and maintaining the Cyclic Redundancy Checksum. To keep
track of their activities, virus-marker bytes are usually placed in infected
files.
The ultimate aim of this covert reproduction process is
usually a specific action. The trigger for the action could be an internal
count of the number of infections, but is usually a specific time or date.
3.2 Virus Trigger and
Action Examples.
[omitted due to space considerations]
3.3 Types of Viruses.
Since viruses attach themselves to executable code, they can
be classified according to the type of their host program.
Boot infectors locate themselves in the system boot track,
which is used by the operating system to initiate system operation. They often
move the original code to another area on the disk. Their major weakness lies
in the fact that they cannot make use of any of the operating system functions;
as a result they tend to be fairly simple. Their major strength is that they
are always resident, ensuring a high level of infectiousness. The Bouncing Ball
and the Stoned virus are two well-known examples.
System infectors attach themselves to a operating system
module, such as the command interpreter, system I/O routines or system device
drivers. They are just as infectious as boot infectors but can make full use of
all operating system routines, enabling very sophisticated actions.
Finally, generic application infectors infect some or all
application programs or their code overlay files. They execute only when the
infected application is loaded and can be further sub-divided into two
categories: direct and indirect action file viruses. A direct action file virus
(such as the Vienna virus) attempts self-replication immediately upon its first
execution. The indirect type (e.g. Israeli) works in two distinct steps: first
it copies itself into memory and hooks itself into one (or more) of the system
interrupts; only at a later stage, when the redirected interrupts are called,
does the actual replication or action code get executed.
From the above discussion it must be clear that viruses
cannot be executed from data files. There are however a number of potential
exceptions. Firstly, operating system (or program) bugs may cause data to be
loaded into the code area and thus be executed by accident. Precisely such a
bug in the Unix mail system was apparently exploited by the US Internet worm.
Secondly, it is conceivable that certain program source code editors are
modified in such a way that they add some virus code to the stored program
source which will execute only when the source code is compiled. Admittedly, it
would be more practical and efficient to let the compilers be the infection
mechanism.
3.4 Typical ways in
which viruses spread.
Viruses can enter a computer system through any of the
input devices. By far the most common vehicle for viruses are removable
magnetic storage media. These could be programme disks "borrowed"
from a friend, colleague or computer club; data diskettes (boot sector viruses
only); demonstration diskettes included with computer magazines, etc. Software
piracy, academic software libraries and technicians' diagnostics disks appear
to be the major culprits. Even cases of infected shrink-wrapped software have
been reported where a virus was present on the developer's system and infected
the master disk; or the software was infected by a first user, returned and
re-wrapped by the retailer.
Another common way of spreading viruses is through
communications links. The most spectacular and easiest method is trough
computer networks although they have also been downloaded from bulletin board
systems and public access information services.
Ultimately, no system is safe since virus code can be
entered manually through the keyboard by a user or might conceivable be found
on read-only devices such as CD-ROM disks or EPROM chips.
4. Anti-Virus
Protection Methods.
4.1 Anti-virus
Packages.
A flourishing anti-virus software industry has sprung into
being with the advent of the virus threat. Three main functions are provided by
these packages: virus "diagnosis" or identification; protection by
trying to detect virus intrusion ("vaccination") or check files/disks
for alterations; and "antidotes" to remove virus code. It is
important to realize that no package can offer 100% security, and the cost of a
package is not necessarily a good measure of a package's functionality.
[...]
4.2 Procedures.
Because anti-virus packages are generally of a reactive
nature and involve considerable system overhead, organizations are well advised
to implement adequate virus control procedures as well. Appropriate anti-virus
procedures have become essential in all larger organizations during the last
few months. Space limitations prevent full discussion of possible procedures in
this article but some general pointers will be mentioned.
Ideally, the potential impact of virus damage to the
organization should first be assessed. The risk and cost appraisal could then
serve as a basis for cost-effective preventative management policies.
Preventative procedures are a combination of general data
and program exchange regulations; user education; appropriate hardware choices,
some centralized controls; security measures; and sound data management
principles such as regular system backups, appropriate user rights and program
source control. The exact procedures will depend on various factors such as the
risk profile, size and culture of the organization. More detailed guidelines
for these procedures can be found in White & Chess and many more guidelines
can be expected to appear shortly in the literature although they currently
concentrate on individual users and LANs.
However, it is virtually impossible to prevent virus
attacks entirely and it is therefore imperative for concerned management to set
up virus eradication procedures - preferably before the event. In practice, the
procedures will depend on the virus type, the extent of its infection and the
type of damage incurred. Procedures for both academic and commercial
environments are suggested by A. Solomon.
5. Current Impact of
Viruses.
The most observable impact is the direct damage done by
viruses in the form of lost data, computer and operator time and other
resources. The quantification of the estimated losses could form the subject of
an elaborate study in its own right but is likely to contain a wide margin of
error. At the current virus infection growth rates the estimate is in any case
likely to be outdated before it is calculated.
A second area of quantifiable impact is the cost of
implementing anti-virus measures. This goes beyond the mere financial costs of
software and hardware packages as operator and management productivity are
affected and computer processing overhead introduced.
There are also a number of non-quantifiable consequences of
the virus threat, mainly in the form of changed attitudes. Some vendors blame
the slowdown in growth rate of PC sales on the virus threat although this is
probably exaggerated. What cannot be denied is that many user errors, hardware
problems or software bugs are now blamed on viruses, often resulting in a
significant waste of time and effort before the real problem is diagnosed.
A very important but more long term negative impact is the
reduced level of networking and interaction which results from system users who
are more hesitant in accessing online bulletin boards and databases or system
managers who increase the level of security unduly. This is specifically
expressed in the policy statement issued by Internet after the worm attack:
"The Internet is a [...] facility whose utility is largely a consequence
of its wide availability and accessibility. [...] Security [to make the
Internet more resistant to disruption] may be extremely expensive and may be
counterproductive if it inhibits the free flow of information which makes the
Internet so valuable."
6. Trends in Virus
Technology
A number of trends have already become apparent in the four
years that viruses have become widespread, which may serve as pointers to
future evolution.
Many viruses anticipate anti-virus software and employ a
number of stealth techniques to make their detection more difficult. Most
viruses now already intercept system error messages while they are trying to
infect other files. Many are also careful to retain (or reset) the original
file attributes such as date and time stamps, read-only attributes or file size
(even if the actual size is larger than the system record!). Some viruses
already employ self-encryption schemes whereby the code is dynamically changed
as it is executed, others use a number of different signatures. Larger viruses
have been reported that contain a lot of redundant "armour" code,
apparently in an effort to confuse anti-virus experts. Finally, it is only a
matter of time before viruses check file CRCs and add some "padding
characters" of the appropriate values in order to retain the original
checksums.
Apart from making the detection more difficult, nastier
memory-resident viruses even exploit anti-virus packages and use them as a vehicle
to spread themselves during the scanning process to all the software that is
being virus-checked! Indeed, this fact constitutes a major danger of using
virus-checking software. Both the Dark Avenger and Plastique have been spread
in this way.
As more and more viruses are created, the amount of
publicly available information increases, which enables prospective virus
writers to employ more sophisticated routines which exploit operating system
software bugs and current anti-virus software weaknesses. Examples are MS-DOS
viruses which make direct use of ROM BIOS routines. Because of this, some virus
researchers were moving to restrict the access to facts about computer viruses.
This is unlikely to become successful as proven by the many varieties of viruses
that are around. The publication of a number of virus codes have made the
process even easier, although even unpublished viruses can be disassembled and
improved with relative ease. And even relatively unsophisticated computer users
will soon be able to construct their own custom-made viruses with
user-definable messages and menu-selectable actions using black market
"do-it-yourself virus building kits".
Viruses also start targeting specific software
applications, such as the Dbase or Lotus virus. This is accompanied by a
greater subtlety in the damaging actions. Instead of erasing file allocation
tables or deleting entire files, only pairs of digits are being swopped or
small parts of the disks are being modified over a relatively large time span.
The first virus writers were hackers who wanted to show off
their programming capabilities. More and more writers seem to have political
objectives in mind. This is already illustrated in a number of viruses (e.g.
the Marijuana, Peace and Israeli viruses). As the media attention continues, it
motivates certain other individuals bent on (anonymous?) publicity, similar to
the psychology behind many serial murders. But the most important source of
future highly sophisticated and professionally developed viruses may be the
cut-throat, not-so-ethic commercial software industry itself. Consider the
following scenario painted by Dvorak.
"Imagine some Microsoft code that
went out looking for programs compiled by non-Microsoft compilers. Borland and
others insist on inserting a message in the compiled code to let everyone know
what product did the compilation. So the virus looks for the Borland name and
then swaps a few bits around. What if someone working for Borland did it? An
industrial spy somehow hired at Microsoft by accident? Can you imagine the
kinds of intrigue we may have in the next few years? Lawyers: on your mark, get
set..." and "The next logical step in the marketing of software is to
keep people from using the competitor's product at all costs. Viruses are
likely to be discussed as a genuine strategy in ten years ahead when the going
gets tough."
Viruses will spread to many different operating systems.
Although currently only MS/PC-DOS, Apple, Unix and Xenix viruses have been
reported, they are likely to spread to other operating environments as well.
Already a virus is reported to be written with Novell Netware in mind. Viruses
are also likely to become a problem in mainframe environments. It is expected
that OS/2 and Windows viruses are much more difficult to create but will also
much more difficult to fight.
All the above factors make it clear that the growth in the
number of different viruses is exponential as evidenced by recent statistics:
"[In May 1991] the European virus
research community revised its estimate of how many know viruses there would be
by the end of 1991. Predictions have moved from 1000 to 2000, as against last
year in December when a mere 142 viruses had been identified."
It is clear that if this
growth rate continues, the traditional virus identification and detection
packages will no longer be feasible since it will be impossible to scan entire
systems for all known viruses.
7. Advantages of
viruses.
The purpose of the following discussion must be seen in
context. It is clear that costs associated with viruses have far outweighed any
short term benefits. However, very little attention is given to the small
benefits they do have, so this discussion should provide some counter balance.
Also, in most revolutions short term costs exceed the immediate benefits; the
final cost-benefit analysis can often only be assessed from a long term
historical perspective. In time, the virus threat may prove to be just one of
the growing pains or necessary childhood diseases of a maturing micro-computer
industry.
7.1 The Anti-virus
Industry.
The virus threat has proved to be a boon for computer
security products. Although many dubious security products were released
initially, a shake-out can be expected and has in fact already occurred to a
certain extent. But the fact remains that many companies confirm that their
sales rose dramatically when they started selling virus protection software.
A huge market has thus been created in the form of software
packages, hardware add-ons, conferences, publications etc. It is probably too
early to decide whether this market is really a "zero-sum" game or if
there is real value being added.
7.2 Security Awareness.
The virus scare has at least made both managers and users
aware of the dangers involved with relatively free data and program exchange
between computer systems. An analogy can be drawn with the early hacking
activities whereby large corporate mainframe systems were penetrated by
youngsters and outsiders. The shocking display of vulnerability of major financial
and other information systems was thus brought to light and in many instances
proper steps were taken to assure an adequate level of security.
In a similar vein, the security threat posed by virus
attacks has prompted many prominent institutions to analyze and review their
security systems. A local study undertaken by J.P. van den Berg reveals that
the larger South African organisations see virus attacks as the number two
priority security issue.
It is important to note that the level of information
systems security awareness has risen significantly not only with MIS executives
but, maybe more importantly, among corporate chief financial officers and chief
executive officers.
7.3 Development of More
Secure Operating Systems and Architectures.
Virus have exposed one of the major weaknesses of small
system operating systems and open architectures in general: their general lack
of security. The lack of password protection or file history of micro-computers
make the task of viruses so much easier. More importantly, should it be so easy
to modify the operating system? The author used a bit editor to rename the
"copy" command within the command processor and thus substituted it
with the renamed external "vcopy" program (that checks for viruses in
addition to copying). While this procedure addresses a real need it is
debatable whether such tampering should be allowed.
More and more programs are coming onto the market with
built-in checking procedures which detect and report tampering with source code
or file attributes. Whilst this process has been inspired almost entirely by
the virus, it may be argued that this a generally positive development which
protects the intellectual property rights of software developers. It is
expected that future programming language compilers will implement file
integrity checking subroutines which may be incorporated almost automatically
in user-developed programs.
In the longer run, more thought will be put into the
development of operating systems and hardware architectures. Already a number
of systems have appeared on the market, such as "The Immune System"
announced by American Computer Security Industries which features a system
protection kernel, user authorization procedures and protected software
directories.
7.4 Computational
Aspects of Computer Viruses.
By far the most exciting potential advantage of viruses
stems from a theoretical study of their computational aspects. Cohen, which has
pioneered theoretical virus research, has shown formally that:
"any number that can by
`computed' by a Tring Machine can be `evolved' by a virus, and that therefore,
viruses are at least as powerful as Tring machines as a means for
computation."
Few people have recognized that fact that viruses are one
of the first successful (...) demonstrations of the potential of decentralized
computing within a micro-computer environment. The mind boggles at the
potential applications for this type of technology. A few examples will be
mentioned but cannot be fully worked out due to space limitations.
"The [Simple Viral Protocols]
called `viruses' are destructive, but it should be very interesting to use such
processes for automatic maintenance of software. As an example : Suppose
several packages use an inefficient version of a procedure or routine, in large
organizations, it should be easier to update such a package by such an approach
rather than to recompile and link all these packages, especially in case of
large distribution." (emphasis by Guinier)
Another potential application is mentioned by Cohen:
"As an example, a compression
virus could be written to find uninfected executables, compress them upon the
user's permission, and prepend itself to them. Upon execution, the infected
program decompresses itself and executes normally. [...] Studies indicate that
such a virus could save over 50% of the space taken up by executable files in
an average system."
Many more examples come to the author's mind easily. Maybe
the ideal application would be an anti-virus file integrity checking routine
that would attach itself to any executable file which has no built-in checking
feature. Might a sufficiently powerful but flexible routine not mean the end to
the virus saga?
Another potential application might be a network utilities
that spreads and balances application workloads across different workstations:
"viruses" in idle workstations send messages (or message-viruses?)
and take some of the workload over from busy workstations. From this
perspective, it seems that many unexplored links and potentialities may exist
between virus technology, decentralized processing techniques and
object-orientation.
Other uses could be a virus that spreads
"auto-backup" routines to software that needs backing up, mail and
message systems, task scheduling processes and the automatic addition of
hardware device drivers to programs when system configurations change.
A proposed name for this type of routines was suggested by
Thimbleby: Liveware. The idea is to let liveware spread like a virus, but let
it carry information on behalf of one or more users that want to share their
work.
7.5 Other Advantages.
Software piracy may be reduced because of the virus threat.
It has certainly prompted a number of companies to make the use of illegal
software cause for dismissal. As the relative cost of legal software in Third
World countries seems to have made piracy more widespread, many of these
countries appear to have suffered more extensively from viruses.
Some researchers contend that a community of hackers, often
highly intelligent computer programmers, is essential for a dynamic and
evolving computer industry. "The hacker is both a national treasure and a
national headache and [we need] to learn to live with them." In this
light, viruses may be viewed as a detrimental, but necessary by-product of this
essential sub-culture.
If nothing else, viruses have also created a new area for
scientific research and media controversy. Many more studies can be expected
along the lines of Harrington's "Why people copy software and create
computer viruses: individual characteristics or situational factors?"
Thimbleby mentions a number of other potential advantages
in . He expresses the hope that viruses will promote a greater degree of
professionalism amongst software distributors, especially with respect to
accepting responsibility for program bugs. Further virus research may also
throw new light on work in genetics and sociology.
8. Conclusion.
It is clear that, given the current trends in virus
technology, existing anti-virus measures may not be able to cope with the next
generation of viruses. On the other hand, it is felt that the virus technology
may have a number of positive spin-offs, especially with respect to their
computational capabilities. Further exploration of this potential is warranted.
9. References.
[omitted due to space considerations]
by John Richard De Palma
Red haired Sandra is the manager of the local Egghead
Software store. Gazing at her collection of software I said, "Hi Sandra,
Uh... can you show me what books and software you have on learning to program
in BASIC?"
"No, no...NOOOO... John, you want this!" Sandra
said, as she thrust an orange 10 pound box of manuals and disks into my arms
and gave me a beaming smile.
She went on, "I studied Pascal and "C" in
college for TWO years, no one, and I mean no one studies BASIC anymore, it's a
dead programming language." She laughed, "Just as dead as learning
Latin."
"Well, Uh," I shifted my feet for better support
and put down Borland's version of Turbo Pascal, "I studied Latin for two
years, and it's not all that dead," . "You see, Latin teaches you to
know intuitively many English prefixes, suffixes and many of the Romance
language verbs and nouns...." my voice trailed off, even to me that
sounded like an apology for spending two years learning about BIG Julie and
wars fought with catapults and giant slingshots.
"Oh, don't be SILLY," Sandra said, "Here, if
you don't like that, buy this, its C ++ with OOP."
"I'm not even going to ask what "OOP" is, I
said, just sell me something in BASIC," I sighed.
"What KIND of basic programming do you want?"
Sandra asked briskly, swivelling around to check on her employees and motioning
to Brian to stop playing with the joystick and get back to work.
"Well, hell, I DON'T KNOW, I just want to learn how to
make my own programs like Paul Somerson does. If BASIC is good enough for him,
it's good enough for me," my voice rising a half-octave. I started looking
around for the IBM utilities section in the hopes of finding some box with
basic BASIC information on it.
There was no question that I knew NOTHING about
programming. I was awkward and out of my depth. I knew nothing about
programming except that it had to be better than using batch files to do things
with MS-DOS. I was going to tell Sandra about batch files. Tell her about all
the batch file programs that I had looked at that promised much and delivered
little. I wanted to tell her about batch techniques that did not allow input
into them except as parameters on the command line or by using the dopey
"FOR" command or the klutzy "IF ERRORLEVEL" command. I
wanted to tell her I wanted to make colorful screens with selections that could
be input by cursor control. I wanted to be able to change directories, do file
sorts... I wanted to understand how the computer worked and then tell it what
to do. Hell and again hell, I wanted to control the computer software.
Who's Paul Somerson?" Sandra queried. "Some
computer propeller head in Santa Monica?"
"Gad, Sandy, give me a break! Paul Somerson is the
editor of my favorite PC bible, "DOS Power Tools," he programs in
BASIC. Look...look, you have his book on your bookshelf right here. Wait...
waaait, I'll find the section and read it to you. Come back here, Oh let Brian
wait on that guy, this will only take a minute."
I picked up the book, found the page and read from my hero
Paul[1],
"One of the nicest things about BASIC is that if you
suddenly find yourself with a problem BASIC can tackle, you can load it,
stumble your way through a program and emerge with a solution a few minutes
later. So maybe your program wasn't the most elegant display of programming
virtuosity; who cares as long as it worked?"
Sandra went on, "Well shoot yourself...I mean suit
yourself, heh, heh, a little joke there. BASIC is dumb and slow. Learn
"C" or Pascal, I did when I went to UCLA. No one teaches that dumb
stuff." Sandra was very convincing and convinced.
Backed into a corner and now defending both Latin, a dead
language and BASIC a dead programming language I asked, "Well, if that's
true, let me ask you a couple of questions. Do you use a computer...? You do.
Do you use a computer to do applications, spreadsheets and mathematics...? You
do. Do you use ANY of the Pascal and "C" you learned to help you to
doing things with these programs. You don't..? Why?"
Sandra went on to tell me how hard it was to keep up these
great skills she learned in college and that she really didn't have the time to
program, or the interest. She freely admitted that though she studied
programming for two years, she never used it outside of class. She glanced at
the clock, at the three people questioning Brian all at the same time and gave
me a book called "Learn BASIC Now." She said as she walked away,
"BASIC, is too dumb, it's a wimpy language. You're wasting your time,
you'll be sorry. It's really not even a HIGH language."
Apparently I bought a peasant computer language of limited
capacity for limited minds. If I wanted to be part of the intelligentsia, I
should program in "C". At least in "C" if not in C ++ with
OOP or in Pascal. So I went home, loaded the software and wrote my first BASIC
program with Microsoft's Quick Basic 4.5 Interpreter. The program was one line
of text which printed to the screen. Big deal, I want power and I get a batch
file look alike.
If I couldn't learn BASIC how could I learn these more
elitist and complicated computer languages? I needed some verification and
clarification. I began asking my friends about computer programming.
Harry said, "Gosh John, I learned FORTRAN and COBOL
when I was 17, wrote flocks of programs in them, nope don't know BASIC, it's
too dumb and slow. What's that...do I ever USE FORTRAN and COBOL? No, not in
years. What good was learning it then? What the !
%*!, kind of question is that!"
Harry is always a little sensitive if you imply that he
might be bragging. Harry is a card carrying elitist, he wouldn't be caught dead
using such a peasant computer language as BASIC.
Ray is different. Ray owns his own manufacturing company
and has three Phd.s', a law degree, and went to medical school for three years.
"Of course I can program in BASIC, John, don't be silly, that's child's
play. But don't get too technical, it's been several years now, Hee Hee..., Ray
chuckled.
"Well Ray, that's great, I'm having a dickens of a
time, I didn't realize that there was BASIC, BASICA, GWBASIC, PDB, and QUICK
BASIC. What do all of these names mean and which BASIC should I learn?" I
asked naively.
Ray sputtered a fine spray just as he was tasting the wine.
He ordered another bottle of Petite Sirah; and we were able to finish dinner
with that question hanging like still smoke in the air.
So it went on, if they did program "in the higher
languages" of C, C +, Pascal they couldn't tell what and how they did the
programming.
"Well John why do you REALLY want to learn to program
for, comm' on, tell me....comm' on...tell the truth," Marvin asked. Marvin
programs in "C" and does programs in artificial intelligence and
makes jokes about "the artificial intelligentsia."
In desperation, I asked Marvin to write me a program that
could be an all purpose tool, sort of a Swiss Army knife that would put up
menus, take direct input from the keyboard, let you pick your colors, be user
friendly, be modifiable, you know like software should be. Marvin said that I
didn't really know what I wanted or, I wanted too much. Besides nobody programs
in BASIC.
So I went home and dragged out QUICK BASIC again and tried
halfheartedly to learn something that no one knew about from books written by
REAL "propeller heads." I read and reread the texts trying to
UNDERSTAND what the writer was driving at. Unfortunately BASIC is mainly
written by programmers who can write code but who can't write to communicate
with humans.
It was a sort of Zen, reading and not understanding. It was
a sort of chant. Reading again and again such stuff as: "DATE$ Statement
sets the current date," and "DATE$ Function returns a string
containing the current date," and "FUNCTION Statement Declares the
name, parameters, and the code that form the body of a FUNCTION
procedure.[2]" Well that is as clear as Zen, and like Zen you have to have
a FEEL for the terms. As any Zen master will tell you once you have the answer
to the question, you DON'T have the answer.
QUICK BASIC is Zen, a doing without knowing. But I followed
the instructions ---cook book style--- and a program could be made to do something.
The sound of one hand clapping makes sense now. Trying to understand what is
the meaning of the phrase, "What is the sound of one hand clapping?"
is no more difficult than trying to understand books written by programmers.
I would have given up too, except I was given a QUICK BASIC
program that did something that I needed to have done. Pete programs in QUICK
BASIC. Pete is probably the only person I know that REALLY programs anything
for himself and he uses QUICK BASIC. We have a mutual interest and problem with
some data collection and analysis. Pete had an answer to the problem and he had
a real program that would give an answer all written in QUICK BASIC.
"Now Pete, I WON'T steal this program. Also, I won't
sell this program and make a million dollars on it (Well... at least not
without giving you HALF). Yes, I promise, yes that's right, cross my heart and
hope to die. And I won't give it to the Iraqis! Now will you
please...please....PLEASE give me a copy to take home?"
After whining and pleading that I would not sell his first
born program into slavery or copyright it, he gave me a copy. That is another
Zen portion of programming, you have to earn the knowledge yourself, no one can
do it for you. Only with programmers it's worse than Zen, they won't give you a
copy of what they know! I watched him pull up the file, run it through his
compiler and give me code that would run by its self. It was like watching
someone start a fire by using an ancient ritual, by using a bow and a stick. It
was the dawn of civilization, the passing of knowledge, the starting of fire by
friction. I was given a real stand-alone executable program written by a real
person, Wow! After more whining he capitulated completely and gave me the
SECOND file, the QUICK BASIC code file.
I put the diskette in my shirt pocket, it was too important
to place it anywhere's else. That night I ran it inside of my QUICK BASIC
compiler. Gadsooks! it worked! The damn thing calculated and printed the
results out lightening fast and it was information that I could really use.
Zen, part two, you can't learn something you have no use
for. That's what Sandra, Harry, Ray and all the others were talking about. They
wrote programs in class on problems that they were given, not on problems they
wanted solutions for themselves. That's why learning programming is like Zen,
it is meaningless unless you have some use for the knowledge (which is both
very much like and UNLIKE Zen).
Good ole Paul Somerson was right. First, you need a project
that you really...really want to do. Then use the books to look up the
procedures to do the project with. Just learning all 190 QUICK BASIC commands
won't cut it. You have to use it ...or lose it!
I went back to Egghead Software; Sandra and Brian had moved
on. Scott and Lance programmed in Pascal. I asked them if there was anything
new in QUICK BASIC that was fun. Lance gave me Microsoft's GAMESHOP. It came
with the same book that I already had, but the software contained 6 games which
could be run inside of QUICK BASIC, the code could be examined. With much head
scratching and replaying you could actually figure out how the programmers did
what they did. Again, like Zen you must persevere, be tested, try and fail, try
and fail, knowledge doesn't come easily. But everyone likes to play games, so
it wasn't all Zen.
That was a month ago, and though it is still slow going, I
am making progress. Pete and GAMESHOP gave me hope. I have uploaded two
programs to CompuServe as shareware. The first program has attracted two dozen
downloads in two weeks. Not great, but a start and this is also Zen; you work
and study long for small (or no) rewards. I guess some modem users downloaded
the program because it was simple, colorful, and played a song. Nothing grand,
just a program called BIRTHDAY.ZIP that puts up colored boxes on the screen,
accepts user input, and plays "Happy Birthday" if the computer clock
reads the same day and month as the ones you type in. If it's not your
birthday, it flashes different colors and plays "Happy Unbirthday."
Some one laughed when I played the program for them and
jokingly asked to see it display the EXACT age of anyone whose birthday was not
the day it was run. He also wanted something that would distinguish if the
person inputting the data was young or old (over or under 21).
That was beyond my ability, but then I found, if you looked
hard enough, someone had already done some of these things in QUICK BASIC or
BASICA. I found a Julian (named after Big Julie no less) calendar function
which does just that, and added it to the program. After struggling to add that
formula, it was easy to figure out a "LOOP" that would change a
phrase depending on what the person's age was. Though the latter was simple
math, it had been years since I had been forced to do any thinking about
mathematics. Zen and math have a lot in common, but that is another story.
With a program that calculated the person's exact age,
every young woman that played the program exclaimed "<Gasp>, that's
wrong I am NOT 29.078345 years old!" if that was her exact age. I now warn
women over 30 that this might be a traumatic event as the computer will
calculate their exact age, but they sail blithely ahead, not believing that it
will happen. All in all, a lot of fun and some insight into human nature.
The second program, FOR-LISA.ZIP uses random number
formulas to generate screen colors, changes the screen to 40 characters wide,
and displays more ASCII graphics. This one plays a Beethoven sonata and takes
advantage of some great 1982 music programming in BASICA that I found on a BBS.
Again, I generated simple mathematical formulas to do the work of many lines of
code. Another secret of programming which could only be uncovered by doing. Zen
is doing and not doing.
So, nothing sensational, but now my batch files are getting
a once over with this new knowledge. Now I realize that the macros in Microsoft
Word, WordPerfect, and the script in ProComm Plus are written in BASIC. Now
these macro formulas make sense! There has been a mystic clarification of macros,
again like Zen what you learn affects other areas of knowledge.
I am thinking of ordering from Crescent Software[3] a QUICK
BASIC package that allows you to program mice, windows, accounting, and
databases. Now I have hope, and that also is Zen. Yeah, nothing sensational
unless you thought that BASICA was another name for Zen and that "Real Men
only program in C."
References:
(1)
Somerson, Paul, PC Magazine Power
Tools 2nd Edition, Bantam Books, 1990 June;1157.
(2) Microsoft, Programming in QuickBASIC
Version 4.5, 1988;270-1.
(3) Crescent Software, Inc; 32 Seventy Acres,
West Redding, Connecticut 06896; VOICE: 203-846-2500.
EVER NOTICE THAT PILOTS
WHO FLY SKYDIVERS LIKE TO BE PAID IN ADVANCE? - Kelvin Throop, Analog Magazine
THAT SHOULD BE CONSIDERED LONG WHICH
CAN BE DECIDED BUT ONCE. - Publius Syrus
TYPICAL ENGINEERING:
MEASURE IT WITH A MICROMETER, MARK IT WITH CHALK, AND CUT IT WITH AN AXE. -
Eric Unruh
THE OBVIOUS IS THAT WHICH IS NEVER
SEEN UNTIL SOMEONE EXPRESSES IT SIMPLY. - Kahlil Gibran
THE BRAIN IS TO THINK. THE
MOUTH IS TO TALK. IN THAT ORDER. - Robert Half
WHERE THE TELESCOPE ENDS, THE
MICROSCOPE BEGINS. WHICH OF THE TWO HAS A GRANDER VIEW? - Victor Hugo
IT IS ADMIRABLE TO GO DOWN
FIGHTING. IT IS BETTER TO COME OUT ON TOP. - Daniel Gerson
THE DIFFERENCE BETWEEN GENIUS AND
STUPIDITY IS THAT GENIUS HAS ITS LIMITS. - anon
DON'T EXPECT TO BUILD UP
THE WEAK BY PULLING DOWN THE STRONG. - Calvin Coolidge
NEVER ATTRIBUTE TO MALICE THAT WHICH
IS ADEQUATELY EXPLAINED BY STUPIDITY. - Meyer's Law
WITHOUT ECONOMY NONE CAN
BE RICH, AND WITH IT FEW CAN BE POOR. - Johnson
THERE IS NO SUCH THING AS A
"FUNCTIONAL ILLITERATE." - Kelvin Throop
IT IS IMPOSSIBLE TO TRAVEL
FASTER THAN THE SPEED OF LIGHT, AND CERTAINLY NOT DESIRABLE, AS ONE'S HAT KEEPS
BLOWING OFF. - Woody Allen
RUST NEVER SLEEPS. - anon
CHARACTER CONSISTS OF WHAT
YOU DO ON THE THIRD AND FOURTH TRIES. - James Michener
PATIENCE AND TIME DO MORE THAN
STRENGTH OR PASSION. - Jean De La Fontaine
NEVER EAT MORE THAN YOU
CAN LIFT. - Miss Piggy
IN TIMES LIKE THESE, IT IS HELPFUL TO
REMEMBER THAT THERE HAVE ALWAYS BEEN TIMES LIKE THESE. - Paul Harvey
A MAN WHO HAS TAKEN YOUR
TIME RECOGNIZES NO DEBT; YET IT IS THE ONE HE CAN NEVER REPAY. - Seneca
IF FATE SENDS YOU A LEMON, USE IT TO
MAKE LEMONADE. - Lawrence Block
FORTUNE DOES NOT CHANGE
MEN, IT UNMASKS THEM. - Mme Necker
A MAN WHO TRIMS HIMSELF TO SUIT
EVERYBODY WILL SOON WHITTLE HIMSELF AWAY. - Charles Schwab
THE GREATEST MISTAKE YOU
CAN MAKE IN THIS LIFE IS TO BE CONTINUALLY FEARING YOU WILL MAKE ONE. - Elbert
Hubbard
THERE IS NOTHING MORE FATAL TO
CHARACTER THAN HALF-FINISHED TASKS. - David LLoyd George
TOO MUCH CARE CAN BE AS
BAD AS DOWNRIGHT NEGLIGENCE. - anon
Any of the programmes
below may be ordered from the Joint Software Exchange, 73 Highway, 7975 Fish
Hoek. CLub members pay R 10 per volume (floppy disk); non-members charges are R
14; add R 3 for 3" media. These fees cover media, admin, advertising,
operating expenses, overheads and library maintenance costs. In addition, a fixed
order fee of R 5 is charged per order. For every 8 disks paid, 2 additional
disks can be ordered free of charge.
3600
to 3603 Comprehensive ANTI-VIRUS kit. Includes the latest versions (currently v.100) of the
entire McAfee anti-virus tools including SCAN, VirusSHIELD, NETSCAN and CLEAN
to guard against thousands of virii.
3605
Personalized Adventure Game Sample. You are about to go on one of the most intriguing,
challenging and amusing adventures you can take... yet you never have to leave
your computer! Put on your thinking cap, let your imagination open your mind,
and have the adventure of a lifetime!
3606
PIRADA: three great animated GAMES. Blackjack, 5 Card Draw Poker and Keno. In a style you
have never seen before! EGA/VGA+Mouse required.
3607
VirtualDungeon II: ANTKILL v1.1. Climb into a gigantic Anthill and find your way to the
Brood Queen and her children to save your town. It is best described as a 3-D
(objects represented in true perspective with volume!) simulation of reality,
in this case a Fantasy. EGA/VGA & AT required.
3608
ANIMAL QUEST: Fun Game for any age. First you select what animal you like to become and then
you try to cross your habitat collecting as many Energy Tokens as possible by
capturing your prey while avoiding your Predators and outsmarting your
Competitors. ANIMAL QUEST is a never ending adventure in the fascinating world
of Nature, each game is unique and unpredictable, but it is also a realistic
simulation of Food Chain Ecology. The rules of the game are based on factual
Prey and Predator relationships. Requires EGA/VGA.
3609
DENARIUS AVARICIUS SEXTUS: A Roman Graphical Adventure Game. Back in good old A.D. 79, there lived
a patrician Roman named Avaricius (Avvy to his friends.) He lived in a pleasant
seaside resort you may have heard of, called Pompeii, and he was unaware that
in a few hours' time he would be buried alive. Well, maybe. Perhaps, with the
guidance of his guardian angel from the twentieth century (that's where you
come in) he might escape both Arkata and the volcano. The date is... 24th
August, A.D. 79.
3610
BOLO ADVENTURES I v1.2.
A mind boggling strategy game where the objective is to get Mr. Bolo out of 40
rooms of puzzles. Each room is filled with obstacles such as monsters, lasers,
electric grills and more. Unlike arcade games, Bolo Adventures isn't a contest
of how fast you can acquire carpal tunnel syndrome by hammering on your
keyboard, it's a test of your resourcefulness. Requires EGA/VGA.
3611
BOLO ADVENTURES II v1.2.
The Bolo Adventures Series continues with this exciting sequel. Mr. Bolo
carries on his adventures through 40 more floors of mind bending logic puzzles.
New features and options have been added that will continue to challenge all
Bolo enthusiasts. Requires EGA/VGA.
3612
Connex - Addictive CGA/VGA game with great graphics & sound. From the labs of the crazed shareware
game designer Sean Puckett comes this insanely addicting game! Separate
Monochrome, CGA and EGA/VGA graphics and special effects combine with an
all-new state-of-the-art sound system to bring you this mind-stopping
bestseller! Drop tiles onto a playgrid to make connected loops - the longer the
better! But don't think, because the clock is ticking! Brain-pounding stress
beat and awesome sound effects add to the fun! Top 10, Help/Hints, Demo,
Mouse/KBD.
3613
Danny's First Program 1.0: Computer fun for toddlers age 1 and up. Even babies can "play" it.
26 delightful graphic images & songs, one for each letter of the alphabet,
and a keyboard piano, too! Dazzling geometric figures. No instructions needed
at all! Just by playing, your child learns basic computer keyboard &
interaction skills. Requires EGA/VGA.
3614
VirtualDungeon I: BOB'S DRAGON HUNT. Battle Dragons of various types and attempt to kill as
many as possible to save your town. Amazing three-dimensional animation &
graphics - virtual reality?
3616
& 3117 FIRST EXPEDITION & TRINITY CONTROLLERS adventures. First Expedition is a seagoing
adventure that is intended to combine navigation by night stars with a
traditional graphics adventure. It is NOT a text adventure but a first-person
ocean going adventure in a fantasy world with sea beasts, storms, islands,
mazes and the challenge of finding and exploring new islands as part of solving
the puzzle you are faced with. Quest for the Trinity Controllers is an
alternate adventure using the same program. (CGA or higher)
3618
GREEN environmental strategy game. GREEN you help Planters to prevent the pavers from
turning farms into parking lots. Pavers include mall developers, real estate
agents, clear-cut loggers and other exploiters. You have the ability to plant
hedges, add walls, and to destroy pavement. GREEN is a strategy game, similar
in concept to Populous and SimCity. Cascoly's unique 3-D perspective graphics
show fantastic detail: Characters move behind walls or through water. As you
scroll from side to side, the perspective changes. You're not limited to 2
directions for scrolling -- you can scroll in EIGHT directions. There are
several maps, of varying difficulty.
3619
IQ CHALLENGE v1.0: Game of knowledge. 1-4 players test their skill in five categories. Earn
high points, print achievement certificates. Age 10-adult.
3620
& 3621 JOKE TALK: the comedy show with real PC voice. JOKE TALK is a new comedy package
with REAL HUMAN SPEECH THAT WORKS THRU YOUR PC SPEAKER. This package is loaded
with jokes, gags, riddles, one liners, sound effects and much more. The CANDID
CAMERA SHOW, The NAME THAT TUNE GAME, FAMOUS PEOPLE IMPERSONATIONS are also
included in this new comedy package. You can even play back any of the jokes,
songs and sound effects in this package with the PC-TALK command. You can use
this package to create your own custom joke files.
3622
LADDER MAN v1.0: fun & mind-stimulating game. Ladder Man is a fun-filled,
mind-bending game of logic, planning, and problem solving that will have you up
all night as you try to master all 30 floors. Each room is filled with a maze
of obstacles that you use to create your own escape. Position balls, avoid
water hazards, and elude fires and other obstacles as you use your ladder to
climb up and out of a room. Ladder Man is a pure strategy game, a puzzler's
delight! Req. EGA/VGA.
3623
LOST-STONE MANSION: Interactive adventure.
3624
Moraff's Morejongg: HIRes Mahjongg type game. This is the best implementation yet
of the 'Mahjongg/Shanghai' concept. Has full mouse and keyboard support, and
has stunning Super-VGA 1024x768 graphics, as well as Hercules, CGA, EGA, and
regular VGA. Contains several incredible tile sets, including the incredible
Moraff's World monsters. For those with 256 colours, it has an animated rainbow
tile set that can be used independently or as background for any other set of
images. This may well be Moraff's best game yet, if you like relaxing but
challenging games!
3625
QUICK MAJIK ADVENTURE: UNEQUALLED VARIETY!. Features multicolor bit-mapped
graphics 160 individual Spells! spell actions based on level! than 260 separate
monsters! than 300 items! spells! Complete Spell MACRO system! Tame Monster
System! variety of Caves and Mazes! EGA/VGA
3626
'NEVERLOCK' REMOVES COPY PROTECTION !. Civilization RailRoad Tycoon F-117A Sargon V Knights of
Sky Earl Weaver II Monkey Island II Ishido BattleChess II LightSpeed Gunship
2000 plus 100's more
3627
PORK: Zork-like text adventure game.
3628
POKERDICE: Electronic Slot Machine.
3629
Sand Storm v2.0: Action arcade game. Fire up your mouse for non-stop action in this
high-octane graphics arcade game. Intercept Scud missiles and jet attacks with
your Patriots; then guide your Tomahawk missile through enemy AA fire on a
search and destroy mission. This shareware version of the popular retail game
includes 20 missions. Req VGA/SVGA, mouse.
3630
STELCON v1.21: The ULTIMATE space war/strategy game!. Supports ONLY high-quality 256 colour
VGA graphics! Stelcon can be a simple 2 player war game to a 5 player campaign!
Playing field can have up to 25 star systems, each with it own planets and
resources! Manage new technologies and starships!
3631
SDI2040: Invaders-like arcade game with a couple of twists. SDI2040 is as classic and simple as a
computer game gets. The aliens (aka invaders, creatures, etc.) are BAD, BAD.
They are invading our beloved planet and our only hope is to use the old,
forgotten Strategic Defense Initiative hardware left over from a 20th Century
republic known as the United States of America. Your job is to use the SDI
cannon to destroy wave upon wave of these god-less creatures (A violent goal,
yes, but simple.) The invaders have a few surprises for you, so be ready. VGA
recommended; Soundblaster support.
3632
PC-Sherlock: mastermind logic game. PC-Sherlock is 'the ultimate' form of a game, popular
throughout the world, by many names : "Bulls & Cows",
"mastermind", "Biki-Karova ( USSR)", etc. It is a 'brain'
game, involving logical reasoning and deduction. PC-Sherlock is unique in
itself, presenting your PC as a tough-to-beat mastermind player who plays
'against' you, and challenges you to improve your logic.
3633
Simple Pleasures is a collection of six challenging and addictive. solitaire games in one easy-to-play,
integrated program. All the games share a smooth, elegant, and consistent
push-button interface and the same powerful, enjoyable features. Multi-player
capability, five-level undo, "move alert" and "hint" options,
sound & configuration options. Requires EGA/VGA & mouse.
3634
SpiralOne: draw spiral designs on your screen. The CGA version draws in
black-on-white or white-on-black, while the EGA/VGA version lets you choose
from 16 foreground and background colours. Also, spinning stars and triangles
in 16 foreground and background colours.
3635
SQUAREZ: Addictive VGA strategy game. The object of Squarez is to form 3 x 3 squares out of
groups of tiles. There is a time limit for each group of tiles, and if time runs
out and a group of tiles is trapped in the holding area, the game is over.
There are many special tiles that can help or hinder progress. Requires VGA or
MCGA
3636
STARDUEL: space action game.
This is a two player game in a space setting. You and your opponent are each
piloting a warship, pitted in mortal combat with each other. The object of the
game is to destroy the other players ship (really original, huh?). Each ship is
armed with a finite amount of ammunition, fired from a weapon in the front of the
ship, and with a finite amount of fuel, used to move the ship around.
3637
STELLAR EXPLORER:The Drosi Encounter. A mysterious alien vessel is trapped in a decaying
orbit. Your mission to rescue the crippled spacecraft becomes a desperate race
to discover their sinister secret -- STELLAR EXPLORER is an intelligent, highly
interactive science-fiction role-playing experience combining action, mystery,
and adventure with a rich, intriguing plot that will keep you spellbound for
many hours. Talk to alien crew members, pickup and use various items and
equipment, review clues, buy and sell items, and so much more ! An intuitive
keyboard user interface, high-quality, full-colour graphics compatible with
EGA/ VGA systems. Hard drive required.
3638
STREAK II: Stoner Strikes Back.
The basic idea of the game is this: Shoot the slugs. It becomes more difficult
the further you get, because the slugs get faster, leave droppings, and a
static shield develops to block your fire.
3639
THREADS: blast the falling threads. Prevent destruction of your isolated city by blasting
the alien threads that are falling to earth. Destroy the threads with your
ground-based laser guns.
3640
TOMMY'S AIRSHARK: helicopter attack game. You are the pilot of the super
helicopter Airshark flying over enemy territory. The enemy force consists of
tanks with surface to air missiles (sams). You have a large supply of air to
surface missiles, which you can fire two at a time. Mono/graphics.
3641
TOMMY'S SPACE DUNGEONS.
This program is similar to the dungeons and dragons text adventures you see all
the time, except that it has been hopped-up by aliens from outer space. Your
goal is to locate and remove the fabled orb of tommy from the titanian
dungeons. Anything else is utter miserable failure.
3642
TOMMY'S ENERGY FENCE.
You are the pilot of an energy fence drive class ii ship. Your mission is to
intercept the enemy ship, which uses a completely different kind of drive and
can hop over energy fences.
3643
TOMMY'S PACKRAT.
Tommy's packrat is similar to pac man/girl type games. Your packrat attempts to
gobble up all the seeds in the maze, while the bad guys attempt to gobble your
packrat up. After you eat a flashing seed, the bad guys change into inverted
pansies which cannot gobble you up until they change back to regular bad guys.
Transporter pads: running into a transporter pad will cause you to
dematerialize and then rematerialize in a random maze cell.
3644
TOWERS: Tetris-like but more challenging. How high can you build? TOWERS is
similar to Tetris, since you need to place blocks of varying size. That's where
the similarity ends -- you need logic and planning, rather than quick reflexes
in TOWERS. You build one level of the tower at a time, trying to fit the blocks
in the tightest pattern. Each level becomes the base for the next level. TOWERS
uses Cascoly's unique 3-D perspective graphics to show fantastic detail. As you
scroll from side to side, the perspective changes.
3645
MORAFF'S WORLD v.3: MONSTERS..PLUNDER & PILLAGE!!. Moraff's World is the ultimate
dungeon game. It contains 25 level deep dungeons with brick walls, wooden doors
and monsters with fangs and claws. See monsters far off in the distance down
the best 3D corridors ever seen in a computer game. Moraff's World rivals the
CAD programs! Fight many different types of monsters, cast over 100 different
spells, much more. This game puts commercial computer games to shame! Moraff's
world contains built-in intelligent help that realizes when you are confused
and makes suggestions appropriately. All commands are one-key, and can be
accessed with the mouse as well! Just point to things on the screen and press a
button! It's even easier than Windows. Hercules/CGA to S-VGA. DON'T MISS
MORAFF'S WORLD, THE MOST ELABORATE HIGHRES GAME EVER, THAT "EVERYONE IS
TALKING ABOUT" (SHAREWARE MAGAZINE).
3646
WORLD WAKER: VGA adventure game. with 20 worlds, 80 levels.
3647
ABC Fun Keys v4.30.
Very popular kiddies educational & fun program. With improved animation in
the Heaven & Mud game, graphic output for non-picture files in the Select
game, and improved access to the game setup functions. You and a child will
enjoy and receive great benefit from the use of this program.
3648
BALLOONS v3.9: kids create, blow up & break balloons, FUN!. This program draws a balloon and
sounds a tone when any key is hit. The balloons are a random size, colour and
are drawn at random locations on the screen. Each key is assigned a different
tone (the user can play tunes by pressing the appropriate keys). CGA/EGA/VGA.
Although this seems a simple program, kids (including our Anneke &
Jonathan) go crazy about it!
3649
Computer Voice Tutor's World of the Alphabet, talking program. Shows and SAYS(!) the letters of the
alphabet and some words. This program is designed for children of preschool
age. The - RECITE - section is designed explicitly for small children who can
not yet recognize the keyboard. RECITE will advance without any key input. If
the child hits any key (space bar is suggested), the letter will be repeated
three times. The FIND KEY section is for children who can recognize the
keyboard. They must hit the proper key to proceed.
3650
5 MINUTE DOS GUIDE -for beginners. The 5 Minute DOS Guide Teaches The Important DOS
Commands to Beginning Computer Users. It is Fast, Easy to Use, and Easy to
Print the highlighted commands.
3651
MATHS MADE EASY: teaches additions/subtraction/mul/div.
3652
John's Animated Computer Game.
"John's Animated Computer Game" is an easy to use game for very young
children to develop an acquaintance with the computer. 20 different animated
sequences appear on the screen to enter- tain young ones at the touch of a key.
This program was written so that my 2 year old could have a game that he could
play by himself. It was written by an artist with over 15 years' experience in
the field of classical animation. Requires EGA/VGA.
3654
LONG DIVISION math solving tutor & helper. Most students have difficulty with
division because they don't know the multiplication tables. These programs
teach the concept without punishing students who don't know the tables. If you
use this approach, you may be very surprised how quickly many slow math
students really pick up speed.
3655
PC Allowance: teaches kids banking and money management. PC Allowance works just like a bank's
automatic teller machine. With it you can automate all the allowances in your
household, ending many family arguments about money. Kids can use it as a basic
money management tool to help keep track of where their money goes. Maybe best
of all, the program will reward saving by compounding interest on money saved.
3656
Tutor Master: interactive DOS Tutorial. It teaches you the most commonly used
DOS commands in 30 short lessons. It allows an unlimited number of users, remembering
which lessons each person has taken. You can also scroll through the DOS
Dictionary window, that documents all of the DOS commands including DOS 5.0
instructions and memory management.
3657
& 3658 Preschool Pack 1.0: Colourful graphics, songs & speech. These programs will be sure to
capture the attention of your preschooler, who, through 5 entertaining
activities, will learn about counting, number recognition, the alphabet,
colours, matching, and classifying. Requires 640KB RAM, hard drive (approx.
1.5Meg), EGA or VGA, and mouse.
3659
Professor PC Laptop: Tutorial for laptop & notebook PC owners. A comprehensive tutorial system which
provides laptop, notebook and portable computer owners (or those interested in
buying a laptop or notebook) hundreds of powerful tips, tricks and reference
articles. Tutorials include: travelling with laptops and notebooks, battery
care and maintenance, software selection, DOS lessons, history of computers,
hard drive secrets, laptop batch files, modem use, custom reading list,
computer virus protection methods and more. An amazing collection of laptop and
notebook computer reference material!
3660
READFAST! improve reading speed and efficiency. The file READFAST.DOC discusses some
of the causes for poor reading skills and offers suggestions for making
improvements. Then the READFAST program provides pacing clicks to help the user
increase reading speed. The program measures reading time and calculates
reading rate. READTACH.EXE flashes lines of an eye-span exercise or other text
file on the screen, one line at a time, to force the reader to read faster.
(Eye-span exercises are included on this disk.) READTACH provides the ability
to choose the speed at which lines will be flashed on the screen, and to choose
whether speed increases automatically as the file is displayed.
3661
Russian Tutoring program.
Obviously, this is only a very beginner program. It teaches (hopefully) the
alphabet, numbers, some verbs, some greetings, and some info about how to
address someone by their name. EGA/VGA
3662
SPARKY'S MATH ADVENTURES.
Educational activities for young children.
3663
SPELLBOUND: finally a spelling tutor that works.
3664
TUTOR v.45: Computer Knowledge's famous PC tutor. A minicourse in microcomputing
covering the keyboard, history, computer terms, intro to DOS, subdirectories,
batch file, and an introduction to programming. Material is presented in a
series of screens and the user has the ability to move forward or backward
through the tutorials, or jump to selected locations using a menu. Short
quizzes test you on your knowledge but you may bypass these when reviewing.
3665
& 3666 WORD GALLERY v3.0: educational program for children aged 3 & up. WORD GALLERY is an educational
program designed to help children associate the printed word with the object it
describes. It provides a set of colourful word/object flashcards. These
flashcards are used to play a variety of games. Children will enjoy watching
the screen fill with colour as they use WORD GALLERY. Version 3.0 consists of five
separate "GAMES". Individual games are "colour-coded" so
children can easily select the one they want. EGA/VGA recommended (but CGA is
OK).
3667
What's In That Box? VGA computer tutorial. A SHORT TUTORIAL ABOUT HOW YOUR
COMPUTER WORKS using VGA graphical screens.
3668
WORD RESCUE: Arcade learning game. EGA req. Soundblaster support.
3669
Zpeller 2.00 Spelling & Vocabulary Teacher. Handles up to 19 students, student
enters correct spelling & definitions for up to 32000 words. Performs 7
different types of tests, and tracks wrong answer for immediate retest. Also
has test battery for problem words that are constantly missed.
3670
256PAINT v2: 256 Colour VGA Image Workshop. Previously 256DRAW, it is designed
for use by anyone who has a desire to paint or edit images in 256 colour VGA
mode. The images created with 256 Paint are simple bitmap images with no
compression schemes involved. This product encompasses many diverse painting
and graphics-related routines.
3671
Action Graphics V1.4: slick drawing & animated graphics. An amusement program that allows you
to build things on your screen and animate them. The mouse is used to select
from several graphic objects (circle, line, gear, etc.) or action icons which
include Move, Resize, Burst, Rotate, Attach, and many others. Requires 10 MHz
cpu, VGA and mouse.
3672
DFD: DataFlow Diagrams.
System to develop & maintain DFDs.
3673
Children's Graphics Program V4.0. With this software you can use lines, circles, boxes,
text, and macros to create pictures. You can also edit, save, paint and animate
your drawings. Requires EGA, mouse and 640K RAM.
3674
CompuShow V8.46: All-purpose graphics file viewer. With greatly extended mouse support
Dithering of all 2, 4, and 16 colour display modes for Best ever display
quality on Hercules, CGA, and EGA adapters! "Full time rescaling"
automatically displays all graphics to fit or fill the screen. Supports all
popular graphics file formats. Support of XMS (Extended) memory as well as EMS
(Expanded) memory.
3675
DAZZLE: Superb VGA demonstration. This famous program is used by all major PC vendors in
demonstrations, shows etc. to show off their VGA capabilities. Get it for your
PC as well. Fun to watch - also soothing, relaxing, meditating etc. Latest
update.
3676
Dr. Motes' Colorbook V 2.0.
An EGA colouring book with 32 colours and shades to choose from. You can store
your pages for later use. Requires 256K RAM, EGA graphics, and a mouse.
3677
DESKTOP PAINT: 256 VGA version.
Comprehensive & easy to use painting package. Supports EMS/XMS. Req. VGA
& mouse.
3678
& 3679 EGA COLOURING BOOK v2.1 is a computer colouring book. ECG allows children to use over 500
colours and patterns to colour full screen pictures. Children, age 3 and up,
will enjoy bringing the pictures to life with colour. ECB teaches eye-hand
coordination and encourages artistic expression. ECB is very easy to use. We
have been told by registered users that ECB is one of the few programs that
their 3 year old children can actually use alone. A great program to use to
introduce the computer to children. They will have so much fun, they won't even
realize that they are learning basic computer skills.
3680
VGA-CAD Excellent drawing & drafting program. Easy-to-learn, well-documented, very
popular.
3681
VPIC v4.8: Graphics file viewer & converter. VPIC is a file viewer/converter for
EGA, VGA and most SuperVGA display adapters. It is configurable for your
display card using a plain text configuration file. A comprehensive DOC file
explains all the features of VPIC. VPIC will display ,and convert to, the
following graphics file formats: BIF, BMP, GIF, LBM, MAC, PIC, PCX, CUT, SCx,
TGA. Fast, easy menu system with mouse support. Handles up to 500 files using
mouse or keyboard.
3682
ExpressGraph: easy-to-use business graphics program. Numbers can be analyzed much more
easily and quickly when they are displayed in graphic form. ExpressGraph allows
you to display numbers in a variety of graphic formats. Then you can choose the
display you like best, and print your graph.
3683
ABC interactive, easy-to-learn programming language. ABC is an imperative language
originally designed as a replacement for BASIC: interactive, very easy to
learn, but structured, high-level, and easy to use. It is suitable for general
everyday programming; an excellent teaching language, and because it is
interactive, excellent for prototyping. ABC programs are typically very
compact, around a quarter to a fifth the size of the equivalent Pascal or C
program. However, this is not at the cost of readability, on the contrary in
fact. ABC is also simple to learn due; if you already know Pascal or Basic you
can learn the whole language in an hour or so.
3684 & 3685 At Ease With Computer Programming, v1.4. Non-technical but educationally advanced system to teach computer programming principles & concepts to aspiring, novice & expert programmers. PCM Magazine called it "the most detailed yet interesting approach to problem solving" they had ever seen. "Any beginning or advanced programmer could benefit from this system, whether to write structured code in BASIC, C, Pascal or a