<?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:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/MainFeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/geekswithblogs" /><feedburner:info uri="geekswithblogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Why I Chose WordPress Over Geeks With Blogs, And Moving From WordPress.com To A GoDaddy Hosted Solution</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/wDwie1Xyc70/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx</link><pubDate>Fri, 17 May 2013 17:57:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2013/05/17/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/152949.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/152949.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2013/05/17/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/152949.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Daniel Schroeder</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/deadlydog/archive/2013/05/17/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx'&gt;http://geekswithblogs.net/deadlydog/archive/2013/05/17/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A while back I wrote about &lt;a href="http://blog.danskingdom.com/migrating-my-gwb-blog-over-to-wordpress/"&gt;some reasons why I didn’t like GWB (Geeks With Blogs) and was attracted to WordPress&lt;/a&gt;.  6 months later and I am confident that I made the right decision.  GWB was good to me, but…&lt;/p&gt;  &lt;p&gt;Read more at &lt;a title="http://blog.danskingdom.com/why-i-chose-wordpress-over-geeks-with-blogs-and-moving-from-wordpress-com-to-a-godaddy-hosted-solution/" href="http://blog.danskingdom.com/why-i-chose-wordpress-over-geeks-with-blogs-and-moving-from-wordpress-com-to-a-godaddy-hosted-solution/"&gt;http://blog.danskingdom.com/why-i-chose-wordpress-over-geeks-with-blogs-and-moving-from-wordpress-com-to-a-godaddy-hosted-solution/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/152949.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/wDwie1Xyc70" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2013/05/17/why-i-chose-wordpress-over-geeks-with-blogs-and-moving.aspx</feedburner:origLink></item><item><title>Exploiting the Non-Uniqueness of Guids</title><category>.NET</category><category>C#</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/nrLMHzO5Ak8/exploiting-the-non-uniqueness-of-guids.aspx</link><pubDate>Fri, 17 May 2013 08:48:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/freestylecoding/archive/2013/05/17/exploiting-the-non-uniqueness-of-guids.aspx</guid><wfw:comment>http://geekswithblogs.net/freestylecoding/comments/152948.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/freestylecoding/comments/commentRss/152948.aspx</wfw:commentRss><comments>http://geekswithblogs.net/freestylecoding/archive/2013/05/17/exploiting-the-non-uniqueness-of-guids.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/freestylecoding/services/trackbacks/152948.aspx</trackback:ping><source url="http://geekswithblogs.net/freestylecoding/rss.aspx">Freestyle Coding</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/freestylecoding/archive/2013/05/17/exploiting-the-non-uniqueness-of-guids.aspx'&gt;http://geekswithblogs.net/freestylecoding/archive/2013/05/17/exploiting-the-non-uniqueness-of-guids.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;You know those seemingly random Guids? Guess what? They're not random.&lt;/p&gt;
&lt;p&gt;I'll give your head a moment to recover from that bombshell.&lt;/p&gt;
&lt;p&gt;Ok, back with me? Good.&lt;/p&gt;
&lt;p&gt;I was digging DEEP in some hardcore specs when I stumbled upon this. I had a situation where I have a Guid as a unique identifier. This identifier had some subsequent child data that needed to refer to the global object but required different handling. Yes, I'm being slightly vague. I do have to respect company proprietary data.&lt;/p&gt;&lt;p&gt;
Due to this dilemma, I had a really weird "hash table" to quickly find the identifier from the child object. While this solution worked, and was REALLY fast, it was very messy and complex. I decided I needed to hack something to reduce this complexity.&lt;/p&gt;
&lt;p&gt;I know. I just said I wanted to reduce complexity, and that my solution was to hack Guids. The sick humor of this is not wasted on me. You knew what you're getting into when you read my blog.&lt;/p&gt;
&lt;p&gt;Turns out, there is a status field in the Guid. I was scouring the &lt;a href="http://en.wikipedia.org/wiki/GUID" target="wikiguid"&gt;Wikipedia article on Guids&lt;/a&gt; when I read the &lt;a href="http://en.wikipedia.org/wiki/GUID#Binary_encoding" target="wikiguidencoding"&gt;Binary Encoding&lt;/a&gt; section. Turns out 3 of the bits have a special meaning. More specifically, if you were dealing with the Guid 00000000-0000-0000-x000-000000000000, part of the hex value of x means something. Guids in .NET, generated by the System.Guid structure, are all "standard" Guids. As such, they will always have the bit mask of 00000000-0000-0000-8000-000000000000.&lt;/p&gt;
&lt;p&gt;If you don't believe me, go do a select on your largest database column. That hex value will always be either 8, 9, A or B.&lt;/p&gt;
&lt;p&gt;If we exploit this, we now have 2 bits in our 128 bit number which we can control. We know those 2 bits being 10 will refer to our master identifier. However, since they are fixed, we can use 00, 01 and 11 as attached, but still unique, child Guids. This child Guids will always point back to the parent Guid by restoring those 2 bits to 10.&lt;/p&gt;
&lt;p&gt;Happy Friday, people.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/freestylecoding/aggbug/152948.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/nrLMHzO5Ak8" height="1" width="1"/&gt;</description><dc:creator>Chris Gardner</dc:creator><feedburner:origLink>http://geekswithblogs.net/freestylecoding/archive/2013/05/17/exploiting-the-non-uniqueness-of-guids.aspx</feedburner:origLink></item><item><title>APress Deal of the Day 17/May/2013 - Pro HTML5 with Visual Studio 2012</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/G5RmQQQuvwU/apress-deal-of-the-day-17may2013---pro-html5-with.aspx</link><pubDate>Fri, 17 May 2013 01:40:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2013/05/17/apress-deal-of-the-day-17may2013---pro-html5-with.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/152947.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/152947.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2013/05/17/apress-deal-of-the-day-17may2013---pro-html5-with.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/152947.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Tatworth</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/TATWORTH/archive/2013/05/17/apress-deal-of-the-day-17may2013---pro-html5-with.aspx'&gt;http://geekswithblogs.net/TATWORTH/archive/2013/05/17/apress-deal-of-the-day-17may2013---pro-html5-with.aspx&lt;/a&gt;&lt;/p&gt;Today's $10 deal of the day from APress at &lt;a href="http://www.apress.com/9781430246381"&gt;http://www.apress.com/9781430246381&lt;/a&gt; is Pro HTML5 with Visual Studio 2012&lt;br /&gt;&lt;br /&gt;"&lt;em style="margin: 0px; padding: 0px; border: 0px; font-weight: normal; font-style: italic; font-size: 14px; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; vertical-align: baseline; color: rgb(34, 34, 34); font-variant: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"&gt;Pro HTML5 with Visual Studio 2012&lt;/em&gt;&lt;span style="color: rgb(34, 34, 34); font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); display: inline !important; float: none;"&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;is written to help ASP.NET developers make the leap to the inevitable and exciting world of HTML5.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;
&lt;img alt="book cover" src="http://www.apress.com/media/catalog/product/cache/9/small_image/125x/040ec09b1e35df139433887a97daa66f/A/9/A9781430246381-small_2.png" /&gt;
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/152947.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/G5RmQQQuvwU" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2013/05/17/apress-deal-of-the-day-17may2013---pro-html5-with.aspx</feedburner:origLink></item><item><title>Extending Team Explorer 2012 &amp;ndash; Associating Recent Work Items</title><category>Visual Studio 2012</category><category>TFS</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/SXlR60jLyCI/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx</link><pubDate>Thu, 16 May 2013 11:29:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jakob/archive/2013/05/16/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx</guid><wfw:comment>http://geekswithblogs.net/jakob/comments/152934.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jakob/comments/commentRss/152934.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jakob/archive/2013/05/16/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/jakob/services/trackbacks/152934.aspx</trackback:ping><source url="http://geekswithblogs.net/jakob/rss.aspx">Jakob Ehn</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/jakob/archive/2013/05/16/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx'&gt;http://geekswithblogs.net/jakob/archive/2013/05/16/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Extension available at:&lt;/strong&gt; &lt;a title="http://visualstudiogallery.msdn.microsoft.com/9ed2d30c-a692-42b0-a21d-cdc8d2bf322c" href="http://visualstudiogallery.msdn.microsoft.com/9ed2d30c-a692-42b0-a21d-cdc8d2bf322c"&gt;http://visualstudiogallery.msdn.microsoft.com/9ed2d30c-a692-42b0-a21d-cdc8d2bf322c&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;I have been playing around a bit lately with extending Team Explorer 2012, mostly because it is fun but also to fix a little nagging feature that should have been there from the beginning. Often I (and a lot of other people) find myself wanting to associate several consecutive changesets to the same work item. The problem is that Team Explorer does not remember this, instead I have to either remember the ID or use a query that hopefully will match the work item.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_thumb.png" width="327" height="126" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;strong&gt;Where is the work item that I just associated with?&lt;/strong&gt;     &lt;br /&gt;  &lt;br /&gt;True, when using the My Work page and the teams and sprint backlogs are correctly setup, you can find “your” work items there, but every so often this is not the case, and off I go to locate that work item again.&lt;/p&gt;  &lt;p&gt;So this seemed to be a good feature to implement and at the same time learn a little about how to extend Team Explorer in Visual Studio 2012.&lt;/p&gt;  &lt;p&gt;There is a great sample posted by Microsoft over at MSDN, it also talks about the main extension points and classes/interfaces that you need to know about. You can find it here: &lt;a title="http://code.msdn.microsoft.com/windowsdesktop/Extending-Explorer-in-9dccd594" href="http://code.msdn.microsoft.com/windowsdesktop/Extending-Explorer-in-9dccd594"&gt;http://code.msdn.microsoft.com/windowsdesktop/Extending-Explorer-in-9dccd594&lt;/a&gt;. If you have developed extensions to Visual Studio before, you will be relieved to know that this new extension model for Team Explorer is purely based on standard .NET/WPF and MEF, no weird COM interfaces. &lt;/p&gt;  &lt;p&gt;You can add new pages to Team Explorer, you can add new sections to existing pages and you can add navigation links to the Home screen. All these extensions are discovered by Team Explorer using the Managed Extensibility Framework (MEF). You just need to attribute your classes with the correct attribute and it will be found by Team Explorer. The attributes also control where your extension will appear. This extension is a Section that should appear inside the Pending Changes page:    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt; &lt;a href="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_10.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_thumb_4.png" width="564" height="115" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;Example of attributing a Team Explorer extension&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The last property (35) is a priority number that controls when the extension is created and also where it will placed relative to the other sections. The existing Related Work Items section has priority 30, so 35 will place our extension right below it.&lt;/p&gt;  &lt;p&gt;We also need to implement the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.controls.iteamexplorersection.aspx"&gt;ITeamExplorerSection&lt;/a&gt; interface, that contains properties and methods that needs to be implemented for anything to show up.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_8.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_thumb_3.png" width="262" height="344" /&gt;&lt;/a&gt;     &lt;br /&gt;&lt;strong&gt;ITeamExplorerSection interface&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The most interesting property here  is the &lt;strong&gt;SectionContent &lt;/strong&gt;property which is where you return the content of your extensions. This is typically a WPF user control in which you can add any controls you like.  &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;This is how the extension appear inside the Pending Changes page. It will analyze your recent changesets in the current team project and extract the last 5 associated work items and show them in a list.     &lt;br /&gt;From the list you can then easily add a work item to the current pending changes by right-clicking on it and select Add. You’ll note that the work item will then disappear from the list, since you are not likely interested in adding it again.     &lt;br /&gt;&lt;/p&gt; &lt;a href="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_4.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/jakob/WindowsLiveWriter/ExtendingTeamExplorer2012AssociatingRece_1040F/image_thumb_1.png" width="539" height="266" /&gt;&lt;/a&gt;   &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Recently Associated Work Item section&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I encourage you to read the MSDN article for more information about the possibilities to extend Team Explorer 2012. Also, try out the extension and let me know it you find it useful!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/jakob/aggbug/152934.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/SXlR60jLyCI" height="1" width="1"/&gt;</description><dc:creator>Jakob Ehn</dc:creator><feedburner:origLink>http://geekswithblogs.net/jakob/archive/2013/05/16/extending-team-explorer-2012-ndash-associating-recent-work-items.aspx</feedburner:origLink></item><item><title>I was surfing io13 and found this interesting article from google</title><category>io13</category><category>jobs</category><category>skills</category><category>career</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/X2xlRerlKPQ/i-was-surfing-io13-and-found-this-interesting-article-from.aspx</link><pubDate>Fri, 17 May 2013 00:08:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/foxjazz/archive/2013/05/16/i-was-surfing-io13-and-found-this-interesting-article-from.aspx</guid><wfw:comment>http://geekswithblogs.net/foxjazz/comments/152946.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/foxjazz/comments/commentRss/152946.aspx</wfw:commentRss><comments>http://geekswithblogs.net/foxjazz/archive/2013/05/16/i-was-surfing-io13-and-found-this-interesting-article-from.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/foxjazz/services/trackbacks/152946.aspx</trackback:ping><source url="http://geekswithblogs.net/foxjazz/rss.aspx">FOXJAZZ  </source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/foxjazz/archive/2013/05/16/i-was-surfing-io13-and-found-this-interesting-article-from.aspx'&gt;http://geekswithblogs.net/foxjazz/archive/2013/05/16/i-was-surfing-io13-and-found-this-interesting-article-from.aspx&lt;/a&gt;&lt;/p&gt;&lt;h2 style="font-size: 24px; margin: 19.98px 0px; line-height: 1.1em; padding: 0px; border: 0px; font-family: museo-sans-rounded-n5, museo-sans-rounded, sans-serif; font-weight: 500; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);"&gt;&lt;a href="http://readwrite.com/2013/05/01/10-technology-skills-no-longer-in-demand"&gt;http://readwrite.com/2013/05/01/10-technology-skills-no-longer-in-demand&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;copied here just in case the link breaks.&lt;/div&gt;&lt;h2 style="font-size: 24px; margin: 19.98px 0px; line-height: 1.1em; padding: 0px; border: 0px; font-family: museo-sans-rounded-n5, museo-sans-rounded, sans-serif; font-weight: 500; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style="font-size: 24px; margin: 19.98px 0px; line-height: 1.1em; padding: 0px; border: 0px; font-family: museo-sans-rounded-n5, museo-sans-rounded, sans-serif; font-weight: 500; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);"&gt;10. Something That Seems Secure Today&lt;/h2&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;The &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank" style="outline: none; color: rgb(198, 38, 39); transition: color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out; text-decoration: none; line-height: 1.538em;"&gt;TIOBE Programming Community Index&lt;/a&gt; lists C, Java, C++ and Objective-C as the programming skills most in demand right now. But here's the thing. In 2009, Objective-C was barely in use. The rapid success of the iPhone and iPad vaulted the language's popularity. Now, however, just over three years later, its popularity is already stabilizing.&lt;/p&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;In today's superheated technology environment, even the most popular, most secure seeming technology skills can suddenly become obsolete. That's just the way it is. No matter how in-demand your current skill set, you can never rest on your resume. &lt;/p&gt;&lt;h2 style="font-size: 24px; margin: 19.98px 0px; line-height: 1.1em; padding: 0px; border: 0px; font-family: museo-sans-rounded-n5, museo-sans-rounded, sans-serif; font-weight: 500; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);"&gt;Learning Is The Key&lt;/h2&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;Will highlighting the wrong skill set to a recruiter brand you as out of touch - or too expensive to hire? Perhaps. But don't expect anyone to tell you that's what going on. More likely, they may just won't return your call, or let your resume vanish into the ether. (There will probably always be a few legacy jobs in all these areas, but that's about it.)&lt;/p&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;The only solution is to keep learning - and keep showing that you&lt;em style="line-height: 1.538em;"&gt;can&lt;/em&gt; learn. While the pace of skills disruption may well be increasing, learning new skills has never been easier. That includes formal schooling as well as free and low-cost resources like &lt;a href="http://www.khanacademy.org/" target="_blank" style="outline: none; color: rgb(198, 38, 39); transition: color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out; text-decoration: none; line-height: 1.538em;"&gt;Khan Academy&lt;/a&gt; and &lt;a href="http://www.codecademy.com/" target="_blank" style="outline: none; color: rgb(198, 38, 39); transition: color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out; text-decoration: none; line-height: 1.538em;"&gt;CodeAcademy&lt;/a&gt;, for example. &lt;/p&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;Here's the bottom line: Since so much technology is fairly new to everyone, why should a company invest in experienced candidates - rather than someone just starting out? Writing for&lt;a href="http://blogs.wsj.com/accelerators/2013/04/19/weekend-read-vivek-wadhwa-the-truth-about-the-age-premium/" target="_blank" style="outline: none; color: rgb(198, 38, 39); transition: color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out; text-decoration: none;"&gt;The Wall Street Journal&lt;/a&gt;, business professor and entrepreneur &lt;a href="http://readwrite.com/search?keyword=Vivek+Wadhwa" target="_blank" style="outline: none; color: rgb(198, 38, 39); transition: color 0.2s ease-in-out; -webkit-transition: color 0.2s ease-in-out; text-decoration: none;"&gt;Vivek Wadhwa&lt;/a&gt;, was brutally direct:&lt;/p&gt;&lt;blockquote style="margin: 1em 40px 1.618rem; font-size: 16px; line-height: 25.875px; max-width: 30em; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none;"&gt;It may be wrong, but look at this from the point of view of the employer. Why would any company pay a computer programmer with out-of-date skills a salary of say $150,000, when it can hire a fresh graduate — who has no skills — for around $60,000? Even if it spends a month training the younger worker, the company is still far ahead. &lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;It's not just about the money, of course. To justify &lt;em&gt;any&lt;/em&gt; salary, it's not only about what you know - now - but &lt;em&gt;what you can learn&lt;/em&gt;going forward. The key to a long career in Silicon Valley, or anywhere in the tech world, is showing that you can learn and adapt - and &lt;em&gt;master&lt;/em&gt; - constant change.&lt;/p&gt;&lt;p style="margin: 1em 0px; font-size: 14px; line-height: 1.4em; max-width: none; color: rgb(51, 51, 51); font-family: Helvetica, sans-serif; background-color: rgb(255, 255, 255);"&gt;Good luck!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/foxjazz/aggbug/152946.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/X2xlRerlKPQ" height="1" width="1"/&gt;</description><dc:creator>foxjazz</dc:creator><feedburner:origLink>http://geekswithblogs.net/foxjazz/archive/2013/05/16/i-was-surfing-io13-and-found-this-interesting-article-from.aspx</feedburner:origLink></item><item><title>.NET Security Part 3</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/yfpgTTe06nw/.net-security-part-3.aspx</link><pubDate>Thu, 16 May 2013 10:52:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/simonc/archive/2013/05/16/.net-security-part-3.aspx</guid><wfw:comment>http://geekswithblogs.net/simonc/comments/152935.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/simonc/comments/commentRss/152935.aspx</wfw:commentRss><comments>http://geekswithblogs.net/simonc/archive/2013/05/16/.net-security-part-3.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/simonc/services/trackbacks/152935.aspx</trackback:ping><source url="http://geekswithblogs.net/simonc/rss.aspx">Simon Cooper</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/simonc/archive/2013/05/16/.net-security-part-3.aspx'&gt;http://geekswithblogs.net/simonc/archive/2013/05/16/.net-security-part-3.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;You write a security-related application that allows addins to be used. These addins (as dlls) can be downloaded from anywhere, and, if allowed to run full-trust, could open a security hole in your application. So you want to restrict what the addin dlls can do, using a sandboxed appdomain, as explained in my previous posts.&lt;/p&gt;

