23 Nov 2008

Windows 7, Skype and McAfee

Today I tried reinstalling McAfee anti virus to be told that Windows 7 isn't supported by it, that was a quick and easy trial.

Additonally I ran into another incompatibility, Skype starts up quite happily and then quits after a random time period. As always no logs, or event entries :P

UPDATE 9th Jan 2009

I just tried Mcafee on the Beta build of Windows 7, and unsurprisingly it didn't work either :)

17 Nov 2008

Windows 7 and Windows Update

So I've been trying to figure out why Windows Update refuses to work on my Laptop, which was the cause of the whole VHD mouting issue.

So first off, why can't it connect to the internet? What else was effected by this problem? Did this affect all programs? Well no, first off Firefox, IE, Outlook and Skype were connecting quite happily. But Live Messenger wasn't. This implied to me that it was down to some sort of configuration, as why would somethings get out onto the internet as opposed to others?

I opened up McAfee Security centre, but this opened in a white window and didn't do anything else. That was odd, so I checked Windows Firewall and this was on too. So in theory Windows Firewall should be controlling connections in and out, and is configured by default to include rules for both Messenger and Update. I turned Windows Firewall off and tried update and messenger again. Still no joy. Odd, ok so lets uninstall McAffe. One uninstallation and restart later and I'm connecting to Windows Update and Messenger.

So it looks like McAfee being installed before the upgrade had upset things somehow. I'll try reinstalling McAfee later on in the week and report back if it breaks again.

14 Nov 2008

Windows 7 and the VHD mounting bug

As previously posted, I've upgraded my Dev laptop to run Windows 7 M3. The main reason for this was that I wanted to be able to mount Virtual Hard Disks as actual drives. But after the upgrade from Vista I was getting an error message whenever I tried to mount a VHD:


I contacted the Windows 7 team and they were intrigued. It turns out that it isn't actually a problem with the VHD functionality, but instead a driver hasn't been installed correctly from Windows Update. The guys were saying it looked very much like the installation had begun for this driver, then stopped and cancelled for some reason.

So they got me to check out my Device Manager and I was missing the Microsoft VHD driver under Storage Devices, but had 2 unknown devices under base devices. I was instructed to delete said unknowns and try mounting another VHD. This time a new Device appeared under Base Devices called Microsoft ISO VHD something (I forget the last bit, it was another acronym). Ok so this is an improvement but still not right, according to the Microsoft guys. So next we updated the driver for this new device manually, as Windows Update wasn't connecting for some reason. After going to Disk Drives and selecting the only compatible device, a Microsoft VHD driver, we installed it and hey presto I now have the rather sexy functionality of being able to mount VHDs :)

One point to note, is that VHDs do not stay mounted after a restart or shutdown of the system.

So thanks to the guys over on the Windows 7 team, you rock! :)

11 Nov 2008

Windows 7 and WF 4.0

I've now had Windows 7 on my box since Sunday and although i don't have some of the nicer features coming in the Beta (the improved Taskbar and dockable Apps) I'm enjoying the features I've got to play with.

I've hit a problem with the Virtual Hard Disk mounting, where every time I try mounting a VHD file I get told that no provider is available. Here's a piccy of the image.


I've contacted the Windows 7 team (who are VERY helpful) and have identified that is was a problem with my upgrade from Vista as a driver didn't install properly. I haven't got the solution yet, as I'm currently helping the team understand why the installation didn't work. Once we know why it failed, I'll get the solution and I'll post if here. So if you've upgraded from Vista and VHD mounting isn't working and you're getting the same message as me, stay tuned as the solution will be up soon!

So on Windows 7 I'm running the VPC of the WF 4.0. I've run the first 3 labs so far and it's looking damn good. Labs 1 to 3 are:

1. Your first workflow
2. DB interaction
3. Your first WCF hosted Workflow

The new WPF designer is a lot friendlier to use than the original. I particular like that:

You now longer have to jump to code in order to setup variables in the Workflow


And Arguments :)


You can set variables on the activities (a lot friendlier than continually using the Properties pane)


and of course being a WPF based designer, you can now zoom in :)


