Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Monday, September 10, 2012

Google Android - Robotics Gone Wrong


Today I am seriously, and officially, PISSED at Google / Adobe and the so-called "Android" operating system.

I have a client, (a Chiropractor), who wants to use a tablet computer to record patient notes as he goes from treatment room to treatment room.  Great idea, right?  What's even better is that his medical app is Web-based - all you need is a browser and an internet connection, and you're in!

I go to Micro Center and shell out Huge Bucks for an Acer IconiaTab tablet for him.  Hi def, the latest and greatest Android O/S. great big screen, etc. etc. etc.  I do the initial setups and then deliver it to the client.

So, after getting his internet connection working - we go to the web service that provides his record keeping.  And wadda ya know, it wants Adobe Flash installed to work with the site.  OK, no biggie.  Many sites want you to install Flash.  So, I go to do it and that's when the fun begins.

First:  Setting up an Android system is a pain.  It is so fubar'd up that it makes Microsoft's nonsense seem like child's play.
  • You cannot even THINK about downloading apps until you sign up for a Google mail account.
  • Then. . . .  You have to sign up for a Google Play account - and by doing so you give Google the right to wander all over your device and collect whatever data they damn well please, personal or otherwise..
  • It is also noteworthy that - as far as I know - there are no third-party sources for Android apps.  Just like Apple, it's so tightly bound to Google that they are the only source of anything for your system.
  • Since you can only get apps from Google Play - and most are payware - you are stuck if you want anything for your system.

The real plum?  Google no longer supports, nor offers, any version of Adobe's Flash player.  Period.  If it weren't for the fact that many content rich sites use Flash, it would not be such a big deal.

It turns out that my client's medical records service requires Flash.  Ergo, the tablet is as useful as Teats on a Boar Hog and he, rightfully so, refused to accept it.  Which leaves me out mucho hundreds of dollars unless I can convince Micro Center to let me return the little beggar.

But it gets even better.  Suppose you want to go to The Weather Channel, or even the National Weather Service's web site to get the weather.  Fuggeddaboutit!  Many of their pages use Flash.

You want to go to You Tube or a whole host of other video sites?  No dice there either.

If you want to do just about anything more complicated than lurk Facebook, take pictures with the built-in camera, play silly Android payware app-games, or doodle - you are totally out of luck.  I would not be surprised if much of Facebook's content requires Flash as well.

To make things even more interesting, the Android system - at least on this tablet - makes using the tablet an exercise in frustration.  The Google / Android people have decided on exactly how they want you to use their system - and if you want something, even slightly, different, you're out of luck.
  • If you have a WiFi network setup using WPA2-PSK, and your passphrase is "kitty", it won't let you connect as it does not approve of your passphrase.
  • You are expected to have multiple Google accounts, like them or not.
  • The available configuration settings are either useless, or nearly impossible to find.
    Go on, try to change the browser's home page.  Go on, I dare you!  Oh, it can be done, but it requires a level of patience that most of us do not have.
  • It is so tightly bound to Google, and things are so proprietary, it's a real pain trying to get anything done.

I have been seriously thinking about getting a tablet for my wife's Real Estate business - but after this, it's not gonna happen.

As you might expect, there has been a mighty wailing and gnashing of teeth all over the Internet about this.

Summary:  If you decide to go out and purchase any Android device, you can count on being out tons of money for something that is a very expensive paper weight / digital picture frame.

And, it's a real pity.

What say ye?

Jim (JR)

Wednesday, August 22, 2012

It's All About The Hardware


A few articles ago, I wrote an article about my visit to the Trenton Computer Festival, and the copy of OpenSUSE that I picked up while I was there.  I also mentioned the numerous vendors selling the Ardunio microcontroller boards and the buckets of drool I left after gazing longingly at them.

At this point you may be wondering what a "hardware" article is doing in a blog aimed primarily at the computer/software QA crowd.

Simple.  While I was there, I also picked up a, (free!), copy of the magazine Nuts and Volts - a worthy successor to the venerable Popular Electronics I enjoyed in my (much) younger days.  Buried deep on page 58 of the March 2012 volume is an article titled "It's All About The Uno32 Hardware".  I gave it a quick glance and it got me thinking. . . . .  You know, it often IS all about the hardware.

