<?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>Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/klfwVnqW-s4/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</link><pubDate>Tue, 07 Feb 2012 07:56:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</guid><wfw:comment>http://geekswithblogs.net/AbhishekLohani/comments/148620.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AbhishekLohani/comments/commentRss/148620.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AbhishekLohani/services/trackbacks/148620.aspx</trackback:ping><source url="http://geekswithblogs.net/AbhishekLohani/rss.aspx">Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting</source><description>Coded UI Test comes news with  Vs2010.

Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting


Hand Coding Coded UI Test  use the scripting Language c# or vb.net




Thanks
Abhishek

 &lt;img src="http://geekswithblogs.net/AbhishekLohani/aggbug/148620.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/klfwVnqW-s4" height="1" width="1"/&gt;</description><dc:creator>AbhishekLohani</dc:creator><feedburner:origLink>http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</feedburner:origLink></item><item><title>An alternative to cursor</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vIG0mC8S-Zc/an-alternative-to-cursor.aspx</link><pubDate>Tue, 07 Feb 2012 05:28:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx</guid><wfw:comment>http://geekswithblogs.net/saiful/comments/148619.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/saiful/comments/commentRss/148619.aspx</wfw:commentRss><comments>http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/saiful/services/trackbacks/148619.aspx</trackback:ping><source url="http://geekswithblogs.net/saiful/rss.aspx">An alternative to cursor</source><description>&lt;div dir="ltr" style="text-align: left;"&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;While
 working with database we often require to use Cursor. Cursors force the
 database engine to repeatedly fetch rows. This may slow down your 
database and locking may occur. As a result cursor are not suggested to 
use if not extremely necessary.&lt;/div&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;If
 there is a primary key on a table, you can usually write a WHILE loop 
to do the same work without incurring the overhead of a cursor. The 
following example demonstrate the idea:&lt;/div&gt;&lt;div&gt;  &lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;Declare&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt; @ItemId &lt;span style="color: blue;"&gt;bigint&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;Declare&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt; @OldItemCode &lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;50&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: blue;"&gt;Top&lt;/span&gt; 1&lt;span style="mso-spacerun: yes;"&gt;   &lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;=&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;,&lt;/span&gt; @OldItemCode&lt;span style="color: grey;"&gt;=&lt;/span&gt;OldItemCode&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;         &lt;/span&gt;InvItem&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;WHERE&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;IsStockItem &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'true'&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;WHILE&lt;/span&gt; @ItemId &lt;span style="color: grey;"&gt;is&lt;/span&gt; &lt;span style="color: grey;"&gt;not&lt;/span&gt; &lt;span style="color: grey;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;print&lt;/span&gt; &lt;span style="color: red;"&gt;'Item: '&lt;/span&gt;&lt;span style="color: grey;"&gt;+&lt;/span&gt;&lt;span style="color: magenta;"&gt;convert&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;10&lt;span style="color: grey;"&gt;),&lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;)+&lt;/span&gt;&lt;span style="color: red;"&gt;' - '&lt;/span&gt;&lt;span style="color: grey;"&gt;+&lt;/span&gt;&lt;span style="color: magenta;"&gt;convert&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;50&lt;span style="color: grey;"&gt;),&lt;/span&gt;@OldItemCode&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; &lt;span style="color: grey;"&gt;exists&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;select&lt;/span&gt; ItemId &lt;span style="color: blue;"&gt;from&lt;/span&gt; InvItem &lt;span style="color: blue;"&gt;where&lt;/span&gt; IsStockItem&lt;span style="color: grey;"&gt;=&lt;/span&gt;1 &lt;span style="color: grey;"&gt;and&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;&amp;gt;&lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: blue;"&gt;Top&lt;/span&gt; 1&lt;span style="mso-spacerun: yes;"&gt;    &lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;=&lt;/span&gt;ItemId&lt;span style="color: grey;"&gt;,&lt;/span&gt; @OldItemCode&lt;span style="color: grey;"&gt;=&lt;/span&gt;OldItemCode&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;         &lt;/span&gt;InvItem&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;WHERE&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;IsStockItem &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'true'&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt; &lt;span style="color: grey;"&gt;and&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;&amp;gt;&lt;/span&gt;@ItemId&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt; @ItemId&lt;span style="color: grey;"&gt;=null&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/saiful/aggbug/148619.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vIG0mC8S-Zc" height="1" width="1"/&gt;</description><dc:creator>saiful</dc:creator><feedburner:origLink>http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx</feedburner:origLink></item><item><title>Using Entity Framework to Query Dynamic Types</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/R_ofCDQ9DkM/using-entity-framework-to-query-dynamic-types.aspx</link><pubDate>Mon, 06 Feb 2012 23:21:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx</guid><wfw:comment>http://geekswithblogs.net/DavidBarrett/comments/148618.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DavidBarrett/comments/commentRss/148618.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DavidBarrett/services/trackbacks/148618.aspx</trackback:ping><source url="http://geekswithblogs.net/DavidBarrett/rss.aspx">Using Entity Framework to Query Dynamic Types</source><description>&lt;p&gt;I ran across a unique scenario recently, and I’m not sure if I should be proud of the solution, or appalled at the Frankenstein result.  Either way, I thought I’d post about it to possibly help others in the same situation.&lt;/p&gt;  &lt;p&gt;I was developing a website leveraging jQuery / AJAX to query views of data at runtime.  The kicker?  I didn’t know which views.  The choice of database view was determined via configuration and user choice.&lt;/p&gt;  &lt;p&gt;I was leveraging &lt;a href="http://www.trirand.com/blog/"&gt;jqGrid&lt;/a&gt; for the client-side grid presentation, sorting, filtering, etc.  I was also proving out an approach using the &lt;a href="http://www.trirand.net/download.aspx"&gt;MVC library for jqGrid&lt;/a&gt; to bind and query for results (this isn't necessary for this discussion, but was the original reason to create this solution, as we’ll soon see).&lt;/p&gt;  &lt;p&gt;The jqGrid MVC library uses IQueryable data sources to bind to the grid.  IQueryable in and of itself isn’t that hard to produce, but what about when you don’t know what the type will look like (read =&amp;gt; the view you’re binding to is unknown at runtime)?  It sure would be nice to leverage an existing technology like Entity Framework, but EF assumes you know the tables / views in advance.  It’s not a bad assumption; but I definitely have an edge case here.&lt;/p&gt;  &lt;p&gt;So, the summary is: how do you return an IQueryable&amp;lt;T&amp;gt; when T is unknown at compile-time?&lt;/p&gt;  &lt;p&gt;There are some constraints here, all of which makes this solution more palatable/scary:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;I don’t need to worry about database updates.  Views are hard to update, anyway, usually requiring INSTEAD OF triggers. &lt;/li&gt;    &lt;li&gt;I could eliminate EF and just run a straight database query, mapping the datareader into a List&amp;lt;T&amp;gt;, where T is dynamically typed at runtime.  I could then return List&amp;lt;T&amp;gt;.AsQueryable(), but I lose something significant:  deferred execution.  I’m returning the entire resultset and then using Linq in memory to sort and filter the result.  What if I have a million rows?  Awful. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So, I set about to force EF into helping me solve the problem.  Nothing like forcing a square peg into a round hole.&lt;/p&gt;  &lt;p&gt;First off, how do I create an EF context that will return dynamic results?  This part is fairly simple.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Context class for dynamic queries and catalog information
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;DbContext
&lt;/span&gt;{

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="QueryCatalogContext" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="model"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The model.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;QueryCatalogContext(&lt;span style="color: #2b91af"&gt;DbCompiledModel &lt;/span&gt;model)
        : &lt;span style="color: blue"&gt;base&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"NewmontDB"&lt;/span&gt;, model)
    {
        modelProvided = &lt;span style="color: blue"&gt;true&lt;/span&gt;;
    }&lt;/pre&gt;

&lt;p&gt;&lt;/p&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;EF allows us to provide a model at runtime, so assuming I can define a model based on my run-time view, I’m OK there.  Now how do I return an IQueryable&amp;lt;T&amp;gt; from this context?

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Gets a set of generalized query results.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IQueryable&lt;/span&gt;&amp;lt;T&amp;gt; GetDynamicQueryResults&amp;lt;T&amp;gt;(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query)
{

    &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns = &lt;span style="color: blue"&gt;this&lt;/span&gt;.GetColumnMetadata(query);

    &lt;span style="color: blue"&gt;string &lt;/span&gt;className = &lt;span style="color: #2b91af"&gt;QueryTypeFactory&lt;/span&gt;.GetType(query, columns).Name;

    &lt;span style="color: green"&gt;// Build the query and execute
    &lt;/span&gt;&lt;span style="color: blue"&gt;string &lt;/span&gt;sql = &lt;span style="color: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;"SELECT VALUE {0} FROM CodeFirstContainer.{0} AS {0}"&lt;/span&gt;, className);
    &lt;span style="color: blue"&gt;return new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ObjectQuery&lt;/span&gt;&amp;lt;T&amp;gt;(sql, ((&lt;span style="color: #2b91af"&gt;IObjectContextAdapter&lt;/span&gt;)&lt;span style="color: blue"&gt;this&lt;/span&gt;).ObjectContext, &lt;span style="color: #2b91af"&gt;MergeOption&lt;/span&gt;.NoTracking);

}&lt;/pre&gt;

&lt;p&gt;GetColumnMetadata is an internal function that returns a list of column (class property) metadata based on the particular query metadata (it does this by querying the database for view column metadata). QueryTypeFactory uses the &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx"&gt;Dynamic Linq Library&lt;/a&gt; to stamp out (and cache) types based on a set of properties (the columns I just retrieved).  I then turn that type info into an EF SQL statement and return an ObjectQuery&amp;lt;T&amp;gt; with no tracking.&lt;/p&gt;

&lt;p&gt;OK, that’s fine and dandy, but how do I provide the model and, more importantly, how do I call the generic method if I don’t know what T is in advance?&lt;/p&gt;

&lt;p&gt;The service class that actually executes the query using the context passes in the model and calls the generic method.  That mechanism follows:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Gets the dynamic query results.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IQueryable&lt;/span&gt;&amp;lt;T&amp;gt; GetDynamicQueryResults&amp;lt;T&amp;gt;(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns) &lt;span style="color: blue"&gt;where &lt;/span&gt;T : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: green"&gt;// Define a dynamic type and create a configuration for it
    &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbModelBuilder &lt;/span&gt;builder = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbModelBuilder&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DbModelBuilderVersion&lt;/span&gt;.V4_1);
    &lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;T&amp;gt; configuration = (&lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;T&amp;gt;)&lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;&amp;gt;).MakeGenericType(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(T)), query, columns);

    &lt;span style="color: green"&gt;// Add configuration for dynamic type
    &lt;/span&gt;builder.Configurations.Add(configuration);

    &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;connection = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[&lt;span style="color: #a31515"&gt;"NewmontDB"&lt;/span&gt;].ConnectionString)) &lt;span style="color: green"&gt;// Only need the connection for building the model;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;    {
        &lt;span style="color: green"&gt;// Can't use implicit IDisposable because the context is needed when the IQueryable is evaluated.
        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext &lt;/span&gt;context = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext&lt;/span&gt;(builder.Build(connection).Compile());
        &lt;span style="color: blue"&gt;return &lt;/span&gt;context.GetDynamicQueryResults&amp;lt;T&amp;gt;(query);
    }
}&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;First, the service class creates a DbModelBuilder.  The magic happens in the next line.  Because I don’t know the type T at runtime, I need to use reflection to create an instance of the DynamicViewConfiguration&amp;lt;T&amp;gt; class.  I then pass this to the model builder (this class is an EntityTypeConfiguration&amp;lt;T&amp;gt;).  I use a new connection string for building the model (EF has to query the view for metadata) and then compile the model, passing it into the context constructor.  I then return the GetDynamicQueryResults&amp;lt;T&amp;gt; method, returning a true IQueryable&amp;lt;T&amp;gt; object.&lt;/p&gt;

&lt;p&gt;The DynamicViewConfiguration&amp;lt;T&amp;gt; class is used to define the model for EF.  At a minimum, models must define what table they map to and what constitutes the primary key.  This is what the DynamicViewConfiguration&amp;lt;T&amp;gt; class does.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;A dynamic entity configuration for views specified at run-time.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; : &lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; &lt;span style="color: blue"&gt;where &lt;/span&gt;TDynamic : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="DynamicViewConfiguration" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    /// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicViewConfiguration(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns)
        : &lt;span style="color: blue"&gt;base&lt;/span&gt;()
    {

        &lt;span style="color: green"&gt;// Locate key column (TODO: Handle multiple key fields)
        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ColumnMetadata &lt;/span&gt;key = columns.FirstOrDefault(c =&amp;gt; c.IsKey) ?? columns[0];
        &lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DynamicViewLambdaGenerator&lt;/span&gt;&amp;lt;,&amp;gt;).MakeGenericType(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(TDynamic), key.DataType.ClrType), &lt;span style="color: blue"&gt;this&lt;/span&gt;, key.Name);

        ToTable(query.Name);

    }

}&lt;/pre&gt;

&lt;p&gt;DynamicViewLambdaGenerator&amp;lt;T&amp;gt; is an internal class that defines the lambda for the PK (the key field).&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Internal class to generate lambda expressions for the configuration
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;internal class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicViewLambdaGenerator&lt;/span&gt;&amp;lt;TDynamic, TKey&amp;gt; &lt;span style="color: blue"&gt;where &lt;/span&gt;TDynamic : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: green"&gt;// TODO: Change to a stateful approach and cache reflection and expressions if usage of this class increases
    &lt;/span&gt;&lt;span style="color: blue"&gt;private readonly &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;type;
    &lt;span style="color: blue"&gt;private readonly string &lt;/span&gt;keyPropertyName;

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="PropertyLambdaGenerator" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="propertyName"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;Name of the property.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicViewLambdaGenerator(&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; configuration, &lt;span style="color: blue"&gt;string &lt;/span&gt;keyPropertyName)
    {
        &lt;span style="color: blue"&gt;this&lt;/span&gt;.keyPropertyName = keyPropertyName;
        &lt;span style="color: blue"&gt;this&lt;/span&gt;.type = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(TDynamic);

        configuration.HasKey(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Generate());
    }

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Generates this instance.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;TDynamic, TKey&amp;gt;&amp;gt; Generate()
    {
        &lt;span style="color: #2b91af"&gt;PropertyInfo &lt;/span&gt;property = type.GetProperty(keyPropertyName);
        &lt;span style="color: #2b91af"&gt;ParameterExpression &lt;/span&gt;thing = &lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Parameter(type);
        &lt;span style="color: #2b91af"&gt;MemberExpression &lt;/span&gt;keyExpression = &lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Property(thing, property);

        &lt;span style="color: blue"&gt;return &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Lambda&amp;lt;&lt;span style="color: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;TDynamic, TKey&amp;gt;&amp;gt;(keyExpression, thing);
    }
}&lt;/pre&gt;

&lt;p&gt;OK, bear with me.  This is where all the real funny stuff goes on.  In the DynamicViewConfiguration&amp;lt;T&amp;gt; constructor, we find the primary key column.  We use that to (again, through reflection, because we don’t know any generic types as compile time) create the lambda function for the EF entity configuration HasKey method.  We use the key property name, reflection, and more of the Dynamic Linq library to return the property of the type within the Generate() method.&lt;/p&gt;

&lt;p&gt;After that, we call ToTable passing in the name of the view.  Voila.  We’ve defined the underlying view name and the key field.&lt;/p&gt;

&lt;p&gt;With the context (and model) defined for our runtime type, the service class can then call GetDynamicQueryResults&amp;lt;T&amp;gt;, and as mentioned earlier, I get a true IQueryable&amp;lt;T&amp;gt; back.  I can use Linq to filter or sort the results and the view is not queried until the set is iterated.&lt;/p&gt;

&lt;p&gt;The last missing piece is how to call the service class.  This is done in an MVC controller.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// Generate a type based on the return columns
&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;QueryTypeFactory&lt;/span&gt;.GetType(query, columns);

&lt;span style="color: #2b91af"&gt;MethodInfo &lt;/span&gt;generic = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;IQueryCatalogDynamic&lt;/span&gt;).GetMethod(&lt;span style="color: #a31515"&gt;"GetDynamicQueryResults"&lt;/span&gt;).MakeGenericMethod(type);
&lt;span style="color: blue"&gt;var &lt;/span&gt;data = generic.Invoke(repository, &lt;span style="color: blue"&gt;new object&lt;/span&gt;[] { query, columns });&lt;/pre&gt;

&lt;p&gt;The controller gets the runtime type through our type factory class, then calls the GetDynamicQueryResults on the service instance, and we invoke the method, passing in our parameters.  The controller uses this functionality to return an IQueryable&amp;lt;T&amp;gt; to the grid databinding function, which actually performs the sort and filter.  With literally millions of rows in some tables, the jqGrid client-side paging and sorting was nearly instant.&lt;/p&gt;

