Cool PC Stuff
- Vector Processing
- Mostly Windows PC Stuff
- Scams
- Mostly UNIX and Linux PC Stuff
- My gripes about PC hardware
- Hardware Odds 'n Ends
- Hardware Links
- Software Links
UNIX and Linux stuff was moved here

Computer & Electronics stuff can be found
here

VMS on VAX, OpenVMS Alpha and Itanium can be found
here

Vector Processing
Traditionally, processor technology was defined like this:
Then CISC and RISC vendors began to add
vector processing
instructions to their processor chips which blurred everything
- Minicomputer / Workstation
- 1989:
DEC adds vector processing capabilities to their
Rigel
microprocessor
- 1989:
DEC adds optional vector processing to
VAX-6000 model
400 (called VAXvector)
- 1994:
VIS 1
(Visual Instruction Set) was introduced into
UltraSPARC
processors by SUN
- 1996: MDMX (MIPS
Digital Media eXtension) is released by MIPS
- 1997:
MVI
(Motion Video Extension) was implemented on Alpha 21164PC from
DEC/Compaq. MVI appears again in Alpha 21264 and Alpha 21364.
- Microcomputer / Desktop
- 1997:
MMX
was implemented on P55C (a.k.a. Pentium 1)
from Intel
- the first Intel offering involved 57 MMX instructions
- 1998: 3DNow!
was implemented on AMD K-2
- 1999: AltiVec
(also called "VMX" by IBM and "Velocity Engine" by Apple) was
implemented on PowerPC 4 from Motorola
- 1999:
SSE
(Streaming SIMD Extensions)
was implemented on Pentium 3 "Katmai" from Intel.
-
this technology employs 128-bit instructions
-
SSE
was Intel's reply to AMD's
3DNow!
-
SSE
replaces
MMX
(both are SIMD but SSE uses its own floating point registers)
- 2001: SSE2 was
implemented on Pentium 4 from Intel
- 2004: SSE3 was
implemented on Pentium 4 Prescott on from Intel
- 2006: SSE4 was
implemented on Intel Core and AMD K10
- 2008:
AVX (Advanced Vector Instructions) proposed by Intel + AMD but
not seen until 2011
- this technology employs 256-bit
instructions
Putting
hyper
threading aside for a moment, we first see true
SMP
on the desktop in 2005 with Intel's dual-core
Pentium-D.
Since then, the number of cores from all vendors has only gone up
(AMD promises to put an 8-core Jaguar in PlayStation-4 due in Q4 of
2013).
But GPU (graphics programming units) take
vector processing to a whole new level. Why? A $200.
00
graphics card now equip your
system with 1500-2000 streaming processors and 2-4 GB of additional
high speed memory.
I've been in the computer hardware-software business for a long
time but can tell you that
things have only started to get real
interesting this side of Y2K (perhaps 2010). It is a wonderful time
to be alive.
Mostly Windows - PC Stuff
HP-Recovery Disks and Window-7 (problems)
caveat: this problem may also apply to recovery disks from other vendors
I purchased two PCs in 2010 (one for my wife and one for myself). They were
both HP-e9270f and sported Window-7 running on the following hardware: Intel Core-i7
quad CPU, 8-GB memory, 1-TB hard disk, Blu-ray player, RW-DVD and Radeon HD4650 Graphics Card.
These machines are fantastic AND are never turned off since they work on
distributed science projects
(folding-at-home and BOINC) when not used by us. Since we use these machines a bit harder
than most families I suppose a few problems were to be expected.
- In the May of 2012, Stanford University dropped Radeon HD-4000 series
cards from folding-at-home which prompted me to upgrade the graphics cards
in both machines to Radeon
HD-6570. I sold the HD-4650 series cards on eBay. (this
last fact will be
important shortly)
- In July of 2012, one of my HP machines began sending me
S.M.A.R.T. alerts
indicating that the hard drive would fail soon. (you have got to love new
technology)
- After a week of this I ordered a replacement drive from a local retailer
but a 10-day crisis at work prevented me from moving my stuff to the new
drive.
- In August of 2012, I finally got around attempting a full backup of the
problem drive but the drive became really slow then died during the
procedure. (would hang the system on reboot; the BIOS could see the drive,
but Windows was unable to load a driver)
- Next, I attempted to use the HP Recovery Discs to build a bootable
system drive which seemed to work until the HP Setup Phase after the first
reboot. Why? The system could not find a device driver (I am assuming it
couldn't find a driver
for the new Radeon HD-6570) and so wanted to reboot. Complying with this request
results in the same problem (infinite loop).
Comments:
- like Windows installs from
Microsoft, you would have thought HP would have offered a point where the
customer can install missing or third party drivers.
- clearly the new video card was working; the HP Recovery should have
allowed the system to come up limping (or at least offered me the option
of allowing it)
- At this point I thought the HP Recovery Disks burned by the customer might
not be the same as manufactured disks from HP and so attempted to buy some
from the HP support site. However, this plan was thwarted when the HP site
told be there were none available (perhaps they are getting ready to roll
out Windows-8)
- So now I needed a Microsoft installation disk and was considering doing
a torrent download (many times torrent software is infected) when I learned
that Microsoft has posted installation images online just for people like me
in this kind of jam. The best way to find these images is to locate the
Microsoft product code on the case (mine was X15-53758
for Windows-7 Home Premium 64-bit) then drop the product
code into Google. Caveat: X15-53758 is for Windows-7 but I
was allowed to install X17-58997 which is
Windows-7 with SP1.
- Okay so now I've got a bootable hard drive so what to do about the
sick/broken unit which contains recent data which never made it into the
most recent incremental backedup?
- When I booted the system from the new drive with the sick/broken
drive attached (as a secondary drive in the BIOS), the system never
comes up. The Windows colored logo appears then at least 5-minutes pass
with the system trying to do something but never succeeding or failing
- So I booted the system with only on the good drive attached then
connected the sick drive after Windows-7 was fully operational. At this
point you would expect to see Windows-7 load the device driver for the
sick drive but this never happens. Additional prodding from tools
COMPUTER>MANAGE>DEVICE MANAGER and
COMPUTER>MANAGE>STORAGE>DISK MANAGEMENT did not help at all.
- Many technicians are not aware of the fact that
cooling a flaky drive will save the day about 50% of the time
so
I placed the drive in my refrigerator over night (not in the freezer)
- The next morning I connected the chilled drive to my running system.
The driver loaded and the volume mounted automatically!
- I started copying files from the bad drive but after ten minutes you
could see the transfer rate begin to drop off. Placing the running drive
between two bags of frozen vegetables caused the transfer rate to speed
up until my copying was completed. Yippee!
Fixing problems in Windows-Vista
I have no idea why everyone seems to hate Microsoft's Windows-Vista.
The major complaint seems to be "Vista is a lot slower than Windows-XP"
but remember that the first release of Windows-XP seemed slow (compared
to Windows-2000) and wasn't acceptable to most users until XP-SP1 (Service
Pack 1). While it is true
that Vista is now at SP2 and we still haven't see speed ups like XP-SP1, Windows-Vista is not a lost cause.
Here are some things that are wrong (IMHO) with Vista
- Minimum hardware requirements were set too low (probably to tempt XP customers
to purchase an upgrade).
Microsoft published
these minimum requirements for Windows Vista:
- Windows Vista Home Basic
- 800-megahertz (MHz) 32-bit (x86) processor or 800-MHz 64-bit (x64)
processor
- 512 megabytes (MB) of system memory
Note On system configurations that use system memory
as graphics memory, at least 448 MB of system memory must be available
to the operating system after some memory is allocated for graphics.
- DirectX 9-class graphics card
- 32 MB of graphics memory
- 20-gigabyte (GB) hard disk that has 15 GB of free hard disk space
- Windows Vista Home Premium, Windows Vista Business, Windows Vista
Enterprise, and Windows Vista Ultimate
- 1-gigahertz (GHz) 32-bit (x86) processor or 1-GHz 64-bit (x64) processor
- 1 GB of system memory
- Windows Aero-capable graphics card
Note This includes a DirectX 9-class graphics card that supports
the following:
- A WDDM driver
- Pixel Shader 2.0 in hardware
- 32 bits per pixel
- 128 MB of graphics memory (minimum)
- 40-GB hard disk that has 15 GB of free hard disk space (the 15GB
of free space provides room for temporary file storage during the install
or upgrade.)
Problems with Microsoft's spec:
- Processor clock speeds are virtually meaningless:
- Due to differences in processor architecture (10-12 stage pipeline
in AMD chips vs. 30-31 stages in Pentium-4), AMD chips have always been
able to do more with slower clocks. Long pipeline chips from Intel always
did better when running static benchmarks but this is not the environment
you find in a real world OS were processes are interrupting each other.
(BTW, Intel is quietly reverted to shorter pipelines starting with Core
and Core2 processors)
- Here is a sampling of
PC MARK 2005 - CPU diagnostics published in 2008 by Tom's Hardware
where I only searched for the phrase "3200" in the clocking spec:
| Chip |
Clock |
Benchmark |
| Intel Pentium-4 640 |
3.2 GHz |
4037 |
| Intel Pentium D 840 |
3.2 GHz |
5300 |
| AMD Athlon 64 X2 6400+ |
3.2 GHz |
6576 |
| Intel Core 2 Extreme QX9770 |
3.2 GHz |
10310 |
- In this sampling of
PC MARK 2005 - CPU diagnostics published in 2006 by Tom's Hardware,
I located two neighboring processors with ridiculously different clock
speeds but similar benchmark results:
| Chip |
Clock |
Benchmark |
| AMD Athlon 64 FX-70 |
2600 MHz |
6598 |
| Intel Pentium EE 965 |
3733 MHz |
6341 |
- Why didn't Microsoft ever mention memory transfer rates? There are huge
differences between DDR and DDR2 memory chips. It seems to me that
Windows-XP is tuned in such a way as to be okay with DDR but
Windows-Vista seems to be more chatty with memory so would really
require DDR2.
- Microsoft seems to be relying upon the hardware boost provided by good
graphics cards, but in the real world, I have found that only techies and
gamers ever buy them. So if you don't have a good graphics card then you
will need more hardware horsepower.
- While the minimum hardware spec will allow Vista to boot, you will have
problems running apps like Windows Media Player, Microsoft Office, or
Personal Oracle.
My Recommendations:
- Don't bother with Vista unless your processor has at least two cores.
- Any dual core chip from AMD should be OK.
- Any Core2 chip from Intel should be OK.
- Only the extreme editions of Intel's Pentium-D CPU (which
was released before Core and Core2) are worth taking
a chance with Windows-Vista
- Windows-Vista systems need at least 1 GB of DDR2 memory but 2 GB is better. If your system
only has DDR memory then it is a better idea to stick with Windows-XP.
- You need at least 100 GB of hard disk space just to make the system
useable. Remember that a hard drive is not only required for Windows
binaries and your data storage, the OS requires a big chunk too for other stuff
(pagefile.sys, hiberfil.sys, rollback database, etc.)
- A good external graphics card can be counted upon to unload nitty-natty
tasks from your CPU (embedded graphics chip sets usually do not have their
own memory or can't do 3-d acceleration)
- Vista screens have been hijacked by artsy marketing people at Microsoft
to make Vista look different from XP (probably to justify charging triple-digit
dollars to upgrade to something that is only 10% changed). There is way too
much screen animation and other crap stealing resources from your system. Click
vista-fix-1 for steps to change this.
- Many logically located Windows-XP panels have been moved to illogically located
positions in Windows-Vista. For example, it is almost impossible to find the panel with
your Ethernet network adapter settings. Why was "Add Remove Programs" in XP
changed to "Programs and Features" in Vista? These changes are OK for techies
but the non-technical and geriatric members of my family are totally confused
by the Vista changes (so they call me to be their tech support guy for every
nitty-natty thing).
- Vista takes too much time to boot-up
because too many unnecessary services are enabled. Click
vista-fix-2 for steps to change this.
Some Vista Fixes
Fix Attempt #1 (make Vista look and act a little more
like XP while reducing memory usage and CPU overhead )
- Consider totally disabling Windows Side-bar (right click
on it to see how). It looks neat but adds too much overhead.
- Right-click on the Task Bar then select properties
- click the Start Menu tab then select Classic
Start menu button.
- uncheck both Privacy checkbox items (then click the
Apply button)
- now click the Customize button. Enable all
Advanced Start check boxes but disable "Use personalized menus"
then click the OK button
- click the Notification Area tab then check all System
icons but uncheck Hide inactive icons (then click the apply button)
- click the Toolbars tab then unclick all check boxes
except for Quick launch and Windows Media Player (then click the Apply button)
- now click OK and close this stuff
- Computer and Network icons should now be found on the desktop.
- right click on Computer then select Properties.
- Now click on Advanced system settings then click on
Settings button found in the Performance panel (top third).
- Now click on the radio-button located Adjust for best performance
then click the Apply button.
- Now click the OK buttons closing all this stuff.
- Right-click anywhere on the desktop background the click on Personalize.
- Now click on Window Color and Appearance. Make sure
your color scheme is either Windows Standard or
Windows Classic (looks like Windows NT 4.0). Never use
Windows Aero unless certain Microsoft apps request it. If you previously
had a black background color like me then you've probably just messed it
up. Click on the Advanced button to change it to whatever
you wish.
- Double click on Computer
- Go to the View menu changing from Icons
to Details.
- Now go to the Tools menu and select Folder
Options
- now click the General Tab
- select Windows Classic folders
- select Open each folder in its own window
- select Double-click to open an item
- click Apply
- Now go to the View tab
- Click everything starting with Display ...
- Unclick everything starting with Hide ... (we're
all adults here, right?)
- Click Apply
- Now go to the Search tab
- Click Always search filenames only
- Click Apply then OK
- Double click on Drive C
- Make sure the View is set to Details
- Fiddle with the view until it looks the way you want (right-click
on any column to add remove other columns)
- Click: Tools menu -> Folder options
item -> View tab -> Apply to Folders
button
Fix Attempt #2 (make Vista boot faster by tweaking
with msconfig)
Caveat: This paragraph is for experts only.
- Start -> Settings -> Control Panel -> Administrative Tools -> Services
Locate the entry named Server then right click on it and select
Properties
Now change Startup Type to either Delayed Start
or Manual
Note: Server was previously
known as LanManager which will never be used by most non-technical users
- Start -> Run -> msconfig -> services tab -> hide all microsoft
services -> uncheck these if they exist:
xaudio, vongo, stllsvr, roxmediad89, installdriver table manager, cyberlink
background, cyberlink task, Nero BackItUp Scheduler, NMIndexingService, DQLWinService,
HP Health Check Service (if you no longer want it), LightScribeService Direct
Disc Labeling Service (if you don't intend to ever use these disks)...and
anything else you think shouldn't be there. Check each one with Google making
sure you don't disable anything related to your anti-virus software. Some stuff
might have been installed by other apps. For example, roxmediad89 is sometimes
installed by Blackberry Desktop Manager so be careful. Click
http://www.asktheadmin.com/2008/01/my-vista-machine-is-slow-what-can-i-do.html
if you need more help before proceeding.
- Removing some Microsoft services
Start -> Run -> msconfig -> services tab -> uncheck Hide Microsoft
Services -> uncheck these services if they exist:
SuperPrefetch, ReadyBoost, Print Spooler (if you are like me and don't own any
printers), Windows Firewall (if you were not using it anyway; I use a LinkSys
firewall since a hardware solution is always better than software), Windows
Defender (if you were not using it anyway; I use "CA Security Center")
http://en.wikipedia.org/wiki/Windows_Vista_I/O_technologies
- Note: you will see the following
msconfig suggestion everywhere on the net but it will NOT speed up your boot.
Start -> Run -> msconfig -> boot tab -> advanced options
button:
check number of processors -> max=2 -> check maximum
memory <<<--- this whole line
does nothing
These settings are used to reduce the number of cores and/or memory
used when booting. When the checkboxes are unchecked, your system will use the
maximum number of processors and memory available. Click here for more information:
http://www.withinwindows.com/2008/08/09/tweaking-myth-increase-boot-performance-for-multi-core-users-with-msconfig/
Bad Capacitors on Dell OptiPlex GX-270
The other day (2012-11-14) I decided to take a look at a bunch of bad PC's
stacked up in our equipment room. Three of them were Dell model GX-270 all
sporting Pentium4 CPUs which means I should have sent them to our e-waste group,
but I was curious. All three machines sported 3 aluminum electrolytic capacitors
with very slight bulges on their top end (they are supposed to be perfectly
flat; the little "X" is a strain relief to prevent a defective capacitor from
exploding). All three boards were manufactured in China by FoxConn and all the
questionable caps are black plastic with gold lettering manufactured by
Nichicon.
- the first unit appeared to only have three bad caps.
- These were physically located on the middle of the motherboard and
rated 1500uF @6.3v
- I replaced them (these are multilayer printed
circuit boards so don't try this unless you have a lot of soldering
skills along with the right tools; I've been doing this for
40 years so I took a shot) and the unit booted
right up. Yippee!
- the second unit also appeared (on first inspection) to only have
three bad caps.
- These were physically located on the middle of the motherboard and
rated 1500uF @6.3v
- I replaced them and the unit POSTed okay (no beep codes; four green
LEDs visible on the back) but the video port would not initialized.
Closer inspection of the caps behind the CPU (nearest the video chip)
showed one cap (I do not yet know the value) with
a very tiny bulge.
- At this point a grabbed a very old PCI (not PCIe) ATI video card and
plug it into the top of the card riser. I was able to boot Windows-XP in
VGA-safe mode, disable the video driver for the on-board Intel graphics
chip, then reboot and come up on the ATI graphics card. (I really didn't
want to change any more caps)
- the third unit appeared to have six-or-seven bad caps.
- I started off replacing the same three I had some luck with on the
previous two PCs. These were physically located on the middle of the
motherboard and rated 1500uF @6.3v
- I replaced them and the unit POSTed okay (no beep codes; four green
LEDs visible on the back) but the system craps out within 5 seconds of
seeing the booting windows-xp logo.
- Surprisingly, if you drop into BIOS setup mode, the system will run
all day without crapping out
- Now I should point out that some of the eight caps all lined up
under the edge of the CPU are slightly brown on the top
surface (looks like rust but is probably burned electrolyte)
- When I find some time, I will attempt to replace the whole row of
dodgy-looking caps along the CPU edge but for now, this unit will go
back to our junk pile :-)
- More Info:
http://en.wikipedia.org/wiki/Dell_OptiPlex#Capacitor_Issues
Scams
2000 Hardware Scam (modems)
The previous 1995-2002 scam:
Before DSL and cable-modems were popular, most people connected to the internet
via a 56K (V.90 compatible) analog modem
connected to a phone line. These modems were available in four basic configurations:
| |
Modem Technology |
DSP Chip |
|
| 1 |
External appliance connected to your PC via a serial communications
cable |
Y |
Good |
| 2 |
Modem card plugged into an ISA (or EISA) slot of your PC |
Y |
Good |
| 3 |
Modem card plugged into a PCI slot of your PC |
N |
Bad |
| 4 |
Small match-box size external appliance connected to your PC via
a USB cable |
Y |
Good |
El-cheapo PCI models were truly evil because they did not contain any DSP
hardware. In order for them to do their jobs, they robbed resources from your
Pentium processor by tapping into the SIMD (MMX + SSE) extensions. The other
three models didn't have fast parallel access to the CPU so required their own
DSP chips.
So the bottom line was that "people in the know" had to resort to older ISA
internal modems (if you had an available slot) or USB-based external modems.
2008 Hardware Scam (wireless NICs)
The current 2005-2008 scam:
Have you ever wondered why some PCI-based wireless cards (a.k.a. wireless
RF modems) can be sold for $19.00
while USB-based wireless adapters like WUSB11B from LinkSys cost twice as much?
Same scam as the analog modems described above. Some PCI-based cards only contain
2 small chips (small = 1.5 x 1.5 cm : large = 2.7 x 2.0 cm) and no onboard DSP.
To get the job done, the device driver is used to bridge PCI-based hardware
with SIMD (MMX + SSE + SSE2) extensions in your CPU. Notice that this time I added
SSE2 to the list. If you attempt to install one of these 2-chip PCI-based wireless
cards into a Pentium-3 or earlier with no SSE2 present, the installation will usually
fail with some strange error which never mentions that a Pentium-4 processor or
SSE2 was a minimum requirement. On top of this, if the card does install properly
in your Pentium-4, constant network chatter will rob your system of valuable CPU
resources which could affect other activities like
folding@home
Theses two cards mysteriously
(no relevant error messages) failed during the installation on my Pentium-3
but installed properly on my Pentium-4:

