2013-11-22

Windows 8.1 CD DVD Drive not visible in File Manager

How to: Windows 8.1 CD Drive, DVD Drive not visible in File Manager.

Issue:
After installing Windows 8.0, Windows 8.1, the CD/DVD drive does not appear in My Computer, FileManager, Windows Explorer or in the Control Panel under devices.  CD or DVD drive is missing or not recognized by Windows or other programs.  ...and yet the CD worked during the install.

Other Symptoms:
Error:  The device is not working properly because Windows cannot load the drivers required for this device (Code 31).

Error:  A driver for this device was not required, and has been disabled (Code 32 or Code 31).

Error:  Code 19,  Code 39, "Windows successfully loaded the device driver for this hardware but cannot find the hardware device (Code 41).



Reason:
Unknown.  But symptoms appear if you upgrade the Operating System (Windows 8.0 to 8.1); installed a new operating system; possibly un-installed Microsoft Digital Image.



Solution:

Microsoft suggests 5 different solutions, but this is the one that has worked for me on multiple machines.

Synopsis - Add this DWord32 Registry Key and Value: 

HKLM\System\CurrentControlSet\Services\atapi\
\Controller0\EnumDevice1 = 1 (Dword32)



1.  Confirm you are logged into the Windows Desktop as an Administrator  (you cannot be a standard user for these steps).

2.  Press Windows Logo Key + R on keyboard.
Type "Regedit"  (no quotes); press Enter.

Alternately, from the Windows 8 Start Page, click the background, click the down-arrow-icon on lower-left; type the word "Regedit".  Run this program.

Alternately, using Windows Explorer, locate c:\Windows\regedit.exe.  Other-mouse-click and choose "Run as administrator"
  regi
3.Tunnel to this registry key:

hkey_local_machine\System\CurrentControlSet\Services\atapi

4.  Right-click "atapi",

Select "New, Key"
Type "Controller0"   (Controller-zero, no quotes; all one word)



5.  On detail side, right-click the new Controller0 key,

Select "New", DWord32
Type "EnumDevice1"  (no quotes, no spaces, number-one); press Enter

Right-click EnumDevice1, click Modify
Type 1 (one) in the value box, "Hexidecimal"

Click for larger view


6.  Close the Registry Editor, Restart the computer


Reference:
http://support.microsoft.com/kb/314060/en-us

2013-11-03

Microsoft SystemSweeper - Antivirus

Windows Defender Offline (formerly Microsoft Security Essentials - MSE ).  A bootable CD for cleaning viruses.  Updated 2013.11. 



This article has been retired.  See this up-to-date Keyliner article:
Keyliner - Virus Cleanup Steps


>Historical:

When cleaning viruses, it is best to boot from a non-infected disk in order to do the cleanup and the easiest way to do this is to boot from bootable CD.  Microsoft and other vendors now have free, bootable CD's, that clean even the most stubborn viruses. Because you are booting from a guaranteed, non-infected operating system, and because it has full-control of the hard drive, with no locked or in-use files, it gets unprecedented access to the disk and it can clean the most stubborn infections.




Building and using bootable CDs are easy and reliable. If your machine is infected, I now recommend running these utilities prior to any other virus scanning steps.  You should run these utilities from multiple vendors.

Recommendations:

1.  Build bootable CD's from a non-infected computer.
2.  Build the disks when needed; old disks are obsolete.
3.  If offered to build a CD vs a bootable USB drive, use the CD (Viruses can re-infect USB).

4.  Build CD's from each vendor, below. Some vendors can catch viruses that other vendors miss.
 
5.  With each vendor's program, cancel the default quick scan and run full-scans. These are time-consuming, taking several hours each.

6.  When done with bootable disks, launch Windows and then download and run this utility:

Download MalwareBytes: Malwarebytes
Run the Free Version.
If offered to install a Demo "Pro" version; decline and run the free (optionally, buy the professional version).  This scan will take several hours.

7.  Then download and run this additional Microsoft Utility from within Windows as a double-check:

http://www.microsoft.com/security/pc-security/malware-removal.aspx


Concerns:

If you have a newer Windows 8 or 8.1 with a UEFI disk, the CD's from non-Microsoft vendors will not work and I do not have a good work-around.  (UEFI are security-enabled BIOS boot drives and bootable CD's cannot reach them - at least as near as I can tell.) 

To see if you have a UEFI disk, boot into the BIOS and look at the boot system.  Alternately, load Control Panel, Administrative Tools, Computer Management.  On left-Nav, open Storage, "Disk Management" - wait a few moments.  Hover mouse over the Disk 0 partitions, looking for an "EFI System Partition".


Download and build CDs from each recommended vendor:

A.  Download Microsoft Security Essentials - MSE

For Windows 7, Vista, Windows XP:
http://windows.microsoft.com/en-US/windows/what-is-windows-defender-offline

For Windows 8, 8.1 and newer,
http://windows.microsoft.com/en-us/windows/what-is-windows-defender-offline-beta


- Use Microsoft's Internet Explorer to download
- Always download and use the latest version
- It will build the CD automatically; follow the on-screen prompts or see the steps below.
- Most Windows 8, 7 and Vista users should choose the 64-bit version.
- XP users should choose the 32-bit version

B.  Download Kaspersky Lab's "Rescue Disk"

This will not work on UEFI disks.
http://support.kaspersky.com/us/viruses/rescuedisk

- Click the Download Kaspersky Rescue Disk link.
- This will write an ISO file, which is a CD disk image.
- From Windows 7, follow these steps to write the ISO file to a CD.


C.  Download AVG Rescue CD

This will not work on Windows 8.x UEFI disks.
http://www.avg.com/us-en/avg-rescue-cd

- Click the AVG Rescue CD Free Download link; download the ISO version.
- See these keyliner steps to write the ISO file to a CD.


MSE Easy Steps: Build the CD

1. Preferably, from a non-infected computer, click the link above and choose the 64-bit or 32-bit version, depending on what OS was installed on the infected machine. If in doubt of the version, see Microsoft's documentation in the linked page. In general, unless you know otherwise, use these:

32-bit for Windows XP
64-bit for Windows 7 - most likely
32 or 64 for Vista; could be either; try the 32-bit

The download is a small stub called msstoolxx.exe where xx=64 or 32.

2. Save the download-exe to a known location on your disk.
3. Open the folder where you downloaded and run the executable.

This builds the image and it will take about 30 minutes, depending on your Internet connection speed. You will be prompted to build either a CDR, USB thumbdrive. I recommend the CD because not all machines can boot from a USB thumb-drive. The image-build is automatic.