&lt;p&gt;Now I know that this is sort of a bastardization of technology, but the use case is narrow, and it worked great for my scenario.  The purpose isn’t really how to uglify EF, but more so how some solutions can be solved with a little ingenuity (and a lot of head-banging against keyboards).&lt;/p&gt; &lt;img src="http://geekswithblogs.net/DavidBarrett/aggbug/148618.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/R_ofCDQ9DkM" height="1" width="1"/&gt;</description><dc:creator>David Barrett</dc:creator><feedburner:origLink>http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx</feedburner:origLink></item><item><title>Android&amp;ndash;Create a ListView with rounded corners</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QbfyDVIwi20/androidndashcreate-a-listview-with-rounded-corners.aspx</link><pubDate>Mon, 06 Feb 2012 22:26:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx</guid><wfw:comment>http://geekswithblogs.net/bosuch/comments/148617.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bosuch/comments/commentRss/148617.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bosuch/services/trackbacks/148617.aspx</trackback:ping><source url="http://geekswithblogs.net/bosuch/rss.aspx">Android&amp;ndash;Create a ListView with rounded corners</source><description>&lt;p&gt;In a &lt;a href="http://geekswithblogs.net/bosuch/archive/2011/01/31/android---create-a-custom-multi-line-listview-bound-to-an.aspx" target="_blank"&gt;previous post&lt;/a&gt; I showed how to create a custom multi-line ListView bound to an ArrayList. Let’s make it a little more visually appealing and give each item some rounded corners.&lt;/p&gt;  &lt;p&gt;If you followed the previous how-to you wound up with something that looked like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_thumb.png" width="244" height="241" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To put each ListView item (name, address &amp;amp; phone) into its own rounded-corner box, create a new file in your res/drawable directory called border.xml, and paste in the following code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;lt;shape xmlns:android="&lt;/font&gt;&lt;a href="http://schemas.android.com/apk/res/android&amp;quot;"&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.android.com/apk/res/android"&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Times New Roman"&gt; &amp;gt;       &lt;br /&gt;    &amp;lt;stroke android:width="1dp" android:color="#FFFFFF" /&amp;gt;         &lt;br /&gt;    &amp;lt;padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /&amp;gt;         &lt;br /&gt;    &amp;lt;corners android:radius="8dp" /&amp;gt;         &lt;br /&gt;&amp;lt;/shape&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Then, specify the background of your LinearLayout in custom_row_view.xml:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;android:background="@drawable/border"&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And that’s it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_thumb_1.png" width="226" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course, you can mess with colors, padding etc. to get the look you want, and you can apply this to just about any object in your layout.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/bosuch/aggbug/148617.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QbfyDVIwi20" height="1" width="1"/&gt;</description><dc:creator>Bill Osuch</dc:creator><feedburner:origLink>http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx</feedburner:origLink></item><item><title>setting the database to offline/online state</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PWK0pRCZ81Q/setting-the-database-to-offlineonline-state.aspx</link><pubDate>Mon, 06 Feb 2012 20:14:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx</guid><wfw:comment>http://geekswithblogs.net/lszk/comments/148616.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/lszk/comments/commentRss/148616.aspx</wfw:commentRss><comments>http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/lszk/services/trackbacks/148616.aspx</trackback:ping><source url="http://geekswithblogs.net/lszk/rss.aspx">setting the database to offline/online state</source><description>Sometimes we want to make a changes to the database or create a backup, but the users must be disconnected for this time. The easiest way is to set the database to the offline state: &lt;br /&gt;ALTER DATABASE dbname SET OffLine WITH ROLLBACK IMMEDIATE&lt;br /&gt;and back&lt;br /&gt;ALTER DATABASE dbname SET OnLine WITH ROLLBACK IMMEDIATE&lt;br /&gt;&lt;br /&gt;The alternative is to set the Restrict Access to the Restricted User in the database Properties/Options.&lt;br /&gt; &lt;img src="http://geekswithblogs.net/lszk/aggbug/148616.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PWK0pRCZ81Q" height="1" width="1"/&gt;</description><dc:creator>Łukasz Kuryło</dc:creator><feedburner:origLink>http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx</feedburner:origLink></item><item><title>Accessing all context properties in a custom BizTalk pipeline component</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8sU5A7UKABc/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</link><pubDate>Mon, 06 Feb 2012 20:06:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</guid><wfw:comment>http://geekswithblogs.net/bosuch/comments/148615.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bosuch/comments/commentRss/148615.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bosuch/services/trackbacks/148615.aspx</trackback:ping><source url="http://geekswithblogs.net/bosuch/rss.aspx">Accessing all context properties in a custom BizTalk pipeline component</source><description>&lt;p&gt;Previously I talked about how to create a custom BizTalk pipeline component, and gave a few examples for accessing specific context properties. I wanted to be able to dump all the context properties to disk for examination, so I added a few lines of code and an on/off switch.&lt;/p&gt;  &lt;p&gt;First, add two properties to your component:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;private bool _EnableContextTrace;       &lt;br /&gt;private string _FileTraceLocation;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public bool EnableContextTrace       &lt;br /&gt;{        &lt;br /&gt;    get { return _EnableContextTrace; }        &lt;br /&gt;    set { _EnableContextTrace = value; }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public string FileTraceLocation       &lt;br /&gt;{        &lt;br /&gt;    get { return _FileTraceLocation; }        &lt;br /&gt;    set { _FileTraceLocation = value; }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Make sure to add them to the Load() and Save() methods in the IPersistPropertyBag region:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public virtual void Load(Microsoft.BizTalk.Component.Interop.IPropertyBag pb, int errlog)       &lt;br /&gt;{        &lt;br /&gt;    object val = null;        &lt;br /&gt;    val = this.ReadPropertyBag(pb, "EnableContextTrace");        &lt;br /&gt;    if ((val != null))        &lt;br /&gt;        this._EnableContextTrace = ((bool)(val));        &lt;br /&gt;    val = this.ReadPropertyBag(pb, "FileTraceLocation");        &lt;br /&gt;    if ((val != null))        &lt;br /&gt;        this._FileTraceLocation = ((string)(val));        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public virtual void Save(Microsoft.BizTalk.Component.Interop.IPropertyBag pb, bool fClearDirty, bool fSaveAllProperties)       &lt;br /&gt;{        &lt;br /&gt;    this.WritePropertyBag(pb, "EnableContextTrace", this.EnableFileTrace);        &lt;br /&gt;    this.WritePropertyBag(pb, "FileTraceLocation", this.FileTraceLocation);        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And finally add some code to the Execute method to loop through all the context properties and write them to a text file:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;if (_EnableContextTrace &amp;amp;&amp;amp; _FileTraceLocation.Length &amp;gt; 0)       &lt;br /&gt;{        &lt;br /&gt;    IBaseMessageContext contextList = inmsg.Context;        &lt;br /&gt;    string name;        &lt;br /&gt;    string nmspace;        &lt;br /&gt;    string contextItems = "";        &lt;br /&gt;    for (int x = 0; x &amp;lt; contextList.CountProperties; x++)        &lt;br /&gt;    {        &lt;br /&gt;        contextList.ReadAt(x, out name, out nmspace);        &lt;br /&gt;        string value = contextList.Read(name, nmspace).ToString();        &lt;br /&gt;        contextItems += "Name: " + name + " - " + "Namespace: " + nmspace + " - " + value + "\r\n";        &lt;br /&gt;    }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;    using (StreamWriter outfile = new StreamWriter(_FileTraceLocation + "ContextProperties.txt"))       &lt;br /&gt;    {        &lt;br /&gt;        outfile.Write(contextItems);        &lt;br /&gt;    }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After building the DLL and adding it to the Pipeline Components directory, you should be able to configure the properties: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/5a1b063f79d0_C162/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/5a1b063f79d0_C162/image_thumb.png" width="356" height="89" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Deploy the project, drop and file in, and examine the contents of the ContextProperties.txt file that was created. In my case I ran a HIPAA 837 file through and got the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;Name: FileCreationTime - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/file-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 2/6/2012 7:41:01 PM       &lt;br /&gt;Name: ReceivedFileName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/file-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - C:\Temp\Split5010Claims\Input\0217_ACS_UIC_837P_OUT_20120203124952.edi       &lt;br /&gt;Name: ActivityIdentity - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {BDE71A7F-7351-480E-90A9-3607A92FAE2F}       &lt;br /&gt;Name: AdapterReceiveCompleteTime - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 2/6/2012 7:41:01 PM       &lt;br /&gt;Name: PortName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P       &lt;br /&gt;Name: InboundTransportLocation - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - C:\Temp\Split5010Claims\Input\*_837P_*.edi       &lt;br /&gt;Name: InterchangeID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {E0124062-FF6C-41B1-94F9-BDC929D54FC4}       &lt;br /&gt;Name: ReceiveInstanceID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {28D3080A-DE0F-48AC-AB08-C0B61285061F}       &lt;br /&gt;Name: ReceiveLocationName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P_FILE       &lt;br /&gt;Name: ReceivePortID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {C4184808-467F-400F-9681-84924F44E9F4}       &lt;br /&gt;Name: ReceivePortName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P       &lt;br /&gt;Name: AuthenticationRequiredOnReceivePort - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - False       &lt;br /&gt;Name: InboundTransportType - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - FILE       &lt;br /&gt;Name: LRPMsgBodyTracking - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: MessageExchangePattern - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 1       &lt;br /&gt;Name: ReceivePipelineID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {45C53C6F-DBE9-49DB-AE7B-58A9D0901730}       &lt;br /&gt;Name: ReceivePortAuth - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: MessageType - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/EDI/X12/2006#X12_00501_837_P&lt;/font&gt;      &lt;br /&gt;&lt;font size="2" face="Times New Roman"&gt;Name: SuspendMessageOnRoutingFailure - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - True       &lt;br /&gt;Name: ISA05 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 30       &lt;br /&gt;Name: ISA06 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 208876513       &lt;br /&gt;Name: ISA07 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 30       &lt;br /&gt;Name: ISA08 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 205498481UIC5       &lt;br /&gt;Name: ISA15 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - P       &lt;br /&gt;Name: ISA_Segment - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - ISA*##*##########*##*##########*30*123456789      *30*987654321UIC5  *120203*1249*U*00501*000000064*0*P*:~       &lt;br /&gt;Name: GS01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - HC       &lt;br /&gt;Name: GS02 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 208876513       &lt;br /&gt;Name: GS03 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 205498481UIC5       &lt;br /&gt;Name: GS07 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - X       &lt;br /&gt;Name: GS08 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 005010X222A1       &lt;br /&gt;Name: ST01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 837       &lt;br /&gt;Name: GS_Segment - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - GS*HC*123456789*987654321UIC5*20120203*1249*64*X*005010X222A1~       &lt;br /&gt;Name: ReuseEnvelope - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - False       &lt;br /&gt;Name: TsSequenceNumberInGroup - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 72       &lt;br /&gt;Name: GE01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 72       &lt;br /&gt;Name: AgreementPartIDOnReceive - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: AgreementID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: AgreementName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTSGuestParty       &lt;br /&gt;Name: SenderPartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTS-SENDER       &lt;br /&gt;Name: PartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTSGuestParty       &lt;br /&gt;Name: SourcePartyID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - s-1-5-7       &lt;br /&gt;Name: ReceiverPartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - RECEIVE-PARTNER&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;img src="http://geekswithblogs.net/bosuch/aggbug/148615.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8sU5A7UKABc" height="1" width="1"/&gt;</description><dc:creator>Bill Osuch</dc:creator><feedburner:origLink>http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</feedburner:origLink></item><item><title>Transition to Exchange 2007 from exchange 2003</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/eGpQIkOxLUs/transition-to-exchange-2007-from-exchange-2003.aspx</link><pubDate>Mon, 06 Feb 2012 20:05:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/148614.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/148614.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/148614.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">Transition to Exchange 2007 from exchange 2003</source><description>&lt;p&gt;In the lifespan of an organisation it’s messaging environment be transitioned to a newer version several times. Whilst this is not a complicated thing to do it does require some level of planning and thought. I’ll be addressing the transitioning from &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 to 2007 from a fairly simple view here. Since the general outlines of the process are the same for nearly every situation there is no need for different detailed documents on this. &lt;/p&gt;  &lt;p&gt;We’ll be working with the following infrastructure in this guide:&lt;/p&gt;  &lt;p&gt;· 2 windows 2008 R2 domain controllers&lt;/p&gt;  &lt;p&gt;· 1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 SP2 server&lt;/p&gt;  &lt;p&gt;· 1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3 server.&lt;/p&gt;  &lt;p&gt;Since this is a transition from a legacy environment there are some more steps to take than if we would be straight up installing a completely new &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 environment. I will not neglect to point out some things that you might need to differently in case you would have a slightly different environment. So let’s get started!&lt;/p&gt;  &lt;h3&gt;Preparing the environment for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007&lt;/h3&gt;  &lt;p&gt;Installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 in an existing legacy environment firstly require you prepare the legacy permissions. Since the architecture of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 changed quite a bit (f.e. no more routing group connectors!) this will prepare the legacy &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; environment RUS to work properly whist the 2007 servers are there.&lt;/p&gt;  &lt;p&gt;First of all, you need to make sure your &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 environment is in native mode:&lt;/p&gt;  &lt;p&gt;1. Open &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; system manager   &lt;br /&gt;2. Right click the very top level item (in my case: toasterlans (exchange))    &lt;br /&gt;3. Select properties    &lt;br /&gt;4. Make sure the operation mode is in Native mode (aka no &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2000 servers). If it is not, upgrade it by clicking the button below operation mode. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image002_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image002_thumb.png" width="244" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Now switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;6. Open a command prompt as administrator    &lt;br /&gt;7. Navigate to your installation media    &lt;br /&gt;8. Type in “setup.com /preparelegacyexchangepermissions”    &lt;br /&gt;9. Setup will start to prepare the domain and &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 with legacy permissions&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image004_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image004_thumb.png" width="244" height="52" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;The next step is to prepare the Active Directory Schema:&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. Switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;2. Open a command prompt as administrator    &lt;br /&gt;3. Type in servermanagercmd –i RSAT-ADDS    &lt;br /&gt;4. Reboot    &lt;br /&gt;5. Logon on and open a command prompt as administrator    &lt;br /&gt;6. Navigate to your installation media    &lt;br /&gt;7. Type in “setup.com /prepareschema”    &lt;br /&gt;8. Wait for completion…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image006_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image006_thumb.png" width="244" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Note that we installed the RSAT-ADDS component on our server to allow setup to contact the active directory. If you do not wish to install this component (it will get installed later on anyways) you can opt to run the prepare schema and AD operation on a domain controller.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;And finally our last step in preparing the environment for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;2. Open a command prompt as administrator    &lt;br /&gt;3. Navigate to your installation media    &lt;br /&gt;4. Type in “setup.com /prepareAD”    &lt;br /&gt;5. Wait for completion…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image008_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image008_thumb.png" width="244" height="123" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now that the routing group connectors, the permission and the schema have all been dealt with we can start installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 in to our environment!&lt;/p&gt;  &lt;h3&gt;Installation&lt;/h3&gt;  &lt;p&gt;First of all it might seem I’m missing something here, where are the prerequisites? Your totally right there… Put in the following commands to get those prerequisites on the machine…&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;Servermanagercmd –I RSAT-ADDS (&lt;span class="kwrd"&gt;if&lt;/span&gt; you didn’t install &lt;span class="kwrd"&gt;this&lt;/span&gt; earlier)&lt;/pre&gt;

  &lt;pre&gt;Reboot&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Metabase&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Lgcy-Mgmt-Console&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Powershell (installed by &lt;span class="kwrd"&gt;default&lt;/span&gt; on 2008 R2)&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Server&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-ISAPI-Ext&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Metabase&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Lgcy-Mgmt-Console&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Basic-Auth&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Digest-Auth&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Windows-Auth&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Dyn-Compression&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i RPC-over-HTTP-proxy&lt;/pre&gt;
&lt;/div&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;So go ahead and start setup and click the start &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3 installation. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image010_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image010_thumb.png" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read through the new features, click next. Accept the license agreement and click next.I usually leave error reporting on, but your mileage might differ.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image012_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image012_thumb.png" width="244" height="209" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now on the next screen we have the option between a typical installation and a custom installation. Since this is about a simple all in one server transition, select typical. If you need to change the installation path this would be the time to do so! Click next.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image014_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image014_thumb.png" width="244" height="210" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The following screen requires you to select a server in the routing group connector that &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 will connect to. Basically this means that all mail flow between the organisations will go through that server. So click browse and select the appropriate server.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image015_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image015" border="0" alt="clip_image015" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image015_thumb.png" width="244" height="210" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Setup will perform some prerequisite tests and check for updates. This might take a while so go and get yourself something to drink. When this ends you might get some warnings. Take note of them and press “install”.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image016_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image016_thumb.png" width="244" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation will, once again, take a while depending on your hardware speeds. We’re almost done installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; so no panic! Once the installation is completed you can go ahead and click finish J. You’ll probably get presented by a popup asking the server to reboot before placing it in production, quickly followed by the EMC opening up.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image017_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image017" border="0" alt="clip_image017" src="http://geekswithblogs.net/images/geekswithblogs_net/marcde/Windows-Live-Writer/53b2914716d5_E47F/clip_image017_thumb.png" width="244" height="212" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, before we move users on to the server we will have to reboot, but first we want to make some configuration changes to the server.&lt;/p&gt;

