Friday, December 2, 2016

Amazon Devices, Alexa, Prime: Some Comments

Sometimes I am pushed to embrace new devices by circumstances. For example, I have an extensive vinyl record collection and was reluctant to start buying CD's until I had problems buying new releases on vinyl. Of course, vinyl always had issues: replacing needles, warped vinyl titles (I remember buying a Bob Seger album ("Against the Wind"), and each store copy was so warped the needle jumped playing it), worn-out vinyl, etc.) Of course, once I tried the CD format, I loved it: I liked being able to program/skip, shuffle and auto-repeat individual tracks: it beat the old-fashioned hassle of positioning a recordplayer arm between vinyl tracks. And, of course, being able to rip CD's onto one's PC and burn copies of custom hit compilations to disc or an mp3 player is fantastic.

The key to my own adaptation has been usability (including natural language interface, like voice recognition vs. typing) and convenience (for example, being able to put music on pause to take a phone call).

My recent purchase of a 32" LG Element LED HD television was motivated, as I mentioned in a recent post, by my new cable TV/ISP vendor, which could not hook up my old color portable via coaxial cable; I needed an HDMI connection. The screen of course is multiple times bigger and sharper than my old TV's, at a reasonably low cost. And the available of other ports led me to consider relevant devices like Amazon Fire Stick. The stick allows me to play Hulu or Amazon Prime videos on my TV while I work on other things with my PC.

As a long-time Amazon customer, I recently expanded my purchases to include Prime, an 8" Fire tablet and, most recently during the Black Friday sale, the marvelous Echo Dot speaker, which is something I always wanted but never knew it.  Prime membership is something I've considered for a few years but wasn't sure what to make of a service which bundled disparate services like expedited free shipping with cloud-based music, video, and books. Now it's a no-brainer if you own Amazon devices.

It's almost impossible to overstate the beauty of the Alexa  voice-recognition interface in conjunction with Echo Dot. I can simply call out, "Alexa, what's the temperature?"  and get the local forecast while I'm dressing for work. (More on that shortly.) Amazon Prime Music allows you instant access to thousands of songs on demand, e.g., "Alexa, play 'Layla' by Derek and the Dominos." Lots of hits by the Beatles, the Rolling Stones, the BeeGees, etc. Occasionally I need to rephrase my commands, and I'm finding occasionally my requests can be fulfilled by an extra-cost subscription: I might alternatively get a song sample.

Now I already have a significant music collection (which if and when I have the time, I can upload to Amazon Cloud), but it is more convenient simply to call out a song title than to search for a relevant CD and load it into my player or PC. And I've sometimes run into pleasant surprises; for example, I asked Alexa to play an early 80's hit "I've Never Been To Me" by Charlene and heard not the original hit version (which includes a soliloquy  near the end) but a more nuanced, harmonious version with an instrumental interlude--which knocked me out, an instant favorite.

There were a couple of steps which were not obvious (to me) in terms of integrating the devices. Probably the oddest setup was my location for purposes of Alexa weather app. I wrongly assumed it dovetailed into my stored Amazon home address along with other details like my Prime membership. But when I asked for my (local) temperature for the first time, it gave me San Jose, CA's forecast (an Amazon-related default?) Was it a device configuration issue, an artifact of my ISP connection?

It took combing through user forums until I came across a passing reference to the Alexa app settings. But once I found the relevant settings (not integrated across devices), I ran into a different problem: I couldn't seem to save my revised address/zip code. The solution was a tried and true techie tip: reboot my Fire tablet. I was then able to save my zip code for each device, and Alexa since then has gotten the local time (MST) and temperature correct. (I mean, Alexa always gave me the correct response--if I specified my address in the query; But now it does so without the specifics.)

On a side note: I noticed that apparently I couldn't access the Target website (I actually bought my TV from Walmart, but Target also carried my model and I was double-checking details via a search link.) It turns out that there is a known issue of Target filtering out my VPN provider; I'm be damned if I let a vendor cripple my Internet security for the privilege of buying something. I don't think I've been in a Target over the last 4 years.

Monday, November 14, 2016

Miscellany: 11/14/16


  • Qliner Quotes. I  recently had to reinstall my Garmin Express software. It turns out that Garmin needed to download some Net Framework software from Microsoft (which it did automatically). I had a hunch that these downloads might have addressed the prerequisites for Qliner Quotes and was able to complete the install without incident. The fact that the recent refresh of the PC Windows on my PC wasn't backward compatible with at least 2 application installs but required downloads of Net Framework versions to install still bothers me.
  • You May Need To Convert Your Flash Drive to NFTS. Over the weekend I decided to create a couple of Safehouse (encrypted) volumes over 4 GB. When I tried to backup copy them to one of my flash drives, I got a misleading error message to the effect there wasn't enough room on the flash drive (there was). I quickly determined the real problem is the default file format on the USB drive is FAT32 with its 4-GB filesize limit. (The rationale for FAT32 is its wider applicability not relevant for my purposes) Now, granted, I could have simply reconfigured my Safehouse volumes to 4 GB sizes, but I chose (after archiving my flash drive files in the interim) to convert the file system to NTFS (at an administrative command prompt):  convert drive letter: /FS=NTFS 
  • I Said Goodbye to Q-DIR. I have used the 4-pane file explorer for years. Years back I had licensed the dual pane PowerDesk but tired of the mounting upgrade license fees and settled on Q-Dir as a replacement. My security software over the past week warned of strange behavior from the application and quarantined/deleted it. I went to virustotal with the download URL and found 1 hit (of 30-odd) reporting malware. In the meanwhile, I have shifted to a dual-pane alternative I had already installed on 1 or 2 other PC's, FreeCommanderXE. [This is not the only time my security software has clobbered utilities: I've installed Lopesoft's FileMenu Tools and filerfrog, only to find them missing when I went to use them.]  One example of using these utilities: to avoid file archiving issues (duplicate file names), I've often had to rename files. filerfrog had a convenient tool to do this. Actually, since Windows 10 now optionally supports a variation of Ubuntu (Linux) as I mentioned in a prior post, I can easily rename files by piping a list of files into a DO WHILE loop.
  • Updating Ubuntu on Windows 10.  When you go into a bash session, you may see a message like: 
