From: esr@snark.thyrsus.com (Eric S. Raymond)
Newsgroups: comp.unix.sysv386,comp.sys.intel,news.answers
Subject: PC-Clone UNIX Hardware Buyer's Guide
Summary: Tips on how and where to buy hardware for your UNIX.
Date: 20 Nov 92 21:42:27 GMT
Expires: 20 Feb 93 00:00:00 GMT
Followup-To: comp.unix.sysv386

Archive-name: pc-unix/hardware
Last-update: Fri Nov 20 16:16:32 1992
Version: 8.0

[Note: This issue is being released nearly two weeks ahead of schedule.  This
is because (a) there have been been big changes in the hardware market since
7.0 --- the 386 is dead, long live the 386, and (b) I received an unusually
large number of additions and corrections during the last week, including
material for a new major section.]

What's new in this issue:
  * The 386 is history.
  * Advantages of PS/2 mice.
  * A new major section on tape drive types and formats.
  * Info on the ClariNet Street Price Report

Gentle Reader: if you end up buying something based on information from this
Guide, please do yourself and the net a favor; make a point of telling the
vendor "Eric's FAQ sent me" or some equivalent.  The idea isn't to hype me
personally, I've already got all the notoriety I need from doing things like
_The_New_Hacker's_Dictionary_ --- but if we can show vendors that the Guide
influences a lot of purchasing decisions, I can be a more powerful advocate for
the net's interests, and for you.

0. Contents
I.    Introduction
II.   Overview of the Market
III.  Buying the basics
	A. Getting Down to Cases
	B. Power Supplies and Fans
	C. The Heart Of The Machine
	D. Motherboards and BIOSes
	E. Peripherals
	F. Keyboards
	G. Power Protection
IV.   Performance tuning
	A. How To Pick Your Processor
	B. Of Memory In...
	C. Bus Wars
	D. IDE vs. SCSI
	E. Other Disk Decisions
	F. Souping Up X Performance
V.    Tape Drive Follies
VI.   Of Mice and Machines
VII.  When, Where and How to Buy
VIII. Questions You Should Always Ask Your Vendor
	A. Minimum Warranty Provisions
	B. Documentation
	C. A System Quality Checklist
IX.   Things to Check when Buying Mail-Order
	A. Tricks and Traps in Mail-Order Warranties
	B. Special Questions to Ask Mail-Order Vendors Before Buying
	C. Payment Method
X.    Which Clone Vendors to Talk To

I. Introduction

The purpose of this posting is to give you the background information you need
to be a savvy buyer of 386/486 hardware for running UNIX.  It is aimed
especially at hackers and others with the technical skills and confidence to go
to the mail-order channel, but contains plenty of useful advice for people
buying store-front retail.  It was formerly part of 386-buyers-faq issues 1.0
through 4.0, and is still best read in conjunction with the pc-unix/software
FAQ descended from that posting.

This document is maintained and periodically updated as a service to the net by
Eric S.  Raymond <esr@snark.thyrsus.com>, who began it for the very best
self-interested reason that he was in the market and didn't believe in plonking
down several grand without doing his homework first (no, I don't get paid for
this, though I have had a bunch of free software and hardware dumped on me as a
result of it!).  Corrections, updates, and all pertinent information are
welcomed at that address.  The editorial `we' reflects the generous
contributions of many savvy USENETters.

This posting is periodically broadcast to the USENET group comp.unix.sysv386
and to a list of vendor addresses.  If you are a vendor representative, please
check to make sure any information pertaining your company is current and
correct.  If it is not, please email me a correction ASAP.  If you are a
hardware-knowledgeable user, please send me any distillation of your
experience that you think might improve this posting.

II. Overview of the Market

The central fact about 386/486 clone hardware that conditions every aspect of
buying it is this: more than anywhere else in the industry, de-facto hardware
standards have created a commodity market with low entry barriers, lots of
competitive pressure, and volume high enough to amortize a *lot* of development
on the cheap.

The result is that this hardware gives you lots of bang-per-buck, and it's
getting both cheaper and better all the time.  Furthermore, margins are thin
enough that vendors have to be lean, hungry, and *very* responsive to the
market to survive.  You can take advantage of this, but it does mean that much
of the info in the rest of this document will be stale in three months and
completely obsolete in six.

One good general piece of advice is that you should avoid both the highest-end
new-technology systems (those not yet shipping in volume) and the very cheapest
systems put out by vendors competing primarily on price.  The problem with
the high end is that it usually carries a hefty "prestige" price premium, and
may be a bit less reliable on average because the technology hasn't been
through a lot of test/improve cycles.  The problem with the low end is that
price-cutters sometimes settle for marginal components.  UNIX is more
sensitive to hardware flakiness than DOS, so cut-price systems that might
deliver consistently for DOS lemmings can come around and bite you.  Use a
little care, and spend the $200-$300 to stay out of the basement.  It's worth
it.

The last point deserves a little amplification.  In the PC world, there's a lot
of "if it doesn't fail, it's OK".  It is common to ignore normal engineering
tolerances --- the allowances for variations in components, temperature,
voltage margins, and the like --- and to assume that anything which doesn't
fail outright must work.  Watch out!  For example, The ISA bus was originally
designed for 6 MHz.  IBM later updated that to 8 MHz, and that's as much of a
standard as there is, yet there are motherboards that will let you (try to!)
run it at 12 MHz --- 50% over spec.  Some cards are actually designed to work
at that speed with proper tolerances.  Others might work...or they might flake
out when they get warm.  Any systems vendor above the fly-by-night level is
going to shoot for a little more reliability than this, burning in systems and
(often) doing at least a token system test with some kind of UNIX (usually
XENIX).  Pay the few extra bucks it costs to deal with a more careful vendor.

Memory sufficiently fast and reliable for 486/50DX systems running UNIX seems
to be a particular problem (anything slower than 60ns will hurt performance).
The following war story by one comp.unix sysv386 regular is typical: "Dell 2.2
ran perfectly on 3 different AMI 486/50 EISA boards.  That is, after I replaced
faulty memory chips which caused repeated panics.  My conclusion, after
consulting with our hardware suppliers, was that current quality control on
top-end memory chips (NEC, Toshiba) is not good enough for 486/50's running
serious Unix.  The memory will pass every DOS-based test.  One has to plug and
play to get a set of simms that work reliably.  Part of the hazerds of leading
edge technology."

In mid-November, one correspondent recommended Goldstar Gold-on-Gold 1x3 or
1x9.  The idiots in Congress (a redundant phrase if ever there was one) have
imposed an "anti-dumping" (read: "protect American fat-cats") tariff that
immediately jacked up prices by $20 per megabyte.  Just in time for Xmas...

III. Buying the basics

In this section, we cover things to look out for that are more or less
independent of price-performance tradeoffs, part of your minimum system
for running UNIX.

A. Getting Down to Cases

Cases are just bent metal.  It doesn't much matter who makes those, as long as
they're above an easy minimum quality (on some *really* cheap ones, cards fail
to line up nicely with the slots, drive bays don't align with the access
cutouts, or the motherboard is ill-supported and can ground out against the
chassis).  If you're fussy about RFI (Radio-Frequency Interference), it's worth
finding out whether the plastic parts of the case have conductive coating on
the inside; that will cut down emissions significantly, but a few cheap cases
omit it.

Should you buy a desktop or tower case?  Our advice is go with tower unless
you're building a no-expansions personal system and expect to be using the
floppies a lot.  Many vendors charge nothing extra for a tower case and the
absolute *maximum* premium I've seen is $100.  What you get for that is less
desktop clutter, more and bigger bays for expansion, and often (perhaps most
importantly) a beefed-up power-supply and fan.  Putting the box and its fan
under a table is good for maybe 5db off the effective noise level, too.
Airflow is also an issue; if the peripheral bays are less cramped, you get
better cooling.  This is a good argument for a full tower rather than the `baby
tower' cases some vendors offer.  Be prepared to buy extension cables for your
keyboard and monitor, though; vendors almost never include enough flex.

For users with really heavy expoansibility requirements, rackmount PC cases do
exist (ask prospective vendors).  Typically a rackmount case will have pretty
much the same functionality as an ordinary PC case.  But, you can then buy
drive racks (complete with pwer supply), etc. to expand into.  Also, you can
buy passive backplanes with up to 20 or so slots. You can either put a CPU card
in one of the slots, or connect it to an ordinary motherboard through one of
the slots.

B. Power Supplies and Fans