&lt;h3&gt;Configuration&lt;/h3&gt;

&lt;h4&gt;Accepted domains&lt;/h4&gt;

&lt;p&gt;First of all we need to configure the accepted domains J.&lt;/p&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Open Organization configuration

  &lt;br /&gt;3. Open Hub transport

  &lt;br /&gt;4. Open the Accepted Domains tab.

  &lt;br /&gt;5. Check that all domains have been transferred from the 2003 server

  &lt;br /&gt;6. Open the email address policies tab

  &lt;br /&gt;7. Check that all policies have been transferred from the 2003 server.&lt;/p&gt;

&lt;h4&gt;Mailflow&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Open the Server configuration section

  &lt;br /&gt;3. Open Hub Transport

  &lt;br /&gt;4. Right click the default receive connector

  &lt;br /&gt;5. Open the permission groups tab

  &lt;br /&gt;6. Check the anonymous users checkmark

  &lt;br /&gt;7. Go back to the organization configuration

  &lt;br /&gt;8. Open hub transport

  &lt;br /&gt;9. Click on the send connectors tab

  &lt;br /&gt;10. Create a new send connector by choosing that action in the right pane

  &lt;br /&gt;11. Name it

  &lt;br /&gt;12. Choose internet from the intended use drop down list

  &lt;br /&gt;13. Next

  &lt;br /&gt;14. Click on add

  &lt;br /&gt;15. In the address field add “*”

  &lt;br /&gt;16. Click on OK, next

  &lt;br /&gt;17. If you have a smarthost use the information in this section

  &lt;br /&gt;18. Click on next, next, new, finish&lt;/p&gt;

&lt;p&gt;With these steps completed you can now send and receive mail through the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 servers! Go ahead and reboot the server before proceeding any further. With the server there is still a number of other tasks that need to be performed; Replication of the public folders, moving the database, OAB generation servers and removing the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; installation.&lt;/p&gt;

&lt;h4&gt;Replicating all public folders&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Go to toolbox

  &lt;br /&gt;3. Open Public Folder management Console

  &lt;br /&gt;4. Configure replication as follows:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;a. Right click the public folder you want to replicate
    &lt;br /&gt;b. Properties

    &lt;br /&gt;c. Replication tab

    &lt;br /&gt;d. Add

    &lt;br /&gt;e. Select the server you want to replicate with

    &lt;br /&gt;f. Press OK, OK&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Note that you will have to replicate the free busy data if you are using outlook 2003 clients! Once the public folders have replicated proceed with the steps below…&lt;/p&gt;

&lt;p&gt;Point all external links to the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 CAS servers at this point&lt;/p&gt;

&lt;h3&gt;Transition&lt;/h3&gt;

&lt;h4&gt;Moving mailboxes&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Go to recipient configuration

  &lt;br /&gt;3. Open the mailbox section

  &lt;br /&gt;4. Select the users you want to move (use batches if possible)

  &lt;br /&gt;5. Right click

  &lt;br /&gt;6. Move mailbox

  &lt;br /&gt;7. Browse to select the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 mailbox store

  &lt;br /&gt;8. Next

  &lt;br /&gt;9. Next

  &lt;br /&gt;10. Next 

  &lt;br /&gt;11. Move

  &lt;br /&gt;12. Sit back and enjoy&lt;/p&gt;

&lt;h4&gt;OAB Generation server&lt;/h4&gt;

&lt;p&gt;1. Open EMC
  &lt;br /&gt;2. Expand organization configuration

  &lt;br /&gt;3. Expand mailbox

  &lt;br /&gt;4. Offline address book tab

  &lt;br /&gt;5. Right click the default offline address book

  &lt;br /&gt;6. move

  &lt;br /&gt;7. Browse to select the new server

  &lt;br /&gt;8. Move

  &lt;br /&gt;9. Finish

  &lt;br /&gt;10. Right click detault offline address book

  &lt;br /&gt;11. Properties

  &lt;br /&gt;12. Distribution

  &lt;br /&gt;13. Enable web-based distribution 

  &lt;br /&gt;14. Add

  &lt;br /&gt;15. Select the web directory

  &lt;br /&gt;16. OK, OK&lt;/p&gt;

&lt;p&gt;The last seven steps will allow all outlook 2007 and 2010 client to use web distribution to download the OAB.&lt;/p&gt;

&lt;h4&gt;Removing the routing group connector:&lt;/h4&gt;

&lt;p&gt;· Get-routinggroupconnector | remove-routinggroupconnector&lt;/p&gt;

&lt;h4&gt;Moving the RUS&lt;/h4&gt;

&lt;p&gt;1. Open system manager on the 2003 server
  &lt;br /&gt;2. Expand recipients node

  &lt;br /&gt;3. Expand recipient update services

  &lt;br /&gt;4. Perform the following for both items listed:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;a. Right click
    &lt;br /&gt;b. Properties

    &lt;br /&gt;c. Brose next to &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server

    &lt;br /&gt;d. Select the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server

    &lt;br /&gt;e. OK

    &lt;br /&gt;f. OK&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;Uninstalling &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003&lt;/h4&gt;

&lt;p&gt;1. Open the control panel
  &lt;br /&gt;2. Add or remove programs

  &lt;br /&gt;3. &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003

  &lt;br /&gt;4. Change/remove

  &lt;br /&gt;5. Select remove from the drop down menus

  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;And you are now finished, running completely on &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007! Of course this was a very basic guide and there are a ton of things more you can do with &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 that we’ll cover in upcoming articles!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/148614.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/eGpQIkOxLUs" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx</feedburner:origLink></item><item><title>How To Copy A Schema Container To Another SQL Azure Database</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/h7OIGqGhKyw/how-to-copy-a-schema-container-to-another-sql-azure.aspx</link><pubDate>Tue, 07 Feb 2012 07:07:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx</guid><wfw:comment>http://geekswithblogs.net/hroggero/comments/148613.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/hroggero/comments/commentRss/148613.aspx</wfw:commentRss><comments>http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/hroggero/services/trackbacks/148613.aspx</trackback:ping><source url="http://geekswithblogs.net/hroggero/rss.aspx">How To Copy A Schema Container To Another SQL Azure Database</source><description>&lt;p&gt;This article is written to assist SQL Azure customers to copy a SCHEMA container from one SQL Azure database to another. Schema separation (or compress shard) is a technique used by applications that hold multiple customer “databases” inside the same physical database, but separated logically by a SCHEMA container. At times it may be necessary to copy a given SCHEMA container from one database to another. Copying a SCHEMA container from one database to another can be very difficult because you need to only extract and import the data contained in the tables found in that schema. &lt;/p&gt;  &lt;p&gt;If your SQL Azure database has multiple schema containers in it, and you would like to copy the objects under that schema to another database, you can do so by following the steps below. The article uses the Enzo Backup tool (&lt;a title="http://bluesyntax.net/backup.aspx" href="http://bluesyntax.net/backup.aspx"&gt;http://bluesyntax.net/backup.aspx&lt;/a&gt;), designed to help in achieving this complex task.&lt;/p&gt;  &lt;h4&gt;Example Overview&lt;/h4&gt;  &lt;p&gt;Let’s assume you have a database with multiple SCHEMA containers and you would like to copy one of the schema containers to another database. A SCHEMA container holds tables, foreign keys, default constraints, indexes and more. In the screenshot below the selected database has 5 schema contains: the DBO schema and 4 custom SCHEMA container. The tool allows you to copy the objects from any schema into another database. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_2.png" width="605" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Backing Up Your SCHEMA Container&lt;/h4&gt;  &lt;p&gt;The first step is to backup your schema. Enzo Backup gives you the options needed to backup a single SCHEMA container at a time. &lt;/p&gt;  &lt;p&gt;1- If you have registered your databases previously with the backup tool, select the database from the list of databases on the left pane, right-click on the SCHEMA container (i.e. your logical database) and select Backup to Blob (or file). Otherwise click on the Backup –&amp;gt; To Blob Device from the menu and enter the server credentials, and specify the name of the SCHEMA to backup from the Advanced screen.&lt;/p&gt;  &lt;p&gt;2- Type the name of your backup device&lt;/p&gt;  &lt;p&gt;3- Optionally select a cloud agent if you are saving to a Blob on the Advanced tab (note: a cloud agent must be deployed separately)&lt;/p&gt;  &lt;p&gt;4- Click Start&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_3.png" width="529" height="399" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Restoring Your SCHEMA Container&lt;/h4&gt;  &lt;p&gt;Once the backup is complete, you can restore the backup device to the database server of your choice. Note that you could restore to a local SQL Server database or to another SQL Azure database server. &lt;/p&gt;  &lt;p&gt;1- Click on Backups on the left pane to view your backup devices and find your device&lt;/p&gt;  &lt;p&gt;2- Right-click on your backup device (file or blob)&lt;/p&gt;  &lt;p&gt;3- Enter the credentials of the server you are restoring to and the name of the database&lt;/p&gt;  &lt;p&gt;4- If the database does not exist, select the Create If… option &lt;/p&gt;  &lt;p&gt;5- Optionally, if you are using a Blob device and restoring to a SQL Azure database, check the Use Cloud Agent (note: a cloud agent must be deployed separately)&lt;/p&gt;  &lt;p&gt;6- Click Start&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_10.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_4.png" width="558" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If for some reason the database you are restoring to is not empty, you may see a warning indicating that the database has existing objects. Click “Yes” to continue. When the operation is complete, you can inspect your database to verify the presence of your logical database.&lt;/p&gt;  &lt;h4&gt;Considerations&lt;/h4&gt;  &lt;p&gt;- You can restore additional SCHEMA containers on an existing database. You would simply need to repeat the above steps for each SCHEMA container.&lt;/p&gt;  &lt;p&gt;- If your intent was to “move” the SCHEMA container, you will need to clean up the original database. Once your SCHEMA container has been copied, and you have verified all you data is present in the destination database, you will need to manually drop all the objects in the source database before dropping the SCHEMA container.&lt;/p&gt;  &lt;p&gt;- This tool does not support backing up SQL Server database. However you can restore a backup device created with Enzo Backup on a local SQL Server database if desired.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/hroggero/aggbug/148613.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/h7OIGqGhKyw" height="1" width="1"/&gt;</description><dc:creator>Herve Roggero</dc:creator><feedburner:origLink>http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx</feedburner:origLink></item><item><title>Windows 8 Composition and Content</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7gNLWlsfztM/windows-8-composition-and-content.aspx</link><pubDate>Mon, 06 Feb 2012 17:11:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/148612.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/148612.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/148612.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Windows 8 Composition and Content</source><description>&lt;p&gt;Composition is an integral part of Windows 8 UI design from both &lt;a href="http://en.wikipedia.org/wiki/Composition_(visual_arts)" target="_blank"&gt;aesthetic&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Composite_pattern" target="_blank"&gt;logical&lt;/a&gt; perspectives. This post modified my previous post, &lt;a href="http://geekswithblogs.net/WinAZ/archive/2012/01/30/refactoring-windows-8-code-behind-to-mvvm.aspx" target="_blank"&gt;Refactoring Windows 8 Code-Behind to MVVM&lt;/a&gt;. adding to the variety of compositional examples.  I’ll start with an explanation of composition in Windows 8, modify the previous code to show the power of composition, and then highlight a few more existing examples of where composition naturally fits into the Windows 8 UI environment.&lt;/p&gt;  &lt;h4&gt;Understanding Windows 8 Composition&lt;/h4&gt;  &lt;p&gt;A Windows 8 UI is built like a tree. You have a single root element that surrounds all other elements, multiple branches containing more elements, and finally many leaves that don’t contain any elements. In shorthand, the structure looks something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Root&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;    Content&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;        Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;        Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Leaf&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You might have noticed that I sneaked in an extra element, &lt;em&gt;Content&lt;/em&gt;, in the figure above that I hadn’t talked about yet. Nevertheless, &lt;em&gt;Content&lt;/em&gt; is necessary and important in Windows 8 development. The figure above is a generalization of the hierarchical relationship between elements.  However, the XAML below, based on the previous post, is a concrete example:&lt;/p&gt;  &lt;pre class="brush: xml"&gt;&amp;lt;UserControl x:Class="TwitterClient.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="768" d:DesignWidth="1366"&amp;gt;
  
    &amp;lt;Grid x:Name="LayoutRoot" Background="#FF0C0C0C"&amp;gt;
        &amp;lt;Button Content="Refresh Public Tweets" Height="72" Width="365" 
                HorizontalAlignment="Left"  Margin="500,66,0,0" 
                Name="RefreshButton" VerticalAlignment="Top"
                Command="{Binding RefreshCommand}"/&amp;gt;
        &amp;lt;ListBox Height="465" HorizontalAlignment="Left" Margin="5,144,0,0" 
                 Name="PublicTweetListBox" VerticalAlignment="Top" Width="1355"
                 ItemsSource="{Binding Tweets}"&amp;gt;
            &amp;lt;ListBox.ItemTemplate&amp;gt;
                &amp;lt;DataTemplate&amp;gt;
                    &amp;lt;StackPanel Orientation="Horizontal" Height="132"&amp;gt;
                        &amp;lt;Image Source="{Binding ImageUrl}" 
                               Height="73" Width="73" 
                               VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                        &amp;lt;StackPanel Width="370"&amp;gt;
                            &amp;lt;TextBlock Text="{Binding Name}" 
                                       Foreground="#FFC8AB14" FontSize="28" /&amp;gt;
                            &amp;lt;TextBlock Text="{Binding Text}" 
                                       TextWrapping="Wrap" FontSize="24" /&amp;gt;
                        &amp;lt;/StackPanel&amp;gt;
                    &amp;lt;/StackPanel&amp;gt;
                &amp;lt;/DataTemplate&amp;gt;
            &amp;lt;/ListBox.ItemTemplate&amp;gt;
        &amp;lt;/ListBox&amp;gt;
    &amp;lt;/Grid&amp;gt;   
&amp;lt;/UserControl&amp;gt;&lt;/pre&gt;

&lt;p&gt;The example above gives a better idea of the compositional relationship between elements and how they form a tree that is visually identifiable through proper spacing of elements. &lt;em&gt;UserControl&lt;/em&gt; is the &lt;em&gt;Root&lt;/em&gt; element and &lt;em&gt;Grid&lt;/em&gt; is the &lt;em&gt;Content&lt;/em&gt; element for &lt;em&gt;Root&lt;/em&gt;.  Subsequent elements form a hierarchy, further displaying the compositional nature of Windows 8 UI development.&lt;/p&gt;

&lt;p&gt;Since the examples in this post are based on the &lt;a href="http://geekswithblogs.net/WinAZ/archive/2012/01/30/refactoring-windows-8-code-behind-to-mvvm.aspx" target="_blank"&gt;previous post&lt;/a&gt;, you might find it useful to have a few tips on getting from there to here, which is discussed next.&lt;/p&gt;

&lt;h4&gt;Reusing Previous Code&lt;/h4&gt;

&lt;p&gt;Over the past couple of posts, I’ve renamed the same project to something new.  This is more tedious than necessary, so I’ll just rename the project one more time to something more generic, like TwitterClient. If you’re thinking, “Oh no, not &lt;strong&gt;another &lt;/strong&gt;Twitter client!”, don’t worry. It’s just a sample program – and besides, no one will ever use it. &lt;/p&gt;

