Monday, November 30, 2015

Cannot Start VirtualBox Virtual Machine after an Upgrade

Having upgraded Oracle Virtualbox on a Windows host, I found that I could not start any Virtual Machine instances. VirtualBox displays a dialogue window with the error message shown below,



Examining the virtual machine log file, i.e., Logs\VBoxHardening.log in the Virtual Machine instance directory, I found the following error message near the end of the log file,

1660.6c38: supR3HardenedVmProcessInit: Opening vboxdrv stub...
1660.6c38: Error opening VBoxDrvStub: STATUS_OBJECT_NAME_NOT_FOUND
1660.6c38: supR3HardenedWinReadErrorInfoDevice: NtCreateFile -> 0xc0000034
1660.6c38: Error -101 in supR3HardenedWinReSpawn! (enmWhat=3)
1660.6c38: NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries)

Driver is probably stuck stopping/starting. Try 'sc.exe query vboxdrv' to get more information about its state. Rebooting may actually help.

The message indicates that Windows service vboxdrv, i.e., the Virtual Box Driver has some problem. Following the advice in the log, I issue sc.exe query vboxdrv in a Windows Command Prompt window,

C:\>sc start vboxdrv
[SC] StartService: OpenService FAILED 1060:

The specified service does not exist as an installed service.
C:\>

which indicates that Windows service vboxdrv does not exist. To fix the issue, I reinstalled the driver vboxdrv from the directory C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv. From the Windows GUI, you can right click the VBoxDrv.inf and choose "install".
If the installation is successful and you query the driver status again, you should see something similar below,

C:\>sc query vboxdrv

SERVICE_NAME: vboxdrv
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\>

Now I can launch the virtual machine instances.

Friday, October 2, 2015

HTTPS Everywhere Arrives at Blogger!

A couple of weeks ago I wrote a blog post on how we may preserve privacy while browsing the Web. One particular technology that we can rely on is HTTPS, for which, I mentioned The Electronic Frontier Foundation's HTTPS Everywhere browser plugin. See the blog post for more discussion.

Today, I am happy to learn that Google has rolled out the HTTPS support to Blogspot based their blog post released on September 30, 2015.

This is fantastic!

Let us push HTTPS Everywhere!

As indicated in the Google's blog post,

"
Blogspot authors should be aware that if they choose to encrypt at this time, some of the current functionality of their blog may not work over HTTPS. This can be a result of template, gadgets, and blog post content, and is often caused by mixed content errors, some of which may be fixable by the author themselves.
"

If you blog site rely on your own web services that are availed via the HTTP protocol, you may have to make it available via the HTTPS protocol. You actually can obtain free SSL certificates for your web services, at least from two providers at the time this post is written.

Well, having stated the above, although I enabled HTTPS on this blog site, I have not be able to tested all the posts and functionality. Readers, if you happen to spot a "mixed content" error on this blog site, please let me know. I am most appreciative for that.






Thursday, September 17, 2015

Improving Windows Desktop Search for PDF and Other Binary Files

Windows Search, formerly Windows Desktop Search, may not index content and metadata of binary files, such as, those of PDF files without assistance of some additional software although it does index the files based on their names.

To enable Windows Search to index content and metadata of binary files, we need to install some additional software to help the Windows Search. Windows Search supports iFilter. With the matching iFilter add-in installed, Windows Search can index content and metadta of binary files of certain types. The iFilter.org site lists a number of iFilter add-ins for a few types of binary files, e.g., ZIP, CAB, CHM, DjVu, and PDF files.

Below we show how we can enable indexing content and metadata of  PDF files.

First, we can check whether PDF iFilter exists. The following steps are carried out on a Windows 10 host.
  1. Open "Windows Control Panel"
  2. Search and open "Indexing Options"
  3. Open "Advanced" from "Indexing Options" 
  4. Choose "File Types"
  5. Locate the "pdf" file type.



    Above figure shows that "Registered iFILTER is not found", which means that iFilter add-in is not installed and Windows Search do not index content and metadata of PDF files.