&lt;p&gt;But there needs to be an interaction between the code running in the sandbox and the code that created the sandbox, so the sandboxed code can control or react to things that happen in the controlling application. Sandboxed code needs to be able to call code outside the sandbox.&lt;/p&gt;

&lt;p&gt;Now, there are various methods of allowing cross-appdomain calls, the two main ones being &lt;a href="http://msdn.microsoft.com/en-us/library/kwdt6w2k.aspx"&gt;.NET Remoting&lt;/a&gt; with &lt;a href="http://msdn.microsoft.com/en-us/library/system.marshalbyrefobject.aspx"&gt;MarshalByRefObject&lt;/a&gt;, and WCF named pipes. I'm not going to cover the details of setting up such mechanisms here, or which you should choose for your specific situation; there are plenty of blogs and tutorials covering such issues elsewhere. What I'm going to concentrate on here is the more general problem of running fully-trusted code within a sandbox, which is required in most methods of app-domain communication and control.&lt;/p&gt;

&lt;h4&gt;Defining assemblies as fully-trusted&lt;/h4&gt;

&lt;p&gt;In my last post, I mentioned that when you create a sandboxed appdomain, you can pass in a list of assembly strongnames that run as full-trust within the appdomain:&lt;/p&gt;

&lt;pre&gt;// get the Assembly object for the assembly
Assembly assemblyWithApi = ...    

// get the StrongName from the assembly's collection of evidence
StrongName apiStrongName = assemblyWithApi.Evidence.GetHostEvidence&amp;lt;StrongName&amp;gt;();

// create the sandbox
AppDomain sandbox = AppDomain.CreateDomain(
    "Sandbox", null, appDomainSetup, restrictedPerms, apiStrongName);&lt;/pre&gt;
    
&lt;p&gt;Any assembly that is loaded into the sandbox with a strong name the same as one in the list of full-trust strong names is unconditionally given full-trust permissions within the sandbox, irregardless of permissions and sandbox setup. This is very powerful! You should only use this for assemblies that you trust as much as the code creating the sandbox.&lt;/p&gt;

&lt;p&gt;So now you have a class that you want the sandboxed code to call:&lt;/p&gt;

&lt;pre&gt;// within assemblyWithApi
public class MyApi
{
    public static void MethodToDoThings() { ... }
}

// within the sandboxed dll
public class UntrustedSandboxedClass
{
    public void DodgyMethod()
    {        
        ...
        MyApi.MethodToDoThings();
        ...
    }
}&lt;/pre&gt;

&lt;p&gt;However, if you try to do this, you get quite an ugly exception:
&lt;/p&gt;&lt;blockquote&gt;MethodAccessException: Attempt by security transparent method 'UntrustedSandboxedClass.DodgyMethod()' to access security critical method 'MyApi.MethodToDoThings()' failed.&lt;/blockquote&gt;
Security transparency, which I covered in my first post in the series, has entered the picture. Partially-trusted code runs at the Transparent security level, fully-trusted code runs at the Critical security level, and Transparent code cannot under any circumstances call Critical code.

&lt;h4&gt;Security transparency and AllowPartiallyTrustedCallersAttribute&lt;/h4&gt;

&lt;p&gt;So the solution is easy, right? Make &lt;code&gt;MethodToDoThings&lt;/code&gt; SafeCritical, then the transparent code running in the sandbox can call the api:&lt;/p&gt;
&lt;pre&gt;[SecuritySafeCritical]
public static void MethodToDoThings() { ... }&lt;/pre&gt;
&lt;p&gt;However, this doesn't solve the problem. When you try again, exactly the same exception is thrown; MethodToDoThings is still running as Critical code. What's going on?&lt;/p&gt;

&lt;p&gt;By default, a fully-trusted assembly always runs Critical code, irregardless of any security attributes on its types and methods. This is because it may not have been designed in a secure way when called from transparent code - as we'll see in the next post, it is easy to open a security hole despite all the security protections .NET 4 offers. When exposing an assembly to be called from partially-trusted code, the entire assembly needs a security audit to decide what should be transparent, safe critical, or critical, and close any potential security holes.&lt;/p&gt;

&lt;p&gt;This is where &lt;a href="http://msdn.microsoft.com/en-us/library/system.security.allowpartiallytrustedcallersattribute.aspx"&gt;AllowPartiallyTrustedCallersAttribute&lt;/a&gt; (APTCA) comes in. Without this attribute, fully-trusted assemblies run Critical code, and partially-trusted assemblies run Transparent code. When this attribute is applied to an assembly, it confirms that the assembly has had a full security audit, and it is safe to be called from untrusted code. All code in that assembly runs as Transparent, but &lt;code&gt;SecurityCriticalAttribute&lt;/code&gt; and &lt;code&gt;SecuritySafeCriticalAttribute&lt;/code&gt; can be applied to individual types and methods to make those run at the Critical or SafeCritical levels, with all the restrictions that entails.&lt;/p&gt;

