Mike Taulty's Blog
Bits and Bytes from Microsoft UK

February 2007 - Mike Taulty's Blog

Blogs

Mike Taulty's Blog

Elsewhere

  • Should you use Workflow Foundation?

    Just highlighting Paul's great post that he wrote the other week about "What to use Workflow Foundation for". Here's the link . I've met customers that are using Workflow because it's new and cool. I've met customers that are using Workflow in order to keep Microsoft or their boss happy (yes, this happens). And then...I've met customers that are using Workflow because they really have a great use for it and, generally speaking, they fall into one of the categories of use that Paul's outlined on his post.
  • OpenID

    Since the OpenID announcement I've had a few goes at trying to work out what OpenID is. I've been up to the website and I've had a read of the spec a couple of times and each time I just zone out. I simply find that I can't read that spec. How come? I get grumpy. Why do I get grumpy? Because the first real bit of information in the document says (copied); In order for a Consumer to know the Identity Provider authoritative for an Identifier, the End User must add markup to the HEAD section of the HTML document located at their URL And immediately I starting thinking; HEAD? HTML? URL? Is this about web pages or is this about my identity? Why would an identity solution involve a web page? Can I have an identity if I don't have a web-page? If not, why not? HTML??? Are you kidding me?!?!? And, frankly, I don't go on to read the answer to any of these questions. I simply get very grumpy, close the browser and go off to do something less boring instead. As soon as I come across the idea that we're solving an identity...
  • DevWeek (not MIX)

    I'm travelling down this afternoon and will be there until Thursday PM if anyone fancies a chat (drop me a mail). DevWeek's a great conference in a great location (I like the building a lot :-)) and, this year, it's good to see that the main conference is completely full so congratulations to the organisers on that. Almost everyone in my team is speaking down there on one topic or another so that's myself, Daniel , Martin and Mark and then I think MikeO is attending some/all of it as a Tourist :-) so feel free to heckle him should you know him and spot him around. I might try and do a bit of a blow-by-blow account of DevWeek whilst I'm there and maybe I'll see you there. On the downside (for me), I won't be at this one; which looks like it's shaping up quite nicely with a great agenda so if there's a chance of you getting out there then get in there! :-)
  • 3D Video Player in WPF at ContentPresenter.com

    I've called out ContentPresenter before and they've just published a great new video on how to build a 3D video player in WPF. This is using the bits that got posted to CodePlex that allow you to take arbitrary WPF content and use it in a 3D scene, not just as a Visual Brush (i.e. a non-interactive representation) but interactively without having to write any extra code to make it work. I guess the one thing that I was hoping would come in at the end of the scene was how you might work with a more complex mesh than a rectangle because it wasn't clear to me how the mapping between the flat 2D UI piece ( the video player in this case) and the 3D mesh was done if the two didn't have to match up. It'd be great to see whether Blend helps you in that case.
  • Vista Desktop Backgrounds - "Runners Up"

    Some cracking desktop backgrounds up here; http://www.flickr.com/photos/darwishh/sets/72157594510047657/detail/?page=1
  • C# V3.0 and Dynamic Casting?

    In the February CTP of "Orcas" it looks like when you have a piece of code like; static void Main( string [] args) { var v = new { FirstName= "Mike" , LastName= "Taulty" }; } static void Foo( object o) { var w = new { FirstName= "" , LastName= "" }; } then the type that gets created to represent the anonymous type in Main is the same type as the one in Foo. This means that I should really be able to do; w = o; but, as far as I know, that seems like an impossibility because I don't know the name of the type to cast o to (it's anonymous! ). Now, naturally, I think this is the way that nature intended because you're not really meant to know the names of anonymous types and if Foo was in another assembly then I'd guess that we could not expect it to be the same anonymous type as I find in Main but... with all that said - is it possible to cast o in order to assign it to w ? I think "not" but....? I got proved wrong (it's not going to be the last time :-)). I should have picked this up myself as I spent a while thinking...
  • Rightmove and Virtual Earth

    Anyone who knows me will know that I've spent far too long pondering over the state of the UK property market and one of the sites that I use a lot (and I mean a lot) is Rightmove Martin did a cracking job of talking about Windows Live at yesterday's Roadshow and spent quite a lot of time talking about MSN Virtual Earth and how you can build it into your own applications with custom data, pushpins and so on. Lo-and-behold, I notice this morning that Rightmove are now using Virtual Earth from their site in order to provide better (much better) maps than they used to for you to get more info on the property that you're looking at (in road, aerial views and so on). It works really well and you can see them perhaps taking it forward to detail schools, restaurants, etc on the map in the vicinity of the property that you're looking at. From a buyer's perspective I could see the site also offering some really smart location based data such as; Average number of "weeks to sale" in particular streets Average historical...
  • Using Desktops to Switch Presentation/Demo

    Quite often when you're showing stuff to people you've got the 1 laptop and you've got some slides that you want to show and some demo bits and it's a bit painful switching between the 2 (minimising PowerPoint and so on). I wrote a little bit of code that performs basic desktop management so that you can create a few desktops and then just switch between them in order to get that seamless effect of "switching between machines". You could have your demos running on your default desktop and then have your PPT running on a secondary desktop and just flick a key to move between them. The download is here - this is likely a bit flaky as I just wrote it but it works about 95% for me right now. I'll list the problems with it in a moment. If you install ( warning - it installs into your startup group as well right now, feel free to remove after the installation ) you'll get a new application called "Desktop Switching Application" and when you run it you'll get a new little SysTray icon; and from there you can raise a...
  • Can C# V3.0 Please Have the VB9 XML Syntax?

    Here's my online petition. I really like the new VB9 syntax for dealing with XElement and friends in order to construct an XML document. Can we please have that in C# V3.0 as well? :-) Anyone agree? Here's some C# that creates some XML (meant to be RSS but I've not checked that it actually is); feed = new XElement( "rss" , new XAttribute( "version" , "2.0" ), new XElement( "channel" , new XElement( "title" , "Mike's Blog" ), new XElement( "link" , "http://mtaulty.com" ), new XElement( "description" , "Mike's Great Rss Feed" ), from postNumber in new int [] { 1, 2, 3 } select new XElement( "item" , new XElement( "title" , "Post Number " + postNumber.ToString()), new XElement( "link" , "http://mtaulty.com" + postNumber.ToString()), new XElement( "description" , "Description " + postNumber.ToString())))); Here's the corresponding VB; Dim feed As XElement = _ <rss version= "2.0" > <channel> <title>Mike 's Blog</title> <link>http://mtaulty.com</link> <description>Mike 's Great...
  • Desktops and the DWM

    For some reason, the idea of multiple desktops was bubbling around in my head this morning and I suddenly thought "I wonder how this works with the DWM". There's a post here that explains it; http://blogs.msdn.com/cjacks/archive/2006/11/09/a-desktop-of-your-own.aspx Basic answer is that the DWM doesn't run on secondary desktops so you won't get Glass and so on over there.
  • Grouping in LINQ

    Each time I come to it, I find grouping in LINQ a bit odd so I thought I'd drop some code onto this page to try and help me remember it next time around. Using the May CTP, if I've got data; var cars = new [] { new { Make= "BMW" , Model= "1Series" , Colour= "Red" }, new { Make= "BMW" , Model= "3Series" , Colour= "Green" }, new { Make= "BMW" , Model= "5Series" , Colour= "Blue" }, new { Make= "BMW" , Model= "7Series" , Colour= "Green" }, new { Make= "Audi" , Model= "A2" , Colour= "Blue" }, new { Make= "Audi" , Model= "A3" , Colour= "Red" }, new { Make= "Audi" , Model= "A4" , Colour= "Green" }, new { Make= "Audi" , Model= "A6" , Colour= "Blue" }, new { Make= "Audi" , Model= "A8" , Colour= "Red" } }; and I want to group these by make then I can do; var manufacturer = from c in cars group new { c.Model, c.Colour } by c.Make; and the thing that tricks me each time here is that we're producing grouped tuples of; c.Model, c.Colour and we're grouping them by c.Make so that means that the enumeration we'll get back will...
  • UK Architect Insight Conference

    I mentioned this back in November but the UK Architect Insight Conference is getting nearer. Taken from the official site; You’ll be able to engage in the technology debate with thought-provoking in-depth sessions from customer and partner architects along with members of the UK Microsoft Architect Council such as Avanade, Capgemini, Conchango and Solidsoft. The agenda is split into seven tracks covering Enterprise, Real World, Identity, Lifecycle, SaaS, Collaboration and Dynamic Systems; the main content sessions will be 75 or 150 minutes in length to accommodate the different formats and levels of interaction that may be required. There will be an emphasis on architectural ‘investigation’ through the use of small focus groups, as well as a structured networking clinic where individuals from similar vertical business backgrounds can discuss and work through a particular problem domain. The conference runs on the 5th/6th March down in Gwent and the agenda is looking strong - click the button below to register...
  • Nice Movie Playing XBAP

    Here - don't know if there's an English language version of this. When I first played a movie with this I got a weird message from the Firewall asking me if I wanted to unblock a port which I found a bit weird for an XBAP running in its sandbox. I wonder what it was trying to do? I disallowed it and it seemed to work anyway but I think I'll be doing this again to try and figure out what was happening.
  • Groove - Web 3.0 :-)

    Recently, I've been running Groove in an attempt to co-ordinate with other (internal and external) team members who are working on our MSDN Roadshow. My only comment about Groove is why on Earth haven't I been using this before ? I spend a lot of time trying to collaborate across geographical/network/corporate boundaries (e.g. I spend most of my time on my own network rather than on a corporate network) and Groove looks to be exactly what I need. It took about 10 mins (without reading the docs) to get Groove set up and working (worked first time for me as it auto-configured itself from the MS Active Directory) and, whilst I'm only really working with a few of the tools that Groove has, the whole experience has been really positive. When I compare the experience that I get with Groove with the experience that I get from an application such as SharePoint I think it points to the fact that Groove is a step beyond what you get with sharing documents via a website. In many ways, Groove for me is an example of an application...
  • Vista and UAC

    It looks like UAC in Vista is coming under more and more scrutiny. I've seen a lot of links to this post which is technically interesting but doesn't really seem to alter how I was thinking about UAC (i.e. it's an explanation of what I thought I already knew). However, I found this post more interesting and the bit that really made me think was about the part that talks about the binary decision taken for installation programs between "Run as Admin/Don't Run" on Vista versus the slightly more granular option you might have had on XP, i.e. "Run as non-admin even if it fails/Run as Admin/Don't Run". Security's not something that I'd ever say that I focus on but neither would I say that I ignore it and that second post really made me think and hence me highlighting it here.
1 2 Next >