[conspire] new computer?
Rick Moen
rick at linuxmafia.com
Tue Nov 20 03:19:04 PST 2018
Quoting Ivan Sergio Borgonovo (mail at webthatworks.it):
> I tend to use computers till some of their parts start to be
> unreliable.
Same here, though in many cases I've given them away before that.
Some of the difference in our perceptions may trace to just the fact
of Silicon Valley being atypical. At any given time, there's a great
deal of slightly used and very good hardware floating around (along with
a great deal that isn't good, of course). Machines two years old can,
if you poke around, be found in peak condition at high discount.
Speaking for myself, I also got really good at avoiding hardware (and
hardware components) that's likely to have either reliability or
software-support problems for a very long time, (mostly) unconsciously
implementing Moen's Law of Hardware.
http://linuxmafia.com/~rick/lexicon.html#moenslaw-hardware
Moen's Law of Hardware
After years of helping people with hapless computer-hardware woes,
especially trouble-prone categories such as Linux on laptops, exotic
peripheral interfaces, etc., it occurred to me to wonder why I never had
such problems. It was mainly because of instinctive avoidance of dodgy,
exotic, new, and/or badly designed components -- which happens to track
strongly with programmers' characteristic prejudices. There's a logic to
that, which may not be immediately apparent to many:
Drivers for hardware don't emerge like Athena from the head of Zeus:
Someone has to create them. Especially for open-source OSes such as
Linux, this involves a chipset being brought to market, for it to be out
long enough for coders to buy and start using it, and for them to (if
necessary, absent manufacturer cooperation) do the hard work of
reverse-engineering required to write and debug hardware support. Then,
the resulting code filters out to various OS distributions' next
releases, and thus eventually to users.
It follows that, if you blithely buy what's new and shiny, or so badly
designed or built that coders eschew it, or so exotic that coders tend
not to own it, it will probably have sucky software support, especially
in open source. (Proprietary drivers can be written under NDA, often
before the hardware's release, while manufacturer help is routinely
denied to the open source world.) Conversely, if you buy equipment
that's been out for a while, doesn't suffer the (e.g., Diamond
Multimedia) problem of chip-du-jour, is bog-standard and of good but not
exotically expensive quality, it will probably have stellar driver
quality, because coders who rely on that hardware will make sure of
that.
Thus, it's very common for slightly ageing but good-quality gear to
outperform and be more reliable than the latest gee-whiz equipment,
because of radically better software support — not to mention the price
advantage.
Ergo, in 1999, instead of buying a current-production laptop to run
Linux on, I bought, used, a Sony VAIO PCG-505TX, because I knew several
Linux kernel coders had been using those as primary machines.
Performance and stability have been exceptional.
More broadly, if you can identify the types of gear programmers would
favour — and avoid — you'll be ahead of the game. Coders would avoid
winmodems / winprinters, brand-new 3D video chipsets, cheesy and
unsupported SATA "fakeraid" chipsets, low-end scanners reached through
parallel ports ganged to ATAPI ganged to SCSI chipsets, cheap
multifunction scanner/printer/fax boxes, hopelessly proprietary USB aDSL
bridge cards, etc. They would favour parts of standard interface,
command-set, and chipset design and high enough quality that they might
be reused in multiple machines over a long service life.
That's a rather old lexicon-page entry, as witness the reference to
winmodems. However, I've found it to still voice general truth.
> A really big slice of economy now run on Linux. No one would be so
> crazy to put on the market "common hardware" that can't run Linux
> and nowaday chipset are highly coupled with the CPU (so coupled I'm
> not aware of any chipset made by 3rd parties other than the CPU
> maker).
Well, I just mentioned about the very recent Intel chipset that was
quite terrible for Linux (instability) for the better part of a year
after it was already the basis for wildly popular PC models. That's
really not that uncommon among brand-new motherboard/CP chipsets, sadly.
> Notable exceptions are: wifi for notebooks, video boards, ethernets.
Well, here's what happens quite a bit: Broadcom (say) introduces yet
another cheap ethernet chipset that is only a tiny bit different from
the prior one, and probably works with one of the existing Linux open
source drivers with little or no modifiction, except for one little
problem: It has a new PCI ID identifier, which means that kernel
autoprobing will not know what driver to modprobe for it. So, all those
customers buying it as new hardware for Linux will be mystified at the
apparently unsupported ethernet hardware. _Very_ determined users may
read a technical analysis or figure out the problem and patch the PCI
IDs database to compensate, but otherwise users will need to await a new
packaged kernel incorporating the PCI IDs update.
More information about the conspire
mailing list