&lt;p&gt;So, to allow the sandboxed assembly to call the full-trust API assembly, simply add APCTA to the API assembly:&lt;/p&gt;
&lt;pre&gt;[assembly: AllowPartiallyTrustedCallers]&lt;/pre&gt;
&lt;p&gt;and everything works as you expect. The sandboxed dll can call your API dll, and from there communicate with the rest of the application.&lt;/p&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;That's the basics of running a full-trust assembly in a sandboxed appdomain, and allowing a sandboxed assembly to access it. The key is AllowPartiallyTrustedCallersAttribute, which is what lets partially-trusted code call a fully-trusted assembly. However, an assembly with APTCA applied to it means that you have run a full security audit of every type and member in the assembly. If you don't, then you could inadvertently open a security hole. I'll be looking at ways this can happen in my next post.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/simonc/aggbug/152935.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/yfpgTTe06nw" height="1" width="1"/&gt;</description><dc:creator>simonc</dc:creator><feedburner:origLink>http://geekswithblogs.net/simonc/archive/2013/05/16/.net-security-part-3.aspx</feedburner:origLink></item><item><title>Powershell functions to get an xml node, and get and set an xml element&amp;rsquo;s value, even when the element does not already exist</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/m79cjnTKyOY/powershell-functions-to-get-an-xml-node-and-get-and.aspx</link><pubDate>Thu, 16 May 2013 17:18:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2013/05/16/powershell-functions-to-get-an-xml-node-and-get-and.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/152937.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/152937.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2013/05/16/powershell-functions-to-get-an-xml-node-and-get-and.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/152937.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Daniel Schroeder</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/deadlydog/archive/2013/05/16/powershell-functions-to-get-an-xml-node-and-get-and.aspx'&gt;http://geekswithblogs.net/deadlydog/archive/2013/05/16/powershell-functions-to-get-an-xml-node-and-get-and.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I’m new to working with Xml through PowerShell and was so impressed when I discovered how easy it was to read an xml element’s value.  I’m working with reading/writing .nuspec files for working with NuGet.  Here’s a sample xml of a .nuspec xml file:&lt;/p&gt;  &lt;p&gt;Read more at &lt;a title="http://blog.danskingdom.com/powershell-functions-to-get-an-xml-node-and-get-and-set-an-xml-elements-value-even-when-the-element-does-not-already-exist/" href="http://blog.danskingdom.com/powershell-functions-to-get-an-xml-node-and-get-and-set-an-xml-elements-value-even-when-the-element-does-not-already-exist/"&gt;http://blog.danskingdom.com/powershell-functions-to-get-an-xml-node-and-get-and-set-an-xml-elements-value-even-when-the-element-does-not-already-exist/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/152937.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/m79cjnTKyOY" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2013/05/16/powershell-functions-to-get-an-xml-node-and-get-and.aspx</feedburner:origLink></item><item><title>Live Coding During Presentations&amp;ndash;Good or Bad?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/sAdwrwnMApE/152933.aspx</link><pubDate>Wed, 15 May 2013 13:37:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dlussier/archive/2013/05/15/152933.aspx</guid><wfw:comment>http://geekswithblogs.net/dlussier/comments/152933.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dlussier/comments/commentRss/152933.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dlussier/archive/2013/05/15/152933.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dlussier/services/trackbacks/152933.aspx</trackback:ping><source url="http://geekswithblogs.net/dlussier/rss.aspx">D'Arcy from Winnipeg</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/dlussier/archive/2013/05/15/152933.aspx'&gt;http://geekswithblogs.net/dlussier/archive/2013/05/15/152933.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This is a response/continuation of the discussion &lt;a href="http://rtigger.com/blog/2013/05/15/live-coding-good-or-bad/" target="_blank"&gt;that Chad McCallum started over on his blog.&lt;/a&gt; He wondered what people’s view was on doing live coding within a presentation – for or against.&lt;/p&gt;  &lt;p&gt;Where. To. Begin.&lt;/p&gt;  &lt;p&gt;There is no right answer to the question. As developers, we like to look at things almost from a bit perspective – 0 or 1, yes or no, true or false. But humans aren’t computers and so to say that yes you should or no you shouldn’t use live coding demos isn’t a worthwhile argument because you’ll never get consensus from the most important group of people for a presenter – your audience.&lt;/p&gt;  &lt;p&gt;Consider these two comments:&lt;/p&gt;  &lt;p&gt;“I attended this session based on my experience from his other session. Great demos!”&lt;/p&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;p&gt;“Number of presenters clearly didn't have any developer content prepared and re-used decks of the web and didn't get into any programming. [Speaker]’s was particularly bad.”&lt;/p&gt;  &lt;p&gt;Note the last part of the second comment, about a certain speaker’s sessions being bad because they clearly didn’t have any developer content prepared? Well the first comment is about that speaker’s second session. I was in that session and yes, he showed code but didn’t write any. Huh. Two people, same session, different…expectations?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;It’s Always About Expectations&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I have learned this through much trial and tribulation – the sure way to ensure success in life is to set clear expectations as early as possible. Doing live code? Showing slides of code? Using copy/paste or snippets? Not having any code whatsoever at all? There is no discussion about whether one of these styles is better than the other. I’ve seen all these styles work and work well (I’ve also seen them all bomb just as well also, but I’ll get to that in a second).&lt;/p&gt;  &lt;p&gt;So what we’re really talking about is &lt;strong&gt;&lt;em&gt;audience expectations&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;A few years ago some friends and I went out for Chinese food. One of our friends decided to buy a lobster for the table. He was invited into the kitchen to see it prepared. He came out pale and a little shocked. Why? Well, he was going to see a lobster get cooked – y’know, dropped in boiling water. Isn’t that how you cook a lobster? Not in this restaurant. In this place, you chop it with a huge knife while its still alive and then throw its pieces into a pan and stir fry it. Now had the cook set the &lt;strong&gt;&lt;em&gt;expectation&lt;/em&gt;&lt;/strong&gt; that he’d be seeing something else, he may not have gone into the kitchen.&lt;/p&gt;  &lt;p&gt;The same thing happens with presentations. Why do people not like a presentation? Sometimes its because it was just a bad presentation. But most of the time, its because expectations weren’t set up front. If you don’t set expectations up front, you let the audience’s expectations become the baseline and you as a presenter have no ability to meet a room full of different expectations. If you set the expectations of what will be seen and the style, then the audience has two options: accept it (stay) or reject it (leave). Either way, you are in control.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So It Doesn’t Matter What Style I use (Live Coding/Snippits/Slides Of Code)?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Like any presentation, you need to use the best medium for communicating your message and address the risks associated.&lt;/p&gt;  &lt;p&gt;Want to do live coding? Great! Make sure you set your font and IDE colour scheme, ensure that it’ll work and compile in its finished state (use the Julia Childe method*), test out the available wi-fi to ensure its reliable if your presentation requires it, ensure all updates and required components are installed to your machine/VM ahead of time, ensure all background running processes (virus scanner, auto updates, etc.) are turned off ahead of time, etc. etc.&lt;/p&gt;  &lt;p&gt;Want to do slides of codes? Fantastic! Make sure you’re ready to answer questions about how to do things differently/more advanced than what’s on your slides. Make sure you check that your code is readable on your slides, the background/style doesn’t clash, and remember that if you’re using image snapshots of code that you can’t change the font on it so it better be big enough for the guy in the back row to read. Oh, and make sure that your version of PowerPoint or whatever tool you created your presentation with is usable with the version on the presentation computer (if its different than your own).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Presentations are Tools to Communicate Your Idea&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I do a talk on how to give technical presentations as well as a presentation workshop, and the one thing I stress is that your PowerPoint, your code, your demos, your whatever isn’t as important as &lt;strong&gt;&lt;em&gt;you&lt;/em&gt;&lt;/strong&gt;. You and your knowledge is the reason people are coming to a presentation. You need to pick the tools and techniques that will ensure that &lt;strong&gt;&lt;em&gt;you&lt;/em&gt;&lt;/strong&gt; will communicate &lt;strong&gt;&lt;em&gt;your &lt;/em&gt;&lt;/strong&gt;message to the audience.&lt;/p&gt;  &lt;p&gt;You won’t every please everyone that comes to your presentations. But if you set expectations and give thought to the tools/techniques you’ll employ, you can limit the negative comments and ensure more people leave understanding what you were trying to get across.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dlussier/aggbug/152933.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/sAdwrwnMApE" height="1" width="1"/&gt;</description><dc:creator>D'Arcy Lussier</dc:creator><feedburner:origLink>http://geekswithblogs.net/dlussier/archive/2013/05/15/152933.aspx</feedburner:origLink></item><item><title>Use the NotMapped Attribute with Entity Framework in Partial Classes</title><category>Entity Framework</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QUjBtjMGRA0/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx</link><pubDate>Wed, 15 May 2013 09:32:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/152932.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152932.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152932.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I wanted to add a property to send to my JavaScript class through WebApi, but didn’t want it in the database. I was getting an error telling me I had an invalid name on the EF 5 selection from the database. Adding the &lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.notmappedattribute(v=vs.103).aspx" target="_blank"&gt;NotMapped attribute&lt;/a&gt; to the property did the trick. I get it on the JavaScript side as well. I found the answer (again) on &lt;a href="http://stackoverflow.com/questions/10389595/ef-code-first-migration-ignore-property" target="_blank"&gt;StackOverflow&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Example:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ComponentAttribute
{
    [NotMapped]
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsModified { get; set; }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152932.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QUjBtjMGRA0" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx</feedburner:origLink></item><item><title>Tech Learning&amp;ndash;Always Start with Hello World</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5y9V7qCCZUU/152931.aspx</link><pubDate>Wed, 15 May 2013 07:20:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dlussier/archive/2013/05/15/152931.aspx</guid><wfw:comment>http://geekswithblogs.net/dlussier/comments/152931.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dlussier/comments/commentRss/152931.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dlussier/archive/2013/05/15/152931.aspx#comment</comments><slash:comments>5</slash:comments><trackback:ping>http://geekswithblogs.net/dlussier/services/trackbacks/152931.aspx</trackback:ping><source url="http://geekswithblogs.net/dlussier/rss.aspx">D'Arcy from Winnipeg</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/dlussier/archive/2013/05/15/152931.aspx'&gt;http://geekswithblogs.net/dlussier/archive/2013/05/15/152931.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Remember Hello World? It was the program that we all started out with at some point. We did something that would make Hello World display somehow. But as we got older and more into our careers as developers, we’ve forgotten Hello World. Instead, we’ve replaced it with Contoso or Pet Store or whatever large, heavy, complex domain we decided would be a much better sandbox to frame learning a new technology with.&lt;/p&gt;  &lt;p&gt;I was talking with an attendee at Prairie Dev Con about this last week, and how we can easily get caught up in fulfilling the domain rather than understanding the underlying tech.&lt;/p&gt;  &lt;p&gt;Consider these two scenarios, both related to learning ASP.NET MVC with EF code first.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="445" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="209"&gt;A doctor’s office wants a web site to schedule patient visits. This site will use forms authentication and will leverage MVC and Entity Framework Code First. We’ll use jQuery on the front end for the UI and SQL Server in the back for storing the data. The datamodel looks like this…&amp;lt;insert data model here&amp;gt; and the class diagram looks like this &amp;lt;insert class diagram here&amp;gt;.&lt;/td&gt;        &lt;td valign="top" width="30"&gt; &lt;/td&gt;        &lt;td valign="top" width="204"&gt;Create a single view in an MVC project that uses EF to retrieve a simple value of “Hello World” from a database table and display it on the screen.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;   &lt;br /&gt;Now, if we were to do both of these we’d come to the same result of understanding EF and MVC, but with one difference – the example on the left comes with a huge and heavy domain that we’ve added in for no other reason than to feel like we’re building something of value. But here’s the thing – we’re not. When we’re learning a technology, its &lt;strong&gt;&lt;em&gt;about the technology&lt;/em&gt;&lt;/strong&gt;. The details of a pretend scenario do nothing but get in the way of the actual learning.&lt;/p&gt;  &lt;p&gt;The value is in us understanding how the technology works &lt;strong&gt;&lt;em&gt;so we can apply it&lt;/em&gt;&lt;/strong&gt; to domain contexts later. Would we expect an apprentice carpenter who’s just learning to build a house as their first project to teach them framing? Of course not. So why do we expect it from ourselves as developers?&lt;/p&gt;  &lt;p&gt;Unburden yourself from complex domain contexts when you’re starting out with something new. Start with Hello World and take it from there.&lt;/p&gt;  &lt;p&gt;D&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dlussier/aggbug/152931.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5y9V7qCCZUU" height="1" width="1"/&gt;</description><dc:creator>D'Arcy Lussier</dc:creator><feedburner:origLink>http://geekswithblogs.net/dlussier/archive/2013/05/15/152931.aspx</feedburner:origLink></item><item><title>Special Tampa WPUG meeting - How I became a Millionaire writing apps!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/pPp4clkojd8/152930.aspx</link><pubDate>Wed, 15 May 2013 04:48:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/campuskoder/archive/2013/05/15/152930.aspx</guid><wfw:comment>http://geekswithblogs.net/campuskoder/comments/152930.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/campuskoder/comments/commentRss/152930.aspx</wfw:commentRss><comments>http://geekswithblogs.net/campuskoder/archive/2013/05/15/152930.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/campuskoder/services/trackbacks/152930.aspx</trackback:ping><source url="http://geekswithblogs.net/campuskoder/rss.aspx">Nikita Polyakov</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/campuskoder/archive/2013/05/15/152930.aspx'&gt;http://geekswithblogs.net/campuskoder/archive/2013/05/15/152930.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;DO NOT MISS THIS 5/21 6PM : &lt;strong&gt;Special Tampa WPUG meeting - How I became a Millionaire writing apps!&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;If you are in Tampa the night of 5/21 you should not have any excuses not to show up to this event. There should not even be any giveaways (especially this awesome) because I am sure this will be a sold out event. Be there (early) or be square.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://tampawpugmay21.eventbrite.com/" href="http://tampawpugmay21.eventbrite.com/"&gt;http://tampawpugmay21.eventbrite.com/&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tampa Windows Phone User Group&lt;/li&gt;    &lt;li&gt;&lt;i&gt;&lt;/i&gt;Tuesday, May 21, 2013 from 6:00 PM to 8:00 PM (EDT) &lt;/li&gt; &lt;/ul&gt; &lt;img src="http://geekswithblogs.net/campuskoder/aggbug/152930.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/pPp4clkojd8" height="1" width="1"/&gt;</description><dc:creator>Nikita Polyakov</dc:creator><feedburner:origLink>http://geekswithblogs.net/campuskoder/archive/2013/05/15/152930.aspx</feedburner:origLink></item><item><title>Nokia: Your vision is clouded</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-C6Moglu-Po/nokia-your-vision-is-clouded.aspx</link><pubDate>Tue, 14 May 2013 22:26:24 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rodelljr/archive/2013/05/15/nokia-your-vision-is-clouded.aspx</guid><wfw:comment>http://geekswithblogs.net/rodelljr/comments/152928.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rodelljr/comments/commentRss/152928.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rodelljr/archive/2013/05/15/nokia-your-vision-is-clouded.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://geekswithblogs.net/rodelljr/services/trackbacks/152928.aspx</trackback:ping><source url="http://geekswithblogs.net/rodelljr/rss.aspx">Roger O'Dell</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/rodelljr/archive/2013/05/15/nokia-your-vision-is-clouded.aspx'&gt;http://geekswithblogs.net/rodelljr/archive/2013/05/15/nokia-your-vision-is-clouded.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In the last week or so we have seen two new phones announced by Nokia: the Lumia 928 and 925. The 925 version looks to be the next evolution in Nokia’s lineup of Lumia devices while the 928 at a glance looks like a variation of the original 920, with maybe some parts of the 925 mixed in. You of course get a great camera experience with the low light PurView system.&lt;/p&gt;  &lt;p&gt;While you can view the 925 specs &lt;a href="http://www.nokia.com/global/products/phone/lumia925/specifications/" target="_blank"&gt;here&lt;/a&gt;, I will note that unlike previous Lumia’s (including the 928), the 925 only has 16 GB of storage instead of 32 GB. This wouldn’t be a problem if it had expandable memory, but it doesn’t. That’s right, if you play games that take a lot of storage, or like to save music playlists on your device, this could be an issue. Most likely it won’t for the average user. That is really the only flaw I can see in the hardware itself. It looks stunning and if by some miracle I can get a unit to review, I will defiantly enjoy playing with it. I haven’t really done any phone reviews, but would love the opportunity to begin doing just that. As a developer, its nice to have that ability to play with new hardware and try testing your apps on it.&lt;/p&gt;  &lt;p&gt;Now I mentioned flaw in hardware, but this article is more about Nokia itself. While I love their products; (I own a Lumia 800), I completely disagree with their distribution model. While they seem to be trying to be like Samsung and flood the market with handsets, they are doing it as if they are Apple. Please stop. If you really want to compete with Samsung, follow their model that they had done with their Galaxy S3 and S4 and build it for all the carriers. Stop doing this limited distribution. Releasing the 925 to only T-Mobile in the US is a mistake. Its bad enough that the 920 was restricted to AT&amp;amp;T, but to follow that same model again a year later is wasteful. Now before I get any comments, this also applies to Canada and other countries who are only getting partial carrier coverage&lt;/p&gt;  &lt;p&gt;That whole exclusive type distribution model has only really worked once, and that was by Apple. Even HTC has learned their lesson somewhat with the HTC One, but that is a whole other argument. The Lumia line is basically THE best that Windows Phone has to offer, and as long as your vision is clouded, it may prove to be the end of Windows Phone. We can’t expect Windows Phone to get any market share increases with this limited distribution model.&lt;/p&gt;  &lt;p&gt;This also doesn’t just apply to the 925, but should apply for a few of their other models. The midrange phones like the 820 would defiantly benefit from being on multiple carriers in the US and abroad. You could probably include the lower end tier and include the 620 or 521 in that list. Basically think of it as a small, medium and large model where you have three phones for all carriers. I also wouldn’t stop their. I would include the smaller market carriers like Cricket. Taking this approach will go along way.&lt;/p&gt;  &lt;p&gt;With all this said and done, will I buy a 925 or 928? Unfortunately no. I carry a Galaxy S3 as my carrier doesn’t carry Windows Phone yet. And before any one asks, I can’t switch carriers for another year, and few months. I switched from AT&amp;amp;T for reasons I won’t explain here. Other than my minor rants, I really love the Nokia handsets and can’t wait to either review or use their developer borrow program to test my Windows Phone apps.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/rodelljr/aggbug/152928.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-C6Moglu-Po" height="1" width="1"/&gt;</description><dc:creator>rodelljr</dc:creator><feedburner:origLink>http://geekswithblogs.net/rodelljr/archive/2013/05/15/nokia-your-vision-is-clouded.aspx</feedburner:origLink></item><item><title>Using Windows Azure Mobile services to develop Android Applications&amp;ndash;Nigeria DevCamp</title><category>Windows Azure</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/WErib5sJwck/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx</link><pubDate>Tue, 14 May 2013 16:25:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/malisancube/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx</guid><wfw:comment>http://geekswithblogs.net/malisancube/comments/152926.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/malisancube/comments/commentRss/152926.aspx</wfw:commentRss><comments>http://geekswithblogs.net/malisancube/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/malisancube/services/trackbacks/152926.aspx</trackback:ping><source url="http://geekswithblogs.net/malisancube/rss.aspx">Malisa Ncube - .NET Delights</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/malisancube/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx'&gt;http://geekswithblogs.net/malisancube/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I have blogged about the Dev camp event we had in Nigeria, where I did a session on using Windows Azure Mobile Services on Android Applications. I run through a recipe, in which I created a shopping list application which was shared between Windows 8, Windows Phone 8 and Android. My task was that of developing an Android application from scratch which would make use of some of the coolest features in WAMS. i.e. Facebook authentication and storage.&lt;/p&gt;  &lt;p&gt;The result is a cross platform solution which takes advantage of the unified authentication features of WAMS and share the same data.&lt;/p&gt;  &lt;p&gt;Check it out here &lt;a href="http://blogs.msdn.com/b/africaapps/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applications-nigeria-devcamp.aspx"&gt;http://blogs.msdn.com/b/africaapps/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applications-nigeria-devcamp.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/malisancube/Windows-Live-Writer/200a890e82c6_E519/image_15.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/malisancube/Windows-Live-Writer/200a890e82c6_E519/image_thumb_6.png" width="325" height="376" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c0989466-ac29-4743-aa99-9cb5f1e6ddf2" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+Azure+Mobile+Services" rel="tag"&gt;Windows Azure Mobile Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Android" rel="tag"&gt;Android&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Nigeria+DevCamp" rel="tag"&gt;Nigeria DevCamp&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/malisancube/aggbug/152926.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/WErib5sJwck" height="1" width="1"/&gt;</description><dc:creator>Malisa L. Ncube</dc:creator><feedburner:origLink>http://geekswithblogs.net/malisancube/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applicationsndashnigeria-devcamp.aspx</feedburner:origLink></item><item><title>Which kind of API service provider are you?</title><category>Architecture</category><category>API</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/iBPBGfAHHhs/152924.aspx</link><pubDate>Sun, 12 May 2013 14:50:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2013/05/12/152924.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/152924.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/152924.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2013/05/12/152924.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/152924.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">Michael Stephenson</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/michaelstephenson/archive/2013/05/12/152924.aspx'&gt;http://geekswithblogs.net/michaelstephenson/archive/2013/05/12/152924.aspx&lt;/a&gt;&lt;/p&gt;Ive been pondering this one for a while and been meaning to put something out there about it.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During some of the architecture discussions I've had with colleagues some of the examples that are often put out there in terms of a public API are google and twitter.  They are often described as things like "internet scale", "open standards based", "easy to use" and a whole bunch of other good things.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the things which I always feel that is a little bit ignored is that these companies are very different in terms of their market forces to some of the companies I have worked with in the past.  If you are twitter for example its very easy to say this is my API and you will consume it using my rules.  If twitter want to change their API or retire an older version of it then the client either upgrades or stops working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are a service provider like one of these guys then you have all of the power and its really easy to produce an API and make everyone do it the way that suits you.  I would describe this as a "provider driven API".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A lot of the companies I have worked with are different.  They work with partners and customers who have a lot of power and the balance of power in their interactions and relationship is either finely balanced or in favour of the service consumer.  In these cases we often end up with different scenarios where you may have an API, but you also end up having to build adapters or gateways to your API so that different consumers can work with it.  To give an example of this we planned to produced an API but we found that one of our biggest consumers would account for 70% of its usage and they could only support a SOAP web service API with basic security where as another consumer of it would be REST based.  In this scenario you may produce your "preferred API" and then produce adapters to convert different consumers to this API.  The power balance means that you cant necessarily influence the consumer to change the way they would talk to your API because they would use a competitor who would make it easy and cheaper for them.  Thats just the nature of business.  In these cases I find that its important to try to use good integration practices and to keep the adapters as simple as possible and to reuse the core services in your preferred API.  This will keep your total cost of ownership lower.  I also often suggest to the business that they look for ways to incentivise partners to use our preferred API as this brings our costs down so we should look to share that saving for the longer term benefits it would bring.  We know this isnt always possible though.  In this case I would describe your API strategy as being a "consumer driven API".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think its important to recognise that there are differences between these approaches, and that while google, facebook, twitter or Windows Azures's API might be excellent and very easy to use, they may be in a different business paradigm to your company and while there are definitely good techniques and practices to aim for they may not be the best comparison to your own situation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This subject is not something I have really researched too much online to see if there is much in the way of discussion on this subject but im bored sitting waiting for a flight in miami airport and thought id get this one off my chest!  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Id love to hear what other people think, is this a valid problem space that lots of us face, and what kind of challenges do you have in your domain.  Also do you think the terms "Consumer driven API" and "Provider driven API" are right.  Ive come across the "Client driven contracts" pattern but I feel that this is only part of the challenge.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From my own experiences the one good practice I would recommend in the "consumer driven API" space is that you should try to avoid developing whole new API's for all of the different consumers.  Create your main API and then develop gateways to it.  The gateways should be as simple as possible and do little more than mapping and composing the data from the main API into these newer formats and dealing with the differences in things like security.  Dont go replicating all of the logic if possible.&lt;/div&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/152924.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/iBPBGfAHHhs" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2013/05/12/152924.aspx</feedburner:origLink></item><item><title>Integration between Resource and Message Based Architectures</title><category>BizTalk</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/osgl_HrnJVg/152923.aspx</link><pubDate>Sat, 11 May 2013 22:36:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2013/05/11/152923.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/152923.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/152923.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2013/05/11/152923.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/152923.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">Michael Stephenson</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/michaelstephenson/archive/2013/05/11/152923.aspx'&gt;http://geekswithblogs.net/michaelstephenson/archive/2013/05/11/152923.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've been thinking for a while about the way in which resource based architectures and messaging based architectures interact with each other.   Resource based architectures have increased in popularity a lot over recent years and I have read a number of articles in the community but I've always felt there was a gap and lack of discussion and guidance over the integration between resource based architectures and message based architectures.  I have had a couple of chats with colleagues who's opinion I value very highly and they felt the same about this subject as I do so I thought I'd write this article and see where we end up at the end of my brain bump on this subject and hopefully prompt some discussion on this subject.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;So let's start with the typical example of a RESTful service.  In most of the examples you see in articles we have an application that contains some resources and then a REST API is developed to provide access to these resources using all of the common techniques used when putting together a REST API.  At this point I am completely happy.  REST is a great way to provide an API for your applications resources.  &lt;strong&gt;&lt;em&gt;"REST is good for producing an interoperable API".
&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;If you're developing applications in a client/server style architecture where you may have a website which calls this REST API then you probably never need to worry anymore about this problem, however where I start to struggle with things is in the real world of integration.  When we start to develop real solutions which are more than just a website calling my API and we have things like aggregated services or complex business processes or the many other integration scenarios to think about.  Let's take the example of a service which wants to aggregate two or more services together in a publish/subscribe style pattern.  In the below diagram I've shown how you have two backend services exposing REST API's and a client who wants to make a call with a RESTful GET. 
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;img src="https://gwb.blob.core.windows.net/michaelstephenson/051213_0435_Integration1.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;There are a few conceptual challenges here, firstly when you are talking about resources, the resource that the customer is thinking about isn't necessarily the same as the resources that each partner is thinking about.  The message broker could be aggregating the two partners resources and producing some new kind of resource.  Other challenges may include the addressability of the resource.  Would the address send by the client make sense when it was sent to the partners.  Probably not!
&lt;/p&gt;&lt;p&gt;In the above example it could be possible to write custom code to deliver this aggregator service but what about a more complex problem?  Take the diagram below.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;img src="https://gwb.blob.core.windows.net/michaelstephenson/051213_0435_Integration2.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;In this example we have a more complex example where there are multiple customers and more partners.  Now like in most real world scenarios you have more than one protocol going on.  Now you're moving away from custom code, it would be a good to consider some of the common messaging solutions such as BizTalk, NServiceBus, RabbitMQ, or the many other vendors who are available.
&lt;/p&gt;&lt;p&gt;The key thing when you start working with an integration broker is that they work based on a message based architecture and a key underlying principle of that is a message which is self-describing.  A message based architecture has the benefit that because everything is contained within the message it should be possible to route then transform the message and send it over any protocol.  Hopefully this begins to show how important the translation from a REST &lt;span style="font-family:Wingdings"&gt;à&lt;/span&gt; Messaging and Messaging &lt;span style="font-family:Wingdings"&gt;à&lt;/span&gt; REST can be.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;In the new version of BizTalk 2013 they have introduced a new REST adapter and the BizTalk product team have attempted to address this challenge about how to convert things like a URI with the GET verb to a message which can then be self-describing and used in a messaging system.  The REST adapters then let you connect applications to your integration broker and provide whatever mapping and routing your scenario may need.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;In summary I think I'm saying the following:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;REST is an easy to use and interoperable way to develop application interfaces
&lt;/li&gt;&lt;li&gt;There is a difference between an application interface and Enterprise Application Integration
&lt;/li&gt;&lt;li&gt;Messaging systems use messaging architectures and are used to develop real world EAI and ESB solutions
&lt;/li&gt;&lt;li&gt;BizTalk has some cool new REST adapters which let you convert between these architecture styles
&lt;/li&gt;&lt;li&gt;We should be able to build even more powerful integration solutions than we have in previous versions
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;As I mentioned at the start of the article, I haven't seen much discussion in the community about this translation from Resource-based to Message-based approaches.  If you know of any good articles or have any opinions around good practices or techniques in this area I'd be very interested to read them.  
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;As a side note if anyone is interested in practical examples of using the BizTalk REST adapter check the below articles from fellow Integration MVP's Richard Seroter and Steef-Jan Wiggers:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://soa-thoughts.blogspot.nl/2013/01/biztalk-server-2013-new-adapters-series.html"&gt;http://soa-thoughts.blogspot.nl/2013/01/biztalk-server-2013-new-adapters-series.html&lt;/a&gt;
			&lt;/li&gt;&lt;li&gt;&lt;a href="http://seroter.wordpress.com/2012/11/19/exploring-rest-capabilities-of-biztalk-server-2013-part-2-consuming-rest-endpoints/"&gt;http://seroter.wordpress.com/2012/11/19/exploring-rest-capabilities-of-biztalk-server-2013-part-2-consuming-rest-endpoints/&lt;/a&gt;
			&lt;/li&gt;&lt;li&gt;&lt;a href="http://seroter.wordpress.com/2012/11/12/exploring-rest-capabilities-of-biztalk-server-2013-part-1-exposing-rest-endpoints/"&gt;http://seroter.wordpress.com/2012/11/12/exploring-rest-capabilities-of-biztalk-server-2013-part-1-exposing-rest-endpoints/&lt;/a&gt;&lt;span style="font-size:16pt"&gt;
			&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/152923.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/osgl_HrnJVg" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2013/05/11/152923.aspx</feedburner:origLink></item><item><title>I Finished My First 5k Run</title><category>Personal</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/U5lj6OPbSx4/i-finished-my-first-5k-run.aspx</link><pubDate>Sat, 11 May 2013 04:00:57 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bjackett/archive/2013/05/11/i-finished-my-first-5k-run.aspx</guid><wfw:comment>http://geekswithblogs.net/bjackett/comments/152922.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bjackett/comments/commentRss/152922.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bjackett/archive/2013/05/11/i-finished-my-first-5k-run.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bjackett/services/trackbacks/152922.aspx</trackback:ping><source url="http://geekswithblogs.net/bjackett/rss.aspx">The Frog Pond of Technology</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/bjackett/archive/2013/05/11/i-finished-my-first-5k-run.aspx'&gt;http://geekswithblogs.net/bjackett/archive/2013/05/11/i-finished-my-first-5k-run.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;   This post is a bit more personal than most.  Two weekends ago my fiancé and I (along with two friends) completed our first 5k run.  To many people this may not sound like a big deal, but to me it was a very significant event.  Below is the story why.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;History&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   When I was a junior in high school I started to have pain in my right hip when I ran or was on my feet for extended periods of time.  At the time I was in track doing shot put and discus which are very demanding on your leg joints and muscles.  When the pain didn’t go away for days and was uncomfortable just walking or sitting I decided to get it looked at by a doctor.  The doctor took a number of X-rays and performed various mobility tests.  Upon reviewing the X-rays it was clear what the problem was.  My right hip joint was not properly formed.  Specifically the socket portion of the “ball and socket” connection was under-formed and thus the ball portion slipped around causing inflammation.  To the best of my memory he called it &lt;a href="http://en.wikipedia.org/wiki/Hip_dysplasia_(human)"&gt;hip dysplasia&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;   This is a somewhat common issue with newborn babies where the hip joints aren’t properly aligned or the ball remains out of the socket.  In most cases some quick tests and manual adjustments pop the hip back into place.  Apparently this wasn’t the case for me.  At the time the doctor told me that I would need a hip replacement by the time I was 40-45, but to continue exercising and avoid any activities that caused pain.  For me that meant no more running or climbing large amounts of stairs.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;Run Training&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   Fast forward to a few years ago, I read an article discussing different running styles.  One that stood out to me was toe running.  Instead of landing on the heel (and absorbing all the shock with your bones) you focus on running on the ball or toes of your feet (and thus absorb the shock in your muscles).  For a year I started to walk on the balls of my feet rather than the traditional heel to toe stride.  I noticed a decrease in my hip pain as well as increased calf muscle strength.  I then tried running on my toes and found it to be much easier than expected.&lt;/p&gt;  &lt;p&gt;   I joined my fiancé's gym at the beginning of this year intending to lift weights and do some minimal cardio.  I started out with running half a mile and worked my way up to 2 miles.  In Feb I found out the gym was holding a 5k run / walk for charity.  I thought this would be a great opportunity to see if I could run the full race and not have hip pain.  Sarah and I trained over the next few months increasing our distance and lowering our pace per mile.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;The Race&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   On April 27th, 2013 Sarah and I ran our 5K.  I finished with a time of 32:59 (just under 33 mins :) ) and Sarah finished at 34:56.  I’m very proud of both of our times and for completing.  The icing on the cake was that I had very minimal hip pain after the race (and even the days following the race).  The below picture was taken just before our race.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/bjackett/Windows-Live-Writer/a9c2cd1b64e3_145DE/WP_20130427_002_2.jpg" rel="lightbox"&gt;&lt;img title="WP_20130427_002" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="WP_20130427_002" src="https://gwb.blob.core.windows.net/bjackett/Windows-Live-Writer/a9c2cd1b64e3_145DE/WP_20130427_002_thumb.jpg" width="367" height="208" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;Conclusion&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   When my doctor told me that I wouldn’t be able to do many things that I enjoyed when I was younger it was discouraging.  Thankfully through changing the way that I walk, run, and get around I’ve found ways to cope with my hip issue.  I may still have to have an early hip replacement, but the fact that I could complete a 5K (with Sarah’s help and motivation) was a big boost to my confidence that I won’t let that keep me down.  Now to find the next race and continue on!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;      -Frog Out&lt;/p&gt; &lt;img src="http://geekswithblogs.net/bjackett/aggbug/152922.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/U5lj6OPbSx4" height="1" width="1"/&gt;</description><dc:creator>Brian T. Jackett</dc:creator><feedburner:origLink>http://geekswithblogs.net/bjackett/archive/2013/05/11/i-finished-my-first-5k-run.aspx</feedburner:origLink></item><item><title>Tip Of the Day - Modal Popup and ValidationSummary Controls: Fixing Object Expected Error</title><category>ASP.NET</category><category>Tips&amp;Tricks</category><category>ASP.NET AJAX</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/V_v4cNPBgYI/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx</link><pubDate>Fri, 10 May 2013 06:01:43 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dotNETvinz/archive/2013/05/10/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx</guid><wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/152915.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/152915.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dotNETvinz/archive/2013/05/10/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/152915.aspx</trackback:ping><source url="http://geekswithblogs.net/dotNETvinz/rss.aspx">Vinz'  Blog (ProudMonkey)</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/dotNETvinz/archive/2013/05/10/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx'&gt;http://geekswithblogs.net/dotNETvinz/archive/2013/05/10/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx&lt;/a&gt;&lt;/p&gt;If you are working with ASP.NET AJAX controls and encounter "Object Expected" error when using ValidationSummary and ModalPopup. The quick fix for this is to put your ModalPopup declaration at the top before any ValidationSummary controls in your page.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's it! I hope someone find this post useful!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/152915.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/V_v4cNPBgYI" height="1" width="1"/&gt;</description><dc:creator>Vincent Maverick Durano</dc:creator><feedburner:origLink>http://geekswithblogs.net/dotNETvinz/archive/2013/05/10/tip-of-the-day---modal-popup-and-validationsummary-controls.aspx</feedburner:origLink></item><item><title>Chrome Responsive Inspector extension</title><category>RWD</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PhXDLFJe6aI/chrome-responsive-inspector-extension.aspx</link><pubDate>Fri, 10 May 2013 01:42:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ihaynes/archive/2013/05/09/chrome-responsive-inspector-extension.aspx</guid><wfw:comment>http://geekswithblogs.net/ihaynes/comments/152914.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ihaynes/comments/commentRss/152914.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ihaynes/archive/2013/05/09/chrome-responsive-inspector-extension.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ihaynes/services/trackbacks/152914.aspx</trackback:ping><source url="http://geekswithblogs.net/ihaynes/rss.aspx">expression(web.blog)</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ihaynes/archive/2013/05/09/chrome-responsive-inspector-extension.aspx'&gt;http://geekswithblogs.net/ihaynes/archive/2013/05/09/chrome-responsive-inspector-extension.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Adobe developers Piotr Walczyszyzn and Filip Lysyzyn have released a beta of their Responsive Inspector extension for Chrome.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;This cool tool allows you to view the media queries on a responsive web page and see them in action as you resize the page. It shows the media query currently applied, the name of the stylesheet it's on, and lets you view the stylsheet. Plus it allows pixel-perfect resizing and allows you to take screen shots.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;There's demo video on Piotrs blog. &lt;/font&gt;&lt;a href="http://outof.me/responsive-inspector-beta-released/" target="_blank"&gt;&lt;font face="Tahoma" size="2"&gt;http://outof.me/responsive-inspector-beta-released/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ihaynes/aggbug/152914.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PhXDLFJe6aI" height="1" width="1"/&gt;</description><dc:creator>ihaynes</dc:creator><feedburner:origLink>http://geekswithblogs.net/ihaynes/archive/2013/05/09/chrome-responsive-inspector-extension.aspx</feedburner:origLink></item><item><title>PowerShell function to create a password protected zip file</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/gInGV9f-4PE/powershell-function-to-create-a-password-protected-zip-file.aspx</link><pubDate>Thu, 09 May 2013 17:45:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2013/05/09/powershell-function-to-create-a-password-protected-zip-file.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/152913.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/152913.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2013/05/09/powershell-function-to-create-a-password-protected-zip-file.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/152913.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Daniel Schroeder</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/deadlydog/archive/2013/05/09/powershell-function-to-create-a-password-protected-zip-file.aspx'&gt;http://geekswithblogs.net/deadlydog/archive/2013/05/09/powershell-function-to-create-a-password-protected-zip-file.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;There are &lt;a href="http://stackoverflow.com/questions/1153126/how-to-create-a-zip-archive-with-powershell"&gt;a few different ways to create zip files in powershell&lt;/a&gt;, but not many that allow you to create one that is password protected.  I found &lt;a href="http://community.spiceworks.com/topic/263947-powershell-7-zip-password-protected-zip"&gt;this post that shows how to do it using 7zip&lt;/a&gt;, so I thought I would share my modified solution.&lt;/p&gt;  &lt;p&gt;Here is the function I wrote that uses 7zip to perform the zip, and 7zip supports using a password to zip the files.&lt;/p&gt;  &lt;p&gt;Read more at &lt;a href="http://blog.danskingdom.com/powershell-function-to-create-a-password-protected-zip-file/" title="https://deadlydog.wordpress.com/2013/05/09/powershell-function-to-create-a-password-protected-zip-file/"&gt;http://blog.danskingdom.com/powershell-function-to-create-a-password-protected-zip-file/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/152913.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/gInGV9f-4PE" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2013/05/09/powershell-function-to-create-a-password-protected-zip-file.aspx</feedburner:origLink></item><item><title>ADMT – How to migrate users and computers from domain to the other</title><category>ActiveDirectory</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/N5wq0Rb2Liw/admt--how-to-migrate-users-and-computers-from-domain.aspx</link><pubDate>Thu, 09 May 2013 08:57:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Wchrabaszcz/archive/2013/05/09/admt--how-to-migrate-users-and-computers-from-domain.aspx</guid><wfw:comment>http://geekswithblogs.net/Wchrabaszcz/comments/152910.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Wchrabaszcz/comments/commentRss/152910.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Wchrabaszcz/archive/2013/05/09/admt--how-to-migrate-users-and-computers-from-domain.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/Wchrabaszcz/services/trackbacks/152910.aspx</trackback:ping><source url="http://geekswithblogs.net/Wchrabaszcz/rss.aspx">Waclaw Chrabaszcz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Wchrabaszcz/archive/2013/05/09/admt--how-to-migrate-users-and-computers-from-domain.aspx'&gt;http://geekswithblogs.net/Wchrabaszcz/archive/2013/05/09/admt--how-to-migrate-users-and-computers-from-domain.aspx&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;As a first step you should prepare SQL server within destination domain, and install ADMT on server within destination domain. I am going to use Domain Controller for this role, what might not be a best practice. In production env DC  should remain untouched. SQL 2005 Express SP3  is recommended for this build.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom1.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Then we have to create DNS conditional forwarding to source domain&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom2.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Choose what you want to migrate&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom3.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Select Source and destination domain and  DC&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom4.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;&lt;div&gt;Select users you are going to migrate&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom5.png" alt="" /&gt;&lt;br /&gt;
			&lt;/div&gt;&lt;p&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom6.png" alt="" /&gt;
			&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;Select target OU&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom7.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Migrate old passwords&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom8.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;And what is the most important migrate SID history&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom9.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;You can migrate related groups as well&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom10.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Or skip some account properties&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom11.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;Conflict handling&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom12.png" alt="" /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/050913_1357_ADMTHowtom13.png" alt="" /&gt;
			&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;img src="http://geekswithblogs.net/Wchrabaszcz/aggbug/152910.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/N5wq0Rb2Liw" height="1" width="1"/&gt;</description><dc:creator>Waclaw Chrabaszcz</dc:creator><feedburner:origLink>http://geekswithblogs.net/Wchrabaszcz/archive/2013/05/09/admt--how-to-migrate-users-and-computers-from-domain.aspx</feedburner:origLink></item><item><title>Exchange 2010: Generating test data for your lab environment</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/9CaZcLryeqY/exchange-2010-generating-test-data-for-your-lab-environment.aspx</link><pubDate>Thu, 09 May 2013 07:04:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-generating-test-data-for-your-lab-environment.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/152908.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/152908.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-generating-test-data-for-your-lab-environment.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/152908.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">I, Computer</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-generating-test-data-for-your-lab-environment.aspx'&gt;http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-generating-test-data-for-your-lab-environment.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As an addition on populating this post gives an easy way to create test data in your lab:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.mikepfeiffer.net/2010/04/generating-test-email-data-for-exchange-labs-with-powershell/" href="http://www.mikepfeiffer.net/2010/04/generating-test-email-data-for-exchange-labs-with-powershell/"&gt;http://www.mikepfeiffer.net/2010/04/generating-test-email-data-for-exchange-labs-with-powershell/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/152908.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/9CaZcLryeqY" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-generating-test-data-for-your-lab-environment.aspx</feedburner:origLink></item><item><title>Exchange 2010: Populating your test environment with users</title><category>Exchange</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Pypxv3Nrtng/exchange-2010-populating-your-test-environment-with-users.aspx</link><pubDate>Thu, 09 May 2013 07:03:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-populating-your-test-environment-with-users.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/152907.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/152907.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-populating-your-test-environment-with-users.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/152907.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">I, Computer</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-populating-your-test-environment-with-users.aspx'&gt;http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-populating-your-test-environment-with-users.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I came across this article and it is pretty easy and decent!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.mikepfeiffer.net/2010/03/populating-exchange-labs-with-mailboxes-using-powershell/" href="http://www.mikepfeiffer.net/2010/03/populating-exchange-labs-with-mailboxes-using-powershell/"&gt;http://www.mikepfeiffer.net/2010/03/populating-exchange-labs-with-mailboxes-using-powershell/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/152907.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Pypxv3Nrtng" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2013/05/09/exchange-2010-populating-your-test-environment-with-users.aspx</feedburner:origLink></item><item><title>PowerShell Format Idiosyncrasy</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/cCPopuNrZCY/powershell-format-idiosyncrasy.aspx</link><pubDate>Thu, 09 May 2013 05:40:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/PointsToShare/archive/2013/05/09/powershell-format-idiosyncrasy.aspx</guid><wfw:comment>http://geekswithblogs.net/PointsToShare/comments/152912.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/PointsToShare/comments/commentRss/152912.aspx</wfw:commentRss><comments>http://geekswithblogs.net/PointsToShare/archive/2013/05/09/powershell-format-idiosyncrasy.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/PointsToShare/services/trackbacks/152912.aspx</trackback:ping><source url="http://geekswithblogs.net/PointsToShare/rss.aspx">Points To Share</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/PointsToShare/archive/2013/05/09/powershell-format-idiosyncrasy.aspx'&gt;http://geekswithblogs.net/PointsToShare/archive/2013/05/09/powershell-format-idiosyncrasy.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here is a piece of code I tested for the conversion of the numbers 0 thru 99 into 20 strings of exactly 2 digits. The first is 04, the next 09, then 14,19,24,29, etc. all the way to 94, 99.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;The code: &lt;/b&gt;&lt;font color="#ff0000"&gt;"{0:D2}" -f $d&lt;/font&gt; formats each number to exactly 2 digits.&lt;/p&gt;  &lt;p&gt;The &lt;font color="#ff0000"&gt;$i&lt;/font&gt; used in the “for” loop is interpreted by PowerShell – it automatically assigns it to a float. So when dividing by 5, we get fractions. I needed it to be whole numbers, hence the [&lt;font color="#ff0000"&gt;math]::floor($i/5).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#4bacc6"&gt;cls&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;for ($i = 0; $i -lt 100; $i++)   &lt;br /&gt;{    &lt;br /&gt;    $n = [math]::floor($i/5)    &lt;br /&gt;    $d = $n * 5 + 4    &lt;br /&gt;    "{0:D2}" -f $d    &lt;br /&gt;}    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;I erroneously assumed that the result $d will be formattable &lt;font color="#ff0000"&gt;("{0:D2}" -f $i&lt;/font&gt; renders the desired result), alas this results in the following error:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;Error formatting a string: Format specifier was invalid..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;At E:\HA\testformat.ps1:6 char:2&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;+ "{0:D2}" -f $d&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;+ ~~~~~~~~~~~~~~&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;+ CategoryInfo : InvalidOperation: ({0:D2}:String) [], RuntimeException&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;+ FullyQualifiedErrorId : FormatError&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I tried all sorts of things, but the error was persistent, then I tried coercing – the PowerShell term for casting. I used [&lt;font color="#4bacc6"&gt;float&lt;/font&gt;] and [&lt;font color="#4bacc6"&gt;decimal&lt;/font&gt;] to no avail, but my 3&lt;sup&gt;rd&lt;/sup&gt; (and obviously last*) attempt was [&lt;font color="#4bacc6"&gt;int&lt;/font&gt;] and it worked. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;cls&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;for ($i = 0; $i -lt 100; $i++)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;$n = [math]::floor($i/5)&lt;/p&gt;  &lt;p&gt;[int]$d = $n * 5 + 4&lt;/p&gt;  &lt;p&gt;"{0:D2}" -f $d&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;Generated the desired results.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#0000ff"&gt;* Why is it that we always find what we look for in the VERY LAST place we looked?&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;That’s all Folks&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/PointsToShare/aggbug/152912.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/cCPopuNrZCY" height="1" width="1"/&gt;</description><dc:creator>PointsToShare</dc:creator><feedburner:origLink>http://geekswithblogs.net/PointsToShare/archive/2013/05/09/powershell-format-idiosyncrasy.aspx</feedburner:origLink></item><item><title>BizTalk Server 2010 - Add New Item Schema Missing in Visual Studio</title><category>BizTalk Administration and Troubleshooting</category><category>BizTalk Infrastructure and Installation</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vqna5v9DqG0/152902.aspx</link><pubDate>Thu, 09 May 2013 02:45:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/StuartBrierley/archive/2013/05/09/152902.aspx</guid><wfw:comment>http://geekswithblogs.net/StuartBrierley/comments/152902.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/StuartBrierley/comments/commentRss/152902.aspx</wfw:commentRss><comments>http://geekswithblogs.net/StuartBrierley/archive/2013/05/09/152902.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/StuartBrierley/services/trackbacks/152902.aspx</trackback:ping><source url="http://geekswithblogs.net/StuartBrierley/rss.aspx">Stuart Brierley</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/StuartBrierley/archive/2013/05/09/152902.aspx'&gt;http://geekswithblogs.net/StuartBrierley/archive/2013/05/09/152902.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I recently encountered an issue when developing a BizTalk Server 2010 solution using Visual Studio 2010.  When selecting to add a new item to a project, the schema item was missing in the Visual Studio dialog box:&lt;/p&gt;&lt;p&gt;&lt;img id="ctl00_pageContent_Editor_Edit_ctl00_uploadedImg" title="Add New Item Ok_-962157248.png" src="https://gwb.blob.core.windows.net/stuartbrierley/BizTalk-2010---Add-New-Item-Schema-Missing-in-Visual-Studio_152902/Add%20New%20Item%20Ok_-962157248.png" width="662" height="530" /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;I fixed this issue by repairing the Visual Studio 2010 installation as follows:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Open Control Panel and select Programs and Features&lt;/li&gt;&lt;li&gt;Find the listing for the edition of Visual Studio you are having a problem with and select it.&lt;/li&gt;&lt;li&gt;Select to Uninstall/Change from the top of the program listing.&lt;/li&gt;&lt;li&gt;In the Visual Studio Setup Wizard, select Repair/Reinstall and then select next.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img id="ctl00_pageContent_Editor_Edit_ctl02_uploadedImg" title="Repair VS_861302720.png" src="https://gwb.blob.core.windows.net/stuartbrierley/BizTalk-2010---Add-New-Item-Schema-Missing-in-Visual-Studio_152902/Repair%20VS_861302720.png" width="663" height="558" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You may be prompted to restart you computer to complete the installation.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;img id="ctl00_pageContent_Editor_Edit_ctl04_uploadedImg" title="VS Restart_2126349568.png" src="https://gwb.blob.core.windows.net/stuartbrierley/BizTalk-2010---Add-New-Item-Schema-Missing-in-Visual-Studio_152902/VS%20Restart_2126349568.png" width="657" height="504" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Follow any instructions until the Wizard completes and then select finish.  In my case I had an error related to SQL Server Compact Edition, but this is not installed when developing for BizTalk and is an optional component:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img id="ctl00_pageContent_Editor_Edit_ctl03_uploadedImg" title="VS Completed_889880000.png" src="https://gwb.blob.core.windows.net/stuartbrierley/BizTalk-2010---Add-New-Item-Schema-Missing-in-Visual-Studio_152902/VS%20Completed_889880000.png" width="664" height="559" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Once the Repair process was completed the option to add a BizTalk  schema in Visual Studio was once again available:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img id="ctl00_pageContent_Editor_Edit_ctl00_uploadedImg" title="Add New Item Ok_-962157248.png" src="https://gwb.blob.core.windows.net/stuartbrierley/BizTalk-2010---Add-New-Item-Schema-Missing-in-Visual-Studio_152902/Add%20New%20Item%20Ok_-962157248.png" width="669" height="566" /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/StuartBrierley/aggbug/152902.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vqna5v9DqG0" height="1" width="1"/&gt;</description><dc:creator>Stuart Brierley</dc:creator><feedburner:origLink>http://geekswithblogs.net/StuartBrierley/archive/2013/05/09/152902.aspx</feedburner:origLink></item><item><title>Nokia Developer Ambassador Bill Reiss and Big Southeast Nokia Ambassador Giveaway</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/btCnMROdFTM/152909.aspx</link><pubDate>Thu, 09 May 2013 02:32:16 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/campuskoder/archive/2013/05/09/152909.aspx</guid><wfw:comment>http://geekswithblogs.net/campuskoder/comments/152909.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/campuskoder/comments/commentRss/152909.aspx</wfw:commentRss><comments>http://geekswithblogs.net/campuskoder/archive/2013/05/09/152909.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/campuskoder/services/trackbacks/152909.aspx</trackback:ping><source url="http://geekswithblogs.net/campuskoder/rss.aspx">Nikita Polyakov</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/campuskoder/archive/2013/05/09/152909.aspx'&gt;http://geekswithblogs.net/campuskoder/archive/2013/05/09/152909.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I am happy to say that one of my good friends, not only to me but to our entire developer community, is &lt;a href="https://twitter.com/billreiss"&gt;Bill Reiss&lt;/a&gt;. Clearly I am not the only one that noticed and Nokia has awarded him with &lt;a href="http://www.billreiss.com/im-the-newest-nokia-developer-ambassador/"&gt;Nokia Developer Ambassador&lt;/a&gt; title for Southeast US region. This will empower Bill to help Developers ever more. Join me in congratulating Bill in his achievement. &lt;/p&gt;  &lt;p&gt;If you are in Alabama, North Carolina, South Carolina, Georgia, or Florida there is a great giveaway for writing a Windows Phone app waiting for you - more details here: &lt;a title="http://www.billreiss.com/big-southeast-nokia-ambassador-giveaway/" href="http://www.billreiss.com/big-southeast-nokia-ambassador-giveaway/"&gt;http://www.billreiss.com/big-southeast-nokia-ambassador-giveaway/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/campuskoder/aggbug/152909.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/btCnMROdFTM" height="1" width="1"/&gt;</description><dc:creator>Nikita Polyakov</dc:creator><feedburner:origLink>http://geekswithblogs.net/campuskoder/archive/2013/05/09/152909.aspx</feedburner:origLink></item><item><title>New Syncfusion 'Succinctly iOS' e-Book</title><category>iOS</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Qb_lzSm1kC4/new-syncfusion-succinctly-ios-ebook.aspx</link><pubDate>Thu, 09 May 2013 05:13:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ihaynes/archive/2013/05/08/new-syncfusion-succinctly-ios-ebook.aspx</guid><wfw:comment>http://geekswithblogs.net/ihaynes/comments/152906.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ihaynes/comments/commentRss/152906.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ihaynes/archive/2013/05/08/new-syncfusion-succinctly-ios-ebook.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ihaynes/services/trackbacks/152906.aspx</trackback:ping><source url="http://geekswithblogs.net/ihaynes/rss.aspx">expression(web.blog)</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ihaynes/archive/2013/05/08/new-syncfusion-succinctly-ios-ebook.aspx'&gt;http://geekswithblogs.net/ihaynes/archive/2013/05/08/new-syncfusion-succinctly-ios-ebook.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;I mentioned a while back the excellent 'Succinctly' series of free eBooks by Syncfusion. Well there's a new one, 'iOS Succinctly' written as a companion to 'Objectice-C Succinctly'. Both excellent resources for a fast way to get started with iOS development.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Details and download from &lt;/font&gt;&lt;a href="http://www.syncfusion.com/resources/techportal/ebooks/ios" target="_blank"&gt;&lt;font face="Tahoma" size="2"&gt;http://www.syncfusion.com/resources/techportal/ebooks/ios&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ihaynes/aggbug/152906.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Qb_lzSm1kC4" height="1" width="1"/&gt;</description><dc:creator>ihaynes</dc:creator><feedburner:origLink>http://geekswithblogs.net/ihaynes/archive/2013/05/08/new-syncfusion-succinctly-ios-ebook.aspx</feedburner:origLink></item><item><title>Windows 8.1 Start Button - Again</title><category>Windows 8</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/4AhPXEJB07I/windows-8.1-start-button---again.aspx</link><pubDate>Thu, 09 May 2013 02:21:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ihaynes/archive/2013/05/08/windows-8.1-start-button---again.aspx</guid><wfw:comment>http://geekswithblogs.net/ihaynes/comments/152900.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ihaynes/comments/commentRss/152900.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ihaynes/archive/2013/05/08/windows-8.1-start-button---again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ihaynes/services/trackbacks/152900.aspx</trackback:ping><source url="http://geekswithblogs.net/ihaynes/rss.aspx">expression(web.blog)</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ihaynes/archive/2013/05/08/windows-8.1-start-button---again.aspx'&gt;http://geekswithblogs.net/ihaynes/archive/2013/05/08/windows-8.1-start-button---again.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;To quote from an article on the UK PC Pro site:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Julie Larson-Green, corporate vice-president for Windows, revealed that  Windows Blue will arrive as a "public preview" at Microsoft's Build conference,  which starts 26 June. While Build is targeted at developers, the public preview  will be available to anyone with Windows 8, according to &lt;/font&gt;&lt;a title="ZDNet" href="http://www.zdnet.com/microsoft-confirms-public-preview-of-windows-blue-in-late-june-7000015026/" target="_blank"&gt;&lt;font face="Tahoma" size="2"&gt;ZDNet&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;She also revealed Microsoft was having "meaningful discussions" about whether  to bring back the Start button, but said the company remained fully behind the  Start screen with live tiles. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;"The Start menu was never built for a lot of applications," Larson-Green  said, according to &lt;/font&gt;&lt;a title="CNet" href="http://news.cnet.com/8301-10805_3-57583271-75/windows-start-button-could-make-a-comeback-microsoft-exec-says/" target="_blank"&gt;&lt;font face="Tahoma" size="2"&gt;CNet&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt;.  "The Start menu is not the be-all end-all. But a button might be useful for some  people to have on the screen."&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;The full article at &lt;a href="http://www.pcpro.co.uk/news/380713/windows-blue-8-1-release-date-screenshots-features" target="_blank"&gt;http://www.pcpro.co.uk/news/380713/windows-blue-8-1-release-date-screenshots-features&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;font face="Tahoma" size="2"&gt;So, the Start Button was never built for a lot of applications! &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Well, if the MS Windows Team haven't noticed, it works far better for a lot of applications that the 'Modern' tiled start screen. &lt;/font&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/ihaynes/aggbug/152900.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/4AhPXEJB07I" height="1" width="1"/&gt;</description><dc:creator>ihaynes</dc:creator><feedburner:origLink>http://geekswithblogs.net/ihaynes/archive/2013/05/08/windows-8.1-start-button---again.aspx</feedburner:origLink></item><item><title>Increasing the number of lists a Content Query Webpart can enumerate through</title><category>SharePoint 2010</category><category>CQWP</category><category>Content Query WebPart</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/a-NLei14tUw/increasing-the-number-of-lists-a-content-query-webpart-can.aspx</link><pubDate>Wed, 08 May 2013 07:01:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/simonh/archive/2013/05/08/increasing-the-number-of-lists-a-content-query-webpart-can.aspx</guid><wfw:comment>http://geekswithblogs.net/simonh/comments/152896.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/simonh/comments/commentRss/152896.aspx</wfw:commentRss><comments>http://geekswithblogs.net/simonh/archive/2013/05/08/increasing-the-number-of-lists-a-content-query-webpart-can.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/simonh/services/trackbacks/152896.aspx</trackback:ping><source url="http://geekswithblogs.net/simonh/rss.aspx">Simon's blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/simonh/archive/2013/05/08/increasing-the-number-of-lists-a-content-query-webpart-can.aspx'&gt;http://geekswithblogs.net/simonh/archive/2013/05/08/increasing-the-number-of-lists-a-content-query-webpart-can.aspx&lt;/a&gt;&lt;/p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 
  
 
&lt;/xml&gt;&lt;![endif]--&gt;



&lt;div&gt;

&lt;b&gt;&lt;font face="Verdana" size="3"&gt;Issue:

&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;

&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;By default the Content Query WebPart can only
enumerate through 1000 lists/libraries/etc, this is for performance reasons, if
this amount is increased too far, then the SQL server can experience issues
responding.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;div&gt;&lt;font face="Verdana" size="2"&gt;

&lt;font size="3"&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;To increase the number, the CQWP needs to be edited, as usual with customising webparts as well as pretty much any OOB features in SharePoint, it is best to take a copy of the existing webpart and create a new one.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;To do this:&lt;br /&gt;1.    Add the CQWP to a webpart page and from the small dropdown menu on the webpart&lt;font size="2"&gt;;&lt;/font&gt; choose &lt;b&gt;Export&lt;/b&gt;, save it somewhere on either your local disk or a fileshare,&lt;br /&gt;2.    Open the .webpart file in an XML editor and search for:&lt;br /&gt;&lt;font size="2"&gt;          &lt;/font&gt; &amp;lt;property name="ListsOverride" type="string"/&amp;gt;&lt;br /&gt;3.    Change to:&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;           &amp;lt;property name="ListsOverride" type="string"&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;           &amp;lt;![CDATA[&amp;lt;Lists Servertemplate="XXX" MaxListLimit="YYYY"&amp;gt;&amp;lt;/Lists&amp;gt;]]&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;           &amp;lt;/property&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;Where XXX is the list template number (see below) and YYYY is the maximum number of lists to go through.  This maximum should be increased only to the point at which the webpart functions as too large a number can have a negative impact on performance.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;4.    Save the new webpart with a meaningful such as &lt;b&gt;Content Query High List Numbers.webpart&lt;/b&gt;&lt;br /&gt;5.    Go to the page where you want to add the new webpart, click &lt;b&gt;Editing Tools&lt;/b&gt; &amp;gt; &lt;b&gt;Insert&lt;/b&gt; &amp;gt; &lt;b&gt;Web Part&lt;/b&gt;.  Click &lt;b&gt;Upload a Web Part&lt;/b&gt; beneath the &lt;b&gt;Categories&lt;/b&gt;, navigate to and select your new webpart.&lt;br /&gt;6.    Click &lt;b&gt;Add&lt;/b&gt;, select the correct Content and item type as you would with any Content Query WebPart.  The rest of the options should be select as usual including Filtering and Grouping.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;Ideally attempts should be made to reduce the number of lists/libraries that this webpart has to enumerate through, increasing this limit should really be a temporary fix rather than a long term solution, the more lists/libraries the webpart has to go through the more work the SQL server has to perform.&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;font face="Verdana"&gt;SharePoint 2010 List Type Codes:&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;font face="Verdana" size="2"&gt;&lt;br /&gt;100 Generic list&lt;br /&gt;
101 Document library&lt;br /&gt;
102 Survey&lt;br /&gt;
103 Links list&lt;br /&gt;
104 Announcements list&lt;br /&gt;
105 Contacts list&lt;br /&gt;
106 Events list&lt;br /&gt;
107 Tasks list&lt;br /&gt;
108 Discussion board&lt;br /&gt;
109 Picture library&lt;br /&gt;
110 Data sources&lt;br /&gt;
111 Site template gallery&lt;br /&gt;
112 User Information list&lt;br /&gt;
113 Web Part gallery&lt;br /&gt;
114 List template gallery&lt;br /&gt;
115 XML Form library&lt;br /&gt;
116 Master pages gallery&lt;br /&gt;
117 No-Code Workflows&lt;br /&gt;
118 Custom Workflow Process&lt;br /&gt;
119 Wiki Page library&lt;br /&gt;
120 Custom grid for a list&lt;br /&gt;
130 Data Connection library&lt;br /&gt;
140 Workflow History&lt;br /&gt;
150 Gantt Tasks list&lt;br /&gt;
200 Meeting Series list&lt;br /&gt;
201 Meeting Agenda list&lt;br /&gt;
202 Meeting Attendees list&lt;br /&gt;
204 Meeting Decisions list&lt;br /&gt;
207 Meeting Objectives list&lt;br /&gt;
210 Meeting text box&lt;br /&gt;
211 Meeting Things To Bring list&lt;br /&gt;
212 Meeting Workspace Pages list&lt;br /&gt;
300 Portal Sites list&lt;br /&gt;
301 Blog Posts list&lt;br /&gt;
302 Blog Comments list&lt;br /&gt;
303 Blog Categories list&lt;br /&gt;
850 Page Library&lt;br /&gt;
1100 Issue tracking&lt;br /&gt;
1200 Administrator tasks list&lt;br /&gt;
2002 Personal document library&lt;br /&gt;
2003 Private document library 

&lt;/font&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
   &lt;w:UseFELayout/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;

 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:105%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-fareast-language:EN-US;}