Power supplies can matter but quality is cheap; give preference to those with a
Underwriter's Laboratories rating.  There's some controversy over optimum
wattage level; on the one hand, you want enough wattage for expansion.  On the
other, big supplies are noisier, and if you draw *too little* current for the
rating the delivered voltage can become unstable.  And the expected wattage
load from peripherals is droppong steadily.  The big old 300-watt supplies that
were designed for running several full-height 5.25" floppies are overkill in
these days of portable-driven lightweight 3.5" drives.  200 watts is good
enough these days, and the new breed of compact 200W supplies is quieter to
boot.

(About that annoying fan noise, ask if the fan on a target system has a
variable speed motor with thermostatic control --- this will cut down on noise
tremendously.  If not: I have seen a rave about, but haven't used, a
thermostatic fan controller called "The Silencer".  This tiny device mounts
inside your power supply and connects to the fan's power leads.  It
automatically varies the fan motor speed to hold a 79 to 82F temperature.
Write Quiet Technology, Inc. PO Box 8478, Port St. Lucie FL 34985.  Warning:
installing this may void your warranty!)

C. The Heart Of The Machine

Yet another basic decision, of course, is processor speed and type.  Until
recently, the hot sellers in this market were the 386/33DX and AMD 386/40DX,
which I'd say are reasonable minimum-speed engines for UNIX with X.  However,
recent pricing moves by Intel have moved the price of a 486SX25 below the
equivalent 386DX33 chip.  The 386 is therefore effectively dead for new
hardware, and the 486SX/25 defined as the new low end (at least for the next
90 days or so).

The 386SX machines were never a very good idea for UNIX; the 16-bit bus-to-CPU
path can choke your throughput.  The 486SX is even worse, a stupid marketing
crock with no technical justification whatsoever.  It's a 486DX with the
floating-point unit missing or even deliberately lobotomized out; the
difference *will* bite you in unobvious ways, for example if you use X which
does a lot of FP for graphics.  (One respondent opined that "SX" is
Intel-internal code for "sucks".)

A 486DX/33 has enough power make a good personal UNIX box.  For UNIX, this is
your floor; how far above them you want to buy depends on your budget and job
mix.  We'll have much more to say about this in the section on performance
tuning.

D. Motherboards and BIOSes

Provided you exercise a little prudence and stay out of the price basement,
motherboards and BIOS chips don't vary much in quality either.  There are only
six or so major brands of motherboard inside all those cases and they're pretty
much interchangable; brand premiums are low to nonexistent and cost is strictly
tied to maximum speed and bus type.  Unless you're buying from a "name" outfit
like Compaq, Dell, or AST that rolls its own motherboards and BIOSes, there are
only four major brands of BIOS chip (AMI, Phoenix, Mylex, Award) and not much
to choose between 'em but the look of the self-test screens.  One advantage
UNIX buyers have is that UNIXes are built not to rely on the BIOS code (because
it can't be used in protected mode without more pain than than it's worth).  If
your BIOS will boot properly, you're usually going to be OK.

If the above sounds too rosy, there is a catch; it describes *current*
hardware, not some of the historical botches.  And it's hard to know how old
what you're buying is.  You might actually be buying a motherboard that's been
sitting on the dealer's back shelf for a year, with a BIOS chip in it that was
in the drawer for another year before he ever stuck it in the board.  And some
of those older BIOSes and board designs are to be desperately avoided.  There
have been quite a few bogus cache designs that either don't work at all
(instant panic under UNIX) or that severely degrade performance.  A lot of
earlier designs have bus timing problems that show up in bad interactions with
host adapters and fancy graphics boards.  Bad memory designs were also not
uncommon.

A good, tricky way to keep the vendor from shipping you these fossils is to
specify a motherboard that can take 4MB SIMMs (as opposed to just the older 1MB
kind).  You want to do this anyhow for functional reasons.

There are a few other potential gotchas to beware of, especially in the cheaper
off-brand boards.  One is "shadow RAM", a trick some boards use for speeding up
DOS by copying the ROM contents into RAM at startup.  It should be possible to
disable this.  Also, on a caching motherboard, you need to be able to disable
caching in the memory areas used by expansion cards.  Some cheap motherboards
fail to pass bus-mastering tests and so are useless for use with a good SCSI
interface; on others, the bus gets flaky when its turbo (high-speed) mode is
on.  Fortunately, these problems aren't common.

Finally, one name-brand tip: *don't* buy DTK-brand motherboards for a UNIX
system!  They generate lots of spurious interrupts, which DOS is too stupid to
be bothered by but which completely tank UNIX.

You can avoid both dangerously fossilized hardware and these little gotchas by
sticking with a system or motherboard design that's been tested with UNIX (some
help with that below).

Some other good features to look for in a motherboard include:

* Gold-plated contacts in the expansion slots and RAM sockets.  Base-metal
  contacts tend to grow an oxidation layer which can cause intermittent
  connection faults that look like bad RAM chips or boards.  (This is why, if
  your hardware starts flaking out, one of the first things to do is jiggle
  or remove the boards and reseat them, and press down on the RAM chips
  to reseat them as well -- this may break up the oxidation layer.  If
  this doesn't work, rubbing what contacts you can reach with a soft
  eraser is a good fast way to remove the oxidation film. Beware, some
  hard erasers, including many pencil erasers, can strip off the plating, too!)

* Ability to go to 64MB on the motherboard (that is, without plug-in
  daughterboards).  Most EISA boards seem to have this (the popular Mylex
  MAE486 board is an exception).

* The board should be speed-rated as high as your processor, of course.
  It's good if it's rated higher, so upgrade to a faster processor is
  just a matter of dropping in the chip and a new crystal.

If your motherboard offers multiple cache sizes, make sure you know whether the
larger cache is required when using more than a certain amount of memory.  Or,
in general, fill the cache all the way -- cache-speed RAM is getting pretty
cheap.

Note, however, that hardware caches for system boards are really designed to
achieve effective 0 wait state status, rather than perform any significant
buffering of data.  As a general rule applicable to all clones, 64Kb cache
handles up to 16Mb memory.  256Kb cache handles up to 64Mb.  128Kb cache is
nearly redundant for a 16MB system; the benefit from additional caching is
statistically.  This means that running with 8Mb RAM, there is little
difference between a 64Kb, 128Kb, or 256Kb cache on the systemboard.
 
Finally, beware the infamous FP exception bug!  Some motherboards fail to
handle floating point exceptions correctly; instead of generating a SIGFPE they
lock up. The following fragment of C code will reproduce the problem:

	double d;

	d = 0.0;
	d = 1.0 / d;	/* floating divide by zero should yield SIGFPE */

John R. Levine <johnl@iecc.cambridge.ma.us> explains: "The difficulty stems
from the fact that there are two ways to handle floating exceptions on a 486,
the right way and the PC way.  What the 486 wants to do is to generate an
interupt 16 when there is a floating point error, all entirely internal to the
CPU.  This has been the native way to handle floating point interrupts since
the 286/287.  The 286/287 and 386/387 each have a dedicated ERROR pin that the
FPU uses to tell the CPU that it's time for an error interrupt.

Unfortunately, the 8086/8087 handled interrupts differently.  The error pin on
the 8087 was wired to the 8259A interrupt controller, the same interrupt
controller that handled keyboard, disk, clock, etc.  interrupts.  The PC/AT
enshrined IRQ 13 as the one for floating interrupts.  (The details of this are
a little hazy to me, since the XT didn't have IRQ 13 tied to an 8259A, so the
AT must have at least changed the interrupt number.)  PC designs have generally
wired the 287 or 387 ERROR pin to the 8259A, not to the ERROR pin on the CPU,
or at best had some poorly documented way to switch between the two interrupt
methods.
 
In the interest of backward compatibility, the 486 has a mode bit that says not
to handle FP exceptions automatically, but rather to freeze the FPU and send a
signal on the FERR pin, which is usually tied to an 8259A which then feeds the
interrupt back as IRQ 13.  There is some extra complication involved here
because the FPU has to stay frozen until the interrupt is accepted so the CPU
can go back and look at the FPU's state.  Early 386/25 chips had a bug that
would sometimes freeze up on a floating point interrupt and you had to get a
kludge socket with a PAL that fixed the timing glitch that provoked the bug.

So as likely as not, the motherboard hardware that runs FERR out and back isn't
working correctly.  It's not surprising, few DOS users take floating point
seriously enough to notice whether the interrupts are working right."

When you specify a system, make clear to your vendor that the motherboard must
handle float exceptions properly.  Test your motherboard's handling of
divide-by-zero; if it doesn't work, press your vendor to replace it *and
send me email*!  Only by publishing a list of boards known bad can we
protect ourselves and pressure vendors to fix this problem.

The 386 UNIX Buyer's Guide posting (pc-unix/software) includes tables of
motherboards and systems known to run with various UNIX ports.