Obviously, if you're testing software applications for an embedded device the underlying hardware becomes critically important.  And if you don't know the difference between a 2N2222 transistor and the latest i7 processor, you shouldn't be working there.

But - even in a purely software environment - a knowledge, even a basic one, about the underlying hardware can often be just as important.

A case in point:

My friend Andy works for a company that makes security / access control devices and the software that runs them.  And yes, because the software and the specialized hardware it controls are inextricably intertwined, knowing something about which end of the screwdriver to use is obviously important.

However, there was one case where a recent release of their access control software would fail in mysterious and subtle ways - especially when certain controller functions were used.  So, he wrote up the bug report and sent the software back to the dev team for the fix.  Except that they could not reproduce it.  HE could, every stinkin' time, but they could not.  And yes, we in the Software QA community know all about how some obscure software module on the developers computer can mask software bugs.

They came and looked at it failing on his machine and left scratching their heads.  Especially as this part of the software had been tested before - and passed - and as far as they knew no changes had been made anywhere near that particular part of the code.  So they took it apart, line by line, even doing a clean install on another computer, and they could not reproduce it.

So, what was the problem?  Andy later discovered that there was a failure, a very subtle failure to be sure but a failure nonetheless, in the computer's power supply that was apparently aggravated by certain particular sequences of software which apparently activated certain pieces of hardware on the motherboard, triggering the failure.  Replacing the power supply "fixed" the software bug.

In my own software QA experiences, I have often triggered critical bugs just by monkeying around with the network connections and how they're wired to the various network devices they're connected to.  I have also found "bugs" caused by an inadvertent wiring error in a pre-made network cable - such as a particular network pair being wired backwards at one end.  I have also had the pleasure of leaving the office of a senior developer - or a manager - with their jaw hanging down after a simple piece of hardware "magic" solved a problem that had been perplexing them for days.

The bottom line?  Even in a purely software environment, it can be "all about the hardware", and knowing enough about it to think outside the box can be vitally important.

What say ye?

Jim (JR)

Monday, June 4, 2012

How to Change the Windows XP Distribution Channel type on Installable Media

Recently I ran into a quandary with a customer's computer - and after a couple of weeks of head-banging, I finally figured out a solution to the problem.

Issue
A customer gave me a Dell Dimension 2850 computer he wanted resurrected, and after thoroughly sanitizing the machine I discovered that it's Windows XP Home installation had been seriously damaged.

I tried - for two mortal weeks! - to resurrect the installation.  No good.

I tried cloning an installation from a sister machine.  No good.

I tried to create a set of "Dell System Recovery Disks" to reinstall from scratch - No good, as the System Recovery CD's I created Blue-Screened right at the beginning of the install.  (And yes, I tried creating the CD's more than once, with different media, using a different burner. . . .)

Since Dell doesn't support XP, (of any flavor), anymore, it would be impossible, if not hideously expensive, to get a set of real, working, recovery disks for that box.

I tried using my TechNet copy of Windows XP Home to do a repair install - No good, it wanted a product key, and it would not accept the OEM key from the Certificate Of Authenticity stuck to the side of the box.

What I needed was a Windows XP Home install CD - OEM version, and this kind of CD is nowhere to be found - unless you happen to be an OEM installer or just happen to have a copy laying around from an old XP System Builder's package.  Which, by the way, I did not have.

What I DID have was a Windows XP Home install disk - and activation key - downloaded from my trusty TechNet account's download repository.  And that's good.  However, the TechNet version - and key - is a "Retail Box" version with a "retail" key to match it.  Which is bad, at least for this problem.

After two weeks of banging my head against that ever present, and oh so familiar, brick wall - I had come to a standstill.