&lt;p&gt;Here’s a quick walk-through of the file system part of the rename:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Make a copy of &lt;em&gt;RefactorToMVVM&lt;/em&gt; folder in Windows Explorer and rename it to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;In the new &lt;em&gt;TwitterClient&lt;/em&gt; folder, rename the solution file, &lt;em&gt;RefactorToMVVM.sln&lt;/em&gt;, to &lt;strong&gt;TwitterClient.sln&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Unhide files and rename &lt;em&gt;RefactorToMVVM.v11.suo&lt;/em&gt; to &lt;strong&gt;TwitterClient.v11.suo&lt;/strong&gt; (Alternatively delete because VS11 recreates it for you). &lt;/li&gt;

  &lt;li&gt;Rename the project folder, &lt;em&gt;RefactorToMVVM&lt;/em&gt;, to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;In the new &lt;em&gt;TwitterClient&lt;/em&gt; project folder, rename the project file, &lt;em&gt;RefactorToMVVM.csproj&lt;/em&gt;, to &lt;strong&gt;TwitterClient.csproj&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now your file names are up-to-date, you’ll need to change a couple more items in the solution. To get started on this part, go back to the &lt;em&gt;TwitterClient&lt;/em&gt; solution folder and double-click on &lt;em&gt;TwitterClient.sln&lt;/em&gt; to open the solution. You’ll see an error saying that VS can’t open the &lt;em&gt;RefactorToMVVM&lt;/em&gt; project and that’s okay because you intentionally renamed it – meaning that the solution file won’t be able to find the project file under it’s new name. Click &lt;em&gt;OK&lt;/em&gt; for the error message box that appears. The following steps fix the project load problem and take you through the rest of the renaming:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;After the solution loads, right-click on the grayed-out &lt;em&gt;RefactorToMVVM&lt;/em&gt; project and select &lt;em&gt;Remove&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;Right-click on the solution, select &lt;em&gt;Add, Existing Project&lt;/em&gt; and an &lt;em&gt;Add Existing Project&lt;/em&gt; window will appear. &lt;/li&gt;

  &lt;li&gt;Navigate to the &lt;em&gt;TwitterClient&lt;/em&gt; solution, down to the &lt;em&gt;TwitterClient&lt;/em&gt; project, select &lt;em&gt;TwitterClient.csproj&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;. The new project will load. &lt;/li&gt;

  &lt;li&gt;Under the &lt;em&gt;TwitterClient&lt;/em&gt; project, double-click &lt;em&gt;Properties&lt;/em&gt; to open the &lt;em&gt;Properties&lt;/em&gt; configuration page. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Properties&lt;/em&gt; &lt;em&gt;Application&lt;/em&gt; tab, change both the &lt;em&gt;Assembly name&lt;/em&gt; and &lt;em&gt;Default namespaces&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Open &lt;em&gt;Tweet.cs&lt;/em&gt; (or any code file), select &lt;em&gt;RefactorToMVVM&lt;/em&gt;, type &lt;strong&gt;Ctrl+R+R&lt;/strong&gt;, and rename to &lt;strong&gt;TwitterClient&lt;/strong&gt;. Select preview, comments, and strings options and observe all the places in code where the change is made.  Click &lt;em&gt;Apply&lt;/em&gt; when you’re ready to make the changes. &lt;/li&gt;

  &lt;li&gt;Double-click the &lt;em&gt;Package.appxmanifest&lt;/em&gt; file, which opens the &lt;em&gt;Package&lt;/em&gt; configuration window. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Application UI&lt;/em&gt; tab, change &lt;em&gt;Display Name&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;, &lt;em&gt;Entry Point&lt;/em&gt; to &lt;strong&gt;TwitterClient.App&lt;/strong&gt;, and &lt;em&gt;Description&lt;/em&gt; to &lt;strong&gt;Client Application for Twitter&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Packaging&lt;/em&gt; tab, change &lt;em&gt;Package Display Name&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Save and close &lt;em&gt;Package.appxmanifest&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;The visual designer for &lt;em&gt;Package.appxmanifest&lt;/em&gt; doesn’t let you change everything and there’s one more item to remember. Right-click on &lt;em&gt;Package.appxmanifest&lt;/em&gt;, select &lt;em&gt;Open With&lt;/em&gt;, select &lt;em&gt;XML Editor&lt;/em&gt;, and click &lt;em&gt;OK&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;Under &lt;em&gt;/Applications/Application&lt;/em&gt;, change the &lt;em&gt;Executable&lt;/em&gt; attribute to &lt;strong&gt;TwitterClient.exe&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;Before finishing, press F7 to build the solution. If you have errors, it’s most likely because of the naming changes done previously. So, it would be useful to retrace your steps if the error message doesn’t lead you to the answer right away.  Now that we have a new renamed solution/project, we can proceed to an in-depth discussion of Composition and Content by adding a button the the tweet list.&lt;/font&gt;&lt;/p&gt;

&lt;h4&gt;Adding a Button&lt;/h4&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;Here, we’re not going to just add a button, we’re going to examine how a button supports composition through its &lt;em&gt;Content&lt;/em&gt; property. You’ll see attribute content, element content, and a cool trick that makes it easy to code compositional content in XAML.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;If you want a simple button with text, you can use the &lt;em&gt;Content&lt;/em&gt; attribute, like this:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="brush: xml"&gt;&amp;lt;Button Content="{Binding Name}" /&amp;gt;&lt;/pre&gt;

&lt;p&gt;The XAML &lt;em&gt;Content&lt;/em&gt; attribute corresponds to a &lt;em&gt;Content&lt;/em&gt; property of the &lt;em&gt;Button&lt;/em&gt; class. Your first thought, upon seeing the &lt;em&gt;Content&lt;/em&gt; property on a &lt;em&gt;Button&lt;/em&gt;, might be to ask, “Why isn’t this property named Text?” That’s a logical question, especially if you’ve been using &lt;a href="http://msdn.microsoft.com/en-us/library/ms158234.aspx" target="_blank"&gt;Windows Forms&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.text.aspx" target="_blank"&gt;ASP.NET&lt;/a&gt;, or one of many other UI frameworks. Actually, Windows 8 is closer to both Silverlight and WPF in their view of composition and content. &lt;/p&gt;

&lt;p&gt;The primary rationale for content is because text isn’t the only object you can display on a button. You can add different types of UI elements to a button by assigning those items to the &lt;em&gt;Content&lt;/em&gt; property. In previous frameworks, that don’t support content, you would have needed to slog through extra code to create a special button. With Windows 8, you only need to assign a value to the content property of a given control. Here’s an example for creating a button that contains an image:&lt;/p&gt;

&lt;pre class="brush: xml"&gt;                        &amp;lt;Button&amp;gt;
                            &amp;lt;Button.Content&amp;gt;
                                &amp;lt;Image Source="{Binding ImageUrl}" 
                                       Height="73" Width="73" 
                                       VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                            &amp;lt;/Button.Content&amp;gt;
                        &amp;lt;/Button&amp;gt;&lt;/pre&gt;

&lt;p&gt;Above, &lt;em&gt;Button&lt;/em&gt; contains an image, which can’t be represented in text, as previously shown via the &lt;em&gt;Content&lt;/em&gt; attribute. This example uses Property Element syntax – &lt;em&gt;which is the control type and property name, separated by a dot&lt;/em&gt;. The power of this approach to re-defining the appearance of a button can’t be understated – you can see how easy it is to do. &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The content property isn’t always named &lt;em&gt;Content&lt;/em&gt;. i.e. Types derived from &lt;em&gt;ItemsControl&lt;/em&gt;, such as &lt;em&gt;ListBox&lt;/em&gt; designate the &lt;em&gt;Items&lt;/em&gt; property as their content property.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A control can be decorated with  &lt;em&gt;Windows.UI.Xaml.Markup.ContentPropertyAttribute&lt;/em&gt;, specifying what the content property is for that control. In the case of &lt;em&gt;Button&lt;/em&gt;, the content property is &lt;em&gt;Content&lt;/em&gt; (same name):&lt;/p&gt;

&lt;pre class="brush: csharp"&gt;    [ContentProperty("Content")]
    public class UserControl : Windows.UI.Xaml.Controls.Control
    {
        // ...

        public UIElement Content { get; set; }

        // ...
    }&lt;/pre&gt;

&lt;p&gt;This is good information if you’re a control developer, but it’s also interesting because of a special feature of content properties that gives you simpler syntax. More specifically, you can remove the Property Element syntax, like this:&lt;/p&gt;

&lt;pre class="brush: xml"&gt;                        &amp;lt;Button&amp;gt;
                            &amp;lt;Image Source="{Binding ImageUrl}" 
                                   Height="73" Width="73" 
                                   VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                        &amp;lt;/Button&amp;gt;&lt;/pre&gt;

&lt;p&gt;The image  below is a new snapshot of the updated screen, showing how the images look as buttons. As you can see, customizing buttons is very easy.  More to the point, composing custom UI elements is easy via Windows 8 content support.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/WinAZ/Windows-Live-Writer/Windows-8-Composition-and-Content_F9C8/image_2.png"&gt;&lt;img style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/WinAZ/Windows-Live-Writer/Windows-8-Composition-and-Content_F9C8/image_thumb.png" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;While this discussion focused on the Button, many other control types have content properties and support composition the same way.  If you look back at the XAML in the previous section, “Understanding Windows 8 Composition”, you’ll see several more composition examples, including &lt;em&gt;UserControl/Grid&lt;/em&gt;, &lt;em&gt;Grid/Elements&lt;/em&gt;, &lt;em&gt;ListBox/ListBox.ItemTemplate&lt;/em&gt;, and so on.&lt;/p&gt;

&lt;h4&gt;Summary&lt;/h4&gt;

&lt;p&gt;This post demonstrated the inherent support for composition in Windows 8 UI development. This capability is supported via content properties.  You saw how &lt;em&gt;Button&lt;/em&gt; demonstrates the power of composition and the role of the content property in facilitating composition.  Remember that &lt;em&gt;Button&lt;/em&gt; is only an example, and you should understand that other controls have content properties.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/148612.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7gNLWlsfztM" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx</feedburner:origLink></item><item><title>Mac type grid view control for asp.net/java web applications</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8uWPqb2IfbE/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</link><pubDate>Mon, 06 Feb 2012 13:56:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</guid><wfw:comment>http://geekswithblogs.net/AnkitAgrawal/comments/148611.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AnkitAgrawal/comments/commentRss/148611.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AnkitAgrawal/services/trackbacks/148611.aspx</trackback:ping><source url="http://geekswithblogs.net/AnkitAgrawal/rss.aspx">Mac type grid view control for asp.net/java web applications</source><description>&lt;p class="MsoNormal"&gt;For one of my project, I made a very dynamic grid which is
totally HTML based and very fast while rendering data from server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;No viewstate&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;Dynamic grid which gets data on scroll using
REST based WCF service in JSon&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;No DOM modifications which makes the rendering
very fast&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;Custom control which can be integrated in any
web application – Java / Asp.Net (However I built it for Asp.Net)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;Support for very large record set.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;Designer friendly – As the DOM doesn’t change
and the basic structure remains the same.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-indent: -0.25in; "&gt;Highly extensible to support any kind of data&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/AnkitAgrawal/aggbug/148611.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8uWPqb2IfbE" height="1" width="1"/&gt;</description><dc:creator>AnkitAgrawal</dc:creator><feedburner:origLink>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</feedburner:origLink></item><item><title>Uniqueness of SessionId and GUID</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xMCLn8A7XAc/uniqueness-of-sessionid-and-guid.aspx</link><pubDate>Mon, 06 Feb 2012 13:55:22 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx</guid><wfw:comment>http://geekswithblogs.net/AnkitAgrawal/comments/148610.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AnkitAgrawal/comments/commentRss/148610.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AnkitAgrawal/services/trackbacks/148610.aspx</trackback:ping><source url="http://geekswithblogs.net/AnkitAgrawal/rss.aspx">Uniqueness of SessionId and GUID</source><description>&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br class="Apple-interchange-newline" /&gt;Random and unique are two different words with very different meaning. To generate random number, there are many algorithms but none to guarantee unique number. This causes a problem of non-unique GUID and SessionId generated in any application whether you use .NET / java / php. (I have seen this in ASP.NET and java). If you grill down to the algorithm that is used to create SessionId, it does never guarantee a unique number whenever it is generated. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;When you hover over the SessionId in ASP.NET application in VS, it says Unique SessionId. I don’t know how they can guarantee a unique id when there algorithm doesn’t support so. Below is the code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font color="#1000a0" face="'Courier New'" style="font-size: 10pt; "&gt;internal&lt;/font&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt; &lt;font color="#1000a0"&gt;static&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String" title="System.String&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt; &lt;b&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Create(System.Security.Cryptography.RandomNumberGenerator&amp;amp;):String"&gt;&lt;font color="#0000ff"&gt;Create&lt;/font&gt;&lt;/a&gt;&lt;/b&gt;(&lt;font color="#1000a0"&gt;ref&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RandomNumberGenerator" title="System.Security.Cryptography.RandomNumberGenerator&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;RandomNumberGenerator&lt;/font&gt;&lt;/a&gt; randgen)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;if&lt;/font&gt; (randgen == &lt;font color="#800000"&gt;null&lt;/font&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        randgen = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RNGCryptoServiceProvider/.ctor()" title="System.Security.Cryptography.RNGCryptoServiceProvider.RNGCryptoServiceProvider();&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;RNGCryptoServiceProvider&lt;/font&gt;&lt;/a&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    }&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[] &lt;b&gt;data&lt;/b&gt; = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[&lt;font color="#800000"&gt;15&lt;/font&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    randgen.&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RandomNumberGenerator/GetBytes(Byte%5b%5d)" title="void System.Security.Cryptography.RandomNumberGenerator.GetBytes(byte[]);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;GetBytes&lt;/font&gt;&lt;/a&gt;(data);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;return&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Encode(Byte%5b%5d):String" title="string System.Web.SessionState.SessionId.Encode(byte[] buffer);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;Encode&lt;/font&gt;&lt;/a&gt;(data);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; line-height: 14px; "&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font color="#1000a0" face="'Courier New'" style="font-size: 10pt; "&gt;private&lt;/font&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt; &lt;font color="#1000a0"&gt;static&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String" title="System.String&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt; &lt;b&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Encode(Byte%5b%5d):String"&gt;&lt;font color="#0000ff"&gt;Encode&lt;/font&gt;&lt;/a&gt;&lt;/b&gt;(&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[] buffer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Char" title="System.Char&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;char&lt;/font&gt;&lt;/a&gt;[] &lt;b&gt;chArray&lt;/b&gt; = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Char" title="System.Char&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;char&lt;/font&gt;&lt;/a&gt;[&lt;font color="#800000"&gt;0x18&lt;/font&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;num2&lt;/b&gt; = &lt;font color="#800000"&gt;0&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;for&lt;/font&gt; (&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;i&lt;/b&gt; = &lt;font color="#800000"&gt;0&lt;/font&gt;; i &amp;lt; &lt;font color="#800000"&gt;15&lt;/font&gt;; i += &lt;font color="#800000"&gt;5&lt;/font&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;num4&lt;/b&gt; = ((buffer[i] | (buffer[i + &lt;font color="#800000"&gt;1&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;8&lt;/font&gt;)) | (buffer[i + &lt;font color="#800000"&gt;2&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;0x10&lt;/font&gt;)) | (buffer[i + &lt;font color="#800000"&gt;3&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;0x18&lt;/font&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;index&lt;/b&gt; = num4 &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;5&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;10&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;15&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;20&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;0x19&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        num4 = ((num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;30&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;3&lt;/font&gt;) | (buffer[i + &lt;font color="#800000"&gt;4&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;2&lt;/font&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = num4 &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;5&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    }&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;return&lt;/font&gt; &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String/.ctor(Char%5b%5d)" title="System.String.String(char[]);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt;(chArray);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; line-height: 14px; "&gt;}&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br class="Apple-interchange-newline" /&gt; &lt;img src="http://geekswithblogs.net/AnkitAgrawal/aggbug/148610.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xMCLn8A7XAc" height="1" width="1"/&gt;</description><dc:creator>AnkitAgrawal</dc:creator><feedburner:origLink>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx</feedburner:origLink></item><item><title>Resharper Nightly Builds and Stylecop</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EfHPJ1dAUuI/resharper-nightly-builds-and-stylecop.aspx</link><pubDate>Mon, 06 Feb 2012 07:11:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148609.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148609.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148609.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Resharper Nightly Builds and Stylecop</source><description>The latest stylecop checks the ReSharper build number. In case you have to put on a more recent nightly build (as I am in the process of doing), here is the URL:&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds"&gt;http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Stylecop 4.7.8.0 checks the build number of ReSharper)&lt;br /&gt;&lt;br /&gt;
&lt;div style="position:relative; background:#7d255b url(http://www.jetbrains.com/resharper/features/rs/rs1/rs210x60_violet.gif) no-repeat 0 0; border:solid 1px #7d255b; margin:0;padding:0;text-decoration:none;text-indent:0;letter-spacing:-0.001em; width:208px; height:58px"&gt;&lt;span style="margin: -1px 0 0 63px;padding: 0;float: left;font-size: 10px;cursor:pointer;  background-image:none;border:0;color: #e9d5e1; font-family: trebuchet ms,arial,sans-serif;font-weight: normal;"&gt;Can't code without&lt;/span&gt;&lt;a href="http://www.jetbrains.com/resharper/features/navigation_search.html" alt="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" title="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" style="position:absolute;left:0;margin:0;padding:35px 0 1px 8px;width:200px; line-height:11px;font-size:10px;cursor:pointer;  background-image:none;border:none;display:block; color:#e9d5e1; font-family:tahoma,arial,sans-serif;font-weight: normal;text-decoration:none;"&gt;Powerful search and navigation in C#,&lt;br /&gt;VB, XML, ASP.NET, XAML and more&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148609.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EfHPJ1dAUuI" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx</feedburner:origLink></item><item><title>Site Columns can't be deleted / edited in SharePoint 2010??</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Su59vBKXQ6E/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</link><pubDate>Mon, 06 Feb 2012 01:46:29 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</guid><wfw:comment>http://geekswithblogs.net/DinoGrl/comments/148608.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DinoGrl/comments/commentRss/148608.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DinoGrl/services/trackbacks/148608.aspx</trackback:ping><source url="http://geekswithblogs.net/DinoGrl/rss.aspx">Site Columns can't be deleted / edited in SharePoint 2010??</source><description>&lt;p&gt;&lt;font face="Tahoma"&gt;I've recently migrated over to 2010 -- this is to say that I've recently started working at a company with an enterprise level 2010 SharePoint instance.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;As I was doing to customer requirement - content type-architecture-alignment and testing last week, I noticed that there are various SharePoint site columns that can't be modified and / or removed from (even) a custom list once they've been added.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;I did quick internet search and wasn't able to find anything riveting.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;Anyone know what the scoop is on this?&lt;/font&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/DinoGrl/aggbug/148608.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Su59vBKXQ6E" height="1" width="1"/&gt;</description><dc:creator>Melanie Curfman</dc:creator><feedburner:origLink>http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Job hopping with the buddy system</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/MSQvqvUXKqs/job-hopping-with-the-buddy-system.aspx</link><pubDate>Mon, 06 Feb 2012 05:51:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx</guid><wfw:comment>http://geekswithblogs.net/TomPepe/comments/148607.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomPepe/comments/commentRss/148607.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomPepe/services/trackbacks/148607.aspx</trackback:ping><source url="http://geekswithblogs.net/TomPepe/rss.aspx">Job hopping with the buddy system</source><description>&lt;p&gt;Imagine this scenario: You are sitting in your final technical interview the lead architect asks you about your experience using the MVC pattern noted on your resume.  Before you &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/tagteam_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="tagteam" border="0" alt="tagteam" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/tagteam_thumb.jpg" width="244" height="143" /&gt;&lt;/a&gt;can answer the coworker who developed that application with you says “I can answer this one, if that’s OK.”  The interview goes great and in two weeks you get the call and receive an offer for both of you.&lt;/p&gt;  &lt;p&gt;That’s one offer with given to a team of job applicants.  You all accept together as one unit or agree to reject the offer and keep looking.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Sound crazy?  Not according to The authors of “The 2020 Workplace” nor to s&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/The2020Workplace_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="The2020Workplace" border="0" alt="The2020Workplace" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/The2020Workplace_thumb.jpg" width="163" height="244" /&gt;&lt;/a&gt;several bloggers like &lt;a href="http://professional.damonoverboe.org/hiring-a-pair-of-programmers-crazy"&gt;damonoverboe.net&lt;/a&gt; and &lt;a href="http://moddingideas.com/?p=1800"&gt;moddingideas.com&lt;/a&gt; (see prediction 6).  “The 2020 Workplace” suggests that the future of IT may operate more “like Hollywood” with specialized teams who are hired, evaluated, rewarded, and even reprimanded as a group.&lt;/p&gt;  &lt;p&gt;This book was required reading for the masters program I just completed in Dec of 11.  This was the primary text for &lt;a href="http://blogs.missouristate.edu/mscis/2011/11/03/tap-into-social-media/"&gt;Dr Perreault’s class&lt;/a&gt;.  It is interesting that Damon would promote such a similar concept.  &lt;/p&gt;  &lt;p&gt;There is some compelling evidence that the importance of “socializing” your work reputations is increasing.  Have you noticed an uptick in coworkers who found out about the job openings through Facebook, LinkedIn, and twitter?  Have you or has your boss or interviewing company been to your blog?  Perhaps the same people who vouch for us on LinkedIn and Facebook should be in our interviews with us and if we are successful together why wouldn’t we want to keep working together?&lt;/p&gt;  &lt;p&gt;What do you think?  Is this a good idea?  Will employers start hiring entire teams?  Thank you for your input.  &lt;/p&gt; &lt;img src="http://geekswithblogs.net/TomPepe/aggbug/148607.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/MSQvqvUXKqs" height="1" width="1"/&gt;</description><dc:creator>tom</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx</feedburner:origLink></item><item><title>Stylecop 4.7.8.0 released </title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-ZwSNKElDRo/stylecop-4.7.8.0-released.aspx</link><pubDate>Sun, 05 Feb 2012 17:29:30 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148601.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148601.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148601.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Stylecop 4.7.8.0 released </source><description>Stylecop 4.7.8.0 has been released at &lt;a target="_blank" href="http://stylecop.codeplex.com/releases/view/79972"&gt;http://stylecop.codeplex.com/releases/view/79972&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"This version is now compatible with R# 5.1 (5.1.3000.12), R# 6.0 
(6.0.2202.688), R# 6.1 (6.1.37.86) and R# 6.1.1 (6.1.42.60) available 
from &lt;a href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds" class="ecxexternalLink" target="_blank"&gt;http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are the bug details for &lt;a href="http://stylecop.codeplex.com/workitem/list/advanced?keyword=&amp;amp;status=Fixed&amp;amp;type=All&amp;amp;priority=All&amp;amp;release=4.7&amp;amp;assignedTo=All&amp;amp;component=All&amp;amp;sortField=Id&amp;amp;sortDirection=Ascending&amp;amp;page=0" class="ecxexternalLink" target="_blank"&gt;fixed in 4.7&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and  &lt;a href="http://stylecop.codeplex.com/workitem/list/advanced?keyword=&amp;amp;status=Closed&amp;amp;type=All&amp;amp;priority=All&amp;amp;release=4.7&amp;amp;assignedTo=All&amp;amp;component=All&amp;amp;sortField=Id&amp;amp;sortDirection=Ascending&amp;amp;page=0" class="ecxexternalLink" target="_blank"&gt;closed in 4.7&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; issues (over 20 issues fixed since 4.6)"&lt;br /&gt;&lt;br /&gt;
&lt;div style="position:relative; background:#7d255b url(http://www.jetbrains.com/resharper/features/rs/rs1/rs210x60_violet.gif) no-repeat 0 0; border:solid 1px #7d255b; margin:0;padding:0;text-decoration:none;text-indent:0;letter-spacing:-0.001em; width:208px; height:58px"&gt;&lt;span style="margin: -1px 0 0 63px;padding: 0;float: left;font-size: 10px;cursor:pointer;  background-image:none;border:0;color: #e9d5e1; font-family: trebuchet ms,arial,sans-serif;font-weight: normal;"&gt;Can't code without&lt;/span&gt;&lt;a href="http://www.jetbrains.com/resharper/features/navigation_search.html" alt="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" title="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" style="position:absolute;left:0;margin:0;padding:35px 0 1px 8px;width:200px; line-height:11px;font-size:10px;cursor:pointer;  background-image:none;border:none;display:block; color:#e9d5e1; font-family:tahoma,arial,sans-serif;font-weight: normal;text-decoration:none;"&gt;Powerful search and navigation in C#,&lt;br /&gt;VB, XML, ASP.NET, XAML and more&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148601.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-ZwSNKElDRo" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx</feedburner:origLink></item><item><title>Path Too Long for Team Foundation Database Project Build</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HuP2j0elogo/path-too-long-for-team-foundation-database-project-build.aspx</link><pubDate>Sun, 05 Feb 2012 16:43:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/148600.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/148600.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/148600.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Path Too Long for Team Foundation Database Project Build</source><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:RelyOnVML/&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif][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-CA&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: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][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][if gte mso 10]&gt;
&lt;style&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:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;p class="MsoNormal"&gt;Arrggghhhh TFS and builds!  Such a love-hate
relationship!  So we have our TFS builds setup to both compile our C#
projects as well as compile and deploy our Team Foundation (TF) Database (DB) projects. 
One day I started getting the following file path too long error message on our build server:&lt;br /&gt;
&lt;br /&gt;
$/RQ4TeamProject/Prototypes/BuildProcessTests/RQ4.Database.sln - 1 error(s), 69
warning(s), View Log File&lt;br /&gt;
 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets
