Mobile Apps and Web Solutions

CTRL + Click opens new tab in IE7

Originally posted on my old MSDN blog

Is this a well known trick and I'm just completely out of touch? Probably, but I was very excited when I found out that holding down CTRL when clicking a link in IE7 will open the link in a new tab.

To think all this time I was using right click and then "Open In New Tab". I guess my productivity has just gone up by 0.1% :-)

N.B. This blog post has now moved to https://writingontablets.com

Finding currently installed MSIs

Originally posted on my old MSDN blog

I was struggling to install some new software (the superb new Live Local 3D view - I had an early internal beta already installed) and then remembered a handy tip.

To find all currently installed MSIs, use the (hidden) folder c:\windows\Installer. It gives you a nice browseable view of the current state of the system, and can be invaluable in tracking down what the system currently thinks is installed.

N.B. This blog post has now moved to https://writingontablets.com

Starting off a new process

Originally posted on my old MSDN blog

Reasonably often I find myself writing a mini-test harness when I want to run a console application and time how long it takes.

I always end up looking back through old code to remember how to do it, so this makes it very suitable for posting here. It's not particularly revealing or complicated code, but hopefully it may save you a few minutes if you want to do the same thing.

Here's the code:

Stopwatch timer = new Stopwatch();
Process process = new Process();

// Set up the process information
ProcessStartInfo info = new ProcessStartInfo();
info.UseShellExecute = true;
info.CreateNoWindow = false;
info.WindowStyle = ProcessWindowStyle.Minimized;
info.FileName = "YourConsoleApp.exe";
info.RedirectStandardOutput = false;
process.StartInfo = info;

// Start the timer, and then the process
timer.Start();
process.Start();
process.WaitForExit();
timer.Stop();

Console.WriteLine("Running application took {0} seconds", timer.ElapsedMilliseconds / 1000);
N.B. This blog post has now moved to https://writingontablets.com

Running Visual Studio Unit Tests in NUnit GUI

Originally posted on my old MSDN blog

As I've posted before, I really don't like the Visual Studio interface for running unit tests. This is mainly because it's not as clean (no hierarchy tree or big green line!), makes a copy of the files every time a test is run and is pretty slow (probably because of the file copies).

However I was very happy to find out the latest version of NUnit (http://www.nunit.org) supports Visual Studio Unit tests, so you can just point the Nunit GUI at VS Unit Test DLLs and run the tests there.

Both interfaces have their pros and cons, and I tend to go back and forth between VS (especially when debugging through the tests) and NUnit (when I want to run tests quickly) but it's definitely a big productivity gain being able to choose the most productive UI.

N.B. This blog post has now moved to https://writingontablets.com

Cool tip when using Windows Live Local

Originally posted on my old MSDN blog

I'm now working on the Windows Live Expo team, which means:

  • I might have some more interesting things to post on here :-)
  • The focus of this blog may change a little

We shipped our first public beta yesterday (US only for posting at the moment, but open to all to view), so we can start talking about some of the cool technologies we're currently using.

We've also got a video on Channel 9 which gives a flavour of our technologies (filmed before I joined the team unfortunately)

Anyway on to the tip - I was shown this when talking to the dev team from the excellent Windows Live Local - which is particularly useful (and cool!) when in an area where the birds-eye view is available.

If you hold down the mouse scroll wheel and then drag a square on the map, you will zoom in to the area that you dragged over.

Just a small thing, but once you've tried it it really enhances the usability of the maps. Give it a try!

N.B. This blog post has now moved to https://writingontablets.com