Thursday, June 27, 2013

Cellphone will not turn on; battery unexpectedly dead

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

  • 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

Sunday, June 2, 2013

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 "" - 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: 

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
-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:

Saturday, June 1, 2013

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:

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.

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:

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


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.  


    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


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


    (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:


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

    You are done!

    Note these other routines:

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


    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)

    2.  Parse the FirstName next, using

    3.  Parse the LastName next, using

    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.


    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).

    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