OT: What to do in case of an accident in the USA

29. August 2006 16:11 by Csaborio in General  //  Tags:   //   Comments (0)
On a completely non-technical note, I thought I'd share with my fellow colleagues (and anyone who searches for this info), what to do in case of a car accident in the United States.

See, in Costa Rica, whenever you are in a car accident, you leave your cars as they are until the police officer decides to drop by.  This is mainly done because in Costa Rica, many people drive without insurance, so they will go any length in trying to avoid to pay for the damages they have done.   The only way to get them (guilty counterpart) to pay is by having the cop see the accident scene as  it happened and then settle in court.  This, of course, leads to massive traffic when an accident happens.

Anyhow, back to the accidents in the US story.  I had the (dis) pleasure of being in an accident last Saturday in Boston.  I had the honor of being crashed by none other than "Paul from Revere", on his slightly big tank car.  Here is what they look like:

Yeah, that's right, the amphibious tank smacked me real good and left quite some damage on my rented car:

So here is what you need to do if ever on an accident in the US:

  1. Move your car out of the way to avoid traffic congestion (your inner Costa Rican conscience will make it very hard to accomplish this task).
  2. Find out if everyone is alright, call 911 otherwise 
  3. You need to find out the following info from the driver who crashed your car: Name, Address, Company, Insurance Company, Insurance Claim Number
  4. Write down the time and street name where the accident happened
  5. Write down the names and numbers of some witnesses around who can corroborate what happened
Once you have collected this info, call your company insurance and file a claim.  You will also need to file a report in the accident form that is usually found in the glove compartment of your rented car.

Hope this helps someone in the future!

Error while linking a C++ Application with Virtual Server

29. August 2006 05:51 by Csaborio in General  //  Tags:   //   Comments (0)
While trying to build a C++ application that tried to use the library from Virtual Server library VSComInterfaces.lib, we were getting a linker error that had us baffled for quite some time:

Error     1          error LNK2001: unresolved external symbol _IID_IVMVirtualServer  EnumVMs.obj    
Error     2          fatal error LNK1120: 1 unresolved externals          H:\Virtua\M01\Exercise-6\VMListing\Debug\VMListing.exe          

Searching for an answer in various search engines, only lead us back to where the example source code had originated:  http://windowssdk.msdn.microsoft.com/en-us/library/ms699581.aspx

We had no idea what was going on...we had brought the library from the C:\Program Files\Microsoft Virtual Server\Documentation directory from the server...the server...the x64  server!!!!

A quick check using dumpbin displayed the following info on the lib:

            8664 machine (x64)
               3 number of sections
        43589BDA time date stamp Fri Oct 21 00:42:18 2005
             57D file pointer to symbol table
              47 number of symbols

We quickly compiled to 64-bit to see if the 64-bit library was indeed the culprit.  The app compiled without any problems!!

Bringing over the 32-bt lib file from a 32-bit Virtual Server allowed us to create the 32-bit version of the application and everything is back to normal.

Hopefully someone will find this post if they ever encounter the same problem in the future.

Differences bewteen Virtual Server and the Hypervisor

25. August 2006 04:03 by Csaborio in General  //  Tags:   //   Comments (0)
When working with these labs, people who have heard about the hypervisor integration
usually ask what is going to be different between the hypervisor and the current offerings or Virtual Server 2005 R2 Beta. In this link, you an find extensive information about the difference between them, but of special interest is the table below:

Virtual Server 2005 R2
Windows Server Virtualization
32-bit VMs
64-bit VMs
Multi-processor VMs?
Yes, up to 8 processor VMs
VM memory support?
3.6 GB per VM
More than 32 GB per VM
Hot add memory/processors?
Hot add storage/networking?
Can be managed by System Center Virtual Machine Manager?
Cluster support?
Yes, using COM
Yes, using WMI
Number of running VMs?
More than 64. As many as hardware will allow.
User interface
Web Interface
MMC 3.0 Interface