&lt;![endif]--&gt; &lt;img src="http://geekswithblogs.net/simonh/aggbug/152896.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/a-NLei14tUw" height="1" width="1"/&gt;</description><dc:creator>simonh</dc:creator><feedburner:origLink>http://geekswithblogs.net/simonh/archive/2013/05/08/increasing-the-number-of-lists-a-content-query-webpart-can.aspx</feedburner:origLink></item><item><title>Blogging Withdrawal</title><category>Misc</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PsbRJVdCTZE/blogging-withdrawal.aspx</link><pubDate>Wed, 08 May 2013 05:44:50 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2013/05/08/blogging-withdrawal.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/152898.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/152898.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2013/05/08/blogging-withdrawal.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/152898.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Tim Murphy's .NET Software Architecture Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/tmurphy/archive/2013/05/08/blogging-withdrawal.aspx'&gt;http://geekswithblogs.net/tmurphy/archive/2013/05/08/blogging-withdrawal.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Did you know that blogging is a drug and that if you go too long without posting something you actually go into withdrawal?  It turns out to be the case, at least for me.  Whatever the excuse may be, when I go for a long stretch without a significant topic posted I feel anxious, almost as if I had abandoned my child.&lt;/p&gt;  &lt;p&gt;Lately the IT consulting business has been so busy it just doesn’t leave much time to blog.  Working a full day at one client and then doing support work for others in the evening is seems to be the norm lately.  I figured it was time to at least put together an off topic post like this to break up the routine.&lt;/p&gt;  &lt;p&gt;Blogging for me is both an writing outlet while also allowing me to document my work and give others a place to learn from my experiences.  Stay tuned here while I try to find some cracks of time to post some content of value.&lt;/p&gt;  &lt;div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8aa935db-3429-4a2d-bada-9a0a41fb842b" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/blogging" rel="tag"&gt;blogging&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/152898.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PsbRJVdCTZE" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2013/05/08/blogging-withdrawal.aspx</feedburner:origLink></item><item><title>jQuery 1.9.1+ Ajax Post is Failing even though it has a 200 Status</title><category>JavaScript</category><category>jQuery</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/FdatI4B3_hQ/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx</link><pubDate>Wed, 08 May 2013 02:41:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/152897.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152897.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152897.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I’m using my &lt;a href="http://geekswithblogs.net/Aligned/archive/2013/04/12/dataservice-and-ajaxservice.aspx" target="_blank"&gt;DataService and AjaxService for JavaScript&lt;/a&gt; and upgraded to jQuery 1.9.1. One of my post methods, which was working before, started hitting the deferred fail, instead of the deferred’s done, even though the status code was 200. This method is not returning any JSON to the caller. The &lt;a href="http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string" target="_blank"&gt;1.9 upgrade guide&lt;/a&gt; states “Prior to 1.9, an ajax call that expected a return data type of JSON or JSONP would consider a return value of an empty string to be a success case, but return a null to the success handler or promise. As of 1.9, an empty string returned for JSON data is considered to be malformed JSON (because it is); this will now throw an error. Use the error handler to catch such cases.”. This &lt;a href="http://forum.jquery.com/topic/jquery-calls-error-callback-on-successful-ajax-request-status-200" target="_blank"&gt;question on the forums&lt;/a&gt; lead me to the upgrade guide and “Identifier” says to return a 204 instead. I change my WebApi method to return a 204 and now it’s working again.&lt;/p&gt;  &lt;p&gt;I now am using return this.Request.CreateResponse(HttpStatusCode.NoContent);&lt;/p&gt;  &lt;p&gt;Here’s the method:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;[System.Web.Mvc.HttpPost]
&lt;span class="kwrd"&gt;public&lt;/span&gt; HttpResponseMessage UpdateAlias(JObject jsonData)
{
    &lt;span class="rem"&gt;// http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling&lt;/span&gt;
    &lt;span class="rem"&gt;// http://www.west-wind.com/weblog/posts/2012/May/08/Passing-multiple-POST-parameters-to-Web-API-Controller-Methods&lt;/span&gt;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; assetId = 0;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; userId = 0;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; alias = &lt;span class="kwrd"&gt;string&lt;/span&gt;.Empty;
    &lt;span class="kwrd"&gt;try&lt;/span&gt;
    {
        assetId = jsonData[&lt;span class="str"&gt;"AssetId"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();
        userId = jsonData[&lt;span class="str"&gt;"UserId"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();
        alias = jsonData[&lt;span class="str"&gt;"Alias"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;&amp;gt;();
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (assetId == 0)
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"Asset Id is required."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (userId == 0)
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"User Id is required."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrWhiteSpace(alias))
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"Alias is required and cannot be empty."&lt;/span&gt;);
        }
        
        &lt;span class="rem"&gt;// more code here…&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;        // notice the noContent&lt;/span&gt;
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Request.CreateResponse(HttpStatusCode.NoContent);
    }
    &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)
    {
        &lt;span class="kwrd"&gt;this&lt;/span&gt;._logger.Warn(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"Error in UpdateAlias assetId:{0}, userId:{1}, new alias: {2}"&lt;/span&gt;, assetId, userId, alias), ex);
        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; HttpResponseException(&lt;span class="kwrd"&gt;new&lt;/span&gt; HttpResponseMessage
                                        {
                                            StatusCode = HttpStatusCode.InternalServerError,
                                            Content = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringContent(&lt;span class="str"&gt;"Error!"&lt;/span&gt;)
                                        });
    }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152897.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/FdatI4B3_hQ" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx</feedburner:origLink></item><item><title>Semantic Versioning</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/4h4Gc_T_0eg/semantic-versioning.aspx</link><pubDate>Wed, 08 May 2013 00:24:08 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/152894.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/152894.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/152894.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">TFS Austin Agile SCM Talk</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In a discussion about software product versioning, the post on &lt;a href="http://semver.org/"&gt;&lt;font color="#0000ff"&gt;Semantic Versioning&lt;/font&gt;&lt;/a&gt; came up. I found the essay to reflect commonly recognized best practices. However, the value of the essay is in the concise and rigorous rules for incrementing version numbers.  &lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/152894.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/4h4Gc_T_0eg" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx</feedburner:origLink></item><item><title>.NET Security Part 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/88x6gvVfJZ0/.net-security-part-2.aspx</link><pubDate>Tue, 07 May 2013 09:15:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/simonc/archive/2013/05/07/.net-security-part-2.aspx</guid><wfw:comment>http://geekswithblogs.net/simonc/comments/152885.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/simonc/comments/commentRss/152885.aspx</wfw:commentRss><comments>http://geekswithblogs.net/simonc/archive/2013/05/07/.net-security-part-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/simonc/services/trackbacks/152885.aspx</trackback:ping><source url="http://geekswithblogs.net/simonc/rss.aspx">Simon Cooper</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/simonc/archive/2013/05/07/.net-security-part-2.aspx'&gt;http://geekswithblogs.net/simonc/archive/2013/05/07/.net-security-part-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So, how do you create partial-trust appdomains? Where do you come across them?&lt;/p&gt;
