October 2009 Archives

Virtualized Aero Goodness

| 2 Comments

Windows 7 with Aero running in Mac OS X 10.6

On Tuesday, VMware announced the latest in their product lines, VMware Fusion 3 and Workstation 7.  While I have been a fan of VMware Fusion on the Mac for a while – this latest version is fantastic.  As well as Snow Leopard fixes, there are lots of improvements in how “Mac-ish” the product feels. Best of all Aero is now fully supported inside a virtual machine.

I’m currently writing this post from my MacBook Pro running Snow Leopard running Windows 7 as a VM.  I have to say that running Windows 7 inside the virtual machine is actually a much better experience than I’ve been having running Windows 7 as the BootCamp partition lately.  This is largely due to driver issues, but also the muscle memory for my fingers when typing on my MacBook is to use Cmd+C and Cmd+V all the time when copy/pasting – and I forget to press Ctrl instead.  Luckily VMware keesp an eye out for this and just do the right thing.

All in all, it is a very good experience that I’d recommend to anyone that has to run multiple operating systems. Windows 7 works well in a VM where Vista used to struggle a little.  It also allows for my favorite Teamprise demo.  I set up the session so that I’m driving it from my MacBook Pro with VMware running full screen using Spaces to have it set to the right hand of the two spaces that I run.  I start the demo in Windows and then half way through use Ctrl+Left to instantly move to Mac OS and carry on the Teamprise demo from the completely different OS.  Really wakes people up after I’ve done my best to put them to sleep for 15 minutes.

Windows Live Writer and Movable Type

I've been an avid Windows Live Writer user since the early days, and for many years I've used Moveable Type for my personal blog.  The reason I went with Moveable Type was initially because that was what some of the other blogs that I read where using.  The other thing I liked about it is that files are published as HTML onto the server making the serving of blog pages a very easy task for the web server to do - meaning that my site typically copes well when a post get's a lot of traffic (talk about tempting fate...).  While it doesn't have the wide community support that Wordpress has - it works well for me and I'm still very happy with it despite trying lots of others (Wordpress, DasBlog, Community Server etc)

This is, it was all working well. Last week I switched my hosting from an Ubuntu machine over to a Windows Server 2008 R2 based machine.  My reason for doing this is that I'm wanting to have a play with some ASP.NET MVC 2 based sites using Visual Studio 2010 Beta 2 - and I wanted a server that I could host all my sites on.

Moving the server over was a fairly painless process.  Especially considering I was moving a backup from an Ubuntu + psql based host to a Windows + MySQL  environment.  The one problem I was having was that Windows Live Writer was no longer working for me.  Whenever I tried to log into my blog I got the following error:

Error Connecting to Blog. An error occured while attempting to connect to your blog: Blog Server Error - Server Error 1 Occured Invalid Login You must correct this error before proceeding.

Now, I knew my password was valid because I'd been logging in to the web interface with it. After much digging it turns out that Movable Type now has a separate web service password to the web site password.  This is because the web service password is stored in clear text in the database, but the normal login is stored as an MD5 hash.

I changed the web service password in my profile in the Movable Type console to a cryptographically random string and copy/pasted that into the password field in Movable Type and now I can post entries again.

Apologies is anyone has been having trouble accessing my blog during this transition or got spammed with new feed posts. Hopefully things are working for everyone.

As a side note - Windows Live Writer is by far the best blog editor I've found that handles Moveable Type.  I'm surprised that nothing as easy to use exists on the Mac side (I've tried most of them).  If anyone knows of a good Windows Live Writer competitor over on the Mac then I'd love to hear your recommendations.

The Ultimate Announcement Show

Today, Microsoft made some important announcements regarding the future of Visual Studio 2010 along with the availability of Visual Studio 2010 Beta 2 and Team Foundation Server 2010 Beta 2.  Paul, Mickey and I were lucky enough to grab a few minutes to record a show with Doug Seven, Product Manager with Visual Studio, where he took us through the announcements and we got chance to quiz him on some of the details.

Play Now: The Ultimate Announcement Show.

As usual, for questions or feedback about the show drop an email to radiotf@gmail.com or call +1 425 233 8379.  Looking forward to hearing what everyone thinks of the new functionality in Beta 2.

A feature of changeset metadata in Team Foundation Server 2008 is that it is actually editable.  If you look at the changeset details for a historical check-in in Visual Studio you will notice that the comment and check-in notes fields are enabled and there is a “Save” button. This is by design, but I have known customers that find this fact very surprising. 

Details_for_Changeset

In fact people are so surprised that this is even possible that in Teamprise we currently do not provide a way to edit the comment or check-in notes and guess how many customer requests we have had so far to add it?  I’ll give you a clue – it’s less than 1.

Anyway – apart from removing the odd bit of unsavoury language from a frustrated late night check-in, today I found a handy use for updating the comments after the fact.

In TFS 2008 SP1, Microsoft introduced a new feature in the server – to allow branches to be created and committed in a single operation.  This is exposed in the command line using the tf branch /checkin option or through the API using the undocumented VersionControlServer.CreateBranch method.  Creating a branch in this way is very fast because it bypasses the whole requirement to have a workspace created, working folders mapped, a branch to be pended and then the branch finally checked in.  It also uses significantly less server resources to perform which is why the feature got added in the first place.  Microsoft have some very large branches that they manage in TFS :-)

The problem with the current version of the CreateBranch method is that it doesn’t add a comment to the changeset during the branch operation.  But you can, as we now know, add a comment after the fact.  Below is a code snippet to demonstrate this:

public void CreateBranchWithComment(

    string serverUrl,

    string sourcePath,

    string targetPath,

    string comment)

{

    TeamFoundationServer tfs = new TeamFoundationServer(serverUrl);

    VersionControlServer vcServer =

        (VersionControlServer)tfs.GetService(typeof(VersionControlServer));

 

    int changesetId = vcServer.CreateBranch(

        sourcePath,

        targetPath,

        VersionSpec.Latest);

 

    Changeset changeset = vcServer.GetChangeset(changesetId);

    changeset.Comment = comment;

    changeset.Update();

}

Hope that helps somebody.  In TFS 2010 there is an additional overload of the CreateBranch method that allows you to optionally specify many things about the changeset created including a command and check-in notes so this workaround isn’t  necessary there. 

Remember, use your new found changeset comment altering powers for good rather than for pranking your colleagues.

Archives

Creative Commons License
This blog is licensed under a Creative Commons License.