The blogs of Black Marble staff

Speaking at QCon on TFS and Java Integration

Week after next I will be speaking at QCon London with Simon Thurman of Microsoft on “The Interoperable Platform”.

So what does that title mean? Well for me, for this session, it will be about how you can use the ALM features of TFS even when using Eclipse for Java development. So it will be a demo led session on the Teamprise tools for Eclipse and how they can allow you to build a unified development team that works in both .NET and Java.

Should be an interesting event, the list of speaker looks great. Shame I will only be there for a day

Logging results from InvokeProcess in a VS2010 Team Build

When you use the InvokeProcess activity, as I did in my Typemock post, you really need to setup the logging. This is because by default nothing will be logged other than the command line invoked, not usually the best option. There are a couple of gotta’s here that initially caused me a problem and I suspect could cause a new user of the 2010 build process a problem too.

The first is that you need to declare the variable names for the InvokeProcess to drop the output and errors into. This is done in the workflow designer putting the variable names in the relevant textboxes (there is no need to declare the variable names anywhere else) as shown below. Use any name you fancy, I used stdOutput and stdError.


You then need to add the WriteBuildMessage and WriteBuildError activities by dragging them from the toolbox into the hander areas of the InvokeProcess activity.

The second gotta is that the WriteBuildMessage takes a logging level parameter. This defaults to normal, this means the message will not be displayed in the standard build view (unless the build’s detail level is altered). To get ground this, as I would normally want to see the output of the process being invoked, I would set the Importance of the message to High. Remember you also need to set the Message parameter to the previously declared variable name, in my case stdOutput. This is done in the properties windows as shown below.


Note that you don’t need to set an importance on the WriteBuildError activity as this is automatically always displayed, you just need to set the Message parameter to stdError.

Once you make these changes and run the build, you see the output of the command line (green) in the build log as well as the command line (red). This should help with debugging your InvokeProcess activities in your build process.


MTLM becomes MTM

You may have noticed that Microsoft have had another burst of renaming. The tester’s tool in VS2010 started with the codename of Camaro during the CTP phase, this became Microsoft Test & Lab Manager (MTLM) in the Beta 1 and 2 and now in the RC it is call Microsoft Test Manager (MTM).

Other than me constantly referring to things by the wrong name, the main effect of this is to make searching on the Internet a bit awkward, you have to try all three names to get good coverage. In my small corner of the Internet, I will try to help by updating my existing MTLM tag to MTM and update the description appropriately.

So where have I been all week?

A bit a a double question here, physically I have been at the the MVP Summit in Redmond, having a great time with my fellow “Team System” MVPs and the Microsoft product group members.


But my blog has also been on and off all week, so I guess you could say my online presence has been away. This is because Black Marble has moved office and our blog server has had intermittent connectivity, which hopefully should be resolved soon.

Trying to download more than 50Mb from SharePoint 2007 via webdav? You’ll need to know this…

If you store large files in SharePoint 2007 and are using webdav to access them (Explorer View uses webdav for example), you may be seeing the following error:

Cannot Copy <filename>: Cannot read from the source file or disk

If so, this relates to a registry key which is set on the local machine to limit the maximum file download size to 50Mb when using webdav.  To correct this behaviour, change the value of the FileSizeLimitInBytes registry key needs changing on the client machines.  To do this, follow these steps:

  • Start regedit
  • locate the following registry key:
  • In the right pane of the registry editor, right click the FileSizeLimitInBytes key and select ‘modify’
  • Enter a new value for this maximum file size (in bytes, as the key states) and click OK.
  • Close regedit and restart the computer.

Instead of making this change individually on each of the client machines, this key can of course be distributed via your organisation’s group policy.

Windows Azure - Compute Hours Equals Deployed Hours

I signed up for the Windows Azure Platform Introductory Special. You get 25 hours of a small compute instance per month which is more than enough for my current development needs. I checked the billing after a couple of days and was surprised to see that I had used 4 hours of compute time. I'd only deployed a test application and loaded some test data. The compute instance had also been suspended for some of that time as well.

