Friday, December 29, 2006

Core 2 Duo Virtualization

Christmas and the new toys that come along with it are great. This year Santa was especially kind leaving a new Lenovo T60 below the tree, sporting the new Core 2 Duo processor (http://www.intel.com/products/processor/core2duo/specifications.htm). Anxious to try out the virtualization technology that I had read was built into the chip I was excited to find out that Microsoft Virtual PC 2007 (currently in beta) takes advantage the hardware enabled virtualization.

After I installed Virtual PC 2007 I was surprised to see that the hardware virtualization options were greyed out within VPC 2007. I rechecked the processor I had, and then rechecked the specs that mentioned the Core 2 Duo had virtualization.

I then rebooted the machine and checked the BIOS settings. It turns out that under the CPU settings "virtualization" was disabled If you have a processor that supports virtualization, but it does not seem to be enabled be sure to check the BIOS. Also, it appears from the Intel website that virtualization features of the processor are only available if the BIOS provides support for it.

I'll do some testing to see how much of a performance improvement can be gained from the hardware virtualization.

Thursday, December 28, 2006

Defrag Windows XP in Safe Mode

Even when something is old news to everyone else, it is still new news to the person that hasn't yet heard it. This is what happened to me regarding defragging you hard drive while running in safe mode under Windows. Defragging your hard drive in safe mode gives better results that defragging under a normal Windows session.

To defrag your Windows machine follow the easy steps:

1) Reboot your machine. When the Windows logo is diplayed press F8 to get the boot options. Select "Safe Mode"

2) Once you are booted into "Safe Mode", go to the Start Menu and select Run. In the Run text box type "cmd" and hit enter.

3) From the command window type the command "defrag c: -v" (without the quotes) to defrag your c: drive. You can also type "defrag c: -a -v" to analyze your hard drive with actually performing the defrag operation.

Easy and seems to work well.

Defragging is so easy that the AARP posted an article so that even Grandma can perform the operation (http://www.aarp.org/learntech/computers/howto/a2004-06-16-defrag.html)

Friday, November 17, 2006

Mozilla XML DOM and nodeValue length - Revisited

I have switched over from my old blogging engine to blogger.com. I only had one entry, but I wanted to go ahead and post it. Here is the text of the old post:

I discovered a behavior in the Mozilla XML DOM which is different than I would have suspected, and not well documented. At least I was not able to find out this info without much frustration. Suppose that you to extract information out of a parsed XML file via the xmlHttpResponse object as the code fragment below demonstrates:

reqObj = new XMLHttpRequest();
...
if (reqObj.readyState == 4) {
// only if "OK"
if (reqObj.status == 200) {

//Get XML data from response
var data = reqObj.responseXML.getElementsByTagNameNS "http://namespace/", "getDataResult");

var text = data[0].childNodes[0].nodeValue;


I expected the last line above to return the entire string value of the element's text for the node. Instead what I received was the a trunctated version of the text value. The equivalent operation using the IE DOM object worked just fine, and did not truncate the text.

var text = data[0].childNodes[0].text; //for IE worked fine


It turns out that in the Mozilla XML DOM if the text value of the node is too long it will create child nodes to hold the rest of the text.

The following modification took care of the problem and I was able to retrieve the entire text value for the node:


var text = "";
for(var cnt=0; cnt <>
{
text = text + data[0].childNodes[cnt].nodeValue;
}

Another reminder to not get sloppy and just assume the length of a collection that is returned.