&lt;p&gt;There are two main situations in which your assembly runs as partially-trusted using the Microsoft .NET stack:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Creating a CLR assembly in SQL Server with anything other than the &lt;code&gt;UNSAFE&lt;/code&gt; permission set. The permissions available in each permission set are given &lt;a href="http://msdn.microsoft.com/en-us/library/ms345101.aspx"&gt;here&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;Loading an assembly in ASP.NET in any trust level other than Full. Information on ASP.NET trust levels can be found &lt;a href="http://msdn.microsoft.com/en-us/library/wyts434y.aspx"&gt;here&lt;/a&gt;. You can configure the specific permissions available to assemblies using ASP.NET policy files.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alternatively, you can create your own partially-trusted appdomain in code and directly control the permissions and the full-trust API available to the assemblies you load into the appdomain. This is the scenario I'll be concentrating on in this post.&lt;/p&gt;

&lt;h4&gt;Creating a partially-trusted appdomain&lt;/h4&gt;
&lt;p&gt;There is a single overload of &lt;code&gt;AppDomain.CreateDomain&lt;/code&gt; that allows you to specify the permissions granted to assemblies in that appdomain - &lt;a href="http://msdn.microsoft.com/en-us/library/ms130766.aspx"&gt;this one&lt;/a&gt;. This is the only call that allows you to specify a &lt;code&gt;PermissionSet&lt;/code&gt; for the domain. All the other calls simply use the permissions of the calling code. If the permissions are restricted, then the resulting appdomain is referred to as a &lt;em&gt;sandboxed&lt;/em&gt; domain.&lt;/p&gt;
&lt;p&gt;There are three things you need to create a sandboxed domain:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;The specific permissions granted to all assemblies in the domain.&lt;/li&gt;
	&lt;li&gt;The application base (aka working directory) of the domain.&lt;/li&gt;
	&lt;li&gt;The list of assemblies that have full-trust if they are loaded into the sandboxed domain.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The third item is what allows us to have a fully-trusted API that is callable by partially-trusted code. I'll be looking at the details of this in a later post.&lt;/p&gt;

