• Loaded Projects–A Visual Studio extension

    Forklift imageI’ve just published Loaded Projects to the Visual Studio Gallery.

    The inspiration for this extension was having to deal with solutions that contained a lot of projects (from 50 to 150 and beyond). Often you know that many of the projects aren’t relevant to the particular feature or bug that you’re working on and unloading those projects can give you a big performance win. Visual Studio will be more responsive and the time to build and debug will be shortened.

    The problem comes when you need to move to a different area of the solution. You now need to reload some of the previously unloaded projects, but also unload some others that are now no longer significant. Wouldn’t it be great if you could save a record of all the unloaded projects so that you could reuse it again later?

    Enter Loaded Projects!

    Click on the ‘Loaded Projects’ item in the context menu after right-clicking on a solution.

    Solution context menu

    A dialog window appears, from which you can save the current set of loaded/unloaded projects as a new profile,

    Add new profile

    select an existing profile and load that, or choose to delete a profile you no longer need.

    Select profile

    If you like the extension, please write up a review on the gallery page.

    I’ve put the source code up on GitHub, so make use of the Issues page to submit any bugs or feature requests, and of course pull requests are always welcome.

    The extension initially just supports Visual Studio 2012. If there is enough interest then it should be pretty straight-forward to back-port it to to 2010 too.

  • Windows 8 Media Center (there and back again)

    Our Media Center PC has been running reasonably well since I built it way back in July 2008. Wow – almost 5 years old – actually that probably explains the state of the remote control (currently being held together with duct tape!)

    Anyway after successfully upgrading my laptop and reprovisioned desktop (formerly the Hyper-V/Homeserver) to Windows 8 I decided I’d update the Media Center as well.

    Upgrading was relatively painless in itself. I took a backup of the Windows 7 install (just in case) and then did a fresh install of Windows 8 x64 and then activated my free Media Centre license. I’d previously been running 32 bit Windows 7, but didn’t anticipate any problems.

    One interesting side-effect of using the ‘English (British)’ install of Windows 8 was that some of the terminology in Media Centre was slightly different. What was called “original air date” was now “original date broadcast”

    win 8 mce recorded tv

    And predictably, “Program Details” became “Programme Details” (though because that was now wider than the pop-up menu, the text would scroll side-to-side so you could read all of it!)

    win 8 mce guide settings

    So that was all well and good, but there were a few things that didn’t work so well.

    Presumably because of the new Windows 8 start screen, there is no longer a setting to make Media Center start at Windows Startup (kind of handy for a dedicated Media Center PC). The workaround for that was to create a batch file that is run via a scheduled task triggered at login (a bit of a hack).

    The other problem that became quickly apparent was that despite Windows 8 generally having a better reputation for performance than Windows 7, in this instance it seemed that there were some specific problems. Audio for live TV was consistently getting out of sync with the video. I suspected that the hardware may be struggling to keep up with pushing the data around. Only 2GB of ram and using the original on-board video adapter might be an issue.

    I thought I’d try replacing one thing at a time, so swapped in a newer video card (borrowed from the desktop box). This seemed to solve the audio sync problem, so I went and purchased a separate card – an nVidia GeForce 630 card. Installing this was straight-forward, but then revealed a new problem. For some reason the video output from the nVidia card was too wide for our TV. Despite using HDMI and setting the screen to 1920x1080 (the same resolution as the onboard ATI video card was using), I couldn’t get it to shrink. Unfortunately our TV didn’t have any controls to change the size of the picture either.

    The next problem became evident later on. Almost every day the first time the Media Center PC was turned on I was greeted with a “This computer has unexpectedly restarted” message. Searching the event log revealed a consistent errors such as:

    • The computer has rebooted from a bugcheck. The bugcheck was: 0x0000009f (0x0000000000000003, 0xfffffa8001cc2880, 0xfffff80007108b30, 0xfffffa8007050360). A dump was saved in: C:\Windows\MEMORY.DMP. Report Id: 012813-315480-01.
    • Windows failed to resume from hibernate with error status 0xC0000001
    • The system firmware has changed the processor’s memory type range registers (MTRRs) across a sleep state transition (S4). This can result in reduced resume performance.

    Initially the errors related to ‘Sleep’ so I switched over to using Hibernate but as you can see that didn’t improve things.

    After enduring two weeks of this I decided enough was enough. After doing another backup (so that I could give Windows 8 another try when some of these issues might have been resolved), I dropped in the Windows 7 Recovery CD and restored back to Windows 7 (taking out the nVidia card at the same time).

    So while Windows 8 has been great for the other computers in the house, I think we’ll stick with Windows 7 Media Center for now.

  • Tour Down Under 2013

    For the past few years I’ve always taken part in the community challenge ride which is part of the Tour Down Under. Sadly it wasn’t to be this year. A couple of weeks ago I was out with the Mud, Sweat and Gears guys on a training ride and somehow managed to injure my back on the final ride home.

    While not as bad as when I quite badly hurt it a few years ago, it still has meant time off work and a fair bit of lying down to give it a chance to improve.

    It was great weather for riding today. I’m disappointed I missed out (not to mention the Tanunda bakery too), but hopefully I’ll be in a healthier state for next year’s ride.