29 packages can be updated.
    0 updates are security updates.
      How to update? Use sudo apt-get update

      This will prompt you to enter the password for the administrative account you created when setting up Ubuntu on Windows. And what if you forgot your password? You can reset it by temporarily changing the default user to root at a Windows command prompt: 
      • lxrun /setdefaultuser root
      • bash
      • passwd [administrative account]
      • exit
      • lxrun /setdefaultuser [administrative account]

      Sunday, October 30, 2016

      Bash Programs, Task Scheduler, and Random Quote Notes

      This is a brief extension to my last post with some implementation notes.

      First of all, I use my flash drives mounted on my PCs to store certain portable or near-portable applications, including a launcher I've described in the past, Quick Cliq. It's fairly easy to build folders of applications and utilities in Quick Cliq. I can use a utility like Voidtools' Everything Search to quickly locate desired executables and drag/drop the executable to the command region of a new menu item. It's also easy to build a Microsoft utility folder. The command region has a set utility pull down region, with a System Shortcut option (about halfway down). Then you can pick and choose your key utilities through a pop-up selection, e.g., computer management, add or remove programs, services, and task scheduler. (Note that you can also script elevated privileges, e.g., on CMD prompt, by prefacing the command with RUNAS.)

      To be honest, I never played much with Microsoft's Task Scheduler. I ran into puzzling issues in trying to schedule a Bash script as described in the last post. (By the way, it's not necessary to use the -c option.) Also, one of my licensed security software products identified my batch cover file for a Bash script as "malware" and expunged it from my system. Basically, I specify bash as the command and then type the Unix-style full path to the shell script in the parameter box, e.g., "/mnt/c/Users/Ro..../.../newquote.sh"  (note that there are sometimes issues with embedded spaces,  as in "Ronald Guillemette", so I'll typically include the fully qualified file name in double-quotes). After I created the task (with repeated intervals), I could run it manually from the scheduler, and it seemed to indicate an expected next scheduled run-time but didn't seem to launch at that time. It may have been one of those quirks which can be resolved by a PC reboot. However, I decided to use the system startup event option for the defined task and rebooted; the script is running without issue at expected intervals.

      One of my gripes about the gmail signature feature is that I've got to change the signature manually.through settings. This is unlike the Mozilla Thunderbird client which more conveniently allows me to attach a (fixed) html page as the signature, e.g., newquote.htm, which my homegrown Bash script yields. I would obviously prefer functionality that doesn't require changing settings to generate an updated quote signature. However, there are ways to make the manual setting easier, e.g., launch the html file into one's browser and save it as a bookmark. Then copy and paste from your browser tab/page into the gmail signature block.

      Finally, one can easily generate the html code needed for the formatted signature page through a full-fledged word processing program, like industry-standard Microsoft Word.  I then use Notepad++, a freeware text/programming editor, which reads and writes html code, to splice the code segments sandwiching the randomly selected quote in my shell script. I also use Notepad++ to modify my text quote file (one quote per line).

      Saturday, October 8, 2016

      Windows Update, New Bash Support, and a Qliner Quotes Alternative

      If you read my last post, you knew I had installed the new anniversary update of Microsoft Windows on 3 of my 4 PC's (3 notebooks and 1 desktop), but the outstanding one is my workhorse PC. I tried downloading the patch and applying it manually (use of DISM and/or PkgMgr), Microsoft issued a fix-it script patch (which seemed to be tied to a class of users like previewers) which I downloaded but didn't help, and various tweaks suggested by others, including deleting a game folder and registry key. But after a couple of dozen or so attempts (and some of my experiences hauntingly paralleled others in forums (in my case the downloads would stop after about 10%, but in other cases update processes would complain of obscure corruption problems which I also attempted to track down)).

      So finally yesterday I took up Microsoft's option of reinstalling a clean version of Windows 10 while keeping workfiles. (Nevertheless, I still took a system backup.) Of course, I had to spend considerable time reinstalling/configuring my applications.

      One of the problems I ran into was reinstalling an application I've used in random quote email signatures, which I discussed in an earlier post. For some reason, I ran into a Net Framework compatibility issue. (The Qliner publisher, to the best of my knowledge, has abandoned the software with no recent updates.)

      On the other hand, I discovered on a geek web post that Microsoft was implementing a (beta) subsystem for Linux (Windows features toggle switch via Control Panel) .  I've been professionally writing Unix shell scripts, a far more powerful, flexible alternative to Windows batch files, for over 20 years, and of course there have been PC implementations of Unix/Linux, including cygwin. This beta subsystem is not done by default; you also need to switch into developer mode via system settings (for developers section under Updates and Security). (Microsoft then downloads some of the Ubuntu Linux variant software and wants you to reboot thereafter.)

      I'm not going to write a Unix shell script tutorial here. Let me simply outline a fairly simple solution. I took an html file with boilerplate before and after the random selection of a line from a quotes file ron2.txt (1 line per quote), which I had to used to customize quote selection in Qliner. I split the html file into two parts, test2 and test3. (Test2 includes the formatted signature header, and test3 has my name and contact information.) The key to my solution to selection of a random quote is the Ubuntu shuf.command.

      I can call my Bash shell script newquote.sh  from a Windows batch file (newquote.bat):
      bash -c "/mnt/c/Users/'Ronald Guillemette'/Dropbox/newquote.sh"
      And here is the shell script newquote.sh:
      #!/bin/bash
      tpath="/mnt/c/Users/Ronald Guillemette/Dropbox"
      cd "$tpath"
      shuf -n 1 ron2.txt> nq
      cat test2.HTM > new.HTM
      cat nq   >> new.HTM
      cat test3.HTM >> new.HTM
      I have gone into Window task scheduler to have this task run every 15 minutes. I can easily modify the base source html file (for test2 and test3) and I maintain ron2.txt in Notepad++.

      Sunday, October 2, 2016

      Journal: 10/02/16

      Embedding Podcasts in Blogger 

      In my recent political post, I decided to embed an audio podcast of University of Chicago "grumpy" economist John Cochrane. Over the last 8 years I've used a number of alternative methods in html coding of players, etc. It's bad enough knowing that the source clip could be withdrawn without notice; I've dealt with Google player widgets suddenly unavailable.

      It turns out the html code is quite simple (HT bloggerbuster):

      <audio controls=""> 
      <source src="http://files.libertyfund.org/econtalk/y2016/Cochranegrowth.mp3"></source> 
      If you cannot see the audio controls, your browser does not support the audio element 
      </audio>

      Substitute your target source file URL in place of the red-typed example. Where did I find the link? In Chrome, I right-clicked/copied the file link from the play and/or download links at the Econtalk webpage.

      USB Flash Drives Are Getting Cheaper

      I suspect years from now today's prices for similar functionality will seem expensive, but I couldn't pass up 64 GB USB SanDisk flash drives selling for under $15 at Walmart and bought 3 for my backup computers. (The flash drives come with a limited version of EncryptStick (e.g., you are limited to a single vault); you can license the full license for about $12 the last time I checked; you can also make a conventional SafeHouse Explorer install portable by copying the binary to the stick. It's not just about transferring data between computers. I've configured a number of freeware portable applications to run off sticks. 

      My Lazarus ASUS Went Into a Coma

      There's some sort of a battery issue with my backup ASUS. I explained in a recent post that during my recent trip to Arizona, I had an issue with my primary HP laptop; I had booted up the notebook and was about to attach an external drive and make it my new primary when the ASUS went dead.

      As I explained in a recent post, I saw a lot of customers reporting undoing the back cover and doing a hard reset (holding the power button for over 45 seconds) in conjunction with reinserting the battery. My brief unpleasant experience with ASUS tech support also focused on a hard reset.

      I hadn't started the (fully charged) ASUS for a few days after starting it up for the first time in 2 months. I was discouraged to see it hesitate to come to life again and then a couple of brief flickers of light painting the screen. This time I held the power button for 45 seconds, briefly released and then gently touched the power button again, and the device sprang to life, as if the prior struggle had never happened. Although the laptop seems fully charged, it's clear to me the battery is a problem, but I still haven't purchased decent computer tools. Since then I've started up the ASUS daily without another. incident.

      The Dreaded MS 0x80073712 Update Issue

      It's truly annoying to find that the one of my PC's experiencing an issue with Microsoft's latest cumulative patch KB3194496 is my workhorse PC. It has repeatedly aborted at about 10% of the download. I still haven't resolved it  as I write; the usual techniques, e.g., deleting the files stored under Windows/Software Distribution, haven't worked, and the Windows Update troubleshooter has been unable to diagnose/fix the issue (oh, it reports that it's diagnosed and fixed maybe a half dozen issues, but same old same old). If and when I fix the issue, I'll address it in a future post.

      Sunday, September 25, 2016

      Journal: 9/25/16

      Light Bulbs

      Whatever happened to spiral (CFL) light bulbs? How I became aware of this is because my new apartment came without overhead lights for the living room and the bedroom. (I'm used to the former, not the latter; my last few apartments had a mounted ceiling fan/light fixture. So I had one floor lamp in my household goods but needed one for the bedroom. I went to Walmart yesterday and bought an inexpensive floor lamp, which of course did not come with any light bulbs; the package stated 33 W florescent spirals or 150 W 3-ways. It never occurred to me that Walmart wouldn't carry the light bulbs used by the floor lamps it was selling; in fact, I still have several spirals (different watts) in my home inventory, almost all of which I had purchased from Walmart or Sam's Club. (Now of course I know you can buy 33 W's online or perhaps from home improvement stores.) In my local Walmart, one side of an aisle is devoted almost exclusively to light bulbs, but incredibly I couldn't find a single spiral in the aisle. I tried looking in other aisles and finally flagged down a sales associate. He managed to fish out one spiral, a black shade light, in the aisle; another associate said some time back they had rotated out their spirals in favor of more conventional bulbs. I did find a small supply of compatible 3-way (standard bulb) GE bulbs and purchased 2 twin packs. (I was going to return the floor lamp until I noticed  the second alternative bulbs.)

      My Lazarus Laptops

      I have had some bad luck with laptops over the years, with an estimated lifetime of 2-3 years. Sometimes I had freakish water/coffee spill incidents. While in WV I had to buy a replacement HP after a splash wave from a spill (away from the laptop) messed up my electronics (it was still running, but after I powered it off, it wouldn't power back on). I needed to do some remote training/HR stuff via the Internet, so I went to Sam's Club. I had bought my ASUS laptop as a backup when I found my desktop, buried in self-storage from my move to WV, wouldn't start after my move to SC. I tried several times over to start up my desktop and was about to junk it when I noticed a sign of life from the desktop; I had some additional problems (including an issue with my copy of Rollback RX), but since then I deinstalled the software package, no issue. But I had the movers take the desktop on my recent move to Arizona.

      On my first travel night (in Alabama), I noticed I could not start up my HP laptop. It had been in the laptop bag, but a spilled drink had seeped through the bag. Then to make matters worse, my ASUS, in my luggage, went dead in my Texas hotel room the next night. It booted up, but as I prepared to attach an external drive to work on converting the laptop to my primary, it went dead. (I mentioned in a post a few weeks back that I contacted ASUS support, but I was told my warranty had expired, and they would require at least $330 for a repair, while vendors priced a new machine for about $100 less.) I noticed in a Google search several people mentioned power issues with ASUS, which basically required extracting and reinserting the battery, easier said than done because the battery is not externally accessible.

      So over the weekend, I once again took the HP out of its bag and tried again to power up. I was startled to see it power up; long story short, it is now operational although the battery won't charge up. I'm okay with that. The biggest pain was the Windows updates, including the big anniversary one. I've run into occasional stuck overnight issues with patches (what eventually works is deleting the software distribution folder contents after turning off 3 Windows services (update, background intelligent transfer, cryptographic) and then turning them back on). So that one failed a few times but finally worked yesterday.

      Maybe pressing my luck, I looked at the ASUS again. I was startled to see a splash of light flicker over the screen; a couple of additional presses and another flash of light. Almost like lighting a campfire, I managed to stoke the notebook back to life. Just like the HP, I had to reinstall security software and do some catch up patching. I'm a little wary of  shutting down the ASUS, like a reawakened coma patient falling asleep again: will he wake up this time?

      Playing More With Portable Apps

      I recently purchased a 256 GB thumb drive and looked at some new launchers including Appetizer. I've written a prior post on Quick Cliq. One of the attractive things about Appetizer is you can import binaries comprehensively (you can then group the software icons into folders); QC provides a good way to configure system utilities (e.g., force shutdown) and it's easy to drag and drop executable files (e.g., via Search Everywhere) to new menu item command lines. In terms of portable apps, I've looked at services like Liberkey and PortableApps. (There is some overlap.) The nice thing is both services make comprehensive updates of downloaded applications a breeze.

      Wednesday, July 13, 2016

      Google Voice and the OBi200: Some Notes

      There is an unwritten rule about dealing with Chrome and/or other Google technologies: when in doubt, deinstall/reinstall. For example, for at least the second time in recent weeks, I found my Remember the Milk gadget missing from Google Calendar over the weekend, and I had to log into my RTM account and click the link to reinstall the relevant gadget.

      I've discussed Google Voice in a recent post.  To provide a little context, basically a Google Hangouts plug-in is installed/integrated with Chrome (you can also use Firefox) and appears as a green icon in your tray:

      Without going into gmail (assuming Internet connectivity), you can double-click on the Hangouts icon and it launches into a Hangouts conversation search screen. I find if I click on "new conversation", the result reveals a phone icon to the immediate right in the search bar. At that point, I can search on partial/full names or phone numbers in Google Contacts (or enter a new number); Mousing over the selection reveals phone and message links.Click on the relevant phone icon, and it will launch a relevant phone keypad popup.

      I've occasionally run into issues with Hangouts dialing. In some cases, calling the number seems to hang; in other cases, I've accepted an incoming call, but we couldn't hear each other.  I've found removing and reinstalling the Google Hangouts extension seemed to resolve my issue. (I've sometimes run into issues pulling information on certain contacts and found that I had to tweak missing Google Contact details, like missing name fields, so they can be searched.)

      The functionality is, for most purposes, excellent; I occasionally run into annoying glitches like browser corruption issues or a disappearing Hangouts popup. But at other points I've missed the equivalent functionality of digital calling I had in my prior 2 residences: it's always on (assuming your Internet connection is live), and it's often easier just to dial a number than to go through a GV call setup. I just didn't think the Triple Play (cable, Internet, calling) cost was worth it in my latest move, since I don't do a lot of calls and the ones I do can usually be managed by my "unlimited" mobile package. As I described in an earlier post, this became an issue with some callers who disliked the quality of my mobile connection and frequent dropped calls. So Google Voice became my choice for a second, backup number. GV also has a nice feature of automatically messaging one's mobile phone with GV voicemail transcripts (and typically I can launch a return call from a voice number hyperlink).

      CNET recently promoted a newegg featured buy on the OBi200; OBi200 is integrated with GV in a default setup. Recall that when you start up Google Voice service, you select a number in an eligible pool from a chosen area code. Three basic lines connect the device: cable to a network port on the back of your Internet router, phone line connection with your phone (I have a $20 corded speakerphone I bought at WalMart), and the unit power supply. You then set up an account at obihai.com and go through the documented process of configuring the device and integrating with Google Voice. (Note that GV does not provide 911 service, but there are workarounds.) You can also integrate other (non-Google) voice services.

      The outgoing call feature worked like a charm: I click on my speakerphone button, and I got a welcome dial tone. However, the incoming calls didn't seem to ring my speakerphone (I tested with my cellphone). I did get one external caller on the speakerphone, but most I fielded through Google Hangouts. Other people seemed to have a similar problem, but I didn't see a resolution. I emailed obihai support.

      In the phone configuration for Google Voice, there is a setup for Google Chat. It turns out you can delete this (there are buttons to edit and delete just below Google Chat), and GV will automatically regenerate the Chat setup. This seemed to clear up my issue with incoming calls.

      Monday, July 11, 2016

      Problem Solving: An Example of Using Tools To Enhance Software Usability

      The context for this post is dealing with duplicate files. One of the add-ons I use for the Thunderbird email client is "remove duplicate messages". I've occasionally had hiccups, e.g., in downloading my core gmail account messages, to Thunderbird where the same messages apparently weren't purged on the server and get downloaded again. What the add-on does is checking for duplicate sets of messages and then provides a default filter which retains 1 email from each set and deletes the duplicates. (I've also discovered vendors may resend the same emails over time, so I also occasionally run the add-on in my other email folders.)

      Now over the past several years I had retained over 200 CD's and later DVD's of various files I have saved over the years: family photos, pdf files, licensed software (e.g., my discontinued AskSam software), various audio files ripped from my CD collection, emails, etc, In many cases, I did not rename files, say 1.jpg downloaded from the Internet. Trying to manage my collections of files was difficult: I often had to use a tool like search everything to hunt for files. For example, after I had to migrate from a failed PC, I  needed to search for my license information to reinstall AskSam plus my backup copies of the software itself. (I maintain a couple of external backup drives which held individual media image contents.) (Yes, I'm aware I could maintain license information in a spreadsheet. In this case, the license number is maintained in an asksam ini file, which is what I actually stored.)

      It took time and effort to consolidate the contents of the media images into two primary folders with subfolders. In the process, I ran into thousands of file name conflicts, which I resolved by a filefrogger rename utility on source files (e.g., on disk 200, I renamed 1.jpg to 1_200.jpg). I knew that I had perhaps hundreds, if not thousands  of duplicate files (not just names, but content).

      The tool I chose to use in dedupping these massive folders is duplicate finder free. Now keep in mind that it's very possible there is functionality I may not know about in the free or paid versions, but I'm looking at what the design seems to suggest. I basically point to a file folder to do a search and initiate the scan/search. Eventually what pops up is a list of sets of duplicate sets, alternately color coded.  There are boxes to mark files for deletion. There didn't seem to be what I considered obvious default functionality, say, to retain the first record in each set, and if you are dealing with thousands of file sets, this is very tedious busy work. (After you mark files for deletion, you then trigger the delete functionality.)

      In the interim, I was interested in how I could save in-process duplicate lists, e.g., if the generated duplicate list did not appear after a system bounce. I then discovered that in the File options there is export/import function for *.csv files. This was my aha moment, because I knew I could use spreadsheet functionality to manipulate the first (delete file mark) column.

      The basic solution starts with the observation that the CSV file was in sequence by the set id column (I). This means that the problem is a variation of a control break program. For the purposes of this example, I'm using Open Office Calc, but similar steps can be adapted for your preferred spreadsheet product:

      • Open the exported CSV file in Calc by choosing the comma delimiter (which oddly enough is not default)
      • In cell A2 (the first data mark cell), enter a formula, e.g., =if (i2=i3; 1;0)  . Let me explain the logic: I'm intending to retain the last file of each set. So suppose record 4 (record 3 if you don't count the header record) is the last of the first set (ID 1). Record 5 would be the first of the second set (say, ID 2). So I4 != I5, which means A4 has value 0, while A2,A3=1.
      • Copy A2  and then paste it in A3:An  where n is the number of duplicate file records (including the header record). Suppose n=2000. Enter A3:A2000 in the selection box, right-click on highlighted cells and select paste.
      • Convert A2:An into values: using the same example, select A2:A2000, right-click Copy; right-click Paste Special (ensure the NUMBER and only NUMBER column format option is selected).
      • Save the revised spreadsheet in the original CSV format. Exit Calc.
      • Open up Duplicate Finder Free, import the revised spreadsheet. Now invoke the delete files option.

      Thursday, July 7, 2016

      When It Rains, It Pours

      Literally. Like I had a 4-5 hour power outage earlier this evening. I did get a chance to use my Gooloo power bank described in an earlier post. I was initially confused when it didn't seem to charge my cellphone, but it had to do with a certain unwritten fact of life with my cellphone: if the phone is running too hot, it won't charge. When I run into a hot phone/charging issue, I'll power off the cellphone; if and when the phone sufficiently cools, it'll start charging.

      It's amazing how the little details slip by until you're facing a problem. I had never put my electric utility's outage number in my contacts, and I couldn't get Internet services on my cellphone during the outage. (Obviously my cable Internet wasn't working.) I could find my utility's invoices in my email, but the invoices didn't include contact numbers.

      But over the past day or so, I had been hit by a cluster of technical issues. One of them involved Google Voice which for some reason didn't seem to work: I was connecting to the call, but neither party could hear the other. I did a lot of checks on audio and tweaking of call properties, but for whatever reason, the problem wen away with a reboot.

      I also ran into into a series of issues with my security software, including the same PC holding multiple licenses and certain functionality not working. Long story short, these problems reflected some trace files not purged by a simple deinstall. Now the vendor has a removal tool often referenced by security customer support agents in past chat sessions, but the Indian agents repeatedly ignored my complaints they were giving me invalid URL's. I eventually stumbled across a correct download link in some other user's post. These agents simply want to take over your PC and can't deal with deviations from their scripts.

      In another case, I have licensed encryption software which works with USB sticks, like my 128GB one. The software has an option to install executables both on the PC and the stick. Somehow after an upgrade I ran into an issue trying to run the executable on the stick. Repairing, uninstalling and/or reinstalling didn't work; in fact, I would get cryptic error messages simply trying to start up the executable. Long story short, I used everything (desktop search) to look for encryption software  files not purged by the uninstall. After manually deleting all remaining trace files (post-deinstall), I was able to reinstall (including an option for the USB stick).

      I had contacted tech support. They really don't reference uninstalls on their webpages other than a cryptic message about contacting them over upgrades. The support staffer finally emailed me a deinstall cleanup procedure AFTER I messaged him how I had resolved the problem.

      Incompletely described uninstall/reinstall procedures are simply inexcusably bad usability problems. I managed to resolve both issues DESPITE tech support vs. BECAUSE of them. I have another freeware encryption software (Safehouse Explorer). I had seen references to using SE with USB sticks but was puzzled on how to install on the stick until I saw a brief reference on copying the executable from your PC install to the stick.

      Sunday, June 26, 2016

      Device Light Indicators

      This is one of my favorite usability stories which I may have initially told in a different post, but it applies here. When I started word processing graduate school papers in the early 80's, I used a Commodore 64; I had to buy the word processing program separately and had a Commodore floppy drive, which was used to load the program and then to save workfiles on a separate floppy disk.

      Without thinking or reading the floppy disk manual (which I still have in some moving box), I had inserted my word processing software disk  and was about to insert my data disk, when I read this warning: "DO NOT EJECT THE DISK WITH THE GREEN LIGHT SHOWING".  The green light was a power indicator. The tech writer must have intended to say was not to eject the data disk while it was still being written to (probably a flicking amber light). There was also a warning against shutting down the drive with the disk in it. So did that mean my software disk was toast, caught between the devil and the deep blue sea? I quickly decided that the documentation was misleading; otherwise, the floppy drive was utterly unusable. Still, I held my breath the first time I ejected my software disk.

      This is a big lesson in usability: the initial response to the human interface, including documentation, frames one's experience. And for me, that includes indicator lights. I once remember being the DBA/system administrator behind the National Archives' milrecs application. There had been no transition with my predecessor but I soon saw an amber light on the server hosting the data warehouse. I was confident that this was problematic; researching the issue, I learned that one of the disks was dead on the RAID-5 device. In essence, this is like driving your car with your spare tire; you need to replace the tire ASAP or your vehicle becomes inoperable. If another disk pops, your RAID storage becomes unusable.

      One of the things that first-time users need to know is how to process the indicator statuses; what do different colors mean, what about flickering indicators, etc.? To what extent are they consistent from other experiences?  For example, my cellphone displays red while in the process of charging; I also see a red indicator when the cellphone is running low on battery. What happens when a battery is fully charged? Does the indicator go out? Do I need to guard against overcharging?

      To a certain extent, we may have other experience contexts, e.g., traffic lights: green go, red stop, yellow warning. To the extent we may infer from other contexts, the light choices may be more natural.

      When I got my Gooloo power bank, the instructions really didn't address my initial learning experience. I do know that often with battery-operating devices using rechargeable batteries, including laptops or cellphones, one often must initially charge the unit before using it (unplugged). What I initially experienced was a blinking blue light, vs. say a steady red light in charging my cellphone. Blinking might be an indicator meaning an error condition or charging in process. There is a discussion buried in the documentation of multiple indicator lights on the top of the devices which indicate 4 stages of charging (when the stage is complete, its color turns steady) and when fully charged, the lights go off. Charging is done by USB, which you can interface with household current with the use of an adapter (which you can buy with $5 at Walmart), which I use all the time for charging my cellphone. In this case, I didn't know the context of using a blue light; maybe it was signifying a problem with a charging process. It does explain elsewhere it might take 15 minutes to charge in a car or up to 2-3 hours via USB connection to household electricity. My issue is that this information should occur at the start of the document vs. the reader having to comb through the document.

      Monday, June 20, 2016

      My 3 PCs and Maintenance Issues

      I bought my first PC/compatible while I was a professor in the late 80's. Most of my graduate school papers were actually typed via a Commodore 64, but I wrote my dissertation using Samna in a 2-PC department faculty lab available to department student employees if faculty weren't using them (I was a teaching fellow and didn't have the budget to buy my own). Each faculty member now had a PC in his office. I had backups of my dissertation document, which is a good thing because once Samna went crazy and corrupted my workfile floppy disk. I ended up losing a week's worth of work since the last usable backup. I did have use of an office PC for my three faculty appointments, but I bought my first PC clone in Milwaukee (roughly $2800 for a desktop). I later bought a bulky portable with a handle on the end because I remember needing to do work during a Boston academic conference. I don't recall what happened to them (repair issues?), but quite frankly after Windows 3, I needed more RAM to do stuff and bought a second desktop. Then in the late 90's, I did a lot of road warrior work and bought my first modern notebook computer. I've probably bought a new replacement every 2 or 3 years.

      In maybe 2-3 cases, I've had the worst experience with coffee spills. I never kept a coffee cup near the PC, but even a minor splatter on the keyboard could render the notebook all but useless. [In another case, with my one and only Sony, the power button no longer worked after 8 months. I tried to send it to a laptap repair shop, but they refused to accept it.]

      At some point I wanted to have a backup PC just in case I had to cope with an outage (email, work, etc.) I had one HP notebook with a dying hard drive, and I bought a new notebook (making more sense to get more RAM, hard drive, newer Windows vs. sinking more money into repairing an obsoleted PC). As the backup PC eventually failed I replaced it with a cheap desktop.

      When I moved to WV, my new place was furnished, so I put my desktop in storage with most of my stuff. I had hired some helpers, but the unload was done without me (work schedule). Long story short, my laptop shorted out (a splatter victim which ultimately shorted out). Now actually years back I had started using laptop stands and external keyboards and mice to minimize the risk of coffee incidents, but I had misplaced my stand during the move and had a freakish splatter accident.

      I went to my storage unit, and the movers had buried it somewhere in the filled unit, and I didn't want to spent hours in freezing weather (outside unit) pulling everything out. There was a Sam's Club about 3 miles from my new work location, which is where I bought my current workhorse notebook maybe 18 months back.  I wasn't going to buy a second backup PC. When I moved into my current SC unfurnished apartment, I had my helpers bring the desktop in (other stuff went back into storage).

      But try as I might, I could not get the desktop to start up. Had it died while in storage (not climate-controlled)? For months, I debated hauling the dead desktop to the dumpster. In the meanwhile I bought an inexpensive notebook as a backup to replace the desktop.

      This may seem unrelated but years earlier I had licensed copies of Rollback RX for my PCs. Rollback RX basically allowed you to go back to a prior manual or automated daily snapshot (e.g., something happens and your PC won't start up). I ran into chronic issues with Rollback RX on my new workhorse notebook. I think I had to go back to do a factory-level reset (meaning all of my data and applications were lost and had to be reinstalled from backups) something like 4 times in the first 2 months. I began to suspect Rollback RX was causing my instability issues and did not reinstall the last time--and haven't had a similar problem since then.

      Going back to the dead disktop: I don't know if it was an artifact of wiring, but in a final check putting plugs in different sockets and I noticed a  flicker of life in the desktop. I managed to get to boot but I had major stability issues, and Rollback RX wasn't helping. I deinstalled Rollback RX and/or went through a factory-level reset, and the desktop has been stable since.

      So that's how I ended up with two existing backup PCs. I also have several layers of redundancy including external drives, Google Drive, and Dropbox. I mostly go on the backup PC's  to update securities, applications, and Microsoft patches. And that provides a context for the following issues I experienced over the weekend.

      What's truly odd is that I run into different technical problems on the 3 PC's. I noticed that Windows had delivered updates to my workhorse notebook over the weekend. So I decided to do maintenance on the two backup PC's.

      The backup notebook experienced an issue I've had to resolve multiple times over the years. Somehow the Windows Software Distribution folder has been corrupted. The standard remedy is to stop the Windows update and BITS services, drop the software distribution folder, and restart services. In this case, the Windows update seemed to be stuck at about 8% for hours. Granted, a number of times you need to give patches some time to download, but even after hours and reboots, no progress. For some reason the software distribution folder was sticky to delete, even after checking services down. I eventually succeeded after a series of reboots, started up the services and probably within 90 minutes the patches in question were downloaded and installed.

      The desktop issue didn't deal with the patching so much as something I had noticed but had not resolved: the Start Menu was not working. There were workarounds for the most part. For example, in Windows 10, I was used to going to the Start Menu to access Settings for checking on Updates. I subsequently discovered Win-I could bring up Settings. At some point I was getting a message to the effect that there was a critical issue with the Start Menu and I needed to sign out then sign back in so the problem could be resolved. It didn't happen. I did some digging and found a Microsoft reference to downloading and running a start menu troubleshooter. Long story short; I got some unusable cryptic error message on problems with Windows shell experience host and cortana. I searched a number of posts and forums with suggestions on running certain Powershell scripts, even creating a new Windows user.

      What turned out to be the problem was the installation of Dropbox. (I believe that I ran across this solution, which suggested Dropbox and/or Avast were often at fault.) Once I uninstalled Dropbox and rebooted, I was able to use the start menu as expected. It's not immediately obvious why Dropbox is an issue because it hasn't been for my notebook PC's.

      Saturday, June 4, 2016

      Reminders and Google Calendar

      [* update 6/26/16]

      I've used Remember the Milk over the last few years (note for this discussion I'm referring to PC vs. smartphone applications).  I've used this service to track various recurring tasks, like paying monthly bills and taking certain meds, and it has a module which integrates with Google Calendar. For some reason, and I submitted a problem ticket on this with RTM, my recurring tasks stopped at the beginning of the month. In the meanwhile, I looked for a workaround.

      Google of course has a Tasks product integrated with Calendar. But it really doesn't have recurring tasks functionality. I could use it for something like maintaining a honey do list of jobs around my home. Of course, you could create a recurring event like for birthdays and anniversaries in Google Calendar, but events are not generally tracked. For example, if my appliance bill is due on the 20th of the month, I can set up an event, even have Google send me a scheduled notification. But what I really want is a reminder which explicitly is checked off if and when I pay the bill, like in RTM. I can easily scan to see if there are open/overdue tasks/reminders.

      I tried experimenting with a recurring tasks app which integrates with Google Tasks. It was not clear from app documentation about the update window, but I only saw a 3-week fill.

      On further Googling, I saw references to integrated reminder functionality across different products like Google Keep, Indox, and Calender, replicating functionality on the smartphone side. But I didn't see a selection button for reminders vs. recurring events.

      It turns out there's a conceptual piece of the puzzle which may not all that obvious; I came across a discussion in Google product forums where the Google analyst found herself saying the same thing multiple times. To provide context, I have 3 calendars under my account, presumably by default, a personal event calendar I normally interact with, birthdays and tasks. It turns out that task and reminder calendars must be toggled (I believe the default is tasks)., So, for example, if the task calendar is showing, you would switch to the reminder calendar by a pull-down menu to the right of the task calendar icon. (Personally I would have implemented a radio/checkmark option with both task and reminder calendar names showing.)

      Once you toggle on the reminder calendar, entering/modifying reminders is straightfoward. For example, I might set up all-day reminders for taking my meds/vitamins. I left-click inside the day bubble to define the task and edit to set the recurring schedule.

      [* update 6/26/16]  I had several unproductive encounters with RTM tech support: basically, how can we replicate the problem? I mean, how do you get any simpler than say I have 4 daily tasks, and when I check today's tasks, I see none listed? No follow-up.

      What I have noticed in my Google Calendar RTM plug-in is when I complete the first overdue task, the next day's task of the same type pops up in my window. When I check the overdue tasks, it doesn't list the tasks separately for outstanding dates but the task with a date displaying the earliest overdue date. I still think this is counterintuitive. So, for example, if I lapsed for 2 days, today's date tasks will surface 2 days from now but will never appear in today's tasks.

      Friday, May 27, 2016

      Paywalls: A Pet Peeve

      When I was a graduate student back at the University of Texas, there was a kerfuffle about the local student newspaper wanting to tack on a subscription fee to student fees. Austin at that time was more of a quality-of-life college town with the economy largely driven by college student businesses. These businesses were happy to pay the ads that fully sustained the paper's operating expenses. Why then pay extra for a free paper? The newspaper thought the fact that it was free devalued the service they were providing, that the students would appreciate them more if they were more personally vested in the paper. I don't think that they succeeded, at least while I was there.

      I also have an interest since the little money I made during my high school years was running an afternoon/Sunday morning paper route, about 90 customers, mostly enlisted families and airman barracks at the Air Force base. I cleared maybe $1/day biking miles under a broiling south Texas sun. I half-apologized one day to a customer; the newspaper was bulkier than usual, stuffed with ad inserts. I told her "Not a lot of news: just ads." And she smiled and said, "We buy it for the ads."

      I think during my salad days I loved newspapers, including the Gray Lady (New York Times). Local news would bore me--the latest high profile crimes, accidents, etc. I eventually got hooked on the Wall Street Journal; I'm not sure when it started, maybe seeing copies in the waiting rooms for a business appointment or job interview. It wasn't the daily stock market results but compelling news stories and editorials. There was a time I had subscribed for what turned out to be a teaser rate for print and/or digital; to be honest, I did so much road warrior work at the time, the papers would pile up unread and then a regular, much higher rate kicked in, leading to a quick cancellation.

      When the Wall Street Journal started its paywall (I had to Google to verify the cost), it was $49 a year (with discounts to print subscribers). I quickly signed up; it was a bargain compared to print newspaper subscriptions. But for whatever reason, the subscription price jumped to a double or more, and I wasn't using it enough to justify the higher cost. I think if they shifted to more of a metered model of micropayments, it would make more sense (like rechargeable store or phone minute cards).

      So if you don't know, typically a paywall might offer a blurb on a news story or whatever and then require you to log in or subscribe to get access to the rest of the story. Now given the fact I can usually search for a substitute story at no cost, this really only has an appeal if WSJ has an exclusive story.

      But what really annoyed me was when WSJ started including op-eds in its paywall. I don't know of anybody else doing that. I don't mind ad-supported op-eds, but I'm not about to pay for the privilege of promoting WSJ content on my free political blog.  I'm not sure when I became first aware of it; it may have been when George Mason economist Donald Boudreaux linked to one of his published opinions there. Whether my and/or other complaints, Boudreaux now tends to warn readers about paywalls; in some cases, authors would provide workarounds, like a draft copy on a personal website, although WSJ probably isn't happy with authors doing that and I've seen less of it lately.

      Some news portals allow you a monthly quota of free views, e.g., WashPo recently messaged I had exhausted my quota when I nibbled on the clickbait on the side (a hiker in Maine who got lost off the trail and had died). But when I get dinged for looking at a Karl Rove or Peggy Noonan rant making news at WSJ, it's annoying.

      There's one workaround (at the time of this post) that seems to work. WSJ had a piece trending on Twitter about GOP IL Gov. Rauner facing a supermajority Dem legislature in an epic budget battle; state unions reject Rauner's wage freeze and merit pay proposals, and the legislature is trying to give the unions an arbitration workaround to Rauner. (In addition, they want to hike taxes without any concessions on spending, pensions, etc.) I follow Illinois Policy Institute and already  knew the story but I was interested to see any new twist or late developments. And I was stopped by the paywall.

      What worked in this case was to copy the headline and do a Google search in a separate window. Near the top of the search page you should see an indented webpage link leading to the full webpage. Now WSJ seems to know you're a visitor and has a link at the top of the page for the latest teaser subscription rate plus maybe a pop-up ad to click out of. I dislike games, though. I almost never cite WSJ content on my blog anymore.

      When I was a professor, textbook publishers often sent me complimentary copies (in fact, I got paid a nominal amount to review a few). Now granted my blogs and Twitter accounts don't attract thousands of followers or viewers that might interest vendors into providing complimentary or professional discounted paywall subscriptions, but it might motivate me into promoting their content more than the status quo.

      Saturday, May 7, 2016

      Dropped Mobile Calls vs. Google Voice Calls Over the Internet

      For a long time I had always had wired service, even for years with mobile service. Much of that had to do with very expensive cellphone minute plans; I've often had to do things like hour-long tech interviews for my next gig. My primary use of the cellphone was for emergency purposes or for short calls away from home. Eventually, digital calls on cable Triple Play plans were very price competitive to maintaining a landline for the purpose of longer at home calls. When I moved in 2014 to West Virginia, I maintained Triple Play but I found cheaper cell minute plans and rarely used my digital voice prior to moving. Shortly after I rented my current apartment, I didn't upgrade to a high-priced Triple Play plan, especially when I discovered I found a mobile plan that basically provided unlimited calls, texting, and data for a modest premium over my old plan with a few hundred minutes.

      There's only one major problem with that solution: mobile calls can be notoriously unreliable. For a number of prospective clients or employers, that's not a major issue because they set up web conferencing, which operates over the Internet, like digital calling. But just to give an example, a few weeks back, my cell call dropped 3 or 4 times over the call. What made it worse, they had a configuration issue at their end and sometimes didn't even realize I was no longer on the call.

      There were 2 or 3 times over the past week where recruiters were complaining they couldn't hear me and asked me to use another phone. Finally, yesterday, a recruiter was calling to schedule an interview; for some odd reason, she didn't have voice mail and she didn't email me. She finally gave up after my return call got dropped 2 or 3 times.

      So then I had to scramble. I know there are VOIP consumer vendors like Vonage and Magic Jack; certain plans require hardware, and I had put my phone in storage. Skype allows calls among fellow users, and there are certain extra-cost options for other calls, e.g., to landlines.

      I had flirted with Google Voice while in WV; I intuitively felt this was the direction to go, although I had not really tested it as a substitute for digital voice calling; among other things, I didn't keep my laptop online at all hours (which is necessary for realtime phone functionality), while my cellphone and digital phone were always on. I wanted to test out Google's innovative free voicemail transcript  (with its generally superlative speech to text functionality) and its use as an alternative for professional contacts. I liked the idea of having a permanent number, e.g., I wasn't sure about number portability options for my mobile or digital cable services.

      I'm not sure what had happened to my earlier Google Voice setups when I went to my account for the first time in several months--I could still see obsolete messages stored. Recall one of the things I like to do is take the opportunity to study how intuitive the interface is from my experience).  Part of the issue here was a number of integrated products. There is a Google Voice email-like interface, but the phone functionality operates through Gmail. Particularly relevant is the phone gadget (located with the calendar gadget along the lower left margin below the email folders).  You may need to ensure your Hangout status is active. [I will say there is a call button for configured GV that enables you to search by (partial) matches of names or numbers in your Google Contacts via Hangouts; or you can simply type a number, like my recruiter's number, ad hoc. I could add the recruiter and her number in Google Contacts before making the call, of course].

      You're setting up your Google Voice (GV) account (google.com/voice)  in conjunction of your cellphone account. Google Voice number selection itself can be unintuitive. Initially I thought one could propose a number and see if it was available, like usernames to a website. It's better thought of as a picklist of available numbers subject to parameters you specify, like area code.

      There is  Google Voice integration with certain cellphone providers (but mine is not included, so I won't discuss cross-functionality between phones). A key point is that your registered cellphone number can be figured as a target for GV text messages and voicemail notifications/transcripts. And this is something which isn't necessarily obvious: Google configures things so when you dial into Google Voice via your cellphone. you go into voicemail (which you have configured with a relevant password). You can otherwise access voicemail through an asterisk when GV answers your call. The reason this was quirky to me was that I was trying to trying to emulate an outside call to be received in Gmail and my cellphone is the only phone I had; in brief, if you drill into your cellphone edit and then click on advanced settings; select voicemail access No. I think this is somewhat misleading; it really means voicemail connection by default (for mobile), asterisk for other phones to access voicemail. I personally am used to an asterisk default for all phones and prefer consistency. (I had initially inferred that I had configured something wrong, e.g., from hangout settings, and it was throwing me into voicemail.)

      From within Gmail and activated Hangouts, there's a bubble/quote icon for Hangouts conversation and a phone icon: you want to choose the latter. This allows a search (as described above) from Google Contacts via name or phone number--or to specify an ad hoc number (which to me is not obvious). I was easily able to call the recruiter in question and continue the conversation with no call fidelity issues.

      I've somewhat simplified the conversation; some calls (e.g., international) may require a fee/deposit. The topics of Hangout conversations (including video calls), Hangout contacts, Google+, and circles are beyond the scope of this post. It was not intended to be a step-by-step newbie introduction; my hope is that a reasonably knowledgeable PC user could learn from the general description of my configuration experience and more practical description.

      Friday, May 6, 2016

      Tech Support Chat Sessions, Norton and Windows Defender

      [* last updated 5/18/16]

      As someone with a PhD in MIS, not to mention over 20 years of professional IT experience, I have a pet peeve against the frequently patronizing, incompetent help desk personnel I've had to deal with. They usually can't cope with anything that doesn't fit in their solution scripts and want direct access to one's PC.

      One experience was when I worked at an IBM business unit. I had to install some software which had to be downloaded from a server. I couldn't access the source file and reported the issue. The help desk person assumed it was due to something like a misspecified scp/sftp command. I repeatedly asked him, "Are you sure the source file is available on the server?", and he sidestepped the question. I was getting nowhere as he basically threatened to end the call if I didn't give him access to my PC. It was more trouble than it was worth to fight the issue, so I finally let him take the session, when, of course, he discovered I was right; he couldn't find the source file, even with a privileged session connection. He laughed nervously, annoyingly, "I guess it's not there. Ha, ha. Let me go find out where I can find a copy." This is just unprofessional; as a DBA, I've always tried to replicate a user's reported problem, not through a privileged session but a test user account. In this case, I had to work unpaid overtime for 2 hours (I had a good hour's drive commute home) over something he should have checked from the get-go.

      A second fond memory involved a software publisher employer just over a year later. I had gone to Malvern, PA for new employee training (the job allowed me to work from home or at client sites depending on account preferences). We had VPN connections to our company's servers. In any event, I ran into an issue at home after bringing my work notebook home, finding on my first time use of the corporate licensed Microsoft Office product that I was getting timeouts trying to get the product registered. I suspected an issue with the standard VPN connection. Basically the desktop help desk people were in a typical state of denial (e.g., nobody else has experienced the problem; maybe it's an issue with your ISP). He wanted to remaster my PC; I refused, because I needed the PC for training in Memphis the following Monday. Long story short, there were a couple of other VPN options, and after the phone call, I discovered I could get the software to register in an alternate mode. I reported back to the help desk how I got the problem resolved; they were in a state of denial insisting I should have been able to register through standard mode and changing the mode wouldn't have a difference. Facts are stubborn things. The help desk analyst complained to his boss I was difficult to work with (he was still trying to remaster my PC even though the issue was resolved), and his boss escalated to my non-supportive boss.

      In the particular scenario for this post, I have Norton software protecting a backup notebook PC. I use the PC on an irregular basis, and so usually I need to update my security software, various applications, and check Microsoft Update for any interim patches. (Yes, I know it eventually checks on default but at an unspecified interval.) In this case, it found Windows Defender needed an update and seemed to stall about 6% of the way through a download.

      An important relevant note: Defender is  freeware security, and Norton's software provides similar functionality. Moreover, there's usually a performance hit running redundant functional security software, and Norton basically transparently shuts down Windows Firewall and Defender.

      Now just a side note here; at least in Windows 10, there's a Windows Defender setup under tab Settings for Windows Update. In my case, there are toggle switches basically greyed out and stuck on, presumably an artifact of the Norton software install. My inference is that whatever Norton does to micromanage Defender is impacting Defender updates, but Microsoft will attempt to update Defender if it thinks Defender is in use. It's not immediately clear why the Norton install would have effectively frozen Defender toggle switches in an on position.

      I did some searching on issues of Norton with Defender and saw on a user thread a relevant discussion, that it's a known issue between Norton and Microsoft that will be resolved any day now. One tip I saw in response to an issue like mine was to the effect that one needs to uninstall Norton which should release the toggle switches, turn the Defender switches off, and then reinstall Norton.

      I think the original discussion involved running the Norton removal software to deinstall Norton, and there's when I ran into an issue, because the links to download the removal tool didn't seem to work.

      So this is the context for my doing a Norton chat session where I got connected (surprise, surprise) to an Indian agent. This isn't intended to be a rant about Indian help desk people; the previous two examples were both Americans. I've also had my share of issues with non-Indian Oracle tech support in an operational setting. Senior analysts could resolve my issues within 5 minutes, but rookies were very difficult to work with. Oracle maintains a knowledge base of reported problems and possible resolutions. It's difficult to explain it except to note that I typically didn't have access to this knowledge base (Oracle would claim I did--maybe when I used to work for Oracle). So what would happen is the junior analyst might draw a list of say 15 possible solutions--and inevitably decide to make me jump through hoops in their process of elimination; I could usually tell from context almost immediately that the proposed solution wasn't relevant and want him or her to skip down to the next scenario. The analyst would be inflexible and argue that if I didn't comply to his satisfaction with his prescribed sequence, he would close the TAR (problem ticket). I would then escalate the TAR to a senior analyst, which of course duty managers hated but I didn't care. Maintenance costs are nontrivial, and I was a customer: time is money, and my time was important to my employer or client. I didn't exist for convenience of Oracle's training purposes. It was the responsibility of the senior analysts to mentor junior colleagues.

      So one of my pet peeves is dealing with what I call scripts or protocols, and Indian help desk personnel are heavily scripted. They don't respond well from deviations from their script. (I'm not going to transcribe the script, but first they will take down parameters for filling out their ticket--your phone number, etc., ask you to remember their ticket number, and so forth. There's typically a gratuitous "I'm sorry you're experiencing this problem", "I can surely fix your problem", etc.) More or less, I discussed the Window update issue, the frozen Defender switches, the user thread solution I summarized above. At no time did he even acknowledge any Defender issues with Norton. He seemed to pick up on my reported issue with the removal tool download. He sends me a URL link. There's a DNS issue (no such webpage). I report back to him. He says try another browser; I'm saying, "Dude, do you understand what I mean by a DNS issue?" (I did pull up Firefox just to humor him.)  He eventually sent me a couple of other links, one of which seemed to connect, but no download. I'm asking "Are you sure that FTP services are up on the server?" Again, no response. He's trying to get me to allow access to my machine; that's not going to happen.  I'm irritated that his scripts include invalid URLs and such; he's not even trying to explain why the download isn't happening. At that point, I was done with the call.

      I knew that I could uninstall Norton from Control Panel/Programs. As I hypothesized, the Defender toggle switches were released. I toggled them off and then reinstalled Norton. At that point, I went to Windows Update and manually checked for updates. This time there were no hanging Defender downloads, and Update reported no new patches to download. [Of course, if and when Norton isn't available, I'll need to update Defender or install other security software.] At some point in the future, I'll try testing again whether I can download the Norton removal tool.

      [* updated 5/18/16]

      A similar problem occurred today on my backup notebook PC. It had a different nuance, because in fact Defender settings were off. In this case, a Defender patch seemed to lead a handful of other, major updates, like a cumulative Windows 10 patch, and the update process seems to stall with Defender. Whatever Norton is doing to micromanage Defender does not seem to be controllable (earlier I had tried turning off the firewall and/or antivirus, but that didn't restore Defender functionality). So I uninstalled Norton and was able to update Defender and complete the other updates. I rebooted and reinstalled Norton.

      I tried to do a trouble ticket with Norton, because this is getting to be ridiculous. I shouldn't have to uninstall and reinstall Norton every time I have a queue of Window Updates. Once again, I had to deal with one of their Indian helpdesk analysts, and two times during a chat session where I told him I had resolved my issue, he wanted to remote session my PC. Idiot! He told me Defender was a Windows 10 default security application. DUH! Just do a Google search, and you'll find posts of Norton users reporting Defender issues. As I recall, one post was from 2013, where Norton and/or Microsoft were expected to have a solution "any day now".  Now you don't get nice functionality of the type as MS saying "we're having problems with Defender, so let's put it aside for the time being, and work on your other patches." I know it started with Defender and 2-3 hours later it was still apparently at ground zero. I thought perhaps the software distribution folder was corrupted; but that didn't fix the issue. Finally, I uninstalled Norton, manually updated Defender, finished my patching, and then reinstalled Norton after the patch reboot and checking Windows Update to ensure it was current. The Indian helpdesk guy had zero to say about known Defender issues and/or workarounds; he was totally useless.

      Saturday, April 30, 2016

      The Wonderful World of Google Part I

      As I write this post, I am anticipating that I may write more on this topic in the future. I don't have in mind, say, a 6-post series. One of the problems of writing on the topic of Google is that I don't really have a window on planned changes and enhancements on Google products and services. I use so many (just to start, Google Docs, Sheets, Gmail, Calendar, Maps, Keep, Blogger, Youtube, etc.), not to mention my first smartphone, which is an Android model.

      It may sound unusual for an IT academic to admit being late to the game of smartphones. Part of that was based on budget constraints, and I saw cellphones as mostly functional devices. Familiar readers may know that I finally got my first cellphone after a major tire blowout in I-5 heading down to LA from Silicon Valley. I had had a couple of work-related cellphones before then. I don't really make a lot of calls, and minutes were expensive, so I might do tech interviews, etc., via a wired, later digital line at home. As time went on, there were restrictions on the use of client PC's and Internet services (especially with the government). I often might not have access to the cellphone at work for security reasons (e.g., recording functionality), but I might be able to take a break from work (e.g., lunch). There was some functionality I wanted beyond calls, say, for example, a stock or mutual fund transaction in my retirement account during market hours. (One prior employer vendor, for instance, Fidelity Investments, will process an exchange at the next end of the trading day. So if I was building a position in biotech stocks, I might look at a down day to build my position. If I waited until I got home and placed the order, biotech stocks might have a good day tomorrow, meaning more expensive shares.)

      Substitutes also deferred my decision. For example, a while back, I wrote a piece on a Garmin device. This has some nice functionality that goes beyond GPS-guided directions; for example, I can get directions to the nearest post office, fast food places, gas stations, hotels, etc. Before that, I would go online and print out directions and plan stopping places.

      A few things happened in the interim. While I lived in West Virginia, I realized one day I was never using my digital phone, which was probably $30-40 of my monthly triple play cable bill. Whereas the latest iPhone or Galaxy might set you back a few hundred dollars, you could buy a decent quality phone for about $100, and some mobile vendors started offering virtually unlimited talk, messaging, and data for $35-50/month. (Granted, only a certain threshold of data was guaranteed high speed, but then I really wasn't planning to use my smartphone for A/V feeds.)

      So I've owned my SmartPhone for just over a year now. As a human factors researcher, I was absolutely thrilled with the idea of studying what types of usability problems I would encounter, false inferences or expectations, natural interface gaps/Procrustean technology, etc. I've found myself using the device in unexpected ways.

      I'll give a few examples to illustrate salient concepts. I happen to have short, stubbier fingers, which don't always work well given limited size touchscreens. I don't do a lot of messaging, but I realized the other day, I could utilize Google's excellent voice-to-text technology to dictate my text message.

      The voice interface is pervasive through the technology. For example, I could use the Google search screen to request "Show me Mom's phone number."  I was pleasantly surprised to see Google correctly typed out our surname when I asked the same question for one of my brothers. (The English pronounciation is "Gill met"; in fact, Dad used to sign into restaurants with that spelling.) Depending on the question, I might get a spoken response, e.g., "How old is Donald Trump?". On the other hand, when I asked, "What was Elton John's last American #1 hit?", I didn't get a vocal response, but I did get the link of a Wikipedia page for Elton John's discography.

      I recently started playing around with building shopping lists, which you can do if you download the Google Keep app. So I can activate my Google voice functionality ("OK, Google"), and say "Add 2 cartons of eggs to my shopping list", "Add a half-gallon of almond milk to my shopping list', etc. And then the next time I'm in WalMart, I can simply say, "Show me my shopping list" and check off items as I do my shopping.

      One of the first times I used the browser voice functionality was on a visit home over the holidays. Most of the times I had visited in the past, I had used a barber shop at the nearby military base. Mom used to work at the base exchange (Dad used to bring me to the NCO Club); there was a large barbershop at the exchange with a DMV queue type system, with the exception that active military preempted people in the queue. Long story short, Mom finished shopping and I was still in the queue. She decided it wasn't worth the wait. The base is across from a town where the family used to live, but since my Dad and brothers never used the town's barbers,  we didn't know where to go. I used my cellphone to find relevant barbers along the main drag of the town. The main issue is that I got street numbers which weren't legible from the road. It would have helped if we had better signposts on location (which may have been an artifact of my search). I quickly inferred it was in a smaller strip mall across from a larger strip mall we had entered to check street numbers. (In hindsight, I may have been able to use the Google Maps app already loaded on my phone to get turn-by-turn instructions like for my Garmin; I may test out the functionality for a local barber shop in my area.) But it certainly beat the old school way of checking the Yellow Pages at home.

      Another thing I wanted to check was the handling of sounds, ringtones, etc. Now what I brought into the configuration was experiences like the use and installation of fonts. For example, I use an email signature software called Qliner Quotes (described in an earlier post). I wanted to use some Old English calligraphy for my Quote of the Day section heading. My Windows TrueFonts did not come bundled with a relevant font so I had to search for a freeware font and installation.

      Now, of course my Android device came with relevant configuration defaults, and I could tell some notifications were available via a flashing green light at the top of the phone. I was rather annoyed at my limited selection of available ringtones, etc., and I might get silent notifications. I might hear or feel my cellphone vibrate, say, if  I got a message someone had retweeted one of my Twitter tweets, but what if I got a notification while taking a shower: I might have to check if my phone had a blinking light; an audible sound was harder to ignore,

      Similarly, just like I could add items to my shopping list, I might want to set an alarm. Now here's a situation where I ran into an expectations problem. If I say "set the timer for 1 minute" on my notebook PC Chrome browser (toggling on the microphone icon), I will hear an audible alarm of beeps, but if I do this through the Google search window, it results in a vibrate alarm. (I will point out that if I launch Chrome on the smartphone and use the voice input, I will get a similar audible beep.)

      I had figured out how to load one of my music tracks, e.g., "Love is Blue" onto my SD card I had installed on the phone (which was a "fun", unintuitive experience) and set it as the ringtone. But I just wanted to configure something classic, like desk phone rings, maybe a classic email tone for notifications or some buzz, beep, or bell for alarms. I experimented with a couple of ringtone apps like Zedge and picked up on how to select, download and configure the relevant sound. What was confusing was that when I configured an alarm manually through the alarm apps, it used the configured app default, but when I created an alarm through the Google search box, it created an alarm in the alarm app--and showed the configured default sound, but when the alarm was triggered, it was on vibrate and did not use the configured sound. (Perhaps the phone needs to be restarted?) It's not a big deal because I have a couple of ways of setting a usable audible alarm, but it comes across to me as confusing.

      Finally, I've sometimes experienced a concept often fleshed out in Japanese quality control, e.g., the Kano model: the attractive quality, e.g., something unexpectedly pleasing that you never realized you always wanted in making a transaction. (Hotels often do this in various ways: maybe it's a complimentary newspaper, chocolates, fruit or warm chocolate chip cookies.)

      Google products often have this. Let me give a simple. Google Calendar, in addition to configuring your own personal calendar of events, allows you to subscribe to any of a number of special-purpose calendars, including sports calendars. In my case, I add calendars for the UH Cougars, UT Longhorns, San Antonio Spurs, and the Minnesota Twins and Vikings. (Long story on the latter two; the first three deal with my college experience.) Now I did see the upcoming games and times on my calendar. I later began noticing that updated game scores showed up on my calendar (not to mention the next round of NBA playoff games for the Spurs).

      The Google search engine in Chrome can be used not just to query for content but to extract for various information items, e.g., "what is the temperature in Atlanta, Georgia?' If I find a difficult word or wonder how to pronounce it properly I can query "define xxxx"; there is a speaker phone icon click on to hear the word and its definition. If I want today's GOP primary results or delegate count for my political blog, I query those descriptions; similarly I can query for the MLB Scoreboard or NBA Playoff Reaults.  If I query Elton John songs, I get links to over a dozen Elton John videos, a short biography, even upcoming concert dates. When I recently baked a ham, I told my browser, "set timer to 200 minutes" If I land on a webpage from Germany, Russia or China, Google allows for quick, easy translations. I recently got a Word document questionnaire over a professional gig and easily loaded it into Google Docs. It was integrated with voice input, so all I had to do was point after each descriptive entry and dictate my response (with remarkably good translation). I read a recent post which suggested you could translate text from scanned business cards.

      There are some minor things which I felt would improve the usability of products for my purposes. For example, I was trying the other day to save a Google Maps search, e.g., for directions to nearby Dan's Barber Shop into Google Keep (see above discussion of shopping lists). It would have been nice if I could have extracted information into a Keep note, e.g., right-click, Save to Google Keep. I could copy and paste the directions into a new note, and Keep has image-import functionality, but I couldn't transfer the image directly. I could save the map image to my download folder and then import the map image into the note. It seems to me that there should be a way of piping the image directly than resorting to a workaround. There may be a Google tool for this or related purposes.

      I have come to a natural breaking point for the conclusion of this first post. For many Google power users, much of what I've described here is well-known but may not be obvious for new or occasional users of relevant tools. I stumbled into a lot of this not through tutorials but by playing around with the search engine and other tools. If other people find these tips interesting or useful, this post has served its purpose.

      Monday, January 11, 2016

      My Initial Uber Experiences

      A familiar reader of my libertarian-leaning political blog knows that I have championed competition for consumer transportation in the form of Uber and Lyft services. Basically, these networks recruit drivers using their own vehicles as virtual taxicabs; typically as a customer/passenger, you first register a new account online and provide payment information (i.e., credit card details); you then download the service's app on your smartphone and log into the app, which uses GPS and functionality in the phone to pinpoint your pickup location for Uber drivers. There is an Uber services menu at the bottom, of up to 5 services, including the budget UberX option; after you select the service, you select/confirm the pickup location (the default location may be set by GPS) and you may also specify your target destination. (For a more detailed discussion, see here. You can also query Youtube video clips.)  There are nuances from the use of taxis which I've used during my road warrior days (when I worked for Oracle Consulting they would only let me commute home every other week); for example, drivers and passengers rate each other.

      As a car owner, I usually don't use taxis. I moved from WV to the Southeast US around springtime last year. Uber had started serving the local city a year before. I was planning an extended Christmas break; I live fairly close to the airport (I consider less than a half hour drive or so close). Normally I would consider airport-area parking, but I got sticker shock from a nearly $100 estimate. A local taxi company estimated a $25 fare one way. In the interim, I had checked with apartment management for their suggestions, and they didn't really have any recommendations other than to point out Uber operates locally although they hadn't personally used them.

      I decided it might be a good way to try Uber, although I was more worried about my return trip due to arrive near midnight. The initial ride was a good experience; it took about 10 minutes from requesting a ride for the driver to arrive. The app didn't seem to let me enter my apartment building number and perhaps I needed to finetune the pin/pickup location. He wasn't quite sure where I was in the complex but he called while circling the complex and found me while calling me. The ride was pleasant, and the price significantly below the taxi estimate. (I had not come across an incentive for a first Uber ride credit of up to $20, which I think I saw at one of the airports during my holiday travel.)

      I got an email notification for my transaction by the time I checked my luggage and went through security. I found doing the rating portion was not usable via my cellphone and somehow the rating was lower than I intended to score. Being unfamiliar with the process to modify a mistaken rating, I dashed off a message through Uber Support, which made the change and included some boilerplate for how to do it myself.

      I'm not going to rant about TSA here other than to recall how I had taken my first plane ride after 9/11 and the shoe bomber incident; I guess the TSA had just implemented the shoe screening, and I was quickly surrounded by agents who got my shoes. I remember being in a state of confusion wondering what the hell they had done with my shoes. This time I got disoriented by something innocuous in one of my pockets, plus I also got pulled aside for a post-screen pat down. By the time I got to my trays I found my notebook PC missing; had another passenger stolen it? Another TSA employee eventually guessed what I was looking for and told me they did an extra security check on my PC, which they had left at another location. One might think they would have told me that in the interim.

      The biggest issue I had on the trip to Texas was a connecting flight through Charlotte; I had an hour between flights, except the plane had to taxi for a half hour, and it turned out my flight to DFW was in a different concourse--not pleasant for an obese passenger. The flight was already boarding--including a 10-minute delay--when I got to the gate.

      The reason I mention that was because I had a direct early evening flight home from DFW on my return due in (including time change) at 11:30 PM.  I had similar concerns when I flew into a different concourse with a tighter flight schedule. But with the Skyway, it turned out I got to the gate with enough time to spare before boarding, I halfway flirted with the idea of grabbing a light dinner at the nearby McDonald's. We then ran into an exasperating series of delays starting with crew members and then a mechanical issue. By 'maintenance' I thought they were referring to cleaning the cabin, but eventually we got briefed on a part on the way to the plane; at some point, they decided to substitute planes, and I  recall the cumulative delay was something like 2 hours or so; I got a long series of flight-related text messages pushing out our arrival on the East Coast..  In the interim, there were rumors from other passengers that our target airport would be closed before our rescheduled arrival time, and the flight could be scrubbed.

      I wrote the above on my flights just to provide a context for my unexpectedly long delay back to the East Coast, now pushed well after midnight. I had no idea whether any Uber drivers might be available at 2 AM near the airport, especially if the airport usually closed by midnight or so. Uber, at least to the best of my knowledge, doesn't accept reservations. There isn't anything like a taxi dispatcher I could check on status or availability.

      When the plane finally came in and I retrieved my luggage, I started up the Uber app. The airport seemed deserted except for a small group of construction workers. The interface seemed to suggest drivers were available anywhere from 4-10 minutes away. (My cellphone was also complaining about the need for a recharge.)  I'm fairly sure I submitted my request as per the above process; I recall I got a much higher fare estimate for UberX--not much different from the earlier taxi estimate. But I got no popup of an assigned driver. That process is  not transparent. It's possible I got blackballed by my first driver over the rating mistake, and any available drivers declined the business, but I had contacted the driver to tell him that the rating would be fixed and to let me know if it was still a problem.

      I was confused because I hadn't gotten a driver identification, but the time remaining for the vehicle seemed to go down from 6 to 4 minutes; a taxi agent asked if I had a ride coming or he would let a couple of remaining taxis go for the evening. Soon after they left, I noticed the minutes counter spike from 4 to 10 minutes away. There were no obvious status indicators, e.g., 'no pending request', 'request in process', 'driver en route', 'no driver available; try again later'. I have seen some reports that indicate the Uber app sometimes provides misleading information (e.g., here).

      It's possible, but unlikely, in my tired state that I had not submitted a request correctly, but I think it's more likely there wasn't an Uber driver available at 2-3 AM in the morning--what bothered me is not so much Uber not having drivers available but the lack of closure; I would have looked at my alternatives sooner than later. Eventually I gave up and contacted the 24-hour taxi service I had gotten an earlier estimate but it took probably took another 30-40 minutes before a taxi finally arrived (which I felt confirmed my hypothesis about a lack of available drivers). The dispatcher had made a shorter estimate, but I was able to call back for a status.

      I was motivated enough to contact Uber Support. They were basically evasive on  the point of what happens if drivers are not available. They basically apologized for the inconvenience and argued that they were trying to recruit more drivers in my metropolis. But when I approach usability of an interface, I want transparency and closure. One of the rumors I read on the web is that Uber might want to defer a customer's decision to consider another mode until a driver becomes available. I'm not sure that allegation is correct, but I would have felt better if I would have known sooner than later Uber couldn't provide a driver.

      I'm sure that there are some readers who want to say, "Cry me a river"--a 2-3 hour delay is nothing compared to the recent winter storm knocking out thousands of flights with stranded passengers. True enough--but I will point out that the weather conditions were generally known in advance. I do not know if I would have run into an Uber issue if the flight had arrived on schedule.

      In conclusion, I still see my Uber experience as positive, a win/win for drivers and customers. Furthermore, Uber has been an innovative service, with additional niches like alternate spins on taxis, carpooling, and delivery services; they are looking at Google's work with  driverless cars. Nevertheless, I see room for improvements in the user interface.

      Friday, January 8, 2016

      My Favorite Windows File Manager Program

      [ed. 4/3/16.  I recently found Lopesoft FileMenu Tools uninstalled, which may be similar to the file corruption issue I discussed below. I have since switched antivirus vendors and the new software also didn't want to download/install. Interested readers may want to check other utilities, like Free Commander, a dual pane utility, which includes folder sizes, and Eraser, which provides secure file/folder deletion.]


      Let me define what I'm describing here: a Swiss knife utility to handling file operations. For example, you might want to create, duplicate, synchronize, move or securely delete a folder/directory of files, modify or capture file attributes (e.g., date, rename, full path), or manipulate or transform files (split/join, encrypt, find and replace text).

      Now how are these functions useful beyond default Windows features? Let me give a couple of examples. I might decide to aggregate image files in a consolidated directory I'll eventually write to a DVD. But the source image name may not be distinct. For instance, someone may email me a photo 1.jpg. I may later download an image from my browser, also named 1.jpg. If I regularly sweep my new image files to the virtual DVD folders, I might be prompted on whether I want to overwrite the existing 1.jpg. Rather than risk such collisions, I could rename source files with a unique tag at the beginning or end of the filename, e.g., 1_16jan08a.jpg, before moving them to the target.

      Another useful function is a size of folders chart. For example, I may want to store a DVD image of roughly 4.38 GB. My video, music, image, software, and ebook directories may range from hundreds of megabytes to 2-3 GB. It may well be that the aggregate exceeds my DVD capacity, but I have a 600MB video which I can set aside for a future DVD data disk.

      I have used two software products over the last few years in this category: FilerFrog and Lopesoft FileMenu Tools.  (There are a number of  features in common, but also some nuanced differences. For example, FilerFrog has encryption and file splitting features, while FileMenu has size of folder and folder synchronization features.) The way you use these products after installation is by using the right-click context menu (e.g., in Windows Explorer or an alternative like Q-Dir (see my earlier post)) after selecting relevant files or folders. There is a top-item menu bearing the name of the product in the context menu and you look in a first- or second-level menu for desired features. FileMenu Tools also allows you to reconfigure its menu through configuration options.

      I recently had to reinstall FileMenu Tools because of a corruption issue (I had noticed the menu item had disappeared from the context menu). Lopesoft had recently republished a product version and my security software didn't want to download it. This is speculative on my part, but I did find a note on the website that it had a relationship with Open Candy, a known adware vendor. Lopesoft does offer an adware-free version for a suggested minimum donation. I will say that downloading the portable version on the download page did not seem to result in the same security software issue.

      However, I ran into another issue with the portable version. After running the executable, I did not see FileMenu in my right context menu. What seemed to resolve my problem was to launch the configure FileMenu window and check under the Options menu. I found the (first) Enable FileMenu Tools option (supposedly) enabled. I toggle-switched the option off and on and got a Windows pop-up to verify the option. After I approved the change, I found the FileMenu menu in my right context menu.