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

Wednesday, November 11, 2015

How to remove "For Other Computer" from your rules
Surprisingly, it's easier than you think!

Outlook is a great little e-mail client with a rich feature-set, and I have been using it for many, many, many, years.

Like any piece of software, it does have its little quirks and the occasional speed-bump that you have to deal with.  For example, migrating your user settings isn't as straightforward as you might expect.

Another little quirk comes when you migrate your rules:  It's not uncommon to migrate rules from one machine to another and then discover that - at least some - rules have "For Other Computer" appended to the rule name.

What's even more annoying is that there appears to be no way to remove it.

Since this has been annoying me for a while now, I decided to search The Usual Fountains Of Wisdom on the internet.  Surprisingly, no one seems to have addressed this specific issue.  Since there are any number of postings on various fora asking this question, and since it is so easy to fix, I decided "It's Article Time!"

Part of the problem is that the vast majority of the Fountains Of Wisdom assume (!!) that if you're using Outlook, you are using it with an Exchange Server.  And yes, Outlook is uniquely qualified to work with Microsoft's Exchange Server hosted e-mail.  However that's not the only way it can be used, as it works equally well with Pop/SMTP or IMAP mail servers, and it appears that a great many people use it that way.  Including your Fearless Article Author; as I have been using it as a Pop/SMTP mail client for years and years, and years.

Why does this happen?

One of Windows' many features is that it can be set up in such a way that users can log in from different machines and still see the same basic configuration.  This is done by use of what is called a "Roaming" profile.  These are settings that are linked to the user, instead of the machine, and are commonly used in a remote access / Terminal Server type environment.  By using the Windows Roaming Profile, a particular user can use any number of different workstations connected to the same server and see the same configuration each time.

A great example of this is a doctor's office, where there are computer terminals in each treatment room, and another computer in the doctor's actual office itself.  In this case, using roaming profiles, the doctor can go from treatment room to treatment room, always seeing the configuration that he's most comfortable with.

What about e-mail?  In this case, there may be a difference.  While the doctor may wish to view, and perhaps even answer e-mails from any terminal in any one of the treatment rooms, he may want to segregate certain - possibly confidential - e-mail messages so that they download and are stored only on his office computer, instead of any open terminal he may be at.

This is done by setting a special attribute - "On This Computer Only" - when creating a rule.  With this attribute, a particular rule will only be run when the doctor is at the specially designated computer located behind locked doors in his office.  A rule like this can take potentially sensitive e-mails and store them off-line on a local system instead of allowing them to be spread all over the network

One of Outlook's quirks is that if Outlook is not being used with an Exchange Server, it "automagically" assumes that any rule created should be valid only on the computer that created it.  To accomplish this, Outlook automatically sets this attribute for any rule created on a computer that uses Outlook as a stand-alone e-mail client.

Sounds reasonable, right?  Exactly right - until you decide to migrate Outlook, or your rules, to another computer!  At this point, Outlook assumes that any imported rule is not valid on the machine it was moved to, causing rules to silently "break" because they're not being executed on the new machine.  Not only do they not execute, they don't tell you they're not being executed - because Outlook "assumes" (!!) that they will be executed on the machine that originally created them.  If you're migrating Outlook to a new/different system, you're probably taking Outlook off-line on the old one, so that assumption may not be valid.

Once you do this, you find rules labled "For Other Computer", indicating Outlook believes that they are not valid on the machine you're using them on!

So, how do we fix this?

There is, probably, a Registry Setting somewhere that turns off this "feature", though I have not found it yet.

The other way is to open the Rules Manager, go to each affected rule, and un-select "On This Computer Only".

Once you do this, and save the edited rule, you will notice that the "For Other Computer" designation has been removed.

You repeat this for every rule you have with "For Other Computer" next to it.  If you have a lot of rules, I can't tell you how to do this in bulk, but - at the very least - it can be done.

And, since it is such a simple fix, I am surprised that no one else has mentioned it!

Well, it's been mentioned now - and I hope you find it useful.

What say ye?

Jim (JR)

Thursday, September 17, 2015

OOPS! - When disaster strikes
Safely removing large USB Flash Drives (Part 5 of a Series)

Hello again!

Everyone has, and loves, the USB flash drives, (also known as "thumb-drives" or "keychain drives"), because they are both small in size, and (relatively), massive in capacity.

Right now, 128 gigabyte flash drives are common, and I wold not be surprised if 256 gig flash drives are available when I make my next visit to Micro Center.

And this is good.  I can pick up an entire copy of either my, or my wife's e-mail store and move it from one machine to another - sans network.  Likewise, I can go visit a client and carry what used to be a whole briefcase of CD's and DVD's in my pocket.  I can even place entire operating systems on relatively small flash media - I have a 16 gig thumb-drive that can cold-boot any one of eight different Linux images, (four different versions, in both 32 and 64 bit), of Mint 17.1.

And so on. . . . .

We all know to "safely remove", (unmount / eject), the flash-drive before we just yank it out, to prevent the data from being scrambled.  We do the "safety dance" routine, and remove our media, confident that by the time the little task-bar pop-up comes along, we're golden.  Right?

Ahhh. . .   Not really. . . .

You see, it's not that simple anymore.  Especially with flash drives.

Long ago the computer's "silicon" - processing chips -  became faster than the hard drives.  To reduce hard drive latency and I/O bottlenecks, operating systems implemented a policy of "Lazy" writes, and cached data.

What this means is that the operating system would allocate a fairly large chunk of memory as a very fast buffer for frequently used data.  Windows would read and write to the memory buffer and then - later on when things weren't so crazy - it would write any changes made back to the hard drive.  So when the computer was "busy" - refreshing the screen, or doing something complicated - it would postpone refreshing the disk until it was finished and waiting for you to do something like typing or moving the mouse.