(80): The "SqlSetupDeployTask" task failed unexpectedly.
Microsoft.Data.Schema.Build.BuildFailedException: The specified path, file
name, or both are too long. The fully qualified file name must be less than 260
characters, and the directory name must be less than 248 characters. ---&amp;gt;
System.IO.PathTooLongException: The specified path, file name, or both are too
long. The fully qualified file name must be less than 260 characters, and the
directory name must be less than 248 characters.    at
System.IO.PathHelper.Append(Char value)    at
System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32
maxPathLength)    at System.IO.FileStream.Init(String path, FileMode
mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share,
Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String
msgPath, Boolean bFromProxy, Boolean useLongPath)    at
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare
share, Int32 bufferSize, FileOptions options, String msgPath, Boolean
bFromProxy)    at System.IO.FileStream..ctor(String path,
FileMode mode, FileAccess access, FileShare share, Int32 bufferSize,
FileOptions options)    at System.IO.StreamReader..ctor(String
path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32
bufferSize)    at System.IO.StreamReader..ctor(String path,
Boolean detectEncodingFromByteOrderMarks)    at
Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.GenerateMergedSqlCmdFiles(DeploymentContributorConfigurationSetup
setup, DeploymentContributorConfigurationFile configFile)    at
Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.OnEstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    at
Microsoft.Data.Schema.Build.DeploymentContributor.EstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    --- End of inner exception stack trace
---    at Microsoft.Data.Schema.Build.DeploymentContributor.EstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    at
Microsoft.Data.Schema.Build.DeploymentProjectBuilder.VerifyConfiguration()   
at Microsoft.Data.Schema.Tasks.DBSetupDeployTask.BuildDeploymentProject(ErrorManager
errors, ExtensionManager em)    at
Microsoft.Data.Schema.Tasks.DBSetupDeployTask.Execute()    at
Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()   
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost
taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost,
ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean&amp;amp; taskResult)&lt;br /&gt;
&lt;br /&gt;
Naturally I said, "Ok, our TF DB project isn't compiling because a path is
too long. Somebody must have checked in a stored procedure with a really long
name".  After viewing the history of the branch I was trying to build
however, I didn't see anything that stuck out.  So for fun I thought I
would shorten the Build Definition name's length and build again.  Viola,
like most path issues with TFS this fixed the issue (this is because the build
definition name is often used in the path that TFS moves/builds files
to).  However, we have many queries setup that match the specific Build
Definition name (since it's used in the "Integrated in Build" work
item value), so shortening it wasn't a long term solution.  As an added
frustration bonus, I discovered our build definition name was only 1 character too
long!&lt;br /&gt;
&lt;/p&gt;&lt;p class="MsoNormal"&gt;The first thing I did was make a &lt;a href="http://pathlengthchecker.codeplex.com"&gt;Path Length Checker&lt;/a&gt; program
so I could see how long the file paths (files and directories) really were on the build server.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Oddly enough, the longest paths were 40
characters short of the maximum limit described by the error message.&lt;/p&gt;&lt;p class="MsoNormal"&gt;So I took a look at our database folder structure and saw that it really was
wasting a lot of characters.  This is what the path to one of our stored
procedure folders looks like: "..\Database\Schema
Objects\Schemas\dbo\Programmability\Stored Procedures\Procs1".  I
figured that I would just rename some of these folders in Visual Studio and
that should be good........OMG never try this while connected to TFS!  I
got a popup warning for every single file under the directory I was renaming
(thousands of them), with something along the lines of "Cannot access file
X, or it is locked.....blah blah. Please press OK".  So after holding
down the enter key for a over an hour to get past all these prompts it finally
finished.  When I reviewed the changes to check in, I saw that many
duplicate folders had been created, and there were miscellaneous files all over
the place; some got moved, some never; what a mess.  So I went ahead and reverted my
changes.&lt;br /&gt;
&lt;br /&gt;
So I thought, "Ok, let's try this again, but first going offline so as not
to connect to TFS".  So I disabled my internet connection and opened
the database solution (this is the only way that I know of to work
"offline" in TFS :( ).  I then tried to change the high
level folder "Schema Objects" to just "Schema".  Nope,
Visual Studio complained that the folder was locked and couldn't be changed. 
I thought to myself, "TFS makes all non-checked out files read-only, and I'm offline so it can't check them out. 
That must be the problem".  So I opened up explorer and made all of
the files and folders writable and tried again. Nope, no deal; same error message.&lt;br /&gt;
&lt;br /&gt;
So I thought, "Alright, let's try doing a low level directory
instead".  It seems that VS would only let me rename a directory that
didn't contain other directories.  So I renamed the "Procs1"
folder to just "1".  I no longer got the warning prompt for every
file, but it was still pretty slow and I could watch VS process every file in
the Solution Explorer window.  After about 10 minutes it finally
finished.  So I checked in my changes and tried building again. 
Nope, same error message as before about the path being too long.&lt;br /&gt;
&lt;br /&gt;
So I said screw this.  I opened up the TFS Source Control Explorer and
renamed the folder from there.  It worked just fine.  I then had to
open up the Database.dbproj file in a text editor and do a find and replace to
replace "\Schema Objects\" with "\Schema\".  This
worked for refactoring the folder structure quickly, but I was still getting
the "path too long" error message on the build server. Arrrrgg!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So I went back to the build, set the verbosity to
“diagnostic” and launched another build (which failed again with the path too long error).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Looking through the error message I noticed
that it did complete building the DB schema, and went on to failing on building
the Pre/Post deployment scripts.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Looking
back to my original error message and reading it more carefully I noticed this
line, “Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.GenerateMergedSqlCmdFiles”.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;So now I was pretty sure the problem was in
the pre and post deployment scripts.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, we have a very custom process for our database scripts,
and part of this process involves using SQLCMD mode to include other script files
into our pre and post deployment files when they are generated; it basically
makes it look like the referenced script’s contents were in the pre/post
deployment script the entire time.  This is necessary for us so that developers don't have to look through pre and post deployment scripts that are tens of thousands of lines long.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It
turns out that while none of these referenced script files themselves had a
path that was over the limit, somehow during the generation of the pre/post
deployment scripts it was making the path even longer.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;I looked through our referenced scripts and saw a few
particularly long ones.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;So I refactored
them to shorten the file names, and presto the build worked!&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Hooray!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;I’m guessing that the reason the build wouldn’t give me an
actual filename when it encountered the error is because SQLCMD mode was
dynamically referencing those scripts at build time, so to the build it just looked like the pre and post deployment scripts were each thousands of lines long, when in fact they are only maybe 50 lines long, but they "include" other files, and those file references must be used at build time.&lt;br /&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So the morals of this story are:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:RelyOnVML/&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&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-CA&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: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;
&lt;style&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:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;/p&gt;&lt;p class="MsoNormal"&gt;1. If VS is blowing chunks when you try to rename a folder
(especially when connected to TFS), don't do it through VS.  Instead
modify the folder structure outside of VS and then manually edit the
.csproj/.dbproj/.vbproj files to mirror the changes.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;2. Whenever you are stumped on a build error, go back and
THOROUGHLY read the ENTIRE error message.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;3. Be careful when using compile-time language features to
reference/include external files.&lt;/p&gt;

 &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/148600.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HuP2j0elogo" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx</feedburner:origLink></item><item><title>Free Document scanning software - FreeOCR </title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/pW7cpJKxvEg/free-document-scanning-software---freeocr.aspx</link><pubDate>Sun, 05 Feb 2012 16:28:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148599.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148599.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148599.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Free Document scanning software - FreeOCR </source><description>Free OCR scanning software is available from &lt;a target="_blank" href="http://www.paperfile.net/"&gt;http://www.paperfile.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span class="style15"&gt;Click
            link below to download FreeOCR.net.&lt;br /&gt;
      &lt;/span&gt;This is a bootstrap installer and will only download the files needed to install the latest version of FreeOCR&lt;/p&gt;
        &lt;p&gt;&lt;a href="http://www.paperfile.net/freeocr.exe"&gt;Download Here &lt;/a&gt;&lt;/p&gt;
        &lt;font face="Arial, Helvetica, sans-serif"&gt;This includes the English
          language Pack&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img alt="Screenshot" src="http://www.paperfile.net/scanfile.jpg" /&gt;&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148599.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/pW7cpJKxvEg" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx</feedburner:origLink></item><item><title>APress Deal of the Day - 5/Feb/2012 -  Applied ASP.NET 4 in Context</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/TRB7Pz93ksE/apress-deal-of-the-day---5feb2012----applied.aspx</link><pubDate>Sun, 05 Feb 2012 14:50:36 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148598.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148598.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148598.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">APress Deal of the Day - 5/Feb/2012 -  Applied ASP.NET 4 in Context</source><description>Today's $10 Deal of the day from APress at &lt;a target="_blank" href="http://www.apress.com/9781430234678"&gt;http://www.apress.com/9781430234678&lt;/a&gt; is Applied ASP.NET 4 in Context&lt;br /&gt;&lt;br /&gt;"&lt;em&gt;Applied ASP.NET 4 in Context&lt;/em&gt; answers the commonly asked 
question, "Yes, but how does it work in reality?" Through a series of 
carefully constructed examples, the book shows how ASP.NET works in a 
real-world context, showing how technologies and best practices can be 
drawn together to create well-crafted web applications."&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/A9781430234678-small_7.png" /&gt;
&lt;br /&gt;&lt;br /&gt;
I have read other books by Alan Freeman and I know he is an excellent author who is good at providing real world examples.
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148598.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/TRB7Pz93ksE" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx</feedburner:origLink></item><item><title>Testing from Live Writer</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/RKxRdfPGNTQ/testing-from-live-writer.aspx</link><pubDate>Sun, 05 Feb 2012 08:53:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomStickel/archive/2012/02/05/testing-from-live-writer.aspx</guid><wfw:comment>http://geekswithblogs.net/TomStickel/comments/148597.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomStickel/comments/commentRss/148597.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomStickel/archive/2012/02/05/testing-from-live-writer.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomStickel/services/trackbacks/148597.aspx</trackback:ping><source url="http://geekswithblogs.net/TomStickel/rss.aspx">Testing from Live Writer</source><description>&lt;p&gt;this is a simple test&lt;/p&gt; &lt;img src="http://geekswithblogs.net/TomStickel/aggbug/148597.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/RKxRdfPGNTQ" height="1" width="1"/&gt;</description><dc:creator>TomStickel</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomStickel/archive/2012/02/05/testing-from-live-writer.aspx</feedburner:origLink></item><item><title>SQL Clustered vs. Non-Cluster Index</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/oipmQszxXoo/sql-clustered-vs.-non-cluster-index.aspx</link><pubDate>Sun, 05 Feb 2012 07:12:24 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomStickel/archive/2012/02/05/sql-clustered-vs.-non-cluster-index.aspx</guid><wfw:comment>http://geekswithblogs.net/TomStickel/comments/148596.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomStickel/comments/commentRss/148596.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomStickel/archive/2012/02/05/sql-clustered-vs.-non-cluster-index.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomStickel/services/trackbacks/148596.aspx</trackback:ping><source url="http://geekswithblogs.net/TomStickel/rss.aspx">SQL Clustered vs. Non-Cluster Index</source><description>&lt;div&gt;&lt;span style="color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px; background-color: rgb(254, 254, 254); "&gt;When you first create a new table, there is no index created by default. In technical terms, a table without an index is called a “heap”. We can confirm the fact that this new table doesn’t have an index by taking a look at the sysindexes system table, which contains one for this table with an of indid = 0. The sysindexes table, which exists in every database, tracks table and index information. “Indid” refers to Index ID, and is used to identify indexes. An indid of 0 means that a table does not have an index, and is stored by SQL Server as a heap.&lt;/span&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 20px; background-color: rgb(254, 254, 254); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(254, 254, 254); color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; line-height: 20px; "&gt;&lt;font color="#0000ff" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; "&gt;Creating a Non-Clustered Index&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(254, 254, 254); color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; line-height: 20px; "&gt;Now, we will create a unique non-clustered index on the empid column to see how it affects the data, and how the data is stored in SQL Server.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(254, 254, 254); color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; line-height: 20px; "&gt;&lt;font color="#0000ff" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; "&gt;CREATE UNIQUE NONCLUSTERED INDEX DummyTable1_empid&lt;br /&gt;ON DummyTable1 (empid)&lt;br /&gt;GO&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;A clustered index determines the physical order of data in a table. A clustered index is analogous to a telephone directory, which arranges data by last name. Because the clustered index dictates the physical storage order of the data in the table, a table can contain only one clustered index. However, the index can comprise multiple columns (a composite index), like the way a telephone directory is organized by last name and first name.&lt;/span&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;Clustered indexes are also efficient for finding a specific row when the indexed value is unique. For example, the fastest way to find a particular employee using the unique employee ID column &lt;b&gt;emp_id&lt;/b&gt; is to create a clustered index or PRIMARY KEY constraint on the &lt;b&gt;emp_id&lt;/b&gt; column.&lt;/p&gt;&lt;p class="indent" style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;/p&gt;&lt;p id="Alert_Note" style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;b&gt;Note&lt;/b&gt;  PRIMARY KEY constraints create clustered indexes automatically if no clustered index already exists on the table and a nonclustered index is not specified when you create the PRIMARY KEY constraint.&lt;/p&gt;&lt;p style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;Alternatively, a clustered index could be created on &lt;b&gt;lname&lt;/b&gt;,&lt;b&gt; fname&lt;/b&gt; (last name, first name), because employee records are often grouped and queried in this way rather than by employee ID.&lt;/p&gt;&lt;p style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;/p&gt;&lt;h2 style="font-family: Verdana, Arial, sans-serif; font-size: 13pt; color: rgb(255, 153, 0); text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;How Does a Non-Clustered Index Work?&lt;/h2&gt;&lt;p style="font-family: Verdana, Arial, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;A table can have more than one Non-Clustered index. But, it should have only one clustered index that works based on the Binary tree concept. Non-Clustered column always depends on the Clustered column on the database.&lt;/p&gt;&lt;p style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; text-align: left; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Most database administrators are familiar with the potential performance benefits they can gain through the judicious use of indexes on database tables. Indexes allow you to speed query performance on commonly used columns and improve the overall processing speed of your database.&lt;br /&gt;Microsoft SQL Server supports two types of indexes:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; text-align: left; background-color: rgb(155, 195, 213); "&gt; Clustered indexes define the physical sorting of a database table’s rows in the storage media. For this reason, each database table may have only one clustered index. If a PRIMARY KEY constraint is created for a database table and no clustered index currently exists for that table, SQL Server automatically creates a clustered index on the primary key&lt;/span&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; text-align: left; background-color: rgb(155, 195, 213); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font color="#4b5d67" face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;span style="font-size: 11px; line-height: 15px;"&gt;vs.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font color="#4b5d67" face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;span style="font-size: 11px; line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt; Non-clustered indexes are created outside of the database table and contain a sorted list of references to the table itself.&lt;/span&gt;&lt;br style="font-size: 11px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 15px; color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(155, 195, 213); " /&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt;SQL Server 2000 supports a maximum of 249 non-clustered indexes per table. However, it’s important to keep in mind that non-clustered indexes slow down the data modification and insertion process, so indexes should be kept to a minimum&lt;/span&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font color="#4b5d67" face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;span style="font-size: 11px; line-height: 15px;"&gt;----&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt;One of the hardest tasks facing database administrators is the selection of appropriate columns for non-clustered indexes. You should consider creating non-clustered indexes on any columns that are frequently referenced in the WHERE clauses of SQL statements. Other good candidates are columns referenced by JOIN and GROUP BY operations.&lt;/span&gt;&lt;br style="font-size: 11px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 15px; color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(155, 195, 213); " /&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt;You may wish to also consider creating non-clustered indexes that cover all of the columns used by certain frequently issued queries. These queries are referred to as “covered queries” and experience excellent performance gains.&lt;/span&gt;&lt;br style="font-size: 11px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 15px; color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(155, 195, 213); " /&gt;&lt;span style="color: rgb(75, 93, 103); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; background-color: rgb(155, 195, 213); "&gt;SQL Server provides a wonderful facility known as the Index Tuning Wizard which greatly enhances the index selection process. To use this tool, first use SQL Profiler to capture a trace of the activity for which you wish to optimize performance. You may wish to run the trace for an extended period of time to capture a wide range of activity. Then, using Enterprise Manager, start the Index Tuning Wizard and instruct it to recommend indexes based upon the captured trace. It will not only suggest appropriate columns for queries but also provide you with an estimate of the performance increase you’ll experience after making those changes!&lt;/span&gt;
&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TomStickel/aggbug/148596.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/oipmQszxXoo" height="1" width="1"/&gt;</description><dc:creator>TomStickel</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomStickel/archive/2012/02/05/sql-clustered-vs.-non-cluster-index.aspx</feedburner:origLink></item><item><title>Accessing QuickBooks Data for Use in LightSwitch</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QR1GYLEQ3-8/accessing-quickbooks-data-for-use-in-lightswitch.aspx</link><pubDate>Sat, 04 Feb 2012 23:05:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/GGBlogger/archive/2012/02/04/accessing-quickbooks-data-for-use-in-lightswitch.aspx</guid><wfw:comment>http://geekswithblogs.net/GGBlogger/comments/148595.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/GGBlogger/comments/commentRss/148595.aspx</wfw:commentRss><comments>http://geekswithblogs.net/GGBlogger/archive/2012/02/04/accessing-quickbooks-data-for-use-in-lightswitch.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/GGBlogger/services/trackbacks/148595.aspx</trackback:ping><source url="http://geekswithblogs.net/GGBlogger/rss.aspx">Accessing QuickBooks Data for Use in LightSwitch</source><description>&lt;h3&gt;Intuit Partner Platform and Data Access&lt;/h3&gt;
&lt;p&gt;I’m going to make some assumptions that will cover a lot of folks developing applications to work with QuickBooks.&lt;/p&gt;
&lt;p&gt;1. You are running a copy of QuickBooks on your development machine.&lt;/p&gt;
&lt;p&gt;2. You are running Visual Studio 2010 as your development environment of choice.&lt;/p&gt;
&lt;p&gt;3. You have some flavor of Microsoft LightSwitch installed.&lt;/p&gt;
&lt;p&gt;4. You want to access QuickBooks data on your machine to USE LightSwitch.&lt;/p&gt;
&lt;p&gt;Well now you have an option. Head on over to &lt;a href="http://www.rssbus.com"&gt;http://www.rssbus.com&lt;/a&gt; and pick up a copy of their QuickBooks Data Provider for ADO.NET. A one developer license with royalty-free distribution will cost you $599 at the present time and in the next few minutes I’m going to help you get started using this package.&lt;/p&gt;
&lt;p&gt;Although this software comes with a number of samples getting started was not all that intuitive for me. After a number of false starts I did a GoToMeeting with a gentleman named Casey and he showed me how to get started. The problem is that this package can serve in a number of capacities accessing QuickBooks data whether the data is local or remote so to get you started I am going to show you how to set things up locally to allow you to run QuickBooks Data Provider to use the samples supplied and to use LightSwitch to access the data. If you have a need for other setups you will need to consult their help files.&lt;/p&gt;
&lt;p&gt;Let’s start with the QuickBooks Remote Connector provided as part of the package. You won’t find it in your menu choices in the start menu but if you cruise on down to c:\program files (x86)\RSSBus\RSSBus QuickBooks Data Provider\RemoteConnector you will find RemoteConnector.exe. I chose to pin it to my taskbar but you could also make it a desktop icon. This connector is a mini http listener and it’s easy to get multiple instances running and we don’t want that. I’ll have more on that in a bit.&lt;/p&gt;
&lt;p&gt;When you start it you will get this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image001_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image001_thumb.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The most important thing to note is that we’re using port 2080. Now click the Users tab:&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image002_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image002_thumb.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fill in a user name and password. This is strictly for the use of the data connector and has no other purpose. To find the company file you want to use click the browse button and you will get:&lt;/p&gt;
&lt;p&gt;(Word of warning – clicking the Red X button at the upper right of the screen DOES NOT close the connector. To CLOSE the connector use the Exit button on the menu strip!!!!!)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image004_2.jpg"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image004_thumb.jpg" width="244" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Choose the file you want to access and click the start button. This starts the connector in listening mode. EVERY time you run this it will generate a new connection. You can see these in the hidden files section.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image005_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image005_thumb.png" width="198" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You only want ONE of these running at any given time. With one connector started and running you’re ready to move on to using the connection to access QB data.&lt;/p&gt;
&lt;h3&gt;So let’s access some data&lt;/h3&gt;
&lt;p&gt;My suggestion is to start the sample account application provided by RSSBus. The demos are installed as links when you install the Data Connector but you can also find them in Program Files (x86) under RSSBus. The form for the account application looks like this.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image006_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image006_thumb.png" width="244" height="220" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fill in the details using &lt;a href="http://localhost:2080"&gt;http://localhost:2080&lt;/a&gt; and your user name and password that you used in the connector dialog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image007_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image007" border="0" alt="clip_image007" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image007_thumb.png" width="244" height="220" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Before you go further open QuickBooks with the data you selected to use with the connector. With QuickBooks running click the Refresh button. QuickBooks should present you with the following screen:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image008_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image008_thumb.png" width="244" height="232" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You have a number of options here but I chose Yes, always and allowed it o access personal data for my testing purposes. Click Continue… to get:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image009_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image009" border="0" alt="clip_image009" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image009_thumb.png" width="244" height="151" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First warning – select Yes unless you want to change it then a final warning:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image010_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image010_thumb.png" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Click done and you can close QuickBooks if you like. Now click the refresh button on the account application and you should get this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image011_2.png"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="clip_image011" border="0" alt="clip_image011" src="http://geekswithblogs.net/images/geekswithblogs_net/GGBlogger/Windows-Live-Writer/7d087ea54f90_D3B2/clip_image011_thumb.png" width="244" height="220" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You’re now accessing QuickBooks data from an application external to QuickBooks. I know it seems like a lot of work but if you follow the instructions above things should go smoothly. I ended up with about a dozen Remote Connectors running on some of my first attempts. It took Casey and a GoToMeeting session to get me sorted out. Now I love it LOL. I’ll do more with LightSwitch in another blog.&lt;/p&gt;
&lt;p&gt;Bud Aaron – the Geriatric Geek&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetchecks.com"&gt;http://www.dotnetchecks.com&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/GGBlogger/aggbug/148595.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QR1GYLEQ3-8" height="1" width="1"/&gt;</description><dc:creator>GGBlogger</dc:creator><feedburner:origLink>http://geekswithblogs.net/GGBlogger/archive/2012/02/04/accessing-quickbooks-data-for-use-in-lightswitch.aspx</feedburner:origLink></item><item><title>Dice.com IT jobs search results Feb. 2012</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/c5Fq5jF6I84/dice.com-it-jobs-search-results-feb.-2012.aspx</link><pubDate>Sat, 04 Feb 2012 23:03:10 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomStickel/archive/2012/02/04/dice.com-it-jobs-search-results-feb.-2012.aspx</guid><wfw:comment>http://geekswithblogs.net/TomStickel/comments/148594.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomStickel/comments/commentRss/148594.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomStickel/archive/2012/02/04/dice.com-it-jobs-search-results-feb.-2012.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomStickel/services/trackbacks/148594.aspx</trackback:ping><source url="http://geekswithblogs.net/TomStickel/rss.aspx">Dice.com IT jobs search results Feb. 2012</source><description>Nationwide search on dice.com&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Feb. 4, 2012&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C# - 8,518&lt;/div&gt;&lt;div&gt;ASP.NET  4,957&lt;/div&gt;&lt;div&gt;.NET MVC 1,101&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Biztalk  409&lt;/div&gt;&lt;div&gt;Microsoft Dynamics CRM   461&lt;/div&gt;&lt;div&gt;Sharepoint 4,022&lt;/div&gt;&lt;div&gt;SQL Server 14,390&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Java  16,854&lt;/div&gt;&lt;div&gt;groovy  292&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oracle 18,118&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TomStickel/aggbug/148594.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/c5Fq5jF6I84" height="1" width="1"/&gt;</description><dc:creator>TomStickel</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomStickel/archive/2012/02/04/dice.com-it-jobs-search-results-feb.-2012.aspx</feedburner:origLink></item><item><title>Monster.com IT job search results from March 2010</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jUCJ7arcOts/monster.com-it-job-search-results-from-march-2010.aspx</link><pubDate>Sat, 04 Feb 2012 22:53:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomStickel/archive/2012/02/04/monster.com-it-job-search-results-from-march-2010.aspx</guid><wfw:comment>http://geekswithblogs.net/TomStickel/comments/148593.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomStickel/comments/commentRss/148593.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomStickel/archive/2012/02/04/monster.com-it-job-search-results-from-march-2010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomStickel/services/trackbacks/148593.aspx</trackback:ping><source url="http://geekswithblogs.net/TomStickel/rss.aspx">Monster.com IT job search results from March 2010</source><description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Monster.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nationwide search&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Job Title: Empty   ; Skills/keyword: mvc   location: empty&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Results: 523 jobs nationwide (mostly java )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Change to  Skills/keyword  ASP.NET MVC&lt;/div&gt;&lt;div&gt;Results:  80 jobs nationwide&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;.net mvc  =  129&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;groovy = 66 jobs&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;grails = 44 jobs&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C#    3,481&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;VB.NET  855&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;.NET  &amp;gt;5,000&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ASP.NET  2,245&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Java  &amp;gt; 5,000&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Delphi = 93&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;VB = 2,559&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Visual Basic  2,604&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ORM - 150&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hibernate  - 851&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NHibernate -  53&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Linq  = 162&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entity Framework = 97&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;fxcop = 5 jobs&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oracle = &amp;gt;5,000&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;SQL Server = 4,148&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;mysql = 1,431&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;db2  = 699&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nunit  = 120&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JUnit = 422&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Selenium = 142&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Coldfusion = 304&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perl = 2,371&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PHP = 1,540&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Python = 1,029&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ruby on Rails = 221&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Automation Engineer = 297&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Spring = 1,710&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Subverion = 559&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;VSS = 83&lt;/div&gt;&lt;div&gt;Visual Source Safe = 120&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CVS = 824&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;StarTeam = 14&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;vmware = 1,326&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Virtualbox = 3&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C++  = 4,266&lt;/div&gt;&lt;div&gt;&lt;br /&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;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt; &lt;img src="http://geekswithblogs.net/TomStickel/aggbug/148593.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jUCJ7arcOts" height="1" width="1"/&gt;</description><dc:creator>TomStickel</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomStickel/archive/2012/02/04/monster.com-it-job-search-results-from-march-2010.aspx</feedburner:origLink></item><item><title>Coming Back in action!!!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Q9S_lPIrcQA/148592.aspx</link><pubDate>Sat, 04 Feb 2012 22:08:09 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jith/archive/2012/02/04/148592.aspx</guid><wfw:comment>http://geekswithblogs.net/jith/comments/148592.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jith/comments/commentRss/148592.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jith/archive/2012/02/04/148592.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jith/services/trackbacks/148592.aspx</trackback:ping><source url="http://geekswithblogs.net/jith/rss.aspx">Coming Back in action!!!</source><description>It's been exactly over three years and two months since I last logged in to this blog. The last post which I made on Dec 2008, was itself after a one year gap :). Well, now let me try if I can continue this activity. Lot of learning, lot of new cool stuffs. Technology itself has been changed quite dramatically over this period with the addition of new cool stuffs and I believe my English as well improved a little bit :).  Microsoft developers finally started realizing the drawbacks of ASP.NET architecture and started drifting towards more web world friendly architecture like ASP.NET MVC. Thanks to the huge fan base of Ruby On Rails.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this context to start off this new beginning I will quote some interesting remark I found from the Mr.Asp.Net Scott Guthrie. Who is better than him to quote when I want to discuss about MVC?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Some guidance I occasionally give people on my team when working and communicating with others:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.You will rarely win a debate with someone by telling them that they are stupid - no matter how well intention ed or eloquent your explanation of their IQ problems might be.&lt;/div&gt;&lt;div&gt;2.There will always be someone somewhere in the world who is smarter than you - don’t always assume that they aren’t in the room with you.&lt;/div&gt;&lt;div&gt;3. People you interact with too often forget the praise you give them, and too often remember a past insult - so be judicious in handing them out as they come back to haunt you later. &lt;/div&gt;&lt;div&gt;4. People can and do change their minds - be open to being persuaded in a debate, and neither gloat nor hold it against someone else if they also change their minds. "&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Great points!!!  Very true as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/jith/aggbug/148592.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Q9S_lPIrcQA" height="1" width="1"/&gt;</description><dc:creator>Srijith Sarman</dc:creator><feedburner:origLink>http://geekswithblogs.net/jith/archive/2012/02/04/148592.aspx</feedburner:origLink></item><item><title>LINQ Query and Lambda Expressions</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/O4NAtt6kS_8/linq-query-and-lambda-expressions.aspx</link><pubDate>Sat, 04 Feb 2012 21:11:22 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomStickel/archive/2012/02/04/linq-query-and-lambda-expressions.aspx</guid><wfw:comment>http://geekswithblogs.net/TomStickel/comments/148591.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomStickel/comments/commentRss/148591.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomStickel/archive/2012/02/04/linq-query-and-lambda-expressions.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomStickel/services/trackbacks/148591.aspx</trackback:ping><source url="http://geekswithblogs.net/TomStickel/rss.aspx">LINQ Query and Lambda Expressions</source><description>&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb397687.aspx" target="_blank"&gt;Lambda expressions&lt;/a&gt; are a powerful tool to writing quick, concise code. They can be used in numerous situations, most notably in conjuction with LINQ statements.&lt;div&gt;&lt;br /&gt;A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;All lambda expressions use the lambda operator =&amp;gt;, which is read as “goes to”. The left side of the lambda operator specifies the input parameters (if any) and the right side holds the expression or statement block. The lambda expression x =&amp;gt; y * z is read “x goes to y times z.”&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Here’s how a typical LINQ query looks like without using lambda expressions:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;var query = from m in db.PersonalMessages&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;where m.ConversationID_FK == ConversationID&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;select m;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Okay, not bad. It looks like a SQL query in reverse (i.e. you start off with “from” and end with “select”). This is so that intellisense can help you out—if you started with select, it would have on idea where you were going with the query.&lt;br /&gt;we are selecting PersonalMessages where the ConversationID is equal to some value passed into the method. The query itself is kinda verbose, and I like to keep my code short and sweet, so how do I re-write this using lambda expressions? Here is the code, and then we’ll break it down:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;b&gt;var query = db.PersonalMessages&lt;br /&gt;.Where(m =&amp;gt; m.ConversationID_FK == ConversationID);&lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;We got rid of “select’”, “from” and “in”, etc. Cleaned it up quite a bit. What all is happening though? Basically it’s written out like:&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;My Query = Get Personal Messages from my data context Where the ConversationID is equal to this #.&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;In other words, it reads exactly like it does in the first written out query, but it’s done faster. The where statement is like a mini-method. You’re defining some variable M (you can use any letter, I always use m for the sake of convention in my code) and then in this case you’re giving m some condition to work with.&lt;br /&gt;You’re basically saying, define m real quick (m=&amp;gt;) as a stand-in for PersonalMessage. Then only return PersonalMessages where m’s ConversationID is equal to some value. &lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TomStickel/aggbug/148591.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/O4NAtt6kS_8" height="1" width="1"/&gt;</description><dc:creator>TomStickel</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomStickel/archive/2012/02/04/linq-query-and-lambda-expressions.aspx</feedburner:origLink></item><item><title>This is why I shouldn&amp;rsquo;t blog before a cup of coffee&amp;hellip;.</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8X5YZrOgMgg/148590.aspx</link><pubDate>Sat, 04 Feb 2012 16:19:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/clingermangw/archive/2012/02/04/148590.aspx</guid><wfw:comment>http://geekswithblogs.net/clingermangw/comments/148590.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/clingermangw/comments/commentRss/148590.aspx</wfw:commentRss><comments>http://geekswithblogs.net/clingermangw/archive/2012/02/04/148590.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/clingermangw/services/trackbacks/148590.aspx</trackback:ping><source url="http://geekswithblogs.net/clingermangw/rss.aspx">This is why I shouldn&amp;rsquo;t blog before a cup of coffee&amp;hellip;.</source><description>&lt;p&gt; &lt;/p&gt;  &lt;p align="center"&gt;Wake up in the morning feeling all C Sharpy    &lt;br /&gt;Grab my laptop by my bed, I'm going to code this pretty    &lt;br /&gt;Brush my teeth and my hair much later I'm sure    &lt;br /&gt;Cause when I'm coding an idea I ain't looking to score &lt;/p&gt;  &lt;p align="center"&gt;I'm talking curly braces have to close, close  &lt;br /&gt;Writing comments all in prose, prose.     &lt;br /&gt;Errors blowing up my codes, codes &lt;/p&gt;  &lt;p align="center"&gt;Music popping, coding my favorite ideas   &lt;br /&gt;Pulling up, reading the tweets    &lt;br /&gt;Starting to get a little bit Lispy&lt;/p&gt;  &lt;p align="center"&gt;No slop, make it top    &lt;br /&gt;Coding, blow that keyboard up    &lt;br /&gt;Today I'm going write    &lt;br /&gt;Till I see no sunlight     &lt;br /&gt;Fric, frack, errors back     &lt;br /&gt;But the coding just won’t stop no &lt;/p&gt;  &lt;p align="center"&gt;Coad-oh oh oh    &lt;br /&gt;Coad-oh oh oh&lt;/p&gt; &lt;img src="http://geekswithblogs.net/clingermangw/aggbug/148590.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8X5YZrOgMgg" height="1" width="1"/&gt;</description><dc:creator>George Clingerman</dc:creator><feedburner:origLink>http://geekswithblogs.net/clingermangw/archive/2012/02/04/148590.aspx</feedburner:origLink></item><item><title>Patches issued for PCAnywhere</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ZIA3KLXSqkQ/patches-issued-for-pcanywhere.aspx</link><pubDate>Sat, 04 Feb 2012 15:30:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/04/patches-issued-for-pcanywhere.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148589.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148589.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/04/patches-issued-for-pcanywhere.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148589.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Patches issued for PCAnywhere</source><description>Patches have been issued for PC Anywhere. Please see:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://www.symantec.com/security_response/securityupdates/detail.jsp?fid=security_advisory&amp;amp;pvid=security_advisory&amp;amp;year=2012&amp;amp;suid=20120124_00"&gt;http://www.symantec.com/security_response/securityupdates/detail.jsp?fid=security_advisory&amp;amp;pvid=security_advisory&amp;amp;year=2012&amp;amp;suid=20120124_00&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="http://www.informationweek.com/news/security/app-security/232600043"&gt;http://www.informationweek.com/news/security/app-security/232600043&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="http://www.theregister.co.uk/2012/02/02/pcanywhere_source_code_leak_sheanigans/"&gt;http://www.theregister.co.uk/2012/02/02/pcanywhere_source_code_leak_sheanigans/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148589.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ZIA3KLXSqkQ" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/04/patches-issued-for-pcanywhere.aspx</feedburner:origLink></item><item><title>Former Apple iPhone engineer Bob Borchers</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/JLig0NbsX04/148588.aspx</link><pubDate>Sat, 04 Feb 2012 10:14:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/kit/archive/2012/02/03/148588.aspx</guid><wfw:comment>http://geekswithblogs.net/kit/comments/148588.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/kit/comments/commentRss/148588.aspx</wfw:commentRss><comments>http://geekswithblogs.net/kit/archive/2012/02/03/148588.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/kit/services/trackbacks/148588.aspx</trackback:ping><source url="http://geekswithblogs.net/kit/rss.aspx">Former Apple iPhone engineer Bob Borchers</source><description>&lt;p&gt;&lt;a title="Bob Borchers" href="http://www.opuscapitalventures.com/team/general-partners/bob-borchers/"&gt;Bob Borchers&lt;/a&gt; revealed that the reason a lot of iPhone adverts show the time as 9:42 am on the iPhone was because the iPhone was originally launched at that time.&lt;/p&gt;&lt;p&gt;For one of the commercial for the original iPhone, Borchers said the phone number used to demo the Google Map function was genuine and is the actual number number of the Pacific Catch Restaurant in San Franscisco and the last time he was there they still had the iPhone special, which is calamari.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.macnn.com/articles/12/02/02/talk.to.students.emphasizes.innovation/"&gt;http://www.macnn.com/articles/12/02/02/talk.to.students.emphasizes.innovation/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;&lt;img src="http://i78.photobucket.com/albums/j95/kit_ong/iPhone/pacificcatch.jpg" /&gt;&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://i78.photobucket.com/albums/j95/kit_ong/iPhone/pacificcatchmap.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://i78.photobucket.com/albums/j95/kit_ong/iPhone/09-42am.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://i78.photobucket.com/albums/j95/kit_ong/iPhone/9-42amiPhoneannouncement.jpg" width="684" height="875" /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/kit/aggbug/148588.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/JLig0NbsX04" height="1" width="1"/&gt;</description><dc:creator>Kit Ong</dc:creator><feedburner:origLink>http://geekswithblogs.net/kit/archive/2012/02/03/148588.aspx</feedburner:origLink></item><item><title>Organization &amp;amp; Architecture UNISA Studies &amp;ndash; Chap 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PzMRdo_Po8Q/organization-amp-architecture-unisa-studies-ndash-chap-2.aspx</link><pubDate>Sat, 04 Feb 2012 09:59:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MarkPearl/archive/2012/02/04/organization-amp-architecture-unisa-studies-ndash-chap-2.aspx</guid><wfw:comment>http://geekswithblogs.net/MarkPearl/comments/148587.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MarkPearl/comments/commentRss/148587.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MarkPearl/archive/2012/02/04/organization-amp-architecture-unisa-studies-ndash-chap-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MarkPearl/services/trackbacks/148587.aspx</trackback:ping><source url="http://geekswithblogs.net/MarkPearl/rss.aspx">Organization &amp;amp; Architecture UNISA Studies &amp;ndash; Chap 2</source><description>&lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Designing for Performance&lt;/h3&gt;  &lt;p&gt;The basic building blocks for todays computers are virtually the same as those of the early IAS computers. The focus has been on optimizing and increasing speeds while keeping the same architecture.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Processors&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Increasing speed with processors uses several techniques including…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Branch prediction – a processor looks ahead in the instruction code fetched from memory and predicts which branches or groups of instructions are likely to be processed next.&lt;/li&gt;    &lt;li&gt;Data flow analysis – the processor analyses which instructions are dependent on each others results or data to create an optimized schedule of instructions preventing unnecessary delay&lt;/li&gt;    &lt;li&gt;Speculative execution – Using branch prediction and data flow analysis some processors speculatively execute instructions ahead of their actual appearance in the program execution saving the results in a temporary location&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Performance Balance&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;While processor power has increased over the years, other critical components have not kept up. The result is a need to look for ways of balancing the performance. One of the main bottlenecks has been the interface between processor and main memory.&lt;/p&gt;  &lt;p&gt;There are a number of ways that a system architect can address this problem including the following…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Increase the number of bits that are retrieved at one time by making DRAMs wider rather than deeper and using wide bus data paths&lt;/li&gt;    &lt;li&gt;Change the DRAM interface to make it more efficient by including a cache or other buffering scheme on the DRAM chip&lt;/li&gt;    &lt;li&gt;Reduce the frequency of memory access by incorporating increasingly complex and efficient cache structures between the processor and main memory including the incorporation of one or more caches on the processor as well as on an off chip cache close to the processor chip&lt;/li&gt;    &lt;li&gt;Increase the interconnect bandwidth between processors and memory by using higher speed buses and by using a hierarchy of buses to buffer and structure data flow.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Another are of design focus is the handling of I/O devices. The main challenge is getting the data from these devices moved between processor and peripheral. Strategies include buffering and cache techniques. The use of multiple processor configurations can aid in satisfying I/O demands as well.&lt;/p&gt;  &lt;p&gt;There are generally two constantly evolving factors&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The rate at which performance is changing in the various technology areas differs greatly from one type of element to another&lt;/li&gt;    &lt;li&gt;New applications and new peripheral devices constantly change the nature of the demand on the system in terms of typical instruction profile and the data access patterns&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Improvements in Chip Organization and Architecture&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There are 3 approaches to achieving increased processor speed…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Increase the hardware speed of the processor (i.e. shrinking the size of the logic gates on the processor chip which would increase the individual operations executed on the chip)&lt;/li&gt;    &lt;li&gt;Increase the size and speed of caches that are interposed between the processor and main memory.&lt;/li&gt;    &lt;li&gt;Make changes to the processor organization and architecture that increase the effective speed od instruction execution (normally via parallelism)&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;As clock speeds and logic density increase, a number of obstacles become more significant including…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Power &lt;/strong&gt;– the power density increases with an increase in logic density and clock speed. One challenge of this is the difficulty of dissipating the heat generated on high-density, high-speed chips&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RC delay &lt;/strong&gt;– The speed at which electrons can flow on a chip between transistors is limited by the resistance and capacitance of the metal wires connecting them. delay increases as the RC product increases. As components on the chip decrease in size, the wires are closer together, increasing capacitance&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Memory latency – &lt;/strong&gt;Memory speeds lag processor speeds as previously discussed&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;With these challenges becoming harder to reduce, designers of chips are now resorting to placing multiple processors on the same chip, with a large shared cache. Multicore processors provide the potential to increase performance without increasing the clock rate. Thus the current strategy is to rather use two simpler processors instead of one more complicated processor.&lt;/p&gt;  &lt;h3&gt;The Evolutions of the Intel x86 Architecture&lt;/h3&gt;  &lt;p&gt;There are two main architectures that we will examine – &lt;strong&gt;Intel x86&lt;/strong&gt; and &lt;strong&gt;ARM&lt;/strong&gt; processors&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;CISC Design &lt;/strong&gt;- The Intel x86 is an excellent example of CISC design (Complex Instruction Set Computers). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RISK Design &lt;/strong&gt;- The ARM architecture is used in a wide variety of devices and embedded systems and is a good example of RISC design (Reduced instruction set).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Some of the main differences between the Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4, the Core (Duo) and the Core 2&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pentium – introduced the use of superscalar techniques, which allow multiple instructions to execute in parallel&lt;/li&gt;    &lt;li&gt;Pentium Pro – Made aggressive use of register renaming, branch prediction, data flow analysis and speculative execution&lt;/li&gt;    &lt;li&gt;Pentium II – Used Intel MMX technology which is designed to specifically process video, audio, and graphics data efficiently&lt;/li&gt;    &lt;li&gt;Pentium III – Incorporates additional floating-point instructions to support 3D graphics software&lt;/li&gt;    &lt;li&gt;Pentium 4 – Includes additional floating point and other enhancements for multimedia&lt;/li&gt;    &lt;li&gt;Core – First microprocessor with a dual core, i.e. two processors on a single chip&lt;/li&gt;    &lt;li&gt;Core 2 – Extends the architecture to 64 bits&lt;/li&gt; &lt;/ul&gt; &lt;img src="http://geekswithblogs.net/MarkPearl/aggbug/148587.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PzMRdo_Po8Q" height="1" width="1"/&gt;</description><dc:creator>MarkPearl</dc:creator><feedburner:origLink>http://geekswithblogs.net/MarkPearl/archive/2012/02/04/organization-amp-architecture-unisa-studies-ndash-chap-2.aspx</feedburner:origLink></item><item><title>Invitation to the IASA SE Florida Chapter Meeting on 02/21/2012</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/eB0c2Bh0K8k/invitation-to-the-iasa-se-florida-chapter-meeting-on-02212012.aspx</link><pubDate>Sat, 04 Feb 2012 03:28:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Rainer/archive/2012/02/03/invitation-to-the-iasa-se-florida-chapter-meeting-on-02212012.aspx</guid><wfw:comment>http://geekswithblogs.net/Rainer/comments/148586.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Rainer/comments/commentRss/148586.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Rainer/archive/2012/02/03/invitation-to-the-iasa-se-florida-chapter-meeting-on-02212012.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Rainer/services/trackbacks/148586.aspx</trackback:ping><source url="http://geekswithblogs.net/Rainer/rss.aspx">Invitation to the IASA SE Florida Chapter Meeting on 02/21/2012</source><description>&lt;p align="center"&gt; &lt;strong&gt;IASA SE Florida Chapter&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;font color="#0000ff" size="4"&gt;Software Design Patterns&lt;br /&gt;&lt;/font&gt;&lt;font color="#ff0000" size="4"&gt;Nina Grantcharova&lt;br /&gt;&lt;/font&gt;Software Architect at LL Global &lt;br /&gt;02/21/2012 6:00PM Meet 6:30PM Presentation&lt;/p&gt;&lt;p align="center"&gt;&lt;font size="2"&gt;Sign up at: &lt;/font&gt;&lt;a href="http://www.iasaglobal.org/assnfe/ev.asp?ID=249"&gt;&lt;font size="2"&gt;http://www.iasaglobal.org/assnfe/ev.asp?ID=249&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="1"&gt;Posted:&lt;br /&gt;Rainer Habermann&lt;br /&gt;President IASA SE Florida Chapter&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Rainer/aggbug/148586.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/eB0c2Bh0K8k" height="1" width="1"/&gt;</description><dc:creator>Rainer Habermann</dc:creator><feedburner:origLink>http://geekswithblogs.net/Rainer/archive/2012/02/03/invitation-to-the-iasa-se-florida-chapter-meeting-on-02212012.aspx</feedburner:origLink></item><item><title>South Florida Code Camp 02/18/2012 at Nova University</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xFMkDUzOFyY/south-florida-code-camp-02182012-at-nova-university.aspx</link><pubDate>Sat, 04 Feb 2012 03:16:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Rainer/archive/2012/02/03/south-florida-code-camp-02182012-at-nova-university.aspx</guid><wfw:comment>http://geekswithblogs.net/Rainer/comments/148585.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Rainer/comments/commentRss/148585.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Rainer/archive/2012/02/03/south-florida-code-camp-02182012-at-nova-university.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Rainer/services/trackbacks/148585.aspx</trackback:ping><source url="http://geekswithblogs.net/Rainer/rss.aspx">South Florida Code Camp 02/18/2012 at Nova University</source><description>&lt;p align="center"&gt;&lt;font size="4"&gt;South Florida Code Camp on 02/18/2012 - a free event: 66 Speakers - 14 Tracks - 81 Sessions&lt;/font&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;font size="4"&gt;Sign up to attend: &lt;/font&gt;&lt;a href="http://http://www.fladotnet.com/codecamp/"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;&lt;font size="4"&gt;http://www.fladotnet.com/codecamp/&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; &lt;/p&gt;&lt;p align="center"&gt;&lt;font size="2"&gt;Rainer Habermann&lt;br /&gt;SFCC Speaker Coordinator&lt;/font&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;font color="#0066cc"&gt;&lt;/font&gt;&lt;/u&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/Rainer/aggbug/148585.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xFMkDUzOFyY" height="1" width="1"/&gt;</description><dc:creator>Rainer Habermann</dc:creator><feedburner:origLink>http://geekswithblogs.net/Rainer/archive/2012/02/03/south-florida-code-camp-02182012-at-nova-university.aspx</feedburner:origLink></item><item><title>Migrating Custom Lists with Attachments from OLSB to Office 365</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/GfDsCG7mzH4/148584.aspx</link><pubDate>Fri, 03 Feb 2012 23:05:20 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2012/02/03/148584.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/148584.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/148584.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2012/02/03/148584.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/148584.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">Migrating Custom Lists with Attachments from OLSB to Office 365</source><description>&lt;p&gt;Before I get into this I am not an Office Live Small Business or Office 365 expert but I have used Office Live Small Business for number of years as a light weight way of managing some parts of my business.  I now need to migrate to Office 365 and one of the areas which concerned me was around custom lists which had attachments.  I had a number of these with lots of rows and I had been waiting for some information on how these would be migrated and hoped they would just be migrated for me automatically.
&lt;/p&gt;&lt;p&gt;When the migration guidance came out this was unfortunately not the case so I thought this post may help some others who have the same task to perform over the coming months before the final closure of OLSB.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Step 1: Replicate the list structure
&lt;/h1&gt;&lt;p&gt;In your Office Live Small Business account open up the custom list and go to its settings so you can see the structure of the list.
&lt;/p&gt;&lt;p&gt;In your Office 365 account create the new custom list to replicate the structure from Office Live Small Business.
&lt;/p&gt;&lt;p&gt;A couple of recommendations here:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You may want to consider leaving the constraints on columns such as choices etc for later and initially create the columns with simple types then fix them later
&lt;/li&gt;&lt;li&gt;Ensure the columns are in the same order to make things simpler
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Step 2: Open Your existing list in Microsoft Access
&lt;/h1&gt;&lt;p&gt;In your Office Live Small Business custom list use the Actions menu and select Open with Access.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/020312_2251_MigratingCu1.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;This will open the list in Microsoft Access so you will obviously need it installed.
&lt;/p&gt;&lt;p&gt;When the list opens in access choose the option to export a copy of the data and an appropriate location to save it.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/020312_2251_MigratingCu2.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Step 3: Open your new list in Microsoft Access
&lt;/h1&gt;&lt;p&gt;In your Office 365 account open your list and select the Open with Access option highlighted below.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/020312_2251_MigratingCu3.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;When the list opens choose to have data linked to the sharepoint site like in the below pic.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/020312_2251_MigratingCu4.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Step 4: Copy the core data
&lt;/h1&gt;&lt;p&gt;Unfortunately you cannot copy everything all in one go because the rows must be created before an item can be attached.  From here the next thing to do is to select the column headers in the access instance from the Office Live Small Business list.  Select all headers except the one for the attachments column.  Like in the below picture.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/michaelstephenson/020312_2251_MigratingCu5.png" alt="" /&gt;
	&lt;/p&gt;&lt;p&gt;Next go to the Access instance which is linked to the Sharepoint List in the Office 365 site.  Paste the lines into this Access instance.  The paste action will slowly insert the new rows into the Office 365 SharePoint List.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Step 5: Copy Attachments
&lt;/h1&gt;&lt;p&gt;You should now have two Microsoft Access databases with the same rows in.  One a copy from Office Live Small Business and one with a linked table to the Office 365 SharePoint list.  The rows will all be in the same order.
&lt;/p&gt;&lt;p&gt;The next step is to copy the attachments.
&lt;/p&gt;&lt;p&gt;In the Office Live Small Business Access instance select the column header for the attachments.  The one with the paper clip symbol as its header.  Then copy the entire column.
&lt;/p&gt;&lt;p&gt;In the Office 365 Access instance select the attachments column header and paste the entire column.
&lt;/p&gt;&lt;p&gt;This paste action will probably take a while if you have a lot of attachments.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Conclusion
&lt;/h1&gt;&lt;p&gt;As I mentioned at the start the biggest concern I had with the Office Live Small Business to Office 365 migration was around what to do with all of my custom lists and attachments.  Unfortunately the self migration guide wasn't very useful for this bit because It just said to export your data but didn't cover importing it or anything about attachments.
&lt;/p&gt;&lt;p&gt;As you can see this only took a short time to do so generally I am quite pleased that this is complete and I can now get on with enjoying the many new features of Office 365 and let my OLSB account disappear into the past.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/148584.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/GfDsCG7mzH4" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2012/02/03/148584.aspx</feedburner:origLink></item><item><title>Make sure computer names are 15 characters or less for MSMQ messages to get delivered</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/rn308UFSDEE/make-sure-computer-names-are-15-characters-or-less-fro.aspx</link><pubDate>Fri, 03 Feb 2012 22:01:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Plumbersmate/archive/2012/02/03/make-sure-computer-names-are-15-characters-or-less-fro.aspx</guid><wfw:comment>http://geekswithblogs.net/Plumbersmate/comments/148583.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Plumbersmate/comments/commentRss/148583.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Plumbersmate/archive/2012/02/03/make-sure-computer-names-are-15-characters-or-less-fro.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Plumbersmate/services/trackbacks/148583.aspx</trackback:ping><source url="http://geekswithblogs.net/Plumbersmate/rss.aspx">Make sure computer names are 15 characters or less for MSMQ messages to get delivered</source><description>&lt;p&gt;Thanks to &lt;a href="&amp;quot;https://twitter.com/seifattar"&gt;Seif Attar&lt;/a&gt; for highlighting this &lt;a&gt;problem.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It seems MSMQ doesn’t like sending to computers with names longer than 15 characters (which some may remember is the NetBIOS limitation).&lt;/p&gt;  &lt;p&gt;To try it out, I created a queue on a Windows XP machine with a computer name of VeryLongMSMQServer and sent off some test messages to&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DIRECT=os:verylongmsmqserver\private$\txqueue&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I requested acknowledgements so I could see any errors and wasn’t disappointed:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_8.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_thumb_3.png" width="425" height="470" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As soon as I renamed the machine to ShortMSMQServer, restarted and sent new messages to &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DIRECT=os:shortmsmqserver\private$\txqueue&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;the problem disappeared:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_10.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_thumb_4.png" width="424" height="468" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The messages are delivered to the destination’s queue manager in both cases but are rejected when the machine name is too long.&lt;/p&gt;  &lt;p&gt;My suspicion is that this is a NetBIOS limitation. When I initially changed the machines computer name to one that was too long, Windows XP complained “The NetBIOS name of the computer is limited to 15 bytes. The NetBIOS name will be shortened to “VERYLONGMSMQSER”.:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/Plumbersmate/Windows-Live-Writer/8944546f1097_130DA/image_thumb.png" width="427" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I did try enabling the IgnoreOSNameValidation registry value in case that would help but no luck.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Plumbersmate/aggbug/148583.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/rn308UFSDEE" height="1" width="1"/&gt;</description><dc:creator>John Breakwell</dc:creator><feedburner:origLink>http://geekswithblogs.net/Plumbersmate/archive/2012/02/03/make-sure-computer-names-are-15-characters-or-less-fro.aspx</feedburner:origLink></item><item><title>Organizing Your Work With OneNote Page Templates</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Uy-bnwm8t38/organizing-your-work-with-onenote-page-templates.aspx</link><pubDate>Fri, 03 Feb 2012 21:15:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2012/02/03/organizing-your-work-with-onenote-page-templates.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/148582.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/148582.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2012/02/03/organizing-your-work-with-onenote-page-templates.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/148582.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Organizing Your Work With OneNote Page Templates</source><description>&lt;p&gt;If you have seen the Windows Phone commercial where the father is in the grocery store with the shopping list in OneNote you have gotten you first taste of the flexibility that can be had with OneNote.  I like most consultants have a lot of fires going and once and I am finding that the templates in OneNote are helping me to get a handle on the different projects and tasks I need to track.&lt;/p&gt;  &lt;p&gt;I started using OneNote to do simply what its name suggests: take and organize notes.  Lately though I am finding ways that it can help to centralize things that I had been using multiple applications to accomplish.  Having them all in one place, as with most things makes it easier to not miss something.&lt;/p&gt;  &lt;p&gt;You may find using the tasks feature of Outlook works well for you, but I found that I was in and out of my email so fast that I ignored the tasks.  As simple To Do List template in OneNote seems to be the solution for me since I spend so much time documenting projects.  As an alternative you can use the Prioritized To Do List shown below or the Project To Do List which gives you a list per project.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Leveraging-OneNote-Page-Templates_9D86/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Leveraging-OneNote-Page-Templates_9D86/image_thumb_1.png" width="676" height="466" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When starting a project at a new client Project Overview is a great way to organize your thought and make sure that you cover all the essentials.  While I am just starting to use it this template is quickly proving its worth.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Leveraging-OneNote-Page-Templates_9D86/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Leveraging-OneNote-Page-Templates_9D86/image_thumb.png" width="642" height="445" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course if you don’t find a template that fits your needs you can create your own templates. Start with one of the standards and edit it.  Then click Save Current Page As A Template.  This is great especially for customizing templates like the project overview to suit you needs.&lt;/p&gt;  &lt;p&gt;There are many other features to this tool for you to explore.  Add to everything above that it is a write once, maintain anywhere product and I can easily access my notes from any browser or even my Windows Phone.  Life is getting just a little better.&lt;/p&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bb985965-e1ee-4107-843f-4571c33dc5af" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/OneNote" rel="tag"&gt;OneNote&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ToDo" rel="tag"&gt;ToDo&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Task+Management" rel="tag"&gt;Task Management&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Office" rel="tag"&gt;Office&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/148582.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Uy-bnwm8t38" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2012/02/03/organizing-your-work-with-onenote-page-templates.aspx</feedburner:origLink></item><item><title>Implementing Team Foundation Server 2010 In A Mixed Development Environment</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/NIpMVOJH4TY/implementing-team-foundation-server-2010-in-a-mixed-development-environment.aspx</link><pubDate>Fri, 03 Feb 2012 18:58:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2012/02/03/implementing-team-foundation-server-2010-in-a-mixed-development-environment.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/148581.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/148581.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2012/02/03/implementing-team-foundation-server-2010-in-a-mixed-development-environment.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/148581.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Implementing Team Foundation Server 2010 In A Mixed Development Environment</source><description>&lt;p&gt;Most of us spend our time in Visual Studio writing .NET code within a Visual Studio solution.  Given this situation we find it very easy to integrate with Team Foundation Server for our source control and have a well known work pattern.  But what happens when you want to use TFS as source control for non-Microsoft development?&lt;/p&gt;  &lt;p&gt;The most important thing to remember is that source control should be as transparent as possible to the developer.  If the particular language or product does not have an Integrated Development Environment then having plug-ins to maintain this transparency is not possible and your next concern is making the way the developers interact with TFS as simple as possible.&lt;/p&gt;  &lt;p&gt;Let’s assume that you are facing the latter situation.  The first thing to do is sit down with the team and find out what their normal process is for developing.  You need to find out how the code that becomes their executables are organized.  The key is striking a balance between logical separation and making extra work by creating too many projects.  If they users are accustomed to managing their code in a single folder then you may want to maintain that same structure for your TFS projects.&lt;/p&gt;  &lt;p&gt;Once you get past the structure issues you then need to address the subject of branching and labeling.  I recently ran into a situation where the non-Microsoft development was customization of a packaged software.  This presented additional considerations.  They get a copy of the off the shelf code with each release from the vendor.  There may be features that are actually removed from one release to the next.  This made it easier to start a new project for each release than using labels or branching.  The last thing they wanted was code files creeping back in if they got latest and only new files had been overwritten but the obsolete files were still there.&lt;/p&gt;  &lt;p&gt;In the end it boils down to understanding the needs of your development teams and molding your usage models to those needs.  Maintain as much transparency for your developers as possible by limiting the touch points for TFS and as often as possible allowing them to continue developing the way the always have.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2f4c4316-1007-425c-af02-bea96a2db8ee" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Team+Foundation+Server+2010" rel="tag"&gt;Team Foundation Server 2010&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/148581.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/NIpMVOJH4TY" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2012/02/03/implementing-team-foundation-server-2010-in-a-mixed-development-environment.aspx</feedburner:origLink></item></channel></rss>

