Tuesday, April 18, 2017

Heavy Disk Activity after Suspending a VMWare Virtual Machine Instance

I observed heavy disk activity when I suspended a VMware virtual machine instance. The VMware software is VMware Player 7.1.4 and the virtual machine instance is a Windows XP instance. The disk activity is so heavy that it almost renders the host machine non-responsive for a quite while. After some research online, I found these configuration options to be helpful,

mainMem.useNamedFile = "false"
mainMem.writeZeroes = "true"


You can apply these two configuration options in two different manners.
  • Apply them to a specific virtual machine instance by adding these two lines to the virtual machine configuration file, i.e., a .vmx file.
  • Apply them as the global and default options for all virtual machine instances by adding these two lines to VMware software's configuration file. For VMWare Player, it is %PROGRAMDATA%\VMWare\VMware Player\config.ini. If the file does not exist, you should create it. For other versions of VMware software, see this VMware KnowledgeBase article.

To understand why and how these may address the heavy disk activity issue and whether you should use these options, the following are a few excellent references that I came across in my research.
  1. VMware Workstation and Very High VMEM Fragmentation
  2. Maximize VMWare images performance
  3. Write Activity to .vmem file even though the VM is suspended
  4. Why does my PC slow down to a crawl when VMware Player is suspending to .vmem file?

Wednesday, March 29, 2017

Python script runs fine, but PyDev in Eclipse complains "Undefined variable from import"

Time and time again, PvDev in Eclipse complains "Undefined variable from import" when you tries to instantiate or import a class that you know exists.

An example is the multiprocessing.Process, and another pymc.Binomial. What may puzzle you is that the Python script runs fine in Eclipse or on Terminal. The problem is the result that some classes are dynamically generated at runtime.

PyDev actually has a solution to address this issue as discussed in its FAQ. The solution is via "Forced buildin libs" as discussed in its manual.

To add the multiprocessing and pymc package as buildin libraries, we do the following.

  1. Go to: window > preferences > PyDev > Interpreter - (Python/Jython/IronPython).
  2. Choose the interpreter you have installed in your computer.
  3. Select "Forced Buildins".
  4. Choose "New", add "multiprocessing", and confirm it.
  5. Choose "New" again, add "pymc", and confirm it. 

Note that you may have to restart Eclipse to see the effect.

Tuesday, March 28, 2017

Fixing Missing Battery Icon Problem on a Windows 10 Laptop

On a Windows 10 laptop, somehow the battery icon disappeared from the System Tray in the Taskbar. Two methods suggested in a Microsoft Answers post and in a TenForums post worked for me.

Method 1.
  1. Open the "Device Manager" from the Control Panel or the Settings menu, disabled and then re-enabled "AC Adapter" and "ACPI Compliant Control Method Battery".

Method 2.
  1. Run the Group Policy Editors gpedit.msc as Administrator 
  2. Navigate to expand "User Configuration", "Administrative Templates", and then "Start Menu and Taskbar", locate "Remove the battery meter", choose "Disable". 
  3. Restart the computer.

Wednesday, March 22, 2017

Fixing Problem that Windows Mail App Account Settings Are Out of Date

I use Windows Mail app to access my Hotmail email account. It suddenly started complaining about "Account settings are out of date". The Mail app would ask you to "Fix" it, guide you to "Update" account information. It appears that the "fixing" process is successful. However, it does not fix the problem. It does not appear to even fix the problem when I delete the account and add it back in. Eventually I find out that I need to choose the right option other than the email type option list superficially seems to suggest when I add the account back in. Below are the steps.

  1. Click on the "Settings" button on bottom of the left pane
  2. Click on "Manage Account" from the "Settings" menu
  3. Click on "Add Account" from the "Manage Account" menu
  4. Select "Exchange, Office 365". Note that on the face value, the first option, "Outlook.com, live.com, Hotmail, MSN" seems to be the choice we should choose, after all the email account in question is a Hotmail account. In fact, for many users, the first option is not the right option because Microsoft  has gradually migrate Hotmail accounts to "Office 365". 
  5. Enter a Hotmail address and password



Friday, March 17, 2017

Converting SVG to PDF on Linux Command Line

A number of tools available for converting a SVG to a PDF file on Linux command line, for instances,
  • rsvg-convert
    
           $ sudo apt-get install librsvg2-bin
           $ rsvg-convert -f pdf -o mygraph.pdf mygraph.svg
        
  • ImageMagick
    
           $ sudo apt-get install imagemagick
           $ convert mygraph.svg mygraph.pdf
        
  • Inkscape
    
           $ sudo apt-get install inkscape
           $ inkscape mygraph.svg --export-pdf=mygraph.pdf
        

A few others include GhostPDL and CairoSVG. Each of these tools has its own limitations, particularly, supported SVG features. My limited use points to that Inkspace appears to have the most supported features.

Thursday, March 9, 2017

Websites for Testing Regular Expressions

Below is a list of websites that I use to test regular expressions.


Wednesday, February 15, 2017

Visualizing and Learning Programming, Data Structures and Algorithms.

This post bookmarks resources for visualizing and learning programming, data structures and algorithms.