I've found a few issues so far which I'm about to email in, but here they are in case you're interested in such things:

1. Error messages for activties aren't modal

2. Doing HOL 3, adding Rule called "If DiscountPoints <>
  1. Misspelt variable in condition
  2. Corrected spelling
  3. Finished setting up rest of rule
  4. Noticed the error provider against the "Condition" stating the "Name 'DiscountPoint' is not declared".
  5. This was odd as I had corrected this on the activity
  6. Clicked the property, click a different property. The incorrect value from condition was then used to update the condition on the activity
  7. Correct in the property, click out and the activity was updated3. No feedback from interaction with bread crumbs on WF designer.
3. I would expect highlighting of the word I'm over, or something to show it can be used.

4. WCFTestClient freezes at approx 50% when adding a service that contains an error

5. Compiler didn't pick up error in Assign activity when a variable that didn't exist was used

Whats next? Well I'll be looking at doing a project and putting the walkthough on this blog and looking at writing a session on WF 4.0. Maybe even a comparison with 3.0/3.5 :) Stay tuned for my further adventures in WF and possibly dates for a WF 4.0 session!

10 Nov 2008

PDC Podcasts

The interviews Chris Hay and me recorded at PDC are available on the NxtGen website here.

Enjoy our first attempt at interviewing software legends! :D We've got (in no particular order):

Don Box
Chris Anderson
Martin ("The Gudge") Gudgin
Daniel Moth
Dan Fernandez
Brian Keller

We've got more to come, Workflow and related technologies should be the next one up :)

Cheers for listening :)

4 Nov 2008

Regions and PDC Hard Disks

I've just started to get my teeth into the Hard Disks we were given at PDC. So the obvious first port of call is the Wf 4.0 stuff I saw demoed.

Virtual Image runs up, good stuff. Put the password in, nope. Hmmm, maybe the caps is on, try again, nope. Realise I'm using a Virtual Image setup for Americans, so try the " key, and we're in :)

I'm pleased to say all the Virtual Labs are included on the Virtual Image, so will be cracking through them and posting stuff about it here :)

I've also installed the M3 release of Windows 7 on my laptop as the main operating system. I know, brave or stupid, you decide ;) The main reason is that I want to take advantage of the ability to mount VHD as actual drives. I'll report back on my progress with that too...

28 Oct 2008

Two bits of sexy news from PDC :)

WF 3.0/3.5 has effectively been taken out back and shot, and replaced with alot sexier version. First look makes it look far easier to use and extend, and can be skinned with WPF :)

VS2010 is being converted to a WPF based app (like the Expression tools), and will be taking advantage of a new extensibility model being included in .Net 4.0.

I can't wait to get hold of the CTPs! :D

22 Oct 2008

Developer Day 7

The registration for DDD 7 has gone live, and promptly filled up. Best get on that waiting list!

http://www.developerday.co.uk

17 Oct 2008

PDC Sessions

The timetable for the sessions has been announced for PDC!

You can have a look at it here.

I'll definatley be at the WF ones, and probably the OSLO onces so came and say hi if you see me :)

16 Oct 2008

SSRS to Web Service

I've recenlty been doing some work with Sql Server Reporting Services talking to a WCF Service. This isn't quite as easy as it sounds. The first thing you need to do is specify a new data source as an XML based source.

And the request to the Service replaces the text in the Dataset.



You then specify a nice request and response as with any message based WCF service:

namespace MyReports
{
[MessageContract(IsWrapped = true)]
public class DataRequest
{
[MessageBodyMember="A"]
private string _fieldA = string.Empty;

[MessageBodyMember="B"]
private string _fieldB = string.Empty;

[MessageBodyMember="C"]
private string _fieldC = string.Empty;
}
}

The response looks something like this:

namespace MyReports
{
[MessageContract]
public class DataReponse
{
[MessageBodyMember="Data"]
private data[] _data;
}
}


And the data object looks like this:

