<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">PsiSpace by Simon Middlemiss</title><subtitle type="html" /><id>http://blogs.msdn.com/psiman/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/psiman/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-08-11T11:58:49Z</updated><entry><title>Team Build and Azure</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2009/05/23/team-build-and-azure.aspx" /><id>http://blogs.msdn.com/psiman/archive/2009/05/23/team-build-and-azure.aspx</id><published>2009-05-23T12:46:48Z</published><updated>2009-05-23T12:46:48Z</updated><content type="html">&lt;p&gt;I’m a big fan of Team Build, it keeps the project rhythm going and without it there is no real way of knowing that the code people are checking in works.&amp;#160; It was therefore an easy choice to decide to use it on my current project.&lt;/p&gt;  &lt;p&gt;Normally it does take a bit of time to get the build up and running properly (hopefully something that will be easier in Rosario), but I was a little surprised to see that we were hitting issues with Azure projects.&amp;#160; Whilst an IDE build worked, a Team Build of the same source tree didn’t.&amp;#160; It kept complaining about the source path being to long.&amp;#160; This error kept our build manager struggling for a while as &lt;a href="http://blogs.msdn.com/aaronhallberg/archive/2007/06/20/team-build-and-260-character-paths.aspx"&gt;Team Build is notorious for falling over due to the Windows max path length of 260 characters&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;However we were seeing something really weird.&amp;#160; We were getting recursive copying of our worker role binaries folder.&lt;/p&gt;  &lt;p&gt;In our release folder we had this structure.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:ea2db63c-6c82-4355-9b15-7d0487d3cb81" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#DBDFA2;overflow: visible;"&gt;&lt;span style="color: #000000;"&gt;
\Release\CloudService.csx\roles\worker\CloudService.csx\roles\worker\CloudService.csx\roles\worker…
&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;This carries on until the path length exceeds 260 characters.&lt;/p&gt;

&lt;p&gt;We eventually tracked it down to an issue with ‘CSPack’, a build task that the Azure project type uses to build itself.&lt;/p&gt;

&lt;p&gt;We fired an email off to some people in the Azure product team and got an answer fairly quickly.&lt;/p&gt;

&lt;p&gt;“Team Build flattens the output from each project into the binaries folder, because we build into a sub folder (the .csx one), Team Build recursively copies and flattens the output.”&lt;/p&gt;

&lt;p&gt;We also got a fix.&lt;/p&gt;

&lt;p&gt;By setting the following flag in our tfsbuild.proj file&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:60e35b1c-4b88-4af7-a8b2-3a09a1765164" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#DBDFA2;overflow: auto;"&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
  &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;CustomizableOutDir&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;true&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;CustomizableOutDir&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;our project-specific &lt;em&gt;OutputPath&lt;/em&gt; properties are preserved, the flattening doesn’t happen, and we get a successful Team Build.&amp;#160; A side effect of setting that flag is that nothing ends up in the ‘Binaries’ folder, so nothing ends up in your drops folder.&amp;#160; You can solve this using the following target, again in your tfsbuild.proj file.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:4202357e-0f80-433d-85f4-c7c89aa7a0d3" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#DBDFA2;overflow: auto;"&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Target &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="BeforeDropBuild"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; Condition&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=" '$(IsDesktopBuild)'!='true' "&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
  &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;BuildOutputFilesToCopy &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Include&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="$(SolutionRoot)\My.CloudService\bin\Release\**\*.*"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
  &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;

  &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Copy
    &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;SourceFiles&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="@(BuildOutputFilesToCopy)"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;
    DestinationFiles&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="@(BuildOutputFilesToCopy -&amp;gt;'$(BinariesRoot)\%(RecursiveDir)%(Filename)%(Extension)')"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;