This table only goes to show that Microsoft’s Virtualization strategy in the future will offer a lot more than Virtual Server. Keep in mind that these features will be available about 180 days after Windows Longhorn Server ships, so until then, we will just have to sit back and watch these long awaited features with a lot of patience.

Who says you can't expand VHDS?

17. August 2006 12:36 by Csaborio in General  //  Tags:   //   Comments (0)
It is a well known fact that dynamic VHDs that reach their limit cannot be made any bigger when running in Virtual Server.  I recently stumbled onto this problem when creating a differentiating disk from a base install of a dynamic disk of Win2K3 with 2 GB tops space.  I had two choices at this point:

  1. Create a new VHD and install everything I had done
  2. Try to find a way to expand the VHD with whatever hack came to my mind.
Being the stubborn person that I am, I decided to follow the latter.

The good news is that i t can be done - the bad news is that it may be a bit of an overkill!  Anyhow, here is what you need:

  1. A BartPE ISO that has some kind of imaging utility (ours has Ghost and TrueImage - amazing programs!)
  2. A fixed empty VHD that will fit the image of the disk you are trying to expand
  3. Lots of patience
Step 1: Image the Image

  1. Add the BartPE.iso as an additional CD-ROM Drive
  2. Add the empty VHD (let's call it images.vhd) as an additional VHD
  3. Boot your PC, it should boot from the CD and Bart-PE should start
  4. Format images.vhd into an NTFS drive using whatever you want
  5. Create an image of your source disk (the one you are trying to expand) and place it on the images drive
Step 2: Restore the Image

  1. Create a new VM configuration with a new VHD that will hold the new size (format it as NTFS with any utility you like)
  2. Add the BartPE.iso as an additional CD-ROM Drive
  3. Add the images VHD as an additional VHD
  4. Boot your PC, it should boot from the CD and Bart-PE should start
  5. Use Ghost or whatever you want to restore from the Image from the Images.vhd
Reboot.  Enjoy!

Virtualization 101 for IT

11. August 2006 08:09 by Csaborio in General  //  Tags:   //   Comments (0)
Without a doubt, Virtualization is the tech buzz word for this year.  Every newsletter I receive has a link to at least 3 VT sites.  Recently I stumbled on this entry which is a podcast by Dean Wells, who does a great job explaining what IT should consider nowadays when making computer purchases. 

I think many IT departments are blindly making purchases of hardware that do not support VT technology.  What they don't know is that the moment they purchase this new equipment, they are pretty much buying outdated equipment.  Mr. Wells does an amazing job explaining what IT departments should strive for when making these types of decisions, it is definitely worth a listen.

Copy and Paste from Host VM to Guest VM (and vice-versa)

11. August 2006 06:08 by Csaborio in General  //  Tags:   //   Comments (0)
I have to admit I was a bit shocked when I tried to copy and paste text between VMs using Virtual Server.  The clipboard was not copied at all and there was no easy way to transfer text back and forth.  I tried installing the Virtual PC Additions and still no luck.  I could not believe they left out a feature like this one out - I don't know if enabling this is trivial using some super secret setting, but until then, here is a workaround.

It is actually quite simple, and it was Stephen who hinted me on this while I was ranting.  On the host machine, enable Remote Desktop Connections and connect using a RDC client.  You will be connecting to the VM just like any other mahine, and RDC supports copying and pasting of text back and forth.

Not the best solution, I know, but it gets the job done.  It is also worth noting that the same problem happens with VMWare's VM player.

Microsoft Kills Virtual PC

7. August 2006 15:44 by Csaborio in General  //  Tags:   //   Comments (0)
What?!?  Kill VPC?  A few weeks ago they announced they would give it away for free and now they are ceasing production...does not make sense, does it?

Well, if I add a "for Mac" at the end of the my Blog title it probably makes a lot more sense, doesn't it?  ;) Today the Mac community learned the pleasant surprise that VMWare is going to be releasing a Virtualization solution for Intel Macs.  On the same day, we also find out that Virtual PC for the Mac is going bye-bye :(

While this means that many PPC Macs will be left out in the cold without a way to emulate Windows, I understand where Microsoft is coming from.  Catching up where Parallels is right now in terms of VT support on the Mac would really take a while, and they would basically be starting from square one.  I can't wait to see what VMWare has up their sleeve...beating Parallels in the Virtualization market on Intel Macs is certainly a tough challenge.

Install Virtual Server R2 SP1 on Longorn Server

24. July 2006 03:42 by Csaborio in General  //  Tags:   //   Comments (0)
Usually when you install a beta OS with a beta productivity app, things can go wrong, or at least that's what you expect. That was exactly what I thought when I tried to install the latest beta of Virtual Server on Longhorn Beta. I got an error telling me that I did not have IIS installed and could therefore could not install Virtual Server. After reading the an old blog entry from the Virtual PC Guy's weblog (this guy gets paid to test old games ;), the soulution is simply to install ALL the IIS 6 Management Compatibility components and you are good to go:

...welll...as far as installing goes. I am now having problems with other things for which I hope to post the solution pretty soon...ah the beauty of beta software!!

Sending Mail via MAPI using Outlook Office in 64-bits

23. July 2006 17:05 by Csaborio in General  //  Tags:   //   Comments (0)
We recently received an interesting mail detailing the problems faced when using MAPI to send mail via Office Outlook Express. Here are the symptoms (try and see if you can figure it out by the end of the post):

1. When using MAPI calls in a 32-bit application when Outlook Express is the default e-mail handler, the application creates a blank message (success)
2. When using MAPI calls in a 64-bit application when Outlook Express is the default e-mail handler, the application creates a blank message (success)
3. When using MAPI calls in a 32-bit application when Office Outlook is the default e-mail handler, the application creates a blank message (success)
4. When using MAPI calls in a 64-bit application when Outlook Express is the default e-mail handler, the application does not create a blank message (failure). When the program ran and tried to create an e-mail, the Outlook Express connection wizard showed up.

After comparing registry entries for hours trying to find why Office Outlook was not being recognized as the default e-mail client and why Outlook Express was, it then hit me. There is a 64-bit version of Outlook Express on every 64-bit Windows install, that is why scenarios 1 & 2 above were working! There is some MAPI calls via DLLs, and since there is a 64-bit version of Outlook Express, everything works fine when it is the default e-mail client.

The story with Office Outlook is different. Since it is only 32-bit, when it is registered as the default e-mail client, only the 32-bit section of the registry is affected. That is why when the 64-bit MAPI program tries to send mail, it only sees Outlook Express. This makes sense as the MAPI functionality to work with Office Outlook is a 32-bit DLL, which would not work when called from a 64-bit binary.

As far as what can be done to overcome this problem, you ask? I have not tested this, but if you could build yourself an out-of-process 32-bit COM LocalServer that was responsible for invoking the MAPI functionality of sending mails, you could (in theory) invoke it from a 64-bit application and be done with your bit-dependencies problem.

This link is a great place to start. I will be busy at an event here in Redmond, but if I have some free time I will try to come up with the solution and post it here,

Itanium with VT support thoughts and questions

20. July 2006 09:25 by Csaborio in General  //  Tags: ,   //   Comments (0)

After reading Jose's blog entry, I immediately had some questions about virtualization on the new dual-core Itanium architecture.  First and foremost, which software vendor out there has a Virtualization solution that supports the Itanium?  As far as I know, the roadmap for Virtual Server 2005 R2 SP1 does not include support for the Itanium.  Longhorn's roadmap does not include any foreseen support for the hypervisor on the Itanium either, so no luck in there as well.

Secondly, if some company indeed supported VT on the Itanium and allowed you to say, run Windows XP 32-bit on a virtual machine, would  that be faster than running the a 32-bit application directly on Windows Server for the Itanium?  Also, how would the WoW64’s performance (which IMHO is the Itanium's Achilles’ heel) be affected by the fact that there is VT support? 

These are many, many questions for which I have no answer for and hopefully will be addressed soon enough.