The little light in my head switched on.... COMPUTE HOURS equals DEPLOYED HOURS, suspended or otherwise. The only way to stop the clock ticking is to delete your application.

I still think 25 hours per month is good enough for my needs and the Windows Azure Platform Introductory Special is a great way to get used to Windows Azure as a commercial platform - just watch those hours.

Windows Mobile 6.5 and why I do love my phone

This is something of a follow-up to Richard’s post about phones last month.

I have an HTC Touch Pro 2 which came equipped with Windows Mobile 6.1.  I used to have an HTC P3600 (or whatever it was called from Orange at the time) running Windows Mobile 5 which did me quite happily for a couple of years, but I found it frustrating taking notes while using it (which I did try a few times), so was happy to upgrade to something with a proper hardware keypad.

I’ve also recently made the upgrade jump to Windows Mobile 6.5, which has, to me at least, made quite a big difference to the everyday usability of the phone.  I was impressed with the upgrade process, which was quick and relatively painless, although obviously I did have to back up the contents of my phone first.

My Phone

An awful lot of what is on my phone comes directly from our Exchange server, so I didn’t have to worry about that as I’d already got a sync partnership set up which would put my e-mails, contacts etc back onto the phone post-upgrade, but there didn’t seem to be any easy way for me to backup items such as my SMS messages.  After a bit of a search I found Microsoft My Phone (currently free for most features, a small charge applies for ‘premium’ features), which seemed to do the job rather nicely. My Phone will not duplicate the content already being looked after by Exchange, and told me so during the setup and connection, however everything else it looked after almost seamlessly and in addition, allows me to log in to the My Phone site to see the content I’ve synchronised there. One of the other features that I was impressed to see is that as long as I have a data connection (be that standard mobile network, wi-fi, Bluetooth, or USB) and an automatic synchronisation schedule setup, My Phone will keep the contents synced automatically for me.

Windows Mobile 6.5 comes pre-installed with My Phone, although when I first made the connection post-upgrade a small update was required, Windows Mobile 6.1 required that I install it after downloading it from the My Phone site.

So, what’s to like?

There’s a lot I like about my phone:

  • Battery life (over a week during the Christmas break without a recharge for example)
  • Internet connection sharing (via USB or Bluetooth and without any extra charges)
  • Complete lack of reboots (I’ve not had to reset the phone once since I got it)
  • Excellent speakerphone and general voice quality (much better than my previous phone)
  • It just works, without fuss, all the time

What could be better?

Despite the fact that there’s lots to like about my phone, there are still a few things I’d like to see improved:

  • The interface isn’t as consistent as I’d like.
  • The TouchFLO interface sometimes gets confused and selects items when I actually want it to scroll further down the list (this might be a function of the sort of touch screen employed rather than the phone software)
  • Some stylus related quirks remain in the interface (although these tend to be fairly few and far between)
  • My Phone storage is only 200Mb.  How about using my Mesh or Skydrive storage to store my phone files?
  • My Phone didn’t correctly back up my MMS messages.  Luckily I’d stored the photos separately anyway, so it didn’t matter that much.

The final verdict for me is that yes, I do love my phone. It does everything I need it to and without any fuss or complaint, which for me is how it should be!


[Bootnote] I notice that a number of articles have started appearing discussing Windows Phone 7 Series. I suspect unfortunately that I won’t be able to upgrade my phone when Windows Phone 7 Series becomes available, which is a shame as it looks very, very promising from what I’ve seen so far.

Tonight is Agile Yorkshire

A late reminder but tonight is the monthly Agile Yorkshire meeting. This month is an open floor meeting with short presentations from members. Currently the planned subjects are:

  • REST and OpenRasta
  • Silverlight
  • F#
  • Thoughts on Test Driven Development practices
  • Behaviour Driven Development

Hope to see you there, usual place usual time (Victoria Hotel, 28 Great George St, Leeds. See here for directions, 7pm)