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:
- 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).
- Find out if everyone is alright, call 911 otherwise
- You need to find out the following info from the driver who crashed your car: Name, Address, Company, Insurance Company, Insurance Claim Number
- Write down the time and street name where the accident happened
- 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!
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.aspxWe 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:
FILE HEADER VALUES
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.
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:
|
|
Windows Server Virtualization
|
|
|
|
|
|
|
|
|
Yes, up to 8 processor VMs
|
|
|
|
Hot add memory/processors?
|
|
|
Hot add storage/networking?
|
|
|
Can be managed by System Center Virtual Machine Manager?
|
|
|
|
|
|
|
|
|
|
|
More than 64. As many as hardware will allow.
|
|
|
|
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.
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:
- Create a new VHD and install everything I had done
- 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:
- A BartPE ISO that has some kind of imaging utility (ours has Ghost and TrueImage - amazing programs!)
- A fixed empty VHD that will fit the image of the disk you are trying to expand
- Lots of patience
Step 1: Image the Image- Add the BartPE.iso as an additional CD-ROM Drive
- Add the empty VHD (let's call it images.vhd) as an additional VHD
- Boot your PC, it should boot from the CD and Bart-PE should start
- Format images.vhd into an NTFS drive using whatever you want
- 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- Create a new VM configuration with a new VHD that will hold the new size (format it as NTFS with any utility you like)
- Add the BartPE.iso as an additional CD-ROM Drive
- Add the images VHD as an additional VHD
- Boot your PC, it should boot from the CD and Bart-PE should start
- Use Ghost or whatever you want to restore from the Image from the Images.vhd
Reboot. Enjoy!
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.
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.
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.
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!!
|
|
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, |
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.