&lt;h4&gt;Granting permissions to the appdomain&lt;/h4&gt;
&lt;p&gt;Firstly, the permissions granted to the appdomain. This is encapsulated in a &lt;a href="http://msdn.microsoft.com/en-us/library/system.security.permissionset.aspx"&gt;PermissionSet&lt;/a&gt; object, initialized either with no permissions or full-trust permissions. For sandboxed appdomains, the PermissionSet is initialized with no permissions, then you add permissions you want assemblies loaded into that appdomain to have by default:&lt;/p&gt;

&lt;pre&gt;PermissionSet restrictedPerms = new PermissionSet(PermissionState.None);

// all assemblies need Execution permission to run at all
restrictedPerms.AddPermission(
    new SecurityPermission(SecurityPermissionFlag.Execution));

// grant general read access to C:\config.xml
restrictedPerms.AddPermission(
    new FileIOPermission(FileIOPermissionAccess.Read, @"C:\config.xml"));

// grant permission to perform DNS lookups
restrictedPerms.AddPermission(
    new DnsPermission(PermissionState.Unrestricted));&lt;/pre&gt;
&lt;p&gt;It's important to point out that the permissions granted to an appdomain, and so to all assemblies loaded into that appdomain, are usable without needing to go through any SafeCritical code (see my last post if you're unsure what SafeCritical code is). That is, partially-trusted code loaded into an appdomain with the above permissions (and so running under the Transparent security level) is able to create and manipulate a &lt;code&gt;FileStream&lt;/code&gt; object to read from C:\config.xml directly. It is only for operations requiring permissions that are &lt;em&gt;not&lt;/em&gt; granted to the appdomain that partially-trusted code is required to call a SafeCritical method that then asserts the missing permissions and performs the operation safely on behalf of the partially-trusted code.&lt;/p&gt;