Ideally, build the image from a non-infected computer, but if this is not possible, try from the infected machine. If you are downloading from an infected computer, rename the downloaded EXE to a random name before running because you know the viruses will figure this out and will try to stop you.

Using the Image:

Insert the CD and boot the computer, choosing "Boot from CD" when prompted.
The scan will take several hours, depending on the size of the disk. The process is completely automatic.


If your machine does not boot from CD

Summary: Cold-boot the computer and enter the BIOS configuration screens (hardware/BIOS settings, often pressing F2 or F10 as the machine boots). In the BIOS menus, change the "Boot order", allowing the CD to boot before the hard disk. Save the configuration change (typically with an F10=save) and try booting again.


See this Keyliner article for additional details. Booting from a CD or DVD


Caveats to Think About
  • Download and build the bootable image when needed. Old copies are obsolete. Microsoft continuously updates the CD with the latest virus signatures. Because it is a CD, it cannot update itself.
  • It can only clean viruses that Windows Defender knows about. If it fails to clean the infection, consider re-building this same disk a few days later. Microsoft updates their virus signatures several times per day.  Consider the steps in this keyliner article: Removing Win7 Anti-Virus
  • None of these products replace the need for real-time virus scanning.  See Microsoft Security Essentials

Final comments:


If you have read my previous articles on these topics, cleaning a virus while running on an already-infected machine is like fixing a car's engine while driving. While the infection rages, you have to trick the computer while cleaning and the steps are difficult and vary, depending on the virus.

Booting from a guaranteed-clean operating system is an ideal way to catch a virus. The virus is completely disabled during the scan and Microsoft has full-control of the system. I wish all virus-scanning vendors could use this same design - it vastly simplifies the process.

Once cleaned (and presumably the machine is useable), I still highly recommend running other virus tools, such as MalwareBytes and SuperAntiSpyware to double-check. As much as I like MSE, no single virus scanner catches all the bugs. If you have one virus, you have others and you will have to run multiple tools to make sure.  See the related articles, below, for the steps on how to use these other programs.

