<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>BenkoBLOG</title><link>http://blogs.msdn.com/b/benko/</link><description>Find out what&amp;#39;s possible with all this new technology stuff...  </description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Benkoblog" /><feedburner:info uri="benkoblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Find out what&amp;#39;s possible with all this new technology stuff...</itunes:subtitle><geo:lat>44.866236</geo:lat><geo:long>-93.544875</geo:long><feedburner:emailServiceId>Benkoblog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>New Webcast Series–Cloud Computing Soup to Nuts</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/dKMzNBp53CY/new-webcast-series-cloud-computing-soup-to-nuts.aspx</link><pubDate>Tue, 31 Jan 2012 17:43:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262362</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10262362</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2012/01/31/new-webcast-series-cloud-computing-soup-to-nuts.aspx#comments</comments><description>&lt;p&gt;Announcing the latest webcast series - Cloud Computing Soup to Nuts (&lt;a href="http://bit.ly/s2nCloud"&gt;http://bit.ly/s2nCloud&lt;/a&gt;). In this series we start at the beginning and take you thru the services and technologies that make up Windows Azure and SQL Azure. Running every week on Tuesdays join us to explore the possible with Cloud Computing. I’ll be updating this page as the registration links become available. &lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-70"&gt;2/7 - Get Started with Cloud Computing and Windows Azure&lt;/a&gt;&lt;/b&gt;      &lt;br /&gt;You've heard the buzz, your boss might even have talked about it. In this first webcast of the Soup to Nuts series we'll get started with Windows Azure and Cloud Computing. In it we will explore what Azure is and isn't and get started by building our first Cloud application. Fasten your seatbelts, we're ready to get started with Cloud Computing and Windows Azure.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-71"&gt;2/14 - Working with Windows Azure Roles&lt;/a&gt;        &lt;br /&gt;&lt;/b&gt;The Cloud provides us with a number of services including storage, compute, networking and more. In this second session we take a look at how roles define what a service is. Beyond the different flavors of roles we show the RoleEntryPoint interface, and how we can plug code in the startup operations to make it easy to scale up instances. We will show how the Service Definition defines the role and provides hooks for customizing it to run the way we need it to. &lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-72"&gt;2/21 - Windows Azure Storage Options&lt;/a&gt;        &lt;br /&gt;&lt;/b&gt;The Cloud provides a scalable environment for compute but it needs somewhere common to store data. In this webcast we look at Windows Azure Storage and explore how to use the various types available to us including Blobs, Tables and Queues. We look at how it is durable, highly available and secured so that we can build applications that are able to leverage its strengths. &lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-73"&gt;2/28 - Intro to SQL Azure&lt;/a&gt;        &lt;br /&gt;&lt;/b&gt;While Windows Azure Storage provides basic storage often we need to work with Relational Data. In this weeks webcast we dive into SQL Azure and see how it is similar and different from on-premise SQL Server. From connecting from rich client as well as web apps to the management tools available for creating schema and moving data between instances in the cloud and on site we show you how it’s done.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-74"&gt;3/6 - Access Control Services and Cloud Identity&lt;/a&gt;        &lt;br /&gt;&lt;/b&gt;Who are you? How do we know? Can you prove it? Identity in the cloud presents us with the same and different challenges from identity in person. Access Control Services is a modern identity selector service that makes it easy to work with existing islands of identity such as Facebook, Yahoo and Google. It is based on standards and works with claims to provide your application with the information it needs to make informed authorization decisions. Join this webcast to see ACS in action and learn how to put it to work in your application today.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;a href="http://bit.ly/btlod-75"&gt;3/13 - Diagnostics &amp;amp; Troubleshooting&lt;/a&gt;        &lt;br /&gt;&lt;/b&gt;So you’ve built your Cloud application and now something goes wrong. What now? This weeks webcast is focused on looking at the options available for gaining insight to be able to find and solve problems. From working with Intellitrace to capture a run history to profiling options to configuring the diagnostics agent we will show you how to diagnose and troubleshoot your application.&lt;/p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262362" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/dKMzNBp53CY" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2012/01/31/new-webcast-series-cloud-computing-soup-to-nuts.aspx</feedburner:origLink></item><item><title>How to Convert from Number Seconds to Time String in SQL Server</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/wY3oKoFxXqU/how-to-convert-from-number-seconds-to-time-string-in-sql-server.aspx</link><pubDate>Sat, 24 Dec 2011 14:13:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10250837</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10250837</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/12/24/how-to-convert-from-number-seconds-to-time-string-in-sql-server.aspx#comments</comments><description>&lt;p&gt;I’ve been working with a sample timer application on the &lt;a href="http://create.msdn.com"&gt;Windows Phone&lt;/a&gt; to track our &lt;a href="http://techmasters-tc.com"&gt;TechMasters&lt;/a&gt; meeting timings. In the user interface I capture the number of seconds that someone spoke, and I’d like to return the value of number seconds formatted as a standard looking time string. In SQL Server there is the &lt;a href="http://msdn.microsoft.com/en-us/library/aa258265(v=SQL.80).aspx"&gt;DATEPART&lt;/a&gt; function that will return the number of minutes and number of seconds, but the problem is that the return value is not zero filled, which isn’t a problem as long as the person spoke at least 10 seconds. I needed to find a way to zero fill a string, and while I’m at it, it would be nice to have a function that does this for me. &lt;/p&gt;  &lt;p&gt;In SQL Server we can take advantage of the various string functions like RIGHT, REPLICATE and LTRIM to create a zero filled string. For example if you run&lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;declare&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; @num &lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;int&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;set&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; @num &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 1234&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;select&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;right(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;replicate&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0'&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 7&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;ltrim&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;@num&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;),&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 7&lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;go&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;you will get&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Courier New"&gt;0001234&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Using this and playing around with some of the string functions&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;CREATE&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;FUNCTION&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; [dbo]&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;SecsToTime&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt;@nsecs &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;RETURNS&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;nvarchar&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;7&lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;WITH&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;EXECUTE&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;AS&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;CALLER&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;AS&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#008000"&gt;-- place the body of the function here&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;BEGIN&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;declare&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @rc &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;nvarchar&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;12&lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#008000"&gt;--&lt;span style="mso-tab-count: 1"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;declare @nSecs int = 1234&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;select&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @rc &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;right(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;replicate&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0'&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 2&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;ltrim&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;datepart&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;minute&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;convert&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;time&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;dateadd&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;second&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nsecs&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0:00'&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)))),&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;2&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;':'&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;right(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;replicate&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0'&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 2&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;ltrim&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;datepart&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;second&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;convert&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;time&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;dateadd&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;second&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nsecs&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0:00'&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)))),&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;2&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nsecs &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 60 &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;*&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; 60 &lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#008000"&gt;-- more than 1 hour...then prepend # hrs&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;begin&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 2"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;declare&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nHrs &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;nvarchar&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;5&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 2"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;set&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nHrs &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;convert&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;nvarchar&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;datepart&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;hour&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;convert&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;time&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff00ff"&gt;dateadd&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;second&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nSecs&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;'0:00'&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;))))&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 2"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;set&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @rc &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @nHrs &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;':'&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;+&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @rc&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;end&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#008000"&gt;--&lt;span style="mso-tab-count: 1"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;select dbo.SecsToTime(12345)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-tab-count: 1"&gt;&lt;font color="#000000"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size: 10pt"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; @rc&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="line-height: 12pt; font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 10pt" color="#0000ff"&gt;END&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;After creating the function I can create a view that will return the correctly formatted time for my app as a string by calling the function in the view. So if I run&lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;font face="Courier New"&gt;&lt;span style="font-family: ; color: ; mso-no-proof: yes"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size: 10pt"&gt;select&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font style="font-size: 10pt"&gt;&lt;font color="#000000"&gt; dbo&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;.&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;SecsToTime&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#808080"&gt;(&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;14465&lt;/font&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font style="font-size: 10pt" color="#808080"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 8pt" color="#000000"&gt;-------&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 8pt" color="#000000"&gt;4:01:05&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin: 0in 0in 0pt; text-autospace: ; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 8pt" color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="line-height: 9pt; font-family: ; mso-no-proof: yes"&gt;&lt;font face="Courier New"&gt;&lt;font style="font-size: 8pt" color="#000000"&gt;(1 row(s) affected)&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p style="line-height: 13pt; margin: 0in 0in 10pt" class="MsoNormal"&gt;&lt;span style="line-height: 9pt; font-family: ; mso-no-proof: yes"&gt;&lt;/span&gt;Fun!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10250837" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/wY3oKoFxXqU" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/SQL/">SQL</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/12/24/how-to-convert-from-number-seconds-to-time-string-in-sql-server.aspx</feedburner:origLink></item><item><title>How to get to SQL Azure Query Performance Data</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/UYRonZODY4o/how-to-get-to-sql-azure-query-performance-data.aspx</link><pubDate>Thu, 15 Dec 2011 19:37:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10248236</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10248236</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/12/15/how-to-get-to-sql-azure-query-performance-data.aspx#comments</comments><description>&lt;p&gt;This week there is a lot of announcements and excitement around Windows Azure and SQL Azure with the live event put on by Scott Guthrie, Mark Russinovich and Dave Campbell (&lt;a href="http://www.LearnWindowsAzureEvent.com"&gt;www.LearnWindowsAzureEvent.com&lt;/a&gt;), where they showed the great new enhancements for how to jumpstart your development efforts for the cloud. These included the streamlined signup process, spending caps for accounts which truly make trying Windows Azure risk free, as well as the new billing interface that gives you a real-time look at consumption and spending of your subscription.&amp;#160; &lt;/p&gt;  &lt;p&gt;One feature I’m excited about is the new online management portal for SQL Azure. It has been updated with design, deployment, administration and tuning features built in. The new Overview screen provides quick links to the different areas of the portal, as well as easy links to help information from msdn online. You can get to the portal either by going to the Windows Azure management portal on &lt;a href="http://windows.azure.com"&gt;http://windows.azure.com&lt;/a&gt; and after signing in going to the database section and clicking Manage, or simply browsing to your database name – &lt;a href="http://microsoft.com/WindowsAzure"&gt;https://&amp;lt;myserver&amp;gt;.database.windows.net&lt;/a&gt; where you substitute your database server’s name for &amp;lt;myserver&amp;gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0827.image_5F00_2A97B11F.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5224.image_5F00_thumb_5F00_01CC2609.png" width="449" height="271" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When I log in I can see my databases and get information about size, usage as well as the ability dive into specific usage. From there I can go into designing the schema, functions and code around my database. If I swap over to the admin page though, I have visibility into not just database size and usage, but also a link to query performance. Clicking this takes me to where I can see profile data from queries.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3058.image_5F00_60004D77.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0728.image_5F00_thumb_5F00_00C4105F.png" width="439" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I can sort and see which calls to the database are most frequent as well as most expensive in terms of resource usage. Further I can select one and dive even deeper to see the execution plan and statistics around the calls. This information is key to making decisions on indexes and design of a well performing database. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6663.image_5F00_3A66AA49.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0081.image_5F00_thumb_5F00_1F8A5E70.png" width="449" height="317" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the query plan I can look for table scans or other expensive operations and if it make sense determine whether additional indexes would be useful.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3034.image_5F00_325EE21A.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8814.image_5F00_thumb_5F00_45DC1BEE.png" width="450" height="320" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nice!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10248236" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/UYRonZODY4o" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/12/15/how-to-get-to-sql-azure-query-performance-data.aspx</feedburner:origLink></item><item><title>Learn Windows Azure with the Scott Guthrie, Mark Russinovich and Dave Campbell</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/CqHQSrXONqs/learn-windows-azure-with-the-scott-guthrie-mark-russinovich-and-dave-campbell.aspx</link><pubDate>Mon, 12 Dec 2011 14:36:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10246739</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10246739</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/12/12/learn-windows-azure-with-the-scott-guthrie-mark-russinovich-and-dave-campbell.aspx#comments</comments><description>&lt;p&gt;On Tuesday this week Scott Guthrie (&lt;a href="https://twitter.com/#!/scottgu"&gt;&lt;s&gt;@&lt;/s&gt;&lt;b&gt;scottgu&lt;/b&gt;&lt;/a&gt;), is doing a live event to showcase Windows Azure and the latest in Cloud Development. The site &lt;a href="http://www.LearnWindowsAzureEvent.com"&gt;http://www.LearnWindowsAzureEvent.com&lt;/a&gt; has details on the schedule for the day and includes a Q&amp;amp;A session on Channel9. If you have questions after the fact you can ask them on Windows Azure Office Hours (&lt;a href="http://wabcdemos.cloudapp.net/OfficeHrs"&gt;http://wabcdemos.cloudapp.net/OfficeHrs&lt;/a&gt;) where we will have an hour with &lt;a href="https://twitter.com/#!/markrussinovich"&gt;&lt;s&gt;@&lt;/s&gt;&lt;b&gt;markrussinovich&lt;/b&gt;&lt;/a&gt; to help answer questions and understand the possible.&lt;/p&gt;  &lt;p&gt;Join us. Learn how to build &lt;a href="https://twitter.com/#!/search?q=%23cloud"&gt;&lt;s&gt;#&lt;/s&gt;&lt;b&gt;cloud&lt;/b&gt;&lt;/a&gt; apps from on Dec 13. &lt;a href="http://t.co/HYp9Y39e"&gt;http://bit.ly/uorr8K&lt;/a&gt; &lt;a href="https://twitter.com/#!/search?q=%23startazure"&gt;&lt;s&gt;#&lt;/s&gt;&lt;b&gt;startazure&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10246739" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/CqHQSrXONqs" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/12/12/learn-windows-azure-with-the-scott-guthrie-mark-russinovich-and-dave-campbell.aspx</feedburner:origLink></item><item><title>Announcing the New BenkoTIPS.com site!</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/26o7nVaEm_0/announcing-the-new-benkotips-com-site.aspx</link><pubDate>Mon, 05 Dec 2011 14:55:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10244235</guid><dc:creator>mbenkov</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10244235</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/12/05/announcing-the-new-benkotips-com-site.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.benkotips.com/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4544.image_5F00_25B257D7.png" width="244" height="195" /&gt;&lt;/a&gt;Today I’ve finally completed migration the content and links to webcasts, downloads and more from the original site I built as a developer resource in 2005 to a new version deployed in &lt;a href="http://microsoft.com/windowsazure" target="_blank"&gt;Azure&lt;/a&gt;. Originally deployed using &lt;a href="http://dotnetnuke.com" target="_blank"&gt;DotNetNuke&lt;/a&gt;, the new site is built with the latest ASP.NET tools, technologies and techniques. &lt;/p&gt;  &lt;p&gt;I’ve almost migrated the site to several technologies over the last several years, including SharePoint, .NET Web Forms and most recently MVC. The new site is built leveraging OData, .NET 4.0, combined Azure roles and more. I toyed with the idea of including a membership provider to the original user database, but instead implemented &lt;a href="http://www.microsoft.com/windowsazure/features/accesscontrol/" target="_blank"&gt;Access Control Services (ACS)&lt;/a&gt; to allow you to authenticate with Google, Facebook, Yahoo and LiveID instead. I will be showcasing how this is done in an upcoming webcast on &lt;a href="http://benkotips.com/Webcasts" target="_blank"&gt;Cloud Identity&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;You should find that the old links should still work for the most part, but if something doesn’t please let me know – send me an email (from the link in the left hand pane that says &lt;a href="mike@benkotips.com"&gt;Talk to Mike&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10244235" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/26o7nVaEm_0" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/12/05/announcing-the-new-benkotips-com-site.aspx</feedburner:origLink></item><item><title>More Windows Azure Webcasts</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/dXA-YVgSCyA/more-windows-azure-webcasts.aspx</link><pubDate>Wed, 30 Nov 2011 16:17:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10242942</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10242942</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/11/30/more-windows-azure-webcasts.aspx#comments</comments><description>&lt;p&gt;In case you’re interested here are the latest scheduled additions to the Windows Azure Boot Camp webcast series (&lt;a href="http://bit.ly/wabcWebcasts2011"&gt;http://bit.ly/wabcWebcasts2011&lt;/a&gt;). These include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;11/22 - &lt;a href="http://bit.ly/btlod-65"&gt;http://bit.ly/btlod-65&lt;/a&gt; SQL Azure and Windows Phone &lt;/li&gt;    &lt;li&gt;11/29 - &lt;a href="http://bit.ly/btlod-66"&gt;http://bit.ly/btlod-66&lt;/a&gt; Scaling in the Cloud &lt;/li&gt;    &lt;li&gt;12/13 - &lt;a href="http://bit.ly/btlod-68"&gt;http://bit.ly/btlod-68&lt;/a&gt; Cloud + Mobile Game - building Rock Paper Scissors on Windows Phone &lt;/li&gt;    &lt;li&gt;12/20 - &lt;a href="http://bit.ly/btlod-67"&gt;http://bit.ly/btlod-69&lt;/a&gt; Cloud Identity - Working with ACS &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;See you online!&lt;/p&gt;  &lt;ul&gt;&lt;!--EndFragment--&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242942" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/dXA-YVgSCyA" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/BenkoTIPS/">BenkoTIPS</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Webcasts/">Webcasts</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Azure/">Azure</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/11/30/more-windows-azure-webcasts.aspx</feedburner:origLink></item><item><title>Adding an RSS feed to a site or how to use the XMLDataSource and a Repeater</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/vEiAaNgDSc8/adding-an-rss-feed-to-a-site-or-how-to-use-the-xmldatasource-and-a-repeater.aspx</link><pubDate>Wed, 30 Nov 2011 15:16:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10242910</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10242910</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/11/30/adding-an-rss-feed-to-a-site-or-how-to-use-the-xmldatasource-and-a-repeater.aspx#comments</comments><description>I’ve been working on my demo site for wanted to add a feed to my blog from MSDN. I knew that Linq to XML can do processing of rss data (it is after all just XML, right?) and that I could create some queries in code to iterate thru the feed. But in the Visual Studio toolbox there are a couple controls that can make creating this feed much easier, namely the Data Repeater and the XMLDataSource. Using these two controls its quick to setup and run a page that shows a feed.    &lt;p&gt;To start with, create a page and add the Data Repeater to your page where you want it to display. In VS2010 the repeater designer requires adding an item template in the source view. This is fairly straightforward, the code I added includes an item template that takes the blog post title and displays it as a link.&lt;/p&gt;  &lt;pre style="font-family: ; background: white; color: "&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;h1&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;Benko Blog&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;h1&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;br&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;asp&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;Repeater&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;/span&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: "&gt;=&lt;/span&gt;&lt;span style="color: "&gt;&amp;quot;Repeater1&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;/span&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: "&gt;=&lt;/span&gt;&lt;span style="color: "&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;ItemTemplate&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;a&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;target&lt;/font&gt;&lt;/span&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: "&gt;=&lt;/span&gt;&lt;span style="color: "&gt;&amp;quot;_blank&amp;quot;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;href&lt;/font&gt;&lt;/span&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: "&gt;=&lt;/span&gt;&lt;span style="color: "&gt;'&lt;/span&gt;&lt;/font&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%"&gt;&lt;font style="background-color: #ffff00" color="#000000"&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; XPath(&amp;quot;link&amp;quot;) &lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%"&gt;&lt;font style="background-color: #ffff00"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;span style="color: "&gt;'&lt;/span&gt;&lt;span style="color: "&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;
&lt;font color="#000000"&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; &lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%"&gt;&lt;font style="background-color: #ffff00"&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; System.Web.&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;HttpUtility&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.HtmlEncode(XPath(&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;&amp;quot;title&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;).ToString())&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%"&gt;&lt;font style="background-color: #ffff00"&gt;%&amp;gt;&lt;/font&gt;&lt;/span&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;br&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;ItemTemplate&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;asp&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#800000"&gt;Repeater&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;
&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;On the control we can create and configure a data source to act as the feed we’ll use…From the design view hover over the smart tag and select a data source:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4024.image_5F00_1867F04B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3750.image_5F00_thumb_5F00_536B5AAF.png" width="389" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there use the XML Data Source as the type and then we configure it to know how to pull from our blog.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3056.image_5F00_048A9550.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8231.image_5F00_thumb_5F00_5C77E630.png" width="507" height="379" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next we add an XML data source to the repeater and configure the feed. In RSS 2.0 the feed includes a few elements of interest, including &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;“link” – The url to the feed &lt;/li&gt;

  &lt;li&gt;“title” – The title of the post &lt;/li&gt;

  &lt;li&gt;“pubDate” – Date published &lt;/li&gt;

  &lt;li&gt;“description” – The actual content of the post &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The XPath expression to iterate thru all the posts for RSS 2.0 is “rss/channel/item”.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7167.image_5F00_548043CE.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5826.image_5F00_thumb_5F00_487E539A.png" width="558" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This resulted in a list of posts, quick and easy. Of course as soon as you finish something like this you want to tweak it to customize the results. One customization I wanted to do is to filter the return set to only return the last 5 posts. I found some references online that go thru XPath syntax and found that if I changed my XPath expression to include an operator I could filter the results to what I wanted. The XPath expression looked like this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;rss/channel/item[position()&amp;lt;6]&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;If I wanted to filter for posts where the content were specific to a given search term, for example all posts that are related to webcasts then the XPath expression looked like this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;rss/channel/item[contains(title,’Webcasts’)]&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;Obviously I’m only scratching the surface of what you can do, but this accomplished what I needed. There are some great examples online, and I’m including the references I used below. happy Coding!&lt;/p&gt;