There were several options readily apparent to me at this point:
  • Punt.
    Just tell the client that he was SOL - Stinkin'-out-of-luck.
    Unfortunately my reputation as a miracle worker and computer wizard was on the line, so that option was not acceptable.
  • Get, and install, a legitimate copy of Windows XP Home.
    I tried.  I really tried, but Windows XP, (of any flavor), is "out of print" no matter where one looks.  That being the case, a legit new install is out of the question.
  • Get a legit version of Windows 7 and install that.
    Since this was a blazingly fast Pentium 4 box with a whopping 512 megs of memory, a Windows 7 install would have been as slow as molasses in February.  It should be "intuitively obvious" that this solution was just a tiny bit less than optimal as well.
  • Find a skumware site on the Web and download a (ahem!) "official" version of the Windows XP Home install CD.
    Because it is a lead-pipe-cinch that a whole plethora of skumware, vileware, root-kits and other such nasties would come pre-installed as well - not to mention a whole host of ethical reasons - this was not a viable option either.
  • Install my TechNet copy and key, and convert the installation so that it would accept the OEM key after the fact.
    There are some really interesting instructions on the Internet that explain precisely how to do this by editing Registry keys, removing/modifying installation files, etc.  When I tried that, I discovered that I had magically turned my "Retail" XP install into a quivering lump that would neither activate, (It even went so far as to refuse to launch the activation utility!), nor allow me to browse the Web.
  • Install my TechNet copy, use my TechNet supplied key, deliver it to the customer like that, and keep my big mouth shut.
    Since I value my TechNet membership, and would like to continue as a member in good standing, this choice was not particularly high on my list of available options.
  • Somehow or other, take what I have and magically transform it into what I need.
    This is also fraught with all kinds of prickly and technical licensing issues, so I really hesitated to try it.  Unfortunately, all else had failed so - rather than give out my TechNet key - I figured this was worth a try.

NOTE:  If you read the fine-print in Microsoft's rather voluminous license, particularly as it applies to OEM installs, the only legitimate OEM reinstall is to:
  • Reinstall to the exact same hardware, (i.e. on the exact same physical box that it was shipped on),
  • Using the exact same OS type and kind,
  • With the exact same programs, features, add-ins, bloatware, "free trial offers", etc., as was originally installed in the "fresh-from-the-factory" condition.  Including all the "Preparing your computer for first use" horse-hooey.
Of course, this assumes you actually have the True And Authorized re-installation media - which is the whole problem!

Having said all that, here's how to change a sow's ear into a cow's ear.



The big difference between the various distribution channel versions of XP lies in one tiny file, setup.inf, which is located in the i386 directory of the disk.  So, if we can somehow change that one little file, we can convert a disk of one channel type into another.  (i.e. "Retail" into "OEM")

You will need:
  • A legitimate copy of the Windows version you want to convert. (i.e. From TechNet, et. al.)  You do NOT want to use disks obtained from dubious sources for more reasons than three.
  • A system with a legitimate COA of the same version as your install media, except that it is likely to be an OEM COA instead of a retail COA.
    Note:  These instructions are not intended to allow you to install whatever you darn well please, wherever you darn well please.  These instructions are to allow you to reinstall the same version of Windows XP on a box that has a blown install, the recovery media being unavailable for one reason or another.
  • Software that will allow you to extract the contents of a CD or ISO, including the boot information.
  • Software that will allow you to re-create a bootable CD/ISO from a bunch of files and the boot files.
  • A text editor.
  • Luck.

Here's how I did it:

The installation media I used for the conversion was a plain-vanilla, English version, Windows XP Home with SP-3 preinstalled, ISO that I had downloaded from TechNet.
  1. Using your CD/ISO expansion software, rip the entire contents of the Win XP (retail) CD to a newly created folder somewhere.
  2. Using the same software, rip the boot files to a folder somewhere else.
  3. Within the rip folder, go to the i386 directory and find the file "setup.inf" and open it with a text editor like Notepad.
  4. Find the part labeled "Pid", followed by an eight digit (?) number.
  5. Replace the last three digits with the letters "OEM" - obviously without the quotation marks, but you already knew that, right? - and save the file.
  6. Using the disk burning tool, recreate the CD by dragging all the ripped files and folders to the root of the new compilation.
  7. Replace the burner software's default media label with the label from the original CD.
    In my case, using ISO Buster to rip the CD, the rip's folder name is the same as the CD's disk label.
    Copy that and replace the default disk label with the one you copied.
  8. Mark the disk as "bootable" and provide the boot image file you copied from the original disk.
  9. Burn and verify.