Multiple Scanners:
Do not leave multiple scanners installed at the same time.  I recommend using Windows Security Essentials (Microsoft's free real-time virus scanner).  On several machines that I have worked on, both MSE and the heavily-advertised Mcafee Security Scan Plus (free) are running on the same machine and has caused numerous problems.  Uninstall one or the other.

With this thought, if your machine was running Windows Defender and you were still infected, then Microsoft's offline virus scanner may not help because it missed it in the first place. But I still believe MSE is one of the best tools on the market -- and it is free.
Technical Note:
The bootable image loads a run-time copy of Windows. Unfortunately, the bootable image does not allow you to do anything else. You won't be able to copy data files or run other virus scanning products. It would be neat if you could run other cleanup tools, but Microsoft locked this down. Hopefully, they will re-consider this.

Related Products:

Microsoft is also distributing a related product called "Microsoft Safety Scanner". This is a single executable that does not need to be installed and you might be able to run this when no other program will work. However, this design is not as good as the bootable version described earlier in this article. If you have a netbook without a CD, this may be worth a try. The Scanner (msert.exe) is only valid for 12 days, then it expires. This forces everyone to download the latest and greatest version.


Related articles:
Microsoft Security Essentials
Removing Win32 Cryptor
Removing Win7 Anti-Virus - Recommended steps for all viruses
Removing Personal Security Virus
Securing Windows 7 from your Children
Booting from a CD / DVD

Other recommended virus scanners:
MalwareBytes: Malwarebytes

SuperAntiSpyware: superAntiSpyware
Choose the Free Edition. Despite its suspicious name, this is a legitimate program.
Rename to xxSuperAntiSpyware.exe before running.

Interesting article on spear-phishing attack:
http://blogs.technet.com/b/mmpc/archive/2011/05/31/when-spear-phishers-target-security-researchers.aspx

2013-09-09

Windows Explorer shows Red X

How to: Windows Explorer shows red-x on some website graphics (png), but other images display properly.  Firefox, Chrome and other browsers exhibit the same symptoms.  Windows Explorer, Firefox, Chrome, etc.. 

Symptoms:

Windows Explorer shows a red x on some web page images but others appear correctly.  Other browsers have the same problem.  This is a problem, especially with Windows XP.

Right-Mouse-Clicking the image, and selecting "View Image" displays an error (unrecorded; comments welcome).

Problem persists even if Firewalls (Norton, McAfee, etc.) are disabled.
Problem persists even if virus scanners are disabled.

Diagnostics:

1.  In a separate browser window, locate a page with the Red-X.

2.  Discover the type of graphic file using one of the following methods (.PNG, .JPG, etc.).  The method depends on what browser or browser version you have.

- Other-mouse-click the image, choose "Properties".  Note the "Type".

- Other-mouse-click the image, choose "Save Picture As" or "Save Image As".  Note the filename's extension.  Cancel the File-Save-As.

(Note: The top image on this page is a PNG file.  If it displays as a small 1cm (1/4") red-X, you are experiencing the problem referenced particularly in this article.  If the Red-X is a larger red-x, the size of a postage stamp, then PNG files are not having this but other solutions are discussed later in this article.)

3.  Confirm on other Sites

Visit other sites with the same problem.  If all file-extensions are the same (this document assumes ".PNG" files), continue with the remaining steps. 

If certain images are not showing on one site, but the same file-extension shows in other web pages or web sites, the author of that website has a bad link in their page design.  In other words, if "(PNG)" files work on other sites, but not on this one, this is not your problem and you should not follow the steps in this article.

If you have a mixture of different graphic type failures, then this document is not the proper solution.

If all graphics, of all types, are not displaying, see below, "Internet Explorer 10"


PNG Solution:

Assuming all PNG files are not displaying, but others, such as JPG, JPEG are displaying properly, continue with the steps in this solution.

A.  From Keyliner's public GDrive, download one of the following registry merge files, depending on your operating system:

PNG_FileAssociation_XP.reg

PNG_FileAssociation_Windows7.reg


(For Vista, Windows 7, Windows 8, Windows 8.1, use the Windows7.reg file.  These are ASCII text files.  Once downloaded, you can open the files with Windows Notepad to read their contents, prior to executing.  Compliments to Ramesh Srinivasan for creating the files.)


B.  Locate the file in your download directory. 

C. Right-mouse-click and choose "Merge". 

D.  Close all browser sessions, and re-open.  Confirm Red-X's are gone.

E.  If some Red-X's are still a problem, re-open your browser and delete your Temporary Internet Files (Cache).  Details pending.



What if not PNG?

If the Red-x's are not PNG files, I do not recommend merging the registry keys above, although I suspect no harm will happen if you do.  You could build your own version of the registry merge using these rough steps:

From another computer with the same Operating System (which does not have this problem), open the program "Regedit.exe" (Start, Run, "Regedit.exe" - see this article if your RUN command is not exposed.) and export each of the keys to a separate Registry Merge file.  This will build multiple REG files and each would have to be run separately.  Copy the REG files to the bad computer and merge each.

The steps for this are beyond the scope of this article.  Leave the author a comment on what type of file you are missing and I can build the merge file for you.  See Email address on Right-Nav.


What caused this problem?

Unknown.  Likely another graphic editor took control of this extension and you have since un-installed that editor.


Other Possibilities

This Microsoft (Windows XP) article discusses this same problem.  Be aware the registry merge above re-constructs this key, along with others.  You may wish to try this method first, as it is less intrusive, but also the Microsoft solution may not fix all problems with the file type.

http://support.microsoft.com/kb/915158



All Graphics Blocked with Internet Explorer 10

If all graphics (JPG, PNG, etc.) are blocked, on all web sites, and you are using Internet Explorer 10, consider this solution:

A.  Launch IE 10.

B.  Select top-menu Tools, "Internet Options"

(To expose the "Tools" menu:  find a "grey" uninhabited area near the top of IE's screen, staying inside of the IE Window.  Other-mouse-click, choose "Menu Bar")



C.  In the [Advanced] tab, under "Multimedia", click [x] Show Pictures.


Comments Welcome.

2013-08-31

Scroll Bars missing in Adobe Acrobat Reader

Scrollbars missing in Adobe Acrobat Reader (version XI version 11, Acrobat Reader DC).  Vertical scroll bar missing.

Problem:
Vertical scrollbars missing when viewing a multi-paged PDF file.

Reason:
Adobe is by default assuming you have a touch-device but I have no idea why Adobe would set this as a default.  Regardless of a touch-screen, a scroll-bar is useful on any device, no matter what method is used for scrolling.  
 


Quick Solution for current Document:

This change only affects the current viewed document.  See Permanent Solution, below, for a better method.

A.  Acrobat Version 11 and older:
      Within Reader, top-menu, choose "View", Show-Hide,
      Uncheck [ ] Touch Mode

      If the top-menu is not visible, press F9.

      If the "Touch Mode" option is not available, especially in newer version of
      Reader (DC), see the preference setting, below.


Permanent Solution - All Documents, All Versions of Acrobat Reader:

1.  Within Acrobat Reader, select Top-menu "Edit", Preferences
     If the top-menu is not visible, press F9.

2.  In the Left-Nav Categories section,
     Choose [General]

3.  In the Basic Tools detail section,
     Change "Touch Mode" from "Auto Detect" to "Never"

4.  In the Left-Nav, [Documents] section,
     Uncheck [ ] "Allow documents to hide the menu bar, toolbars and windows controls"

Close Acrobat Reader, and re-open a pdf to test.


Other Recommended Acrobat Reader Options:

I recommend making these additional changes to Acrobat's default settings.

a.  In Left-Nav [Page Display],
    Set Page Layout to "Single Page". 
    Set Zoom to a default value, such as "85%" 
    (literally type the value, even if not on the pull-down selection list)

b.  In [Forms], set "Auto-Complete" to "Off". 
     This is a security measure.

c.  In [JavaScript], uncheck [ ] Enable Acrobat JavaScript.
     This is a security measure and I doubt any documents you read will be impacted.

d.  In [Search], change "Maximum Cache Size" from 100MB to 10MB,
     Then click "Purge Cache Contents". 
     The default value is obscenely large.

e.  In [Usage Information], consider turning off 'Yes, I would like to share anonymous..."


Hiding the Annoyingly Stupid Right-Pane tools bar:

For Acrobat versions 11 and older (this does not work for Reader DC)

1.  Confirm Windows Explorer (File Explorer) shows hidden and system files
     (steps not detailed here).

2.  Tunnel to C:\Program Files (x86)\Adobe\Reader 11.0\Reader\Services


3.  Delete these 2 files:
    DEXShare.spi
    DEXEchoSign.spi

     If these files are not visible, confirm Step 1.

For Acrobat Reader DC, there does not appear to be a way to hide the right navigation bar.  Perhaps it is time to consider the Foxit Reader?

Related:
Keyliner Article: Time to remove Adobe Acrobat Reader 
With all of the problems with Acrobat Reader, I made the change.

2013-08-16

Reset Linksys Wireless Router Password

Discussion: How to reset a wireless router's password.  Or, how to reset a wireless password without having to reset the router to factory defaults.

Every few months I get asked this question:  How can I discover my wireless router's password.  Or, more accurately, how can I reset the wireless password without resetting the router to factory defaults.

The short answer:   You can't -- not unless you know the router's admin password.

(Nick Park's Wallace and Gromit)

The longer answer:

* If you know the router's Admin password:

You do not have a problem.  Log-in to the router and view the wireless passwords.  (See first-time-setup, below for steps)

** But the real reason you are reading this article is probably because you have forgotten both the Admin and the Wireless access passwords.  This puts you at a distinct disadvantage.

Without the router's admin password, the only way to recover the Wireless password is to reset the router to factory defaults and re-configure all wireless devices. In other words, rebuild the network from scratch.


The real answer:

If you need to reset to factory defaults, follow the instructions in this excellent keyliner article -- skipping the hardware steps a, b, and c, jumping directly to the router-reset in Step 1.

These steps work basically the same with all brands of routers - with a minor difference in the initial IP address and default password.

Sounds scary, but it is relatively easy, provided you are some-what computer cognizant and are not afraid of following those instructions.  If you are familiar with the steps, it takes about a half-an-hour to an hour to rebuild the network, plus another minute or two for each connecting device. You will have to revisit Xboxes, Wii's, netflix devices, TV's, laptops, tablets, thermostats and cell phones to all recognize the newly built network.



What if you made a backup of your Router's Configuration (saving as a .cfg file)? 
Can I recover from this?


If you knew your Admin password, you could recover the config file - provided you could log into the router and restore it -- in other words, a catch-22.  And good luck opening the (linksys) .cfg file in a text editor; the file is encrypted, as it should be.  The real problem with this method is nobody ever makes a backup of their router-config (nor do I), so likely, this isn't even a possibility.  Readers have posted comments about other brands of routers, below, but I have not seen evidence that the passwords are visible in clear text and am suspicious.




Okay, I get it.  Any other hints?

Step 8 from my Router-First-Time-Setup article, deserves to be repeated:


"The passwords should not be lost or forgotten.  I recommend recording these values and store in an envelope near the router or use a luggage tag:


Router Address:           192.168.200.1
 

Broadcast SSID: _______________________

Starting DHCP Address:  192.168.200.100

Admin Password: __admin /______________

24G Wireless Password: ________________

5G Wireless Password: _________________

Guest Wireless: _______________________


Example:
Broadcast SSID:  keyliner
Starting DHCP Address: 192.168.200.1
Admin Password:  airplanes5g
24G Wireless Access Password:  airplanes24
5G Wireless Access Password: airplanes5g - or other password
Guest Wireless Access Password:  airliner





Why the Secrecy?


The router's admin password and the router's wireless are encrypted and if you could hack them, everyone could.  By definition, wireless things are a security nightmare to begin with.  The vendors and the operating systems on your computers, phones, and other devices, have taken great lengths to make sure this stuff is secured.  From all my research, they've done a reasonably good job.


Sorry there is not a good answer to this problem.
T.

2013-07-25

Multiple JPG Edits Degrades Quality

Question: Does editing an JPG image multiple times degrade the image quality, cause shifts in color or loss of sharpness?  Yes.  This is true even if compression is turned off.

Although you can tell your editor to save JPG uncompressed, it still introduces compression and the image quality degrades with each generational edit.  More edits equals more compression.  This article explores loss of quality during multiple editing iterations.

The Experiment:

As an experiment, I took a simple, mostly black and white image, and sent it through ten generations of edits, storing the file uncompressed.  At each step, I checked for changes in color and sharpness.  What I found was each generation had a degradation in quality.

The Test Image:

A simple image showing the letters 'abc', with an anti-aliased red horizontal line (and a pure red control dot, barely visible under the shadow of the 'b').  This image was used because the edges are discernible than a photograph, and this image can be accurately and reliably reproduced.  The image was originally built in PaintShop Pro X5 and was stored in a non-compressed PSPimage format.  For this experiment it was converted to JPG.

Note: This blog only accepts JPG images and has already introduced its own compression.  Because of this, the red is not a pure red in the illustration above.  


Image details:
Original, uncompressed 'abc' as a .pspimage:
Size: 488 x 458px, (195,000 bytes)

An ICC Color profile was not applied
All colors preserved without a loss in quality


Red color palette:
Red = 255
Green = 0
Blue = 0

The test picture has a small, one-pixel, pure-red dot just below the letter 'b''s bowl.  The dot is pure red and is not anit-aliased.  Along with this dot are other anti-aliased pixels, illustrated below, and each was monitored for changes. 

Note the red line marking the base of the font.  This line is anti-aliased and is not, nor expected, to be a pure red.  Magnified 3000%, the areas of interest are shown in this illustration.



Compression

If allowed, all photo-editors aggressively compress images by default -- they will do this with both their native and JPG formats.

For example, in PaintShop Pro (PSP), both the .pspimage and .jpg menus have default compression settings.  For these tests, compression was turned off during the initial File-Save-As.  Adobe Photoshop has similar settings. 

Compression Settings - Click for larger view


When the test file was saved at various compression levels, the file-sizes were:

Test Image File Sizes:
.pspimage - Original 195k  (non-compressed)
.pspimage - default compression lzh       16k  (image not shown in this post)
.jpg - Generation 1 14k
.jpg - Generation 5 17k  (note larger size due to artifacts)
.jpg - Generation 10 17k  (artifacts also shifting in color)

The author recommends turning off compression in all images. In the case of a .pspimage, the default compression is too aggressive.  With JPG's, the space saved is too little to make a difference.

In PSP, change your defaults by opening any image and do a Save-As.  In each format (.pspimage, .jpg, .Tif, etc), click "Options" and choose the compression.  PSP remembers these settings for all subsequent images, until changed.  At the same time, consider disabling ICC profiles, in both the save-as and File, Preferences menus.


First Generation .jpg

Saving from the original, uncompressed .pspimage to .jpg, dropped the file size from (195k) to (14k) - a remarkable drop in size.  Even though PSP was told to not compress, .jpgs, by their very nature have compression.  Here is the first-generation results, at 3000% magnification:


The one-pixel red is no longer red.  Its RGB values should be
R=255,
G=0,
B=0,

but it has already digressed to
R=103,
G=65,
B=64

-- more of a brown than a red.  The first illustration in this article is that first-generation file, with a pure-red control pixel (although, when uploaded to this blog, the blog compressed it).

Notice the horizontal anti-aliased red-line also shifted brown.  The line has numerous pink artifacts one pixel above and two pixels below, which can be seen as a pink shadow.  As more generations are introduced, these artifacts multiply and experience their own color-shifts.

5th Generation .jpg

Opening the first-generation .jpg, I made a tiny, one-dot editing change in a far-corner of the image (not shown in the magnification) then saved and closed the image.  I re-opened and re-edited the remote corner, repeating the save-steps four more times.  The fifth generation edit shows even more dramatic shifts.

The Red pixel shifted to
R = 84 - not even remotely Red
G = 72
B = 74

Other anti-aliasing pixels had similar shifts.  The horizontal red-line now has more artifacts, extending four pixels below and two pixels above.  Their reds have shifted to the thinnest of pink, almost imperceptible.

(Note: The editor disguises some of the compression until the file is actually closed.  This is why the file was closed and re-opened during each pass)


10th Generation .jpg

The 10th generation edit shows less dramatic changes -- after all, most of the red was already compressed out of the image by the fifth generation.


All pixels danced around the previous values, with minor color-shifts downward.  This generation showed more artifacts as the previous shifts continued to drift from their original colors. 


Side-by-Side results

Again, this blogging tool only accepts JPG and by definition, the red-line has already shifted colors.  In reality, this uploaded image is a second-generation .jpg image.  The original image was crystal-clear.  The left-side of the illustration is now a third-generation, while the right-side is a twelfth generation. 

And there are problems with color shifts caused by your monitor, which are not corrected by an ICC profile.  In any case, the editor shows the original (left-side) as a bold, red line, that is pure red, in all of its glory, and the generational images are definitely not red.

What does this mean?

Numerous edits to a .jpg soften quality and mute colors.  This was a stark example and these changes can be difficult to spot at a pixel-by-pixel basis in a normal photograph, but the changes are there.  Photographs are not as compressible as this black, white and red image, but there is compression none-the-less.

There are other caveats with this experiment.  Other photo-editors may behave differently, but I suspect they all do nearly the same thing.  Finally, PSP did not have a zero-percent compression setting for jpg files -- the best it could do was 1%.  I suspect all JPG's must be compressed. 

Consider the first generation save:  Even at a 1% compression, it still dropped the file-size from 195K to 14K -- clearly someone lied.  This appears to be in the design of a JPG file.

Recommendations:

For the best quality photos, follow these recommendations
  • Do not allow the camera to save as .JPG - even at high quality.
  • Save images as RAW.
  • Confirm the photo-editor can read the camera's proprietary RAW format.
    ----------------------------------------------------------------------------
  • Edit photographs in the editor's native format
    (for example, in PaintShop Pro, use .pspimage, Photoshop PSD / PSB).
  • Turn off native compression in the editor.

  • Convert to .JPG as a last-step, if sending in email or posting online; keep originals.
  • If editing in .JPG, turn off file-save-compression!
Of course, this impacts file-sizes.  Non-compressed file-sizes can be painful:

Consider a recent series of photos I took.  5 exposures for one scene.  Each exposure was stored as RAW, then HDR'd into a final image.  Look at these large file sizes -- these have their full fidelity:

Image-1    17MB  (16 megapixels, stored RAW, no compression)
Image-2    17MB - various exposure compensations, 2-5
Image-3    17MB
Image-4    17MB
Image-5    17MB
---------------------
HDR Image - 114 MB -- for one image!

Read about this large HDR image in this related article:
Stanley Forest Burn Photo - imageLiner.blogspot.com


Conclusion:

This experiment was done in pristine conditions, using no compression, and with a relatively simple image.  Now imagine if Paintshop Pro or Photoshop was allowed to compress its .jpg images -- defaulting to a 7 to 20% compression -- this happens each time the file is saved!  Compression (and loss) would be rampant. 

Your comments are welcomed.

Related links:
www.imageLiner.blogspot.com

2013-06-27

Cellphone will not turn on; battery unexpectedly dead

Android Cellphone won't turn on and the battery is unexpectedly dead.

Symptoms:
  • Cellphone will not boot or turn on
  • The phone was warm or hot to the touch all day
  • Battery appears dead even though it may have been fully charged the night before
  • Hard booting the phone fails
  • After charging the phone for a few minutes, it will then turn on
  • Once charged, it behaves normally, with no battery issues


Likely problem:

A program or background task is running amok and is in a loop.  The CPU / Processor is running at full-speed, consuming all power.  The phone will feel warm or hot to the touch while this is happening, even if the screen is turned off and the phone is not in use.

Workaround Solution:

Restart the phone (press and hold the power-button and select Restart). 
If the battery is too dead to boot, charge the phone for a few minutes before attempting to power-on. Once powered on, note the battery level.

Restarting the phone kills the errant task.

Root Cause:

Locating the failed application will be difficult unless caught in the act.  Likely, this is not a predictable or re-producible event and your phone may be dead before you realize what happened.


In my case, I suspect the phone's built-in Camera app was the problem.  I had accidentally launched the camera earlier in the day and then turned off the screen and set the phone down without actually closing the program.  The phone was not used for the rest of the day, but I noted it was warmer than usual.  By the end of the afternoon, the phone was completely dead and would not power back on.  After a short charge, it recovered.  By this time, the Camera app was closed.  This problem was not reproducible.






Surfing the web for this problem shows all kinds of suspected applications can cause this problem, indicating it is not an application problem (e.g., not really the camera-app, etc.).  Instead, it is probably an OS task-scheduling issue and it can manifest itself in a variety of apps.

Other comments:


Do not bother using Advanced Task Manager or other such apps because with all reasonably-new Android operating systems, these programs cannot actually kill the task.  However, there is a paid application "Watchdog Task Manager" by Zomut, LLC, which shows which processes are hogging the system and it might be of interest, however, I suspect monitoring with Watchdog will not provide much useful information.

Your comments on this issue are welcome.

Related Articles:
Recommended Android Applications
Importing Android Phone / Address Book
HTC One X Review

2013-06-02

Message: Your G-mail has been hacked

Synopsis:  GMail has been hacked is a scam

An SMS text message from number 18184735086 (1-818-473-5086, or other numbers),

Message #90261: Your G-mail has been hacked. Text back to VERIFY to take a call to reactivate your account. 

Or Your GMail Profile has been compromised.

Or Your Gmail has been compromised by hackers.  We need to call to verify your identity.  Reply with 'READY' when you are ready to take the call.


This is a scam.

Besides the fact that Google would never spell their service as "G-Mail" (it is Gmail), and would an official message from Google have such terrible English?  And would Google use the word "hacked?" - of course not.  With those observations aside, if Google did detect your account was compromised, they would shut it down and make you come to them to re-activate.  Like your bank, they do not send messages about account information.  All of these clues are flags that say ignore this message. 

What should you do:

1.  Nothing.

Do not reply to the text message.
Do not even bother changing your Gmail password.  You were not hacked.
Do not bother reporting the scam - it is fruitless.

This is a 'phishing' expedition, nothing more.

They are looking for information.  The perpetrator is building a database of likely users.  Your number was randomly generated and they hope you have a Gmail account.  Hotmail and Yahoo users can see similar messages.

Still Paranoid?

If you want to make sure your account was safe, log in.

If your account were hacked, the first thing they would do is change the password, locking you out.  Being able to login indicates nothing happened.  When logging in, do not use any links provided in another text message or email -- instead, go directly to "www.gmail.com" - this way you won't arrive at a spoofed-login screen.

Consider checking your account's last activity.  From the main Inbox, look at the bottom footer.  Click "Last Account Activity: Details".   This gives a full report.

Optionally, go to "Account" settings by clicking the upper-right pull-down near your account picture's thumbnail.  Choose "Account Information."  On the displayed screen, note the last login date (this is the login prior to this one) and note the country where it was logged in from.  If this all seems reasonable, once again, do nothing.

Google has more on Last Account Activity with more in-depth reporting:
https://support.google.com/mail/answer/45938?hl=en 

Related Article:
Confirm and Protect your Gmail Account with these easy steps


What if you Replied:

From around the web, those who did reply to the text message, report another text saying, "please enter the verification code -44- when we will call you."  There might be a message about your Voice Mail being setup or other such nonsense.

All that happened is you confirmed your phone number is accepting text messages and a gullible person responded.  Your name and number will be sold the the highest spam-bidder.  Expect a lot of Viagra messages.

One person, after replying, reportedly got a call from "Gmail Support" and was charged $99 to unlock the account and install "lifetime protection." Oh my gosh!  No!  She was completely ripped off and adding insult to injury, she gave away her Visa card and the farm. 


Google 2-Step Verification

When I first saw this message, I did a double-take, and then laughed.  I use Google's 2-step verification.  My account could not be hacked -- even if they knew my user-id and password, they can't log in.  

With two-factor authentication, I use my normal User-ID and password and then a few seconds later, Google sends a text message to my cell phone.  In a secondary Google login screen, I type the numeric code from the text message.  Only then can I open my account.  This technique works with both smart and non-smart cell phones.



It works like this: 
    Login with something you know (your credentials)
        + something you have (your phone)

The only way to get past this is to kidnap me and my phone.  Details on Google's 2-step verification can be found here: link:  Two-step verification



Update:  2014.11  -- Google now has an app, "Google Authenticator", which is faster and better than an SMS text message.

What if you don't have your phone?  You can't login.  However, when you first engage this service, Google provides a short list of longer emergency codes that only you know.  Print these and file in a drawer should you ever need them. 

Other GMail Protection Steps:
Keyliner Article:  Protect your Gmail Account.

Other details:

The phone numbers sending the text can come from literally hundreds of different locations.  Here is a sample phone number list from around the web:

2102016341   210-201-6341
2622084748   262-208-4748
3317257397   331-725-7397
3605620248   360-562-0248
4174131642   417-413-1642
5087841859   508-784-1859
6465048392   646-504-8392
7075066468   707-506-6468
7243157540   724-315-7540
8032655725   803-265-5725
8082655725   808-265-5725
8649771320   864-977-1320
9142364339   914-236-4339
9142364339   914-236-4339

The Reply message can be a variety of keywords, including
-SENDNOW-
-READY NOW-
-VERFIFY-
-REPLYNOW-
-SEND CODE-, etc.

All the changes in the message are to work past spam filters and to make the message sound unique.

Related Article:
Confirm and Protect your Gmail Account with these easy steps

Other articles of Interest:
Cleaning Windows Startup Programs (streamlining your boot times)
Using Microsoft's free virus scanner (MSE)
Speeding up slow USB devices

Interesting article on GoogleTwo-Step hacking.  This does not dim my appreciation for what Google has done:  Bypassing Google's Two-factor Authentication

Not that you will need this, because your account was not compromised:
Google Account Compromised:  https://support.google.com/mail/answer/50270?hl=enhttps://support.google.com/mail/answer/50270?hl=en


2013-06-01

Gmail Protection Steps

GMail Protection Steps - If you suspect your GMail account was hacked, or if you want to confirm you have a rock-solid Gmail profile, use these steps. 

If your account were compromised (and you can still get into your account settings), look at these areas for common hacking techniques. 

Related Articles:
If you got a text message "Your Gmail has been hacked" or "Your Gmail account has been compromised," do not bother with the steps in this article; instead see: SMS Message: Your GMail has been Hacked.


1.  Confirm recent Login History

From the main Gmail Inbox, look at the bottom footer.
Click "Last Account Activity: Details".
Confirm the login activity seems reasonable.

Click for Larger View; "X" to return


2.  Confirm Connected Applications and Sites

Make sure hackers have not inserted a new program or site into your Gmail environment.


Open Account Settings
(Click pull-down arrow next to your account-picture (upper-right corner on Gmail main screen),
then choose "Account").

Click left-Nav, "Security"
In "Connected Applications and Sites", click "Review Permissions"
(When prompted, type your password to open the screen)

Confirm all connected sites, apps and services seem reasonable.
Revoke Access if you have doubts.


3.  Check Account Access

a.  From Gmail, click the Gear Icon (upper right corner)
b.  Choose "Settings"
c.  Click top-row tabs, "[Accounts]"

d.  Confirm "Grant Access to Your Account" does not list other Gmail accounts.
e.  Confirm "Mark conversations as read when opened by others"


4. Check Forwarding

a. In the "[Forwarding and POP/IMAP]" tab
    Confirm you are not (auto) forwarding messages to another email address.

b.  In [Filters]
    Confirm there are no unexpected Filters (which can also be used to forward emails)


5.  Enable Google 2-Step Verification

Consider enabling Google's Google's 2-step verification.  With this, your account cannot be hacked -- even if the perpetrator knows your username and password. I have done this myself for better than a year and this is highly recommended.

With two-factor authentication, I login with my normal User-ID and password and then a few seconds later, Google sends a text message to my cell phone.  In a secondary Google login screen, I type the numeric code from the text message.  Only then can I open my account.  This technique works with both smart and non-smart cell phones.



It works like this: 
    Login with something you know (your credentials)
        + something you have (your phone)

The only way to get past this is to kidnap me and my phone.





What if you don't have your phone?  You can't login.  However, when you first engage this service, Google provides a short list of longer emergency codes that only you know.  Print these and file in a drawer should you ever need them. 

Setup Steps:
a.  From your Account Profile (click pull-down next to your Account Picture)
b.  Choose "Accounts"
c.  On left-nav, click "Security"
d.  2-step Verification "Edit"

Details on Google's 2-step verification can be found here: link:  Two-step verification



Related Articles:
SMS Message: Your GMail has been Hacked

Related articles: 
Keyliner Better, Stronger Safer Passwords
Keyliner: Using Google's Two-Factor Authentication
Keyliner:  Your Gmail account has been hacked


Google Account Compromised
Google has these instructions if your account were hacked and the password was changed:
https://support.google.com/mail/answer/50270?hl=enhttps://support.google.com/mail/answer/50270?hl=en


Excel Parse First Name, Last Name

How To: Reliably Parse FirstName, LastNames in Excel using a User Defined Function (UDF Macro). A single cell may contain a person's full name, as in "John Q. Smith".  Use Excel to parse out the constituent parts: FirstName, LastName, MidName, Suffix and the salutation.  New version 2013.06.11 includes support for prefix-Salutations and multiple suffixes + minor bug fixes.

Preamble:
Parsing a person's name into sub-parts is difficult. There are issues when the person's first-name is an initial plus their second name, as in "J. Alan Smith".   Other names, such as Last Names, may be composed of two words, as in "Alan Van Doran", "Bobby Mc Farland" or "Jill Saint John".  A standard parsing routine may confuse "Van", "Mc" and "St." as middle-names and would assign only the "J" to J Alan's first name.

The macros referenced in this article see through all types of naming issues and are able to parse most (English) names into their constituent parts:

FirstName
LastName
MidName
Suffix (Jr., Sr., PH.D, III, MD, etc.)
Prefix / Salutations (Mr., Mrs, Senator, Cpt., The Right Reverend, etc.)


What it Handles:

These routines correctly interpret all manner of English (and likely other language) names, including those with:
  • First-letter initials, punctuated or not  (J. Smith, J Smith)
  • First-letter initials, with a second name assumed as first= ("J. Alan")
  • Two-letter firstnames (JP Morgan)
  • Two-letter first names plus mid-names (JP Alan Morgan)
     
  • Hyphenated first and last-names
  • Names, such as Van, Vander, Mc, Mac, Saint, Le, Le', De, etc.
  • Common Suffixes (Jr., Sr., "J. Smith III", PH.D, PHD, MD, M.D., DDS, etc)
  • Common Suffixes, punctuated with/without commas (J. Smith, Jr. returns "Smith")
  • Multiple-word suffixes, punctuated with at least one comma are detected properly
     
  • Names with extra embedded / internal spaces
  • Three, four and five-word names (Mary-Anne Lynn Miller, etc.)
  • Single-word names ("Smith", "Cher", assumes LastName)
  • Can separate common and uncommon Salutations, such as Mr., Mrs, Lt., Fr., Reverend, etc
  • All names are returned in the upper/lower case, as typed.

Where this routine struggles:

There are some areas where even humans have a hard time interpreting.
  • Names such as "Mary Ann Smith", where "Mary Anne" is the first name.  Ann will be tracked as a middle-name. 

    However, "Mary-Ann Smith" will parse Mary-Ann as a first name.  If you have control over the original data and can insert a tilde~, "Mary~Ann Smith" will parse as "Mary Ann" as the first name, with the tilde removed.  This is a programming trick which might be useful.
     
  • Similarly, "Kathy Smith Jones" will parse as a mid-name "Smith" and a last-name "Jones". 

    Hyphenated last names, such as "Kathy Smith-Jones", will parse correctly with the last name as "Smith-Jones". 
     
  • Common multiple-word suffixes, without a leading comma are detected with less accuracy.  Uncommon suffixes, such as many educational-degrees, are not detected and will be incorrectly treated as last-names.  However, this logic is easily modified.  I would appreciate a comment with all of the possible suffixes.
Other comments:

If the source last name has a special character (~ tilde), "Kathy Smith~Jones", the last name will be parsed as "Smith Jones" (with the tilde removed) - this is a programming trick that may help you if you have control over the name assembly. 

If the name has a middle-initial, the last name will always parse correctly, no matter how long or how poorly punctuated, as in "Kathy Q. Smith Jones".  Middle initials are detected as single-character values, with or without punctuation (Q, Q.).



Here are some normal and unusual names this routine can handle:

John Smith
John Q. Smith
John Q Smith, Jr.
John Q Smith,Jr  (No space after comma)
John Q. Martin Smith, III  (simple suffix)
John Martin Jr. (simple suffix, no comma)
John Martin, Jr. MD  (suffix with leading comma: "Jr. MD")


Smith (Missing first and midnames, detects as last name)
J Smith
J. Smith
J. Alan Smith
J Alan Smith
J.P. Smith  (first-name = "J.P.")
JP Albion Smith
JP Albion Smith PHD
 
John Mac Neal (LastName = Mac Neal)
John Mc Neal (LastName = Mc Neal)
John O' Brian (LastName = O' Brian, O' Leary, etc.)
   John  Mc   Neal MD  (extra embedded spaces)

   (various Le', De' and other such names, with/without punctuation)
John Van Nuys  (LastName = Van Nuys, also Vander, Von, etc.)
Mac Hetherington (LastName = Hetherington, not Mac Hetherington)

Mary-Anne Jacob Smith MD

Tom Smith, M.D.
Mary Ann Nichole Smith (Ann as middle name; this may or may not be correct)
Mary Q Anne Nichole Smith Barney (a mess. LastName = Anne Nichole...Barney)
Mac Von Nuys, Jr (lastName = Von Nuys)

Lori Vander Hoff (LastName = Vander Hoff)


Numerous Prefixes are detectable:
The Hon Rev Thomas Smith  (First name Thomas, Last name Smith)

Cpt. John Smith
Mr. Allen Jones


Overview:

With the code referenced in this article, you can write your own Excel functions.  For example, you may be familiar with Excel's =Sum().  With Excel's macro language, you can write a function, such as "=ReturnLastName()", essentially inventing your own keywords.  These are called User Defined Functions (UDF). 

Even with no macro experience, the code from this article can be downloaded and added to your spreadsheet, ready for use, in under 5 minutes.  This can be done without writing a line of code. Once installed, the macros can be applied and used like any other Excel function.  Today, I used these very routines to parse a 200,000 row spreadsheet.

See this article for a tutorial on how to build and use User-Defined Excel Functions or follow these step-by-step instructions and use the code as-is.  
    Functions:

    =ReturnSalutation()
    =ReturnSuffixName()
    =ReturnFirstName()
    =ReturnLastName()
    =ReturnMidName()

    Also referenced are utility functions, such as "=SuperTrim" and "=ReturnLastWord", which are found in the A800_UtilStrings.bas module, downloaded below.



    Installation and Use

    Source-code can be downloaded from the Keyliner public Gdrive site  (the code is too ungainly to post in a blog).  You are welcome to use these routines in your personal or commercial projects; as a courtesy, please leave the author comments in the code.

    1.  Download two files from this link:
    You do not need to register or login in order to download.  Highlight the files, then click the 'Download' button on the top ribbon-bar.

    From this link, download these two files; both are required for this article: 
    Keyliner Public Gdrive - Excel Macros

    A240_ParseNames.bas
    A800_UtilStrings.bas


    2. Save the downloaded files to any directory, such as

    C:\Data\Source\CommonVB\A240_ParseNames.bas
    C:\Data\Source\CommonVB\A800_UtilStrings.bas

    (or any other directory of your choosing)

    3. Launch Excel and Enable Excel Macros.

    Microsoft considers all macros a security risk and this can be a nuisance.
    Do the following to enable the macros.  This is a one-time step for all macros.
    • Launch Excel; click the Orb (formerly the File Menu); choose Excel Options
    • Click Trust Center, Trust Center Settings
    • Macro Settings
    • Enable All Macros
    • Older versions of Office have similar settings.
    See also this article, which summarizes these steps:  Enable Excel Developer Options

    4.  Open the sheet where you need to parse Names or open a blank worksheet to test the routines.

    5.  Expose Developer Options

    Office 2008
    a.  Click the "orb" (or File Menu), Excel Options 
    b.  On the left, choose "Popular"
    c.  Click [x] Show Developer tab in the ribbon
    d.  Click OK and return to the sheet

    Office 2010
    a.  Click File, Excel Options, "Customize Ribbon"
    b.  In the second-column ("Customize Ribbon: Main Tabs"), check [x] Developer
    c.  Click OK and return to the sheet


    6.  Import the Downloaded Excel Macros
    a.  Within the sheet, start the VBA Macro Editor by pressing Alt-F11.  The VBA Macro Editor will open in a new window.

    b. On the tree-diagram, illustrated below, select your sheet ("Book1"), then:
    • Other-Mouse-Click (Book1),
    • Choose "Import File"
    • Browse and select the previously-saved ".bas" module,
      e.g. C:\Data\Source\CommonVB\A240_ParseNames.bas
    • You will see the code appear under the "Modules" folder (not illustrated)
    c.  Repeat the steps directly above
    • Import C:\Data\Source\CommonVB\A800_UtilString.bas  (the second macro file)

    7. Close the Visual Basic editor by clicking the editor's "X". 

    This returns you to the sheet and the macros are ready to use. 

    Note: All the macro editor did was "attach" the code.  You are welcome to review the code from within the editor. 

    Important: The macros will not save with the sheet unless you follow the Office 2007/2010 Save warning, documented near the end of this article.




    Initial Testing

    A.  Type a name "John Q. Smith" in cell A1.  Press Enter to commit.
    B.  In Cell B1, type this formula:

    =ReturnFirstName(A1)

    Note:  You are not "running" these macros; they are executed as a function within the sheet.

    You are done!
     

    Note these other routines:
    =ReturnFirstName
    =ReturnMidName
    =ReturnLastName
    =ReturnPrefix
    =ReturnSalutation

    Also of interest, these general purpose utilities:
    =SuperTrim (very cool)
    =ReturnFirstWord
    =ReturnLastWord (and others)



    Dependencies:

    The A240_ParseNames macros has an inter-dependency, where the =ReturnMidName routine depends on the =ReturnFirstName and =ReturnLastName.  In other words, you cannot parse the Mid name without first parsing the First and Last names.  This was done for efficiency and saves those routines from re-parsing previously parsed fields.

    Because of this, build your parsing fields in this recommended order, with these formulas (technically, fields can be in any order, but the MidName formula may end up pointing to a column to the right - which is okay.).  See below for parsing prefix Salutations.

    1.  Parse the Suffix first (this properly detects missing or blank suffixes)
    =ReturnSuffixName(celladdress)

    2.  Parse the FirstName next, using
    =ReturnFirstName(celladdress)

    3.  Parse the LastName next, using
    =ReturnLastName(celladdress)


    4.  Parse the MidName last, using
    =ReturnMidName(celladdress, firstname, lastname)
    Note the inter-dependencies; this field uses two other fields as input

    For example, with a name typed in cell B3 (John Q. Smith, Jr.), build the =ReturnSuffixName formula in cell C3.  Continue with the other formulas, finishing with the =ReturnMidName in cell F3, as illustrated:

    Click illustration for a larger view; click right-X to return

    Once the formulas are built, you can "fill-down" columns C, D, E, and F, to calculate other names in the list. Commonly, once parsed, you would copy all of the names and Paste them using "Paste Special, Values only" -- converting them from formulas to fixed text.

    If you were inclined to look under the hood, you would see the ReturnMidName macro's signature line in this VBA code.  Note the three fields passed into the routine:

    Click illustration for a larger view; click right-X return


    Prefix Salutations Dependencies

    Although uncommon in most listings, you can parse prefixed-salutations from a cell ("Mr, Mrs., Dr., etc).  An ending space, before the first name is required as a delimiter.  These routines properly handle missing prefixes.

    Examples:

    Mr. John Q. Smith
    Mr John Smith, Jr.
    Reverend John Smith
    The Hon Mrs. Mary Anne Jones
    Pvt. Mary Horne


    Common prefixes, such as Dr., Dr, Mr., Mr, are supported with and without periods.  But most multi-word honorifics, such as "The Hon. Mr." do not check for full punctuation (for example, two periods are not tested).  If needed, this behavior is easily changed.

    =ReturnSalutation( )
    The ReturnSalutation verb could not be efficiently incorporated into the original =ReturnLastName, =ReturnFirstName functions, and as-such, it was written as a stand-alone module within the A240 library.  Because of this, you will not be able to run =ReturnLastName, =ReturnFirstName routines against a prefixed name.  The salutation must be removed first.  This is easily solved.  Consider this scenario:

    Column A:  "The Hon Mr. John Q. Smith"

    Column B: =ReturnSalutation(A)   Resulting in "The Hon Mr."

    Column C: =if (Len(B)=0, C, Mid(A, Len(B) + 2, 999))    Resulting in "John Q. Smith";  the +2 skips the trailing space and starts at "J" (John).

    For all LastName, FirstName routines, point them to the non-prefixed Column C.



    This concludes the tutorial on how to use these parsing routines. 


    Possible Macro Errors:
    If you get a "#NAME?" when typing =ReturnLastName, the library was not linked in properly or was not linked to this particular sheet (the macros are only available to the sheets where they were copied).  Review the steps above.  If a routine, such as "SuperTrim" or "FindLastWordPos" fails, confirm you linked in the A800_UtilStrings library.


    Possible Errors:
    Compiler Error, Variable not found
    Starting in Excel 2010, Microsoft is much more particular about having to declare variable types, especially if "Option Explicit" is used or if, in the VBA Editor, Tools, Options, [Editor], [x] Require Variable Declarations.  The Author's code worked properly in Office 2007 and earlier, but failed in 2010.  New versions of the code has been uploaded, fixing this problem.


    Excel 2007/2010 Save Warning:

    When Excel 2007/2010 saves the sheet, it will save it as an ".XLSX" and will strip the macros out as it saves (Microsoft is doing this as a security precaution.)



    When prompted: 'Do you want to save as a macro-safe) workbook', click "Yes"  or optionally, do a File-Save-As, and choose "Excel Macro-enabled Workbook (*.xlsm).

    Caution:
    If you modify the Macros and save the sheet, only this sheet will see the changes.  From the macro editor, re-highlight the A240 and A800 routines and "Export" them back to the 'C:\data\Source\CommonVB' routines, where they were originally stored.  This way, the changes can be used in other spreadsheets.


    Related articles:
    Excel Macros: Formatting Phone Numbers
    Excel Macros to Parse City State ZipCodes
    Excel Macros to return First Word, Last Word, Supertrim, Count Words
    Writing Excel UDF functions
    Excel VLookup - A complete Tutorial
    Parsing Salutations and Salutation lists

    Excel Coloring Alternate Rows
     
    Enable Excel Developer Options

    Originally published: 2011.10.22