E. Peripherals

Peripherals are another matter, especially hard disks.  A good rule of thumb
for balanced configurations is that the hard disk should comprise about half
(or maybe a bit more) of the total system hardware price (exception: if you're
buying a really good monitor, like 16" or over, it's going to be expensive
enough to bust this rule).  Unless you're the exception who has to invoke
warranty due to a system arriving dead, most of what you buy from a dealer or
mail-order house is their ability to surf the Winchester market, make volume
buys, and burn in your disks before shipping.  We'll look at disk choices in
more detail later on.

These days, most vendors bundle a 14" monitor and super-VGA card with 1024x768
resolution in with their systems.  Details to watch are whether the card comes
loaded with 512K or 1MB of RAM (which will affect how much of that maximum
resolution and how many colors you actually get), whether the memory is
dual-ported VRAM (slightly more expensive but much faster), and whether the
monitor is interlaced or non-interlaced.  The latter is better and should no
longer cost extra; look for the abbreviation NI in the ad or quote and be
suspicious if you don't see it.

You should have a tape drive for backup.  Unfortunately, the tape drive market
is rather confusing.  Rather than try to give a capsule summary, we give it
its own section below.

We'll have much more to say about price/performance tradeoffs in peripherals
in the next major section, on performance tuning.

F. Keyboards

Hal Snyder of Coherent, Inc. <hal@mwc.com> sent us the following caveat:

We find that about 10% of cheap no-name keyboards do not work in scan
code set 3.  We are interested in scan code set 3 because only there can
you reprogram the keyboard on a per-key basis as to whether keys are
make-only, make-break, or autorepeat.  It is a big win for international
support and for X.

Keytronic, Cherry, and Honeywell keyboards, as well as a large number of
imports, work fine.  My advice is to either by a respected brand of
keyboard, or deal with a vendor who will allow you to return an
inompatible keyboard without charge.

G. Power Protection

Finally, I strongly recommend that you buy a power conditioner to protect your
hardware.  MOV-filtered power bars make nice fuses (they're cheap to replace),
but they're not enough.  I've been delighted with my TrippLite 1200, which you
can get for $139 or so by mail order.  A fringe benefit of this little beauty
is that if you accidently pull your plug out of the wall you may find you
actually have time to re-connect it before the machine notices!

The tecbical info in the remainder of this section is edited from material
supplied by David E. Wexelblat <dwex@mtgzfs3.att.com>.
	
There are several levels of power protection available to the home computer
user.  I break this down into 4 levels; others may have different ways of
classifying things.  The levels are:

	1. Surge Suppressor
	2. Line Conditioners
	3. Standby Power Supplies
	4. Uninterruptible Power Supplies

and here's what they mean:

1. Surge suppressors

These are basically a fancy fuse between the source and your hardware; they
clamp down spikes, but can't fill in a low voltage level or dropout.

This is a bare minimum level of protection that any piece of expensive
electronics should have.  Note that this applies to more than just AC power;
surge suppressors are available for (and should be used on) phone lines, and
RS-232 and parallel connections (for use on long lines; generally not needed if
the devices is colocated with the computer and all devices are protected from
outside sources).  Note also that *all* devices connected to your computer need
to be protected; if you put a surge suppressor on your computer but not your
printer, then a zap on the printer may take out the computer, too.

An important fact about surge suppressors is that *they need to be replaced if
they absorb a large surge*.  Besides fuses, most suppressors rely on on
components called Metal-Oxide Varistors (or MOVs) for spike suppression, which
degrade when they take a voltage hit.  The problem with cheap suppressors is
that they don't tell you when the MOV is cooked, so you can end up with no
spike protection and a false sense of security --- better ones have an
indicator.

You can buy surge suppressors at any Radio Shack; for better prices, go
mail-order through Computer Shopper or some similar magazine.  All of
these are low-cost devices ($10-50).

2. Line Conditioners

These devices filter noise out of AC lines.  Noise can degrade your power
supply and cause it to fail prematurely.  They also protect against short
voltage dropouts and include surge suppression.

My Tripp-Lite 1200 is typical of the better class of line conditioners --- a
box with a good big soft-iron transformer and a couple of moby capacitors in it
and *no* conductive path between the in and out sides.  With one of these, you
can laugh at brownouts and electrical storms.

Price vary widely, from $40-400, depending on the power rating and capabilities
of the device.  Mail-order from a reputable supply house is your best bet.
Line conditioners typically *don't* need to be replaced after a surge; check
to see if yours includes MOVs.

3. Standby power supplies (SPSs)

These devices are battery-based emergency power supplies that provide power for
your system via an inverter if the power fails. An SPS will generally have all
the capabilities of a line conditioner as well.

Note: these devices do not come on line until after the power fails, and have a
certain amount of delay of some of milliseconds before they come on line.  If
the capacitors in your power supply are not large enough, the SPS may not cut
in in time to prevent your computer from seeing the power failure.

Note also that many SPSs are marketed as Uninterruptable Power Supplies (see
below).  This is incorrect.  Any device with a non-zero cutover time cannot be
a true UPS.  If the ad mentions a cutover time, it's an SPS, and not a UPS.

The price range for these devices (depending largely on size and cutover time)
is $200-2000.  An SPS will *not* need to be replaced after absorbing a large
surge.

4. Uninterruptable power supplies (UPSs)

These devices provide full-time isolation from the incoming AC line through a
transformer of some sort.  These devices are on-line at all times, and if the
AC line fails, the batteries will cut in.  Your devices will see no
interruption of their incoming AC.  UPSs cost more, and provide more features.
They are the ultimate in power protection.  Many UPSs have an intelligent
interface that will notify a connected device of a power failure, allowing it
to shut down cleanly.  UPSs also provide the capabilities of a line
conditioner. The price range (for devices in the size range for a home
computer) are $400-$2500.  An UPS will *not* need to be replaced after
absorbing a large surge.

Now, given this information, how does one decide what to get?  For a system
that runs unattended, like most Unix systems, it is best to have a device that
provides both power holdover and a power failure signal.  Hence, for a Unix
system, a UPS is the best idea (an SPS is not the best power protection and
most have no intelligent interface).  At least one vendor sells
ordered-shutdown software for Unix, and it's fairly simple to write your own
daemon to monitor a serial port, and send init a SIGPWR signal when it sees a
certain signal.

Our recommendation for a home Unix environment is a configuration like the
following:

	a) A true on-line UPS for the computer system.  An intelligent
	   interface is mandatory, along with appropriate software for
	   ordered shutdown.
	b) Surge suppression on all phone lines, and also on serial/parallel
	   lines that leave the room.
	c) Line conditioners on any devices not connected to the UPS.  If
	   you do take a power hit, it's cheaper to replace a $50 line
	   conditioner than a $1500 laser printer.

An important question is "How do I know how big a UPS to get?"  The watt rating
of the UPS should be at least the sum of the peak ratings off all equipment
connected to it.  UPS marketroids tend to quote you UPS capacities and formulas
like "sum of VA ratings + 20%" which (surprise!) push you towards costler
hardware.  Ignore them.  If a watt rating is not given, watts = 0.75*VAmax.

One other consideration is that you typically shouldn't put a laser printer on
a UPS --- toner heaters draw enough current to overload a UPS and cause a
shutdown within seconds.  The other thing is that you can't even put the laser
printer on the same circuit with a UPS --- the heater kicks on every 20-30
seconds, and most UPSs will see the current draw as a brownout.  So buy a
separate line conditioner for the laser printer.

Finally, read the UPS's installation manual carefully if you're going
to use it with other power-protection devices.  Some UPSs don't like having
surge suppressors between them and the equipment.

David personally recommends surge suppressors and line conditioners from
Tripp-Lite (available both mail-order and retail), and UPSs from Best Power
Technologies (Necedah, WI - 1-(800)-356-5737).  I can enthusiastically second
the TrippLite recommendation, but haven't dealt with Best Power at all.  There
are many other vendors for all of these devices.

Tripp-Lite has a whole range of products, from a $10 phone-line
surge-suppressor, to line conditioners and SPSs with prces in the hundreds of
dollars.  They have a line of $50-80 line conditioners that are good for most
peripherals (including your home stereo :->).