To enable indexing content and metadata of PDF files, we can choose and install Adobe PDF iFilter. If the PDF iFilter is installed, repeating the above step, Windows will indicate that the iFilter is intalled as illustrated in the figure below.



 To force Windows Search to index content and metadata of PDF files immediately upon the  installation of the PDF iFilter, we can check and uncheck PDF file types from the "File Types" tab of the "Advanced Options" of the "Indexing Options" as follows,
  1. Open "Control Panel", "Indexing Option", then "Advanced Option", and finally, the "File Types" tab
  2. Locate the "pdf" file type
  3. Uncheck the "pdf" file type
  4. Click "OK"
  5. Window pops up a dialogue window stating "Rebuilding the index might take a long time to complete. Some views and search results might be incomplete until rebuilding is finished." Click "Cancel" on this dialogue window.
  6. Windows will return to "Indexing Option". Now click on "Advanced" again to open the "Advanced Options"
  7. On the Advanced Options, choose "File Types"
  8. Locate the "pdf" file type again
  9. Check the "pdf" file type
  10. Click on "OK" to confirm
  11. Window now pops up again the dialogue window stating "Rebuilding the index might take a long time to complete. Some views and search results might be incomplete until rebuilding is finished." Click "OK" on this dialogue window to confirm. Windows starts rebuilding the index. Depending on the amount files on the disk, it may take a long time to rebuild the index. 
  12. You can safely close the "Indexing Option". Windows index continues to rebuild the index in background.


Thursday, September 10, 2015

Problem with Firefox's Always Openning Web Page Unintended When Creating New Tab

I somehow had a problem described in this post, that is, when I open a new tab in Firefox and the new tab always opens a Yahoo Search page regardless the "When Firefox Starts" and "Home Page" settings in the "Options" menu. I blame myself for not careful when installing software and browsing the web. I am looking for a fix.

Followed the post cited above, I did not find any hidden add-ons. The solution did not work for me although it worked for some according to the comments left on the post.

I eventually have a fix for this problem.

When I open "about:config" and search the word "Yahoo", I find that the setting "browser.tab.newurl" is pointing to a Yahoo search page. After I set the value of the setting as blank, the problem goes away.

By the way, the Firefox discussion forum have some good discussion on related issues.

Wednesday, September 9, 2015

Where to Buy "Strange" Food Ingredient?

Sometimes when we want to try a new recipe, some food items are nowhere to find in our local grocery stores.  We can always fire up our web browsers and search them on the web. However, next time when we want to reorder the items, the web stores you had good business with somehow become a little difficult to find on the web. This post is a note for those food items. Now when I need them, I just come here.


Purple Sweet Potatoes
Soybeans
Coagulants for Making Tofu
Coagulants for Making Cheese
Sausage Casing
For Baking

GnuCash Encountered System Error while Retrieving Price Quotes

While I was installing GnuCash 2.6.7 on a Windows 10 computer, I encountered a "System Error" while retrieving the price quotes. To be exact, when I opened the "Price Editor" from GnuCash, and attempted to "Get Quotes", GnuCash popped up a dialogue window with the error message "There was a system error while retrieving the price quotes"

By resolving this problem, I have the following observations,
  • GnuCash may still fail to retrieve price quotes even if GnuCash's gnc-fq-check program reports no problem.
  • GnuCash's gnc-fq-update program is designed to install the Finance::Quote Perl module; however, it may not install all dependencies that the GnuCash's Price Editor functionality requires.
  • GnuCash's gnc-fq-helper program can provide additional diagnostic information, such as, missing dependent Perl modules.
Below is a detailed description on what happened and how the problem was resolved.

  1. To install the Finance::Quote Perl module, we run GnuCash's gnc-fq-update program as the System Administrator, e.g.,

    C:\Program Files (x86)\gnucash\bin>perl gnc-fq-update

  2. To verify that the Finance:Quote Perl module is successfully installed and we can retrieve price quotes online, we run GnuCash's gnc-fq-check, e.g.,


    C:\Program Files (x86)\gnucash\bin>perl gnc-fq-check
    ("1.38" "tdefunds" "adig" "bet" "sixshares" "nz" "unionfunds" "romania" "cominvest" "dwsfunds" "asegr" "tiaacref" "seb_funds" "cse" "nasdaq" "goldmoney" "bamosz" "tsp" "yahoo_json" "hungary" "fidelityfixed" "bourso" "yahoo_nz" "usfedbonds" "yahoo_europe" "ftportfolios_direct" "platinum" "hustock" "bse" "bsero" "ukfunds" "aex" "vanguard" "dutch" "tdwaterhouse" "yahoo_brasil" "maninv" "trustnet" "uk_unit_trusts" "yahoo_australia" "morningstarjp" "brasil" "known_currencies" "canadamutual" "deka" "finanzpartner" "fool" "bmonesbittburns" "ftfunds" "yahoo_yql" "finland" "europe" "za_unittrusts" "nzx" "morningstar" "fidelity_direct" "asx" "za" "troweprice_direct" "greece" "lerevenu" "hu" "tsx" "sixfunds" "fetch_live_currencies" "troweprice" "indiamutual" "hufund" "yahoo" "australia" "asia" "usa" "aiahk" "stockhousecanada_fund" "fidelity" "ftportfolios" "vwd" "france" "mstaruk" "canada" "financecanada" "fundlibrary" "tnetuk" "nyse" "yahoo_asia" "citywire" "hex" "amfiindia")