&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Target&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Hope this helps.&amp;#160; Thanks to &lt;a href="http://blogs.msdn.com/haniatassi/"&gt;Hani Atassi&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/stuartmccarthy/"&gt;Stuart McCarthy&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9637059" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Please sponsor me for a walk I didn't know I was doing!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2009/05/05/please-sponsor-me-for-a-walk-i-didn-t-know-i-was-doing.aspx" /><id>http://blogs.msdn.com/psiman/archive/2009/05/05/please-sponsor-me-for-a-walk-i-didn-t-know-i-was-doing.aspx</id><published>2009-05-05T19:19:35Z</published><updated>2009-05-05T19:19:35Z</updated><content type="html">&lt;p&gt;So, &lt;/p&gt;  &lt;p&gt;My wife sent me an email about 6 weeks ago about the sponsored walk she’s doing next weekend to raise awareness / cash for &lt;a href="http://www.fibroaction.org/"&gt;the charity which she is the founder and chairperson of&lt;/a&gt;.&amp;#160; Since she’s my wife and I’m already sponsoring her and helping organize it, I briefly scanned it and sent it to the deleted items folder with nary a second thought.&amp;#160; However, following a recent conversation with said wife, it actually turns out that I should have read that email in a little more detail as apparently, and this came as a shock to me too, &lt;i&gt;I’m doing the walk as well!&lt;/i&gt;&amp;#160; What was even more of a shock was that I already knew about this and had agreed to it.&lt;/p&gt;  &lt;p&gt;So if you like to help me regain a modicum of self-respect, would you please visit &lt;a href="http://www.justgiving.com/lindseymiddlemiss"&gt;this link&lt;/a&gt; and donate / sponsor what you can!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&amp;lt;serious stuff&amp;gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Fibromyalgia is a debilitating condition that affects at least 1-in-50 people in the UK.&amp;#160; It is characterized by chronic widespread pain, hypersensitivity to pain (and other stimuli), chronic fatigue and sleep disturbances.&amp;#160; Worst of all many clinicians believe - despite the ever increasing research, double blind clinical trials and medications licensed specifically for the condition - that it either doesn’t exist or there is no treatment.&amp;#160; The opposite in fact is the case.&amp;#160; “&lt;a href="http://www.fibroaction.org/Pages/What-Is-The-Prognosis.aspx"&gt;Fibromyalgia is eminently treatable&lt;/a&gt;” and an increasing body of evidence shows that it is a Central Nervous System disorder.&lt;/p&gt;  &lt;p&gt;On a personal note this condition has defined much of the last 8 years of mine and my wife’s life.&amp;#160; When I met her she was training for the 2005/06 Volvo Ocean Race;&amp;#160; one of the toughest round the world yacht races there is.&amp;#160; By the end of 2003 she had had to give up work, and at her worst was unable to walk.&amp;#160; She spent 5 years being told by both doctors and charities a like that either that she was making it up or that nothing could be done.&amp;#160; In the end, through a private consultant and a good grasp of the science behind the condition, she found her own help and is now attempting to help the many others who are in the position she was.&lt;/p&gt;  &lt;p&gt;FibroAction has been running for a year and a day today.&amp;#160; In that time they have achieved a significant amount; including getting the NHS to update their information to accurately reflect current medical thinking and getting a debate in Westminster Hall at Parliament.&amp;#160; I encourage you to visit &lt;a href="http://www.fibroaction.org"&gt;www.fibroaction.org&lt;/a&gt; - please forgive any idiosyncrasies with the website, I developed it in my spare time – if you want to find out more.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&amp;lt;/serious stuff&amp;gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Anyhoo.&amp;#160; Thanks for reading.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9589151" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Unify for Expression Blend 2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/12/05/unify-for-expression-blend-2.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/12/05/unify-for-expression-blend-2.aspx</id><published>2008-12-05T20:59:00Z</published><updated>2008-12-05T20:59:00Z</updated><content type="html">&lt;P&gt;Since the Blend Add-In framework came to light I’ve written a couple of utilities that are useful when using Blend, however I found it annoying that I had to close down Blend and re-open it from the command line with different arguments.&lt;/P&gt;
&lt;P&gt;To get around that I’ve written an Add-In manager for Blend that I'm calling ‘Unify’ that allows you to load and configure multiple 3&lt;SUP&gt;rd&lt;/SUP&gt; party add-ins without having to mess around with the command line. &lt;/P&gt;
&lt;P&gt;You can install it from &lt;A href="http://gallery.expression.microsoft.com/Unify" mce_href="http://gallery.expression.microsoft.com/Unify"&gt;here&lt;/A&gt; (thanks to the help I got with WiX from Andy Burns) and I’d be interested in feedback. &lt;/P&gt;
&lt;P&gt;Hopefully something like this will promote the creation of more 3&lt;SUP&gt;rd&lt;/SUP&gt; party and community add-ins (like &lt;A href="http://www.codeplex.com/colorful" mce_href="http://www.codeplex.com/colorful"&gt;Colorful&lt;/A&gt;&amp;nbsp;and &lt;A href="http://www.rhizohm.net/irhetoric/blog/77/default.aspx" mce_href="http://www.rhizohm.net/irhetoric/blog/77/default.aspx"&gt;Blend Intellisense&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;After you’ve installed it there will be a new shortcut in the Microsoft Expression folder underneath ‘All Programs’.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image002_thumb.jpg" width=244 height=75 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;To use it, launch the new shortcut and then, once Blend has loaded, click Tools and select ‘Unify!’ from the menu.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image004_thumb.jpg" width=244 height=226 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This will show a very dull dialog with the list of add-ins you’ve configured. The checkbox indicates whether the add-in will load when Blend launches. To add a new add-in select “Create new AddIn” and navigate to where the add-in assembly is installed. Click ‘Open’ and the add-in will be added to the list and will be loaded.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image006_thumb.jpg" width=230 height=244 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/UnifyforExpressionBlend2_FCC9/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px" class=wlWriterSmartContent&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Unify" rel=tag mce_href="http://technorati.com/tags/Unify"&gt;Unify&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Blend" rel=tag mce_href="http://technorati.com/tags/Blend"&gt;Blend&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Expression" rel=tag mce_href="http://technorati.com/tags/Expression"&gt;Expression&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Add%20in" rel=tag mce_href="http://technorati.com/tags/Add%20in"&gt;Add in&lt;/A&gt;,&lt;A href="http://technorati.com/tags/add-in" rel=tag mce_href="http://technorati.com/tags/add-in"&gt;add-in&lt;/A&gt;,&lt;A href="http://technorati.com/tags/addin" rel=tag mce_href="http://technorati.com/tags/addin"&gt;addin&lt;/A&gt;,&lt;A href="http://technorati.com/tags/kuler" rel=tag mce_href="http://technorati.com/tags/kuler"&gt;kuler&lt;/A&gt;,&lt;A href="http://technorati.com/tags/colorful" rel=tag mce_href="http://technorati.com/tags/colorful"&gt;colorful&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9180430" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author><category term="Development" scheme="http://blogs.msdn.com/psiman/archive/tags/Development/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/psiman/archive/tags/Silverlight/default.aspx" /><category term="Blend" scheme="http://blogs.msdn.com/psiman/archive/tags/Blend/default.aspx" /></entry><entry><title>Publishing WCF web services for Silverlight.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/11/19/publishing-wcf-web-services-for-silverlight.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/11/19/publishing-wcf-web-services-for-silverlight.aspx</id><published>2008-11-19T17:26:00Z</published><updated>2008-11-19T17:26:00Z</updated><content type="html">&lt;p&gt;As a self-confessed crayon wielder I tend not to get involved in the washing machine technology of web services.&amp;#160; I am normally a consumer only and when I do have to write a web service it has only been part of prototypes or proof's of concept.&lt;/p&gt;  &lt;p&gt;The current project I am on required something a little more.&amp;#160; We were required to develop and publish a web service that could be consumed by a Silverlight application from our live site.&lt;/p&gt;  &lt;p&gt;The development process was fairly easy.&lt;/p&gt;  &lt;p&gt;Deployment not so.&lt;/p&gt;  &lt;p&gt;You'll probably have noticed that when developing a WCF service, when you view the service in a browser you get something like this.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_6.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="http://www.localhost:10946/Services/MyService.svc?wsdl" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_thumb_2.png" width="432" height="33" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You'll notice that 'localhost' is returned for the hostname both on the documentation pages and in the WSDL.&lt;/p&gt;  &lt;p&gt;What you may not know is that if you deploy this to a public web service the documentation and WSDL will use the &lt;em&gt;internal&lt;/em&gt; hostname of whatever server you deploy it to.&amp;#160; Which, in our case anyway, wasn't the same as the public hostname. This leads to both a security risk and the web service not working as the wsdl refers to a non-resolvable host.&lt;/p&gt;  &lt;p&gt;We went through loop after loop trying to solve this problem.&amp;#160; Pretty much everyone I spoke to recommended calling a couple of functions exposed by adsutil.vbs which you'll find in the AdminScripts folder under inetpub. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;cscript //nologo %systemdrive%\inetpub\adminscripts\adsutil.vbs set W3SVC/1/ServerBindings &amp;#8220;:80:wwwmydomain.com&amp;#8221;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;cscript //nologo %systemdrive%\inetpub\adminscripts\adsutil.vbs set W3SVC/1/UseHostName false&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It appears that these commands are a legacy from pre-IIS6 as all they seem to do is add a host header to the web site.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As an aside, (and why this article mentions Silverlight) is that just deploying a static WSDL file and pointing the Visual Studio 'Add Service Reference' feature at it from a Silverlight 2 project doesn't manage to create a proxy correctly.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Whilst this works for a single hostname, if, like us, you have a number of redirects (for example different top level domains) pointing to the same site then you need to add a host header for each redirect.&amp;#160; (Or as we found out, one host header for your web service location and an empty host header to cater for the rest - the web service host header needs to be first though)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_12.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_thumb_5.png" width="431" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will lead you to another problem.&amp;#160; WCF services won't work if you have more than one host header.&lt;/p&gt;  &lt;p&gt;There's two ways of solving this.&lt;/p&gt;  &lt;p&gt;First you can &lt;a href="http://blogs.msdn.com/rampo/archive/2007/06/15/supporting-multiple-iis-bindings-per-site.aspx"&gt;add a ServiceHostFactory that strips out the other host headers and only adds the first&lt;/a&gt;. (This works because regardless of the domain that your users come from the location of the service can always be the same). &lt;/p&gt;  &lt;p&gt;Otherwise (if you are using .NET 3.5) you can use the &lt;a href="http://blogs.msdn.com/rampo/archive/2007/06/15/supporting-multiple-iis-bindings-per-site.aspx"&gt;baseAddressPrefixFilters&lt;/a&gt; config section.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_10.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/PublishingWCFwebservicesforSilverlight_C6B3/image_thumb_4.png" width="432" height="90" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c34fde34-c3c4-47a8-8818-f671e7496073" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IIS" rel="tag"&gt;IIS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/hostheader" rel="tag"&gt;hostheader&lt;/a&gt;,&lt;a href="http://technorati.com/tags/servicehostfactory" rel="tag"&gt;servicehostfactory&lt;/a&gt;,&lt;a href="http://technorati.com/tags/baseaddressprefixfilters" rel="tag"&gt;baseaddressprefixfilters&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9124293" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Using ASP.NET to help Fibromyalgia sufferers.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/06/23/using-asp-net-to-help-fibromyalgia-sufferers.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/06/23/using-asp-net-to-help-fibromyalgia-sufferers.aspx</id><published>2008-06-23T15:56:02Z</published><updated>2008-06-23T15:56:02Z</updated><content type="html">&lt;p&gt;It's been a really long time since I did any ASP.NET development (about 2 years) and a lot really has changed over that time!&amp;#160; &lt;/p&gt;  &lt;p&gt;As I've posted about before, my wife has a chronic condition called &lt;a href="http://www.fibroaction.org/Pages/About-Fibro.aspx" target="_blank"&gt;Fibromyalgia (Fibro)&lt;/a&gt; for which there isn't a lot of awareness, even amongst GPs, in the UK.&amp;#160; Despite this she's managed to get her condition under control and is now heading a new national charity (called &lt;a href="http://www.fibroaction.org/" target="_blank"&gt;FibroAction&lt;/a&gt;) to help others with her condtion who haven't been so lucky.&lt;/p&gt;  &lt;p&gt;What this means obviously is that I was volunteered to develop the charity's website.&lt;/p&gt;  &lt;p&gt;Given that all I do these days is Silverlight and WPF, I was a little worried that I'd struggle to remember how all that HTML, CSS and ASP.NET stuff worked.&amp;#160; However I was pleasantly surprised at how easy it was.&lt;/p&gt;  &lt;p&gt;I am very impressed with Expression Web and the new design surface in VS2008, and I love the LinqDataSource, it makes building applications very fast.&lt;/p&gt;  &lt;p&gt;All in, it took me about 3 weeks of playing in the evenings to get a fairly good (if I do say so myself) site that is content managed, allows user registration and should be fairly easy to restyle in the future.&lt;/p&gt;  &lt;p&gt;I also had my first go at making a site search engine optimised.&amp;#160; Having spoken to a couple of colleagues I implemented some really simple solutions.&amp;#160; First off was to kill two birds with one stone.&amp;#160; By making the site accessible it also makes it crawlable.&amp;#160; After that was doing some url-rewriting so that the content managed pages didn't have a nasty query string, but a human readable url.&lt;/p&gt;  &lt;p&gt;To do that, inspect the incoming url (in Application_BeginRequest() of Global.asax) and parse it to determine the type of page.&amp;#160; So for example &lt;/p&gt;  &lt;p&gt;mysite.com/pages/my-page.aspx would get rewritten to mysite.com/serverpages/page.aspx?pageId=1 and mysite.com/articles/my-article.aspx would be rewritten to mysite.com/serverpages/articles.aspx?articleId=1.&lt;/p&gt;  &lt;p&gt;The articleId and pageId are determined by having a calculated column on the database table for articles/pages which is a unique string calculated from the title.&amp;#160; So if you have two pages with a title of &amp;quot;My Page&amp;quot; they would be accessible as /pages/my-page.aspx and /pages/my-page-1.aspx.&amp;#160; All you need to do then is query the page against the calculated column, get page/article id and then rewrite!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New" size="1"&gt;protected void Application_BeginRequest(object sender, EventArgs e)        &lt;br /&gt;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160; if(Request.Path.Contains(&amp;quot;/page/&amp;quot;)         &lt;br /&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;&lt;font face="Courier New" size="1"&gt;&amp;#160; {&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; My&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;DataContext dc = new &lt;font size="1"&gt;&lt;font face="Courier New"&gt;MyDataContext &lt;/font&gt;&lt;/font&gt;();           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // Logic to split title from path&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size="1"&gt;&amp;#160;&amp;#160;&amp;#160; var page = dc.Pages.Single(p =&amp;gt; p.PageTitle == splitTitlePath);        &lt;br /&gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; this.Context.RewritePath(&amp;quot;/ServerPages/Page.aspx?pageId=&amp;quot; + page.PageId);&lt;/font&gt;&lt;font face="Courier New" size="1"&gt;        &lt;br /&gt;&amp;#160;&amp;#160; }         &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f9e889df-b414-4c96-9258-b968f651eca1" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/FibroAction" rel="tag"&gt;FibroAction&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fibro" rel="tag"&gt;Fibro&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fibromyalgia" rel="tag"&gt;Fibromyalgia&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Linq" rel="tag"&gt;Linq&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SEO" rel="tag"&gt;SEO&lt;/a&gt;,&lt;a href="http://technorati.com/tags/url%20rewriting" rel="tag"&gt;url rewriting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/rewritepath" rel="tag"&gt;rewritepath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Medicine%202.0" rel="tag"&gt;Medicine 2.0&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8641924" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Calling all UK Developers - We're hiring!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/03/18/calling-all-uk-developers-we-re-hiring.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/03/18/calling-all-uk-developers-we-re-hiring.aspx</id><published>2008-03-18T14:10:46Z</published><updated>2008-03-18T14:10:46Z</updated><content type="html">&lt;p&gt;The group I work in, Delivery Developer, are, along with others, hiring.&amp;#160; We are looking for developers and leads with excellent consulting skills, a passion for Microsoft technology and drive and determination to deliver successful cutting edge complex projects and POCs as well as engage in short and long term onsite customer engagements and consulting gigs.&lt;/p&gt;  &lt;p&gt;If this sounds like the ideal opportunity to you then check out &lt;a href="http://members.microsoft.com/careers/international/default.aspx?loc=UKD&amp;lang;=EN&amp;amp;job=90429571&amp;amp;newapp=0"&gt;this for the developer consultant position&lt;/a&gt; and &lt;a href="http://members.microsoft.com/careers/international/default.aspx?loc=UKD&amp;lang;=EN&amp;amp;job=90429564&amp;amp;newapp=0"&gt;this for the lead developer consultant position&lt;/a&gt;.&amp;#160; There are also other opportunities available across MCS and other divisions of Microsoft UK which you can check out too.&lt;/p&gt;  &lt;p&gt;Oh and did I mention passion, drive and determination?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8312858" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Tommy the Tungsten Robot</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/03/10/tommy-the-tungsten-robot.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/03/10/tommy-the-tungsten-robot.aspx</id><published>2008-03-10T16:38:15Z</published><updated>2008-03-10T16:38:15Z</updated><content type="html">&lt;p&gt;Through a friend of &lt;a href="http://doctor-frank.livejournal.com/"&gt;mine&lt;/a&gt; I have learned that someone I used to know at university has released a short comedy film about an abandoned robot to promote his production company.&lt;/p&gt;  &lt;p&gt;It's very well made and I laughed lots.&amp;#160; Go watch!&lt;/p&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; display: inline" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:904f0dc8-9a92-4375-8752-58957c81eef4" class="wlWriterSmartContent"&gt;&lt;div id="a4154239-9fb8-40ea-b2be-8c73195cd0b0" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://video.google.com/videoplay?docid=154625725812451434" target="_new"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/TommytheTungstenRobot_BFBE/videof7af1c1ecec8.jpg" galleryimg="no" onload="var downlevelDiv = document.getElementById('a4154239-9fb8-40ea-b2be-8c73195cd0b0'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;embed style=\&amp;quot;width:400px; height:326px;\&amp;quot; id=\&amp;quot;VideoPlayback\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; src=\&amp;quot;http://video.google.com/googleplayer.swf?docId=154625725812451434&amp;amp;hl=en\&amp;quot; flashvars=\&amp;quot;\&amp;quot;&amp;gt; &amp;lt;\/embed&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8131784" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Don't install the latest BBC iPlayer update.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/01/31/don-t-install-the-latest-bbc-iplayer-update.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/01/31/don-t-install-the-latest-bbc-iplayer-update.aspx</id><published>2008-02-01T02:24:00Z</published><updated>2008-02-01T02:24:00Z</updated><content type="html">&lt;P&gt;FYI&lt;/P&gt;
&lt;P&gt;I just started up the BBC iPlayer hoping to get the latest episode of Torchwood and it very nicely asked me if I wanted to install the latest update.&amp;nbsp; Having done so the client no longer starts &lt;A class="" href="http://www.bbc.co.uk/dna/mbiplayer/F7331805" mce_href="http://www.bbc.co.uk/dna/mbiplayer/F7331805"&gt;and it doesn't look like I am the only one&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7361164" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>BETT 2008</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/01/30/bett-2008.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/01/30/bett-2008.aspx</id><published>2008-01-30T17:21:00Z</published><updated>2008-01-30T17:21:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/bett2008_1_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/bett2008_1_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 0px 0px 15px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=180 alt=bett2008_1 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/bett2008_1_thumb.jpg" width=260 align=right border=0 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/bett2008_1_thumb.jpg"&gt;&lt;/A&gt;So one of my New Year's resolutions was to blog more.&amp;nbsp; This is something that is remarkably hard to do being part of Services as much of what we do is for customers and so is bound by non-disclosure and IP agreements.&lt;/P&gt;
&lt;P&gt;However, the project I've just finished isn't such a project.&amp;nbsp; It was a proof of concept to show how high school educators might interact with their students data in the future.&amp;nbsp; It was demonstrated at BETT 2008 earlier this month and garnered quite a bit of interest.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_4.png" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_4.png"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_1_2.png" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_1_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 15px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=212 alt=BSF_FE_1 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_1_thumb.png" width=260 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_1_thumb.png"&gt;&lt;/A&gt;&lt;/A&gt;One of the things I wanted to do differently on this project, it being a POC, was to build something more than just smoke and mirrors.&amp;nbsp; Something which used real data and wasn't that far a leap to imagine as a real product.&lt;/P&gt;
&lt;P&gt;We chose WPF to develop the user interface in.&amp;nbsp; Maybe a bit of a risk as 2/3rds of the development team had no WPF or Blend experience!&amp;nbsp; But having had my first experiences with WPF back in the early days and having seen how much can be achieved with short timescale over and over again, I knew it was the right choice.&lt;/P&gt;
&lt;P&gt;The first image shows the main screen.&amp;nbsp; Here we are plotting the average grade of each student against their attendance with the students in the bottom left being those of most concern.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_6.png" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_6.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 0px 0px 5px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=212 alt=BSF_FE_2 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_thumb_2.png" width=260 align=right border=0 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_2_thumb_2.png"&gt;&lt;/A&gt;We can select those students using a stylus and bring them up for comparison with KPIs displayed and quick indicators of upward or downward change.&amp;nbsp; There is also detail of the conversations that have happened between students and tutors and even add to that conversation.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_3_2.png" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_3_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=212 alt=BSF_FE_3 src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_3_thumb.png" width=260 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BETT2008_146A3/BSF_FE_3_thumb.png"&gt;&lt;/A&gt;At this point it is possible to drill further down into a student and look at their attainment and KPIs in more detail but also to look at risk factors and how a student is responding to any interventions on those risks. &lt;/P&gt;
&lt;P&gt;Overall this project has opened my eyes to the ways in which schools are collecting and using data.&amp;nbsp; Mostly schools are very data rich and very analysis/visualisation poor.&amp;nbsp; Our hope is that projects like this one will help to minimise that divide.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c269ab5d-9604-4895-808e-fb0650ce5d20 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/BETT" rel=tag mce_href="http://technorati.com/tags/BETT"&gt;BETT&lt;/A&gt;,&lt;A href="http://technorati.com/tags/WPF" rel=tag mce_href="http://technorati.com/tags/WPF"&gt;WPF&lt;/A&gt;,&lt;A href="http://technorati.com/tags/BETT%202008" rel=tag mce_href="http://technorati.com/tags/BETT%202008"&gt;BETT 2008&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Education" rel=tag mce_href="http://technorati.com/tags/Education"&gt;Education&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Microsoft" rel=tag mce_href="http://technorati.com/tags/Microsoft"&gt;Microsoft&lt;/A&gt;,&lt;A href="http://technorati.com/tags/MCS" rel=tag mce_href="http://technorati.com/tags/MCS"&gt;MCS&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7327121" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Diamond</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/01/24/diamond.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/01/24/diamond.aspx</id><published>2008-01-24T03:05:13Z</published><updated>2008-01-24T03:05:13Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.diamond.ac.uk/Gallery/LargeImages/Aerial_Oct06_01.htm"&gt;&lt;img style="margin: 0px 10px 0px 0px" height="161" alt="Aerial photo October 2006" src="http://www.diamond.ac.uk/NR/rdonlyres/C3D51D60-DE27-43F1-B9E8-386A03455240/0/Aerial_Oct06_01.jpg" width="240" align="left" border="0" /&gt;&lt;/a&gt;A friend of mine from university, Dr Mark Basham&amp;#160; is a data acquisition scientist at the &lt;a href="http://www.diamond.ac.uk/"&gt;Diamond Light Source&lt;/a&gt;, a 3rd generation synchrotron, built at the Rutherford Appleton Laboratory near Oxford.&amp;#160; As a physics graduate myself I've been itching to get a tour of the place and towards the end of last year I got my wish!&lt;/p&gt;  &lt;p&gt;&lt;img height="150" alt="The Diamond machine" src="http://www.diamond.ac.uk/NR/rdonlyres/FA0F5F7B-C055-457F-AFEB-454249DC2389/0/3D_machine_nos.jpg" align="right" border="0" /&gt;The Diamond complex consists of a linear accelerator (1) which is pretty much a beefed up TV tube.&amp;#160; This fires electrons into the synchrotron (2 - the smaller, inner ring) which accelerates them up to 3 Giga electron Volts (3GeV).&amp;#160; Just to put this into perspective,&amp;#160; during the nuclear fission of a Uranium 235 atom 'only' 210MeV of energy is released (equivalent to 20kilotons of TNT).&amp;#160; &lt;/p&gt;  &lt;p&gt;Once accelerated, they are passed into the storage ring (3 - the larger, outer ring) where they travel at close to the speed of light.&amp;#160; &lt;/p&gt;  &lt;p&gt;Part of why synchrotrons are so cool is that hugely powerful magnets are used to steer the electron beam around the ring and as they pass through these magnets 'synchrotron radiation' is given off in the form of highly energetic x-rays, ultra-violet light and infra-red rays.&amp;#160; It is at these points where the beam lines (4) come in to allow you to do some really exciting science!&lt;/p&gt;  &lt;p&gt;The beam lines are where all the experiments are done.&amp;#160; They are basically a big box (6,7,8) of electronics, mechanics and computers that look through the 'window' through which the synchrotron radiation is emitted.&amp;#160; They are heavily shielded, in some cases with inches of lead, and are very expensive.&amp;#160; If I remember correctly a 'blanking plate' (for those places where beam lines are still to be built) cost over &amp;#163;1/2m!). &lt;/p&gt;  &lt;p&gt;This equipment basically allows the beam to be tuned, processed, attenuated etc so it is correct for the current sample.&amp;#160; &lt;/p&gt;  &lt;p&gt;The samples are what this entire place is about.&amp;#160; They can be anything you can think of, viruses, plastics, alloys or even chocolate. &lt;/p&gt;  &lt;p&gt;The beam line that Mark works on has a multi-axis (like 50 or something) robotic sample container which allows the material being analysed to be swivelled, rotated, translated in various directions at high speed and high precision.&lt;/p&gt;  &lt;p&gt;The accelerator and the storage ring operate in close to vacuum conditions, but it is impossible to remove all of the atmosphere.&amp;#160; This means periodically an electron will strike a stray atom, causing particles to veer off on random trajectories.&amp;#160; If one of these particles collides with the casing it is likely to cause another particle to be ejected, and so-on and so-on until the energy from the initial collision is dissipated.&amp;#160; This is called a 'resonance cascade'.&lt;/p&gt;  &lt;p&gt;Yes.&amp;#160; I have a friend who has a PhD in theoretical physics and who works at a particle accelerator facility which experiences 'permanent resonance cascade reactions'.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://img.photobucket.com/albums/v437/drfrank/MarkCrowbar.jpg"&gt;&lt;img style="margin: 0px 10px 0px 0px" height="69" alt="Vital equipment for working at Diamond" src="http://img.photobucket.com/albums/v437/drfrank/MarkCrowbar.jpg" width="227" align="left" border="0" /&gt;&lt;/a&gt;Just to be on the safe side he's got this on his desk...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;...can you spot it?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://photobucket.com"&gt;&lt;img height="313" alt="It&amp;#39;s a crowbar!" src="http://img.photobucket.com/albums/v437/drfrank/CrowbarInDiamond.jpg" width="417" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7213418" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Yellow and Black Ball and Auction</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2008/01/23/yellow-and-black-ball-and-auction.aspx" /><id>http://blogs.msdn.com/psiman/archive/2008/01/23/yellow-and-black-ball-and-auction.aspx</id><published>2008-01-24T01:53:37Z</published><updated>2008-01-24T01:53:37Z</updated><content type="html">&lt;p&gt;My wife and I are organising a &amp;#8216;Yellow and Black Ball&amp;#8217; and Charity Auction to raise awareness for a debilitating neurological condition, which my wife suffers from, called &amp;#8216;Fibromyalgia&amp;#8217;. It affects between 1.2 and 2.7 million people in the UK and yet hardly anyone has heard of it.&lt;/p&gt;  &lt;p&gt;The ball and auction are taking place at the Royal Thames Yacht club in Knightsbridge, London on the 10&lt;sup&gt;th&lt;/sup&gt; May 2008.&lt;/p&gt;  &lt;p&gt;This is to tie in with International Fibromyalgia Awareness Day and also the launch of the &amp;#8216;Polkadotgals&amp;#8217; 2009 Calendar, featuring tastefully shot nude photos, volunteers for which include celebrities, Olympians, suffers and carers including a certain Microsoft employee...&lt;/p&gt;  &lt;p&gt;We are looking for items to add to the auction, not necessarily expensive, but unique. For example the current headline item is a day&amp;#8217;s sailing for 8 on one of Andrew Pindar&amp;#8217;s round the world yachts.&lt;/p&gt;  &lt;p&gt;If anyone has any ideas or is interested in finding out more, &lt;a href="mailto:simon.middlemiss@microsoft.com"&gt;please could you get in touch with myself&lt;/a&gt; or my &lt;a href="mailto:lindseymiddlemiss@hotmail.co.uk"&gt;wife&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;More information can be found &lt;a href="http://linzworld.wordpress.com/national-campaigns/fibromyalgia-awareness-fundraising-ball-auction"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8b01908f-a720-4bdf-a813-0434d5d40557" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Fibromyalgia" rel="tag"&gt;Fibromyalgia&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FM" rel="tag"&gt;FM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FMAUK" rel="tag"&gt;FMAUK&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Polkadotgals" rel="tag"&gt;Polkadotgals&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Yellow%20and%20Black%20Ball" rel="tag"&gt;Yellow and Black Ball&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FMS" rel="tag"&gt;FMS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Awareness" rel="tag"&gt;Awareness&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7213067" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>T5M : A cool Silverlight 1.0 site</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2007/12/01/t5m-a-cool-silverlight-1-0-site.aspx" /><id>http://blogs.msdn.com/psiman/archive/2007/12/01/t5m-a-cool-silverlight-1-0-site.aspx</id><published>2007-12-01T16:28:00Z</published><updated>2007-12-01T16:28:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://www.t5m.com/" mce_href="http://www.t5m.com/"&gt;www.t5m.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I've been working on this site for the past 3 months and it went into beta last night.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Watch this space for&amp;nbsp;more details!!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6630312" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author><category term="T5M" scheme="http://blogs.msdn.com/psiman/archive/tags/T5M/default.aspx" /><category term="Silverlight" scheme="http://blogs.msdn.com/psiman/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Check-in fails due to locked file when no files are locked on TFS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2007/10/25/check-in-fails-due-to-locked-file-when-no-files-are-locked.aspx" /><id>http://blogs.msdn.com/psiman/archive/2007/10/25/check-in-fails-due-to-locked-file-when-no-files-are-locked.aspx</id><published>2007-10-25T16:35:00Z</published><updated>2007-10-25T16:35:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/Checkinfailsduetolockedfilewhennofilesar_CD1D/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/Checkinfailsduetolockedfilewhennofilesar_CD1D/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=355 alt=image src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/Checkinfailsduetolockedfilewhennofilesar_CD1D/image_thumb.png" width=222 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/Checkinfailsduetolockedfilewhennofilesar_CD1D/image_thumb.png"&gt;&lt;/A&gt;We've seen this issue a couple of times with the project I'm on currently.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;When I saw it the cause seemed to be that I'd added a folder and then moved or renamed it before checking in, although I don't know if this is true in all cases.&lt;/P&gt;
&lt;P&gt;If you see this issue then luckily there is a simple work around.&lt;/P&gt;
&lt;P&gt;All you need to do is check in from the source control tree instead of the Pending Changes window and all should be fine.&lt;/P&gt;
&lt;P&gt;(Right click on the tree root and click 'Check &lt;U&gt;I&lt;/U&gt;n Pending Changes' or Select the tree root and press 'App Key + I')&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5668300" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Step in a little deeper</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2007/10/03/step-in-a-little-deeper.aspx" /><id>http://blogs.msdn.com/psiman/archive/2007/10/03/step-in-a-little-deeper.aspx</id><published>2007-10-03T19:00:21Z</published><updated>2007-10-03T19:00:21Z</updated><content type="html">&lt;p&gt;Yesterday Microsoft announced that it is &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;releasing the source code for .NET Framework libraries under the Microsoft Reference License.&lt;/em&gt;&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;More importantly (to developers anyway) is that a new feature of Visual Studio 2008 will allow debugging not only into your own code but also to step into .NET Framework source code!&lt;/p&gt; &lt;p&gt;The release will include the Base Class Libraries, Windows Forms, ASP.NET, System.Data and my favourite bit, WPF.&lt;/p&gt; &lt;p&gt;So obviously that doesn't include the entire framework, that's because each library needs to be subject to a code review so, as time allows, expect to see more of the Framework released under the license.&lt;/p&gt; &lt;p&gt;It's probably worthwhile noting what the license covers.&amp;nbsp; The reference license means you can view the source code but not modify it or redistribute it, and the source code will be downloadable by anyone who accepts the license agreement.&lt;/p&gt; &lt;p&gt;The really cool bit about this is the workflow.&amp;nbsp; When you are in a debugging session and you want to step into Framework code, the debugger queries a remote server for the version of the symbols that match the binaries used in the application being debugged.&amp;nbsp; If it finds the correct version, it downloads the source files on-demand.&amp;nbsp; This is the same workflow for all source code that will be added in the future, whether managed, unmanaged, 32-bit 64-bit, desktop, mobile etc!&lt;/p&gt; &lt;p&gt;Check out &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx"&gt;ScottGu's&lt;/a&gt; blog for me information!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5272400" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author></entry><entry><title>Back at Cowes</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/psiman/archive/2007/08/11/back-at-cowes.aspx" /><id>http://blogs.msdn.com/psiman/archive/2007/08/11/back-at-cowes.aspx</id><published>2007-08-11T13:58:49Z</published><updated>2007-08-11T13:58:49Z</updated><content type="html">&lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020713.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="180" alt="P1020713" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020713_thumb.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt;  &lt;p&gt;So it's the end of &lt;a href="http://www.skandiacowesweek.co.uk"&gt;Skandia Cowes Week 2007&lt;/a&gt;, and the fact that I'm only blogging now means it's been busier&amp;nbsp;than I expected.&amp;nbsp; I've only done some minor changes this year, fixed bugs, completely re-skinned the UI and replaced the data layer with Linq-to-SQL, oh, and attempted to introduce a computerised reporting system.&lt;/p&gt; &lt;p&gt;Adding Linq was a breeze, it took about 2 days in total, and has increased data access speed about 4 fold over using ADO datasets.&amp;nbsp; Most of that will be due to the inefficiencies in my original code, but still, impressive.&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020692.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 10px 0px 0px 10px; border-right-width: 0px" height="180" alt="P1020692" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020692_thumb.jpg" width="240" align="right" border="0"&gt;&lt;/a&gt;What was also a breeze was refining the user interface to the CourseSetter.&amp;nbsp; Because everything was defined using styles and templates it again took a couple of days to improve on my blue gel mess from the previous year.&amp;nbsp; You can actually read all the text now!&amp;nbsp; The final thing I mentioned was attempting to use electronic reporting.&amp;nbsp; Currently everything is printed and because we get position updates on a minute-by-minute basis those paper reports get out of date very quickly.&amp;nbsp; I think I attempted to push the technology too far to quickly however as paper ruled once again this year!&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020685.jpg" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="189" alt="P1020685" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020685_thumb.jpg" width="240" align="left" border="0"&gt;&lt;/a&gt;There are a couple of cool photos I've taken this week that I wanted to share, the first is Dame Ellen MacArthur being shown&amp;nbsp;around&amp;nbsp;the Royal Yacht Squadron platform; where&amp;nbsp;we run race operations from.&amp;nbsp; The second, and my favourite, is of two race officers using the system.&amp;nbsp; The guy smiling is&amp;nbsp;Ian Lallow and behind him Jonathan Peel*.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Jonathan spent most of last year being very afraid of the new computer system, in fact he insisted on using the pin and string boards and having my wife, Lindsey, input the course for him.&amp;nbsp; This year Lindsey spent a some time showing him how the system worked and he took to it like a duck to water.&amp;nbsp; &lt;a href="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020769.jpg" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="180" alt="P1020769" src="http://blogs.msdn.com/blogfiles/psiman/WindowsLiveWriter/BackatCowes_A85D/P1020769_thumb.jpg" width="240" align="right" border="0"&gt;&lt;/a&gt;So confident did Jonathan seem that Ian, a technophobe** and proud of it, sought his instruction, and so student became teacher.&amp;nbsp; It's technology actually providing a service which even the most reluctant can get behind that keeps me in this business.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Along with the excitement yesterday as we tracked the only 6 fleets that got a race, watching as, time-after-time, the first boats in each class rounded their marks within seconds of their predicted times, that photo sums up why I invested the time and energy that I did in this project. &lt;/p&gt; &lt;p&gt;*Jonathan slipped and fractured his shoulder the day following that photo, best wishes to him in his recovery.&lt;/p&gt; &lt;p&gt;&amp;nbsp;**He is rumoured to have his wife print his email out so he can read it.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4333949" width="1" height="1"&gt;</content><author><name>SimonMiddlemiss</name><uri>http://blogs.msdn.com/members/SimonMiddlemiss.aspx</uri></author><category term="Skandia Cowes Week" scheme="http://blogs.msdn.com/psiman/archive/tags/Skandia+Cowes+Week/default.aspx" /><category term="WPF" scheme="http://blogs.msdn.com/psiman/archive/tags/WPF/default.aspx" /><category term="Sailing" scheme="http://blogs.msdn.com/psiman/archive/tags/Sailing/default.aspx" /></entry></feed>