&lt;h4&gt;The application base of the domain&lt;/h4&gt;
&lt;p&gt;This is simply set as a property on an &lt;code&gt;AppDomainSetup&lt;/code&gt; object, and is used as the default directory assemblies are loaded from:&lt;/p&gt;

&lt;pre&gt;AppDomainSetup appDomainSetup = new AppDomainSetup {
    ApplicationBase = @"C:\temp\sandbox",
};&lt;/pre&gt;
&lt;p&gt;If you've read the documentation around sandboxed appdomains, you'll notice that it mentions a security hole if this parameter is set correctly. I'll be looking at this, and other pitfalls, that will break the sandbox when using sandboxed appdomains, in a later post.&lt;/p&gt;

&lt;h4&gt;Full-trust assemblies in the appdomain&lt;/h4&gt;
&lt;p&gt;Finally, we need the strong names of the assemblies that, when loaded into the appdomain, will be run as full-trust, irregardless of the permissions specified on the appdomain. These assemblies will contain methods and classes decorated with SafeCritical and Critical attributes. I'll be covering the details of creating full-trust APIs for partial-trust appdomains in a later post. This is how you get the strongnames of an assembly to be executed as full-trust in the sandbox:&lt;/p&gt;

&lt;pre&gt;// get the Assembly object for the assembly
Assembly assemblyWithApi = ...    