Since gnc-fq-check does not complain that there might be a problem, we would assume that the GnuCash's Price Eiditor functionality should work. In particular, the GnuCash's Online Quotes wiki page does not appear to suggest anything else may have to be performed. However, I encountered the error that "There was a system error while retrieving the price quotes".

Following the GnuCash's Tracefile wiki page, I initially attempted to observe what may have been wrong by examining GnuCash trace files. However, the trace files did not appear to reveal anything useful to me. Finally, a web search yielded a clue that we might be able to find out more using GnuCash's gnc-fq-helper program. Below is what I found out by attempting to retrieve the ticket CSCO's price quote from Yahoo,


C:\Program Files (x86)\gnucash\bin>echo (yahoo "CSCO") | perl gnc-fq-helper
Can't locate Date/Manip.pm in @INC (you may need to install the Date::Manip module) (@INC contains: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at gnc-fq-helper line 33.
BEGIN failed--compilation aborted at gnc-fq-helper line 33.

that clearly indicated that the Date::Manip Perl module was missing. Then the fix is to install the Perl module, e.g., invoking Perl shell as the System Administrator as follows,

C:\Program Files (x86)\gnucash\bin>perl -MCPAN -e shell
cpan> install Date::Manip

Now let us run the gnc-fq-helper and attempt to retrieve the ticket CSCO's price quote from Yahoo again. The gnc-fq-helper stopped complaining and successfully retrieved the price quote.

C:\Program Files (x86)\gnucash\bin>echo (yahoo "CSCO") | perl gnc-fq-helper
WARNING: the TZ Date::Manip config variable is deprecated
and will be removed in March 2016. Please use
the SetDate or ForceDate config variables instead.
(("CSCO" (symbol . "CSCO") (gnc:time-no-zone . "2015-09-09 16:00:00") (last . 25.94) (currency . "USD")))

This experience is actually another time that the gnc-fq-helper program saves the day. In the past, I encountered a similar problem, but with a different error message.

Tuesday, September 8, 2015

Collection of Software Tools for Protecting Privacy on the Web

This is a collection of software that we can use to protect privacy and maintain anonymity when browsing the Web.

  • Tor browser. Stated on its web page, "it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked." However, the web may appear to be much slower if Tor relays serving you are slow.
  • The Electronic Frontier Foundation's HTTPS Everywhere. A web browser add-on that rewrites HTTP requests from your web browser to HTTPS requests. Stated on its web page, "On supported parts of supported sites, HTTPS Everywhere enables the sites' HTTPS protection which can protect you against eavesdropping and tampering with the contents of the site or with the information you send to the site. Ideally, this provides some protection against an attacker learning the content of the information flowing in each direction — for instance, the text of e-mail messages you send or receive through a webmail site, the products you browse or purchase on an e-commerce site, or the particular articles you read on a reference site.
  •  HTTP Cookie removers.  There are a number of web browser add-on's to remove HTTP cookies, e.g., Ghostery.
  • Flash Cookie removers. There are a number of web browser add-on's to remove Flash cookies, e.g., Better Privacy.
  • Web browsers in private or incognito mode. Modern browsers support "private browsing", e.g., Firefox, Chrome, Opera, Internet Browser, and Microsoft Edge.

Note that the level of privacy and anonymity provided by the above are different. Tor browser perhaps provides the best level of privacy and anonymity, albeit at the cost of higher latency and lower throughput. HTTP and Flash Cookies removers makes trackers, such as, online advertisers' job of tracking an individual web visitor more difficult; however, both operators of the web sites you visit and you internet service providers (ISPs) can still track you, i.e., they know which IP address the traffic is originated, and they both know which pages you are visiting if the traffic is a HTTP session, and the site operators know which page you visiting even if the traffic is a HTTPS session. For the part of web sites supporting HTTPS, HTTPS Everywhere prevents your ISPs' from eavesdropping on which pages you are visiting on a site; however, the web site operators can still know which IP address the page visits are originated and which pages you are visiting.

If you have anything that you want to add, please share with me.