ZONET -
WES1605
which is based upon the Libertas 802.11g/b Wireless chipset (W8335)
from Marvell Semiconductor, Inc.
Notice that this is only a half-height PCI card.

Cyber Station -
NW-5411
which is based upon the RTL8185 54M Wireless LAN Network Adapter from
Realtek
For some reason, this picture has a piece of gray tape over the larger
chip.
BTW, I'm not trashing
these these companies or their products; just be aware that there is a reason
why these half-height PCI cards cost $19.
This PCI card worked properly on all my computers (
VERY
HIGH QUALITY):

Netgear -
WN311B
Supports: 802.11n as well as 802.11b/g
Note: purchased for $29 at a technology liquidator
Theses two USB products worked properly on all my computers:

LinkSys
WUSB11 (v4)
Supports: 802.11b
Note:
purchased for $25 at a liquidator because it has been discontinued

Cyber Station
NW-5419
is based upon
WN-G54/BB
from I-O DATA DEVICE, Inc.
Note: This is an 802.11 g/b pocket tool I picked for $19
(although I hated the setup software which was only presented in
Kanji. Thankfully I was able to fumble through it)
2010 Hardware Scam (sort of)
- Back in the day, my employer was too cheap to buy commercially
manufactured PCs so we were provided with Asian clones. Man, I hated Windows
along with the Blue Screen of Death (BSoD) and always wondered why these
machines were not a stable as my VAX minicomputers WHICH NEVER CRASHED AFTER RUNNING
FOR YEARS.
- Then around 1992, I attended a 4-week Synoptics Networking course in Toronto where
every student was assigned a top-of-the-line Dell desktop. We never
experienced a single lockup or BSoD.
- Since those days I have been buying name brand PCs for home use (Compaq
and HP) and they are, for the most part, rock solid. I'm not still not
giving Windows a free pass, but you can't blame Windows if runs into problems
while running on cheap hardware.
- So why do people love VAXs, Alphas, SUNs, and iMacs? Answer: those
manufacturers control what hardware is in the box which makes them much more
stable but also a lot more expensive.
- Initially, all the components designed for VAX were manufactured by
Digital Equipment Corporation (DEC) and were very expensive (I remember
paying over $600.00 for a single speed CD-ROM drive).
Then third-party manufacturers decided to grab a piece of the
expensive-hardware pie.
- When DEC migrated from 32-bit VAX to 64-bit Alpha, they were able to
drop the cost by 90% just by using COTS (commodity off the shelf)
technology. For example, initial Alpha boxes contained these industry
standard buses: ISA, EISA,
PCI, etc.
- Since 2007 I have been supporting BOINC and Folding-at-home on a dozen machines which means they are never
powered down. So here are a few observations:
- One AMD-based PC burned out the dual-core processor (but this has
been a problem with AMDs for years)
- After two years, one PC began to intermittently lockup and this was
traced to a bad wireless NIC (Netgear WN311B which was purchased from a
clearance center)
- All PCs seem to burn out their main power supplies (a.k.a. switching supply) after 18-24 months
- sometimes the fan will seize (which then forces a thermal
shutdown)
- sometimes the output power will droop when hot
- sometimes the power supply fails 100%
- The majority of new machines ran warm or hot but subsequent BIOS
upgrades usually fixed the problem (Pentium-D was hotter than Core2,
Core2 was warmer than Core-i7)
- Recently (January 2010) a friend of mine boasted about buying an iMac
based upon Intel's Core-i7 quad-core CPU. The funny thing about this is that
I had just purchased two Windows-7 based systems with the
exact same processor and memory for the same price as one iMac. These
machines have never locked up and I've noticed almost the same number of
patches being published by Microsoft as Apple. (although Apple keeps their
patch releases quiet)
Odds 'n Ends
Poorly Documented Hardware
Siemens SpeedStream 6520
- If you forget the password you will not be able to log onto this modem.
However, many websites (like the Sympatico support site run by Bell Canada)
tell you to do a factory reset by first connecting
with a browser to address http://192.168.2.1
where you are then presented with an account/password prompt. Oops!
- Since there was no RESET button visible from the back, I was silly
enough to pop open the case (you will need to find the Philips screw located
under the center label).
- After opening the case I discovered a RESET button which happens to be
visible from the bottom of the case (about one cm below the screw) provided
you are wearing your glasses. Just hold this button down for 10 seconds to
hard reset the unit back to factory default settings.
My gripes about PC hardware
Memory 'Error Checking' in PCs
a call to arms: Engineering
must overcome Marketing...
Introduction:
- I just (2001.08.30) fixed a PC for a friend (a DELL P2/266 with 64MB of
memory running Windows-98)
- Two other people had attempted to repair it before me (including reloading
Windows)
- The machine "seemed" to worked fine except the internet was unusable:
- you could connect to an ISP via dialup
- you couldn't surf with a browser
- email would only work occasionally
Observations:
- This was a DNS problem since testing proved you could surf the net using
I/P addresses but not DNS names
- Further testing with CLI program NSLOOKUP verified my suspicions.
- I decided to load a GUI-based PING/DNS tool (from an old copy of WRQ's "Reflection
Suite" that was laying around my bench) and noticed that a "text box" in one
of the dialog panels was full of colored streaks.
- I immediately decided to run memory diagnostic
MemTest86 and discovered some bad memory
locations in one of the DIMMs. Obviously these locations were trashing DNS lookups,
but not crashing Windows
Summary:
- A calculator that produces wrong answers is worse than no calculator at
all (because you could have relied upon pencil + paper)
- Likewise, a computer that cannot detect hardware problems, but continues
to runs incorrectly without crashing, is worse than no computer at all
- In this age of virtual memory PCs, it should be possible for the OS to map
out bad pages of RAM based upon internal checks (since virtual memory is mapped
to physical memory, most apps wouldn't be aware that anything happened)
- The slow way to do this is to do an extensive memory diagnostic every
time you boot (this is one reason that many virtual memory minicomputers
of the 1980s took so long to boot)
- A faster way to do this is to add parity generation/testing to all RAM
transactions, then do one of the following...
- keep a boot-readable memory failure log somewhere on track zero
of the system hard drive (this would be similar to a bad-block list
associated with a hard drive)
- store a boot-readable RAM memory failure log in a dedicated EEPROM
on the motherboard
- store a boot-readable RAM memory failure log in a dedicated area
of the BIOS CMOS memory
- Note that many PC mother boards are manufactured with error detection/correction
support installed but el-cheapo marketing people only install non-parity
memory chips then disable error detection/correction hardware in the BIOS
- Computer engineering companies that
predate the PC era (e.g. HP, IBM) need to go back to their roots:
- Don't manufacture systems as
if they'll be marketed to gamers. Design them as if each one will be used
by bank accountants.
- Install and enable parity memory
in all your systems, then communicate this fact to your customers. Tell
them that they'll save a huge amount of time and money over the total-life
of these computers by getting intermittent systems out of the hands of users.
- The first company that does
this will blow away the competition
Parity checking:
- The simplest and cheapest way to implement parity checking is to install
9-bit SIMMs (or DIMMs) then enable this feature in your system's BIOS
- This scheme requires that 8-bits be protected by one more bit.
- Most mother boards already support this
- PCs and MACs in the 1980s had this feature but "bean counters" and competition
from "low margin" system integrators took it away from us
- A more complicated and expensive technology would require the addition of
"syndrome-bit based" ECC (Error Checking and Correction) which would
detect/correct all single bit errors and detect all double bit errors.
- One scheme (used in the PDP-11/44) requires that 32 data bits be protected
7 more resulting in 39 bits.
- An OS-based error log could let you view the true health of your memory
- many mini computers of the 80s and 90s had this and there is no reason
why this technology shouldn't have trickled down to PCs by now (I guess
technology, like ECC, separates the servers from the toys)
Final Thoughts:
- PCs will never be considered anything more than toys until support for memory
error detection is included in both hardware and software. (hardware should
detect the error and then Windows will need to react to it gracefully, if possible,
with something other than the currently meaningless "general protect fault"
catch all.)
- Memory chips can develop hard (permanent) and/or soft (temporary) errors
by any of the following methods:
- ESD (electro static discharge)
- many retail technicians
do not use anti-static straps when installing chips and/or boards.
- many retail outlets will
"hand you" a memory chip not in an anti-static package
- chips will be weakened by these handling events, and may initially
work. But they have been weakened and will eventually fail due to operational
or environmental stresses
- Heat
- blocked or stalled cooling fans
- over-clocking your mother board
- Radioactivity
- slight impurities in the plastic or ceramic chip packages can emit
alpha particles which can flip a bit
- Cosmic Rays
- high energy photons can flip a bit
- In the mid 1990's some SIMM manufacturers where
selling 9-bit (parity) SIMMS which were really 8-bit SIMMs with a cheaper parity
generation chip in place of the ninth bit storage unit. The parity generation
chip tested the parity of the data to be sent to the CPU and then produced the
appropriate parity signal to satisfy the system. Manufacture
and sale of these products must be treated as fraud.
- I have personally seen know-it-all
kids "fix" a flaky system by disabling parity checking even though parity memory
was installed. This is OK for diagnosis but insane as a final solution.
PC Power Supplies: Elephant in the room
Okay so it is 2012 so why can my BIOS access every aspect of my PC hardware
except the power supply? Let's say I want to add a high-power graphics card to
my system which already contains a 450 Watt power supply. It would really be
nice to know how much power is already flowing through the power supply so I
would know if I need to upgrade the supply (or not). On top of this, how hard would it be
to measure:
- all output voltage levels
- all output current levels
- power supply temperature
- how hard the switching supply components are working
- optionally: input voltages, input currents, and power factor
Most servers have been able to do this for more than a decade. Okay, so the
additional components might add a dollar or two to every power supply. Why do we
always need to be so damned cheap?
Hardware Links
Software Links
DLL Examples
for novice Windows programmers
What is a DLL? Many Windows applications, and Windows itself, are built
built as a collection of callable DLLs (Dynamically Linked Libraries) rather than
static executable binaries. For examples of this, check out the size of MS-Internet
Explorer (IEXPLORE.EXE) which is only 89K, or the size of MS-Outlook Express (MSIMN.EXE)
which is only 56K, yet both programs call the same "HTML rendering engine" which
is implemented in the system DLLs. When you've got Outlook Express running at the
same time as three instances of IE, there is only one set of DLLs loaded which definitely
saves memory.
Note: As most C++ programmers already know, C++
parameters are type-enforced by name mangling. While
this causes no problems if C++ applications are calling C++ DLL routines, applications
written in other languages will not be able to call a DLL written in C++. In order
to get around this obstacle you must disable name mangling
of exported names by surrounding the whole C++ source in a "C" wrapper like so:
extern "C" {
[ ... whole c++ DLL source goes here ... ]
}
Alternatively, you could write your DLLs in "C" but this may not always be possible.
Drivers
Anti-Virus Info
Spyware + Adware Info + Removal Tools
Diagnostics
PC Development Tools
+ Miscellaneous Cool Stuff
- www.powerbasic.com - generates smaller
executables than MS-Visual-BASIC. One version can produce console applications
while the other will produce GUI apps
- www.realbasic.com - Create
your own software for Windows, Linux, Mac
-
www.runbasic.com - works on Windows,
Mac OS-X, and Linux. Interfaces directly without CGI (which is built-in)
-
Mostly free vanilla (non GUI) BASIC sources:
- GWBASIC 3.23 (editor/interpreter)
- QBASIC 1.1 (Microsoft BASIC editor/interpreter)
- QBASIC 4.5 (Microsoft BASIC editor/interpreter)
- QuickBASIC 7.1 (Microsoft BASIC editor/interpreter/compiler)
- PowerBASIC (console compiler) very cool but not
free
- RealBASIC
-
Anders
E. Zonst is a retired aerospace engineer who authored two really good
books each covering DFT (Discrete Fourier Transform) and
FFT (Fast Fourier
Transform).
- The first book is titled Understanding the FFT
(1995/2000)
- This book is subtitled "A Tutorial
on the Algorithm & Software for Laymen, Students, Technicians &
Working Engineers" and weighs in at 180 pages. I wish I would have owned a copy of this
book 10 years earlier because I would have saved considerable time
and money.
- 4 chapters on DFT
- 6 chapters on FFT
- 10 appendices
-
The
second book is titled Understanding FFT Applications
(1997/2004)
- This first edition of this book (1997) is subtitled "A
Tutorial for Laymen, Students, Technicians, & Working Engineers",
weighs in at 415 pages.
- This second edition of this book (2004) is subtitled "A
Tutorial for Students, Technicians, & Working Engineers",
weighs in at 278 pages, and comes with a CD-ROM
- All books contain example programs written in GWBASIC so that
Fourier concepts can be more easily demonstrated. First edition books
required purchasing floppy disks at a nominal cost to cover shipping.
Second edition books contained a common CD-ROM
- Citrus Press has granted me permission to redistribute their copyrighted BASIC source code.
- zip for floppy disk #1 (362k):
CP-FFT-1.zip
for Understanding the FFT (first edition)
- zip for floppy disk #2 (387k):
CP-FFT-2.zip
for Understanding FFT Applications (first edition)
- zip for CD-ROM folder #1 (928k):
FFT2DSK.zip
for Understanding the FFT (second edition)
- zip for CD-ROM folder #2 (1.2m):
APS2DSK.zip
for Understanding FFT Applications (second edition)
- www.dspguide.com is the home of "The
Scientist and Engineer's Guide to Digital Signal Processing"
- 40 example programs written in BASIC so that Fourier concepts can be
more easily understood
- very thorough; starts with signals, filtering, sampling, then continues
through DSP algorithms, DSP hardware, and DSP applications
- purchase the printed book or download a free PDF copy (but you should
buy the book; your printer will thank you for not abusing it)
- Sienna Software makes a really
neat Try-B4-U-Buy astronomy program (for the Mac & Windows) called
Starry Night. Developed in Toronto,
Ontario, Canada. They also produced a cool "star ship" style learning program
called Deep Space Explorer
- Linux.org is the home of the
free os
-
www.roxio.com/en/support/roxio_support/software_updates.jhtml to download
a free "UDF Volume Reader" so your PC can mount CD-ROMs burned on another
PC.
- If you write SQL scripts on Windows you may have discovered the following
annoying problem:
- You used either NOTEPAD or WORDPAD to create SQL scripts with an "SQL"
file extension but "Windows-XP Search Companion" (the right click
thing) can't locate desired strings in these these text files. Using "folder
options" to add an association between ".SQL" and NOTEPAD doesn't fix the
problem which means that "Search..." must be using its own list of file
extensions. Note that this worked in Windows-2000 and may have something
to do with Microsoft's own database products.
p.s. don't waste your time reporting this to Microsoft; I tried and was
told "this is the intended behavior of 'Search...' ". Since then I have
discovered that other people have tried as well.
- The following free program called "Agent Ransack" can be installed
and used as an alternative to Microsoft's screwy tool:
http://www.mythicsoft.com/agentransack/default.aspx
After installation the name "Agent Ransack..." will appear under the "Search"
item anytime you right click on a folder or drive.
- I can't believe that Bill Gates knows or
approves of this fubar
- Local document containing thoughts on
Calendars, Computer Time, Year
2000 Problem, etc.
- Freeware and Shareware
- The Computer Museum in Boston, Massachusetts.
- www.blinkenlights.com
-
Click
Eagle Lander 3D to download a really cool
Apollo Lunar Lander simulator
for Windows. The short Apollo 11 short mission is free but $25 will get
you additional missions and much more functionality. Features: authentic
LM cockpit with 9 functional panel switches; FDAI (8-ball) display; real LM
landing computer displays; mission-specific surface details and radio chatter;
keyboard and joy-stick support.
Cool Activities:
- use replay mode to land Apollo 12 in the Ocean of Storms. Once
you're on the surface, hit the zero-key to begin an EVA. Use the arrow keys
to rotate 180 degrees then press the "X" key so you can back out of the
LM and crawl down the ladder. Use the right arrow key to turn then hit "W"
to walk forward a few steps. Hit the "F" key to plant the flag (it will
also be visible from the cockpit view by pressing the "1" key; hit the "0"
key to go back to the EVA). Look around for a nearby crater and notice that
Surveyor-3 is within 200 meters (650 feet). Use the "W" key to walk
towards it.
- Once you're on the moon, punch V37EN12E into the AGC/DSKY console to
initiate an automatic launch. Click
Ascent Procedures for more details.
- Click here to
see a photo of Apollo-17 astronaut Gene Cernan flying the Eagle Lander
3D simulator.
- Click "Eagle Lander
3d" Activities for more information
Click
for the latest reality check from our hero
Back
to Home
Neil Rieck
Kitchener - Waterloo - Cambridge, Ontario, Canada.