// get the StrongName from the assembly's collection of evidence
StrongName apiStrongName = assemblyWithApi.Evidence.GetHostEvidence&amp;lt;StrongName&amp;gt;();&lt;/pre&gt;
&lt;h4&gt;Creating the sandboxed appdomain&lt;/h4&gt;
&lt;p&gt;So, putting these three together, you create the appdomain like so:&lt;/p&gt;
&lt;pre&gt;AppDomain sandbox = AppDomain.CreateDomain(
    "Sandbox", null, appDomainSetup, restrictedPerms, apiStrongName);&lt;/pre&gt;
&lt;p&gt;You can then load and execute assemblies in this appdomain like any other. For example, to load an assembly into the appdomain and get an instance of the &lt;code&gt;Sandboxed.Entrypoint&lt;/code&gt; class, implementing &lt;code&gt;IEntrypoint&lt;/code&gt;, you do this:&lt;/p&gt;

&lt;pre&gt;IEntrypoint o = (IEntrypoint)sandbox.CreateInstanceFromAndUnwrap(
    "C:\temp\sandbox\SandboxedAssembly.dll", "Sandboxed.Entrypoint");

// call method the Execute method on this object within the sandbox
o.Execute();&lt;/pre&gt;
&lt;p&gt;The second parameter to &lt;code&gt;CreateDomain&lt;/code&gt; is for security evidence used in the appdomain. This was a feature of the .NET 2 security model, and has been (mostly) obsoleted in the .NET 4 model. Unless the evidence is needed elsewhere (eg. isolated storage), you can pass in null for this parameter.&lt;/p&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;That's the basics of sandboxed appdomains. The most important object is the PermissionSet that defines the permissions available to assemblies running in the appdomain; it is this object that defines the appdomain as full or partial-trust. The appdomain also needs a default directory used for assembly lookups as the ApplicationBase parameter, and you can specify an optional list of the strongnames of assemblies that will be given full-trust permissions if they are loaded into the sandboxed appdomain.&lt;/p&gt;
&lt;p&gt;Next time, I'll be looking closer at full-trust assemblies running in a sandboxed appdomain, and what you need to do to make an API available to partial-trust code.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/simonc/aggbug/152885.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/88x6gvVfJZ0" height="1" width="1"/&gt;</description><dc:creator>simonc</dc:creator><feedburner:origLink>http://geekswithblogs.net/simonc/archive/2013/05/07/.net-security-part-2.aspx</feedburner:origLink></item><item><title>BREAKING CHANGE on GeeksWithBlogs for Custom Domains - IP Address Change</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/x2Cy8f-b7x0/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx</link><pubDate>Tue, 07 May 2013 07:09:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Administrator/archive/2013/05/07/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx</guid><wfw:comment>http://geekswithblogs.net/Administrator/comments/152890.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Administrator/comments/commentRss/152890.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Administrator/archive/2013/05/07/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Administrator/services/trackbacks/152890.aspx</trackback:ping><source url="http://geekswithblogs.net/Administrator/rss.aspx">Staff of Geeks</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Administrator/archive/2013/05/07/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx'&gt;http://geekswithblogs.net/Administrator/archive/2013/05/07/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;UPDATE 05/08/2013 - IP address of 208.67.195.49 is also affected. &lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Hi Bloggers,&lt;/p&gt;  &lt;p&gt;I’m posting this urgent message because we've decided to move the hosting of GeeksWithBlogs to Azure. This means that any custom domain names that are currently pointing to the old IP address of 208.67.195.100 or to 208.67.195.49 &lt;strong&gt;&lt;font color="#ff0000"&gt;will break around June 1st when we do the switchover&lt;/font&gt;&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;If you have a custom domain that points to GeeksWithBlogs, please change the DNS "A record" to&lt;strong&gt; &lt;font color="#ff0000"&gt;point to the new Azure IP address of 168.62.30.182 as soon as possible&lt;/font&gt;&lt;/strong&gt;. The GWB site is already live at this new IP address so you should continue to see your usual blog after you've made the switch. Please email us immediately if you experience any problems. &lt;/p&gt;  &lt;p&gt;Thanks for your patience while we finish this important upgrade!&lt;/p&gt;  &lt;p&gt;Ben Barreth – GWB Software Dev &amp;amp; Community Builder &lt;/p&gt; &lt;img src="http://geekswithblogs.net/Administrator/aggbug/152890.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/x2Cy8f-b7x0" height="1" width="1"/&gt;</description><dc:creator>Staff of Geeks</dc:creator><feedburner:origLink>http://geekswithblogs.net/Administrator/archive/2013/05/07/breaking-change-on-geekswithblogs-for-custom-domains---ip-address.aspx</feedburner:origLink></item><item><title>Handling IE 9 &amp;amp; 10's and Chrome&amp;rsquo;s clear button with Knockout binding</title><category>Knockout Js</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/144Tun0Po5Q/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx</link><pubDate>Tue, 07 May 2013 04:02:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/152886.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152886.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152886.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Our tester found a bug with my search box. The search box filters a grid using observables. IE 9 and 10, and Crome adds in a x clear option, this wasn’t changing the observable, so the filter wasn’t getting cleared out.&lt;/p&gt;  &lt;p&gt;&lt;a title="image from SO" href="http://i.stack.imgur.com/0uxtg.png" target="_blank"&gt;&lt;img src="http://i.stack.imgur.com/0uxtg.png" /&gt;&lt;/a&gt;    &lt;br /&gt;(image from &lt;a href="http://stackoverflow.com/questions/13481577/how-can-i-disable-the-clear-button-that-ie10-inserts-into-textboxes" target="_blank"&gt;SO&lt;/a&gt; question)&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="searchTextBox"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="searchTextBox"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text"&lt;/span&gt; &lt;span class="attr"&gt;maxlength&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt;
       &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="Search"&lt;/span&gt; &lt;span class="attr"&gt;placeholder&lt;/span&gt;&lt;span class="kwrd"&gt;="Search"&lt;/span&gt;
       &lt;span class="attr"&gt;data-bind&lt;/span&gt;&lt;span class="kwrd"&gt;="value: GridVm.FilterText,
       valueUpdate: 'afterkeydown',
       disable: GridVm.Data().length == 0"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;I posted &lt;a href="http://stackoverflow.com/questions/16421463/handle-ie-9-10s-clear-button-with-knockout-binding/" target="_blank"&gt;my question and ended up answering my own question on StackOverflow&lt;/a&gt; and thought I would share it here as well.&lt;/p&gt;

&lt;p&gt;My solution involves using the &lt;a title="http://knockoutjs.com/documentation/event-binding.html" href="http://knockoutjs.com/documentation/event-binding.html"&gt;http://knockoutjs.com/documentation/event-binding.html&lt;/a&gt; and &lt;a href="http://stackoverflow.com/questions/14700466/attach-event-to-clear-icon-in-ie10-textbox" target="_blank"&gt;the input event&lt;/a&gt;.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="search"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="input1"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;  &lt;span class="attr"&gt;data-bind&lt;/span&gt;&lt;span class="kwrd"&gt;="value: textForBox, &lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;    valueUpdate: 'afterkeydown',
    event: { input: cleared }"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;br /&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; vm = {
    textForBox: ko.observable(),
    cleared: &lt;span class="kwrd"&gt;function&lt;/span&gt; (data, &lt;span class="kwrd"&gt;event&lt;/span&gt;) {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;event&lt;/span&gt;.currentTarget.value === &lt;span class="str"&gt;''&lt;/span&gt;) {
           &lt;span class="kwrd"&gt;this&lt;/span&gt;.textForBox(&lt;span class="str"&gt;''&lt;/span&gt;);
        }
    }
};
ko.applyBindings(vm);&lt;/pre&gt;

&lt;pre class="csharpcode"&gt; &lt;/pre&gt;
See &lt;a href="http://jsfiddle.net/logankd/LH7RT/" target="_blank"&gt;my jsFiddle showing the solution&lt;/a&gt;. 

&lt;p&gt;Hope it helps!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152886.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/144Tun0Po5Q" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx</feedburner:origLink></item><item><title>Webinar: Async Programming in C#</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HG6SPh5D4_k/webinar-async-programming-in-c.aspx</link><pubDate>Tue, 07 May 2013 03:40:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2013/05/07/webinar-async-programming-in-c.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/152887.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/152887.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2013/05/07/webinar-async-programming-in-c.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/152887.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Joe Mayo</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/WinAZ/archive/2013/05/07/webinar-async-programming-in-c.aspx'&gt;http://geekswithblogs.net/WinAZ/archive/2013/05/07/webinar-async-programming-in-c.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Tomorrow, I’m doing a live webinar with &lt;a href="http://www.learnnowonline.com/" target="_blank"&gt;Learn Now&lt;/a&gt; on Async Programming in C#. More details here: &lt;a href="http://bit.ly/17JT792"&gt;http://bit.ly/17JT792&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/152887.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HG6SPh5D4_k" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2013/05/07/webinar-async-programming-in-c.aspx</feedburner:origLink></item></channel></rss>