Best Power Technologies sells two lines of UPSs in the range for home systems.
The older and more expensive FERRUPS line (which is what David has) has a smart
interface, and very good filtering and surge-suppression capabilities.  He says
"I have a 1.15kVA FERRUPS for my home system, which is overkill with my current
hardware (although it rode out a 45 minute power failure with nary a whisper -
no reboot).  In 1990, I paid ~$1600 for this device, and that has since gone
up.  They also sell a newer line of Fortress UPSs.  These are better suited in
price for home systems.  I don't know much about them, as they were not
available when I bought my UPS.  I expect that this is what most people will
want to consider, though.  In addition, Best sells Check-UPS, a software
package (in source form) for monitoring the UPS and shutting it down.  I have
found Best to be a good company to deal with, with competent, knowledgable
sales people (who will be able to help you pick the right device), and helpful,
courteous, and responsive technical support."

Other things to know:

A UPS should be wired directly to (or plugged directly into) the AC supply
(i.e. a surge suppressor is neither required nor suggested between the wall and
the UPS).  In addition, a surge suppressor between the UPS and the equipment
connected to it is redundant and also unnecessary.

IV. Performance tuning

Here are the places where you can trade off spending against the performance
level you want to buy and your expected job mix.

A. How to Pick your Processor

The following information appeared in article <13a29iINN21e@iraul1.ira.uka.de>
by S_JUFFA@iravcl.ira.uka.de (|S| Norbert Juffa).  It gives a good indication
of the relative speeds in Intel's processor line:

      UNIX performance of Intel processors as given in Intel's literature


   Processor       SPECmark SPECint SPECfp Whetstone Dhrystone Linpack   Ref Rm
                                           double p.     2.1   dp MFLOPS

1) Intel 386/387-33   4.3    6.4     3.3     3290     15888      N/A      1  *+
2) Intel 386/387-33   4.1    6.0     N/A     3200     18900      0.4      2  #
3) RapidCAD-33        6.6    7.3     6.1     5300     18275      N/A      1  *+
4) 486DX-25           8.7   13.3     6.6     5640     32000      1.0      2
5) 486DX-33          11.1   17.5     8.2     7200     43000      1.5      3
6) 486DX-33          12.1   18.3     9.2      N/A       N/A      N/A      4
7) 486DX-33          14.5   19.0    12.2    12300     43500      1.6      5  &
8) 486DX-50          18.2   27.9    13.6    10710     64400      2.5      3
9) 486DX2-50         19.2   25.4    15.9    18500     63966      2.3      5  &
10)486DX-50          21.9   28.5    18.3    18500     65400      2.4      5  &
11)486DX2-66         25.6   34.0    21.2    24700     85470      3.1      5  &

Remarks:

* Whetstone/Dhrystone are 32-bit DOS results
+ SPEC ratios recomputed from SPEC timings (computed wrong in report)
& note huge increase in SPEC floating point performance over previous results
  due to new experimental FORTRAN compiler
# machine with AMD 386-40/Cyrix 83D87-40/128 kB cache is estimated by me at:
  7.7 SPECint, 5.0 SPECfp, 6.1 SPECmark,
  5600 double prec. Whetstones, 23000 Dhrystones,
  0.6 Linpack double prec. MFlops
  These estimates based on my own measurements and data from:
  FasMath 83D87 Benchmark Report, Cyrix 1990
  World's Fastest 386 40 MHz Am386(tm)DX Microprocessor Performance Summary,
  AMD 1991

References:

1) Intel RapidCAD(tm) Engineering CoProcessor Performance Brief. 1992
2) i486(tm) Microprocessor Performance Report. 1990.
   Order No. 240734-001
3) 50MHz Intel486(tm) DX Microprocessor Performance Brief. 1991.
   Order No. 241120-001
4) i486(tm) Microprocessor Business Performance Brief. 1990.
   Order No. 281352-002
5) Intel486(tm) DX2 Microprocessor Performance Brief. 1992
   Order No. 241254-001

Configurations:

1) COMPAQ SystemPro 386/33 MHz, 8 MB memory, AT&T UNIX System V/386 Release 4.0
   Version 2.0
2) 64 kB write back cache,
   AT&T UNIX System V Release 3.2CC, MetaWare High C R2.2c,
   SVS FORTRAN V2.8
3) COMPAQ SystemPro 386/33 MHz, 8 MB memory, AT&T UNIX System V/386 Release 4.0
   Version 2.0
4) 128 kB write-back cache, 12 MB RAM,
   AT&T UNIX System V Release 3.2CC, MetaWare High C R2.2c,
   SVS FORTRAN V2.8
5) No 2nd level cache, 16 MB RAM,
   AT&T UNIX System V/386 R3.2, MetaWare High C R2.3p
   SVS FORTRAN V2.8
6) ALR PowerCache 33/4e, 128 kB cache, 16 MB RAM
   SCO UNIX System V R3.2.2, MetaWare High C R2.2c/R2.3k,
   SVS FORTRAN V 2.8
7) Intel Modular Platform, 256 kB write-back cache, 32 MB RAM,
   AT&T UNIX System V R4.0.4, Metaware High C R2.4b,
   Intel Scheduling FORTRAN 77 Compiler V0.2
8) 256 kB write-back cache (82495DX/82490DX), 16 MB RAM,
   AT&T UNIX System V/386 R3.2, MetaWare High C R2.3p
   SVS FORTRAN V2.8
9) Intel Modular Platform, 256 kB write-back cache, 32 MB RAM,
   AT&T UNIX System V R4.0.4, Metaware High C R2.4b,
   Intel Scheduling FORTRAN 77 Compiler V0.2
10)Intel Modular Platform, 256 kB write-back cache, 32 MB RAM,
   AT&T UNIX System V R4.0.4, Metaware High C R2.4b,
   Intel Scheduling FORTRAN 77 Compiler V0.2
11)Intel Modular Platform, 256 kB write-back cache, 32 MB RAM,
   AT&T UNIX System V R4.0.4, Metaware High C R2.4b,
   Intel Scheduling FORTRAN 77 Compiler V0.2

One of Intel's most recent wrinkles is the "clock-doubler" chips.  The 50DX2
runs at 25MHz externally but computes at 50MHz.  A 66DX2 (bus speed 33MHz) is
also shipping, and there are persistent rumors of a clock-doubled 50 in the
works that would compute at a blistering 100MHz!  Intel likes to claim a 70%
speedup for the doublers over their undoubled brethren.  I've expressed
skepticism about this in previous issues, but the SPECmarks above suggest that
just this once the marketroids may not be lying -- much.  Under UNIX, a 50DX2
is in fact nearly as fast as a true 50DX.  Still, beware of anyone whose
literature passes off the DX2 qualification in the fine print; they may be
scamming about other things, too.

Right now you'll pay as much as a $500 premium for a 486/50, as that's
relatively new technology and demands extra-fast memory to run full-out.  Also,
these processors run really hot (one correspondent described the 50 as a
"toaster on a chip").  If you go this route, be sure your configuration has an
extra-heavy-duty cooling fan.  Or two.  And, for preference, a hefty heat sink.
Of course, if you do this you'll be ready to drop in the rumored 100DX2 part,
and blow the doors off all those fancy proprietary-technology workstations.

B. Of Memory In...

Buy lots of RAM, it's the cheapest way to improve real performance on any
virtual-memory system.  At $30-$50 maximum per megabyte it's just plain silly
to stick with the 2-4mb now standard on most clone configurations.  Go to 8,
you won't regret it; 16 if you're going to use X.

Above 16 is iffy on ISA boxes because the stock USL 4.0.3 kernel may try to do
DMA from a location the bus can't deal with.  Most UNIX vendors have fixed this
by adding code that forces DMAs to take place from low memory; make absolutely
sure that includes yours before you load up beyond 16MB.  The pc-unix/software
FAQ posting includes information on which vendors are known to have fixed this
problem.

Some motherboards have 16 sockets for SIMM memory modules.  Some only 8.  Some
take only 1MB mdules, some handle 4MB.  These constraints interact in funny
ways.

You should make sure if you are buying an entry level 2 or 6 MB system with a
16-socket motherboard that you will not have to ditch the SIMMs that are
already installed in order to go to your maximum (if 16 MB is your maximum).
Some systems only allow you to mix 1M and 4M SIMMs in certain combinations.
Try not to get any 1M SIMMs in your initial configuration, because you'll
probably end up turfing them later.  That is, buy a 4MB, 8MB, 12 MB or 16MB
system to start.

Newer ISA designs have a 32 MB upper limit with only 8 sockets, since they can
take 4Mx9s...however, this means different interleaving (only 2 banks), which
limits the possible configurations.  You don't want to start off with an 8 MB
configuration, because that's 8 ea 1Mx9's, filling up all the sockets...the
next upgrade requires replacing 1Mx9 with 4Mx9.  You can't even set up 12
MB!...the first reasonable config (that won't require tossing hardware) is 16
MB, since that's one bank full of 4Mx9.

Most EISA motherboards have 16 4MB-capable sockets, and this is clearly
where the market is going.

C. Bus wars

Should you buy 16-bit ISA vs. 32-bit EISA?  You'll pay a $600-$900 premium for
the latter.  What you get in return is the ability to use things like fast
32-bit SCSI controllers and a smoother upward-migration path.  On the other
hand, EISA cards are significantly more expensive.  And so far, there isn't
much support for EISA-specific hardware --- a couple of vendors will drive EISA
SCSI disk and tape controllers and that's about it (of course those *are* the
most important bandwidth-eaters).  All ISA cards will still work.

