<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7085364525717171484</id><updated>2012-02-01T05:20:12.267-08:00</updated><category term='c#'/><category term='Visual Studio 2008'/><category term='NxtGenUG'/><category term='Oslo'/><category term='WCF'/><category term='speaking'/><category term='Back to Basics'/><category term='TFS'/><category term='orcas'/><category term='Tools'/><category term='Silverlight 2.0'/><category term='SQL Server 2005'/><category term='Silverlight 1.1'/><category term='asp.net 2.0'/><category term='Windows Azure'/><category term='F#'/><category term='Azure'/><category term='c# 3.0'/><category term='Silverlight'/><title type='text'>.NET, Silverlight, Windows Azure, and other ramblings (from the UK)</title><subtitle type='html'>My ramblings in Silverlight, Windows Azure, .NET, ASP.NET, C# (all the way from the UK)

A little place where i can store the snippets of information, which usually get lost in my tiny little brain, and will now forever remain enshrined in the google archives forever.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default?start-index=101&amp;max-results=100'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>358</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4354008018125793010</id><published>2010-11-26T06:24:00.001-08:00</published><updated>2010-11-26T06:24:40.827-08:00</updated><title type='text'>Back to Blogging</title><content type='html'>&lt;p&gt;I think it’s fair to say that I’ve pretty much done zero blogging in the past year and a half.&lt;/p&gt;  &lt;p&gt;The reasons are pretty simple.&amp;#160; I’ve been snowed under between work and my book &lt;a href="http://manning.com/hay" target="_blank"&gt;Azure in Action&lt;/a&gt;.&amp;#160; I’m pleased to say that I’ve got a lot to say, and some of my time has been freed up.&amp;#160; So I should get back to blogging.&lt;/p&gt;  &lt;p&gt;All my blogging will now take place at &lt;a href="http://blog.chrishayuk.com/"&gt;http://blog.chrishayuk.com/&lt;/a&gt;&amp;#160; rather than &lt;a href="http://silverlightuk.blogspot.com"&gt;http://silverlightuk.blogspot.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The reason is that I don’t want my blog just to be about Silverlight, got lots more to talk about&lt;/p&gt;  &lt;p&gt;Cheers&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4354008018125793010?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4354008018125793010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4354008018125793010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4354008018125793010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4354008018125793010'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2010/11/back-to-blogging.html' title='Back to Blogging'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1380827021307780494</id><published>2009-09-09T15:22:00.001-07:00</published><updated>2009-09-09T15:22:04.754-07:00</updated><title type='text'>Roadtrip and Deep Fried Bytes</title><content type='html'>&lt;p&gt;I just offered to do a family favor which means I will be taking a roadtrip up to the north of Scotland via my parents next week.&amp;#160; I have to admit I’m really looking forward to the drive and a small break from the book :)&lt;/p&gt;  &lt;p&gt;I’m gonna load up my iPhone with the backlog of &lt;a href="http://deepfriedbytes.com/"&gt;Deep Fried Bytes episodes&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you haven’t checked it out, it really is an awesome podcast show.&amp;#160; I’ve listened to the first 4 episodes so far and they are just great.&amp;#160; The shows are particularly cool for me as I hung out with one of the hosts (Keith Elder) and many of the guests at Nashville.&amp;#160; I’m especially looking forward to listening to the Devlink podcast, which is just out.&lt;/p&gt;  &lt;p&gt;So far I’ve listened to the interview war stories (awesome), twitter podcast (very good), digg interview (really cool, nice to hear a non .net perspective), and the developing .net on a mac episode (again awesome episode).&amp;#160; I’m incredibly impressed with the diversity off the podcast and really looking forward to listening to more on the trip.&lt;/p&gt;  &lt;p&gt;This show is just as good as DNR or Hanselminutes but has a bit of a different flavor (a deep fried one even), if you haven’t checked it out yet, do it now.&amp;#160; Listening to the show on the way to Scotland is obviously appropriate with it being the land of the Deep Fried Mars bar, Pizza and well anything really.&lt;/p&gt;  &lt;p&gt;Obviously looking forward to spending a little time with my family, I don’t think I’ve been back across the border in a while now.&amp;#160; So will be nice to see how much my accent digresses back to it’s Scottish roots :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1380827021307780494?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1380827021307780494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1380827021307780494' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1380827021307780494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1380827021307780494'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/09/roadtrip-and-deep-fried-bytes.html' title='Roadtrip and Deep Fried Bytes'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-53316719681322677</id><published>2009-08-31T08:59:00.001-07:00</published><updated>2009-08-31T08:59:41.044-07:00</updated><title type='text'>Silverlight: Offline talk at Devlink</title><content type='html'>&lt;p&gt;I just want to say a big thanks to everyone who came to my session at Devlink.&amp;#160; I had an absolutely fantastic time and I really enjoyed presenting this session to you guys.&lt;/p&gt;  &lt;p&gt;I really felt that this session was more than just a presentation but also a conversation and I thank you for participating in it with me.&lt;/p&gt;  &lt;p&gt;I really hope to return to Devlink next year (and other U.S. Conferences) so I hope to see you again.&amp;#160; I will post up my Devlink experiences later on this week hopefully.&lt;/p&gt;  &lt;p&gt;Again, a big thank you for coming to my talk and &lt;a href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/devlink/devlink.zip" target="_blank"&gt;the slides and demo code are available from here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-53316719681322677?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/53316719681322677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=53316719681322677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/53316719681322677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/53316719681322677'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/08/silverlight-offline-talk-at-devlink.html' title='Silverlight: Offline talk at Devlink'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2340809623991306827</id><published>2009-08-30T16:14:00.001-07:00</published><updated>2009-08-30T16:14:19.522-07:00</updated><title type='text'>SQL Azure Database Session Database</title><content type='html'>&lt;p&gt;Ok, so here is the good news and the bad news.&lt;/p&gt;  &lt;p&gt;The good news is that I created my SQL Azure Session Database Script (from hacking InstallPersistSQLState.SQL) you can’t use InstallSQLState.sql as it uses tempdb.&lt;/p&gt;  &lt;p&gt;The bad news is that to make it work you need to create a custom session provider (no easy task).&amp;#160; You need a custom provider as the SQL Session Provider needs to use the @@ parameter in the GetMajorVersion Stored Procedure which SQL Azure database doesn’t support.&amp;#160; I also haven’t tested this script, so use at your own risk&lt;/p&gt;  &lt;p&gt;I am realizing I don’t have time to write the provider at the moment as I am still in the middle of writing my “Azure in Action” book (along with Brian Prince), so here is the script for the database.&lt;/p&gt;  &lt;p&gt;All you need to do is Create a Database in SQL Azure called ASPState and run this script.&lt;/p&gt;  &lt;p&gt;/*********************************************************************    &lt;br /&gt;&amp;#160; InstallPersistSqlState.SQL&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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; Installs the tables, and stored procedures necessary for&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; supporting ASP.NET session state.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160; Copyright Microsoft, Inc.    &lt;br /&gt;&amp;#160; All Rights Reserved.     &lt;br /&gt;&amp;#160; Modified by chrishayuk to work in SQL Azure Database     &lt;br /&gt;&amp;#160; P.S. You will need a worker role or console session to clean up expired sessions &lt;/p&gt;  &lt;p&gt;*********************************************************************/ &lt;/p&gt;  &lt;p&gt;--SET QUOTED_IDENTIFIER OFF    &lt;br /&gt;--GO     &lt;br /&gt;--SET ANSI_NULLS ON     &lt;br /&gt;--GO &lt;/p&gt;  &lt;p&gt;PRINT ''    &lt;br /&gt;PRINT '------------------------------------------------'     &lt;br /&gt;PRINT 'Starting execution of InstallPersistSqlState.SQL'     &lt;br /&gt;PRINT '------------------------------------------------'     &lt;br /&gt;PRINT ''     &lt;br /&gt;PRINT '--------------------------------------------------'     &lt;br /&gt;PRINT 'Note:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;PRINT 'This file is included for backward compatibility&amp;#160; '     &lt;br /&gt;PRINT 'only.&amp;#160; You should use aspnet_regsql.exe to install'     &lt;br /&gt;PRINT 'and uninstall SQL session state.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;PRINT ''     &lt;br /&gt;PRINT 'Run ''aspnet_regsql.exe -?'' for details.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; '     &lt;br /&gt;PRINT '--------------------------------------------------'     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/ &lt;/p&gt;  &lt;p&gt;-- chrishayuk -- Commented out the creation of the database    &lt;br /&gt;--/* Create and populate the session state database */     &lt;br /&gt;--IF DB_ID(N'ASPState') IS NULL BEGIN     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; DECLARE @cmd nvarchar(500)     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; SET @cmd = N'CREATE DATABASE [ASPState]'     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; EXEC(@cmd)     &lt;br /&gt;--END&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;--GO &lt;/p&gt;  &lt;p&gt;/* Drop all tables, startup procedures, stored procedures and types. */ &lt;/p&gt;  &lt;p&gt;/* Drop the DeleteExpiredSessions_Job */ &lt;/p&gt;  &lt;p&gt;-- chrishayuk -- Commented out the dropping of the DeleteExpiredSessions Job    &lt;br /&gt;--DECLARE @jobname nvarchar(200)     &lt;br /&gt;--SET @jobname = N'ASPState' + '_Job_DeleteExpiredSessions'     &lt;br /&gt;-- Delete the [local] job     &lt;br /&gt;-- We expected to get an error if the job doesn't exist.     &lt;br /&gt;--PRINT 'If the job does not exist, an error from msdb.dbo.sp_delete_job is expected.'     &lt;br /&gt;--EXECUTE msdb.dbo.sp_delete_job @job_name = @jobname     &lt;br /&gt;--GO &lt;/p&gt;  &lt;p&gt;DECLARE @sstype nvarchar(128)    &lt;br /&gt;SET @sstype = N'sstype_persisted' &lt;/p&gt;  &lt;p&gt;IF UPPER(@sstype) = 'SSTYPE_TEMP' AND OBJECT_ID(N'dbo.ASPState_Startup', 'P') IS NOT NULL BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE dbo.ASPState_Startup     &lt;br /&gt;END&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;IF OBJECT_ID(N'dbo.ASPStateTempSessions','U') IS NOT NULL BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP TABLE dbo.ASPStateTempSessions     &lt;br /&gt;END &lt;/p&gt;  &lt;p&gt;IF OBJECT_ID(N'dbo.ASPStateTempApplications','U') IS NOT NULL BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP TABLE dbo.ASPStateTempApplications     &lt;br /&gt;END &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'GetMajorVersion') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].GetMajorVersion     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'CreateTempTables') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].CreateTempTables     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetVersion') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetVersion     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'GetHashCode') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].GetHashCode     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetAppID') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetAppID     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItem') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItem     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItem2') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItem2     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItem3') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItem3     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItemExclusive') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItemExclusive     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItemExclusive2') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItemExclusive2     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempGetStateItemExclusive3') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempGetStateItemExclusive3     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempReleaseStateItemExclusive') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempReleaseStateItemExclusive     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempInsertUninitializedItem') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempInsertUninitializedItem     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempInsertStateItemShort') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempInsertStateItemShort     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempInsertStateItemLong') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempInsertStateItemLong     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempUpdateStateItemShort') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempUpdateStateItemShort     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempUpdateStateItemShortNullLong') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempUpdateStateItemShortNullLong     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempUpdateStateItemLong') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempUpdateStateItemLong     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempUpdateStateItemLongNullShort') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempUpdateStateItemLongNullShort     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempRemoveStateItem') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempRemoveStateItem     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'TempResetTimeout') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].TempResetTimeout     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;IF (EXISTS (SELECT name FROM sys.objects WHERE (name = N'DeleteExpiredSessions') AND (type = 'P')))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DROP PROCEDURE [dbo].DeleteExpiredSessions     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE dbo.TempGetVersion    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @ver&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; char(10) OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT @ver = '2'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE dbo.GetMajorVersion    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @ver int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;BEGIN     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @ver = 10     &lt;br /&gt;END     &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE dbo.CreateTempTables    &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CREATE TABLE [ASPState].dbo.ASPStateTempSessions (     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88)&amp;#160;&amp;#160;&amp;#160; NOT NULL PRIMARY KEY,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Created&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datetime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL DEFAULT GETUTCDATE(),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Expires&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datetime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datetime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datetime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockCookie&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort&amp;#160;&amp;#160;&amp;#160; varbinary(7000) NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemLong&amp;#160;&amp;#160;&amp;#160;&amp;#160; varbinary(max)&amp;#160; NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flags&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL DEFAULT 0,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; CREATE NONCLUSTERED INDEX Index_Expires ON [ASPState].dbo.ASPStateTempSessions(Expires) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; CREATE TABLE [ASPState].dbo.ASPStateTempApplications (    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AppId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL PRIMARY KEY,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AppName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; char(280)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; CREATE NONCLUSTERED INDEX Index_AppName ON [ASPState].dbo.ASPStateTempApplications(AppName) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0    &lt;br /&gt;GO&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/ &lt;/p&gt;  &lt;p&gt;CREATE PROCEDURE dbo.GetHashCode    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @input varchar(280),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @hash int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; /*     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; This sproc is based on this C# hash function: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int GetHashCode(string s)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &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; int&amp;#160;&amp;#160;&amp;#160;&amp;#160; hash = 5381;     &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; int&amp;#160;&amp;#160;&amp;#160;&amp;#160; len = s.Length; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for (int i = 0; i &amp;lt; len; i++) {    &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int&amp;#160;&amp;#160;&amp;#160;&amp;#160; c = Convert.ToInt32(s[i]);     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; hash = ((hash &amp;lt;&amp;lt; 5) + hash) ^ c;     &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;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return hash;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; However, SQL 7 doesn't provide a 32-bit integer    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; type that allows rollover of bits, we have to     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divide our 32bit integer into the upper and lower     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 16 bits to do our calculation.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @hi_16bit&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @lo_16bit&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @hi_t&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @lo_t&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @len&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @i&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @c&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @carry&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SET @hi_16bit = 0    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @lo_16bit = 5381     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @len = DATALENGTH(@input)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @i = 1     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHILE (@i &amp;lt;= @len)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; BEGIN     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @c = ASCII(SUBSTRING(@input, @i, 1)) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* Formula:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; hash = ((hash &amp;lt;&amp;lt; 5) + hash) ^ c */ &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* hash &amp;lt;&amp;lt; 5 */    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_t = @hi_16bit * 32 /* high 16bits &amp;lt;&amp;lt; 5 */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_t = @hi_t &amp;amp; 0xFFFF /* zero out overflow */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @lo_t = @lo_16bit * 32 /* low 16bits &amp;lt;&amp;lt; 5 */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @carry = @lo_16bit &amp;amp; 0x1F0000 /* move low 16bits carryover to hi 16bits */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @carry = @carry / 0x10000 /* &amp;gt;&amp;gt; 16 */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_t = @hi_t + @carry     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_t = @hi_t &amp;amp; 0xFFFF /* zero out overflow */ &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* + hash */    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @lo_16bit = @lo_16bit + @lo_t     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_16bit = @hi_16bit + @hi_t + (@lo_16bit / 0x10000)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* delay clearing the overflow */ &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* ^c */    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @lo_16bit = @lo_16bit ^ @c &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* Now clear the overflow bits */&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_16bit = @hi_16bit &amp;amp; 0xFFFF     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @lo_16bit = @lo_16bit &amp;amp; 0xFFFF &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @i = @i + 1    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; END &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /* Do a sign extension of the hi-16bit if needed */    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IF (@hi_16bit &amp;amp; 0x8000 &amp;lt;&amp;gt; 0)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @hi_16bit = 0xFFFF0000 | @hi_16bit &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; /* Merge hi and lo 16bit back together */    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @hi_16bit = @hi_16bit * 0x10000 /* &amp;lt;&amp;lt; 16 */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @hash = @hi_16bit | @lo_16bit &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0    &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; CREATE PROCEDURE dbo.TempGetAppID     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @appName&amp;#160;&amp;#160;&amp;#160; varchar(280),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @appId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int OUTPUT     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @appName = LOWER(@appName)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @appId = NULL &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SELECT @appId = AppId    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FROM [ASPState].dbo.ASPStateTempApplications     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE AppName = @appName &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; IF @appId IS NULL BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN TRAN&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SELECT @appId = AppId    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM [ASPState].dbo.ASPStateTempApplications WITH (TABLOCKX)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHERE AppName = @appName     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF @appId IS NULL     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BEGIN     &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; EXEC GetHashCode @appName, @appId OUTPUT     &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; INSERT [ASPState].dbo.ASPStateTempApplications     &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; VALUES     &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; (@appId, @appName)     &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; IF @@ERROR = 2627     &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; BEGIN     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DECLARE @dupApp varchar(280)     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SELECT @dupApp = RTRIM(AppName)     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM [ASPState].dbo.ASPStateTempApplications     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WHERE AppId = @appId     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.',     &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 18, 1, @appName, @dupApp)     &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; END     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; COMMIT    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; END &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItem     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockDate&amp;#160;&amp;#160; datetime OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockDate = LockDateLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE @locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE @locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE @locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItem2     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockAge&amp;#160;&amp;#160;&amp;#160; int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockAge = DATEDIFF(second, LockDate, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE @locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE @locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE @locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO&lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItem3     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockAge&amp;#160;&amp;#160;&amp;#160; int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @actionFlags int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockAge = DATEDIFF(second, LockDate, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE @locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE @locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE @locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END, &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* If the Uninitialized flag (0x1) if it is set,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; remove it and return InitializeItem (0x1) in actionFlags */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flags = CASE     &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; WHEN (Flags &amp;amp; 1) &amp;lt;&amp;gt; 0 THEN (Flags &amp;amp; ~1)     &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; ELSE Flags     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @actionFlags = CASE     &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; WHEN (Flags &amp;amp; 1) &amp;lt;&amp;gt; 0 THEN 1     &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; ELSE 0     &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; END     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItemExclusive     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockDate&amp;#160;&amp;#160; datetime OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate = CASE Locked     &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; WHEN 0 THEN @now     &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; ELSE LockDate     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockDate = LockDateLocal = CASE Locked     &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; WHEN 0 THEN @nowLocal     &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; ELSE LockDateLocal     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie = CASE Locked     &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; WHEN 0 THEN LockCookie + 1     &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; ELSE LockCookie     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE Locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE Locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE Locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 1     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItemExclusive2     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockAge&amp;#160;&amp;#160;&amp;#160; int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate = CASE Locked     &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; WHEN 0 THEN @now     &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; ELSE LockDate     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal = CASE Locked     &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; WHEN 0 THEN @nowLocal     &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; ELSE LockDateLocal     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockAge = CASE Locked     &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; WHEN 0 THEN 0     &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; ELSE DATEDIFF(second, LockDate, @now)     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie = CASE Locked     &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; WHEN 0 THEN LockCookie + 1     &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; ELSE LockCookie     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE Locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE Locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE Locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 1     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempGetStateItemExclusive3     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000) OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @locked&amp;#160;&amp;#160;&amp;#160;&amp;#160; bit OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockAge&amp;#160;&amp;#160;&amp;#160; int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int OUTPUT,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @actionFlags int OUTPUT     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @textptr AS varbinary(max)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @length AS int     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate = CASE Locked     &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; WHEN 0 THEN @now     &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; ELSE LockDate     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal = CASE Locked     &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; WHEN 0 THEN @nowLocal     &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; ELSE LockDateLocal     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockAge = CASE Locked     &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; WHEN 0 THEN 0     &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; ELSE DATEDIFF(second, LockDate, @now)     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie = LockCookie = CASE Locked     &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; WHEN 0 THEN LockCookie + 1     &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; ELSE LockCookie     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort = CASE Locked     &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; WHEN 0 THEN SessionItemShort     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @textptr = CASE Locked     &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; WHEN 0 THEN SessionItemLong     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @length = CASE Locked     &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; WHEN 0 THEN DATALENGTH(SessionItemLong)     &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; ELSE NULL     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @locked = Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 1, &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* If the Uninitialized flag (0x1) if it is set,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; remove it and return InitializeItem (0x1) in actionFlags */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flags = CASE     &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; WHEN (Flags &amp;amp; 1) &amp;lt;&amp;gt; 0 THEN (Flags &amp;amp; ~1)     &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; ELSE Flags     &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; END,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @actionFlags = CASE     &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; WHEN (Flags &amp;amp; 1) &amp;lt;&amp;gt; 0 THEN 1     &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; ELSE 0     &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; END     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempReleaseStateItemExclusive     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, GETUTCDATE()),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 0     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempInsertUninitializedItem     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; INSERT [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (SessionId,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Expires,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockCookie,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flags)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; VALUES     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (@id,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DATEADD(n, @timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @now,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @nowLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempInsertStateItemShort     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; INSERT [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (SessionId,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Expires,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockCookie)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; VALUES     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (@id,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DATEADD(n, @timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @now,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @nowLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0    &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempInsertStateItemLong     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemLong&amp;#160;&amp;#160; varbinary(max),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @nowLocal AS datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @nowLocal = GETDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; INSERT [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (SessionId,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemLong,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Expires,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDate,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockDateLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LockCookie)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; VALUES     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (@id,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemLong,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DATEADD(n, @timeout, @now),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @now,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @nowLocal,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempUpdateStateItemShort     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, @timeout, GETUTCDATE()),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort = @itemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout = @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 0     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempUpdateStateItemShortNullLong     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemShort&amp;#160; varbinary(7000),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, @timeout, GETUTCDATE()),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort = @itemShort,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemLong = NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout = @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 0     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0    &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempUpdateStateItemLong     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @itemLong&amp;#160;&amp;#160; varbinary(max),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, @timeout, GETUTCDATE()),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemLong = @itemLong,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout = @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 0     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempUpdateStateItemLongNullShort     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @itemLong&amp;#160;&amp;#160; varbinary(max),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @timeout&amp;#160;&amp;#160;&amp;#160; int,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, @timeout, GETUTCDATE()),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemLong = @itemLong,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SessionItemShort = NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Timeout = @timeout,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Locked = 0     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.TempRemoveStateItem     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @lockCookie int     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DELETE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id AND LockCookie = @lockCookie     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160; &lt;br /&gt;GO     &lt;br /&gt;/*****************************************************************************/     &lt;br /&gt;CREATE PROCEDURE dbo.TempResetTimeout     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; @id&amp;#160;&amp;#160;&amp;#160;&amp;#160; nvarchar(88)     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UPDATE [ASPState].dbo.ASPStateTempSessions     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET Expires = DATEADD(n, Timeout, GETUTCDATE())     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE SessionId = @id     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;/*****************************************************************************/    &lt;br /&gt;CREATE PROCEDURE dbo.DeleteExpiredSessions     &lt;br /&gt;AS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @now datetime     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SET @now = GETUTCDATE() &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; DELETE [ASPState].dbo.ASPStateTempSessions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WHERE Expires &amp;lt; @now &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; RETURN 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GO&lt;/p&gt;  &lt;p&gt;--/*****************************************************************************/ &lt;/p&gt;  &lt;p&gt;EXECUTE dbo.CreateTempTables    &lt;br /&gt;GO &lt;/p&gt;  &lt;p&gt;DECLARE @sstype nvarchar(128)    &lt;br /&gt;SET @sstype = N'sstype_persisted' &lt;/p&gt;  &lt;p&gt;IF UPPER(@sstype) = 'SSTYPE_TEMP' BEGIN    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE @cmd nchar(4000) &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SET @cmd = N'    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; /* Create the startup procedure */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CREATE PROCEDURE dbo.ASPState_Startup     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AS     &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; EXECUTE ASPState.dbo.CreateTempTables &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; RETURN 0'    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; EXEC(@cmd)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; EXECUTE sp_procoption @ProcName='dbo.ASPState_Startup', @OptionName='startup', @OptionValue='true'     &lt;br /&gt;END&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;-- chrishayuk -- Commented out the creation of the DeleteExpiredSessions Job    &lt;br /&gt;--/*****************************************************************************/ &lt;/p&gt;  &lt;p&gt;--/* Create the job to delete expired sessions */ &lt;/p&gt;  &lt;p&gt;---- Add job category    &lt;br /&gt;---- We expect an error if the category already exists.     &lt;br /&gt;--PRINT 'If the category already exists, an error from msdb.dbo.sp_add_category is expected.'     &lt;br /&gt;--EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'     &lt;br /&gt;--GO &lt;/p&gt;  &lt;p&gt;--BEGIN TRANSACTION&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;&amp;#160;&amp;#160; DECLARE @JobID BINARY(16)&amp;#160; &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; DECLARE @ReturnCode int&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; DECLARE @nameT nchar(200)     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; SELECT @ReturnCode = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;--&amp;#160;&amp;#160;&amp;#160; -- Add the job    &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; SET @nameT = N'ASPState' + '_Job_DeleteExpiredSessions'     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; EXECUTE @ReturnCode = msdb.dbo.sp_add_job     &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; @job_id = @JobID OUTPUT,     &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; @job_name = @nameT,     &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; @owner_login_name = NULL,     &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; @description = N'Deletes expired sessions from the session state database.',     &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; @category_name = N'[Uncategorized (Local)]',     &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; @enabled = 1,     &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; @notify_level_email = 0,     &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; @notify_level_page = 0,     &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; @notify_level_netsend = 0,     &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; @notify_level_eventlog = 0,     &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; @delete_level= 0 &lt;/p&gt;  &lt;p&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback    &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; -- Add the job steps     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; SET @nameT = N'ASPState' + '_JobStep_DeleteExpiredSessions'     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep     &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; @job_id = @JobID,     &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; @step_id = 1,     &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; @step_name = @nameT,     &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; @command = N'EXECUTE DeleteExpiredSessions',     &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; @database_name = N'ASPState',     &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; @server = N'',     &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; @database_user_name = N'',     &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; @subsystem = N'TSQL',     &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; @cmdexec_success_code = 0,     &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; @flags = 0,     &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; @retry_attempts = 0,     &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; @retry_interval = 1,     &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; @output_file_name = N'',     &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; @on_success_step_id = 0,     &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; @on_success_action = 1,     &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; @on_fail_step_id = 0,     &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; @on_fail_action = 2 &lt;/p&gt;  &lt;p&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback &lt;/p&gt;  &lt;p&gt;--&amp;#160;&amp;#160;&amp;#160; EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1    &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; -- Add the job schedules     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; SET @nameT = N'ASPState' + '_JobSchedule_DeleteExpiredSessions'     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule     &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; @job_id = @JobID,     &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; @name = @nameT,     &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; @enabled = 1,     &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; @freq_type = 4,&amp;#160;&amp;#160;&amp;#160;&amp;#160; &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; @active_start_date = 20001016,     &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; @active_start_time = 0,     &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; @freq_interval = 1,     &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; @freq_subday_type = 4,     &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; @freq_subday_interval = 1,     &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; @freq_relative_interval = 0,     &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; @freq_recurrence_factor = 0,     &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; @active_end_date = 99991231,     &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; @active_end_time = 235959 &lt;/p&gt;  &lt;p&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback    &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; -- Add the Target Servers     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; COMMIT TRANSACTION&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; GOTO&amp;#160;&amp;#160; EndSave&amp;#160;&amp;#160;&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;--QuitWithRollback:     &lt;br /&gt;--&amp;#160;&amp;#160;&amp;#160; IF (@@TRANCOUNT &amp;gt; 0) ROLLBACK TRANSACTION     &lt;br /&gt;--EndSave:     &lt;br /&gt;--GO &lt;/p&gt;  &lt;p&gt;--/*************************************************************/    &lt;br /&gt;--/*************************************************************/     &lt;br /&gt;--/*************************************************************/     &lt;br /&gt;--/*************************************************************/ &lt;/p&gt;  &lt;p&gt;PRINT ''    &lt;br /&gt;PRINT '-------------------------------------------------'     &lt;br /&gt;PRINT 'Completed execution of InstallPersistSqlState.SQL'     &lt;br /&gt;PRINT '-------------------------------------------------' &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2340809623991306827?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2340809623991306827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2340809623991306827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2340809623991306827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2340809623991306827'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/08/sql-azure-database-session-database.html' title='SQL Azure Database Session Database'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6453794008302747754</id><published>2009-08-24T07:44:00.001-07:00</published><updated>2009-08-24T07:46:25.366-07:00</updated><title type='text'>Using SQL Azure Database in SQL Management Studio</title><content type='html'>&lt;p&gt;OK, so I’ve figured it now.  You can use SQL Azure Database in SQL Azure Management Studio, you just can’t use object explorer.&lt;/p&gt;&lt;p&gt;So this means you will be able to run queries but not be able to view stored proc lists, tables etc in the Object Explorer window.  If you need to do that then you &lt;a href="http://silverlightuk.blogspot.com/2009/08/connecting-to-sql-azure-database-with.html" target="_blank"&gt;can always use Universal SQL Editor as described in my previous article&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So the simplest way of doing this is to&lt;/p&gt;&lt;ul&gt;&lt;li&gt;When connected to your existing database&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Click New Query button&lt;/li&gt;&lt;li&gt;Within Query Window&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Right Click and Select Change Connection&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Enter the server name (including ctp.database.windows.net e.g. servername.ctp.database.windows.net)&lt;/li&gt;&lt;li&gt;Select SQL Server Authentication&lt;/li&gt;&lt;li&gt;Enter Username (including servername, excluding ctp.database.windows.net e.g &lt;a href="mailto:chris@servername"&gt;chris@servername&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Enter Password&lt;/li&gt;&lt;li&gt;Click Options&lt;/li&gt;&lt;ul&gt;&lt;li&gt;In Connection Properties Tab&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Change Connect to Database to database name (e.g. HawaiianShirts), just type it&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;This will allow you to run queries in SQL Management Studio but not use object explorer&lt;/p&gt;&lt;p&gt;Alternatively you can login as normal but disable object explorer&lt;/p&gt;&lt;p&gt;Tools-&gt;Options-&gt;(Environment-&gt;General)-&gt;At Startup = "Open New Query Window" instead of "Open Object Explorer"&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6453794008302747754?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6453794008302747754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6453794008302747754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6453794008302747754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6453794008302747754'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/08/using-sql-azure-database-in-sql.html' title='Using SQL Azure Database in SQL Management Studio'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7028831009454139780</id><published>2009-08-23T10:14:00.001-07:00</published><updated>2009-08-23T10:14:46.732-07:00</updated><title type='text'>Connecting to SQL Azure Database with a management tool</title><content type='html'>&lt;p&gt;Whilst working on my new book &lt;a href="http://www.manning.com/hay/" target="_blank"&gt;Azure in Action&lt;/a&gt; (first 3 chapters are available now online), I thought I’d write up how to connect to SQL Azure Database using a database browser tool.&lt;/p&gt;  &lt;p&gt;If you are lucky enough to have received your SQL Azure Database invitation token you will have noticed that you cannot connect SQL Server Management Studio to your cloud database.&lt;/p&gt;  &lt;p&gt;However this is not to say that you cannot use another tool to perform the same job.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Universal SQL Editor&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Tool I have used is &lt;a href="http://mingsoftware.com/universalsqleditor/overview.html" target="_blank"&gt;Universal SQL Editor&lt;/a&gt; which has a 14 day trial and is a reasonable cost at $39 beyond that.&amp;#160; It’s a pretty good tool actually (please note I’m not affiliated with them in any way), it has intellisense and can talk to loads of different db types.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Setting up a DSN Connection&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the SQL Azure Portal I already created a database called “HawaiianShirts” which I will now connect to using the tool.&amp;#160; To do that I created a file DSN which points to my DB.&amp;#160; I called the DSN file “HawaiianShirts.dsn” and the contents of the DSN are below:&lt;/p&gt;  &lt;p&gt;[ODBC]   &lt;br /&gt;DRIVER=SQL Server Native Client 10.0    &lt;br /&gt;UID=&amp;lt;myusername&amp;gt;@&amp;lt;myservername&amp;gt;    &lt;br /&gt;WSID=&amp;lt;mypcname&amp;gt;    &lt;br /&gt;APP=2007 Microsoft Office system    &lt;br /&gt;SERVER=&amp;lt;myservername&amp;gt;.ctp.database.windows.net    &lt;br /&gt;DATABASE=HawaiianShirts&lt;/p&gt;  &lt;p&gt;So for example (not real data)&lt;/p&gt;  &lt;p&gt;[ODBC]   &lt;br /&gt;DRIVER=SQL Server Native Client 10.0    &lt;br /&gt;UID=chris@a123456    &lt;br /&gt;WSID=CHRIS-PC    &lt;br /&gt;APP=2007 Microsoft Office system    &lt;br /&gt;SERVER=a123456.ctp.database.windows.net    &lt;br /&gt;DATABASE=HawaiianShirts&lt;/p&gt;  &lt;p&gt;I can now use this file DSN to open a connection to the database.&amp;#160; I can use this editor to both create tables, stored procedures and view/edit data.&lt;/p&gt;  &lt;p&gt;Here is a screenshot of me using the tool to edit some data in a table in SQL Azure Database&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_5NvOQ-q6xac/SpF5ACsEwjI/AAAAAAAAADg/Dq2sZohXllU/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_5NvOQ-q6xac/SpF5BYg-W3I/AAAAAAAAADk/NiJ422w7ZGE/image_thumb%5B1%5D.png?imgmax=800" width="514" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7028831009454139780?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7028831009454139780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7028831009454139780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7028831009454139780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7028831009454139780'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/08/connecting-to-sql-azure-database-with.html' title='Connecting to SQL Azure Database with a management tool'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_5NvOQ-q6xac/SpF5BYg-W3I/AAAAAAAAADk/NiJ422w7ZGE/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4412878639885278886</id><published>2009-07-30T02:27:00.001-07:00</published><updated>2009-07-30T02:27:49.951-07:00</updated><title type='text'>Azure in Action book page up on Manning Site</title><content type='html'>&lt;p&gt;I’m pleased to say that Manning have put up the page for our “Azure in Action” book on the Manning site.&lt;/p&gt;  &lt;p&gt;Check it out at: &lt;a title="http://www.manning.com/hay/" href="http://www.manning.com/hay/"&gt;http://www.manning.com/hay/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I will be posting up some details of the progress soon and some more details of how you can get early access to the chapters.&lt;/p&gt;  &lt;p&gt;You can also check out our funky book cover&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4412878639885278886?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4412878639885278886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4412878639885278886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4412878639885278886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4412878639885278886'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/azure-in-action-book-page-up-on-manning.html' title='Azure in Action book page up on Manning Site'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4536795830347146295</id><published>2009-07-29T04:03:00.001-07:00</published><updated>2009-07-29T04:03:11.621-07:00</updated><title type='text'>SQLBits</title><content type='html'>&lt;p&gt;SQLBits which really is one of the top SQL Server conferences in the world is now accepting session submissions.&lt;/p&gt;  &lt;p&gt;I had the pleasure of doing a session at SQL Bits 3 last year and I absolutely loved it.&amp;#160; Unfortunately since the timing is so close to the PDC, I don’t think I will be able to attend or present :(&lt;/p&gt;  &lt;p&gt;However, if you are interested in submitting a session then you should go to &lt;a href="http://www.sqlbits.com/information/PublicSessions.aspx" target="_blank"&gt;the site&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Even if you don’t want to submit a session you should make a note of the date in your diary and take a jaunt down to Wales (each conference is held in a different location in the UK).&lt;/p&gt;  &lt;p&gt;Anyways check it out 19th-21st November 2009&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4536795830347146295?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4536795830347146295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4536795830347146295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4536795830347146295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4536795830347146295'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/sqlbits.html' title='SQLBits'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7983180684113226528</id><published>2009-07-20T02:28:00.001-07:00</published><updated>2009-07-20T02:28:25.241-07:00</updated><title type='text'>Silverlight: iPhone Apps</title><content type='html'>&lt;p&gt;So this was a tweet I picked up from @scottGu who picked it up from @techarch (by the way my twitter address is @chrishayuk)&lt;/p&gt;  &lt;p&gt;So the Mono folks are working on a version of Mono that can compile to the iPhone which will eventually mean you will be able to run Silverlight Applications.&lt;/p&gt;  &lt;p&gt;For more details see the &lt;a href="http://mono-project.com/MonoTouch_Roadmap" target="_blank"&gt;MonoTouch Roadmap&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is absolute awesome as someone who has done a lot of Silverlight development and some iPhone development this is great news.&lt;/p&gt;  &lt;p&gt;If you have ever tried to develop on the iPhone it’s like stepping back 10 years.&amp;#160; The prospect of being able to write C# / Silverlight code is just cool.&lt;/p&gt;  &lt;p&gt;Once my book is complete this is one of the first set of technologies that I will be messing around, way cool.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7983180684113226528?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7983180684113226528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7983180684113226528' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7983180684113226528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7983180684113226528'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/silverlight-iphone-apps.html' title='Silverlight: iPhone Apps'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3145304340948045929</id><published>2009-07-09T09:15:00.001-07:00</published><updated>2009-07-09T09:15:22.714-07:00</updated><title type='text'>Silverlight: See you at Devlink</title><content type='html'>&lt;p&gt;I’m very pleased to say that I will be spending a week in August at Nashville at &lt;a href="http://www.devlink.net/" target="_blank"&gt;Devlink&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve heard Nashville is an awesome place to be and I can’t wait to check it out.&amp;#160; I’ll be spending a few days before the conference chilling out and checking out the sites.&amp;#160; Hopefully I will get a chance to eat some good southern food and of course many many Cheeseburgers.&lt;/p&gt;  &lt;p&gt;The attendee party looks great, I’ve never seen a baseball game before so I’m looking forward to it.&amp;#160; The conference agenda looks amazing with an incredible speaker line up.&amp;#160; &lt;/p&gt;  &lt;p&gt;My session is on Silverlight Offline at 4.00pm on the Friday night.&lt;/p&gt;  &lt;p&gt;It will be nice to concentrate on Silverlight again as I’ve been pretty Azure focused over the past few months :)&lt;/p&gt;  &lt;p&gt;Looking forward to seeing you there, please say hello.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3145304340948045929?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3145304340948045929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3145304340948045929' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3145304340948045929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3145304340948045929'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/silverlight-see-you-at-devlink.html' title='Silverlight: See you at Devlink'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4946615234219271657</id><published>2009-07-08T14:31:00.001-07:00</published><updated>2009-07-08T14:31:42.977-07:00</updated><title type='text'>SQLBits V</title><content type='html'>&lt;p&gt;This time it's in Wales and is lasting 3 days, with the third being a community day.&amp;#160; Wow it looks a cracker.&lt;/p&gt;  &lt;p&gt;Its on Thursday 19th November to Saturday 21st (unfortunately PDC week but I will try and be back for it).&lt;/p&gt;  &lt;p&gt;For more details visit &lt;a href="http://sqlbits.com" target="_blank"&gt;SQLBits&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I've taken the liberty of translating the &lt;a href="http://sqlblogcasts.com/blogs/martinbell/archive/2009/07/07/SQLBits-yn-fynd-Gorllewin.aspx" target="_blank"&gt;official sqlbits v announcement&lt;/a&gt; translated from Welsh to English using an online translator below.&lt;/p&gt;  &lt;p&gt;&amp;quot;We are being we ' heartburn pleased I announce be SQLBits crookedly go West , the rhandaliad he conferences SQLBits. We are being doing the happening he drives even morely and crookedly better na&amp;#226;&amp;#8364;&amp;#8482;a time last , in over 3 day with much more contain , except continuing I keep everything who is has worked as well crookedly the happenings previous. nferred the ddygwiddiad running he Thursday 19fed I Saturday 21ain November to the Celtic d to divine striped in Nghasnewydd , right Wales , nearly I ' group traffordd M4..) happening most yet , with contain gwethaf SQL Server. He will be en begin with day instruction before the happening , with details coming soon. We are being we has listened i&amp;#226;&amp;#8364;&amp;#8482;ch.) about happening evening time , ey tasted time self y had scorned we has planned day happening with tall signs Friday the 20few with theme SQL 2008 and R2. He will be Saturday 21fed crookedly day society usual , with speakers around the world speaking about text SQL Server&amp;quot;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4946615234219271657?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4946615234219271657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4946615234219271657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4946615234219271657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4946615234219271657'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/sqlbits-v.html' title='SQLBits V'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5486145495889044704</id><published>2009-07-04T08:19:00.001-07:00</published><updated>2009-07-04T08:19:51.969-07:00</updated><title type='text'>Modifying web.configs on the fly in Windows Azure</title><content type='html'>&lt;p&gt;This has caught me out often enough that I should blog about it.&lt;/p&gt;  &lt;p&gt;If you are working with a web role in Windows Azure your web project is copied into the bin directory of your cloud project and is ran from there.&amp;#160; This allows the Windows Azure Development environment to simulate running within the cloud.&lt;/p&gt;  &lt;p&gt;If you need to therefore modify a web.config setting then modifying your web.config on the fly from your source file won’t make the slightest bit of difference.&lt;/p&gt;  &lt;p&gt;You need to either modify the web.config in the bin directory of your cloud project, or stop and re-run your role again.&lt;/p&gt;  &lt;p&gt;In my case, I was messing with the maxRequestLength attribute of the httpRuntime element.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5486145495889044704?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5486145495889044704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5486145495889044704' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5486145495889044704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5486145495889044704'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/modifying-webconfigs-on-fly-in-windows.html' title='Modifying web.configs on the fly in Windows Azure'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-9196088044223363853</id><published>2009-07-04T04:03:00.001-07:00</published><updated>2009-07-04T04:03:38.192-07:00</updated><title type='text'>Azure Pricing</title><content type='html'>&lt;p&gt;So we will soon know the pricing model of Windows Azure (yay), we will probably find this out on the 13th of July but we will certainly know this by 4.30pm on Tuesday the 14th of July.&lt;/p&gt;  &lt;p&gt;If we don’t have the information on this date then the folks attending session “SS006 – The Azure Service Platform Partner Model and Pricing” could be in for a surprise.&amp;#160; &lt;a href="https://www.mspartnerconference.com/public/sessionlist.aspx" target="_blank"&gt;The Microsoft Worldwide Partner conference site&lt;/a&gt; has more details of this.&amp;#160; This session also seems to indicate that we may get pricing not just on Windows Azure but on SQL Data Services and .NET Services.&lt;/p&gt;  &lt;p&gt;There are some other clues that we might be able to guess from the proposed session list.&amp;#160; One of the sessions (SS003) refers to Windows Azure, Business Edition.&amp;#160; This may mean that Microsoft may be offering different levels of service (and pricing) depending on your needs.&amp;#160; This could be good news for developers, maybe we will see a developer edition at some point :)&lt;/p&gt;  &lt;p&gt;I can’t wait for this information as it will allow me to complete the section on pricing / SLA’s in the new book I am writing with Brian Prince for Manning titled “Azure in Action”.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-9196088044223363853?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/9196088044223363853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=9196088044223363853' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9196088044223363853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9196088044223363853'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/azure-pricing.html' title='Azure Pricing'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6376120499656282327</id><published>2009-07-01T15:47:00.001-07:00</published><updated>2009-07-01T15:47:46.012-07:00</updated><title type='text'>Loosely couple code/data for static known types</title><content type='html'>&lt;p&gt;So the title is a bit of a mouthful but I couldn't think of a better one.&lt;/p&gt;  &lt;p&gt;The problem is simple and we have all faced it.&amp;#160; We have a database with static data that never or hardly changes.&amp;#160; The major issue we have is that we keep a copy of the data on the database and the we make loose runtime references to the code which can break our application.&lt;/p&gt;  &lt;p&gt;For example lets say I have a payroll database.&amp;#160; Some employees are paid weekly, every 2 weeks or ever calendar month.&amp;#160; So I may choose to represent this data in a table called payfrequencytypes where i store my 3 rows.&amp;#160; From a database perspective this is cool.&amp;#160; I can join to this table, I can run reports etc.&lt;/p&gt;  &lt;p&gt;From my application layer this is not so great.&amp;#160; If I wish to create some application business logic to determine when to pay my employee, I will need to check their pay frequency.&amp;#160; At this point I need to mix code and data, typically you will see something like&lt;/p&gt;  &lt;p&gt;if (emp.PayFrequency == &amp;quot;Monthly&amp;quot;)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; PayEmployee();&lt;/p&gt;  &lt;p&gt;PayFequency types will never change so I want static compiler checking.&amp;#160; I really want my code to be something like&lt;/p&gt;  &lt;p&gt;if (emp.PayFrequency == PayFrequencies.Monthly)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; PayEmployee();&lt;/p&gt;  &lt;p&gt;This is much better for me at the app layer however the problem here is that I need to keep my 2 layers in sync now (app and code).&amp;#160; &lt;/p&gt;  &lt;p&gt;I think code generation solves this problem.&amp;#160; Really we need to define in our application what static data we require, how we generate it the database and validation routines to make sure it is correct in the db.&amp;#160; We can then make our application responsible for generation and validation meaning we can feel sure that we can use static types&lt;/p&gt;  &lt;p&gt;Obviously this example can get more complicated but you see the point.&lt;/p&gt;  &lt;p&gt;I will try and put some code generation stuff when I have time that solves that issue for simple examples.&lt;/p&gt;  &lt;p&gt;In the future I think this is exactly the sort of problem that Oslo could solve for us.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6376120499656282327?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6376120499656282327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6376120499656282327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6376120499656282327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6376120499656282327'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/loosely-couple-codedata-for-static.html' title='Loosely couple code/data for static known types'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4206918900493241505</id><published>2009-07-01T15:06:00.001-07:00</published><updated>2009-07-01T15:06:08.559-07:00</updated><title type='text'>NULLS FIRST LAST</title><content type='html'>&lt;p&gt;As I said in my previous post, I've been looking at other technologies in my continuing quest to become a better developer.&lt;/p&gt;  &lt;p&gt;One technology is open source database called &lt;a href="http://www.postgresql.org/" target="_blank"&gt;postgresql&lt;/a&gt;.&amp;#160; I haven't installed it yet just looking at the manuals and comparing to sql server.&amp;#160; Perhaps after the book is done I'll get a chance to play.&lt;/p&gt;  &lt;p&gt;One of the features that I spotted that I think would pretty cool in SQL Server is the ability to specify sort order of nulls in SELECT statements.&lt;/p&gt;  &lt;p&gt;By default in SQL Server nulls are returned first and it's a little nasty to return them last but in PostgreSQL it is easy.&lt;/p&gt;  &lt;p&gt;SELECT Firstname, Surname   &lt;br /&gt;FROM Customers    &lt;br /&gt;ORDER BY Firstname NULLS LAST&lt;/p&gt;  &lt;p&gt;In SQL Server you have to do some pretty nasty things that to get the same result.&amp;#160; Some folks often go for case statements or coalesces in the order statement to get a similar result.&amp;#160; I urge against this (hence why I am not showing you the code) as it produces inefficient query plans.&amp;#160; There are also other potential solutions that I am not going to go into (may'be another day), &lt;/p&gt;  &lt;p&gt;My point is, I like this feature PostgreSQL has it, I think Oracle has it too and I think it might be a part of the SQL 2003 standard.&amp;#160; Whether it is standardized or not is a little fuzzy but I can't check as it costs lots of money to get a copy.&amp;#160; This leads me onto another point, the ISO standards should be free, end of story.&lt;/p&gt;  &lt;p&gt;Finally if Microsoft are looking for a new T-SQL language feature to implement in the next version, this would be cool.&lt;/p&gt;  &lt;p&gt;I think it meets the criteria of being something that is sufficiently hard to do and therefore should be covered in the core engine.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4206918900493241505?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4206918900493241505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4206918900493241505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4206918900493241505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4206918900493241505'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/07/nulls-first-last.html' title='NULLS FIRST LAST'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6814949605950588612</id><published>2009-06-30T02:13:00.001-07:00</published><updated>2009-06-30T02:13:10.493-07:00</updated><title type='text'>I’ve got lots to say just not enough time</title><content type='html'>&lt;p&gt;I haven’t really spent anytime blogging in the past few months.&amp;#160; I have a tons of things to say, unfortunately just don’t have enough time at the moment.&lt;/p&gt;  &lt;p&gt;I’ve obviously been writing my book on Azure and have loads to blog about regarding.&lt;/p&gt;  &lt;p&gt;I’ve also spent time messing around with &lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;design patterns&lt;/li&gt;      &lt;li&gt;Data Layers &lt;/li&gt;      &lt;li&gt;OR/M’s,&lt;/li&gt;      &lt;li&gt;Caching&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;I’ve also been looking outside of the Microsoft stack which reaffirms my position of why I’m glad I work with Microsoft.&amp;#160; However it has broadened my horizons and realize there is a lot of cool stuff other folks in other platforms are doing.&amp;#160; Some of it the same, some of it different.&lt;/p&gt;  &lt;p&gt;Specifically I was looking at:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Postgres&lt;/li&gt;    &lt;li&gt;Objective C&lt;/li&gt;    &lt;li&gt;IPhone development&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m currently looking forward to .NET 4.0 (haven’t really played with it yet as I’ve been focused on the book).&amp;#160; The thing that excites me the most is ADO.NET Entity Framework 4.0.&lt;/p&gt;  &lt;p&gt;I’ve also got a big list of things to play with once the first draft of the book is done.&lt;/p&gt;  &lt;p&gt;I’m behind on loads of blogging and screencasts (especially with Silverlight).&lt;/p&gt;  &lt;p&gt;Anyways I hope to be able to fit in some time soon and catch up with my blog posts.&lt;/p&gt;  &lt;p&gt;It’s been a busy time.&lt;/p&gt;  &lt;p&gt;If you’re interested in the book.&lt;/p&gt;  &lt;p&gt;I’ve finished the first drafts of chapter 1 and chapter 5.&amp;#160; I’m nearly finished my first draft of chapter 4.&amp;#160; My co-author Brian Prince has finished his first draft of chapter 2 and has nearly finished his draft of chapter 3.&lt;/p&gt;  &lt;p&gt;All in all we are nearly a third of the way through the book.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6814949605950588612?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6814949605950588612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6814949605950588612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6814949605950588612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6814949605950588612'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/06/ive-got-lots-to-say-just-not-enough.html' title='I’ve got lots to say just not enough time'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5445501852008594556</id><published>2009-06-06T05:46:00.001-07:00</published><updated>2009-06-06T07:35:40.501-07:00</updated><title type='text'>Silverlight: (and Azure) Range Http Request Header</title><content type='html'>&lt;p&gt;So this one is for the Azure team.&lt;/p&gt;&lt;p&gt;Can we have in Windows Azure Blob Storage the ability to pass through as an http request header key x-ms-range as well as range.&lt;/p&gt;&lt;p&gt;Both Silverlight and Flash don't allow the ability to pass the range in the header.  I suspect that the NSAPI plug-in is preventing this.  This means we can't make us of range downloads (and other functionality such as authorization) unless the Azure teams adds some extra support.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5445501852008594556?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5445501852008594556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5445501852008594556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5445501852008594556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5445501852008594556'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/06/silverlight-and-azure-range-http.html' title='Silverlight: (and Azure) Range Http Request Header'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3528204466584903739</id><published>2009-06-04T14:42:00.001-07:00</published><updated>2009-06-04T14:42:11.925-07:00</updated><title type='text'>Please make the classes in RestHelpers.cs public</title><content type='html'>&lt;p&gt;There are a bunch of very cool set of helper classes (resthelpers.cs) in the Windows Azure storageclient library.&lt;/p&gt;  &lt;p&gt;If these could be made public rather than internal my life would be so much happier&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3528204466584903739?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3528204466584903739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3528204466584903739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3528204466584903739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3528204466584903739'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/06/please-make-classes-in-resthelperscs.html' title='Please make the classes in RestHelpers.cs public'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6556415847593359248</id><published>2009-06-04T14:05:00.001-07:00</published><updated>2009-06-04T14:05:13.769-07:00</updated><title type='text'>Blob Scenarios for the Azure in Action book</title><content type='html'>&lt;p&gt;So I’m currently looking at the Blobs chapter of the “Azure in Action” book that myself and Brian Prince are writing.&lt;/p&gt;  &lt;p&gt;In our call with the publisher the other night, our very cool publishing company (Manning) encouraged us to get as much input from folks in the community as possible.&amp;#160; I love this philosophy and I love working with such an enlightened company.&lt;/p&gt;  &lt;p&gt;So if there any cool samples that you would love to see done, then please give me a shout.&amp;#160; We do have lots of cool scenarios and samples that I think will be particularly exciting, however I’m keen not to miss the mark on anything.&lt;/p&gt;  &lt;p&gt;I hope to post a little bit more on some of the cool stuff in book, pretty soon.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6556415847593359248?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6556415847593359248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6556415847593359248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6556415847593359248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6556415847593359248'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/06/blob-scenarios-for-azure-in-action-book.html' title='Blob Scenarios for the Azure in Action book'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-568319298037271176</id><published>2009-05-24T08:32:00.001-07:00</published><updated>2009-05-24T08:32:43.244-07:00</updated><title type='text'>My new Azure Book</title><content type='html'>&lt;p&gt;So I've just agreed to write a book on Azure for Manning.&amp;#160; The timeline is very aggressive so I'm going to pretty focused on Azure for the next few months.&lt;/p&gt;  &lt;p&gt;I'm incredibly pleased and honored to have had my proposal accepted and today is my first day of writing.&amp;#160; Actually, when I say first day of writing, it's more of my first day setting up my environment for writing the book.&lt;/p&gt;  &lt;p&gt;Today has so far consisted of:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Downloading lots of Software&lt;/li&gt;    &lt;li&gt;Clearing up my desk&lt;/li&gt;    &lt;li&gt;Uninstallaing and Installing Software&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Anyways I will therefore pretty much exclusively focused on Azure rather than Silverlight for a few months, that's not to say that there is not some synergy in some areas.&lt;/p&gt;  &lt;p&gt;I think the next few months will be a lot of fun but a lot of hard work.&lt;/p&gt;  &lt;p&gt;The book should be available in all good bookstores (and some of the dodgy ones too) from January.&lt;/p&gt;  &lt;p&gt;Anyways, enough waffling and back to some serious work.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-568319298037271176?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/568319298037271176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=568319298037271176' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/568319298037271176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/568319298037271176'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/05/my-new-azure-book.html' title='My new Azure Book'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4857991268099534904</id><published>2009-04-28T14:33:00.001-07:00</published><updated>2009-04-28T14:33:34.108-07:00</updated><title type='text'>Silverlight: Toronto Code Camp Slides + Samples</title><content type='html'>&lt;p&gt;A big thanks to everyone who came to my session on Silverlight Communication at Toronto Code Camp.&lt;/p&gt;  &lt;p&gt;Also a big mega thanks to everyone I met, and everyone involved in the organization.&amp;#160; What a great event.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/TorontoCodeCamp2009/Silverlight%203%20Communication.pptx" target="_blank"&gt;My slides are available here&lt;/a&gt; and &lt;a href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/TorontoCodeCamp2009/SL3Communication.zip" target="_blank"&gt;my samples are available here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4857991268099534904?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4857991268099534904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4857991268099534904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4857991268099534904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4857991268099534904'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/silverlight-toronto-code-camp-slides.html' title='Silverlight: Toronto Code Camp Slides + Samples'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1956735466407430537</id><published>2009-04-19T15:00:00.001-07:00</published><updated>2009-04-19T15:01:08.795-07:00</updated><title type='text'>Silverlight: Multiple Http Requests Screencast</title><content type='html'>&lt;p&gt;It's important to remember that Silverlight is a browser technology and is therefore subject to the limits imposed by the browser.&lt;/p&gt;&lt;p&gt;This is especially true in the networking stack and Silverlight is limited to the number of connections it can make just as the browser is.&lt;/p&gt;&lt;p&gt;I show you this is the case in &lt;a href="http://www.screencast.com/t/t6NvX7Pb"&gt;my latest screencast, Multiple Http Requests in Silverlight&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The video is embedded below for you to view also:&lt;/p&gt;&lt;p&gt;&lt;object standby="Loading Microsoft Windows Media Player components..." name="Video" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="400" height="365" type="application/x-oleobject"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/e87e0981-5597-4418-a3e7-b119d620e204/Multiple%20Http%20Requests%20in%20Silverlight.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;&lt;br /&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/e87e0981-5597-4418-a3e7-b119d620e204/Multiple%20Http%20Requests%20in%20Silverlight.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1956735466407430537?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1956735466407430537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1956735466407430537' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1956735466407430537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1956735466407430537'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/screencast-multiple-http-requests-in.html' title='Silverlight: Multiple Http Requests Screencast'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4606024907706308538</id><published>2009-04-18T15:39:00.001-07:00</published><updated>2009-04-18T15:39:37.834-07:00</updated><title type='text'>Silverlight: Who cares if Binary Encoding is not interoperable?</title><content type='html'>&lt;p&gt;I know the title of this post is a little tongue in cheek but actually who cares?&lt;/p&gt;  &lt;p&gt;Just to put this in context in SL3, Microsoft have added support for binary encoding of soap messages for communication between Silverlight 3 applications and WCF Services.&lt;/p&gt;  &lt;p&gt;Binary encoding means that the server can process messages faster, meaning higher throughput and the ability to handle more clients than the SL2 text encoding for SOAP.&lt;/p&gt;  &lt;p&gt;The downside that the binary encoding is a proprietary Microsoft format (not MTOM), infact its the same one used by NetTCPBinding.&lt;/p&gt;  &lt;p&gt;Since performance doesn't seem to be worse than text encoding in any situation, Microsoft have made this the default encoding for building Silverlight enabled WCF Services.&lt;/p&gt;  &lt;p&gt;Does it matter if the default encoding is not interoperable?&amp;#160; No, because you can always set it back to a text encoding if you need interoperability.&lt;/p&gt;  &lt;p&gt;Also, Silverlight by default does not encourage interoperability.&amp;#160; To allow other browser clients to connect to your webservice you need to set you cross domain policy file.&amp;#160; By default cross domain browser clients are shut out.&lt;/p&gt;  &lt;p&gt;Finally if you are building a truly public interoperable api, you probably wouldn't make it SOAP based anyways, you would be likely to build a REST api&lt;/p&gt;  &lt;p&gt;Good Move Microsoft, Binary Encoding Rocks!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4606024907706308538?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4606024907706308538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4606024907706308538' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4606024907706308538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4606024907706308538'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/silverlight-who-cares-if-binary.html' title='Silverlight: Who cares if Binary Encoding is not interoperable?'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-803099619665214679</id><published>2009-04-18T10:55:00.001-07:00</published><updated>2009-04-18T10:55:58.039-07:00</updated><title type='text'>I wish I was at WebDD</title><content type='html'>&lt;p&gt;I have to admit, I wish I was at &lt;a href="http://developerdeveloperdeveloper.com/webdd09/Default.aspx" target="_blank"&gt;WebDD&lt;/a&gt; as an attendee or a speaker.&lt;/p&gt;  &lt;p&gt;I decided not to submit a session (not because I didn't want to), but because I am working on my session for Toronto next week, which is the same reason I can't attend.&lt;/p&gt;  &lt;p&gt;Looks like it was a cracking day, lots of webby things.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-803099619665214679?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/803099619665214679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=803099619665214679' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/803099619665214679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/803099619665214679'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/i-wish-i-was-at-webdd.html' title='I wish I was at WebDD'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5667862429251220780</id><published>2009-04-16T02:08:00.001-07:00</published><updated>2009-04-16T02:10:26.468-07:00</updated><title type='text'>Silverlight: Toronto Code Camp Session</title><content type='html'>&lt;p&gt;I guess I’m getting a little excited about going to &lt;a href="http://www.torontocodecamp.net/" target="_blank"&gt;Toronto Code Camp&lt;/a&gt; next week.&lt;/p&gt;&lt;p&gt;At the same time, things are hectic, lots of preparation to do :)&lt;/p&gt;&lt;p&gt;I am presenting a session on Silverlight 3 Communication.  Funnily enough although the title suggests that I will be focusing on the new Silverlight 3 WCF Features (which I will be), this is not the complete story.&lt;/p&gt;&lt;p&gt;In order to truly understand the improvements made to networking in Silverlight 3, you need to understand the networking stack as it relates to Silverlight, the design decisions made and the effects these decisions have on the Silverlight 2 networking story, and how some of these things have been resolved in Silverlight 3.&lt;/p&gt;&lt;p&gt;Finally having this understanding allows you to build better applications, allows you to design the right system, and to understand why you hit certain walls and how to get around them.&lt;/p&gt;&lt;p&gt;Since this stack is at the heart of all Silverlight networking, this means that if you are using technology such as .NET RIA Services, or ADO.NET Data Services for Silverlight, these core fundamentals ring true.&lt;/p&gt;&lt;p&gt;So as much as I cover the new features of SL3, more of the focus will be on the underlying networking stack and allowing you to understand the fundamentals.  So this will help you both in Silverlight 2, Silverlight 3, and Silverlight of the Future.&lt;/p&gt;&lt;p&gt;Anyways, I’ve had a lot of fun building this presentation, and I hope you will enjoy the session at code camp.&lt;/p&gt;&lt;p&gt;I also plan to bring this session to the UK in June for NxtGenUG Fest09 :)&lt;/p&gt;&lt;p&gt;Hope to see you there&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5667862429251220780?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5667862429251220780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5667862429251220780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5667862429251220780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5667862429251220780'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/silverlight-toronto-code-camp-session.html' title='Silverlight: Toronto Code Camp Session'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2541450527802500303</id><published>2009-04-13T04:24:00.001-07:00</published><updated>2009-04-13T04:24:17.053-07:00</updated><title type='text'>I'm a PC (thankfully)</title><content type='html'>&lt;p&gt;This Easter bank holiday weekend, I decided I wanted to learn some new stuff.&amp;#160; So since I have been sporting my new IPhone for the last few weeks, I thought learning how to develop on the IPhone would be cool.&lt;/p&gt;  &lt;p&gt;So I have borrowed my mates MacPowerbook Pro, and I picked some books on IPhone development and Objective-C.&lt;/p&gt;  &lt;p&gt;I haven't developed any IPhone apps yet, as I thought I would concentrate on the Objective-C language, which I feel I have a good grip of now.&lt;/p&gt;  &lt;p&gt;So later today, I will attempt to create my first IPhone application, however I just want to say one thing.&amp;#160; I am a PC (and thank God I am).&lt;/p&gt;  &lt;p&gt;Using XCode, and Objective C is like taking a step back 7/8 years.&amp;#160; I so much prefer Visual Studio over XCode and I so much prefer C# over Objective-C.&lt;/p&gt;  &lt;p&gt;Don't get me wrong I can see the influences of other languages (such as Objective-C) that have shaped C#, and I can see features in Objective-C that are now coming to C# or that I would love to see in C#, but I have to say I prefer C# and the .NET Framework.&amp;#160; I will probably expand up on this in future posts.&lt;/p&gt;  &lt;p&gt;The one thing I want to say about Objective-C is that it is a little weird having to go back to explicit memory management (it really is like stepping in a time machine).&amp;#160; However at the same time it feels kind of nice, going back to the core (just not sure I would want to do this everyday).&amp;#160; I can easily see that with Mac Development most of your time will be spent thinking about Memory Management (which is just something we don't worry about so much these days).&lt;/p&gt;  &lt;p&gt;Anyways, no matter what, after spending the weekend with Objective-C, I feel like a better developer but boy it makes me a appreciate Visual Studio, C# and the .NET Framework&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2541450527802500303?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2541450527802500303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2541450527802500303' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2541450527802500303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2541450527802500303'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/i-pc-thankfully.html' title='I&amp;#39;m a PC (thankfully)'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6515668816928722705</id><published>2009-04-13T04:13:00.001-07:00</published><updated>2009-04-13T04:13:48.387-07:00</updated><title type='text'>Silverlight: Toronto Code Camp</title><content type='html'>&lt;p&gt;I'm pleased to say that I will be presenting at &lt;a href="http://www.torontocodecamp.net/Home/tabid/36/Default.aspx" target="_blank"&gt;Toronto Code Camp&lt;/a&gt; in a few weeks time.&lt;/p&gt;  &lt;p&gt;I will be doing a session on Silverlight 3 communication, covering lots of WCF stuff, Local Messaging and the new networking api used for Out of Browser.&lt;/p&gt;  &lt;p&gt;I'm really looking forward to my first trip to Canada and meeting lots of cool people.&lt;/p&gt;  &lt;p&gt;I hope to see you there.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6515668816928722705?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6515668816928722705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6515668816928722705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6515668816928722705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6515668816928722705'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/silverlight-toronto-code-camp.html' title='Silverlight: Toronto Code Camp'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3500045665436764518</id><published>2009-04-10T08:21:00.001-07:00</published><updated>2009-04-10T08:21:33.948-07:00</updated><title type='text'>Enabling Hardware Virtualization on a Sony Laptop</title><content type='html'>&lt;p&gt;This post is important to me as this was a real pain for me.&lt;/p&gt;  &lt;p&gt;So virtualization is increasingly important today, and today I was needing to run a VM, and it turned out the VM was running a little slower than I was expecting.&amp;#160; This is because my laptop didn't have Virtualization enabled on the bios.&lt;/p&gt;  &lt;p&gt;This is normally very simple, just go to your bios settings on bootup and enable it, however I own a Sony.&amp;#160; I love Sony Vaio's however you can't switch on hardware virtualization easily.&lt;/p&gt;  &lt;p&gt;In the end I had to hack the bios (very scary).&lt;/p&gt;  &lt;p&gt;To do this I created a boot disk on a usb stick (another painful thing), and then run the following tool from dos&lt;/p&gt;  &lt;p&gt;symcmos.exe -L&lt;/p&gt;  &lt;p&gt;I then opened the literal.txt file and changed register 0285 from 0000 to 0001 (using Edit in dos).&amp;#160; &lt;/p&gt;  &lt;p&gt;I then ran&lt;/p&gt;  &lt;p&gt;symcmos.exe -v2 -uliteral.txt&lt;/p&gt;  &lt;p&gt;This register is specific to my laptop with BIOS (R2090J8) so unless you have the same bios it won't work.&lt;/p&gt;  &lt;p&gt;I then powered off my laptop, and hardware virtualization was enabled.&lt;/p&gt;  &lt;p&gt;The following posts were very useful to me:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.linuxformat.gr/?q=content/how-unlock-and-enable-hardware-accelerated-virtualization-technology-vt-sony-vaio-laptop-and"&gt;http://www.linuxformat.gr/?q=content/how-unlock-and-enable-hardware-accelerated-virtualization-technology-vt-sony-vaio-laptop-and&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forum.notebookreview.com/showthread.php?t=189228&amp;amp;page=14"&gt;http://forum.notebookreview.com/showthread.php?t=189228&amp;amp;page=14&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have the same problem there is a lot to do, and it's very scary but it's worth it.&amp;#160; Don't follow my instructions literally as it might fry your laptop, and I'm not responsible for that.&lt;/p&gt;  &lt;p&gt;Read the posts, and then decide to do what is best for you&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3500045665436764518?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3500045665436764518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3500045665436764518' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3500045665436764518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3500045665436764518'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/enabling-hardware-virtualization-on.html' title='Enabling Hardware Virtualization on a Sony Laptop'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1001210318319549190</id><published>2009-04-07T06:33:00.001-07:00</published><updated>2009-04-07T06:33:08.165-07:00</updated><title type='text'>Silverlight: DDD Belfast Silverlight 3 talk</title><content type='html'>&lt;p&gt;A big thanks to everyone who came to my session at DDD Belfast on Silverlight 3 at the weekend.&lt;/p&gt;  &lt;p&gt;I really enjoyed presenting in Belfast and I had a great a time all round, and glad that it went so well.&amp;#160; In the end I pretty much covered nearly every new feature of SL3 (which was a challenge).&amp;#160; I worked out that it took me about 80-100 hours to prepare that presentation.&amp;#160; So I think I will now take a few evenings off this week to relax.&lt;/p&gt;  &lt;p&gt;The slides are available here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://cid-f6bb92b5df4cfec0.skydrive.live.com/browse.aspx/Public/Speaking/SL3Peek" href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/browse.aspx/Public/Speaking/SL3Peek"&gt;http://cid-f6bb92b5df4cfec0.skydrive.live.com/browse.aspx/Public/Speaking/SL3Peek&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A big thanks to Barry, Martha, Craig, Phil and everyone else I have missed out for putting together a great day.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1001210318319549190?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1001210318319549190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1001210318319549190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1001210318319549190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1001210318319549190'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/silverlight-ddd-belfast-silverlight-3.html' title='Silverlight: DDD Belfast Silverlight 3 talk'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4279057055258549472</id><published>2009-04-06T15:29:00.001-07:00</published><updated>2009-04-06T15:30:21.072-07:00</updated><title type='text'>Silverlight: Screencast: Silverlight 3 Derived Styles</title><content type='html'>&lt;p&gt;In this short screencast, I show you how to quickly get started with style inheritance in Silverlight 3.&lt;/p&gt; You can &lt;a href="http://www.screencast.com/t/eQlQd93g"&gt;download the video from here&lt;/a&gt;, or watch below   &lt;p&gt;&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/5948cbc3-2dda-4412-8ee0-04d0b9ab81ec/sl3derivedstyles.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/5948cbc3-2dda-4412-8ee0-04d0b9ab81ec/sl3derivedstyles.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4279057055258549472?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4279057055258549472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4279057055258549472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4279057055258549472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4279057055258549472'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/screencast-silverlight-3-derived-styles.html' title='Silverlight: Screencast: Silverlight 3 Derived Styles'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5338674002485123058</id><published>2009-04-02T07:31:00.001-07:00</published><updated>2009-04-02T07:31:03.748-07:00</updated><title type='text'>Demo Gremlins</title><content type='html'>&lt;p&gt;So everytime I build a new presentation, I try and find an unsuspecting audience to try it out on before I present it for real.&lt;/p&gt;  &lt;p&gt;I have a brand new presentation on Silverlight 3 in Belfast, and today I did my dummy run in Cambridge for a company that I work with.&amp;#160; They are a very forgiving audience :)&lt;/p&gt;  &lt;p&gt;So I got really great feedback and it went really well (even though I was still changing things last night).&amp;#160; However the demo gods did strike on more than one occasion.&amp;#160; As I said they are very forgiving.&lt;/p&gt;  &lt;p&gt;Again this proved how useful this strategy is, and on Saturday I will put the appropriate steps in place to stop the demo gremlins.&lt;/p&gt;  &lt;p&gt;Just in case you are wondering Visual Studio 2008 and the Web Development Server kept locking up.&amp;#160; In the end I went for an open browser, building and refreshing (rather than clicking the play button).&amp;#160; This seemed to please the demo gods more.&lt;/p&gt;  &lt;p&gt;I also discovered that doing a demo on network addresses changing (when you are not connected to a network), is not a clever thing to do.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5338674002485123058?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5338674002485123058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5338674002485123058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5338674002485123058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5338674002485123058'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/04/demo-gremlins.html' title='Demo Gremlins'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8778444543602007501</id><published>2009-03-30T16:26:00.001-07:00</published><updated>2009-03-30T16:26:51.610-07:00</updated><title type='text'>Silverlight: SL3 Navigation Screencasts</title><content type='html'>&lt;p&gt;In this &lt;a href="http://www.screencast.com/t/Uchd8ARaUt" target="_blank"&gt;first video,&lt;/a&gt; I show how to get started with the new Silverlight 3 Navigation feature.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/87013ec6-3e1a-4fc9-8200-f16cc4cc960d/SL3Navigation1.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/87013ec6-3e1a-4fc9-8200-f16cc4cc960d/SL3Navigation1.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;  &lt;p&gt;In this &lt;a href="http://www.screencast.com/t/gZ9O0ggj" target="_blank"&gt;second video&lt;/a&gt;, I show you how to use the new Uri Mapper and deep linking feature.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/aef77013-2f66-491c-9f67-c34f2b567c02/sl3navigation2.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/aef77013-2f66-491c-9f67-c34f2b567c02/sl3navigation2.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8778444543602007501?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8778444543602007501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8778444543602007501' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8778444543602007501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8778444543602007501'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-sl3-navigation-screencasts.html' title='Silverlight: SL3 Navigation Screencasts'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8371666645519298221</id><published>2009-03-26T17:07:00.001-07:00</published><updated>2009-03-26T17:07:58.738-07:00</updated><title type='text'>Silverlight: GPU reverts to CPU Screencast</title><content type='html'>&lt;p&gt;In my &lt;a href="http://silverlightuk.blogspot.com/2009/03/silverlight-gpu-acceleration-screencast.html" target="_blank"&gt;previous screencast&lt;/a&gt;, i showed you the benefits of GPU acceleration in Silverlight 3 and how to make use of it, as well of an instance where enabling GPU acceleration will harm performance.&lt;/p&gt;  &lt;p&gt;In &lt;a href="http://www.screencast.com/t/X6AHM6yvmX" target="_blank"&gt;this screencast&lt;/a&gt;, I will show you that in certain scenarios even though you have enabled GPU acceleration, Silverlight will revert to the CPU.&amp;#160; Specifically we cover RenderTransforms, Pixel Shader Effects and 3D Perspective (Plane Projections).&amp;#160; Video is below.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/2868f970-41cb-431a-8daf-249e39f89c56/Silverlight%20GPU%20Acceleration%202.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/2868f970-41cb-431a-8daf-249e39f89c56/Silverlight%20GPU%20Acceleration%202.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8371666645519298221?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8371666645519298221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8371666645519298221' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8371666645519298221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8371666645519298221'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-gpu-reverts-to-cpu.html' title='Silverlight: GPU reverts to CPU Screencast'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1781280789350398413</id><published>2009-03-25T17:34:00.001-07:00</published><updated>2009-03-25T17:37:28.455-07:00</updated><title type='text'>Silverlight: GPU Acceleration Screencast</title><content type='html'>&lt;p&gt;I wanted to do a &lt;a href="http://www.screencast.com/t/DHL8Dvf6y"&gt;screencast on Silverlight GPU Acceleration&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hopefully this video should show how to use GPU acceleration and when to use it, and an instance of when you might not want to use it.&lt;/p&gt;  &lt;p&gt;There are lots of other instances of when you would want to, and not want to use GPU acceleration (and I will probably cover them in future videos), as I like to keep the screencasts short.&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/40772314-6dac-4c8d-9ea6-8a28a2686417/sl3gpuacceleration.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/40772314-6dac-4c8d-9ea6-8a28a2686417/sl3gpuacceleration.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1781280789350398413?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1781280789350398413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1781280789350398413' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1781280789350398413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1781280789350398413'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-gpu-acceleration-screencast.html' title='Silverlight: GPU Acceleration Screencast'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8254628530549102897</id><published>2009-03-24T17:16:00.001-07:00</published><updated>2009-03-24T17:16:58.962-07:00</updated><title type='text'>Silverlight: SL3 WriteableBitmap Video</title><content type='html'>&lt;p&gt;I've spent a little time now with the Silverlight 3 WriteableBitmap stuff (playing with my Spectrum Emulator).&amp;#160; So I thought I'd make a little video going through using it.&lt;/p&gt;  &lt;p&gt;I show you how to use WriteableBitmap to generate some random noise, some gotchas and show how the emulator makes use of WriteableBitmap.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.screencast.com/t/SGrPSqNRj"&gt;Silverlight 3 WriteableBitmap can be viewed from here or below&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" height="365" standby="Loading Microsoft Windows Media Player components..." width="400" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/69d8f721-d444-4946-b6df-a7fe9f64088c/SL3WriteableBitmap.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/69d8f721-d444-4946-b6df-a7fe9f64088c/SL3WriteableBitmap.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8254628530549102897?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8254628530549102897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8254628530549102897' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8254628530549102897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8254628530549102897'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-sl3-writeablebitmap-video.html' title='Silverlight: SL3 WriteableBitmap Video'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6091608260053385639</id><published>2009-03-23T03:32:00.001-07:00</published><updated>2009-03-23T03:32:10.911-07:00</updated><title type='text'>Silverlight: SLLauncher</title><content type='html'>&lt;p&gt;This is just a quick post about debugging in Silverlight 3 “Out of Browser” mode.&lt;/p&gt;  &lt;p&gt;Your offline Silverlight application does not run in Internet Explore but will run in the a standalone executable called “SLLauncher.exe” which ships with Silverlight.&amp;#160; SLLauncher is essentially a windows application which hosts a browser control (and on the Mac it hosts webkit).&amp;#160; In windows look at (C:\Program Files\Microsoft Silverlight\3.0.40307.0\sllauncher.exe).&lt;/p&gt;  &lt;p&gt;This means that is you were to look for your “out of browser” silverlight application in Task Manager it will be listed as “SLLauncher.exe”.&amp;#160; The bad new is that (for the beta) it does not list in taskmanager any details of the application running, it will just show as “sllauncher.exe”, this means you can’t distinguish between multiple “out of browser” applications running on your machine.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This means if you wish to debug your SLOOB application, then you will need to attach to the sllauncher process.&amp;#160; Visual Studio will not automatically attach to your SLOOB application.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6091608260053385639?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6091608260053385639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6091608260053385639' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6091608260053385639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6091608260053385639'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-sllauncher.html' title='Silverlight: SLLauncher'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8839568274082632226</id><published>2009-03-21T17:45:00.001-07:00</published><updated>2009-03-21T17:45:10.484-07:00</updated><title type='text'>Silverlight: Web Pixel Shader Compiler</title><content type='html'>&lt;p&gt;So I've built a very quick silverlight application (I will tidy it up later), that will compile your pixel shader code for you.&amp;#160; This saves you from downloading the DirectX SDK.&lt;/p&gt;  &lt;p&gt;The url to use the compiler is here: &lt;a href="http://www.voxpeeps.com/slpixelshadercompiler/"&gt;http://www.voxpeeps.com/slpixelshadercompiler/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A little screenshot is below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_5NvOQ-q6xac/ScWKEPWbnDI/AAAAAAAAADY/4lBZ-n2bouM/image%5B2%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="141" alt="image" src="http://lh6.ggpht.com/_5NvOQ-q6xac/ScWKFEJ0HPI/AAAAAAAAADc/6NUpDCBMedU/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the first textbox, enter the name of your .ps file (do not include the .ps extension).&lt;/p&gt;  &lt;p&gt;In the second textbox, enter the contents of your .fx file.&lt;/p&gt;  &lt;p&gt;Click on the compile button, and it will give you a link to download your .ps file.&lt;/p&gt;  &lt;p&gt;You can the include your .ps file into your silverlight 3 application.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.andybeaulieu.com/Home/tabid/67/EntryID/145/Default.aspx" target="_blank"&gt;For more details on creating custom pixel shaders see this blog entry from Andy Beaulieu&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I will probably do a quick video on using this tool soon, and will tidy it up to make it look a little more professional at a later date.&lt;/p&gt;  &lt;p&gt;In the mean time, feel free to go to: &lt;a title="http://wpffx.codeplex.com/" href="http://wpffx.codeplex.com/"&gt;http://wpffx.codeplex.com/&lt;/a&gt; and compile them for use in Silverlight at &lt;a href="http://www.voxpeeps.com/slpixelshadercompiler/"&gt;http://www.voxpeeps.com/slpixelshadercompiler/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8839568274082632226?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8839568274082632226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8839568274082632226' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8839568274082632226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8839568274082632226'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-web-pixel-shader-compiler.html' title='Silverlight: Web Pixel Shader Compiler'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_5NvOQ-q6xac/ScWKFEJ0HPI/AAAAAAAAADc/6NUpDCBMedU/s72-c/image_thumb.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5320387965179661945</id><published>2009-03-21T14:40:00.001-07:00</published><updated>2009-03-21T14:40:56.924-07:00</updated><title type='text'>Silverlight: WriteableBitmap Gotchas</title><content type='html'>&lt;p&gt;So I updated my &lt;a href="http://silverlightuk.blogspot.com/2009/03/silverlight-sl3-spectrum-emulator.html" target="_blank"&gt;Silverlight Spectrum Emulator to work with Silverlight 3&lt;/a&gt; and in this process I used the new WriteableBitmap class.&lt;/p&gt;  &lt;p&gt;I just wanted to make you aware of a few gotchas that I experienced whilst working with this.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Set the Image Source everytime&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Gotcha number 1, for some reason after updating a bitmap, you must reset the source of the image to your bitmap.&amp;#160; If you don't then you will get very jerky updates (it won't re-render every time).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Out of Memory Exceptions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Due to gotcha number 1, you may be tempted touse a local variable for the WriteableBitmap, and then set the source of the image.&amp;#160; &lt;strong&gt;DO NOT&lt;/strong&gt; do this, as it will steal all your memory, and you will get an out of memory exception.&lt;/p&gt;  &lt;p&gt;To get around this you should scope your WriteableBitmap to your page, and thus you will avoid the out of memory exception&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5320387965179661945?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5320387965179661945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5320387965179661945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5320387965179661945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5320387965179661945'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-writeablebitmap-gotchas.html' title='Silverlight: WriteableBitmap Gotchas'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6389287135444571000</id><published>2009-03-21T04:55:00.001-07:00</published><updated>2009-03-21T04:55:46.716-07:00</updated><title type='text'>Silverlight: Pixel Shader Libraries</title><content type='html'>&lt;p&gt;So I absolutely love the support for pixel shaders in Silverlight 3.&amp;#160; You can apply some pretty cool effects (DropShadow and Blur are built in), or you can apply custom effects.&lt;/p&gt;  &lt;p&gt;The method for producing custom shaders in SL3 is the same as WPF, which means that any custom shaders that are produced for WPF should work for Silverlight (this is a big assumption as I haven't tried it yet)&lt;/p&gt;  &lt;p&gt;Creating custom pixel shaders is not the sort of task that everyday coders (including me), do.&amp;#160; However any shaders produced by other people, we are quite happy to use.&lt;/p&gt;  &lt;p&gt;In codeplex there is a nice custom shader library for WPF (for which I see no reason wouldn't work for silverlight 3, caveat is I haven't tried it yet).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/wpffx/"&gt;http://www.codeplex.com/wpffx/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Effects include&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Effects: &lt;/strong&gt;BandedSwirl, Bloom, BrightExtract, ColorKeyAlpha, ColorTone, ContrastAdjust, DirectionalBlur, Embossed, Gloom, GrowablePoissonDiskEffect, InvertColor, LightStreak, Magnify, Monochrome, Pinch, Pixelate, Ripple, Sharpen, SmoothMagnify, Swirl, Tone, Toon, and ZoomBlur&lt;/p&gt;  &lt;p&gt;I will try and grab some time, and try sticking one of the effects on SL3, and let you know the results&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6389287135444571000?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6389287135444571000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6389287135444571000' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6389287135444571000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6389287135444571000'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-pixel-shader-libraries.html' title='Silverlight: Pixel Shader Libraries'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-9120884090673801909</id><published>2009-03-20T16:34:00.001-07:00</published><updated>2009-03-20T16:34:16.541-07:00</updated><title type='text'>Silverlight: SL3 Dropshadows are slow</title><content type='html'>&lt;p&gt;This is probably no great surprise to anyone but bitmap effects have quite a significant performance hit on your CPU.&lt;/p&gt;  &lt;p&gt;The following code is an example of how to apply a drop shadow&lt;/p&gt;  &lt;pre&gt;&amp;lt;StackPanel&amp;gt;&lt;br /&gt;  &amp;lt;Button Content=&amp;quot;Drop Shadow Under Me&amp;quot;  Width=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;Button.Effect&amp;gt;&lt;br /&gt;         &amp;lt;DropShadowEffect Color=&amp;quot;Black&amp;quot; Direction=&amp;quot;320&amp;quot; &lt;br /&gt;           ShadowDepth=&amp;quot;25&amp;quot; BlurRadius=&amp;quot;5&amp;quot; Opacity=&amp;quot;0.5&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;/Button.Effect&amp;gt;&lt;br /&gt;  &amp;lt;/Button&amp;gt;&lt;br /&gt;&amp;lt;/StackPanel&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So just be aware before you start apply dropshadows to every button / element on the page that it will slow your application down.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Just be considerate in your use (and always check your performance), especially since some effects (such as dropshadow) can easily be produced using more performant techniques.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-9120884090673801909?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/9120884090673801909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=9120884090673801909' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9120884090673801909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9120884090673801909'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-sl3-dropshadows-are-slow.html' title='Silverlight: SL3 Dropshadows are slow'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1681589221015787628</id><published>2009-03-19T16:14:00.001-07:00</published><updated>2009-03-19T16:21:10.364-07:00</updated><title type='text'>Silverlight: SL3 Spectrum Emulator</title><content type='html'>&lt;p&gt;Ok, so I updated the spectrum emulator to run in Silverlight 3.&lt;/p&gt;&lt;p&gt;The performance is now amazing, due to GPU Acceleration, WriteableBitmap, and it also runs out of browser (right click and install).&lt;/p&gt;&lt;p&gt;I guess I will update it with more SL3 features at some point.  Have fun writing spectrum basic, and playing manic miner etc.&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.voxpeeps.com/silverlightspectrumemulator/SL3Emulator.aspx" href="http://www.voxpeeps.com/silverlightspectrumemulator/SL3Emulator.aspx"&gt;http://www.voxpeeps.com/silverlightspectrumemulator/SL3Emulator.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Instructions&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Click your mouse within the emulator to begin&lt;/p&gt;&lt;p&gt;Symbol Shift is the Home Key, Remember Shift 0 is backspace, and Symbol Shift (home) P is a quote mark.&lt;/p&gt;&lt;p&gt;The emulator works with .SNA files, which you should be able to download from various sites and run via the Open File option, just search for .sna and whatever game.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.guybrush.demon.co.uk/spectrum/docs/Keys.gif"&gt;Click here for an the layout of the spectrum keyboard&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Play with it&lt;/strong&gt;&lt;/p&gt;&lt;iframe src="http://www.voxpeeps.com/silverlightspectrumemulator/SL3Emulator2.aspx" frameborder="0" width="400" scrolling="no" height="400"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1681589221015787628?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1681589221015787628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1681589221015787628' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1681589221015787628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1681589221015787628'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-sl3-spectrum-emulator.html' title='Silverlight: SL3 Spectrum Emulator'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1509185745032457079</id><published>2009-03-18T17:27:00.001-07:00</published><updated>2009-03-18T17:27:30.154-07:00</updated><title type='text'>Silverlight: OOB: Detach, user cancelling and exceptions</title><content type='html'>&lt;p&gt;So there is a couple of things I want you to be aware of when detaching your Silverlight application&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;App.Current.Detach() returns a boolean&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If the user selects cancel, then it will return false, otherwise it will return true.&amp;#160; You need to check for this, rather than assuming it worked.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exceptions if you are already detached&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You will receive a very nice InvalidOperationException with a message stating your application is already detached (if you attempt to detach your application, and you are already detached).&lt;/p&gt;  &lt;p&gt;You need to catch this, you can't test for this in the Execution State, because if the user has installed, and then uninstalled your application straight away, but then decides to install it once more, in the same instance, then your &amp;quot;In Browser&amp;quot; application will believe you are detached when you are not.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exceptions (badly), if you detach and you are not detachable&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you attempt to detach (via code), and your application is not detachable (you didn't setup the xml in your manifest).&amp;#160; SL3 will throw a big wobbly, be careful.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1509185745032457079?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1509185745032457079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1509185745032457079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1509185745032457079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1509185745032457079'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-oob-detach-user-cancelling.html' title='Silverlight: OOB: Detach, user cancelling and exceptions'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3288329845664967662</id><published>2009-03-18T17:15:00.001-07:00</published><updated>2009-03-18T17:17:21.704-07:00</updated><title type='text'>Silverlight: Out of Browser Videos</title><content type='html'>&lt;p&gt;So I've posted a couple of videos, on working with the new Silverlight 3 Out of Browser feature.&lt;/p&gt;  &lt;p&gt;These videos are less than 10 minutes each, so hopefully should be quite short.&lt;/p&gt;  &lt;p&gt;Part 1: Shows you how to make your Silverlight 3 applications "Out of Browser"&lt;/p&gt;  &lt;object name="Video" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" width="400" height="365"&gt; &lt;param name="url" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/65bc84b9-1804-403d-b529-9b6c186d9a1b/Silverlight%203%20OOB%201.wmv"&gt; &lt;param name="AutoStart" value="0"&gt; &lt;param name="ShowControls" value="true"&gt; &lt;param name="uiMode" value="full"&gt; &lt;param name="playCount" value="1"&gt; &lt;param name="CurrentPosition" value="0"&gt; &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/65bc84b9-1804-403d-b529-9b6c186d9a1b/Silverlight%203%20OOB%201.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;   &lt;a href="http://www.screencast.com/t/NnwEqn5C"&gt;Silverlight 3 OOB 1&lt;/a&gt;  &lt;p&gt;Part 2: Shows you how to track if you have a network connection, what happens if you are working offline, and how to track if your application is installed as "Out of Browser"&lt;/p&gt; &lt;object codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" type="application/x-oleobject" standby="Loading Microsoft Windows Media Player components..." classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" name="Video" width="400" height="365"&gt;&lt;param name="URL" value="http://content.screencast.com/users/chrishayuk/folders/Default/media/877e1988-6f1d-4072-845d-9d1c87e1ad14/Silverlight%20Out%20Of%20Browser%20Part%202.wmv"&gt;&lt;param name="rate" value="1"&gt;&lt;param name="balance" value="0"&gt;&lt;param name="currentPosition" value="0"&gt;&lt;param name="defaultFrame" value=""&gt;&lt;param name="playCount" value="1"&gt;&lt;param name="autoStart" value="0"&gt;&lt;param name="currentMarker" value="0"&gt;&lt;param name="invokeURLs" value="-1"&gt;&lt;param name="baseURL" value=""&gt;&lt;param name="volume" value="50"&gt;&lt;param name="mute" value="0"&gt;&lt;param name="uiMode" value="full"&gt;&lt;param name="stretchToFit" value="0"&gt;&lt;param name="windowlessVideo" value="0"&gt;&lt;param name="enabled" value="-1"&gt;&lt;param name="enableContextMenu" value="-1"&gt;&lt;param name="fullScreen" value="0"&gt;&lt;param name="SAMIStyle" value=""&gt;&lt;param name="SAMILang" value=""&gt;&lt;param name="SAMIFilename" value=""&gt;&lt;param name="captioningID" value=""&gt;&lt;param name="enableErrorDialogs" value="0"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="9657"&gt;        &lt;embed name="Video" type="application/x-mplayer2" src="http://content.screencast.com/users/chrishayuk/folders/Default/media/877e1988-6f1d-4072-845d-9d1c87e1ad14/Silverlight%20Out%20Of%20Browser%20Part%202.wmv" autostart="0" showcontrols="1" uimode="full" playcount="1" currentposition="0" width="400" height="365"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;a href="http://www.screencast.com/t/WyYkstTb"&gt;Silverlight Out Of Browser Part 2&lt;/a&gt;   &lt;p&gt;I'm sure I will do more videos&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3288329845664967662?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3288329845664967662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3288329845664967662' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3288329845664967662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3288329845664967662'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-out-of-browser.html' title='Silverlight: Out of Browser Videos'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7270315614056441825</id><published>2009-03-18T17:06:00.001-07:00</published><updated>2009-03-18T17:06:38.897-07:00</updated><title type='text'>Silverlight: Out of Browser, uninstalling doesn't update execution state</title><content type='html'>&lt;p&gt;So lets say I have my Silverlight 3 application, and I decide to run my app &amp;quot;Out of Browser&amp;quot;.&lt;/p&gt;  &lt;p&gt;The Execution State allows me to determine if my application is detached (i.e. installed as an Out Of Browser application, or Running Online, there are some other states)&lt;/p&gt;  &lt;pre class="csharpcode"&gt;Application.Current.ExecutionState&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;As soon as I install my application as an out of browser application, then both my &amp;quot;In Browser&amp;quot; and &amp;quot;Out of Browser&amp;quot; can detect that my application is detached (i.e. is installed as out of browser).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;However if I then subsequently uninstall my &amp;quot;Out of Browser&amp;quot; application, the &amp;quot;In Browser&amp;quot; application is not notified of the update, and still thinks I am in the detached state.&amp;#160; This state isn't refreshed until I reload my Silverlight application&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7270315614056441825?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7270315614056441825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7270315614056441825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7270315614056441825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7270315614056441825'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-out-of-browser-uninstalling.html' title='Silverlight: Out of Browser, uninstalling doesn&amp;#39;t update execution state'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5835549360005667329</id><published>2009-03-18T17:00:00.001-07:00</published><updated>2009-03-18T17:00:09.583-07:00</updated><title type='text'>Silverlight: GetIsNetworkAvailable doesn't capture working offline</title><content type='html'>&lt;p&gt;The new Silverlight 3 feature call:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;will tell you if your machine as an available network connection.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This allows you to determine if your application is running disconnected from the network (e.g. on a network connection).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;One of the purposes of this call is to allow you to decided if you need to store data to isolated storage and sync back to the server later, or if you can sync with the server just now.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;However be aware, if you have set your browser to &amp;quot;Working Offline&amp;quot;, GetIsNetworkAvailable will not take this into account.&lt;/p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5835549360005667329?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5835549360005667329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5835549360005667329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5835549360005667329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5835549360005667329'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-getisnetworkavailable-doesn.html' title='Silverlight: GetIsNetworkAvailable doesn&amp;#39;t capture working offline'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6897962059592085552</id><published>2009-03-18T06:43:00.001-07:00</published><updated>2009-03-18T06:43:12.576-07:00</updated><title type='text'>Last night at NxtGen – Doing software large</title><content type='html'>&lt;p&gt;Last night I had the pleasure of watching an absolutely fantastic presentation in Cambridge UK.&lt;/p&gt;  &lt;p&gt;We had Alisson Sol of Microsoft Research (who used to work in the product teams at Redmond).&amp;#160; He gave the user group, a very frank, very entertaining presentation on developing software in large companies (specifically Microsoft).&lt;/p&gt;  &lt;p&gt;We also got a great insight into how things work at Microsoft.&lt;/p&gt;  &lt;p&gt;A big thanks to Alisson for this great presentation&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6897962059592085552?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6897962059592085552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6897962059592085552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6897962059592085552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6897962059592085552'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/last-night-at-nxtgen-doing-software.html' title='Last night at NxtGen – Doing software large'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1805346173597958436</id><published>2009-03-16T15:33:00.001-07:00</published><updated>2009-03-16T15:33:22.099-07:00</updated><title type='text'>Mix is nearly here</title><content type='html'>&lt;p&gt;The blogging frenzy will resume shortly :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1805346173597958436?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1805346173597958436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1805346173597958436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1805346173597958436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1805346173597958436'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/mix-is-nearly-here.html' title='Mix is nearly here'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7957900873509052937</id><published>2009-03-03T08:26:00.001-08:00</published><updated>2009-03-03T08:26:06.260-08:00</updated><title type='text'>Google Chrome the Resource Hog</title><content type='html'>&lt;p&gt;On my little netbook, I run Google Chrome rather than IE6 as my web browser (IE6 is the default, and I don't really want to put IE7 on due to various reasons).&amp;#160; Google Chrome is extremely fast on my netbook and i have a good browsing experience, it definitely seems much better than IE6.&lt;/p&gt;  &lt;p&gt;I have started to notice that just running Chrome takes on average between 5-10% of my CPU time just for it to sit there.&amp;#160; That's an awful lot of CPU time for having a browser window open (that is essentially doing nothing).&amp;#160; I think it's time to change browser.&amp;#160; I might give the new Safari Browser a go.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7957900873509052937?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7957900873509052937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7957900873509052937' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7957900873509052937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7957900873509052937'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/google-chrome-resource-hog.html' title='Google Chrome the Resource Hog'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2185892210162165716</id><published>2009-03-03T06:08:00.001-08:00</published><updated>2009-03-03T06:08:39.912-08:00</updated><title type='text'>Silverlight:  Register for DDD South West</title><content type='html'>&lt;p&gt;Go! Quickly! Stop reading this and register now! Registration for &lt;a href="http://www.dddsouthwest.com/"&gt;DDD South West&lt;/a&gt; is now open. Be able to tell your grandchildren that you were there at the very beginning. Remember, there can be only one first time.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dddsouthwest.com/"&gt;DDD South West&lt;/a&gt; is a free one day technical event on Saturday 23rd May 2009 at Queens College, Taunton with 13 top speakers providing 19 technical presentations&lt;/p&gt;  &lt;p&gt;I'll be doing an Azure talk, Richard Costall will be doing a Silverlight talk (including some SL3), plus loads of more great talks.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2185892210162165716?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2185892210162165716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2185892210162165716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2185892210162165716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2185892210162165716'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-register-for-ddd-south-west.html' title='Silverlight:  Register for DDD South West'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-9127646804662082626</id><published>2009-03-01T12:51:00.001-08:00</published><updated>2009-03-01T12:51:04.224-08:00</updated><title type='text'>Silverlight: DDD Belfast - A peek at Silverlight 3</title><content type='html'>&lt;p&gt;So a big thanks to everyone who voted for my session.&amp;#160; I feel very honored that my session has been voted in.&lt;/p&gt;  &lt;p&gt;So if you are interested in Silverlight 3 and in Belfast on the 4th of April (a saturday), then I will see you there.&lt;/p&gt;  &lt;p&gt;For more info on &lt;a href="http://developerdeveloperdeveloper.com/belfast/" target="_blank"&gt;DDD Belfast, click on the link&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-9127646804662082626?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/9127646804662082626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=9127646804662082626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9127646804662082626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9127646804662082626'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-ddd-belfast-peek-at.html' title='Silverlight: DDD Belfast - A peek at Silverlight 3'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8804659753063659126</id><published>2009-03-01T12:48:00.001-08:00</published><updated>2009-03-01T12:48:26.029-08:00</updated><title type='text'>Silverlight: At the MVP Summit in Seattle</title><content type='html'>&lt;p&gt;So I'm at the MVP Summit in Seattle. &lt;/p&gt;  &lt;p&gt;If you wanna say hello please do so.&amp;#160; I always wear a Hawaiian shirt at conferences, so I'm pretty easy to spot.&lt;/p&gt;  &lt;p&gt;Anyways, this is gonna be a great few days, and looking forward to meeting lots of great folks &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8804659753063659126?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8804659753063659126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8804659753063659126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8804659753063659126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8804659753063659126'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/03/silverlight-at-mvp-summit-in-seattle.html' title='Silverlight: At the MVP Summit in Seattle'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6686173788730046300</id><published>2009-02-26T06:37:00.001-08:00</published><updated>2009-02-26T06:37:16.310-08:00</updated><title type='text'>Removing Duplicate Items from Xml using XPath</title><content type='html'>&lt;p&gt;I needed this today, and I figured I will need it again in the future, hence my need to blog this.&lt;/p&gt;  &lt;p&gt;I need some XPath which would remove duplicate elements from xml depending on an attribute on the item, e.g.&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Item&lt;/span&gt; &lt;span class="attr"&gt;ItemNumber&lt;/span&gt;=”&lt;span class="attr"&gt;1&lt;/span&gt;”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Item&lt;/span&gt; &lt;span class="attr"&gt;ItemNumber&lt;/span&gt;=”&lt;span class="attr"&gt;1&lt;/span&gt;”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Item&lt;/span&gt; &lt;span class="attr"&gt;ItemNumber&lt;/span&gt;=”&lt;span class="attr"&gt;2&lt;/span&gt;”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The following XPath does the job perfectly (for my needs)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;//Items/Item[not(@ItemNumber=preceding::Item/@ItemNumber)]/@ItemNumber&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Which returns the following list:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Item&lt;/span&gt; &lt;span class="attr"&gt;ItemNumber&lt;/span&gt;=”&lt;span class="attr"&gt;1&lt;/span&gt;”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Item&lt;/span&gt; &lt;span class="attr"&gt;ItemNumber&lt;/span&gt;=”&lt;span class="attr"&gt;2&lt;/span&gt;”&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6686173788730046300?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6686173788730046300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6686173788730046300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6686173788730046300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6686173788730046300'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/removing-duplicate-items-from-xml-using.html' title='Removing Duplicate Items from Xml using XPath'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2555134461564342621</id><published>2009-02-17T05:32:00.001-08:00</published><updated>2009-02-17T05:32:25.893-08:00</updated><title type='text'>DDD Southwest</title><content type='html'>&lt;p&gt;So I want to take a little time out to mention &lt;a href="http://www.dddsouthwest.com/" target="_blank"&gt;DDD Southwest&lt;/a&gt;.&amp;#160; If you are based in the South West of England, then this is a great conference for you to attend.&amp;#160; It’s on a Saturday (the 23rd of May), and it’s free.&amp;#160; Even if you are not based in Taunton, I think it’s worth travelling down for. &lt;/p&gt;  &lt;p&gt;Let me explain Why.&amp;#160; The conference is run by Guy Smith-Ferrier who is one of the most community focused individuals, and one of my favorite speakers.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Main Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.dddsouthwest.com/Agenda/tabid/55/Default.aspx" target="_blank"&gt;main agenda&lt;/a&gt; is great, great speakers + topics.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight (i’m sure there will be some SL3 in there, knowing Richard) – Richard Costall&lt;/li&gt;    &lt;li&gt;ASP.NET MVC – Steve Sanderson (great book on MVC)&lt;/li&gt;    &lt;li&gt;Oslo – Robert Hogg&lt;/li&gt;    &lt;li&gt;C# 4.0 – Guy Smith-Ferrier&lt;/li&gt;    &lt;li&gt;MEF – Ben Hall&lt;/li&gt;    &lt;li&gt;Refacoring – Gary Short&lt;/li&gt;    &lt;li&gt;Scrum – Richard Fenell&lt;/li&gt;    &lt;li&gt;Quantum Computing – Dave McMahon&lt;/li&gt;    &lt;li&gt;Windows Azure – Chris Hay (a little biased I know).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Don’t get me wrong it’s a real honor to be asked to speak at this conference, and the speaker line and topics is superb, but this isn’t what is exciting me the most.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A call for new speakers&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This really excites me, there is a &lt;a href="http://www.dddsouthwest.com/CallForNewSpeakers/tabid/61/Default.aspx" target="_blank"&gt;call for new speakers&lt;/a&gt;.&amp;#160; So there will be a bunch of sessions from new speakers, with new takes on various topics.&amp;#160; It will be superb and I can’t wait.&amp;#160; It wasn’t that long ago when I was a new speaker, and it’s a great opportunity for new speakers to get sessions without competing against the big guns.&lt;/p&gt;  &lt;p&gt;I think this is a great format that gives new speakers a chance to cut their teeth, in a supportive environment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Alternative Track&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I think this track however excites me the most, as I haven’t seen this format before.&lt;/p&gt;  &lt;p&gt;It’s the Conference Party Games Track :)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Park Bench Discussion&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Rotating Speaker Panel, where anyone can join in answering&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Small is beautiful and hard&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Make beautiful code from average code&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Workshop for single handed developers&lt;/li&gt;    &lt;li&gt;Balloon Debate&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;One Ballon, 5 languages represented by 5 people.&amp;#160; The ballon is sinking and you need to ditch languages to gain height.&amp;#160; For the first 30 minutes, each person representing a language has to argue their cause.&amp;#160; After 30 minutes the audience throws out 3 of the people / languages.&amp;#160; It’s then head to head.&amp;#160; Winner takes all&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Planning Poker&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Looks super cool, everyone estimates a problem and shows their estimate simultaneously and then has to come to a consensus of the estimate&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;What a superb looking day, and it’s looks pretty different from other conferences.&lt;/p&gt;  &lt;p&gt;Well done Guy on producing such a great format, and I’ll see you there.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2555134461564342621?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2555134461564342621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2555134461564342621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2555134461564342621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2555134461564342621'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/ddd-southwest.html' title='DDD Southwest'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1261366155494282740</id><published>2009-02-15T12:29:00.001-08:00</published><updated>2009-02-15T12:29:49.908-08:00</updated><title type='text'>May'be we've got databases all wrong</title><content type='html'>&lt;p&gt;I sometimes wonder if we've got databases all wrong.&lt;/p&gt;  &lt;p&gt;We organize the data into logical blocks, and then we connect those blocks together in such a way that we think makes sense.&amp;#160; We then spend our lives arguing about what should be in the blocks and how we should connect them together.&amp;#160; We also worry about where the blocks should live and the best way of connecting the blocks together.&amp;#160; We worry about the best way of keeping the blocks as small as possible (and so it goes on and on).&lt;/p&gt;  &lt;p&gt;In the end we realize that our blocks and connections don't scale so well, and the best method&amp;#160; of scaling is one big block, which we can chop up into little pieces.&lt;/p&gt;  &lt;p&gt;Perhaps we are not so good at organizing the data, maybe we should let the data organize itself.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1261366155494282740?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1261366155494282740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1261366155494282740' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1261366155494282740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1261366155494282740'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/may-we-got-databases-all-wrong.html' title='May&amp;#39;be we&amp;#39;ve got databases all wrong'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4871025280266895969</id><published>2009-02-14T15:07:00.001-08:00</published><updated>2009-02-14T15:07:29.325-08:00</updated><title type='text'>I Love Visual Studio, .NET and C#</title><content type='html'>&lt;p&gt;This morning I had a play around with Java ME and Netbeans.&lt;/p&gt;  &lt;p&gt;There is a good&amp;#160; reason for this, I don't like not understanding things, and I don't like being limited in ways and methods.&lt;/p&gt;  &lt;p&gt;Now I achieved an awful lot in a few hours and I feel I have enough of an understanding of Java ME to build mobile applications (which could interact with .NET backends). &lt;/p&gt;  &lt;p&gt;As much as developing for Java ME is simple and there is a lot of things I liked, it makes me appreciate .NET, C# and Visual Studio.&lt;/p&gt;  &lt;p&gt;Wow, in my humble opinion, C# is far superior to Java and applications are far quicker and easier to develop with the .NET Framework and Visual Studio.&amp;#160; I could not contemplate ever developing a back end solution in Java.&lt;/p&gt;  &lt;p&gt;That's not to say that I don't see little Java ME applications talking to WCF Rest based Services.&amp;#160; I I feel I have now opened that possibility to myself.&amp;#160; However I have to say developing Silverlight applications is much preferred.&lt;/p&gt;  &lt;p&gt;Please make Silverlight for Mobile appear on as many mobile phones as possible :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4871025280266895969?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4871025280266895969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4871025280266895969' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4871025280266895969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4871025280266895969'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/i-love-visual-studio-net-and-c.html' title='I Love Visual Studio, .NET and C#'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5942719311528847785</id><published>2009-02-12T15:36:00.001-08:00</published><updated>2009-02-12T15:36:10.237-08:00</updated><title type='text'>Blacklight: A wicked set of Silverlight controls</title><content type='html'>&lt;p&gt;So I stumbled upon this set of wicked Silverlight controls created by a bunch of UX Designery folks at Microsoft Consulting UK.&lt;/p&gt;  &lt;p&gt;These are a really stylish set of black Silverlight controls.&amp;#160; The best thing is they are free to use / download and they come with source.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://mightymeaty.members.winisp.net/blacklight.silverlight/"&gt;http://mightymeaty.members.winisp.net/blacklight.silverlight/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5942719311528847785?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5942719311528847785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5942719311528847785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5942719311528847785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5942719311528847785'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/blacklight-wicked-set-of-silverlight.html' title='Blacklight: A wicked set of Silverlight controls'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8167491872728658851</id><published>2009-02-07T16:05:00.001-08:00</published><updated>2009-02-07T16:05:29.963-08:00</updated><title type='text'>Silverlight Games and the real time web</title><content type='html'>&lt;p&gt;So following on from my last post, where i was talking about High Score Services.&lt;/p&gt;  &lt;p&gt;Perhaps the high score service concept could be taken further.&amp;#160; &lt;/p&gt;  &lt;p&gt;Why not have your application automatically integrate with your facebook account (or twitter)m and automatically publish your high scores to your friends.&lt;/p&gt;  &lt;p&gt;Let your friends know your status realtime in the game.&lt;/p&gt;  &lt;p&gt;Chris has just scored 20,000 points in Kangaroo Man (a made up game title).&amp;#160; Chris is currently on Level 2 of Big Bad Space Aliens.&amp;#160; Chris has just been wiped out by a big scary Alien.&lt;/p&gt;  &lt;p&gt;Again, this would be cool functionality.&amp;#160; A real pain for a casual game developer to do on his/her own, but if a common library / service was available to integrate too, it would raise the bar of games.&lt;/p&gt;  &lt;p&gt;P.S. Don't read this as a service / library I plan to write.&amp;#160; I'm merely pontificating.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8167491872728658851?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8167491872728658851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8167491872728658851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8167491872728658851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8167491872728658851'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/silverlight-games-and-real-time-web.html' title='Silverlight Games and the real time web'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1807938234193646301</id><published>2009-02-07T09:59:00.001-08:00</published><updated>2009-02-07T09:59:18.670-08:00</updated><title type='text'>Silverlight Secure High Score Service</title><content type='html'>&lt;p&gt;Just to qualify this, I'm not building any games but it has occurred to me that there is a challenge in building a secure High Score Service for games.&lt;/p&gt;  &lt;p&gt;I'm now of the opinion that it is probably such a challenge for the average casual game developer, that is probably worth someone developing a service (and library code), for other casual game developers to use.&lt;/p&gt;  &lt;p&gt;Here is the reason it is a challenge.&amp;#160; If you implement a simple service where the Silverlight Application simple sends back the high score to the server, it is easily manipulated.&lt;/p&gt;  &lt;p&gt;Just grab Fiddler, capture the request, modify the high score, and send it back.&lt;/p&gt;  &lt;p&gt;So now to stop this sort of attack you need to bring in lots more mechanisms.&lt;/p&gt;  &lt;p&gt;Some thoughts are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Encryption&lt;/li&gt;    &lt;li&gt;Capturing of in-game data&lt;/li&gt;    &lt;li&gt;Hashing with GameId&lt;/li&gt;    &lt;li&gt;Hashing with SessionId&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I guess it depends how far you want to go, total security, or enough of a deterrent.&lt;/p&gt;  &lt;p&gt;Even if the request is encrypted and cannot be tampered with, you could reflect the game and work out the logic.&lt;/p&gt;  &lt;p&gt;I will ponder this some more, however&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1807938234193646301?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1807938234193646301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1807938234193646301' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1807938234193646301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1807938234193646301'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/silverlight-secure-high-score-service.html' title='Silverlight Secure High Score Service'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-9087161355850126581</id><published>2009-02-04T06:33:00.001-08:00</published><updated>2009-02-04T06:34:41.138-08:00</updated><title type='text'>Silverlight 3 Session DDD Scotland</title><content type='html'>&lt;p&gt;So I have submitted a Silverlight 3 session for DDD Scotland.&lt;/p&gt;&lt;p&gt;If you are going to Glasgow in May and you want to see a session on Silverlight 3, then please &lt;a href="http://developerdayscotland.com/main/Voting/tabid/81/Default.aspx"&gt;vote for my session&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Also feel free to vote for other sessions you might wish to see ;)&lt;/p&gt;&lt;p&gt;Finally, please vote for this session :)&lt;/p&gt;&lt;p&gt;I know it sounds a little pleady but it would be nice to visit my parents :), whilst I am there&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-9087161355850126581?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/9087161355850126581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=9087161355850126581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9087161355850126581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/9087161355850126581'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/silverlight-3-session-ddd-scotland.html' title='Silverlight 3 Session DDD Scotland'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-977255163013742443</id><published>2009-02-03T15:43:00.001-08:00</published><updated>2009-02-04T04:38:56.138-08:00</updated><title type='text'>BigTable, MapReduce and Hadoop</title><content type='html'>&lt;p&gt;This post won't make much sense as this is just a reminder to myself.&lt;/p&gt;&lt;p&gt;Over the next few weeks,  I want to spend sometime looking at MapReduce and how it can be applied with Windows Azure (big thanks to Gary Short for mentioning this).&lt;/p&gt;&lt;p&gt;I also want to look at how BigTable compares to Windows Azure Table Storage Services, and finally i want to look into Hadoop.&lt;/p&gt;&lt;p&gt;Sorry this is just a list of things I want to look at, but I will expand out on this later&lt;/p&gt;&lt;p&gt;I'm also wondering how this can relate to Silverlight.   Perhaps you could have multiple Silverlight Nodes running with MapReduce talking back to Windows Azure (via a proxy web service), as well as queues and worker roles&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-977255163013742443?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/977255163013742443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=977255163013742443' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/977255163013742443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/977255163013742443'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/02/bigtable-mapreduce-and-hadoop.html' title='BigTable, MapReduce and Hadoop'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6752800583444027163</id><published>2009-01-26T13:51:00.001-08:00</published><updated>2009-01-26T13:51:55.138-08:00</updated><title type='text'>Silverlight Assault Course: Dublin, Cork, Upavon</title><content type='html'>&lt;p&gt;Big thanks once more to everyone attended.&amp;#160; As promised I would provide a link to my samples, enjoy.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/SilverlightAssaultCourse.zip" href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/SilverlightAssaultCourse.zip"&gt;http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/SilverlightAssaultCourse.zip&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6752800583444027163?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6752800583444027163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6752800583444027163' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6752800583444027163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6752800583444027163'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-assault-course-dublin-cork.html' title='Silverlight Assault Course: Dublin, Cork, Upavon'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8791050379860813541</id><published>2009-01-23T02:25:00.001-08:00</published><updated>2009-01-23T02:25:53.655-08:00</updated><title type='text'>Silverlight Essentials in Upavon</title><content type='html'>&lt;p&gt;So after an intense weekend in Dublin and Cork, myself and Rich do it all again, this time in Upavon, Wiltshire.&lt;/p&gt;  &lt;p&gt;If you’re going to be there, see you tomorrow, it should be a lot of fun.&lt;/p&gt;  &lt;p&gt;For details of the event, see the following link:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.richplum.co.uk/meetings/20090124.pdf" href="http://www.richplum.co.uk/meetings/20090124.pdf"&gt;http://www.richplum.co.uk/meetings/20090124.pdf&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8791050379860813541?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8791050379860813541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8791050379860813541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8791050379860813541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8791050379860813541'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-essentials-in-upavon.html' title='Silverlight Essentials in Upavon'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4076781718975830166</id><published>2009-01-20T03:21:00.001-08:00</published><updated>2009-01-20T03:21:23.822-08:00</updated><title type='text'>Silverlight Assault Course Ireland: Thanks</title><content type='html'>&lt;p&gt;Just wanted to say a big thanks to everyone attended the Assault Course in Dublin and Cork.&lt;/p&gt;  &lt;p&gt;Also a big thanks to Microsoft Ireland + MTUG Ireland (especially Martha and Joe) for organizing everything.&lt;/p&gt;  &lt;p&gt;We will try and get the links up for the samples, soon.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://johns-corner.blogspot.com/2009/01/silverlight-assault-course-ireland.html" target="_blank"&gt;For a great overview of the weekend, check out Johns Blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4076781718975830166?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4076781718975830166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4076781718975830166' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4076781718975830166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4076781718975830166'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-assault-course-ireland_20.html' title='Silverlight Assault Course Ireland: Thanks'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-731495946910542440</id><published>2009-01-12T09:25:00.001-08:00</published><updated>2009-01-12T09:27:53.288-08:00</updated><title type='text'>January is the month of Design in NxtGenUG</title><content type='html'>&lt;p&gt;Have we all forgotten we are developers at NxtGenUG, the majority of our sessions across all our user groups for January are to do with design.&lt;/p&gt;&lt;p&gt;To be honest, they all look great as well :)&lt;/p&gt;&lt;p&gt;For a different view on the world&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Southampton&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tricky + Dr Neill&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=184"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=184&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Coventry&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The Designer / Developer story, Simon Sturgess and Timothy Hustler&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=176"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=176&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Birmingham&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Tricky again&lt;/p&gt;&lt;p&gt;&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=173"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=173&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Cambridge and Oxford are the only ones not going all designy.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-731495946910542440?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/731495946910542440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=731495946910542440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/731495946910542440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/731495946910542440'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/january-is-month-of-design-in-nxtgenug.html' title='January is the month of Design in NxtGenUG'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1640837765857603622</id><published>2009-01-12T09:20:00.001-08:00</published><updated>2009-01-12T09:20:34.635-08:00</updated><title type='text'>Dr Neil and Tricky in Southampton</title><content type='html'>&lt;p&gt;Both Tricky and Dr Neil are in Southampton this Thursday Evening&lt;/p&gt;  &lt;p&gt;I really wish I could make this event, looks a cracker.&lt;/p&gt;  &lt;p&gt;Sign up here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=184" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=184"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=184&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1640837765857603622?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1640837765857603622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1640837765857603622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1640837765857603622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1640837765857603622'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/dr-neil-and-tricky-in-southampton.html' title='Dr Neil and Tricky in Southampton'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7386521956708547747</id><published>2009-01-12T05:57:00.001-08:00</published><updated>2009-01-12T05:57:25.609-08:00</updated><title type='text'>DDD7: Thanks for the great feedback</title><content type='html'>&lt;p&gt;I just got my feedback for my “Introduction to Windows Azure” session (or as it was titled “Welcome to the Cloud”.&lt;/p&gt;  &lt;p&gt;Looking at the scores and comments, the feedback was incredibly high.&lt;/p&gt;  &lt;p&gt;Big thanks to everyone who attended my session and gave me such great scores, it really is appreciated.&lt;/p&gt;  &lt;p&gt;Even bigger thanks to everyone who was involved in the organization of DDD7, it was just a superb day, well done guys.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7386521956708547747?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7386521956708547747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7386521956708547747' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7386521956708547747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7386521956708547747'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/ddd7-thanks-for-great-feedback.html' title='DDD7: Thanks for the great feedback'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3539974816516708722</id><published>2009-01-09T04:26:00.001-08:00</published><updated>2009-01-09T04:26:32.740-08:00</updated><title type='text'>Silverlight Assault Course: Ireland</title><content type='html'>&lt;p&gt;It looks like we might be sold out for the Dublin &amp;amp; Cork legs of the Silverlight Assault Course :)&lt;/p&gt;  &lt;p&gt;I’m really looking forward to coming across to Ireland and doing the assault course with &lt;a href="http://www.costall.net/Blog.aspx" target="_blank"&gt;Richard Costall,&lt;/a&gt; &lt;a href="http://johns-corner.blogspot.com" target="_blank"&gt;John McLoughlin&lt;/a&gt;, &lt;a href="http://www.johnnysblog.net/" target="_blank"&gt;John Price&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/martharotter/" target="_blank"&gt;Martha Rotter&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;On Saturday we are at Microsoft in Sandyford and on the Sunday we are in Cork.&lt;/p&gt;  &lt;p&gt;I’m really looking forward to this as I lived in Dun Laoghaire for about a year (about 12 years ago)&lt;/p&gt;  &lt;p&gt;Anyways, can’t wait to be back across, see you in Ireland.&lt;/p&gt;  &lt;p&gt;17th Dublin - Details to Follow - see Martha's Blog &lt;a href="http://blogs.msdn.com/martharotter/"&gt;http://blogs.msdn.com/martharotter/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;18th Cork - &lt;a href="http://www.cork.mtug.ie/Events/EventInfo.aspx?ID=a607584a-2fa2-475b-ba8e-4ba9786d9814"&gt;http://www.cork.mtug.ie/Events/EventInfo.aspx?ID=a607584a-2fa2-475b-ba8e-4ba9786d9814&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3539974816516708722?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3539974816516708722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3539974816516708722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3539974816516708722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3539974816516708722'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-assault-course-ireland.html' title='Silverlight Assault Course: Ireland'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-706453899791474833</id><published>2009-01-05T15:14:00.001-08:00</published><updated>2009-01-05T15:14:44.048-08:00</updated><title type='text'>Azure: Replication delay updating blobs in storage</title><content type='html'>&lt;p&gt;I blogged about this about a week back, and I was thoroughly confused and thought I was imagining things.&amp;#160; I now know I wasn't dreaming and can now reproduce it.&lt;/p&gt;  &lt;p&gt;If you update (overwrite or (delete + add)) an existing blob in Azure Storage Services there is a chance you will be served up stale data, if you are working on multiple servers (note single server is ok)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My Test Environment&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To prove I wasn't mad, I ran my Azure Blob Browser application on 2 different machines (my local machine + on a remove desktop machine).&lt;/p&gt;  &lt;p&gt;All I did was Add / Delete / Update blobs in a container in my storage account.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Adding + Deleting a blob&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So if I added a blob or deleted a blob, the change was reflected instantaneously (or at least as quick as my mouse) on both machines.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Updating a blob (replication delays)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If however if I updated a blob (either by overwriting the blob or by deleting and adding a new blob), the blob had not replicated to the storage account server that the remote machine connected to.&lt;/p&gt;  &lt;p&gt;The blob was still correct in my blob browser on my local machine, however on my remote machine it was still displaying (etag + last modified) and downloading stale data.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Although you can assume that once you add or delete a blob in azure blob storage services that all instances of your application will have access to the data, at the moment you cannot make the same assumption for an update (unless you are a single instance service).&lt;/p&gt;  &lt;p&gt;I'm not sure if this is intentional or is a bug (after all this a CTP release).&lt;/p&gt;  &lt;p&gt;As I said on my previous post, I do need to dig into things a little more and get more details on the replication mechanism used.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-706453899791474833?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/706453899791474833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=706453899791474833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/706453899791474833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/706453899791474833'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/azure-replication-delay-updating-blobs.html' title='Azure: Replication delay updating blobs in storage'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-297029240651962569</id><published>2009-01-05T14:48:00.001-08:00</published><updated>2009-01-05T14:48:17.003-08:00</updated><title type='text'>Silverlight Assault Course in Cork (free)</title><content type='html'>&lt;p&gt;So if you want a day's worth of Silverlight presentations for free, you live near Cork, and are free on Sunday the 18th of January then you better come along to the Silverlight Assault Course.&lt;/p&gt;  &lt;p&gt;Places are limited to 20 folks (&lt;a href="http://www.cork.mtug.ie/Events/EventInfo.aspx?ID=a607584a-2fa2-475b-ba8e-4ba9786d9814" target="_blank"&gt;sign up here&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;For more details on the cork event &lt;a href="http://blogs.msdn.com/martharotter/archive/2009/01/05/hey-cork-developers-silverlight-assault-course-coming-your-way.aspx" target="_blank"&gt;see Martha Rotter's blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For a full breakdown of the agenda &lt;a href="http://www.nxtgenug.net/NewsArticle.aspx?ArticleID=316" target="_blank"&gt;see the NxtGenUG website&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And I'll see you there :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-297029240651962569?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/297029240651962569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=297029240651962569' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/297029240651962569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/297029240651962569'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-assault-course-in-cork-free.html' title='Silverlight Assault Course in Cork (free)'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5415636601505090019</id><published>2009-01-03T08:53:00.001-08:00</published><updated>2009-01-03T08:53:43.151-08:00</updated><title type='text'>Generating a new guid in powershell</title><content type='html'>&lt;p&gt;This one is for me, so I don't need to keep trawling for this.&lt;/p&gt;  &lt;p&gt;If you need to create a new guid in powershell, the following command will do it.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;[System.Guid]::NewGuid().ToString()&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5415636601505090019?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5415636601505090019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5415636601505090019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5415636601505090019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5415636601505090019'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/generating-new-guid-in-powershell.html' title='Generating a new guid in powershell'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8779794691427194540</id><published>2009-01-01T09:09:00.001-08:00</published><updated>2009-01-01T09:09:04.864-08:00</updated><title type='text'>Silverlight: I've been made MVP</title><content type='html'>&lt;p&gt;Wow, I've just got the best new year news.&lt;/p&gt;  &lt;p&gt;I've just been awarded MVP status (in Client App Dev) :)&lt;/p&gt;  &lt;p&gt;I'm just blown away to be given this.&amp;#160; Thanks to everyone :)&lt;/p&gt;  &lt;p&gt;Happy New Year&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8779794691427194540?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8779794691427194540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8779794691427194540' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8779794691427194540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8779794691427194540'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2009/01/silverlight-i-been-made-mvp.html' title='Silverlight: I&amp;#39;ve been made MVP'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1027942887525424984</id><published>2008-12-31T06:49:00.001-08:00</published><updated>2008-12-31T06:59:24.286-08:00</updated><title type='text'>Azure Blobs - Container names must be lower case</title><content type='html'>&lt;p&gt;I've just noticed that container names must be lower case in Azure Blob Storage.&lt;/p&gt;  &lt;p&gt;In-fact it will blow up and exception if you try and create a container name with a capital letter.&lt;/p&gt;  &lt;p&gt;Be aware of that if you use my Azure Blob Browser I do not handle the exception (infact there is no exception handling whatsoever.&amp;#160; I will put a fix out later for it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1027942887525424984?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1027942887525424984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1027942887525424984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1027942887525424984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1027942887525424984'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/azure-blobs-container-names-must-be.html' title='Azure Blobs - Container names must be lower case'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-388822361202470860</id><published>2008-12-28T15:26:00.001-08:00</published><updated>2008-12-28T15:26:21.172-08:00</updated><title type='text'>Windows Azure Blob Storage - uri's are case sensitive</title><content type='html'>&lt;p&gt;This was driving me batty for about 10 minutes.&lt;/p&gt;  &lt;p&gt;If you click on the following link it will return a pretty picture of the Acropolis&lt;/p&gt;  &lt;p&gt;&lt;a href="http://maheshwar.blob.core.windows.net/livesearchimages/Acropolis1641358469.jpg"&gt;http://maheshwar.blob.core.windows.net/livesearchimages/Acropolis1641358469.jpg&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you click on this link it will return a not so pretty 404&lt;/p&gt;  &lt;p&gt;&lt;a href="http://maheshwar.blob.core.windows.net/livesearchimages/acropolis1641358469.jpg"&gt;http://maheshwar.blob.core.windows.net/livesearchimages/acropolis1641358469.jpg&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please note the only difference is the capital letter in Acropolis&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-388822361202470860?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/388822361202470860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=388822361202470860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/388822361202470860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/388822361202470860'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/windows-azure-blob-storage-uri-are-case.html' title='Windows Azure Blob Storage - uri&amp;#39;s are case sensitive'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6339289963927053313</id><published>2008-12-28T12:23:00.001-08:00</published><updated>2008-12-28T15:47:15.594-08:00</updated><title type='text'>Azure Storage + Replication</title><content type='html'>&lt;p&gt;This came into my head last night when uploading a couple of blobs into the cloud.&lt;/p&gt;  &lt;p&gt;Since I developed my blob browser, I've found myself using it to transfer files from one machine to another.&lt;/p&gt;  &lt;p&gt;For the sake of efficiency I found myself with one remote desktop connection to one machine, and me being on my main machine.  Since this was an update to an existing file that I was transferring, I copied over the existing zip file in the cloud.  I was being particularly lazy, and I just used a public uri to get the file at the other side (rather than using a private uri, and my browser).&lt;/p&gt;  &lt;p&gt;The interesting thing is that when I retrieved the file at the remote site, i didn't get the update version of the file, it served me up the previous version. &lt;/p&gt;&lt;p&gt;At first I thought there was something odd with the replication mechanism, session affinity with the posting machine, now I just think that I had some caching getting in the way, as I can't seem to reproduce what i saw last night.&lt;/p&gt;  &lt;p&gt;If I post a file into blob storage services, I should be able to retrieve the file straight away.   This is different to Amazon's model which is that the file might not be there when you attempt to access it (as it hasn't been replicated yet).&lt;/p&gt;  &lt;p&gt;To be honest I'm not quite sure how this is achieved in Azure.  I know that data must be replicated at least 3 times.  I don't know if it has to replicate 3 times before a response is given, replicated to all participating machines or whether the replication is completely loosely coupled. (I will try and do some digging).&lt;/p&gt;  &lt;p&gt;I guess my point here is that I need to look a bit more into the workings of replication with Azure&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6339289963927053313?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6339289963927053313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6339289963927053313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6339289963927053313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6339289963927053313'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/azure-storage-session-affinity.html' title='Azure Storage + Replication'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7833198220567195291</id><published>2008-12-27T16:31:00.001-08:00</published><updated>2008-12-27T17:06:50.124-08:00</updated><title type='text'>Windows Azure Blob Browser</title><content type='html'>&lt;p&gt;So I've just released version 0.1 of my Windows Azure Blob Browser / Viewer.&lt;/p&gt;  &lt;p&gt;This is a little WPF application that allows you to browse / download blobs residing in Windows Azure Blob storage services.  This works against the current CTP release.&lt;/p&gt;  &lt;p&gt;You can &lt;a href="http://www.voxpeeps.com/azureblobbrowser/releases/AzureBlobBrowser.application" target="_blank"&gt;download the application from here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This gives the following functionality&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;List Containers&lt;/li&gt;    &lt;li&gt;Add / Delete Containers&lt;/li&gt;    &lt;li&gt;View Container Properties&lt;/li&gt;    &lt;li&gt;List Blobs in Container&lt;/li&gt;    &lt;li&gt;Add / Delete Blob in container&lt;/li&gt;    &lt;li&gt;View Blob Properties&lt;/li&gt;    &lt;li&gt;Download Blob&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There is still a bunch of stuff that I want to include in future versions&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Set content type&lt;/li&gt;    &lt;li&gt;View / Set Metadata for container / blob&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All you need to get started is your Azure Storage account name + Shared Key (this should also work against your dev account)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7833198220567195291?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7833198220567195291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7833198220567195291' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7833198220567195291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7833198220567195291'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/windows-azure-blob-browser.html' title='Windows Azure Blob Browser'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3896257750425994632</id><published>2008-12-23T15:36:00.001-08:00</published><updated>2008-12-23T15:36:38.138-08:00</updated><title type='text'>Silverlight: Sky Player has no adaptive streaming</title><content type='html'>&lt;p&gt;So looking at the Sky Player a little closer, I am very disappointed to see that there is no adaptive streaming solution (like the olympics), but they have opted for the easier solution of offering high, medium, low quality dropdown instead.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_5NvOQ-q6xac/SVF2BNuxIZI/AAAAAAAAADQ/ThgXV3nuDJg/image%5B2%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="134" alt="image" src="http://lh5.ggpht.com/_5NvOQ-q6xac/SVF2BaWiQPI/AAAAAAAAADU/Fq-wIRj7Mk0/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3896257750425994632?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3896257750425994632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3896257750425994632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3896257750425994632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3896257750425994632'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/silverlight-sky-player-has-no-adaptive.html' title='Silverlight: Sky Player has no adaptive streaming'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_5NvOQ-q6xac/SVF2BaWiQPI/AAAAAAAAADU/Fq-wIRj7Mk0/s72-c/image_thumb.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-254135494392473743</id><published>2008-12-23T15:23:00.001-08:00</published><updated>2008-12-23T15:54:18.852-08:00</updated><title type='text'>Silverlight: + Sky Television</title><content type='html'>&lt;p&gt;So Sky Television have just launched their own Web Based TV Service developed with Silverlight 2 + PlayReady.&lt;/p&gt;  &lt;p&gt;The following channels are available:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sky Sports 1&lt;/li&gt;    &lt;li&gt;Sky Sports 2&lt;/li&gt;    &lt;li&gt;MTV&lt;/li&gt;    &lt;li&gt;Eurosport&lt;/li&gt;    &lt;li&gt;National Geographic&lt;/li&gt;    &lt;li&gt;Nickelodeon&lt;/li&gt;    &lt;li&gt;Nick Jr&lt;/li&gt;    &lt;li&gt;Disney Channel&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;No existing Sky Connection / Dish necessary.&lt;/p&gt;  &lt;p&gt;Supports up to 1.8Mb, which interestingly enough (if you watch the PDC Olympics and Silverlight session) is the optimal limit they found during Olympics + Democratic National Convention&lt;/p&gt;  &lt;p&gt;I'm pretty excited about this as it should increase the Silverlight install base in the UK and it really shows that Silverlight (especially in the UK) is making its name in media.  BBC, Sky + ITV (UK's biggest networks) all have (or about to have) Silverlight based Internet TV Offerings.  Very cool.&lt;/p&gt;&lt;p&gt;I know this has been out for a few weeks now (i'm not the quickest off the mark, but it's still v.cool)&lt;/p&gt;  &lt;p&gt;Check out more about Sky's offering below:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://skyplayer.sky.com/vod/page/home.do"&gt;https://skyplayer.sky.com/vod/page/home.do&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/Presspass/press/2008/dec08/12-04SkyPlayerPR.mspx"&gt;http://www.microsoft.com/Presspass/press/2008/dec08/12-04SkyPlayerPR.mspx&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-254135494392473743?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/254135494392473743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=254135494392473743' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/254135494392473743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/254135494392473743'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/silverlight-sky-television.html' title='Silverlight: + Sky Television'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8576457213237382331</id><published>2008-12-23T02:06:00.001-08:00</published><updated>2008-12-23T02:06:37.993-08:00</updated><title type='text'>Windows Azure Table Browser</title><content type='html'>&lt;p&gt;I had this discussion last week and may’be if I have time over Christmas, I might build one.&lt;/p&gt;  &lt;p&gt;What would be really cool if someone built a little tool to allow you to browse / view data held in a table in Windows Azure Storage Services.&lt;/p&gt;  &lt;p&gt;I don’t think this would take long to build, would be pretty simple and would be incredibly useful.&lt;/p&gt;  &lt;p&gt;All the browser would need to do really is take the serialized data, and extract it out to equivalent rows and columns.&lt;/p&gt;  &lt;p&gt;Maybe one exists already?&amp;#160; If so, let me know.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8576457213237382331?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8576457213237382331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8576457213237382331' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8576457213237382331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8576457213237382331'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/windows-azure-table-browser.html' title='Windows Azure Table Browser'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-855248011069122871</id><published>2008-12-16T16:50:00.001-08:00</published><updated>2008-12-16T16:50:42.037-08:00</updated><title type='text'>Silverlight: REST API Microformat</title><content type='html'>&lt;p&gt;So my question is how about a &lt;a href="http://microformats.org/" target="_blank"&gt;Microformat&lt;/a&gt; for when describing REST API's?&lt;/p&gt;  &lt;p&gt;I've been wanting to create lots of cool little Silverlight applications against all the various cool api's that have sprung up over the years (and more frequently recently).&amp;#160; An example list is below.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Blogger&lt;/li&gt;    &lt;li&gt;You Tube&lt;/li&gt;    &lt;li&gt;MTV&lt;/li&gt;    &lt;li&gt;Twitter&lt;/li&gt;    &lt;li&gt;and many many more&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All of these API's are REST / Simple HTTP based protocols, not SOAP.&lt;/p&gt;  &lt;p&gt;Very quickly, I have got annoyed with the API's as it's been to much of a pain, trying to get a decent client library to work with the API's.&amp;#160; All have different flavors, support different features, not supported any more, lots of assemblies and integration, a real pain.&lt;/p&gt;  &lt;p&gt;Even if you do find a decent client library, it might not work with Silverlight and even if it does, you end up with API assembly bloat.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Client Proxies&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The big issue as far as I can see it is that decent client proxy generators don't seem to exist.&amp;#160; You either have to download a client library built by the developer / an open source project / build one yourself.&lt;/p&gt;  &lt;p&gt;This issue is being tackled in many places trying to simplify the issue&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WCF REST Starter Kit&lt;/li&gt;    &lt;li&gt;DSL's (OSLO)&lt;/li&gt;    &lt;li&gt;C# 4.0 (dynamic)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;From my point of view, I really want to just fire visual studio at a url, let it generate me a proxy, and then start working with it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SOAP Proxies&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the real advantages of SOAP based web services is that you can do just that, you point Visual Studio at the service and it will generate a nice little proxy with some lovely intellisense and you can work with the service very quickly.&lt;/p&gt;  &lt;p&gt;This is great for enterprise / internal projects, not so great for Internet based projects, as REST is generally the chosen way forward.&lt;/p&gt;  &lt;p&gt;The reason it's easy to generate a proxy with SOAP is that SOAP based Web Services have a WSDL document that describes the service interface.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WADL&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So in the Java world, they are trying to push a similar concept to WSDL which is &lt;a href="https://wadl.dev.java.net/" target="_blank"&gt;WADL&lt;/a&gt;.&amp;#160; The WADL document will describe your service interface (just like WSDL).&amp;#160; I don't personally like WADL and I don't think it will catch on, it doesn't really fit well with REST (in my opinion).&amp;#160; This hasn't seemed to have taken off in the .NET world, and I don't expect it to either.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microformats&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So why do I think there should be a Microformat for REST / simple http based API's.&amp;#160; Well pretty much of these API companies seem to write lots of html based documentation on&amp;#160; how to use their lovely new api.&amp;#160; Pretty much of all of these companies have pretty much the same sort of descriptions / formats.&lt;/p&gt;  &lt;p&gt;Therefore it isn't too much of a pain to use a Microformat within the html.&amp;#160; This would allow me to point Visual Studio straight at the documentation, and have it generate me a proxy, bizarre I know.&lt;/p&gt;  &lt;p&gt;This would also allow all the existing api's to support it, with very&amp;#160; little effort, not get in the way of any other service definition standardization etc, etc.&lt;/p&gt;  &lt;p&gt;It would also be platform / language agnostic.&lt;/p&gt;  &lt;p&gt;I know it seems a little crazy but how long would it take these companies to mark up their existing documents with the Microformat (not very long), you could then use whatever mechanism in your toolset to autogenerate docs.&lt;/p&gt;  &lt;p&gt;So this is my crazy idea for the day, feel free to slate it.&lt;/p&gt;  &lt;pre&gt;The following is a sample address microformat&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;665 3rd St.&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div class=&amp;quot;extended-address&amp;quot;&amp;gt;Suite 207&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;San Francisco&amp;lt;/span&amp;gt;,&lt;br /&gt; &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;CA&amp;lt;/span&amp;gt;&lt;br /&gt; &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;94107&amp;lt;/span&amp;gt;&lt;br /&gt; &amp;lt;div class=&amp;quot;country-name&amp;quot;&amp;gt;U.S.A.&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Tha type of format could be easily modified to suit description of services, which ultimately would mean that a human could read it, and Visual Studio could generate a proxy from it.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Query parameters could be marked up with their type, their description.  Base Uri's could be marked up.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Anways, let the slating begin :)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;If it seems a reasonable suggestion however, then I think its something that could be done quickly and could work with todays toolsets.&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-855248011069122871?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/855248011069122871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=855248011069122871' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/855248011069122871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/855248011069122871'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/silverlight-rest-api-microformat.html' title='Silverlight: REST API Microformat'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4958446640191130479</id><published>2008-12-14T15:04:00.001-08:00</published><updated>2008-12-14T15:04:40.894-08:00</updated><title type='text'>My Technical Highlights of 2008</title><content type='html'>&lt;p&gt;So it's coming to the end of the year, and I'm taking the time to reflect, and plan out the year ahead (as much as it can be).&lt;/p&gt;  &lt;p&gt;For me technically, it has been a great year.&amp;#160; My highlights have been&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Presenting at Remix08 UK&lt;/li&gt;    &lt;li&gt;Presenting at DDD7&lt;/li&gt;    &lt;li&gt;PDC 2008 (attending, hanging out with friends, interviewing so many cool people)&lt;/li&gt;    &lt;li&gt;Watching NxtGenUG Cambridge grow to an unbelievable level&lt;/li&gt;    &lt;li&gt;Advancing my knowledge of SQL Server (I'm not an out and out SQL Developer) to a level that I was happy to present at SQLBits&lt;/li&gt;    &lt;li&gt;Silverlight Spectrum Emulator on PDC 2008 Show Off&lt;/li&gt;    &lt;li&gt;Silverlight Assault Course&lt;/li&gt;    &lt;li&gt;Various gallery entries on silverlight.net (throughout course of year)&lt;/li&gt;    &lt;li&gt;Meeting so many great people&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;My new technology highlights have been:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight 2&lt;/li&gt;    &lt;li&gt;Windows Azure&lt;/li&gt;    &lt;li&gt;Microsoft Small Basic (I love it)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I really have loved this year in the community, I really hope next year goes half as well.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4958446640191130479?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4958446640191130479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4958446640191130479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4958446640191130479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4958446640191130479'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/my-technical-highlights-of-2008.html' title='My Technical Highlights of 2008'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7401480435940317015</id><published>2008-12-14T14:21:00.001-08:00</published><updated>2008-12-14T14:21:42.403-08:00</updated><title type='text'>My favourite sessions of 2008</title><content type='html'>&lt;p&gt;So in the past year, I have been at various conferences (Remix08, DDD7, SQLBits 2&amp;amp;3, NxtGenUG Fest08), been to various user groups (not as much as I would have liked), and watched many sessions online (Mix08, Channel9).&lt;/p&gt;  &lt;p&gt;I thought I'd take the time out to call out the sessions I have enjoyed the most (all for very different reasons) in 2008.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The back of the napkin, Dan Roam, Mix08&lt;/li&gt;    &lt;li&gt;ADO.Net Entity Framework, Mike Taulty, NxtGenUG Cambridge&lt;/li&gt;    &lt;li&gt;Micropresentations, (especially the Sara Ford one), Remix08 UK&lt;/li&gt;    &lt;li&gt;Silverlight as a Gaming Platform, Joel Neubeck, Mix08&lt;/li&gt;    &lt;li&gt;Windows Azure, Cloud Service Development Best Practices, Sriram Krishnan, PDC08&lt;/li&gt;    &lt;li&gt;Remix08 UK Keynote, Bill Buxton, Remix08 UK&lt;/li&gt;    &lt;li&gt;Lap around Windows Azure, Steve Marx, PDC08&lt;/li&gt;    &lt;li&gt;The Expert Panel Thing, Scott Guthrie &amp;amp; Co, Remix08 UK&lt;/li&gt;    &lt;li&gt;F#, Oliver Sturm, NxtGenUG Fest08&lt;/li&gt;    &lt;li&gt;Whose session is it anyways, Loads of folk, NxtGenUG Fest08&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This list is a made up for very different reaons, a great inspiring presenter, a great session in a particular area of interest, or a session that was just a lot of fun.&amp;#160; I've only included sessions that I have watched in whole (I don't see to many sessions in full at Cambridge)&lt;/p&gt;  &lt;p&gt;If you weren't on this list, this is no reflection on you or your session (please note that my all time favourite speaker, Chris Anderson is not on this list).&lt;/p&gt;  &lt;p&gt;There is still loads of sessions from Mix08, Remix08 UK, DDD7, SQLBits 3, Channel 9 that I haven't yet watched, may'be this would have changed the list, may'be not.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7401480435940317015?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7401480435940317015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7401480435940317015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7401480435940317015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7401480435940317015'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/my-favourite-sessions-of-2008.html' title='My favourite sessions of 2008'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3854582452568010068</id><published>2008-12-13T16:16:00.001-08:00</published><updated>2008-12-13T16:16:30.422-08:00</updated><title type='text'>Silverlight: PDC Podcast (Part 2)</title><content type='html'>&lt;p&gt;So when we were across at the PDC myself and &lt;a href="http://johns-corner.blogspot.com/" target="_blank"&gt;John McLoughlin&lt;/a&gt; did a bunch of podcast interviews.&amp;#160; We replaced regular hosts Rich &amp;amp; Dave for one week only, we had such a blast and thanks to the guys for letting us guest host.&amp;#160; Also massive thanks to everyone we interviewed.&lt;/p&gt;  &lt;p&gt;We've just released the &lt;a href="http://www.nxtgenug.net/Podcasts.aspx?PodcastID=65" target="_blank"&gt;second part of our PDC podcast&lt;/a&gt;.&amp;#160; In this interview we talk about Day 3 of the PDC, and we have interviews with:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Shawn Burke (Silverlight &amp;amp; WPF Controls Team)&lt;/li&gt;    &lt;li&gt;Tim Sneath (PDC Keynote Technical Content owner)&amp;#160; &amp;amp; &lt;/li&gt;    &lt;li&gt;Mike Swanson (PDC Technical Content Owner)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you missed the &lt;a href="http://www.nxtgenug.net/Podcasts.aspx?PodcastID=59" target="_blank"&gt;first part of the podcast&lt;/a&gt;, we interviewed:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Daniel Moth&lt;/li&gt;    &lt;li&gt;Dan Fernandez &amp;amp; Brian Keller&lt;/li&gt;    &lt;li&gt;Martin Gudgin&lt;/li&gt;    &lt;li&gt;Chris Anderson&lt;/li&gt;    &lt;li&gt;Don Box&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There is one more PDC podcast to go featuring (will let you know when it is up).&lt;/p&gt;  &lt;p&gt;In the meantime go check out other &lt;a href="http://www.nxtgenug.net/Podcasts.aspx" target="_blank"&gt;NxtGenUG Podcasts&lt;/a&gt;, which include the fabulous series of podcasts at TechEd Europe 2008&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3854582452568010068?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3854582452568010068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3854582452568010068' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3854582452568010068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3854582452568010068'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/silverlight-pdc-podcast-part-2.html' title='Silverlight: PDC Podcast (Part 2)'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8196053511399757411</id><published>2008-12-13T05:15:00.001-08:00</published><updated>2008-12-13T05:15:11.283-08:00</updated><title type='text'>Classic ASP.NET</title><content type='html'>&lt;p&gt;On Tuesday night at &lt;a href="http://www.nxtgenug.net"&gt;NxtGenUG Cambridge&lt;/a&gt;, Mel Harbour was doing a nugget on ASP.NET MVC, in which he used the term &amp;quot;Classic ASP.NET&amp;quot;.&lt;/p&gt;  &lt;p&gt;As someone who quite likes &amp;quot;Classic ASP.NET&amp;quot;, and is not a big fan of ASP.NET MVC, I am not convinced by this new terminology.&lt;/p&gt;  &lt;p&gt;May I suggest &amp;quot;Traditional ASP.NET&amp;quot;, or &amp;quot;Standard ASP.NET&amp;quot; as more acceptable terms :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8196053511399757411?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8196053511399757411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8196053511399757411' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8196053511399757411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8196053511399757411'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/classic-aspnet.html' title='Classic ASP.NET'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7710987394310476634</id><published>2008-12-11T11:23:00.001-08:00</published><updated>2008-12-11T11:23:41.272-08:00</updated><title type='text'>Silverlight: and Google Chrome</title><content type='html'>&lt;p&gt;So &lt;a href="http://www.google.com/chrome"&gt;Google Chrome&lt;/a&gt; has now been released and it seems to be playing nicely with Silverlight now.&lt;/p&gt;  &lt;p&gt;Previously you had to constantly resize your browser to use Silverlight, now seems to be working fine :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7710987394310476634?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7710987394310476634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7710987394310476634' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7710987394310476634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7710987394310476634'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/silverlight-and-google-chrome.html' title='Silverlight: and Google Chrome'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8762293261297128978</id><published>2008-12-09T15:06:00.001-08:00</published><updated>2008-12-09T15:06:31.457-08:00</updated><title type='text'>Introduction to Windows Azure session in Cambridge</title><content type='html'>&lt;p&gt;Big thanks to everyone who attended my &amp;quot;Introduction to Windows Azure&amp;quot; session in Cambridge.&lt;/p&gt;  &lt;p&gt;As one of co-founders / coordinators of the Cambridge region of NxtGenUG it's always nice to do a session in my home turf, and this is the second year that I have now done the Christmas session.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/ddd7/Welcome%20To%20The%20Cloud%20|5Complete|6.zip"&gt;The slides and demos are now available to download on my skydrive.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks again for coming!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8762293261297128978?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8762293261297128978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8762293261297128978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8762293261297128978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8762293261297128978'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/introduction-to-windows-azure-session.html' title='Introduction to Windows Azure session in Cambridge'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1820871566348818985</id><published>2008-12-05T03:16:00.001-08:00</published><updated>2008-12-05T03:16:12.675-08:00</updated><title type='text'>NxtGenUG – Cambridge – Introduction to Windows Azure</title><content type='html'>&lt;p&gt;I’m doing the same session that I did at DDD7 for NxtGenUG Cambridge (which I run with Allister Frost).&lt;/p&gt;  &lt;p&gt;So if you are based in Cambridgeshire, want an introduction to Microsoft’s Cloud Platform, a small nugget on ASP.NET MVC (Mel Harbour from Red-Gate is doing this one), Pizza and Swag, then I’ll see you there.&lt;/p&gt;  &lt;p&gt;You can &lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=163" target="_blank"&gt;register here.&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1820871566348818985?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1820871566348818985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1820871566348818985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1820871566348818985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1820871566348818985'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/12/nxtgenug-cambridge-introduction-to.html' title='NxtGenUG – Cambridge – Introduction to Windows Azure'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2850229002984877007</id><published>2008-11-25T02:54:00.001-08:00</published><updated>2008-11-25T02:54:40.219-08:00</updated><title type='text'>DDD7: Welcome to the cloud (Windows Azure)</title><content type='html'>&lt;p&gt;Big thanks to everyone who turned up to my session at DDD7.&amp;#160; I really enjoyed doing the session, and hope you all found it useful.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-f6bb92b5df4cfec0.skydrive.live.com/self.aspx/Public/Speaking/ddd7/Welcome%20To%20The%20Cloud%20|5Complete|6.zip" target="_blank"&gt;The slides and demos are now available to download on my skydrive.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The session was also recorded, I will let you know the link when it is made available.&lt;/p&gt;  &lt;p&gt;For those wondering in the end I did do a demo of a Silverlight application running in storage services (i.e no webrole / website).&amp;#160; I think I will record that as a screencast soon.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2850229002984877007?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2850229002984877007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2850229002984877007' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2850229002984877007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2850229002984877007'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/ddd7-welcome-to-cloud-windows-azure.html' title='DDD7: Welcome to the cloud (Windows Azure)'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-8017245394947003600</id><published>2008-11-21T04:04:00.001-08:00</published><updated>2008-11-21T04:04:05.395-08:00</updated><title type='text'>Silverlight 3 – 3D and GPU Support</title><content type='html'>&lt;p&gt;I guess I am a little slow off the mark on this one but the new GPU Hardware Accelerated graphics and the 3D support just sounds great.&amp;#160; I can’t wait to see the Spectrum Emulator run under that :)&lt;/p&gt;  &lt;p&gt;I really want to play with it now, the downside is I suspect we won’t see any builds until Mix09&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/11/16/update-on-silverlight-2-and-a-glimpse-of-silverlight-3.aspx" target="_blank"&gt;See ScottGu’s Post about it.&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-8017245394947003600?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/8017245394947003600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=8017245394947003600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8017245394947003600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/8017245394947003600'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/silverlight-3-3d-and-gpu-support.html' title='Silverlight 3 – 3D and GPU Support'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-716920856068555968</id><published>2008-11-20T14:49:00.001-08:00</published><updated>2008-11-21T02:01:41.220-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Azure Tables, Entities and Partition Diagrams</title><content type='html'>&lt;p&gt;It's always nice to explain things with diagrams, no matter how bad the diagrams are :)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A picture of a Table&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The following diagram summarizes how a table of NxtGenUG (a UK user group) Coordinators might look in a Table in Windows Azure Storage Services.&lt;/p&gt;&lt;p&gt;This diagram shows that Chris Hay and Allister Frost are coordinators for the Cambridge region of NxtGenUG, and that Dave McMahon and Geff Lombardi are coordinators for the Birmingham region of NxtGenUG.&lt;/p&gt;&lt;p&gt;I have scribbled with my crayons how this relates to tables / partitions and entities in Windows Azure Tables.&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_5NvOQ-q6xac/SSXpZl2AMwI/AAAAAAAAAC0/MPJFCHMlBUs/s1600-h/image%5B14%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="279" alt="image" src="http://lh4.ggpht.com/_5NvOQ-q6xac/SSXpafNBAnI/AAAAAAAAAC4/hNMrJg5te0g/image_thumb%5B8%5D.png?imgmax=800" width="476" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;The key thing to note about this table is that regions are partitions (birmingham, cambridge).  The row keys are unique within a partition (but not outside of the partition, Chris and Dave have the same row key).  Combinations of Partition Key and Row Key are unique.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Scaled Partitions&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The following diagram shows how this table might be scaled in Windows Azure using Table partitioning.&lt;/p&gt;&lt;p&gt;The key thing to note is that entities within a partition always remain together (i.e. reside physically on the same server).&lt;/p&gt;&lt;p&gt;However partitions may not necessarily reside together, hence why querying across partitions is slower than querying exclusively within a partition&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_5NvOQ-q6xac/SSXpbLbRoyI/AAAAAAAAAC8/M0jSpz5FSmE/s1600-h/image%5B21%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="317" alt="image" src="http://lh3.ggpht.com/_5NvOQ-q6xac/SSXpb9EKvSI/AAAAAAAAADA/Z4mll5-lFw8/image_thumb%5B13%5D.png?imgmax=800" width="470" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Silverlight and Tables&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;So this is how the tables look in the back end of Azure.  This is a great structure and I can see this is something that Silverlight Applications could heavily utilize.&lt;/p&gt;&lt;p&gt;A lot of Silverlight applications don't necessarily need the full blown power of SQL Servers, and really want to save simple data in the backend, and be able to retrieve.&lt;/p&gt;&lt;p&gt;I can see this table type structure really being utilized within Silverlight.  The downside is that Silverlight can't access it directly (you need to go via a ASMX / WCF Service).  As I have said before I'm not sure you want to be able to give direct access, however perhaps some sort of delegated authentication scheme could work?&lt;/p&gt;&lt;p&gt;I think this will require more thought???&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-716920856068555968?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/716920856068555968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=716920856068555968' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/716920856068555968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/716920856068555968'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/azure-tables-entities-and-partition.html' title='Azure Tables, Entities and Partition Diagrams'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_5NvOQ-q6xac/SSXpafNBAnI/AAAAAAAAAC4/hNMrJg5te0g/s72-c/image_thumb%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-5450240025522195904</id><published>2008-11-20T06:48:00.001-08:00</published><updated>2008-11-21T02:05:17.918-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Azure Presentation</title><content type='html'>&lt;p&gt;So I’ve just done my first version of the “Introduction to Windows Azure” presentation (the same one I am doing at DDD, called “Welcome to the Cloud”).  This was an internal presentation to a local company in Cambridge.&lt;/p&gt;&lt;p&gt;The feedback was superb (one chap said, it was a better presentation than I had seen at TechEd, which was very nice).&lt;/p&gt;&lt;p&gt;From my point of view, there is a couple of things that I want to change for Saturday (DDD7) however nothing particularly major.&lt;/p&gt;&lt;p&gt;One thing that disappoints me about Saturdays is that there is no Silverlight whatsoever in the day, I am now considering changing one of my demos last minute to have a some Silverlight :) , I'm not sure I can cope with a full day without Silverlight&lt;/p&gt;&lt;p&gt;Anyways, I look forward to seeing folks on Saturday (Silverlight or no Silverlight)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-5450240025522195904?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/5450240025522195904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=5450240025522195904' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5450240025522195904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/5450240025522195904'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/azure-presentation.html' title='Azure Presentation'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4186198566252201960</id><published>2008-11-19T14:15:00.001-08:00</published><updated>2008-11-20T14:50:41.234-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>First presentation of "Welcome to the Cloud" tomorrow</title><content type='html'>&lt;p&gt;If you are going to DDD7 and you plan to attend my talk entitled &amp;quot;Welcome to the Cloud&amp;quot;, which is a talk on Windows Azure, you will be pleased to hear that you won't be the Guinea pigs for this talk.&lt;/p&gt;  &lt;p&gt;Very luckily I get to do a run through tomorrow for a local Cambridge company called Sagentia.&lt;/p&gt;  &lt;p&gt;This should allow me iron out any glitches hopefully in time for Saturday :)&lt;/p&gt;  &lt;p&gt;This has been a pretty tough presentation to put together, learning a new technology + presenting on it in 2.5 weeks (evenings + weekends to prepare only).&amp;#160; I wish i was one of those lucky folks who got to see it before PDC but I didn't, so I really have had 2.5 weeks to prepare this (i.e. when i got back from LA).&lt;/p&gt;  &lt;p&gt;It's nice to be finally be presenting it for the first time :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4186198566252201960?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4186198566252201960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4186198566252201960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4186198566252201960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4186198566252201960'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/first-presentation-of-to-cloud-tomorrow.html' title='First presentation of &amp;quot;Welcome to the Cloud&amp;quot; tomorrow'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3784212830507833526</id><published>2008-11-19T13:47:00.001-08:00</published><updated>2008-11-19T13:57:36.485-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Silverlight: and Windows Azure</title><content type='html'>&lt;p&gt;In my &lt;a href="http://silverlightuk.blogspot.com/2008/11/silverlight-amazon-cloudfront.html" target="_blank"&gt;last article&lt;/a&gt; I was discussing Silverlight and Amazon's new CloudFront service.&lt;/p&gt;&lt;p&gt;I wanted now to discuss what the options with Azure are?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hosting your Silverlight application in Azure&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You can obviously host your Silverlight Application by hosting your website (which includes your Silverlight app) in Windows Azure, but I thought I'd explore avoidin the website, similar to what i was suggesting doing with Amazons Cloud Front.&lt;/p&gt;&lt;p&gt;The good news is that you can actually host your html file, your silverlight .xap file (set the mime type correctly), you will even be able to interact with web / wcf services via clientaccesspolicy / crossdomain files.  You can host your Silverlight application completely in Windows Azure today (subject to the terms of service).&lt;/p&gt;&lt;p&gt;There are some caveats however at the moment:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Your silverlight application won't be able to access private blob storage (can't sign the http request)&lt;/li&gt;&lt;li&gt;Your silverlight application won't be able to access table or queues&lt;/li&gt;&lt;li&gt;Haven't figured how to control cache yet (not saying it's not possible, I just haven't spent enough time to figure if it is possible)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To be honest I'm not sure I want my silverlight applications to access these services directly.  Certainly not at the moment (wouldn't want my shared key in the wild).  May'be with a good authentication method this would be attractive.&lt;/p&gt;&lt;p&gt;The big difference between CloudFront and Azure for this type of thing is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Content Expiry / Caching&lt;/li&gt;&lt;li&gt;Terms of Service / Pricing&lt;/li&gt;&lt;li&gt;Low Latency due to multiple datacenters and good routing&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As I said, I think when Azure is out this will be a non issue.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3784212830507833526?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3784212830507833526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3784212830507833526' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3784212830507833526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3784212830507833526'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/silverlight-and-windows-azure.html' title='Silverlight: and Windows Azure'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4834993947548148732</id><published>2008-11-19T09:28:00.001-08:00</published><updated>2008-11-19T13:06:43.499-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Silverlight: Amazon CloudFront</title><content type='html'>&lt;p&gt;I’ve been looking at &lt;a href="http://aws.amazon.com/cloudfront/" target="_blank"&gt;Amazon CloudFront&lt;/a&gt; today, and it seems to me that Amazon is aggressively going for the CDN market.&lt;/p&gt;&lt;p&gt;This really is a CDN (Content Delivery Network) solution (and it’s cheap). All it is a method of serving up assets (images, documents, html, even Silverlight) with low latency by using a delivery network (so if your user is in hong kong, the asset will be served from the hong kong server).&lt;/p&gt;&lt;p&gt;The good news is that it is ridiculously cheap. 17 cents per GB data transfer, and 1 cent per 10,000 requests.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It also seems to me (although I haven’t tried it yet), that if you wanted to host your Silverlight application within Amazon CloudFront you could do so. You could have an HTML page (hosted in CloudFront), assets (hosted in cloudfront), silverlight XAP file (hosted in CloudFront), and then you could even allow calls to a back end web service (hosted in azure, or your normal boring old web server) via cross domain policies.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;This is confirmed as working, be careful with setting your Content Types, see Tim Heur's comments in the comment section of this post. Thanks Tim.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I think once Microsoft have setup their many data centers, I would expect a similar type of offering from Azure also. To be honest I don’t think Azure is too far away from this. All Microsoft need to do is provide multiple datacenters, allow us to control the cache for Blob Storage Services, and use the closest data center to server up public url’s. To offer this a separate offering from Azure’s point of view would be wrong (i think).&lt;/p&gt;&lt;p&gt;I think that the competition between Amazon and Microsoft in the cloud space is going to be really great, and will drive down the cost of hosting / scaling.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4834993947548148732?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4834993947548148732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4834993947548148732' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4834993947548148732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4834993947548148732'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/silverlight-amazon-cloudfront.html' title='Silverlight: Amazon CloudFront'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-2553962283896749089</id><published>2008-11-17T03:45:00.001-08:00</published><updated>2008-11-17T03:45:31.914-08:00</updated><title type='text'>DDD7 – My Session Picklist</title><content type='html'>&lt;p&gt;So I am looking over the agenda for DDD7 and I am trying to work out which sessions I will attend.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Slot 1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I am in 2 minds about this one, I am in-between “Top 10 WCF tips” and “Seperating REST Facts from Fallacies”.&lt;/p&gt;  &lt;p&gt;I really want to see the session on REST but we are bringing that session to Cambridge, unfortunately I don’t often get to see the full presentation at Cambridge because we have the business of running the user group.&lt;/p&gt;  &lt;p&gt;I also love WCF and don’t think there are enough sessions on WCF, hence why I would quite like to go to this one also.&lt;/p&gt;  &lt;p&gt;It’s a tough choice.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Slot 2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I think I am going to go to “ASP.NET MVC – Show me the code”.&amp;#160; ASP.NET MVC is one of those technologies I have wanted to play with for a while and that I haven’t seen any full sessions on.&amp;#160; I know this sounds odd as it’s been around for a bit now, but there is so much new stuff, some things just get pushed to the side.&amp;#160; I also haven’t heard Steven Sanderson speak before, so that will be cool also.&lt;/p&gt;  &lt;p&gt;I would like to see Network Admin one (Dave McMahon is a brilliant speaker), however I just can’t commit to a double session, also I want to look at Developery things rather than IT Pro things.&lt;/p&gt;  &lt;p&gt;Again the Virtualisation session is tempting however the MVC one happens to swing it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Slot 3&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This one is a no brainer to me “ASP.NET 4.0”, I didn’t go to any ASP.NET 4.0 sessions at PDC, and Dave and Phil are great speakers, so this will be a superb session.&amp;#160; Actually this is one of the reasons I avoided ASP.NET 4.0 at PDC, because I knew that this session was coming up :)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Slot 4&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This is a tough one, I have seen enough of Oslo that I want to see for just now, so I am going to skip over that.&lt;/p&gt;  &lt;p&gt;I am not really that interested in testing (also I am sure that we will have Ben across to Cambridge to do that session also), so I think I will skip that also.&lt;/p&gt;  &lt;p&gt;I am interested in the Cores one but Daniel Moth covers that area so well, that I think I will go to the “Trust me, I know what you want” session.&amp;#160; There are a few reasons, this isn’t a typical developer session, it’s about requirements.&amp;#160; I also haven’t heard Beverly speak so it’s always great to hear speakers I haven’t heard before.&amp;#160; I also think that there isn’t enough Girly Geek Speakers so I think I will come along to this one.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Slot 5&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Errgh, this is a No brainer for me, since I am presenting “Welcome to the Cloud”.&amp;#160; I think there may’be a few annoyed folks if I went to watch one of the other sessions.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Finally&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;All in all, it looks like a good day ahead.&amp;#160; It’s quite an interesting looking DDD.&amp;#160; There is quite a varied choice of sessions that are not just development sessions.&lt;/p&gt;  &lt;p&gt;There are sessions that are about IT Pro (2 slots), Requirements (1 slot), and Virtualization (1 slot).&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;3 out of 20 slots are IT Pro (Developer Admin Guide, Virtualization)&lt;/li&gt;    &lt;li&gt;1 Slot is about requirements&lt;/li&gt;    &lt;li&gt;1 Slot is on Linux (c# on ubuntu)&lt;/li&gt;    &lt;li&gt;4 talks are about ASP.NET / Web (ASP.NET 4.0, MVC, CSS, Scaling)&lt;/li&gt;    &lt;li&gt;2 sessions on concurrency&lt;/li&gt;    &lt;li&gt;2 sessions of Services / Protocols (WCF, REST)&lt;/li&gt;    &lt;li&gt;1 IoC container session&lt;/li&gt;    &lt;li&gt;1 WPF Session&lt;/li&gt;    &lt;li&gt;1 LINQ Session&lt;/li&gt;    &lt;li&gt;1 Azure Session (Welcome to the Cloud)&lt;/li&gt;    &lt;li&gt;1 Oslo Session&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I think the following did surprise me though:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;No Silverlight Sessions&lt;/li&gt;    &lt;li&gt;No C# 4.0 sessions&lt;/li&gt;    &lt;li&gt;No VB Sessions&lt;/li&gt;    &lt;li&gt;No F# Sessions&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One thing I think is clear, the UK community is pretty diverse (both attendees and speakers).&amp;#160; I say this because these sessions have been proposed and have been voted for.&amp;#160; &lt;/p&gt;  &lt;p&gt;One thing for sure is that by attending sessions that are not necessarily straight technology sessions (like my one is), that you will gain an insight into different methodologies, technologies which will make you a better developer.&lt;/p&gt;  &lt;p&gt;The other interesting thing to note about this DDD is that it seems to be about the now, not the future.&amp;#160; Only 4-5 sessions are about technologies that haven’t shipped (azure (cloud), 0.5 concurrency, 1 parallel, oslo, asp.net 4.0).&amp;#160; 3/4 quarters of the sessions are about today.&amp;#160; Now I am not sure if this is because we had to propose sessions prior to the PDC, would this DDD agenda look different if it was in 3 months time?&amp;#160; Alternatively it could be because folks want to be focused on today, not tomorrow.&lt;/p&gt;  &lt;p&gt;Anyways, DDD, I love it, and I am really looking forward to it, and I hope to see you there.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-2553962283896749089?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/2553962283896749089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=2553962283896749089' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2553962283896749089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/2553962283896749089'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/ddd7-my-session-picklist.html' title='DDD7 – My Session Picklist'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-4278795577246972566</id><published>2008-11-15T15:23:00.001-08:00</published><updated>2008-11-16T02:55:01.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Silverlight: Are sockets only suitable in intranets?</title><content type='html'>&lt;p&gt;There was a big push by the community at large for Silverlight Sockets to which Microsoft responded by providing said functionality.  However can you really use such a feature in an Internet application?&lt;/p&gt;&lt;p&gt;Sockets allow high performance real time data updates, very useful for messaging / real time feeds etc.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Port Range&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The fact is that Silverlight Sockets requires the policy file to be served on port 943 and sockets only work on ports 4502-4534.  This means that your customers must have those ports open on their Firewall.  In a world of locked down security is this really likely?  I think not!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Controlled  Customer Base&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Therefore I think it's fair to say that you can only really use such functionality either an Intranet environment, or to a small controlled customer base.  If  your product is a mass market product do you wish to prevent your customers from using your application, especially if it's something they may have no control over (strict IT managers etc).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Simple Mode and Advanced Mode&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I guess one option would be to offer two levels of functionality, simple mode (for those without those ports open), and advanced (for those with the ports open) where advanced users can gain the benefit of the extra performance gains on the real time feed.  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Other Alternatives&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Use of ASMX / WCF Services provides an alternative to sockets, as does the Duplex Polling feature of WCF.  Although these technologies are very good and will meet the requirements of most users, they probably do not provide the performance needed for some applications.  They could be offered as options in the simple version of the application.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The Future&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;So whatabout the future?  For this space I guess some folks would like to see a wider range of available ports (e.g. ones that may'be already opened on the firewall), another hope could be more performant WCF based solutions.&lt;/p&gt;&lt;p&gt;For just now, I would say think about your market, your users, and the experience you would like to give them and make the best choice from there&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-4278795577246972566?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/4278795577246972566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=4278795577246972566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4278795577246972566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/4278795577246972566'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/are-sockets-only-suitable-in-intranets.html' title='Silverlight: Are sockets only suitable in intranets?'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-3819631844738126425</id><published>2008-11-13T14:14:00.001-08:00</published><updated>2008-11-13T14:16:53.597-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Azure: Fabric + Fabric Controller</title><content type='html'>&lt;p&gt;So I've been preparing for my session at DDD7 next week and since I couldn't find any suitable readymade diagrams of the Fabric and the Fabric Controller, I had to create my own.&lt;/p&gt;&lt;p&gt;I thought I would share it with the community at large  (feel free to steal it, I happily give up any rights that I would be too ashamed to assert).&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_5NvOQ-q6xac/SRymujyUHAI/AAAAAAAAACo/n7IwwbDqac4/s1600-h/image%5B3%5D.png"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="286" alt="image" src="http://lh4.ggpht.com/_5NvOQ-q6xac/SRymvM0rjxI/AAAAAAAAACs/aOF7a9Tt-2Y/image_thumb%5B1%5D.png?imgmax=800" width="454" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Purple Blob - Fabric Controller&lt;/li&gt;&lt;li&gt;Blue Blob - Server&lt;/li&gt;&lt;li&gt;Orange Blob - Virtual Machine&lt;/li&gt;&lt;li&gt;Yellow Blob - Role&lt;/li&gt;&lt;li&gt;Green Blob - Agent&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-3819631844738126425?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/3819631844738126425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=3819631844738126425' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3819631844738126425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/3819631844738126425'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/azure-fabric-fabric-controller.html' title='Azure: Fabric + Fabric Controller'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_5NvOQ-q6xac/SRymvM0rjxI/AAAAAAAAACs/aOF7a9Tt-2Y/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-1668366906318955192</id><published>2008-11-13T02:27:00.001-08:00</published><updated>2008-11-13T14:16:32.101-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2005'/><title type='text'>SQLBits Session Video Online</title><content type='html'>&lt;p&gt;So a few months I did a session at SQLBits called &lt;a href="http://www.sqlbits.com/Agenda/event3/Useful_Sql_y_stuff_that_I_ve_picked_up_over_the_years/default.aspx" target="_blank"&gt;Useful Sql’y Stuff wot I learned&lt;/a&gt;.&amp;#160;&amp;#160; I am pleased to say that the SQLBits team have made a &lt;a href="http://www.sqlbits.com/Agenda/event3/Useful_Sql_y_stuff_that_I_ve_picked_up_over_the_years/default.aspx" target="_blank"&gt;video of the session available&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I really did have a great day, and I really enjoyed doing that session.&amp;#160; For me it was of the sessions I enjoyed doing the most (especially since I wouldn’t consider myself as a SQL Server Dev).&lt;/p&gt;  &lt;p&gt;It was a lot of fun, and I got some really great feedback from it.&lt;/p&gt;  &lt;p&gt;I warn you if you are a hardened SQL Dev, you won’t get a lot out of this session, but if you are a .NET Developer that does SQL Server, then there is a lot of information that should help you out.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-1668366906318955192?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/1668366906318955192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=1668366906318955192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1668366906318955192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/1668366906318955192'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/sqlbits-session-video-online.html' title='SQLBits Session Video Online'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-6853316531551293543</id><published>2008-11-12T09:26:00.001-08:00</published><updated>2008-11-13T14:15:58.101-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Apologies to Silverlight.Net Community Feed</title><content type='html'>&lt;p&gt;It looks like an update to Feedrinse (at the feedrinse side), seems to have cleared my filters (nice one guys).&lt;/p&gt;  &lt;p&gt;This has meant my non silverlight posts have been making their way through to the silverlight community news section.&lt;/p&gt;  &lt;p&gt;I have now went into my Feedrinse account and setup new filters to stop this.&lt;/p&gt;  &lt;p&gt;I apologize for this happening (but this truly was not my fault), and I have now rectified the situation.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-6853316531551293543?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/6853316531551293543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=6853316531551293543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6853316531551293543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/6853316531551293543'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/apologies-to-silverlightnet-community.html' title='Apologies to Silverlight.Net Community Feed'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-7159556224345225110</id><published>2008-11-11T15:50:00.001-08:00</published><updated>2008-11-13T14:15:58.102-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>More Spectrum Emulator (blah, blah)</title><content type='html'>&lt;p&gt;I really have to stop posting about the Silverlight Spectrum Emulator, however I have just watched &lt;a href="http://channel9.msdn.com/shows/This+Week+On+Channel+9/This-Week-on-C9-Live-ID-goes-Open-ID-cool-Silverlight-Toolkit-and-themes-and-SecondLight-video/" target="_blank"&gt;This Week on Channel 9&lt;/a&gt; (for last week), confusing I know, and just noticed the Spectrum Emulator has made it onto the show.&lt;/p&gt;  &lt;p&gt;It is also listed in the Press Room for Day 1 of the PDC&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/presspass/events/pdc/videos.mspx" href="http://www.microsoft.com/presspass/events/pdc/videos.mspx"&gt;http://www.microsoft.com/presspass/events/pdc/videos.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I am totally blown away how well this has been received.&lt;/p&gt;  &lt;p&gt;Anyways, I will stop talking about it.&lt;/p&gt;  &lt;p&gt;I have a presentation on Windows Azure to build :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-7159556224345225110?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/7159556224345225110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=7159556224345225110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7159556224345225110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/7159556224345225110'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/more-spectrum-emulator-blah-blah.html' title='More Spectrum Emulator (blah, blah)'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7085364525717171484.post-52624608918403724</id><published>2008-11-10T08:01:00.001-08:00</published><updated>2008-11-13T14:15:58.103-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Azure'/><title type='text'>Azure: Hotmail should move to Azure</title><content type='html'>&lt;p&gt;Maybe it’s time Hotmail moved to Azure.&lt;/p&gt;  &lt;p&gt;This is the error message I got when I tried to login from messenger&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_5NvOQ-q6xac/SRha4nR6SbI/AAAAAAAAACg/sCOX9_flxSA/s1600-h/image%5B2%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="239" alt="image" src="http://lh4.ggpht.com/_5NvOQ-q6xac/SRha48vYB4I/AAAAAAAAACk/l7tXdUzsLnY/image_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In Azure they would be able to just spin up some more instances to cope with the load :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7085364525717171484-52624608918403724?l=silverlightuk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://silverlightuk.blogspot.com/feeds/52624608918403724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7085364525717171484&amp;postID=52624608918403724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/52624608918403724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7085364525717171484/posts/default/52624608918403724'/><link rel='alternate' type='text/html' href='http://silverlightuk.blogspot.com/2008/11/azure-hotmail-should-move-to-azure.html' title='Azure: Hotmail should move to Azure'/><author><name>chrishayuk</name><uri>http://www.blogger.com/profile/01255600685340367644</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_5NvOQ-q6xac/SRha48vYB4I/AAAAAAAAACk/l7tXdUzsLnY/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