However. . . .

As I mentioned in a previous article - The 2000 Gigabyte Gorilla - hard drives themselves began implementing a "lazy write" technology to help ease the I/O burden.  Fast cache memory on the drive makes the drive look faster than it really is.  The result is that the hard drive would report success before the data was actually and truly written.


So. . . .  The operating system people and the hard drive people got together and implemented a new hard drive command - flush data - which is supposed to absolutely, positively, guarantee that any changed data was written before the "success" signal was received.

The whole idea behind "safely remove", (or "shutdown"), is that the user's command to remove the media, (or shutdown the computer), would force a data cache flush to the physical drive platters, updating everything before the drive was removed, guaranteeing consistent data on the drive.

However, as the author of the article, How important is the hard drive cache? mentions, the things that make this true for actual, physical, hard drives are no longer true for NAND / NOR flash memory drives.

Double oops!

The wherefore behind the "why" in all of this is due to the way flash memory works.
  • Flash memory is organized into "read blocks", larger "write blocks" which are groups of many read blocks, and huge "erase blocks" which contain a very large number of write blocks.
  • "Read blocks" are tiny blocks of data that you can read whatever and whenever you want.
  • "Write blocks" are large groups of "read blocks".  To write even the smallest amount of data, you have to read and modify the entire write block, copy it to an unused space within its local erase block, and mark the old write block as "dirty" (unusable until erased).  Once a write block has been written to, it cannot be reclaimed and re-written until the entire erase block is purged.  The only thing you can do is mark it "dirty" and try to find another unused write block.  If you have a lot of data to copy, you do this write block by write block, over and over again.
  • "Erase blocks" are gigantic groups of write blocks.  If there are no free write blocks within the existing erase block, you have to copy the entire erase block to a free area, (an entirely empty erase block), with the new data included - and then erase the entire old area, since you can't erase anything smaller than an entire "erase block".
So, for any kind of serious data access where there is both reading and writing going on, this can become a non-trivial, time consuming process.  And flash drives hide this process from the O/S.

When the flash drives were small - measured in megabytes, or even small numbers of gigabytes - this time lag was not really a problem because the actual size of the memory array was small enough so that this overhead was not noticeable. Now that flash drives have become hundreds and hundreds of gigabytes in size, the overhead for writing - and the associated time lag - can become huge, even when measured by human time standards.

What this all adds up to is that the operating system - and this includes Windows, OS/X, and Linux - can no longer reliably predict when the flash media has been fully updated, and the "safe to remove" prompt may not be true anymore.

So far, (as far as I can tell), the ONLY way you can tell if the flash drive is really ready to be removed is to watch the activity LED and wait for it - eventually - to stop.  And that might not even be long enough, as I have seen the LED on a flash drive flash and stop on a "remove" command, and then suddenly re-start just as I was about to remove it.

The result of all of this, is that unless you are very, very careful when removing flash media, you can inadvertently end up with a corrupted flash drive.

What say ye?

Jim (JR)

Thursday, February 12, 2015

OOPS! - When disaster strikes
Do-It-Yourself Anti Static Spray (Part 4 of a series)

Hello again!

As I am sure you all know, this is the time of year for snowy evenings, hot-chocolate by the fireplace, warm cookies, soft music, and Static Electricity!

I am also sure that anyone who has been within 500 feet of anything electronic knows that Static Electricity is a Bad Thing, for more reasons than three.

Likewise, there are a number of companies who make special "Anti-Static Sprays", all neatly bottled in colorful packaging, ready for your use.  No to mention that they use about five cents worth of materials and charge you Serious Bucks per bottle/can/whatever.

So, what's a poor sod supposed to do?  Make your own!

It's almost as easy as falling out of bed, and costs just slightly more than that - not counting the hospital bills. . .

You will need:
  1. A spray bottle of some kind.  An old Window Cleaner bottle, a small trigger-pump bottle, or whatever you have laying around.
    I bought a small, 12 oz plant spray bottle awhile back for a couple of bucks, and have been using it over and over and over again for years and years and years.  If you notice your bottle begins to collapse inward on itself as you use it, adding a couple of small pin-holes at the top will help prevent that.
  2. A jug of the absolutely cheapest fabric softener you can buy.
    The no-name, lemon scented, bargain brand is more than sufficient, so don't waste your money on the stuff with the fancy packaging, fluffy towels, and baby-bottoms on it.  You will probably end up with a gallon jug of the stuff, and depending on how much spray you make, it will likely last for a loooong long time.  If your "better half" already uses fabric softener for the laundry, mooch some of that.
  3. Some clean, (demineralized), water.
    If you have nice soft water where you are, tap water is just fine.  If your water has a lot of minerals in it, use cheap drinking water, or get distilled water.  You just don't want a lot of minerals/lime/rust/etc. in the water.
How to make it:
  1. Fill the bottle that you're using about 1/4 full of fabric softener.
  2. Add clean water to fill the rest of the bottle.  Don't forget to leave some "head space" at the top.
  3. Shake gently until well mixed.
  4. Set the bottle to a fine mist and spray to your heart's content!
Two additional things:
  • You will want to cover surfaces, (rugs, plastic chair mats, your chair cushions, etc.) with a fine mist until the surface is slightly damp.  You may have to repeat every few days at the beginning until a sufficient amount of anti-static formula has built up.
  • You will also want to be very careful if you use it on smooth surfaces, like chair mats, as this liquid can be slippery if you apply too much.

There you are!  You are now equipped to handle the Static Electric Demon, and do it on the cheap!

What say ye?

Jim (JR)

p.s.  No animals were used during the testing of this Tech Tip, and it is safe for the Ozone Layer too.