Of course, most of what you get from EISA is a performance boost.  There are
two different theories about why EISA is better; both have their adherents.

Theory A: Bandwidth matters

UNIX has always been an I/O-intensive operating system.  According to this
theory, increasing processor speed on clones can leave it spending all its time
waiting on the limited I/O capacity of the poor old 5.3MB/sec ISA bus.  The
vendors all seem to think this starts at around 33MHz and that if you're buying
50MHz it definitely pays to go EISA.

Theory B: Cache is what matters

According to this theory, UNIX never comes even close to saturating the ISA-bus
bandwidth.  EISA boards are faster because the premium vendors can charge for
them allows the motherboard designer more freedom and a richer parts budget.
The most important performance effect of this is that EISA boards have larger
and better-designed caches, increasing the effective memory-access speed.

There's probably some truth to both analyses.  If your machine is going to
spend most of its processor time running X displays and doing other classically
compute-bound tasks, cache size matters most.  On the other hand, benchmarks
show that the combination of TCP/IP and multi-user disk activity *can* saturate
ISA, and one can sometimes *see* a fast-processor machine slow down during disk
accesses...

If you're contemplating any kind of heavy-duty networking, EISA network
adapters will become rather important.  A correspondent tells me he's seen
benchmarks showing what percentage of bus bandwidth is consumed by various
cards when flooding an ethernet (i.e. consuming the entire 10Mbit bandwidth of
a quiet net, as you might be when doing an FTP transfer, for instance).  8-bit
ISA cards consume 40-60% of bus bandwidth; 16-bit cards, 20-40%.  32-bit EISA
cards consume only about 5-10%.  This would be particularly important in a
machine being used as a bridge, where you might be handling a large portion of
the traffic on two or more separate nets.  The advantage of EISA cards may be
due to their shorter-cycle bus mastering DMA.  At time of writing, only
SCO supports these, but other UNIX vendors are known to have their own drivers
in the pipeline.

D. IDE vs. SCSI

Another basic decision is IDE vs. SCSI.  Either kind of disk costs about the
same, but the premium for a SCSI card varies all over the lot, partly because
of price differences between ISA and EISA SCSI cards and especially because
many motherboard vendors bundle an IDE chip right on the system board.  SCSI
gives you better speed and throughput and loads the processor less, a win for
larger disks and an especially significant consideration in a multi-user
environment; also it's more expandable.

Another important win for SCSI is that it handles multiple devices much more
efficiently.  If you have two IDE (or ST506 or ESDI) drives, only one can
transfer between memory and disk at once.  In fact, you have to program them at
such a low level, one drive might actually be blocked from *seeking* while
you're talking to the other drive.  SCSI drives are mostly autonomous and can
do everything at once; and current SCSI drives are not quite fast enough to
flood more than 1/2 the SCSI bus bandwidth, so you can have at least two drives
on a single bus pumping full speed without using it up.  In reality, you don't
keep drives running full speed all the time, so you should be able to have 3-4
drives on a bus before you really start feeling bandwidth crunch.

All this having been said, don't write off IDE too quickly.  Sure, it's
compatible with the nasty old ST506 interface, but it's *much* faster.  It
remains the cost-effective choice for smaller drives (up to 500MB) on systems
that won't be hitting the disk constantly.  Unless you're running a heavily
used network or database server, don't assume SCSI will make any noticeable
difference.

(If you can do your own installation, I hear that used 150/250MB SCSI drives
are getting quite common and cheap on the net.  All 150MB QIC type drives can
do 250MB on extended-length tapes, though some manufacturers discourage you
from doing this to avoid excessive heade wear.  But back to disks...)

The following, by Ashok Singhal <ashoks@duckjibe.eng.sun.com> of Sun
Microsystems, is a valiant attempt to demystify SCSI terminology.

The terms "SCSI" and "SCSI-2" refer to two different specifications.
Each specification has a number of options. Many of these options are
*independent* of each other.  I like to think of the main options (there are
others that I'll skip over because I don't know enough about them to talk
about them on the net) by classifying them into five categories:

1. Logical 
	This refers to the commands that the controllers understand.
	SCSI-2 defined a common cammand set that is pretty much a
	superset of the SCSI command set.

2. Data Width
	8 bits (+ 1 parity) -> "normal" 
	16-bits (+ 2 parity) -> "wide"
	32-bits (+ 4 parity) -> I don't know, "extra-wide??"

	All three options are available in SCSI-2 (yes,
	the draft spec I have even shows 32-bits!), although
	8-bit wide is still by far the most common.  Not sure, but I believe
	SCSI defined only 8-bit wide data path.

3. Electrical Interface
	single-ended (max cable length 6 meters)
	differential (max cable length 25 meters)

	Both options are available for SCSI-2 (I'm not sure about SCSI,
	but I think both options were available also)
	and this option is independent of options 2, 4, 5.  Differential
	is less common but allows better noise immunity and longer
	cables.

4. Handshake
	Asynchronous (requests and acks alternate)
	Synchronous (multiple requests can be outstanding)

	Both options are available for SCSI-2 (Not sure about SCSI,
	but I think both were available also).  This is negotiated
	between each target and initiator; asynchronous and synchronous
	transfers can occur on the same bus.  This is independent of
	2, 3 (Not sure about 1).

5. Synchronous Speed (does not apply for asynchronous option)
	"Normal" is up to 5 Mtransfers/sec ( = 5MB/s for 8-bit wide, more
						for wider)
	"Fast" is up to 10 Mtransfers/s ( = 10 MB/s for 8-bit wide, more
						for wider)

	The fast option is defined only in SCSI-2.
	This options basically defines shorter timing parameters
	such as the assertion period and hold time.
	The parameters of the synchronous transfer are negotiated
	between each target and initiator so different speed transfers
	can occur over the same bus.

E. Other Disk Decisions

Look at seek times and transfer rates for your disk; under UNIX disk speed and
throughput are so important that a 1-millisecond difference in average seek
time can be noticeable.