Voila!  You now have an installable Windows XP OEM edition CD.



One further note:
In order to use this CD, you have to do a "bare metal" install, completely overwriting any previous retail installs you may have tried to do.  Trying to overwrite a retail install with an OEM install by performing a "repair install" won't work.  Ask me.  Go ahead, I dare you.  Ask me how I figured out THAT little gem.

Hopefully this will help drag your butt out of the same bind I was in, but without the weeks of head-banging.

What say ye?

Jim (JR)

Tuesday, May 15, 2012

Punish My PC!


Have you cobbled together a system that you are going to use for something critical / important?
Have you just built The World's Most Beastly System?
Do you have a system that MUST run, 24/7, come Hell or High Water?

Or, maybe, you just want to see if your system has The Right Stuff.

What you need is a PC Benchmark Program.

There are a lot of benchmarks out there - and if you don't believe me just go to any well stocked magazine rack somewhere and snoop three or four PC magazines.  You will find as many benchmarks as there are editors - each claiming that THEIR benchmark is the sine-qua-non of benchmarks.

Each of these benchmarks exists to target a particular aspect of your computer - be it raw processing power, graphics rendering and speed, the motherboard, or whatever.

But, just maybe, all you need to know is if Your Machine Can Hack It.

Here are two interesting little beasties - and I mean little as these utilities have a very small footprint.  And I also mean BEASTIES, as these will torture your system to the point where it will confess to setting the Reichstag fire, if not plotting the downfall of Rome itself.



The first is PRIME95 - specifically designed to try and find Mersenne prime numbers.  Specifically it seeks to find Very Large Mersenne prime numbers.  As in 12 million decimal-places - or more.

So, why should you care, and how is this going to help?

First - should you decide to join the fine folks at GIMPS, and should you be so extremely lucky as to actually FIND one of the beasties, (since the dawn of mathematics, only 47 have been found so far), there is not only glory to be had, there are also CA$H PRIZE$.  As in moola, Benjamins, coin, or just plain cash money.  (This is also a great way to flesh out a Mathematics dissertation.)

NB:  It should be noted that there is also a poster for sale there at the GIMPS site, about the size of a 4x8 piece of plywood, that contains every last digit of this immense number in Living Color.  Likewise it should be noted that they sell - as a companion product to the poster - a high-power Jeweler's Loupe so that you can actually SEE the digits!  (They are indeed that tiny.)

Secondly - even TRYING to find one of those "little" twelve-bazillion decimal-place beasties requires all the computing power your poor little PC has to muster.

Not only does your CPU take a beating - every single core of it - but each and every FPU, (Floating Point Math Unit - built into each CPU core), gets the workout of it's life.  The result is usually a CPU chip that gets hot enough to smell.  Not to mention you will get to hear your processor's heat-sink fan wind up to its maximum speed for the first time in history.

While making your CPU cry "Uncle!" by beating it senseless, working with twelve-bazillion-digit numbers requires a LOT of data-shuffling back and forth into RAM.  Ergo, your main memory gets the beating of it's life too.  Not to mention your motherboard's Memory Management Unit, northbridge chip, southbridge chip, sandybridge, windy-bridge, suspension-bridge, and any other kind of bridge chip you may have.

The result of putting your machine on the Rack is this:  If there is anything in your system that's not up to snuff - or is even considering the vaguely distant possibility of departing from the Straight And Narrow Path - this will flush the partridges out of the bush in short order.



The next fine fellow in the Spanish Inquisition isn't even a torture test.  It's just a cute little utility that stands around, thermometer in one hand and digital voltmeter in the other, telling you how loudly your PC is cursing you.

It's called HW Monitor, and the fine folks at CPUID, (who also make the excellent CPU-Z program), provide it free of charge.

It provides a nice window showing all your system voltages, fan speeds, MoBo and CPU temperatures, etc.  Running this with Prime95 is a good idea.  This way you will know if the smell coming from your PC is just hot aluminum, or the smell of melting silicon as your $700 CPU breathes it's last.



The bottom line is this - if you have a PC, Mac, Linux box, or whatever you need to test - these are a couple of free tools you can download to do it.

What say ye?

Jim (JR)