&lt;p&gt;References&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;BLOG Basic XMLDataSource and Repeater tutorial &lt;a title="http://beecy.net/post/2009/04/17/Making-XmlDataSource-Work-with-RSS-10-RSS-20-and-Atom-Feeds.aspx" href="http://beecy.net/post/2009/04/17/Making-XmlDataSource-Work-with-RSS-10-RSS-20-and-Atom-Feeds.aspx"&gt;http://beecy.net/post/2009/04/17/Making-XmlDataSource-Work-with-RSS-10-RSS-20-and-Atom-Feeds.aspx&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;BLOG Working with XPath queries &lt;a title="http://www.willasrari.com/blog/create-keyword-filtered-rss-feeds-using-xmldatasource/000107.aspx" href="http://www.willasrari.com/blog/create-keyword-filtered-rss-feeds-using-xmldatasource/000107.aspx"&gt;http://www.willasrari.com/blog/create-keyword-filtered-rss-feeds-using-xmldatasource/000107.aspx&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;BLOG XPath Syntax &lt;a title="http://www.w3schools.com/xpath/xpath_syntax.asp" href="http://www.w3schools.com/xpath/xpath_syntax.asp"&gt;http://www.w3schools.com/xpath/xpath_syntax.asp&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;MSDN XPath Reference &lt;a title="http://msdn.microsoft.com/en-us/library/ms256122.aspx" href="http://msdn.microsoft.com/en-us/library/ms256122.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms256122.aspx&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;MSDN XPath Examples &lt;a title="http://msdn.microsoft.com/en-us/library/ms256086.aspx" href="http://msdn.microsoft.com/en-us/library/ms256086.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms256086.aspx&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10242910" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/vEiAaNgDSc8" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/BenkoTIPS/">BenkoTIPS</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/-NET/">.NET</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Demo+Code/">Demo Code</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/11/30/adding-an-rss-feed-to-a-site-or-how-to-use-the-xmldatasource-and-a-repeater.aspx</feedburner:origLink></item><item><title>Use ACS for your web application</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/lKg4WZ455MM/use-acs-for-your-web-application.aspx</link><pubDate>Thu, 17 Nov 2011 22:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10238305</guid><dc:creator>mbenkov</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10238305</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/11/17/use-acs-for-your-web-application.aspx#comments</comments><description>&lt;p&gt;Today I showed a work around for when you are showing ACS on a site that is running without setting up the SSL piece. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Lucida Console"&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;           &lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;system.web&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;        &lt;br /&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160; &amp;lt;!--&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;Hack to get past request token on non-SSL site&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;—&amp;gt;&lt;/font&gt;&lt;/span&gt;        &lt;br /&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160; &amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;httpRuntime&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;requestValidationMode&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;2.0&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt; /&amp;gt;&lt;/font&gt;&lt;/span&gt;        &lt;br /&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160; &amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;pages&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;validateRequest&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;controlRenderingCompatibilityVersion&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;4.0&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#ff0000"&gt;clientIDMode&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;AutoID&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;quot;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;pages&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;&amp;gt;           &lt;br /&gt;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ...&lt;/font&gt;&lt;/span&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Note that shutting off validation of requests is not recommended, as it opens exploits against your site. For a better way of approaching this, Sandrino Di Mattia does a great job of explaining the right way of how to deploy and use the access control service in an Azure deployed solution.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://fabriccontroller.net/blog/a-few-tips-to-get-up-and-running-with-theazure-appfabric-access-control-service" href="http://fabriccontroller.net/blog/a-few-tips-to-get-up-and-running-with-theazure-appfabric-access-control-service"&gt;http://fabriccontroller.net/blog/a-few-tips-to-get-up-and-running-with-theazure-appfabric-access-control-service&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the Azure event I also showed a page that shows the contents of the user identity and display information about the claims contained in the token returned from ACS. I created a page in a secure location, then added a simple data grid to the page (called GridView1 and then in the page load I pull the identity information from the authenticated user data. The code for the PageLoad is below:&lt;/p&gt;  &lt;p&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;protected&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; Page_Load(&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; sender, &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;EventArgs&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt; e)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;        &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;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;try&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {        &lt;br /&gt;&amp;#160;&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;/font&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;// Cast the Thread.CurrentPrincipal&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;IClaimsPrincipal&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; icp = &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;Thread&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CurrentPrincipal &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;IClaimsPrincipal&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;;        &lt;br /&gt;        &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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;// Access IClaimsIdentity which contains claims&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;IClaimsIdentity&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; claimsIdentity = (&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;IClaimsIdentity&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;)icp.Identity;        &lt;br /&gt;        &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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;// icp.Identity.Name;&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;// txtAuthName.Text = claimsIdentity.Name;&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&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; &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; txtAuthType.Text = claimsIdentity.AuthenticationType;         &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; txtIsAuthenticated.Text = claimsIdentity.IsAuthenticated.ToString();         &lt;br /&gt;        &lt;br /&gt;        &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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; myClaims = &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;from&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; c &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;in&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt; claimsIdentity.Claims        &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;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;select&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#160;&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt; { c.ClaimType, c.Value };        &lt;br /&gt;        &lt;br /&gt;        &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; GridView1.DataSource = myClaims;         &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; GridView1.DataBind();         &lt;br /&gt;        &lt;br /&gt;        &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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#008000"&gt;// Enable secret content for administrators&lt;/font&gt;&lt;/span&gt;       &lt;br /&gt;&lt;font color="#000000"&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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;Thread&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CurrentPrincipal.IsInRole(&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#a31515"&gt;&amp;quot;Administrator&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;))        &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; {         &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; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.secretContent.Visible = &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Lucida Console"&gt;&lt;font color="#000000"&gt;;        &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; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#0000ff"&gt;catch&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span style="color: "&gt;&lt;font color="#2b91af"&gt;Exception&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; ex)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&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; txtAuthType.Text = ex.Message;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10238305" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/lKg4WZ455MM" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/11/17/use-acs-for-your-web-application.aspx</feedburner:origLink></item><item><title>How to encrypt passwords in Web.confg</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/yHX3vJD1XJo/how-to-encrypt-passwords-in-web-confg.aspx</link><pubDate>Mon, 14 Nov 2011 04:53:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10236695</guid><dc:creator>mbenkov</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10236695</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/11/14/how-to-encrypt-passwords-in-web-confg.aspx#comments</comments><description>&lt;p&gt;In Windows Azure and especially with SQL Azure we need to store passwords to access things. I wanted to show how you can encrypt the web.config file by adding code to the global.asax file. The cool part of this is that using this technique you can secure application specific settings like connection strings and other data in the unlikely event that someone is able to get a copy of the configuration file (like by copying it to a thumb drive from the host machine or something similar).&lt;/p&gt;  &lt;p&gt;The basic logic is to create a variable that points to a configuration section, then checking that the section is protected (i.e. encrypted). If it isn't, then call the ProtectSection method to encrypt the contents. The server uses the local DPAPI (Data Protection API) to encrypt the configuration section with a machine specific key, so only that machine can decrypt the contents. The code to add to the global.asax.cs file in the Application Start event for this is:&lt;/p&gt;  &lt;blockquote&gt;&lt;span style="line-height: normal; font-family: ; font-size-adjust: none; font-stretch: normal"&gt;     &lt;p class="SourceCode"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: accent1"&gt;&lt;font color="#4f81bd"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;class&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: accent5"&gt;&lt;font color="#4bacc6"&gt;Global&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&lt;font color="#000000"&gt; : System.Web.HttpApplication                &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;{ &lt;/font&gt;              &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;&amp;#160;&amp;#160;&amp;#160; protected&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;void&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; Session_Start(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;object&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; sender, &lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: accent5"&gt;&lt;font color="#4bacc6"&gt;EventArgs&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&lt;font color="#000000"&gt; e)                &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; {                 &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EncryptSection(&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#c00000"&gt;appSettings&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font size="2"&gt;&lt;font color="#000000" face="Courier New"&gt;&amp;quot;);              &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;     &lt;span&gt;       &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font size="2" face="Courier New"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;&amp;#160;&amp;#160;&amp;#160; private&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;void&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#000000"&gt; EncryptSection(&lt;/font&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: text2"&gt;&lt;font color="#1f497d"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&lt;font color="#000000"&gt; sSection)              &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; { &lt;/font&gt;            &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: accent5"&gt;&lt;font color="#4bacc6"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Configuration&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000"&gt;&lt;span&gt; config = System.Web.Configuration&amp;#160; &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .WebConfigurationManager               &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .OpenWebConfiguration               &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (Context.Request.ApplicationPath);&lt;/span&gt;&amp;#160;&lt;/font&gt;          &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="color: ; mso-themecolor: accent5"&gt;&lt;font color="#4bacc6" size="2" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ConfigurationSection&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&lt;font color="#000000"&gt; configSection =              &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; config.GetSection(sSection); &lt;/font&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#002060"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&lt;font color="#000000"&gt; (!configSection.SectionInformation.IsProtected)              &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {               &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; configSection.SectionInformation.ProtectSection               &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: "&gt;&lt;font color="#c00000"&gt;DataProtectionConfigurationProvider&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font size="2"&gt;&lt;font color="#000000" face="Courier New"&gt;&amp;quot;);            &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; config.Save();             &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }            &lt;br /&gt;} &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;    &lt;p class="SourceCode"&gt;&lt;span&gt;&lt;font size="2"&gt;&lt;font color="#000000" face="Courier New"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10236695" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/yHX3vJD1XJo" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/11/14/how-to-encrypt-passwords-in-web-confg.aspx</feedburner:origLink></item><item><title>Lincoln on Leadership</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/Rg_lVq6WnCY/lincoln-on-leadership.aspx</link><pubDate>Tue, 25 Oct 2011 10:55:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229749</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10229749</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/10/25/lincoln-on-leadership.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.amazon.com/Lincoln-Leadership-Executive-Strategies-Tough/dp/0446394599?ie=UTF8&amp;amp;qid=1319539728&amp;amp;sr=8-1&amp;amp;_encoding=UTF8&amp;amp;tag=b039f-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6763.image_5F00_65B20870.png" width="103" height="156" /&gt;&lt;/a&gt;I just finished a great book that dives into style and approaches for leadership by Donald Phillips called “&lt;a href="http://www.amazon.com/Lincoln-Leadership-Executive-Strategies-Tough/dp/0446394599?ie=UTF8&amp;amp;qid=1319539728&amp;amp;sr=8-1&amp;amp;_encoding=UTF8&amp;amp;tag=b039f-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Lincoln on Leadership&lt;/a&gt;&lt;img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=b039f-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" /&gt; ”.&amp;#160; To be effective, Phillips argues, look at the approaches used by this famous leader. From the simple things dealing with people with his classic lessons of “Keep your Friends Close, your Enemies Closer”, to how to get out of the office and circulate among the troops. &lt;/p&gt;  &lt;p&gt;The book is broken into 4 parts, People, Character, Endeavor and Communication. The first part talks about how to connect and work with your peers on your team and in the community. Next he dives into characteristics of a great leader. Think of what has made managers and leaders you’ve worked with effective, what was it that made them effective? It’s not just integrity, but also the willingness to stand up for your team even when it seems unpopular. The next part about endeavor has to do with having a vision and staying with it. The drive to continue down the path and be consistent with the mission, and then encouraging innovation among your team is key to making the whole larger than the sum of the parts. The final section explores communication and some approaches that work better than others, such as storytelling and remaining on message.&lt;/p&gt;  &lt;p&gt;This is a great read, and worth the time if you are looking for something different. I found it to be entertaining and enlightening. Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229749" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/Rg_lVq6WnCY" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/Soft+Skills/">Soft Skills</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Books/">Books</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/10/25/lincoln-on-leadership.aspx</feedburner:origLink></item><item><title>How to Secure your Mobile App with 3rd party Identity</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/PSBV2jyJeME/how-to-secure-your-mobile-app-with-3rd-party-identity.aspx</link><pubDate>Wed, 05 Oct 2011 22:17:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10220798</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10220798</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/10/05/how-to-secure-your-mobile-app-with-3rd-party-identity.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7827.image_5F00_04241097.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 17px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/1050.image_5F00_thumb_5F00_4B49B6C9.png" width="133" height="244" /&gt;&lt;/a&gt;Today I’m heading out to my Alma Mater to speak to some Graduate Students on the beauty and magic of the Networking Stack, and we’ll build a Windows Phone 7.1 TCP client application. Basically it takes an example from the &lt;a href="http://msdn.microsoft.com/en-us/library/hh202858(VS.92).aspx"&gt;MSDN Library&lt;/a&gt;&amp;#160; in which we create a SocketClient class to handle the threading, host and port operations, then talks to a Simple TCP service to call the ECHO and QOTD (quote of the day) services. These services are not enabled by default so in order to make the example work you have to turn them on. This is done in the Add &amp;amp; Remove Programs, select Windows Features, then enable Simple TCP Services.&lt;/p&gt;  &lt;p&gt;The mobile client client is written in Silverlight, using XAML markup to describe the look and behavior of the interface. Simply copying the code from the article and pressing F5 gives us a working prototype. For fun I thought it would be interesting to add Authentication to pull back the user’s name as the text to echo and showcase leveraging Azure’s Access Control Services along the way. The basic flow of the altered demo is to have the user authenticate with credentials from some identity provider and then use them in the client application. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Access Control Services&lt;/strong&gt; is part of the Windows Identity Foundation story and is enabled thru Windows Azure’s management portal. What it provides is a synchronization and management point to have a security conversation where you introduce a 3rd party, such as Google or Facebook, to authenticate the user and share a security token that contains identity information. To leverage these services you can download code examples in the form of the &lt;a href="http://msdn.microsoft.com/en-us/IdentityTrainingCourse"&gt;Identity Training kit&lt;/a&gt;, use some code shared on &lt;a href="http://acs.codeplex.com/"&gt;CodePlex&lt;/a&gt;, or copy the &lt;em&gt;SL.Phone.Federation&lt;/em&gt; assembly from one of the &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;Windows Azure Platform Training Kits&lt;/a&gt;. There is also a &lt;a href="http://nuget.org/List/Packages/Azure.ACS.LoginControls"&gt;NuGet package&lt;/a&gt;, but it doesn’t appear to support Windows Phone. &lt;/p&gt;  &lt;p&gt;After you’ve got the controls for the client we still need to create a namespace and configure our service to understand our application. This is done from Azure’s Management Portal. Browse to &lt;a href="http://windows.azure.com"&gt;http://windows.azure.com&lt;/a&gt; and log in using your Live ID credentials. If you have active subscriptions associated with your ID you’ll see a Silverlight application that looks like below. On the top is a context sensitive ribbon with commonly executed commands, the left side has&amp;#160; buttons that will take you to various management parts of the portal. To create and manage the identity stuff click the “Service Bus, Access Control &amp;amp; Caching” button and we’re on our way.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7411.image_5F00_41A14893.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0576.image_5F00_thumb_5F00_3D674B01.png" width="568" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This takes us to a listing of namespaces that we own. In the object tree in the upper part of the left pane I can manage Access Control, Service Bus or Cache. I selected Access Control. Think of a namespace as the unique part of a domain name, usually the first part of the URI that HTTP understands. In my case I’ve created several namespaces, and this part of the application allows me to manage them.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0167.image_5F00_404C89E7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/1651.image_5F00_thumb_5F00_03D4153D.png" width="572" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Create a new namespace which will be the location of our services for this exercise. Each namespace must be unique and a button for checking availability will confirm your choice. The other thing to do is to set the country/region to host the service. After creating the namespace, click the little Green dice in the ribbon to open the management page for your service. The management page is actually hosted inside your named space so if I had created a namespace called “benkodemo” the management portal would be &lt;a href="https://benkodemo.accesscontrol.windows.net"&gt;https://benkodemo.accesscontrol.windows.net&lt;/a&gt;. To access it I need to authenticate with the Live ID I had logged in with. Assuming that’s done all we need to do is to complete the 3 steps to configure ACS including selecting Identity Providers we want to work with, adding info about our application including the deployment URI it will run from and the token format we’re interested in, and then set up rules for how to handle claim requests from the various providers. Since this is a fairly deep topic I’ll refer you to the platform training kits and online documentation instead of repeating it here. Suffice it to say that for my simple example we’ll use the following settings:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Select Identity Providers.&lt;/strong&gt; Add identity providers for Google and Yahoo to the default selection of Live ID. In adding these providers we have the option of including a link to an image to display next to the choice in the identity selector screen.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Configure the Relying Party Application. &lt;/strong&gt;In the Relying Party Application screen we add a unique name, a realm and then select a Token Format for the conversation. I’m building a Windows Phone application, so the SWT format works fine for my purposes. The other key piece of information is the Realm. This is the URI from which requests must originate from and typically is the URL of the site, like &lt;a href="http://wabcdemos.cloudapp.net"&gt;http://wabcdemos.cloudapp.net&lt;/a&gt; or similar. Since this is a Phone based application we’ll use &lt;em&gt;uri:myDemoApp&lt;/em&gt;. This realm will be important when we use the control on the client.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Generate Rules&lt;/strong&gt;. This drives how the claims are processed for each provider of identity. Clicking Generate will populate the set of default handling for the various claims You might notice that unlike Google or Yahoo, Live ID will return just the &lt;em&gt;nameidentifier&lt;/em&gt; information, where Google and Yahoo also include additional information about the user including their &lt;em&gt;name&lt;/em&gt; and &lt;em&gt;emailaddress&lt;/em&gt;. We can add a custom rule for Live ID to copy the &lt;em&gt;nameidentifier&lt;/em&gt; to the name claim if we plan on using the name in our application by clicking add, then configuring the rule to copy the &lt;em&gt;nameidentifier&lt;/em&gt; data to the name claim.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7485.image_5F00_3191B835.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6431.image_5F00_thumb_5F00_049C555A.png" width="568" height="502" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configure the Phone Application&lt;/strong&gt;. Now that our ACS services are configured we can return to our client project and create the plumbing necessary to use the identity provided from ACS. For sake of simplicity I will focus just on the client application and dive into the OAuth portion of the conversation on the server in another post. Our example will simply ensure that we can authenticate a user on mobile client and parse the token to see the content. In the Visual Studio Phone solution add a reference to the &lt;em&gt;SL.Federation.Phone&lt;/em&gt; assembly, and optionally add the same assembly to your toolbox if you want to use the designer to place and work with the control. I’m pulling mine from the Windows Phone training kit binaries.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3276.image_5F00_618BE3E9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8081.image_5F00_thumb_5F00_6A2C3C75.png" width="492" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next add a resource to the App.xaml that can be used anywhere in the application. We add a namespace to the header, then a resource for the RequestSecurityTokenResponseStore called “rstrStore”. This is where we’ll save the response from the ACS conversation.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7506.image_5F00_4643651B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2605.image_5F00_thumb_5F00_3249D285.png" width="715" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Wire up the Main Page. &lt;/strong&gt;Before we build the login page itself we need to add logic that will detect whether identity has been selected by the application and stored in the token “rstrStore”. Typically this is done when the application starts, but you could just as easily wire up an App Bar button or some other UI control to trigger it. The logic that gets added, in my case when the MainPage.xaml is loaded is this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6011.image_5F00_3CBA80D8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2100.image_5F00_thumb_5F00_2CCB3C14.png" width="822" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Add Login Page&lt;/strong&gt;. Next we’ll add a login page, call it MyLogin.xaml, and add the sign in control. When we add the control it’s got margins and other extraneous information, right clicking on it and doing a Reset Layout &amp;gt; All clears these. The result is a page with the user control filling the content grid. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0243.image_5F00_121E9FFB.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4265.image_5F00_thumb_5F00_21CE0F32.png" width="441" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We set the control properties for Realm, ServiceNamespace, and the RequestSecurityTokenReponseStore, then add a Loaded event handler. In the code for the event we’ll add code to get the security token from the service which will invoke the control to prompt the user to select an identity provider. When it’s done we add code to navigate back to the calling page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6320.image_5F00_647D349D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2781.image_5F00_thumb_5F00_6F5A15E5.png" width="807" height="232" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;&lt;strong&gt;Run&lt;/strong&gt;. If all you did was create a new project and add this code you’d have a mobile application that will get identity from a provider. If you press F5 to run it you’ll get a screen that looks like below.&amp;#160; Selecting an identity provider and using your credentials will take you back to the main page of your application. Next post we’ll talk about how to use that identity to authorize the client to work with data. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3660.image_5F00_0CDFB4E8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5736.image_5F00_thumb_5F00_631C39F4.png" width="133" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10220798" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/PSBV2jyJeME" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/10/05/how-to-secure-your-mobile-app-with-3rd-party-identity.aspx</feedburner:origLink></item><item><title>How to screw up a Tech Interview</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/yhHWeeRVnhs/how-to-screw-up-a-tech-interview.aspx</link><pubDate>Tue, 04 Oct 2011 14:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10220010</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10220010</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/10/04/how-to-screw-up-a-tech-interview.aspx#comments</comments><description>&lt;p&gt;Today at &lt;a href="http://techmasters-tc.com/"&gt;TechMasters&lt;/a&gt; Jeff Urban did a great talk that addressed the soft skills a technology professional needs. As someone who has delivered many of these types of interviews for various positions and companies I could relate to what he offered and thought I’d add some observations of my own. Whether you are new to the industry or switching jobs these are some key tactics to make sure it doesn’t happen.&lt;/p&gt;  &lt;p&gt;1. &lt;strong&gt;Show up Late&lt;/strong&gt;. By ignoring the timeliness of your appointment you are saying loud and clear where you place the importance in the scheme of things. This applies especially for the blind interview, in which you are meeting with someone for the first time. Unless you have a very deep well of reputation and credibility to draw from this one can be an immediate killer.&lt;/p&gt;  &lt;p&gt;2. &lt;strong&gt;Politics. &lt;/strong&gt;One of the great ways to make sure you don’t get the job is to rant about your favorite issue and to call out politicians and people by name. or make analogies that rely on a particular bias. Just ask Hank Williams Jr. &lt;/p&gt;  &lt;p&gt;3. &lt;strong&gt;Lie about your experience. &lt;/strong&gt;If you have 10+ years of Windows 8 development experience with Metro and 15 years of .NET, having helped build ARPANET and invented the internet, so much the better for you…in your world. But for the rest of us a little honesty and the courage to say when you haven’t done something will go a long way to building credibility. Not saying that the references are always going to be checked, but they might. It’s better not to ask people to lie for you.&lt;/p&gt;  &lt;p&gt;4. &lt;strong&gt;Ignore the culture. &lt;/strong&gt;Every company is unique, from the dress code to the coffee break. You won’t know what it’s like to work there unless you’ve worked there, but assuming a more casual environment can be a fatal flaw. A lot of companies do corporate casual, which doesn’t mean torn jeans and concert t-shirt. It’s a safe assumption to overdress than under.&amp;#160; &lt;/p&gt;  &lt;p&gt;5. &lt;strong&gt;Don’t answer the question. &lt;/strong&gt;Nothing is more frustrating that asking a simple question and getting a long winded response that doesn’t address what was asked. If the interviewer asks the same question more than once you might clue into that you need to listen. Take the classic sage advice of Poor Richard – you’ve got 2 ears and 1 mouth. Use them accordingly. Listen to the question&amp;#160; before you respond.&lt;/p&gt;  &lt;p&gt;These are a few of my own pet peeves. I’m sure there are &lt;a href="http://www.bing.com/search?q=how+to+screw+up+a+technical+job+interview&amp;amp;go=&amp;amp;qs=n&amp;amp;sk=&amp;amp;form=QBLH"&gt;lots of others&lt;/a&gt;. In any case, if you are hoping to land the dream job, then do your homework and make your best play. And don’t make one of the &lt;a href="http://www.youtube.com/watch?v=0yqWtvBVG1s"&gt;classic blunders&lt;/a&gt;, like getting involved in a Land War in Asia.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10220010" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/yhHWeeRVnhs" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/TechMasters/">TechMasters</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Soft+Skills/">Soft Skills</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/10/04/how-to-screw-up-a-tech-interview.aspx</feedburner:origLink></item><item><title>Observations from Minnesota Developer Conference 2011</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/SzNwLyB0Ii4/observations-from-minnesota-developer-conference-2011.aspx</link><pubDate>Fri, 30 Sep 2011 14:28:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10218580</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10218580</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/30/observations-from-minnesota-developer-conference-2011.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://mdc.ilmservice.com/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5428.image_5F00_7BBE6A5D.png" width="363" height="145" /&gt;&lt;/a&gt;This week in Minneapolis the 6th annual &lt;a href="https://mdc.ilmservice.com/"&gt;Minnesota Developer Conference&lt;/a&gt; (MDC11) was held in Bloomington and it brought with it a record crowd of 500+ attendees. The event was broken into 7 tracks with 4 sessions each along with a keynote. I am also involved in setting up and running a “&lt;a href="https://www.rockpaperazure.com/"&gt;Rock Paper Azure&lt;/a&gt;” tournament for attendees of the conference to have some fun with game theory. I participated as a speaker as well as attendee and I have to say it was well worth my time. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Soft Skills. &lt;/strong&gt;This year’s conference included a track on “Soft Skills” that I participated in where we showcased a &lt;a href="http://techmasters-tc.com"&gt;TechMasters&lt;/a&gt; meeting. &lt;a href="http://twitter.com/#!/jaimzuber"&gt;Jaim Zuber&lt;/a&gt;, the current President of the club, led the efforts to organize the schedule and worked with the &lt;a href="http://www.ilmservice.com/who/leadshipProfiles.aspx"&gt;conference organizers&lt;/a&gt; to make it happen…Great job Jaim! In case you’re wondering, TechMasters is Toastmaster’s for Geeks, and is a full fledged chapter with all the benefits of being a &lt;a href="http://www.toastmasters.org/"&gt;Toastmasters Club&lt;/a&gt;. Why is that significant?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;TechMasters Demo Meeting.&amp;#160; &lt;/strong&gt;People in the engineering and technology sciences including software have what some may call a well earned reputation of needing some polish in our communication skills. Dilbert showcases this every morning by showing the typical life that is sometimes laughably too close to reality of an engineer trying to fit into a business world. &lt;/p&gt;  &lt;p&gt;The ability to speak and communicate ideas and approaches is critical to success in anyone’s career, and Toastmasters provides a tried and tested program for how to get there. There are a lot of Geeks in Minneapolis, and a lot of us could use some help. &lt;a href="http://techmasters-tc.com/"&gt;TechMasters&lt;/a&gt; meets every Tuesday morning at 7:30 at the Benchmark building (7610 West 77th Street – &lt;a href="http://www.bing.com/maps/explore/?org=aj&amp;amp;FORM=MIRE#5003/0.5039=id:AddAPlace:T:TechMasters+at+Benchmark+Learning:l:44.8636351429125:L:-93.3380291842679&amp;amp;1.6002=l:W+77TH+St,+Minneapolis,+MN+55435:nelat:44.86703334135:nelong:-93.3288929618443:swlat:44.8593079062086:swlong:-93.3434245430386:adj:0&amp;amp;e=1:0/5872/style=auto&amp;amp;lat=44.863635&amp;amp;lon=-93.338029&amp;amp;z=15&amp;amp;pid=5874"&gt;Map&lt;/a&gt;). The typical meeting will start out with a business meeting then go thru a schedule where members are assigned various roles. The roles include things like Court Jester who leads off with some humor, a Grammarian who provides a word for the day and reports at the end of the meeting on use of language and word pictures, a Topic Master who runs the impromptu portion of the meeting, scheduled Speakers and Evaluators, etc. The roles rotate week by week so everyone gets a chance to practice the different types of speaking and critical listening.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Observations.&lt;/strong&gt; The enthusiasm in the air at the event was great, with lots of conversation about projects people are working on, the technologies they’re using and compelling new things worth paying attention to made the day go by quickly. Again this year people packed into &lt;a href="http://twitter.com/#!/vongillern"&gt;Jon Von Gillern&lt;/a&gt;’s session on .NET Tips and Tricks, and &lt;a href="http://twitter.com/#!/scottkdavis"&gt;Scott Davis&lt;/a&gt; had people standing outside his room while he showed how to leverage Blend to build Silverlight apps. &lt;a href="http://twitter.com/#!/jabrand"&gt;Jeff Brand&lt;/a&gt; delivered sessions on Mango and Silverlight 5 that were so crowded I wasn’t able to get in the room, great job Jeff! I particularly appreciated &lt;a href="http://twitter.com/#!/boedie"&gt;Robert Boedigheimer’s&lt;/a&gt; participation in my session on how to play Rock Paper Azure with some insight in how to build winning bots. I sat in on &lt;a href="http://twitter.com/#!/jefflin"&gt;Jeff Lin&lt;/a&gt; and Paul (last name?)’s session on Ruby and Heroku that was very well done. They started with a blank slate, and explained from the ground up how to built a social app and deploy it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Next up. &lt;/strong&gt;In a few weeks I’m scheduled to be at the &lt;a href="http://twincitiescodecamp.com/"&gt;Twin Cities Code Camp&lt;/a&gt; (&lt;a href="http://tccc11.eventbrite.com/"&gt;register&lt;/a&gt;) which will once again be held the CSCI building at the &lt;a href="http://cse.umn.edu/deptsmajors/majors/CSE_CONTENT_192768.php"&gt;University of Minnesota&lt;/a&gt;. This weekend event will be an opportunity to connect with the development community and see what we should be paying attention to. I’ve got a session on new features of Windows Azure 1.5 release that will explore what was announced at &lt;a href="http://buildwindows.com"&gt;BUILD&lt;/a&gt; and show scenarios where you can use it. One thing worth noting is that 6 of the sessions will be delivered by &lt;a href="http://techmasters-tc.com/"&gt;TechMasters&lt;/a&gt; members. If you’re interested in developing your speaking skills and developing the confidence to stand up in front of your peers, you should join us some Tuesday morning, the door is wide open!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10218580" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/SzNwLyB0Ii4" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/TechMasters/">TechMasters</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Community/">Community</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Soft+Skills/">Soft Skills</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/30/observations-from-minnesota-developer-conference-2011.aspx</feedburner:origLink></item><item><title>Mobile Game + Cloud = RPA on Windows Phone 7</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/MVBwy3Jpe8E/mobile-game-cloud-rpa-on-windows-phone-7.aspx</link><pubDate>Wed, 28 Sep 2011 17:37:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10217755</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10217755</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/28/mobile-game-cloud-rpa-on-windows-phone-7.aspx#comments</comments><description>&lt;p&gt;Last night I was out at the &lt;a href="http://www.mankatodotnet.com"&gt;Mankato .NET User Group&lt;/a&gt; meeting talking about how the cloud makes mobile applications better, and we used Rock Paper Scissors as our scenario for the meeting. Starting from a blank slate we create a Windows Phone Application (with the latest &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=27570"&gt;phone tools for 7.1&lt;/a&gt; release), and added an ASP.NET web site that we published out to the cloud. We leveraged SQL Azure as the data store, and exposed it using an OData WCF Service, and showed how to consume the data from the phone. Technologies we used included:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ASP.NET Web Site&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoft.com/windowsazure/"&gt;Windows Azure&lt;/a&gt; Compute&lt;/li&gt;    &lt;li&gt;Windows Phone 7.1 and Silverlight&lt;/li&gt;    &lt;li&gt;Access Control Services v2 (ACS)&lt;/li&gt;    &lt;li&gt;SQL Azure&lt;/li&gt;    &lt;li&gt;WCF Data Services&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you’re interested in exploring the code I’ve posted it on the Downloads section of &lt;a href="http://www.BenkoTips.com"&gt;www.BenkoTips.com&lt;/a&gt; along with a PDF of the slide deck we went thru. You’ll need to add your own data connection and substitute your own hosted service, but as a reference app it demonstrates a lot of technologies.&lt;/p&gt;  &lt;p&gt;-mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10217755" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/MVBwy3Jpe8E" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/28/mobile-game-cloud-rpa-on-windows-phone-7.aspx</feedburner:origLink></item><item><title>What’s DreamSpark?</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/BT28BAcLSZo/what-s-dreamspark.aspx</link><pubDate>Tue, 27 Sep 2011 16:18:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10217273</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10217273</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/27/what-s-dreamspark.aspx#comments</comments><description>&lt;p&gt;With the technology landscape constantly changing and evolving around new tools, technologies and releases it can be challenging to keep up. In an effort to make it easier for students to use the latest tools, Microsoft set up the &lt;a href="http://dreamspark.com/"&gt;DreamSpark&lt;/a&gt; program in 2008 to provide students with software design and development tools at no charge. In order to get started with it follow these simple instructions:&lt;/p&gt;  &lt;p&gt;1. Create an account at &lt;a href="http://www.dreamspark.com"&gt;http://www.dreamspark.com&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sign in with your Windows Live ID or create one. &lt;/li&gt;    &lt;li&gt;Get Verified…for example&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;verify as a student &amp;gt; Get verified through my school &amp;gt; continue and use the filters on the left: US &amp;gt; Arizona &amp;gt; Arizona State University &amp;gt; Continue &amp;gt; [enter your ASURITE User ID and Password]&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;2. Download the tools you’re interested in…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2010 Professional&lt;/li&gt;    &lt;li&gt;Expression Blend&lt;/li&gt;    &lt;li&gt;SQL Server&lt;/li&gt;    &lt;li&gt;XNA Studio&lt;/li&gt;    &lt;li&gt;Kinect SDK&lt;/li&gt;    &lt;li&gt;and more…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10217273" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/BT28BAcLSZo" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/27/what-s-dreamspark.aspx</feedburner:origLink></item><item><title>How to take an ASP.NET site to the Cloud in about 15 minutes</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/DgEdyXKZwFg/how-to-take-an-asp-net-site-to-the-cloud-in-about-15-minutes.aspx</link><pubDate>Sun, 25 Sep 2011 15:59:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10216367</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10216367</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/25/how-to-take-an-asp-net-site-to-the-cloud-in-about-15-minutes.aspx#comments</comments><description>&lt;p&gt;Windows Azure is Microsoft’s “Platform as a Service” or PaaS offering in the cloud space that provides developers with an updated, scalable and durable environment to deploy applications to. Over the last year I’ve spent quite a bit of time working with the &lt;a href="http://windowsazurebootcamp.com/"&gt;Windows Azure Boot Camp&lt;/a&gt; crew to help people learn about the cloud, why it’s important, and how to get started designing and building solutions that leverage these benefits. In this &lt;a href="http://www.benkotips.com/"&gt;post&lt;/a&gt; I’d like to share a quick overview of how to take an existing application to Windows Azure quickly and easily.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Get the tools&lt;/strong&gt;. The right tools make any job easier, whether it’s cabinetry, construction or writing code. Visual Studio 2010 has tools that can be added that empower the developer to work with the cloud. You can get these a couple ways. The old way is to go to Microsoft’s download center and pull down the individual SDK files. You have to know whether you’ve got the right pre-reqs or not and the responsibility is yours to run things in the right order. But there is an easier way. Microsoft’s Web Platform Installer (or WebPI) includes not just a gallery of applications you might be interested in, but also the tools and frameworks that make it easy. All you have to do is download and run the installer from &lt;a href="http://microsoft.com/web"&gt;http://aka.ms/azuresdk&lt;/a&gt; and select the September 2011 Tools and click Install. The installer then figures out all the dependencies and batches them together into a single EULA and runs the complete install for you.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4024.image_5F00_498D48C1.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/1881.image_5F00_thumb_5F00_150C7679.png" width="393" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Open your existing Web Project&lt;/strong&gt;. You’ll want to run Visual Studio as an Administrator by either right clicking the icon and selecting “Run as Administrator” or by holding the CTRL+SHIFT and double clicking the Visual Studio Icon. The reason for running VS as admin is that to create or add an Azure project the tool wants to ensure that it can run the solution from the local emulator, which requires connecting across process boundaries. This requires elevated rights. Once you have Visual Studio 2010 open, select the existing project. Mine looks like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7167.image_5F00_1A0EB428.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5008.image_5F00_thumb_5F00_7C008066.png" width="570" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will add a Cloud Project to the existing solution by adding New Project, selecting Cloud as the type, then adding the Windows Azure Project to existing Solution. This works from both VB and C# projects.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0211.image_5F00_50F86C94.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/5187.image_5F00_thumb_5F00_47BC3153.png" width="483" height="363" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next you get prompted to select a role type to add. In the current release the types of roles we could add include ASP.NET Web Roles (aka Web Forms), MVC 2 and 3, WCF Service Role, Silverlight RIA App, and a Worker Role. Since we already have an existing web site you don’t need to add anything. We’ll add our existing site in the next step. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2867.image_5F00_2C372F50.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7142.image_5F00_thumb_5F00_22FAF40F.png" width="432" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will add a new project to our solution that includes a Service Definition file and a couple configuration files. The Service Definition file describes the endpoints, size of role, bindings, startup tasks and other information about how we want the web role to run. There is also a Roles folder which is currently empty. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Add our existing site to the Cloud Project. &lt;/strong&gt;We’ll add our existing site to cloud project by right clicking and selecting add a Web Role from the current solution. This will update the Service Definition file to include information about the web role we added.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7635.image_5F00_0E952E84.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0207.image_5F00_thumb_5F00_180DECFA.png" width="469" height="250" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;NOTE: For my example I’m taking a simple static web site and moving it to the cloud. I am not looking at the data connections or strategy for how we want to scale up and out for performance.&amp;#160; We’ll focus on these issues in a later post.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;At this point we could test our solution by running it in the emulator by simply pressing F5. The Windows Azure Emulator that is installed with the SDK and Tools for Visual Studio would start up and allow us a debug attached environment to see how well it runs.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Create the Package. &lt;/strong&gt;By right clicking on the MyCloud project you get a menu of options for packaging and publishing your solution. I showed how to configure Visual Studio to publish directly to Windows Azure in &lt;a href="http://blogs.msdn.com/b/benko/archive/2011/04/11/benko-quick-tip-web-deploy-plugin-download-update.aspx"&gt;another post&lt;/a&gt;, but for now we’re simply going to create the package. We’ll select the Service Configuration for Cloud and Release and then click Package to build the files necessary to publish our application in Windows Azure. Visual Studio will run CSPACK to compile the files and then open an explorer windows to where the package and configuration files are written to. You’ll use this file location next when we create a hosted instance.&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="845"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="843"&gt;         &lt;p align="left" valign="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6558.image_5F00_1D102AA9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4118.image_5F00_thumb_5F00_227E9B4D.png" width="269" height="394" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3438.image_5F00_1942600C.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6253.image_5F00_thumb_5F00_7F01F6E7.png" width="232" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;      &lt;p&gt;&lt;strong&gt;Create a Hosted Instance. &lt;/strong&gt;Next we will open a browser and go to &lt;a href="http://windows.azure.com"&gt;http://windows.azure.com&lt;/a&gt;. I’m assuming you’ve already got a subscription to work with, if not you can get an Azure Trial (which includes 90 days of Azure – 750 hours Small Compute Instance, 20 GB storage, 1 GB SQL Azure database and more), or if you have an MSDN subscription you can activate your benefits. Log into the portal and you should see your subscription data loaded into the Silverlight application. Click on the Ribbon button “New Hosted Service” to create a new deployment. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/1447.image_5F00_2FB4FE93.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/6153.image_5F00_thumb_5F00_4A14F1AA.png" width="498" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This opens a dialog that collects information about your new service. Here we’ll select a name for the service, enter a unique name for the URL prefix, pick a data center to deploy to, then enter a deployment name. Next browse to the location you built the package files and add them for the Package Location and the Configuration File. We’ll worry about certificates another time, but for now click OK and the package will be deployed and run in the cloud.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2437.image_5F00_2C5366EB.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8132.image_5F00_thumb_5F00_2AA29B17.png" width="319" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;If this is your first deployment and you did not edit the number of instances to create to be 2 or more you may see a warning that the SLA criteria are not being met. For now we’ll ignore this warning, but in a production scenario you would want to either edit your configuration file directly to include 2 or more instances or do it from Visual Studio before you create the package. This is done from the properties pages of the Web Role in the Cloud Project.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0602.image_5F00_0F89CC09.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/0285.image_5F00_thumb_5F00_63009C22.png" width="283" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Run App in the Cloud&lt;/strong&gt;. What happens next is that the package files you created are uploaded to Windows Azure and the Azure Fabric Controller will allocate resources on which to run it. A Deployment is created and instances under the deployment depict the status of your site. Azure will go thru several states, from uploading the files, to initializing the machine (s), to running thru the startup routines, to making the environment ready for use. Once it’s ready you can browse to your site in the cloud.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8371.image_5F00_1A66AD51.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7711.image_5F00_thumb_5F00_6A5C5BCF.png" width="528" height="262" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Typically I’ve seen the startup time to be between 5-10 minutes although it can be longer or shorter depending on the speed of your connection (for upload) and what else is going on at your selected data center. If you’re interested in more information about how to get started in the cloud quickly check out the &lt;a href="http://windowsazurebootcamp.com/schedule"&gt;Windows Azure Boot Camp&lt;/a&gt; site for a schedule of live events, or watch an online webcast where we go thru the process at &lt;a title="wabcWebcasts2011" href="http://bit.ly/wabcWebcasts2011"&gt;wabcWebcasts2011&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10216367" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/DgEdyXKZwFg" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/25/how-to-take-an-asp-net-site-to-the-cloud-in-about-15-minutes.aspx</feedburner:origLink></item><item><title>Creating a Boot from VHD in Win7</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/p1VC9zxFNqI/creating-a-boot-from-vhd-in-win7.aspx</link><pubDate>Sat, 24 Sep 2011 13:58:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10216176</guid><dc:creator>mbenkov</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10216176</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/24/creating-a-boot-from-vhd-in-win7.aspx#comments</comments><description>&lt;p&gt;In a previous &lt;a href="http://blogs.msdn.com/b/benko/archive/2010/11/04/notes-on-running-on-boot-from-vhd.aspx"&gt;post&lt;/a&gt; last year I explained how you can use BCDEDIT to modify the boot configuration to run your machine from a virtual hard drive built with an operating system on it. I use &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Mark-Russinovich-Inside-Windows-7/"&gt;boot from VHD&lt;/a&gt; to give me the opportunity to have multiple configurations of beta and release builds of tools &amp;amp; technologies, and at the same time it makes it easy to have a backup I can reuse if need to go back to a previous working version of my OS. I’ve even taken the VHD from one machine to another and immediately have the same environment on new hardware. The challenge was that to build a VHD with an operating system on it meant that I needed a Server 2008 environment running Hyper-V, then use that drive as my boot from instance. Until I learned a bit more about the magic of DISKPART…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.hanselman.com/blog/"&gt;Scott Hanselman&lt;/a&gt; recently did a great &lt;a href="http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx"&gt;post&lt;/a&gt; that shows how to use the disk partition tool (DISKPART) in Win7 to create a virtual disk, attach it and then install directly from a bootable media to it to create the VHD, without going thru Server 2008 or Hyper-V. The basic process is to take a bootable medium, such as a USB drive with the install OS on it, reboot your machine and then when the installation process is running and you’re at the point of selecting a drive to install to, do a SHIFT-F10 to open a console window and run DISKPART to create and attach the virtual drive. The command sequence looks something like this:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="826"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="824"&gt;         &lt;br /&gt;          &lt;blockquote&gt;           &lt;p&gt;&lt;font face="Lucida Console"&gt;c:\Windows\System32&amp;gt; diskpart&lt;/font&gt;&lt;/p&gt;           &lt;font face="Lucida Console"&gt;Microsoft DiskPart version 6.1.7601              &lt;br /&gt;Copyright (C) 1999-2008 Microsoft Corporation.               &lt;br /&gt;&lt;/font&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DISKPART&amp;gt; create vdisk file=c:\vhd\win7.vhd type=expandable maximum=50000&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;100 percent completed&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DiskPart successfully created the virtual disk file.&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DISKPART&amp;gt; select vdisk file=c:\vhd\win7.vhd&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DiskPart successfully selected the virtual disk file.&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DISKPART&amp;gt; attach vdisk&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;100 percent completed&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DiskPart successfully attached the virtual disk file.&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DISKPART&amp;gt; create partition primary&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;DiskPart succeeded in creating the specified partition.&lt;/font&gt;               &lt;br /&gt;&lt;/p&gt;         &lt;/blockquote&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;At this point you can ALT-TAB back to the installation process and you should see your new partition Then in the installation process you will see your new disk in the list of installation target options. Depending on the OS you may need to go back and run BCDEDIT to configure the boot loader to know about and offer the option of booting to your new VHD.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="830"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="828"&gt;         &lt;br /&gt;          &lt;blockquote&gt;           &lt;p&gt;&lt;font face="Lucida Console"&gt;c:\&amp;gt; bcdedit /copy {current} /d “myVHD”&lt;/font&gt;&lt;/p&gt;         &lt;/blockquote&gt;          &lt;blockquote&gt;           &lt;p&gt;Copy the CSLID that is displayed and then run…&lt;/p&gt;         &lt;/blockquote&gt;          &lt;blockquote&gt;           &lt;p&gt;&lt;font face="Lucida Console"&gt;c:\&amp;gt; bcdedit /set {CLSID} device vhd=[C:]\vhds\vhdname.vhd&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;c:\&amp;gt; bcdedit /set {CLSID} osdevice vhd=[C:]\vhds\vhdname.vhd&lt;/font&gt;&lt;/p&gt;            &lt;p&gt;&lt;font face="Lucida Console"&gt;c:\&amp;gt; bcdedit /set {CLSID} detecthal on&lt;/font&gt;              &lt;br /&gt;&lt;/p&gt;         &lt;/blockquote&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10216176" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/p1VC9zxFNqI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/24/creating-a-boot-from-vhd-in-win7.aspx</feedburner:origLink></item><item><title>Rock Paper Azure on Windows Phone</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/xOctW8H0BoI/rock-paper-azure-on-windows-phone.aspx</link><pubDate>Fri, 23 Sep 2011 18:28:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10215974</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10215974</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/09/23/rock-paper-azure-on-windows-phone.aspx#comments</comments><description>&lt;meta name="t_omni_extblogid" content="msstoextblogs2" /&gt;&lt;meta name="t_omni_blogname" content="MBENKOV" /&gt;&lt;meta name="t_omni_market" content="USA" /&gt;&lt;meta name="t_omni_audience" content="DEVELOPER" /&gt;&lt;script type="text/javascript" src="http://www.microsoft.com/feeds/omni_external_blogs.js"&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a title="Web Analytics" href="http://www.omniture.com"&gt;&lt;img border="0" alt="" src="http://mssto.112.2o7.net/b/ss/msstoextblogsnojs/1/H.20.2--NS/0" width="1" height="1" /&gt;&lt;/a&gt;&lt;/noscript&gt;Yesterday I delivered a talk on how to build a cloud connected mobile game for a local user group here in Minneapolis. We showed how to use the Identity Management features of Windows Azure App Fabric and Access Control Services to identify a user, then play the classic Roshambo game against a cloud service. A diagram of the app we’ll build is below.    &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3632.image_5F00_28D5FDFC.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/4606.image_5F00_thumb_5F00_4D5765B3.png" width="546" height="318" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Technologies      &lt;br /&gt;&lt;/strong&gt;We leveraged several technologies in this scenario including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/features/accesscontrol/"&gt;Access Control&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/features/database/"&gt;SQL Azure&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;WCF Data Services (OData) &lt;/li&gt;    &lt;li&gt;Silverlight for Windows Phone &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All these can be installed using the &lt;a href="http://microsoft.com/web"&gt;Web Platform Installer&lt;/a&gt; by adding the Azure Tools Tools for Microsoft Visual Studio 2010 – September and the Windows Phone SDK 7.1.&lt;/p&gt;  &lt;p&gt;I will be delivering this talk as a webcast in October, and have uploaded the code to &lt;a href="http://www.benkotips.com"&gt;www.benkotips.com&lt;/a&gt; in the download section. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10215974" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/xOctW8H0BoI" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/benko/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/benko/archive/tags/Rock+Paper+Azure/">Rock Paper Azure</category><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/09/23/rock-paper-azure-on-windows-phone.aspx</feedburner:origLink></item><item><title>Working with Silverlight RIA Apps in Azure</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/BcsPsmaI6kI/working-with-silverlight-ria-apps-in-azure.aspx</link><pubDate>Wed, 31 Aug 2011 17:06:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10203809</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10203809</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/08/31/working-with-silverlight-ria-apps-in-azure.aspx#comments</comments><description>&lt;p&gt;If you’ve been to my talks lately you might know that I’ve been playing around with Rock Paper Azure (&lt;a href="http://www.RockPaperAzure.com"&gt;www.RockPaperAzure.com&lt;/a&gt;) and using it as the base for some examples to show how to use the Windows Azure tools. One talk shows using the Windows Phone as a client to play the game from, and I wanted to build out some web pages to manage the data using Silverlight and RIA Services. &lt;/p&gt;  &lt;p&gt;Simply creating the site took very little time. Start with an Azure Cloud ASP.NET site and add a Silverlight Application. Then add an EF model pointing to my database and create a Domain Service (aka WCF RIA Service) to expose the data. After rebuilding the application you’ll find that from the Silverlight XAML editor you’ll have access to your data sources that map out to whatever tables you added in the Entity Framework. Great. Now let’s deploy.&lt;/p&gt;  &lt;p&gt;Deploying a Cloud Solution is straight forward. Since the release of 1.4 of the Azure Tools I’ve been using the Web&amp;#160; Deploy feature to make it easy and fast to redeploy the web site, after configuring things you can right click on the web project and select publish which pushes the bits to the server. Visual Studio even populates most of the fields for you if you use the tool to do the publish of the cloud solution. Everything is running great, I publish my RIA version of the app which I added since my original publish. BOOM. Yellow Screen of pain…turn on custom error messages…&lt;/p&gt;  &lt;p&gt;To understand what went wrong I know that since I’m in a development environment on Azure and I configured it to do Web Deploy I also have included the ability to remote desktop to the server and see what’s wrong. I open the INETMGR tool to see the site and browse to the page and find that the reason for the error is that the Domain Services assemblies are missing in the Azure environment. The fix? Open the properties of those assemblies in Visual Studio and set the build action to “Copy Local”. After republishing the web site things work great.&lt;/p&gt;  &lt;p&gt;One thing to note…if you are running Visual Studio Ultimate and have Intellitrace enabled for the project there are some conflicts in how Intellitrace and Domain Services work, so you will need to add to the list of excluded modules to include events from to have “Microsoft.ServiceModel.*” in the list (see below).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/3652.image_5F00_7FB88457.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/8345.image_5F00_thumb_5F00_327864FF.png" width="488" height="359" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10203809" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/BcsPsmaI6kI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/08/31/working-with-silverlight-ria-apps-in-azure.aspx</feedburner:origLink></item><item><title>This week’s MSDN Radio with Sara Summers</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/OOWk2A4u5c8/this-week-s-msdn-radio-with-sara-summers.aspx</link><pubDate>Mon, 13 Jun 2011 15:58:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10173960</guid><dc:creator>mbenkov</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10173960</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/06/13/this-week-s-msdn-radio-with-sara-summers.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/7028.image_5F00_4F11091D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-70-92-metablogapi/2728.image_5F00_thumb_5F00_45F457CF.png" width="130" height="125" /&gt;&lt;/a&gt;Sara Summers (see her blog at &lt;a href="http://uxarray.com"&gt;http://uxarray.com&lt;/a&gt;)&amp;#160; was on MSDN Radio this morning (&lt;a href="http://bit.ly/msdnradio-38"&gt;http://bit.ly/msdnradio-38&lt;/a&gt;) and we talked about the Designer/Developer conversation and had some great questions on how to make that conversation work better. Sara shared some resources and links that I thought you might find interesting including:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Books&lt;/i&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;About Face (UX &amp;amp; Interaction &lt;b&gt;BIBLE&lt;/b&gt;)      &lt;br /&gt;&lt;a href="http://amzn.com/0470084111/"&gt;http://amzn.com/0470084111&lt;a href="http://amzn.com/0470084111/"&gt;/&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Designing for the Social Web     &lt;br /&gt;&lt;a href="http://amzn.com/0321534921"&gt;http&lt;/a&gt;&lt;a href="http://amzn.com/0321534921"&gt;://&lt;/a&gt;&lt;a href="http://amzn.com/0321534921"&gt;amzn.com/0321534921&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;A Project Guide to UX Design     &lt;br /&gt;&lt;a href="http://amzn.com/0321607376"&gt;http://&lt;/a&gt;&lt;a href="http://amzn.com/0321607376"&gt;amzn.com/0321607376&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Sites&lt;/i&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;52 Days of UX     &lt;br /&gt;&lt;a href="http://52weeksofux.com/"&gt;http://52weeksofux.com/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Smashing Magazine     &lt;br /&gt;&lt;a href="http://www.smashingmagazine.com"&gt;http://www.smashingmagazine.com&lt;/a&gt;&lt;a href="http://www.smashingmagazine.com/"&gt;/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;UX Mag     &lt;br /&gt;&lt;a href="http://www.uxmag.com/"&gt;http://www.uxmag.com/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;UX Booth     &lt;br /&gt;&lt;a href="http://www.uxbooth.com"&gt;http://www.uxbooth.com&lt;/a&gt;&lt;a href="http://www.uxbooth.com/"&gt;/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10173960" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/OOWk2A4u5c8" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/06/13/this-week-s-msdn-radio-with-sara-summers.aspx</feedburner:origLink></item><item><title>Links to the Windows Azure Boot Camp Webcasts</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/MZmllMybGHU/links-to-the-windows-azure-boot-camp-webcasts.aspx</link><pubDate>Fri, 29 Apr 2011 20:19:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10159614</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10159614</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/04/29/links-to-the-windows-azure-boot-camp-webcasts.aspx#comments</comments><description>&lt;p&gt;Learning a new technology is always fun, and to help show what’s possible we’ve created a number of webcasts over the last several months. Below is a consolidated list of the links and the titles of those we’ve done so far (&lt;a title="http://bit.ly/wabcWebcasts2011" href="http://bit.ly/wabcWebcasts2011"&gt;http://bit.ly/wabcWebcasts2011&lt;/a&gt;)&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;11/22 - &lt;a href="http://bit.ly/btlod-65"&gt;http://bit.ly/btlod-65&lt;/a&gt; SQL Azure and Windows Phone &lt;/li&gt;      &lt;li&gt;11/29 - &lt;a href="http://bit.ly/btlod-66"&gt;http://bit.ly/btlod-66&lt;/a&gt; Scaling in the Cloud &lt;/li&gt;      &lt;li&gt;12/13 - &lt;a href="http://bit.ly/btlod-68"&gt;http://bit.ly/btlod-68&lt;/a&gt; Cloud + Mobile Game - building Rock Paper Scissors on Windows Phone &lt;/li&gt;      &lt;li&gt;12/20 - &lt;a href="http://bit.ly/btlod-67"&gt;http://bit.ly/btlod-69&lt;/a&gt; Cloud Identity - Working with ACS         &lt;hr /&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-1"&gt;http://bit.ly/wabc-1&lt;/a&gt; Intro to Cloud Computing and Windows Azure &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-2"&gt;http://bit.ly/wabc-2&lt;/a&gt; Windows Azure and Web roles &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-3"&gt;http://bit.ly/wabc-3&lt;/a&gt; Worker Roles &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-4"&gt;http://bit.ly/wabc-4&lt;/a&gt; Working with Messaging and Queues &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-5"&gt;http://bit.ly/wabc-5&lt;/a&gt; Using Windows Azure Tables &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-6"&gt;http://bit.ly/wabc-6&lt;/a&gt; Diving into BLOB storage &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-7"&gt;http://bit.ly/wabc-7&lt;/a&gt; Diagnostics and Service Management &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-8"&gt;http://bit.ly/wabc-8&lt;/a&gt; SQL Azure &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-9"&gt;http://bit.ly/wabc-9&lt;/a&gt; Connecting with App Fabric &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-10"&gt;http://bit.ly/wabc-10&lt;/a&gt; Cloud Computing Scenarios &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-11"&gt;http://bit.ly/wabc-11&lt;/a&gt; A peek under the hood of Azure Fabric Controller &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-12"&gt;http://bit.ly/wabc-12&lt;/a&gt; My first Windows Azure App...from the cmd line &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-13"&gt;http://bit.ly/wabc-13&lt;/a&gt; Deployment and Management Strategies &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-14"&gt;http://bit.ly/wabc-14&lt;/a&gt; Exploring Storage and REST &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-15"&gt;http://bit.ly/wabc-15&lt;/a&gt; Windows Azure and Windows Phone…better together &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-16"&gt;http://bit.ly/wabc-16&lt;/a&gt; Windows Azure Migration Strategies with Dennis Burton &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-17"&gt;http://bit.ly/wabc-17&lt;/a&gt; Windows Azure and SharePoint 2010 &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-18"&gt;http://bit.ly/wabc-18&lt;/a&gt; Windows Azure Report Services &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-19"&gt;http://bit.ly/wabc-19&lt;/a&gt; Connecting to Windows Azure with Adam Grocholski &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-20"&gt;http://bit.ly/wabc-20&lt;/a&gt; Windows Azure VM Role &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-21"&gt;http://bit.ly/wabc-21&lt;/a&gt; Windows Azure Management APIs &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-22"&gt;http://bit.ly/wabc-22&lt;/a&gt; Windows Azure and Native and Non-.NET Code &lt;/li&gt;      &lt;li&gt;&lt;a href="http://bit.ly/wabc-23"&gt;http://bit.ly/wabc-23&lt;/a&gt; Silverlight RIA and Windows Azure Tables with Paul Scivetti &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;ul&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10159614" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/MZmllMybGHU" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/04/29/links-to-the-windows-azure-boot-camp-webcasts.aspx</feedburner:origLink></item><item><title>That cloud thing…</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/rtCYJUiedbs/that-cloud-thing.aspx</link><pubDate>Wed, 20 Apr 2011 06:46:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10156101</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10156101</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/04/20/that-cloud-thing.aspx#comments</comments><description>&lt;p&gt;Your Pointy-Haired Boss (PHB) just walked in and said, &amp;quot;We need to do this cloud thing, pronto. I just read about it in CIO Magazine.&amp;quot; Pop quiz, hot shot: what do you do?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Protecting Against PBH Syndrome&lt;a href="http://www.windowsazurepass.com"&gt;&lt;img alt="Windows Azure" align="right" src="http://windowsazurepass.com/images/azureAdvert.png" width="240" height="145" /&gt;&lt;/a&gt;      &lt;br /&gt;&lt;/strong&gt;Fortunately we have a solution to help you ramp on the cloud with practically no friction whatsoever. For those that don't know, Windows Azure is Microsoft's cloud platform and a lot of developers are excited to try it out. To help you try it out, we have started a program called &amp;quot;Windows Azure Pass.&amp;quot; You basically register a Live ID for a Pass and receive 30 days of free cloud computing. That's just enough time to download the &lt;a href="http://bit.ly/d16e3M"&gt;Windows Azure Platform Training Kit (WAPTK)&lt;/a&gt; and test drive some of the hands-on labs. The best part about Windows Azure Pass is that no credit card is required. So preempt your PHB storming and forming around the cloud before you're ready. Get ready on the cloud today.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sounds Great, What Do I Do?     &lt;br /&gt;&lt;/strong&gt;Simple. Visit &lt;a href="http://www.WindowsAzurePass.com"&gt;www.WindowsAzurePass.com&lt;/a&gt; and enter promo code &lt;strong&gt;DPCE01&lt;/strong&gt;. Your Windows Azure Pass will be activated within a few days and you can start deploying code. Once you get a pass you can attend one of our &lt;a href="http://www.windowsazurebootcamp.com/"&gt;two day boot camp&lt;/a&gt; events to learn more about Windows Azure, try some &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en"&gt;hands on labs&lt;/a&gt; on your own time, or join us online during our &lt;a href="http://www.windowsazurebootcamp.com/windowsazureofficehours"&gt;office hours&lt;/a&gt; to get your questions answered. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Okay, What Exactly Does This Pass Thing Get Me?     &lt;br /&gt;&lt;/strong&gt;The Windows Azure platform 30 day pass includes the following resources:&lt;/p&gt;  &lt;p&gt;&lt;img alt="Windows Azure" src="https://windowsazurepass.com/images/resourcesAppFabric.png" /&gt;    &lt;br /&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;    &lt;br /&gt;3 Small Compute Instances    &lt;br /&gt;3 GB of Storage    &lt;br /&gt;250,000 Storage Transactions&lt;/p&gt;  &lt;p&gt;&lt;img alt="SQL Azure" src="https://windowsazurepass.com/images/resourcesSQLAzure.png" /&gt;    &lt;br /&gt;&lt;strong&gt;SQL Azure&lt;/strong&gt;    &lt;br /&gt;Two 1 GB Web Edition Database&lt;/p&gt;  &lt;p&gt;&lt;img alt="App Fabric" src="https://windowsazurepass.com/images/resourcesAppFabric.png" /&gt;    &lt;br /&gt;&lt;strong&gt;AppFabric&lt;/strong&gt;    &lt;br /&gt;100,000 Access Control Transactions    &lt;br /&gt;2 Bus Service Connections&lt;/p&gt;  &lt;p&gt;&lt;img alt="Data Transfers" src="https://windowsazurepass.com/images/resourcesDataTransfers.png" /&gt;    &lt;br /&gt;&lt;strong&gt;Data Transfers&lt;/strong&gt;    &lt;br /&gt;3 GB In    &lt;br /&gt;3 GB Out&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10156101" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/rtCYJUiedbs" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/04/20/that-cloud-thing.aspx</feedburner:origLink></item><item><title>Benko-Quick-Tip: Web Deploy plugin download…update</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/19eO_ThsDus/benko-quick-tip-web-deploy-plugin-download-update.aspx</link><pubDate>Mon, 11 Apr 2011 18:43:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10152185</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10152185</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/04/11/benko-quick-tip-web-deploy-plugin-download-update.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/4834.happy_2D00_cloud_2D00_icon_5F00_52820760.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="happy cloud icon" border="0" alt="happy cloud icon" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/8154.happy_2D00_cloud_2D00_icon_5F00_thumb_5F00_780B84C1.png" width="139" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For today’s webcast (&lt;a href="http://bit.ly/btlod-57"&gt;http://bit.ly/btlod-57&lt;/a&gt;)&amp;#160; where we explored deployment options we configured our hosted service to support Web Deploy. I wanted to make sure all the files were available so I have an update to the post below on Web Deploy.&lt;/p&gt;  &lt;p&gt;UPDATE:&amp;#160; &lt;a href="http://dunnry.com/blog/2010/12/20/UsingWebDeployWithWindowsAzure.aspx"&gt;Ryan&lt;/a&gt; bundled up the loose files into a plug-in zip file (available to &lt;a href="https://benkodemo2.blob.core.windows.net/public/WebDeploy.zip"&gt;download here&lt;/a&gt;) that you can add to your SDK’s plug in folder, to be able to complete the task quick and easily. You can download the plug-in from his site, simply download the file from the link and extract the contents to your &lt;strong&gt;&amp;quot;%programfiles%\Windows Azure SDK\v1.3\bin\plugins\WebDeploy&amp;quot;&lt;/strong&gt; folder, and then adding the imports code to your Service Definition file:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/6320.image_5F00_24B43E9B.png"&gt;&lt;img style="display: inline" title="image" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/6406.image_5F00_thumb_5F00_0AE0086C.png" width="470" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After doing that you can right click on your web project and choose Publish. This opens a dialog with various settings. Choose Web Deploy from the publish method drop down list, then put in the URL of your site. Note you don’t need to do http:// on the front. The Site/application is the instance name as seen by IIS on your server. By default it will append _web to the end of the instance. In my case it was WabcDemoSite_IN_0_web.&amp;#160; Because I used an self-signed certificate I created in Visual Studio I also needed to check the box to allow untrusted certs.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/7624.image_5F00_148B4A6D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-70-92-metablogapi/0361.image_5F00_thumb_5F00_789A1574.png" width="293" height="394" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Good luck!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10152185" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/19eO_ThsDus" height="1" width="1"/&gt;</description><media:content url="http://feedproxy.google.com/~r/Benkoblog/~5/E_Kv_2OOlXw/WebDeploy.zip" fileSize="706338" type="application/x-zip-compressed" /><itunes:explicit>no</itunes:explicit><itunes:subtitle> For today’s webcast (http://bit.ly/btlod-57)&amp;#160; where we explored deployment options we configured our hosted service to support Web Deploy. I wanted to make sure all the files were available so I have an update to the post below on Web Deploy. UPDATE</itunes:subtitle><itunes:summary> For today’s webcast (http://bit.ly/btlod-57)&amp;#160; where we explored deployment options we configured our hosted service to support Web Deploy. I wanted to make sure all the files were available so I have an update to the post below on Web Deploy. UPDATE:&amp;#160; Ryan bundled up the loose files into a plug-in zip file (available to download here) that you can add to your SDK’s plug in folder, to be able to complete the task quick and easily. You can download the plug-in from his site, simply download the file from the link and extract the contents to your &amp;quot;%programfiles%\Windows Azure SDK\v1.3\bin\plugins\WebDeploy&amp;quot; folder, and then adding the imports code to your Service Definition file: After doing that you can right click on your web project and choose Publish. This opens a dialog with various settings. Choose Web Deploy from the publish method drop down list, then put in the URL of your site. Note you don’t need to do http:// on the front. The Site/application is the instance name as seen by IIS on your server. By default it will append _web to the end of the instance. In my case it was WabcDemoSite_IN_0_web.&amp;#160; Because I used an self-signed certificate I created in Visual Studio I also needed to check the box to allow untrusted certs. Good luck!</itunes:summary><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/04/11/benko-quick-tip-web-deploy-plugin-download-update.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/Benkoblog/~5/E_Kv_2OOlXw/WebDeploy.zip" length="706338" type="application/x-zip-compressed" /><feedburner:origEnclosureLink>https://benkodemo2.blob.core.windows.net/public/WebDeploy.zip</feedburner:origEnclosureLink></item><item><title>New BenkoTips webcasts on Azure…diving below the surface</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/UcnQteTfyXs/new-benkotips-webcasts-on-azure-diving-below-the-surface.aspx</link><pubDate>Wed, 16 Mar 2011 03:22:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10141804</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10141804</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/03/16/new-benkotips-webcasts-on-azure-diving-below-the-surface.aspx#comments</comments><description>&lt;p&gt;I’ve been working with cloud computing for a while now, and it’s time to share what I’ve learned. As part of this I have scheduled some new webcasts on various developer topics to dive into what’s possible with Windows Azure. Feel free to check these out individually or if you’re so inclined we have 10 webcasts that with Brian Prince we’ve already completed that can give you a more complete picture. The new ones just scheduled include (all of them are available at&amp;#160; &lt;a href="http://bit.ly/bundles/mbenko/1"&gt;http://bit.ly/bundles/mbenko/1&lt;/a&gt;)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;3/21: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480767&amp;amp;Culture=en-US"&gt;MSDN Webcast: Windows Azure Boot Camp: Under the Hood&lt;/a&gt; – How does Windows Azure and the Azure Fabric work?&lt;/li&gt;    &lt;li&gt;3/28: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480769&amp;amp;Culture=en-US"&gt;MSDN Webcast: Windows Azure Boot Camp: Hello World, My First Cloud Service&lt;/a&gt; – Looking at the tools and the actual process that Visual Studio automates for us…&lt;/li&gt;    &lt;li&gt;4/11: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480771&amp;amp;Culture=en-US"&gt;MSDN Webcast: Windows Azure Boot Camp: A Dive into Deployment and Management&lt;/a&gt; – Working with certificates and configuring tools to work with the management API’s&lt;/li&gt;    &lt;li&gt;4/18: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480773&amp;amp;Culture=en-US"&gt;MSDN Webcast: Windows Azure Boot Camp: Understanding Windows Azure Storage&lt;/a&gt; – What are our options and how can we better understand what’s going on with the common shared scalable highly available storage thing?&lt;/li&gt;    &lt;li&gt;4/25: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480775&amp;amp;Culture=en-US"&gt;MSDN Webcast: Windows Azure Boot Camp: Windows Azure and the Phone&lt;/a&gt; – This is the first of a “scenario” webcast were we explore how to use the cloud to enable interesting solutions&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10141804" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/UcnQteTfyXs" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/03/16/new-benkotips-webcasts-on-azure-diving-below-the-surface.aspx</feedburner:origLink></item><item><title>Some resources on Azure Interop</title><link>http://feedproxy.google.com/~r/Benkoblog/~3/p9uHiqrwWTg/some-resources-on-azure-interop.aspx</link><pubDate>Wed, 23 Feb 2011 21:11:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10133232</guid><dc:creator>mbenkov</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/benko/rsscomments.aspx?WeblogPostID=10133232</wfw:commentRss><comments>http://blogs.msdn.com/b/benko/archive/2011/02/23/some-resources-on-azure-interop.aspx#comments</comments><description>&lt;p&gt;Blog: &lt;a href="http://blogs.msdn.com/b/interopreability"&gt;http://blogs.msdn.com/b/interopreability&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;PHP on Azure: &lt;a href="http://phpazure.interoperabilitybridges.com/"&gt;http://phpazure.interoperabilitybridges.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Java on Azure: [coming soon]&lt;/p&gt;  &lt;p&gt;Channel 9: &lt;a href="http://channel9.msdn.com/blogs/interoperability"&gt;http://channel9.msdn.com/blogs/interoperability&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Complete set of interop open source projects:   &lt;br /&gt;&lt;a href="http://www.interopbridges.com/"&gt;http://www.interopbridges.com&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10133232" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/Benkoblog/~4/p9uHiqrwWTg" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/benko/archive/2011/02/23/some-resources-on-azure-interop.aspx</feedburner:origLink></item><media:rating>nonadult</media:rating></channel></rss>