Previous issues said "Disk caching is good, but there can be too much of a
good thing.  Excessively large caches will slow the system because the overhead
for cache fills swamps the real accesses (this is especially a trap for
databases and other applications that do non-sequential I/O).  More than 100K
of cache is probably a bad idea for a general-purpose UNIX box; watch out for
manufacturers who inflate cache size because memory is cheap and they think
customers will be impressed by big numbers."  This may no longer be true on
current hardware; in particular, most controllers will interrupt a cache-fill
to fulfill a `real' read request.

In any case, having a large cached hard drive (particularly in the IDEs) often
does not translate to better performance.  For example, Quantum makes a 210Mb
IDE drive which comes with 256Kb cache.  Conner and Maxtor also have 210Mb
drives, but only with 64Kb caches.  The transfer rate on the drives, however,
show that the Quantum comes in at 890Kb/sec, while the Maxtor and Conner fly
away at 1200Kb/sec.  Clearly, the Conner and Maxtor make much better use of
their smaller cache.
 
Many retailers seem to enjoy advertising the "9ms" Quantum 52/80/120/200Mb
drives.  This speed, of course, is bogus.  All the quantum drives are at least
16ms is average access.  The 9ms already includes the cacheing speedup.

However, it may be that *any* hardware disk caching is a lose for UNIX!  Scott
Bennett <bennett@mp.cs.niu.edu> reports a discussion on comp.unix.wizards:
"nobody found the hardware disk caches to be as effective in terms of
performance as the file system buffer cache...In many cases, disabling the
hardware cache improved system performance substantially.  The interpretation
of these results was that the caching algorithm in the kernel was superior to,
or at least better tuned to UNIX accesses than, the hardware caching
algorithms."

Thus, if your disk controller allows it, try disabling the cache.  Your 
throughput may go up!

F. Souping Up X Performance

One good way to boost your X performance is to invest in a graphics card with a
dedicated blitter or high-speed local-bus connection, like the ATI series or
the S3-based Quantum, Wind/X and Orchid Fahrenheit 1280.  A number of clone
vendors offer these accelerator options relatively cheap and can make your X go
like a banshee; however, stock X doesn't support them yet.  Third-party servers
are available from MetroLink (email sales@metrolink.com) or SGCS
(info@sgcs.com).

Here is a current price list from MetroLink:

   Runtime (all servers, standard and contrib clients) : 299.00
   Development (full X11 and Motif 1.1.4 libraries)    : 299.00
   Xv - Real-Time Video in an X window (true server    :  99.00
        extension)
   Xie - X Imaging Extension                           : 199.00

And here is the corresponding info from SGCS:

     Ref #                Description                           Price
      -----    ---------------------------------------------     ------
       ** 1    Full X11R5 binaries licensed for a single CPU     295.00
          2    Additional X11R5 binary license                    50.00
       ** 3    Enhanced X11R5 source code (note 4)               195.00
          4    MIT source code of contributed clients (note 5)    50.00
       ** 5    Motif binaries for a single CPU                   245.00
          6    Additional Motif binary license                    60.00
       ** 7    X11R5 Documentation Set                           150.00
          8    PHIGS Documentation Set                            75.00

    ** DISCOUNTS:
    If your choose more than one selection from any of the (**) items above
    you will receive the following discounts:  $50 off on 2 selections,
    $75 off on 3 selections, $100 off on 4 selections

In general, the ATI approach (normal bus, dedicated blitter and optimization
for special functions like character drawing) will speed up text display, text
scrolling and window resize/move operations a lot, but line-drawing and
graphics only a little.  S3, on the other hand, speeds up high-bandwidth
graphics drawing a lot but doesn't have as big an advantage for ordinary
text operations.  You pays your money and takes your choice.  Benchmarks
indicate that most non-CAD users are better served by the ATI approach.

If you're feeling *really* flush, plump for a 15", 17" or even 20" monitor.
The larger size can make a major difference in viewing comfort.  Also you'll be
set for VESA 1280x1024 when everybody gets to supporting that.  In the mean
time, the bigger screen will allow you to use fonts in smaller pixel sizes so
that your text windows can be larger, giving you a substantial part of the
benefit you'd get from higher pixel resolutions.

If you can, buy your monitor from someplace that will let you see the same
monitor (exact same, not the same monitor) that will be on your system.
There's a *lot* of quality variation even in "premium" monitor brands.

The VESA (Video Electronics Standards Association) standard for local bus video
connectors is now out.  When you buy local-bus motherboards, insist that they
be VESA-conforming.  Be very clear about this and get a commitment from your
vendor; some unscrupulous operations may still be attempting to unload pre-VESA
motherboards on unsuspecting customers.

V. Tape Drive Follies

You should have a tape drive for backup, and because most UNIX vendors like to
distribute their OS on tape.  Ideally, your tape backup should be able to image
your entire disk.  Unfortunately, this can get quite expensive for large disks,
as we'll see below.

There are two major technologies in today's desktop tape drive market; QIC
(Quarter Inch Cartridge) at the low end and midrange, and DAT (Digital Audio
Tape) at the high end.  The dividing line is about 1MB capacity.

DAT is a new technology; it's not far down its price curve yet, but clearly
where the future is.  DAT drive capacities are quoted in *gigabytes* (that is,
thousands of megabytes).

Conventional QIC drives have capacities up to 525 megabytes (a little more than
half a gig).  They are a mature technology, but one plagued by hardware
incompatibilities and driver bugs.  Part of the problem is that, until
recently, hard disks were small enough relative to a floppy's capacity that
demand for high-volume backup technology was low in the PC world; QIC vendors
tended to be small, insular, technology-driven firms relatively uninterested in
standardization.

As a result, understanding tape drive specifications is far from trivial.
Tape drive standards are develeped by Quarter Inch Cartridge Drive Standards,
Inc. (805-963-3853), a consortium of drive and media vendors.  They develop
standards for controllers, transports, heads, and media.  Some of these
become ANSI standards.  We'll discuss the most iomportant ones here.

Common Tape Drive Interfaces:

	QIC-02     --- intelligent hardware tape interface
	QIC-36     --- simple hardware tape interface
	QIC-104/11 --- SCSI-1 tape interface
	QIC-121    --- SCSI-2 tape interface

These standards describe the drive controller.  QIC-02 is presently by far the
most common, and QIC-36 nearly obsolete (it was designed at a time when
on-board intelligence for controllers was much more expensive than now).  The
SCSI standards are only rarely cited by number; usually, QIC-104 and QIC-121
devices are referred to simply as "SCSI tapes".

Common Recording formats:

	QIC-24     --- 9-track  60-Mbyte tape format
	QIC-120    --- 15-track 125-Mbyte tape format
	QIC-150    --- 18-track 150-Mbyte tape format
	QIC-525    --- 26-track 525-Mbyte tape format

These standards describe the drive itself. 

Now, in theory, these standards are upward compatible; that is, a QIC-120 drive
can read a QIC-24 tape, a QIC-150 drive can read both QIC-120s and QIC-24s, and
so on.  There's a potential gotcha here, though, called "media
incompatibility".  Thus, we also need to consider:

Common media:

	DC600A     --- for QIC-24 and QIC-120 drives
	DC6150     --- for QIC-150 drives
	DC6525     --- for QIC-525 drives

The Wangtek 5150ES (and possibly some other 525-megabyte drives) will,
according to its documentation, decode QIC-24 --- but it won't read a DC600A
medium!

So, make sure your tape drive can read the media your OS vendor is going to
ship on.  QIC-24 on DC600As and QIC-150 on DC6150s are very widely used as a
software distribution format in the UNIX world, and you probably want to make
sure your drive can read them.

60/120MB QIC drives are fairly cheap now but larger sizes (typically 150, 250,
525 QIC tapes and 1.3gig DAT) are not.  DAT drives, in particular, cost more
than a grand each (however, if you have large drives the cost difference can
quickly get weaten up by media costs).

One interesting point is that if you've gone SCSI, a 150MB QIC (comparable to
the drives now popular on Suns) may well be cheaper than older 60MB technology;
the win is in the controller prices, which have plummeted since QIC-24 was the
cutting edge.

Tape drives are easy to find and pretty safe to buy through mail order.  It's
also possible to buy reconditioned but warrantied used drives substantially
cheaper than new.  One correspondent recommended Super Technologies of Chino,
CA (800 322 3999); they'll sell you a rebuilt Wangtek 150 with a 7-month
warranty and a controller card for $300 and change, or a DAT drive for $800.

Ron Swanson	612-733-9458
Dale Huff	612-736-0551

VI. Of Mice and Machines

In a previous issue, I claimed that all mice and trackballs are the same for
compatibility purposes.  I was wrong -- seriously wrong.  The more I found out,
the messier the picture gets.  The following is an attempt to sort out all the
confusion.  Thanks to Jim McCarthy at Logitech for digging into the matter
and somewhat alleviating my ignorance.

Mice and trackballs used to be simple; now, thanks to Microsoft, they're
complicated.  In the beginning, there was only the Mouse Systems 3-button
serial mouse; this reported status to a serial port 30 times a second using a
5-byte serial packet encoding now called "C" protocol.  The Logitech Series 7
and 9 mice were Mouse Systems-compatible.  All UNIXes that have any mouse
support at all understand C-protocol serial mice.

Then Microsoft got into the act.  They designed a two-button serial mouse which
reports only deltas in a three-byte packet; that is, it sends changes in button
status and motion reports only when the mouse is actually moving.  This is
called `M' protocol.  Microsoft sold a lot of mice, so Logitech switched from
`C' to `M' --- but they added a third button, state changes for which show up
in an optional fourth byte.  Thus, `M+' protocol, upward-compatible with
Microsoft's `M'.  Most UNIX vendors add support for M+ mice, but it's wise to
check.

Bus mice are divided into 8255 and InPort types.  These report info
continuously at 30 or 60 Hz (though InPort mice have an option for reporting
deltas only), and you get interrupts on events and then have to poll hardware
ports for details.  More on these next issue.

In addition to serial mice and bus mice, there are "keyboard mice".  On PS/2s
there are two identical-looking keyboard ports, labeled (with icons) "mouse" &
"keyboard".  Both are 8 or 9 pin mini-DIN's that look like the regular PC
keyboard port only smaller.  I don't know what logical protocol the keyboard
mouse speaks.  Physically, the connector is eventually connected to the
keyboard processor (often an 8042).  The same keyboard processor that decodes
the keyboard decodes the mouse.  PS/2s have this port, many newer ISA/EISA
motherboards do as well.

All things considered, UNIX users are probably best off going with a serial
mouse (most current clone motherbords give you two serial ports, so you can
dedicate one to this and still have one for the all-important modem).  Not only
are the compatibility issues less daunting, but a serial mouse loads the
multitasking system less due to interrupt frequency.  Beware that most clone
vendors, being DOS oriented, bundle M-type mice for which UNIX support is
presently spotty, and they may not work with your X.  Ignore the adspeak about
dpi and pick a mouse/trackball that feels good to your hand.