namespace MyReports
{
[DataContract]
public class Data
{
[DataMember(Name="First"]
private string _field1;

[DataMember(Name="Second"]
private string _field2;

[DataMember(Name="Third"]
private string _field3;
}

// Ctor, Getters and setters excluded
}


Voila you're done... Or are you?!?

I found quite a nasty gotcha in doing this. My request class was only being partially populated everytime I did a request. I checked the attributes on the service and classes, I used TCP Trace to make sure the values were actually crossing the wire (which they were), but still the request wasn't being populated properly.

I even asked my pal [insert favourite search engine here] but couldn't fnd anything on it. So I started playing around with the fields in the report and low 2 of the 6 request params were now being populated! What had changed? The ordering. After a few more trial and errors I found the problem. The parameters from the report have to be sent in alphabetic order, otherwise for some reason the request doesn't deserialise properly.

Looking for a new contract

After having given my 3 month notice into ITV, I've started looking for a new contract. So if you'd be interested in getting me into your organisation check out my Linkin profile and drop me an email :)

I'll be free from the 1st December.

8 Oct 2008

Presentation and Code for "Going with the Workflow"

I've popped the Slides and Code onto my Skydrive, you can get at it here:



Enjoy :)

Cambridge and Workflow

Last night saw Rich and I travel up to Cambridge to hijack the evening with our Watin and Workflow talks.

Chris and Allister certinaley have managed to bag themselves with an excellent crowd and venue! We were given a very warm welcome by the group and were asked some very complex questions on our talks.

I did get one question which I could not answer which was this:

"Doesn't creating more than one Workflow Runtime in an AppDomain raise an exception?"

This was interesting as I thought you could, but the attendee thought you couldn't. So I've done a bit of searching and found we were both right! Before the final release WF did indeed use to throw an exception if you tried creating more than one instance of it in an AppDomain, but after the final release you can create as many instance in an AppDomain as you like. Here's a link with a bit more info on the matter, including when you'd want to have multiple instances running.

Overall I thought the session went well, the feedback from Southampton run really helped improve the session, and apart from a couple of hiccups in the second half it went really well. So I'd just like to thanks the guys in Cambridge for hosting us, and the members for making us feel really welcome.

I'll be posting code and slides up soon, so check back later :)

Oh, and don't forget to harrass Chris and Allister to host the Silverlight Assault Course up there :)

2 Oct 2008

Oren Eini at the DotNetDevNet

Top speaker Guy Smith-Ferrier has Oren Eini appearing at his User Group on Monday 13th October, here's the details:

When: Monday 13th October 2008, doors open 6:00pm, meeting starts 6:30pm

Where: UWE (University of the West of England), Frenchay, Bristol (see FAQ for directions and a map) - Room 2q50 (in Q block)

What: "Producing Production Quality Software" and "Interaction based testing with Rhino Mocks"

Who: Oren Eini is the author of Rhino Mocks and a major contributor to Castle and NHibernate.

Why: Because Oren is in the UK for a couple of weeks and we've managed to nab him whilst he's here. This is a rare opportunity to listen to someone who can make a real difference to the success of your project.

How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the October Extra meeting.

"Producing Production Quality Software" Abstract:

Working software is no longer the only thing that we need to produce. We need to create a software system that has a chance of surviving in the cruel world of production system, outside the clean room and sterile environment of development and QA. Understanding bottlenecks in the system, preventing cascading failures and recovery strategies have ceased being the problems of the very high end players. With the cost of system downtime being measures in $$$/second, this is an area we have to consider all the way. In this talk we will cover how we can map common weaknesses in the system design, preemptively protect ourselves from them, and produce software systems that can withstand the real world hostile environment.


"Interaction based testing with Rhino Mocks" Abstract:

Beyond the simplest scenarios, all objects had collaborators that they work with. This flies in the face of testing objects in isolation. This is the problem that mock objects were created to solve. In this talk you will learn what mock objects are, how to utilize them and best practices on when / how to utilize them. Rhino Mocks is a mock objects framework for .Net whose core goals are to let the developer rely on the compiler work well with refactoring tools.

Bio:

Oren Eini is an independent consultant based in Israel, focusing on architecture and best practices that lead to quality software and zero friction development processes. He is the author of Rhino Mocks, the most popular mocking framework on the .Net platform as well as a member of other well known open source projects, chief among them are the Castle project and NHibernate.
Oren is an internationally known speaker, and the author of the soon to be published book: Building Domain Specific Languages with Boo.

Our Birthday Bash

So this months session will see NxtGenUG Southampton hit the grand old age of 1! We've had a cracking series of evening sessions from some absolutley top names, plus a very successful Saturday event in the form of the Silverlight Assasult Course.

So whats happening for our first birthday? We thought we'd try something a tad more interactive than a normal talk, something people could particpate in. Our very own Rich A (Mr Ready Steady Speak Remix 08!) and member Plamen Balkanski are going to do a session on Agile development, including the agile Planning Game!

Sign up and get more details on the following NxtGenUG page.

We're of course have Birthday Cake! :)

20 Sept 2008

ReMix 08 Ready Steady Speak!

My fellow coordinator Rich Allen entered the Ready Steady Speak competion at Remix 08 last week.

He did a 5 minute version of his WatiN nugget that he performed at our group in August, and at Cambridge in October. Anywho, it was a fantasticly smooth presentation with only a couple of very minor criticisms.


The Judges contemplating a presentation by Zybszek Swirski.


He was able to correct the minor criticisms and strode to victory in the final the following day! Go Rich! :)


