The blogs of Black Marble staff

Update on Media Center on Windows 7

Since the upgrade of my Media Center PC to Windows 7 I have had a few problems with fast forward on recorded TV and DVDs (which I had not seen on Vista). It was as if the fast forward button on my remote got jammed on and I could not go back to standard playback easily, it took a few seconds for the message to get through, then you ended up back where you started.

I decided it was probably a CPUprocessing speed issue, so upgrade my 3 year old AMD/ASUS single core motherboard to a current entry level dual core system, a MSI motherboard and Intel E5300 Dual Core (the brand choice was just down to what was cheap and in stock at my local supplier). This fixed the issue completely, but did require a reinstall of Windows 7, as the Intel Dual Core needed a different HAL to the AMD single core. However the reinstall was not a major issue as I run a dedicated PC as a Media Center and it is practically a default installation,

Recording of my SQLBits Session on Visual Studio 2008

A webcast recording of SQLBits IV session ‘Making the SQL developer one of the family with Visual Studio Team System’ is now available on the SQLBits site. This discusses the features of the VS2008 Database GDR Edition.

Unfortunately I will not be proposing a session for this years SQLBits community event on the 21st of November 2009 at Celtic Manor in Newport, as I will be travelling back from the Microsoft PDC in LA


Welcome to the past of software development

I was at an interesting meeting at my local BCS branch tonight ‘Opening The Black Box: An Introduction to Quality Driven Development’  by Tim Hunter. I had heard of TDD and DDD etal. but QDD was new to me.

What we got was a hour framed by the basic premise that ‘Waterfall is good - Agile is bad’ (or progressive methods as the speaker called anything that was not waterfall). As another attendee pointed out in the Q&A, this tone in the presentation tended to cloud the more balanced points, managing to get the backs up of a good few attendees by the speaker’s seeming lack of understanding of god agile practices. He seemed to see agile as developers messing around, no documentation, testing or general engineering discipline. He argued that without waterfall, and specifically quality gates, we could not write quality systems. This is not the Agile I know.

Agile, if adopted properly is very constraining from an engineering point of view. We have detailed specification by example, open reporting practices, regular re-estimation of remaining work, test driven development, pair programming, automated builds, regular potentially shippable products with quality gates to move products between states of publication so we don’t just release everything we build. The list goes on and on; OK no team is going to use it all, but the tools are there in the tool box. A team can set where on the agility spectrum they choose to sit.

I agree with the sessions premise that quality gates are important, but not that waterfall is the only way to enforce them. You can put the whole methodology choice aside and frame the discussion in how do we get staff who take pride in their work and are empowered produce quality products via their working environment. I would argue there is more hope for this in an agile framework where the whole team buys into the ethos of software craftsmanship, as opposed to any methodology where an onerous procedure is imposed, a system must be habitable as Alistair Cockburn puts it.

I felt the session was too pessimistic over the quality of people in our industry. The speaker wanting to make rules because he perceived people were of low quality and had to be forced to do a half way decent job. OK I am a bit pessimistic, not too bad a trait for a developer or tester, but we have to hope for more, to strive for more. This is something I think the agile community does do, they are trying to write better software and become better craftsman everyday. They care.

For me the key question is how can we bring more people along with us. Especially the people who have given up and just turn up to do their IT related job and avoid as much hassle as possible. They are the ones who don’t turn up to the BSC, community conference or any user groups or even read a book or blog on the subject. What can we do for them?

Webcast on ASP.NET testing

I have just attended an excellent free webinar session on ASP.NET testing with Ivonna and Typemock by Gil Zilberfeld of Typemock and Artem Smirnov creator of Ivonna a Typemock add-on for unit testing ASP.NET

The session is being repeated today at 2pm GMT and I understand a recording will appear on the Typemock site in due course.

So if you get a chance this afternoon have look, it is well worth your time if you work in the ASP.NET space. Personally I have also found Ivonna useful for Sharepoint testing too, watch the session it might give you some ideas.

This past week’s Nxtgen events

Thanks to everyone who attended my two Nxtgen session on Sharepoint and Typemock in Birmingham and Manchester. You can find copies of the slide on the Black Marble site.

There was a good deal of chat in how Typemock could be used for more general ASP.NET testing; if this is of interest to you I would strongly recommended Typemock’s next webinar on the 25th of August on Unit testing ASP.NET with Isolator and Ivonna

Where have all my SharePoint tasks gone?

One of the questions I’ve been asked a few times recently is along the lines of “I’d like to see all of my outstanding tasks shown to me in one place, how can I do this?”  This in particular seems to be something that applies to tasks as SharePoint stores tasks assigned to you in the site in which they’ve been assigned and thus they tend to end up scattered across the farm.

The good news is that using the Content Query Web Part (CQWP), it is easy to roll up all of your tasks from within a site collection into one place.  Here’s how:

Edit the page you want to show the task roll-up on:

Edit Page

Add a web part to whichever zone you deem appropriate; I’ve chosen the Right Zone for this example:

Add A Web Part

Select the Content Query Web Part from the list of available web parts and click OK:

Add Web Part Gallery

Now modify the shared web part we’ve just dropped onto the page:

Modify Shared Web Part Menu

At the right of the page an extra panel will appear showing the options for the CQWP.  We need to modify the settings in a few of these sections to change the data which is displayed.  Start with the Query section and change the List Type dropdown to show Tasks:

List Type

For a ‘My Tasks’ list to be useful, it should show only the tasks which relate to me and ideally only those tasks which are not yet complete.  This can be achieved by modifying the Additional Filters to limit the tasks shown only to those assigned to the currently logged in user and whose status is not ‘Completed’ (note that you should use ‘Task Status’ as the filter column in the latter case, not ‘Status’):


Next, if you wish, modify the Presentation section to sort the output from the query.  In this instance I have elected to sort the tasks displayed by due date, and not limit the number of items displayed:


Finally, in the Appearance section, modify the title to be shown to the user; in this case I have chosen ‘My Tasks’:


Click OK at the bottom of the panel and the settings should close and show you the results of your work.  In my case, this looked like this, with two tasks being pulled from different task lists:

Task rollup

The final thing to do if you have publishing switched on in the current site is to publish the page you’ve been modifying so that your users can see it.  If you don’t have publishing switched on, click the ‘Exit Edit Mode’ link which will have appeared when you started editing the page.