Sunday, February 28, 2010

VMWare NAT Service (vmnat.exe) goes wild

Tonight I decided to upgrade to VMWare Workstation 7. I’d been running on 6.5 since it was released but held off on 7.0.

The install went smoothly, as expected. The fun started after the final reboot. My usually well-responsive laptop was anything but. I fired up the Windows Task Manager and sorted by CPU but nothing registered at more than 1%. I then clicked the Show processes from all users option and vmnat.exe appeared at the top of the list with ~50% CPU and 5.9MB Memory.

Restarting the laptop didn’t solve the problem.

A web search turned up the following thread VMWare Workstation 6.5.3 + Windows 7 Enterprise 64 = VMNAT.EXE issue? in which the poster is complaining about high CPU utilization from vmnat.exe. The resolution to his problem was to remove NAT from VMNET0.

I used the Virtual Network Editor to check my configuration. No NAT on VMNET0. I used the Restore Default option and after it completed, vmnat.exe had calmed down to 0% CPU and 1.6MB Memory.

Saturday, February 13, 2010

Upgrading TFS 2010 B2 to the RC

The Release Candidates of Visual Studio and Team Foundation Server were made available last week and I’m finally getting around to upgrading my installation of TFS. In this post, I’ll record the steps that I took and the problems encountered.

1. Backup the server
I’m actually running TFS in a VM hosted within a Hyper-V 2008 Server. To backup my server, I shutdown the VM and used the Hyper-V Manager to create a snapshot of it.

2. Uninstall TFS 2010 Beta 2


Happily the uninstall didn’t encounter any problems

3. Using the Hyper-V Manager, I mounted the TFS RC ISO.

4. Next I started the install of the Release Candidate.

5. After the install completed, I selected the Upgrade wizard. After stepping through the pages and providing all the information, the Configure step is kicked off to do the real work.


6. After a very short amount of time – success!


The final test was to fire up a VM containing an install of VS 2008 and access the new TFS installation. Unlike the rest of the upgrade, this didn’t work the first time. Instead I was met with:


The Forward Compatibility Update (KB974558) is a patch to VS2008 SP1 that enables interoperability with TFS 2010. I didn’t need this to access the Beta 2 install but who am I to argue with the computer…

KB974558 is a short download and a quick install. I launched VS2008 again and Team Explorer happily reached out to the TFS server!

And with that – my TFS 2010 installation has been upgraded to the RC. Kudos to the TFS team!!

Monday, February 1, 2010

Outlook Date Tricks

I love it when a piece of software surprises me in a good way - since it so rarely happens. In this case, I’m talking about Microsoft Outlook and some convenient functionality that’s embedded within its date fields. I actually ran into this a rather long time ago but have only now gotten around to writing it up.image of scheduling bars

Say that you’re creating a new meeting request for tomorrow. You could always use the scheduling bars to select the start and end times of the meeting. The greed bar represents the start time and the red for the end. It works well when the meeting is within the next couple of days. But what if meeting is for next Wednesday? You could:

  1. Scroll some number of days on the Scheduling page
  2. Calculate the date and type it in to the Start Time box
  3. Use the drop-down calendar to select the appropriate date
  4. Enter “next Wednesday” into the Start Time box

Yup. If you enter “next Wednesday” and press tab, Outlook will do the calculation for you:

Start time of next wednesday

Outlook calculates the correct value

Try it!

Through experimentation, I’ve discovered that the following also works:

  • name of a day (ex. Monday, Tuesday, etc)
  • “today”, “tomorrow”, “yesterday”
  • “last” {name of day}
  • “[number] week[s] from {today | tomorrow | name-of-a-day}” (ex. 2 weeks from Monday)
  • “last day of {this|next| last} month”
  • “last {name of day}”
  • “Christmas” (I was surprised!)

There’s probably more.