Rich with hosts John Price, Richard Costall and Dave McMahon and head judge Guy Smith-Ferrier.

23 Aug 2008

My first full length presentation

On Thursday night I presented a full length WF session for the first time, I thought it went well and have gotten some very useful feedback from attendees on things I can improve :) My fellow coordinator Rich Allen also did a nugget on a rather excellent piece of technology called WatiN, which is a very formidable Web testing framework with added bells and whistles!

Watch out Cambridge! V2 is coming your way on the 7th October :) I think I'll rewrite the front end is WPF, as I hear thatCambridge bunch have been spoiled by Chris Hays Silverlight Guru status ;)

19 Aug 2008

Sept & Oct talks at NxtGen Southampton

On September 11th we've got Andrew Hallmark coming down to do a talk on CSLA.Net, no nugget has been confirmed as of yet so if you're interested drop me an email :)

If you don't know what the CSLA is, then here's a quick brief. The CSLA is a Business Object framework by Rockford Lhotka that follows quite a few principles that are set down in the Object Thinking book. It comes in two flavours, either VB or C#.

It's a talk I've been keen on getting presented at Southampton since we started nearly a year ago, then Andrew Hallmark offered his services :)

In October we're be hopefully having our 1st Birthday, it should be a fun night with a mix of presentation and some more light hearted activties. Details to follow.

18 Aug 2008

Debugging a modular application

So you're working on a modular application and you've got individual modules in seperate solutions. You can't currently hit F5 to debug these modules as they're just a class library. What do you do?

It's nice and easy, all you need to do is setup a Post Build Event script and change the Debugger options. Follow these easy steps:

1. Open the Build Events tab in the Project properties.
2. Edit the PostBuild script so that it copies the Projects DLL and PDB files to the location of the application you're extending. A basic Post Build Event to do this would look like so:

if $(ConfigurationName) == "Debug" xcopy "$(TargetPath)" "C:\Program\MyApp" /i /y

if $(ConfigurationName) == "Debug" xcopy "$(OutDir)MyDll.pdb" "C:\Program\MyApp" /i /y

3. Save the Post Build script
4. Open the Debug tab in the Project properties.
5. Set the Start External Program to the absolute path of the exe you're extending, e.g. "C:\Programs\MyApp\App.exe".
6. Set the Working Directory to the directory containing the application your extending "C:\Programs\MyApp". Save.

Now when you hit F5 the DLLs and PDBs are copied to the directory, and the target application is run up for your debugging pleasure.

17 Aug 2008

VS2008 SP1 and the missing Toolbox controls

I recently upgraded my VS2008 installation to the new SP1 release, I found that several of the .Net controls disappeared from the ToolBox, including the Button.

A new Toolbox also appeared labelled "#13119" with nothing in it.

To resolve this issue I had to delete the cached version of the Toolbox in my User profile, then when restarted VS2008 recreated the Toolbox and my missing controls reappeared.

Sorted :)