On the other hand: PS/2 mice deliver quadrature output (raw mouse output that
all mice speak) straight to the computer.  This is also how Atari and Amiga
mice work.  This is quite nice, because it makes the mouse simpler (and
therefore more reliable), and because you only get interrupts when the mouse is
actually doing something.  This also means that if your PS/2 mouse breaks you
can get a cheap Atari or Amiga mouse (and they *are* cheaper) to replace it
without sacrificing mechanical quality (which is the important part).

VII. When, Where and How to Buy

If you're a serious UNIX hacker for either fun or profit, you're probably in
the market for what the mail-order vendors think of as a high-end or even
`server' configuration, and you're going to pay a bit more than the DOS
lemmings.  On the other hand, prices keep dropping, so there's a temptation to
wait indefinately to buy.  A tactic that makes a lot of sense in this market,
if you have the leisure, is to fix in your mind a configuration and a trigger
price that's just a little sweeter than the market now offers and buy when
that's reached.

Direct-mail buying makes a lot of sense today for anyone with more technical
savvy than J. Random Luser in a suit.  Even from no-name mail-order houses,
parts and system quality tend to be high and consistent, so conventional
dealerships don't really have much more to offer than a warm fuzzy feeling.
Furthermore, competition has become so intense that even mail-order vendors
today have to offer not just lower prices than ever before but warranty and
support policies of a depth that would have seemed incredible a few years back.
For example, many bundle a year of on-site hardware support with their medium-
and high-end "business" configurations for a very low premium over the bare
hardware.

Note, however, that assembling a system yourself out of mail-order parts is
*not* likely to save you money over dealing with the mail-order systems
houses.  You can't buy parts at the volume they do; the discounts they command
are bigger than the premiums reflected in their prices.  The lack of any
system warranty or support can also be a problem even if you're expert enough
to do the integration yourself --- because you also assume all the risk of
defective parts and integration problems.

Cruise through "Computer Shopper" and similar monthly ad compendia.  Even if
you decide to go with a conventional dealer, this will tell you what *their*
premiums look like.

If you do a lot of PC buying, you will want to subscribe to ClariNet
Communications's "Street Price Report".  This is issued every other Thursday;
you can have it emailed to you, or get it from an FTP site and decrypt it using
an emailed key.  It's basically a digest of current prices for all kinds of PC
hardware and software, collected from the ad sections of major magazines
including "Computer Shopper" and "PC Magazine".  Once you've cruised the
magazines, you know what you want and are after the lowest price, you can nail
it without fail with the Street Price Report.

Another alternative to conventional dealerships (with their designer "looks",
stone-ignorant sales staff, and high overheads that *you* pay for) is to go
with one of the thousands of the hole-in-the-wall stores run by immigrants from
the other side of the International Date Line.  They're usually less ignorant
and have much lower overheads; they do for you locally what a mail-order house
would, that is assemble and test parts they get for you from another tier of
suppliers.  You won't get plush carpeting or a firm handshake from a white guy
with too many teeth and an expensive watch, but then you didn't really want to
pay for those anyway, right?

A lot of vendors bundle DOS 5.0 and variable amounts of DOS apps with their
hardware.  You can tell them to lose all this cruft and they'll shave $50 or
$100 off the system price.  However, David Wexelblat observes "there are at
least two situations in which the Unix user will need DOS available: 1) most,
if not all, EISA configuration utilities run under DOS, and 2) SCSICNTL.EXE by
Roy Neese is a godsend for dealing with SCSI devices on Adaptec boards."

Don't forget that (most places) you can avoid sales tax by buying from an
out-of-state mail-order outfit, and save yourself 6-8% depending on where you
live.  If you live near a state line, buying from a local outfit you can often
win, quite legally, by having the stuff shipped to a friend or relative just
over it.  Best of all is a buddy with a state-registered dealer number; these
aren't very hard to get and confer not just exemption from sales tax but
(often) whopping discounts from the vendors.  Hand him a dollar afterwards to
make it legal.

(Note: I have been advised that you shouldn't try the latter tactic in
Florida -- they are notoriously tough on "resale license" holders).

(Note II: The Supreme Court recently ruled that states may not tax out-of-state
businesses under existing law, but left the way open for Congress to pass
enabling legislation.  Let's hope the mail-order industry has good lobbyists.)

On the other hand, one good argument for buying locally is that you may have to
pay return postage if you ship the system back.  On a big, heavy system, this
can make up the difference from the savings on sales tax.

VIII. Questions You Should Always Ask Your Vendor

A. Minimum Warranty Provisions

The weakest guarantee you should settle for in the mail-order market should
include:

* 72-hour burn-in to avoid that sudden infant death syndrome.  (Also,
  try to find out if they do a power-cycling test and how many repeats
  they do; this stresses the hardware much more than steady burn-in.)

* 30 day money-back guarantee.  Watch out for fine print that weakens this
  with a restocking fee or limits it with exclusions.

* 1 year parts and labor guarantee (some vendors give 2 years).

* 1 year of 800 number tech support (many vendors give lifetime support).

Additionally, many vendors offer a year of on-site service free.  You should
find out who they contract the service to.  Also be sure the free service
coverage area includes your site; some unscrupulous vendors weasel their way
out with "some locations pay extra", which translates roughly to "through the
nose if you're further away than our parking lot".

If you're buying store-front, find out what they'll guarantee beyond the
above.  If the answer is "nothing", go somewhere else.

B. Documentation

Ask your potential suppliers what kind and volume of documentation they supply
with your hardware.  You should get, at minimum, operations manuals for the
motherboard and each card or peripheral; also an IRQ list, and a bad-block
listing if your Winchester is ESDI rather than IDE or SCSI (the latter two
types of drive do their own bad-block mapping internally).  Skimpiness in this
area is a valuable clue that they may be using no-name parts from Upper
Baluchistan, which is not necessarily a red flag in itself but should prompt
you to ask more questions.

C. A System Quality Checklist

There are various cost-cutting tactics a vendor can use which bring down the
system's overall quality.  Here are some good questions to ask:

* Is the memory zero-wait-state?  One or more wait states allows the vendor to
  use slower and cheaper memory but will slow down your actual memory subsystem
  throughput.  This is a particularly important question for the *cache*
  memory!

* Is the monitor non-interlaced?  Does it have a tilt-and-swivel base?  Is it
  *color*?  Yes, if you don't see it in the ad, ask; some lowball outfits will
  try to palm off so-called "black & white VGA" monitors on you.  What's the
  vertical scan rate?  60Hz is SVGA standard; 72Hz is VESA standard and
  minimal for flicker-free operation; 80Hz is cutting-edge.  What's the dot
  pitch?  .31mm is minimal, .28mm or .27mm is good.  You need .28mm for X.
  A slightly larger dot pitch is acceptable in a larger monitor (16" or more).

* If you're buying a factory-configured system, does it have FCC certification?
  While it's not necessarily the case that a non-certified system is going
  to spew a lot of radio-frequency interference, certification is legally
  required --- and becoming more important as clock frequencies climb.  Lack
  of that sticker may indicate a fly-by-night vendor, or at least one in
  danger of being raided and shut down!

IX. Things to Check when Buying Mail-Order

A. Tricks and Traps in Mail-Order Warranties

Reading mail-order warranties is an art in itself.  A few tips:

Beware the deadly modifier "manufacturer's" on a warranty; this means you have
to go back to the equipment's original manufacturer in case of problems and
can't get satisfaction from the mail-order house.  Also, manufacturer's
warranties run from the date *they* ship; by the time the mail-order house
assembles and ships your system, it may have run out!

Watch for the equally deadly "We do not guarantee compatibility".  This gotcha
on a component vendor's ad means you may not be able to return, say, a video
card that fails to work with your motherboard.

Another dangerous phrase is "We reserve the right to substitute equivalent
items".  This means that instead of getting the high-quality name-brand parts
advertised in the configuration you just ordered, you may get those no-name
parts from Upper Baluchistan --- theoretically equivalent according to the
spec sheets, but perhaps more likely to die the day after the warranty expires.
Substitution can be interpreted as "bait and switch", so most vendors are
scared of getting called on this.  Very few will hold their position if you
press the matter.

Another red flag: "Only warranted in supported environments".  This may mean
they won't honor a warranty on a non-DOS system at all, or it may mean they'll
insist on installing the UNIX on disk themselves.

One absolute show-stopper is the phrase "All sales are final".  This means you
have *no* options if a part doesn't work.  Avoid any company with this policy.

B. Special Questions to Ask Mail-Order Vendors Before Buying

* Does the vendor have the part or system presently in stock?  Mail order
  companies tend to run with very lean inventories; if they don't have your
  item in stock, delivery may take longer.  Possibly *much* longer.

* Does the vendor pay for shipping?  What's the delivery wait?

* If you need to return your system, is there a restocking fee? and will the
  vendor cover the return freight?  Knowing the restocking fee can be
  particularly important, as they make keep you from getting real satisfaction
  on a bad major part.  Avoid dealing with anyone who quotes more than a 15%
  restocking fee --- and it's a good idea, if possible, to avoid any dealer
  who charges a restocking fee at all.

C. Payment Method

It's a good idea to pay with AmEx or Visa or MasterCard; that way you can stop
payment if you get a lemon, and may benefit from a buyer-protection plan using
the credit card company's clout (not all cards offer buyer-protection plans,
and some that do have restrictions which may be applicable).  However, watch
for phrases like "Credit card surcharges apply" or "All prices reflect 3% cash
discount" which mean you're going to get socked extra if you pay by card.

X. Which Clone Vendors to Talk To

I went through the March 1992 issue of Computer Shopper calling vendor 800
numbers with the following question: "Does your company have any
configurations aimed at the UNIX market; do you use UNIX in-house; do
you know of any of the current 386 or 486 ports running successfully
on your hardware?

I didn't call vendors who didn't advertise an 800 number.  This was only partly
to avoid phone-bill hell; I figured that toll-free order & info numbers are so
standard in this industry sector that any outfit unable or unwilling to spring
for one probably couldn't meet the rest of the ante either.  I also omitted
parts houses with token systems offerings and anybody who wasn't selling
desktops or towers with a 386/33DX or heavier processor inside.

After plundering Computer Shopper, I called up a couple of "name" outfits that
don't work direct-mail and got the same info from them.

The answers I get revealed that for most clone vendors UNIX is barely a blip on
the screen.  Only a few have tested with an SVr4 port.  Most seem barely aware
that the market exists.  Many seem to rely on their motherboard vendors to tell
them what they're compatible, without actually testing whole systems.  Since
most compatibility problems have to do with peripheral cards, this is a
problem.

Here's a summary of the most positive responses I got:

A --- Advertises UNIX compatibility.
C --- Has known UNIX customers.
I --- Uses UNIX in-house.
T --- Have formally tested UNIX versions on their hardware.
F --- Have 486/50 systems
* --- Sounded to me like they might actually have a clue about the UNIX market.

Vendor		A C I T	F *	Ports known to work
---------------	- - - -	- -	-----------------------------------------------
ARC		. . X X . .	SCO XENIX 2.3.2, SCO UNIX 3.2.1
AST		. X X X X *	SCO UNIX 3.2.4, ODT 2.0 Microport V/4
Allegro		. . X X . .	SCO XENIX 3.2.4
Altec		. X . X	. .	XENIX (no version given).
Ares		. X X X X *	AT&T 3.2, ISC (version unknown)
Basic Time	. X X X X *	SCO XENIX 2.3.2, have in-house UNIX experts.
Binary Tech	. X . X X .	Claims to work with all versions.
Blue Dolphin	. X . X X *	SCO XENIX.
CCSI		X X . . X .	They've used SCO XENIX, no version given.
CIN		. X . . . .	SCO UNIX (version not specified)
CSS		. X . X . *	SCO 3.2.2, ISC 3.0, SCO ODT. See Will Harper.
Centrix		X . . . . .	No specifics on versions.
Compudyne	. X X X X .	Couldn't get details on which versions.
Comtrade	. X . X X .	Couldn't get details on which versions.
Datom		X X X X X .	SCO XENIX 3.2.
Dell		X X X X X *	See Dell SVr4 data. 
Desert Sands	X X . X X .	SCO UNIX 3.2.4
Digitech	. X . X . .	SCO UNIX 3.2.1, XENIX 2.3.1
EPS		X X X X . *	SCO XENIX 3.2.4, ISC & AT&T (versions not sp.) 
Gateway 2000	X X X X	X *	SCO UNIX 3.2.0. XENIX 2.3.4 ISC 3.0, ESIX 4.0.3
HD Computer	. X . X X .	SCO UNIX 3.2, SCO XENIX 3.2.2
HiQ		. X . X . .	SCO UNIX (version not specified)
Infiniti	. X . X X .	SCO UNIX (versions not specified)
Insight		. . X . X .	SCO XENIX 3.2.4.  No tech support for UNIX
Keydata		X . X X X *	SCO version 4, ISC 3.2
Legatech	. X . . X .	SCO UNIX, ISC (versions not specified)
MicroGeneration	. . X . . .	Uses XENIX.
MicroLab	X . . . . .	SCO UNIX, SCO XENIX
MicroSmart	X X . X . .	SCO XENIX (version not specified)
Microlink	X . . X X .	SCO XENIX (version not specified)
Myoda		X X . X X .	SCO XENIX 3.2.2, ISC 3.2
Naga		. X . X X *	SCO & XENIX 3.2.
Northgate	X X . X X *	SCO UNIX 3.2
PC Brand	. X X X . .	SCO XENIX, ISC UNIX
PC Professional	. X . X . .	ISC 3.2
PC-USA		X X . X . .	ISC 5.3.2 and SCO 3.2
Profex		. X . X	. .	SCO XENIX 3.2.
Royal Computer	. X . . X .	No details on versions.
SAI		X X . X X .	SCO UNIX 3.2.2.
Santronics	. . X X X .	SCO XENIX 3.2.4
Solidtech	. X . . . .	Dell (no version given), ISC 3.2.
Strobe		. . . X X .	SCO, Microport, ISC (no version numbers given)
Swan		X X X X X *	SCO 2.3.1, UNIX 3.2, ISC 3.2v2.0.2
TriStar		. X X X X *	SCO UNIX 3.2.2, XENIX 2.3.2, ISCr4
Zenon		. X . X X *	SCO UNIX (version not specified)
Zeos		. X X X X *	SCO XENIX 3.2.4, AT&T 3.2

Special notes about a few vendors who appear to have a clue:

Ares targets some of its systems for UNIX CAD use.  They have a house wizard
name Ken Cooper (everybody calls him "K.C.").

EPS targets some 486 EISA configurations for UNIX.

Swan doesn't know the UNIX market very well yet, but their project manager
wants a bigger piece of it and is interested in doing some of the right
things.  They have a house wizard, one John Buckwalter.

Dell, of course, supports an industry-leading SVr4 port.  They're a bit on
the pricy side, but high quality and very reliable.  Lots of UNIX expertise
there; some of it hangs out on the net.

Zeos is on the net as zeos.com, with a uunet connection; they host a UNIX BBS.
They have an in-house UNIX group reachable at support@zeos.com; talk to Ken
Germann for details.  There are biz.zeos.general and biz.zeos.announce groups
on USENET.

Special notes about a lot of vendors who appear to have *no* clue:

Vendors where I couldn't get a real person on the line, either because
no one answered the main number or because I couldn't raise anyone at
tech support after being directed there: Sunnytech, Quantex, AMS, USA
Flex, Lapine, Syntax Computer, MicroTough, PAC International, The Portable
Warehouse.

Vendors where the question met with blank incomprehension, puzzlement,
consternation, or "We've never tested with UNIX": Allur, AmtA, Aplus, HiTech,
Locus Digital Products, LodeStar, TriStar Computers, Ultra-Comp, UTI Computers,
PC Turbo Corp, Evertek, Microcomputer Concepts, Jinco Computers, UWE, ToughCom,
System Dynamics Group, Terribly Fast Bus Systems.

Vendors who understood the questions but had no answer: Bulldog Computer
Products, LT Plus, Standard Computer, JCC.

Vendors who said "Yes, we're UNIX-compatible" but had no details of any tests:
CompuCity.

Vendors who said "Go ask our motherboard vendor": Ariel Design, Lucky Computer
Co., V-com, Professional Computer, MicroLine, MileHi.

Vendors who sent me to a toll number: Absec, Hokkins, New Technologies, Mirage.

Vendors that believe they have UNIX customers, but can't be any definite than
that: Austin Computer Systems, PC Professional, Treasure Chest Computer
Systems, CompuAdd Express, FastMicro, MidWest Micro.

Final note:

If you order from these guys, be sure to tell them you're a UNIX customer
and don't need the bundled DOS.   This will shave some bucks off the system
price, *and* it may encourage them to pay more attention to the UNIX market.
--
	Send your feedback to: Eric Raymond = esr@snark.thyrsus.com