<?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" href="http://feeds.feedburner.com/geekswithblogs" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Lets build a simple blog engine [eboard] - 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/h81uGIOno3o/blogengine2.aspx.aspx</link><pubDate>Thu, 26 Nov 2009 20:47:50 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/blogengine2.aspx.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136559.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136559.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/blogengine2.aspx.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136559.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">Lets build a simple blog engine [eboard] - 2</source><description>&lt;p&gt;Welcome to the 2nd series of building a blog engine.  In the first part we have laid out the foundation for this application and modeled the DB  structure for quick mockup.&lt;/p&gt;
&lt;p&gt;You can read the first part here &lt;a href="http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/lets-build-a-simple-blog-engine-eboard---1.aspx"&gt;lets-build-a-simple-blog-engine-eboard---1.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One thing I missed to mentioned in the first part is the we will be using the excellent ELMAH for error logging.  This is a pretty cool module which hooks up to the system &lt;br /&gt;
and logs all exceptions without writing a single line of code.&lt;/p&gt;
&lt;p&gt;You can read more about ELMAH at &lt;a href="http://code.google.com/p/elmah/"&gt;code.google.com/p/elmah/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What we will be doing is creating the public facing website first rather than creating the administration screens.  We will decide upon the themes to use and mockup a &lt;br /&gt;
quick prototype for the public view.&lt;/p&gt;
&lt;p&gt;The following the is the project structure I came up with.  This is just skeleton and the meat will be added incrementally over next couple of weeks.&lt;/p&gt;
&lt;h3&gt;Project Structure &lt;/h3&gt;
&lt;p&gt;&lt;img width="702" height="601" src="/images/geekswithblogs_net/rajeshpillai/folder_structure_1.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I have divided the project according to the responsibility of each component.  As you can see we will be using the LinqToSql along with the Repository pattern for &lt;br /&gt;
data access.  This will provide us with the flexibility to switch data provider at will and also provides the principle of OCP (Open for Extension and Closed for Modification).&lt;/p&gt;
&lt;p&gt;I prefer to keep the model in a separate project rather than keeping it along with the web project.  For this project the controllers wil be lying in the default "Controllers" folder.&lt;/p&gt;
&lt;p&gt;We will also change the layout of the "Content" folder.  The content folder is where all your css are kept.  We will take a different approach possibly to enable easy theming &lt;br /&gt;
of our blogs.&lt;/p&gt;
&lt;p&gt;Watch for the next post, where we will be mocking up the public site for the blog.  &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136559"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136559" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136559.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/h81uGIOno3o" height="1" width="1"/&gt;</description><dc:creator>Rajesh Pillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/blogengine2.aspx.aspx</feedburner:origLink></item><item><title>Visual Studio 2005/2008 Code Analysis Error</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/GYI23c_sy4Y/136558.aspx</link><pubDate>Thu, 26 Nov 2009 11:52:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mapfel/archive/2009/11/26/136558.aspx</guid><wfw:comment>http://geekswithblogs.net/mapfel/comments/136558.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mapfel/comments/commentRss/136558.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mapfel/archive/2009/11/26/136558.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mapfel/services/trackbacks/136558.aspx</trackback:ping><source url="http://geekswithblogs.net/mapfel/rss.aspx">Visual Studio 2005/2008 Code Analysis Error</source><description>&lt;p&gt;After installing VS2005 TE on my machine (which previously runs Visual Studio 2008 TE) all mixed projects (VS2005/VS2008 compatibility with TargetFramework=2.0 and ToolsVersion=2.0 options) thrown an error during compilation:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(46,4):&lt;br /&gt;error : In order to perform Code Analysis on managed binaries, MSBuild needs to launch FxCop.&lt;br /&gt;MSBuild is unable to locate the FxCop binaries.&lt;br /&gt;Make sure Visual Studio Team Edition &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; Software Developers or Visual Studio Team Suite is installed &lt;br /&gt;and run MSBuild from within the &lt;span style="color: #006080"&gt;"Visual Studio Command Prompt"&lt;/span&gt; &lt;br /&gt;or specify the path to FxCop by setting the FXCOPDIR environment variable.&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Specifying the FXCOPDIR-variable brings up the next obscure errors.&lt;/p&gt;

&lt;p&gt;Replacing the VS2005 CodeAnalysis targets with the VS2008 targets lets run everything fine.&lt;/p&gt;

&lt;p&gt;So replace [dont forget to make a backup ;-)]&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New"&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\CodeAnalysis&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;with&lt;/p&gt;

&lt;p&gt;&lt;font face="Courier New"&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\CodeAnalysis&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;But now you get an error in Visual Studio 2005:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;MSBUILD : error : Invalid settings passed to CodeAnalysis task. See output window &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; details.&lt;br /&gt;Code Analysis Complete -- 1 error(s), 0 warning(s)&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Setting the build output information to diagnostic you get an good hint what the problem is.&lt;/p&gt;

&lt;p&gt;So we edit as the last step the VS2005 target:&lt;/p&gt;

&lt;p&gt;the line&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;UsingTask TaskName=&lt;span style="color: #006080"&gt;"Microsoft.Build.Tasks.CodeAnalysis"&lt;/span&gt; AssemblyFile=&lt;span style="color: #006080"&gt;".\FxCopTask.dll"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;we modify to:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;UsingTask TaskName=&lt;span style="color: #006080"&gt;"Microsoft.Build.Tasks.CodeAnalysis"&lt;/span&gt; AssemblyFile=&lt;span style="color: #006080"&gt;"..\..\v9.0\CodeAnalysis\FxCopTask.dll"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;and the following lines&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;CodeAnalysisPath Condition=&lt;span style="color: #006080"&gt;"'$(CodeAnalysisPath)'=='' and '$(FxCopDir)'!='' and '$(TeamBuildConstants)'==''"&lt;/span&gt;&amp;gt;$(FxCopDir)&amp;lt;/CodeAnalysisPath&amp;gt;&lt;br /&gt;&amp;lt;CodeAnalysisPath Condition=&lt;span style="color: #006080"&gt;"'$(CodeAnalysisPath)'=='' and '$(VSINSTALLDIR)'!=''"&lt;/span&gt;&amp;gt;$(VSINSTALLDIR)\Team Tools\Static Analysis Tools\FxCop&amp;lt;/CodeAnalysisPath&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;are replaced with&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;CodeAnalysisPath&amp;gt;C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop&amp;lt;/CodeAnalysisPath&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;not beautiful – but working!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136558"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136558" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mapfel/aggbug/136558.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/GYI23c_sy4Y" height="1" width="1"/&gt;</description><dc:creator>Marko Apfel</dc:creator><feedburner:origLink>http://geekswithblogs.net/mapfel/archive/2009/11/26/136558.aspx</feedburner:origLink></item><item><title>Lets build a simple blog engine [eboard] - 1</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Muj6HKxzius/lets-build-a-simple-blog-engine-eboard---1.aspx</link><pubDate>Thu, 26 Nov 2009 19:17:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/lets-build-a-simple-blog-engine-eboard---1.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136557.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136557.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/lets-build-a-simple-blog-engine-eboard---1.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136557.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">Lets build a simple blog engine [eboard] - 1</source><description>&lt;h2&gt;Welcome to eBoard&lt;/h2&gt;
&lt;p&gt;Hello and welcome to this series of application development using asp.net mvc, jquery, automapper, ninject.  Though the world doesn't need another blog engine, but sometimes reinventing the &lt;br /&gt;
wheel teaches you many unknown things and it's the learning experinece that counts more than anything else.&lt;/p&gt;
&lt;p&gt;I have been using asp.net mvc + jquery for about a year now.  So, it's time to put down something which will help the beginner with this technologies get a good graps of the fundamentals skill required &lt;br /&gt;
to do web development. &lt;/p&gt;
&lt;p&gt;The side effect of this is we will also learn about some design principles, best practices and troubleshooting will add icing to the cake.&lt;/p&gt;
&lt;p&gt;Without further ado, lets begin.  Let's first lay down the basic business requirement for the blog engine.  This may be simple in form, but will help us keep an eye on the actual requirement and prevent &lt;br /&gt;
us from deviating from the main goal.&lt;/p&gt;
&lt;p&gt;The blog engine will be named as "eboard".&lt;/p&gt;
&lt;h3&gt;Requirements&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;Multi blog support : The user should be able to create multiple blogs.&lt;/li&gt;
    &lt;li&gt;Make posts&lt;/li&gt;
    &lt;li&gt;Assign a category to the post&lt;/li&gt;
    &lt;li&gt;Assing one or more tags to the post&lt;/li&gt;
    &lt;li&gt;Allow readers to post comment&lt;/li&gt;
    &lt;li&gt;Comment Moderation&lt;/li&gt;
    &lt;li&gt;Simple Blog Settings like theme selection.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Apart from creating a working blog engine the following are educational/learning benefit the reader may derive from this experience&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Learn asp.net mvc and jquery&lt;/li&gt;
    &lt;li&gt;Learn to design/extend a validation framework&lt;/li&gt;
    &lt;li&gt;Learn about Repository pattern&lt;/li&gt;
    &lt;li&gt;Learn dependency injection using Ninject.&lt;/li&gt;
    &lt;li&gt;Service design&lt;/li&gt;
    &lt;li&gt;Design for testability (though we won't be writing test at this point in time).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With the above requirements in mind lets move ahead a take a shot at creating the database for our blog.   Some of the reader may frown at this idea.  Designing the database first or the model first is akin to &lt;br /&gt;
the chicken and the hen problem.  But for this small application I think the database design will closely mimic the model as well.  Please free to shout at me if you feel anything is terribly wrong here.&lt;/p&gt;
&lt;p&gt;The initial DB model looks like the figure shown below.&lt;br /&gt;
 &lt;/p&gt;
&lt;h3&gt;DB Model&lt;/h3&gt;
&lt;p&gt;&lt;img width="964" height="645" alt="" src="/images/geekswithblogs_net/rajeshpillai/db_1.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;We are using the membership provider for users and roles. The above DB model gives us a good start in designing our blog.  It has all the essential elements to support the business &lt;br /&gt;
requirement that we have laid out for "eboard".&lt;/p&gt;
&lt;p&gt;The below table highlights the essential details about the above model.&lt;/p&gt;
&lt;table cellspacing="1" cellpadding="1" border="1" style="width: 829px; height: 168px;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;BlogSettings&lt;/td&gt;
            &lt;td&gt;This stores the essential settings related to blog.  Curently it has only the name of the theme and comment moderation flag.  This can be extended as required.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Blog&lt;/td&gt;
            &lt;td&gt;This allows us to have multiple blog created.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Post&lt;/td&gt;
            &lt;td&gt;The posts that goes with the blog.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Comment&lt;/td&gt;
            &lt;td&gt;The comments that goes with the post.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Category&lt;/td&gt;
            &lt;td&gt;A post can belong to only one category.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Tags&lt;/td&gt;
            &lt;td&gt;A post can hve multiple tag.  Tags are useful for search.&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;/td&gt;
            &lt;td&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;That's it for this episode.  In the next episode we will layout the folder structure for the "eboard" application.  Till then happy learning and enjoy blogging.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136557"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136557" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136557.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Muj6HKxzius" height="1" width="1"/&gt;</description><dc:creator>Rajesh Pillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/27/lets-build-a-simple-blog-engine-eboard---1.aspx</feedburner:origLink></item><item><title>Agile Acceptance Testing @XpDays</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/_L7KV6DBPZs/136555.aspx</link><pubDate>Thu, 26 Nov 2009 15:52:14 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/alternativedotnet/archive/2009/11/26/136555.aspx</guid><wfw:comment>http://geekswithblogs.net/alternativedotnet/comments/136555.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/alternativedotnet/comments/commentRss/136555.aspx</wfw:commentRss><comments>http://geekswithblogs.net/alternativedotnet/archive/2009/11/26/136555.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/alternativedotnet/services/trackbacks/136555.aspx</trackback:ping><source url="http://geekswithblogs.net/alternativedotnet/rss.aspx">Agile Acceptance Testing @XpDays</source><description>Pfew... our presentation at the &lt;a href="http://www.xpday.net/Xpday2009/sessions/Acceptance%20Testing%20with%20Fitnesse.html"&gt;XpDays&lt;/a&gt; is done. You can find all the materials google code at this link: &lt;tt id="checkoutcmd"&gt;&lt;strong&gt;&lt;em&gt;http&lt;/em&gt;&lt;/strong&gt;://agileacceptancetesting.googlecode.com/svn/trunk/.&lt;br /&gt;&lt;/tt&gt;The audience was great, and &lt;a href="http://pascalmestdach.blogspot.com/"&gt;Pascal&lt;/a&gt; and I enjoyed it. We'll probably be trying to find something new to prepare for next year.&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=5ad658ea-8a67-8c8d-839d-e99bbc8c0019" /&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136555"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136555" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/alternativedotnet/aggbug/136555.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/_L7KV6DBPZs" height="1" width="1"/&gt;</description><dc:creator>Michel Grootjans</dc:creator><feedburner:origLink>http://geekswithblogs.net/alternativedotnet/archive/2009/11/26/136555.aspx</feedburner:origLink></item><item><title>Need ideas for a DotNetNuke Christmas gift?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/XC4e358xZq0/136554.aspx</link><pubDate>Thu, 26 Nov 2009 14:51:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bscarbeau/archive/2009/11/26/136554.aspx</guid><wfw:comment>http://geekswithblogs.net/bscarbeau/comments/136554.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bscarbeau/comments/commentRss/136554.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bscarbeau/archive/2009/11/26/136554.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bscarbeau/services/trackbacks/136554.aspx</trackback:ping><source url="http://geekswithblogs.net/bscarbeau/rss.aspx">Need ideas for a DotNetNuke Christmas gift?</source><description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;I thought I would give a list of DotNetNuke Christmas gifts you could possibly buy for a client, co-worker or yourself.&lt;/p&gt;  &lt;p&gt;You can start with some Christmas skins that you could put on your site. The folks at &lt;a href="http://www.alldnnskins.com/Category/Holiday/Christmas3/tabid/677/Default.aspx" target="_blank"&gt;All Dnn Skins&lt;/a&gt; has some skins for you to look at. &lt;a href="http://www.snowcovered.com/snowcovered2/Default.aspx?tabid=295&amp;amp;search=christmas" target="_blank"&gt;Snowcovered&lt;/a&gt; has an array of Holiday skins as well. If you only want a Christmas skin for a period of time and want your skins to change automatically then you can take a look at &lt;a href="http://www.zldnn.com/Modules/PageChameleon/tabid/197/Default.aspx" target="_blank"&gt;PageChameleon&lt;/a&gt; which will do that for you. You can set the special day, the occurring frequency, skin and container. Then PageChameleon will change the skin and container in the special day and change back to normal skin after that day. And users of your web site can select their favorite skins.&lt;/p&gt;  &lt;p&gt;Subscribe or renew to &lt;a href="http://www.dnncreative.com/" target="_blank"&gt;DNN Creative Magazine&lt;/a&gt;. There are many good tutorials listed here and what I like is that the information is very current.&lt;/p&gt;  &lt;p&gt;There are several very good &lt;a href="http://www.amazon.com/s/ref=nb_ss_2_10?url=search-alias%3Daps&amp;amp;field-keywords=dotnetnuke+5&amp;amp;sprefix=DotNetNuke" target="_blank"&gt;DotNetNuke books&lt;/a&gt; that you can get. Here’s a list:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/Professional-DotNetNuke-Application-Framework-Programmer/dp/0470438703/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1259244171&amp;amp;sr=8-1"&gt;Professional DotNetNuke 5: Open Source Web Application Framework for ASP.NET (Wrox Programmer to Programmer)&lt;/a&gt; by &lt;a href="http://www.amazon.com/Shaun-Walker/e/B001I9OTVI/ref=sr_ntt_srch_lnk_1?_encoding=UTF8&amp;amp;qid=1259244171&amp;amp;sr=8-1"&gt;Shaun Walker&lt;/a&gt;, Brian Scarbeau, Darrell Hardy, and Stan Schultes&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/DotNetNuke-Users-Guide-Website-Programmer/dp/0470462574/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1259244171&amp;amp;sr=8-2"&gt;DotNetNuke 5 User's Guide: Get Your Website Up and Running (Wrox Programmer to Programmer)&lt;/a&gt; by &lt;a href="http://www.amazon.com/Christopher-J.-Hammond/e/B002E70QMY/ref=sr_ntt_srch_lnk_2?_encoding=UTF8&amp;amp;qid=1259244171&amp;amp;sr=8-2"&gt;Christopher J. Hammond&lt;/a&gt;, Patrick Renner, and Shaun Walker&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/Professional-DotNetNuke-Programming-Mitchel-Sellers/dp/0470171162/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1259244171&amp;amp;sr=8-3"&gt;Professional DotNetNuke Module Programming&lt;/a&gt; by &lt;a href="http://www.amazon.com/Mitchel-Sellers/e/B001NV4MUY/ref=sr_ntt_srch_lnk_3?_encoding=UTF8&amp;amp;qid=1259244171&amp;amp;sr=8-3"&gt;Mitchel Sellers&lt;/a&gt; and Shaun Walker&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/Beginning-DotNetNuke-Skinning-Design-Programmer/dp/0470109637/ref=sr_1_4?ie=UTF8&amp;amp;s=books&amp;amp;qid=1259244171&amp;amp;sr=8-4"&gt;Beginning DotNetNuke Skinning and Design (Programmer to Programmer)&lt;/a&gt; by &lt;a href="http://www.amazon.com/Andrew-Hay/e/B001JSAUWA/ref=sr_ntt_srch_lnk_4?_encoding=UTF8&amp;amp;qid=1259244171&amp;amp;sr=8-4"&gt;Andrew Hay&lt;/a&gt; and &lt;a href="http://www.amazon.com/Shaun-Walker/e/B001I9OTVI/ref=sr_ntt_srch_lnk_4?_encoding=UTF8&amp;amp;qid=1259244171&amp;amp;sr=8-4"&gt;Shaun Walker&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You could consider a gift certificate to a co-worker with the words &lt;strong&gt;Come With Me to OpenForce 2010&lt;/strong&gt;. You do have two options to consider for this gift. Will it be in Europe or Las Vegas? Gift certificates could also be used for consulting with top DotNetNuke professionals like &lt;a href="http://www.mitchelsellers.com/" target="_blank"&gt;Mitch Sellers&lt;/a&gt;, &lt;a href="http://adefwebserver.com/DotNetNukeHELP/" target="_blank"&gt;Michael Washington&lt;/a&gt;, SEO specialist &lt;a href="http://seablick.com/about.aspx" target="_blank"&gt;Tom Kraak&lt;/a&gt;,or Skinning pro &lt;a href="http://www.arrownuke.com/" target="_blank"&gt;Ryan Morgan&lt;/a&gt; to name a few.&lt;/p&gt;  &lt;p&gt;Finally, get out of the winter cold and come to an &lt;a href="http://orlando.dotnetnukeug.net/About/tabid/54/Default.aspx" target="_blank"&gt;Orlando DotNetNuke User Group&lt;/a&gt; meeting. What a great gift to give. We have several good topics and some great speakers too! DotNetNuke Corp. Co-Founder/Technical Fellow, &lt;a href="http://blog.theaccidentalgeek.com/" target="_blank"&gt;Joe Brinkman&lt;/a&gt; will be here in Orlando on January 12th. &lt;/p&gt;  &lt;p&gt;Merry Christmas and Happy New Year!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aaa399fc-46da-4a76-ab51-85436625543a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136554"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136554" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/bscarbeau/aggbug/136554.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/XC4e358xZq0" height="1" width="1"/&gt;</description><dc:creator>Brian Scarbeau</dc:creator><feedburner:origLink>http://geekswithblogs.net/bscarbeau/archive/2009/11/26/136554.aspx</feedburner:origLink></item><item><title>Stopping a build at the TFS</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vM-ymQVLE0w/136553.aspx</link><pubDate>Thu, 26 Nov 2009 06:54:43 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mapfel/archive/2009/11/26/136553.aspx</guid><wfw:comment>http://geekswithblogs.net/mapfel/comments/136553.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mapfel/comments/commentRss/136553.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mapfel/archive/2009/11/26/136553.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mapfel/services/trackbacks/136553.aspx</trackback:ping><source url="http://geekswithblogs.net/mapfel/rss.aspx">Stopping a build at the TFS</source><description>&lt;p&gt;Open a “visual studio command prompt” and try:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;tfsbuild stop https://*****:8143 RXXXXX_Sourcecode Gen_2.6_branch_test_20080827.1&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136553"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136553" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mapfel/aggbug/136553.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vM-ymQVLE0w" height="1" width="1"/&gt;</description><dc:creator>Marko Apfel</dc:creator><feedburner:origLink>http://geekswithblogs.net/mapfel/archive/2009/11/26/136553.aspx</feedburner:origLink></item><item><title>Getting Started with Entity Framework 4 &amp;ndash; Lazy Loading</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/YenrUcJJUIU/getting-started-with-entity-framework-4-ndash-lazy-loading.aspx</link><pubDate>Thu, 26 Nov 2009 10:23:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/26/getting-started-with-entity-framework-4-ndash-lazy-loading.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136552.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136552.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/26/getting-started-with-entity-framework-4-ndash-lazy-loading.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136552.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Getting Started with Entity Framework 4 &amp;ndash; Lazy Loading</source><description>&lt;p&gt;[This is the fifth in a &lt;a href="http://geekswithblogs.net/iupdateable/category/10944.aspx"&gt;series of posts&lt;/a&gt; on getting started with the new features in Entity Framework 4 based on the demos I did in my session at TechEd Europe in Berlin last week (Nov 2009).]&lt;/p&gt;  &lt;p&gt;Entity Framework v1 did not support a commonly implemented ORM feature called &lt;a href="http://en.wikipedia.org/wiki/Lazy_loading"&gt;Lazy Loading&lt;/a&gt;. Entity Framework 4 adds that feature. In Beta 1 it was known (confusingly IMHO) as Deferred Loading. In Beta 2 it is (thankfully IMHO) known as Lazy Loading.&lt;/p&gt;  &lt;p&gt;You run up against the absence of Lazy Loading in v1 when you start moving across associations between Entities (Objects). Imagine for instance you had an instance of &lt;em&gt;Order&lt;/em&gt; from Northwind and wanted to access its &lt;em&gt;Order_Details, &lt;/em&gt;perhaps to do something as simple as return a count of the number of &lt;em&gt;Order_Details&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;You would be tempted to write:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;order.Order_Details.Count&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;However this will return 0 unless you have already explicitly loaded the related &lt;em&gt;Order_Details &lt;/em&gt;into the &lt;em&gt;ObjectContext&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;In v1 you could either explicitly project in your query (stating up front that you were interested in the count of &lt;em&gt;Order_Details&lt;/em&gt;) or you could use explicit loading :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Orders.Include(“Order_Details”)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Either approach would ultimately give you the correct value instead of a dreaded 0.&lt;/p&gt;  &lt;p&gt;However Lazy Loading ensures that in situations like the above, “It just works” and the beauty is that it requires a single statement to turn it on. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;context.ContextOptions.LazyLoadingEnabled = true;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The following example performs the same operation, first with Lazy Loading off, then with it on:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/GettingStartedwithEntityFramework4LazyLo_F0C4/image_4.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/GettingStartedwithEntityFramework4LazyLo_F0C4/image_thumb_1.png" width="575" height="695" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Will product the output:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/GettingStartedwithEntityFramework4LazyLo_F0C4/image_8.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/GettingStartedwithEntityFramework4LazyLo_F0C4/image_thumb_3.png" width="449" height="177" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In a future post I will talk about the hidden dangers of LazyLoading and compare it to other ORM implementations.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136552"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136552" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136552.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/YenrUcJJUIU" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/26/getting-started-with-entity-framework-4-ndash-lazy-loading.aspx</feedburner:origLink></item><item><title>Code Gallery Reshuffle</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/WRmO7vPjE4w/code-gallery-reshuffle.aspx</link><pubDate>Thu, 26 Nov 2009 08:16:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/EltonStoneman/archive/2009/11/26/code-gallery-reshuffle.aspx</guid><wfw:comment>http://geekswithblogs.net/EltonStoneman/comments/136551.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/EltonStoneman/comments/commentRss/136551.aspx</wfw:commentRss><comments>http://geekswithblogs.net/EltonStoneman/archive/2009/11/26/code-gallery-reshuffle.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/EltonStoneman/services/trackbacks/136551.aspx</trackback:ping><source url="http://geekswithblogs.net/EltonStoneman/rss.aspx">Code Gallery Reshuffle</source><description>&lt;p style="text-align: center;"&gt;&lt;span style="font-size: 10pt;"&gt;[Source: &lt;a href="http://geekswithblogs.net/EltonStoneman"&gt;http://geekswithblogs.net/EltonStoneman&lt;/a&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I've been posting code samples and walkthroughs on &lt;a href="http://www.tinyurl.com/es-codegallery"&gt;MSDN Code Gallery&lt;/a&gt; for a while now – keeping them distinct from &lt;a href="http://www.tinyurl.com/es-codeplex"&gt;CodePlex&lt;/a&gt; which I use for fully-fledged projects and tools. CodePlex uses TFS for source control, but the Code Gallery only lets you post up individual files, so until now I've been creating releases as ZIP files containing the source.&lt;/p&gt;
&lt;p&gt;Now I've centralised the source for all those samples in a public repository on github at &lt;a href="http://github.com/sixeyed/codegallery"&gt;sixeyed/codegallery&lt;/a&gt;. The clone URL is: git://github.com/sixeyed/codegallery.git. If you're new to git, the &lt;a href="http://nathanj.github.com/gitguide/tour.html"&gt;Illustrated Guide to Git on Windows&lt;/a&gt; is a good starting point.&lt;/p&gt;
&lt;p&gt;For future work, I'll continue posting the source ZIPs as resources on MSDN Code Gallery, but the master will be on github.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136551"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136551" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/EltonStoneman/aggbug/136551.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/WRmO7vPjE4w" height="1" width="1"/&gt;</description><dc:creator>EltonStoneman</dc:creator><feedburner:origLink>http://geekswithblogs.net/EltonStoneman/archive/2009/11/26/code-gallery-reshuffle.aspx</feedburner:origLink></item><item><title>In-Place-Edit with jQuery</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/LopwVHLq5Hs/in-place-edit-with-jquery.aspx</link><pubDate>Thu, 26 Nov 2009 07:54:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/26/in-place-edit-with-jquery.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136550.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136550.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/26/in-place-edit-with-jquery.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136550.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">In-Place-Edit with jQuery</source><description>&lt;p&gt;Let's try a simple in-place edit with jquery.  For demonstration purpose I am using the plain old HTML file.  However, if you, wish you could apply the same technique to asp.net, asp.net mvc or php or any other web application as well.&lt;/p&gt;
&lt;p&gt; Here is the html that we will be using for the demo.&lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;div style="line-height:3xm;background-color:skyblue"&amp;gt; &lt;br /&gt;
        Double Click the below paragraph to edit.&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
    &amp;lt;div class="edit"&amp;gt;&lt;br /&gt;
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. &lt;br /&gt;
        Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. &lt;br /&gt;
        Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. &lt;br /&gt;
        Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. &lt;br /&gt;
        Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p&gt;The element that needs to be made editable is given a class  of "edit".&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt;The following is the minimal CSS we will be using for this demo.&lt;/p&gt;
&lt;div style="background-color: rgb(251, 237, 187);"&gt;
&lt;p&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;
        .edit {&lt;br /&gt;
            width:400px;&lt;br /&gt;
            border:1px dashed orange;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .saveButton {&lt;br /&gt;
        }&lt;br /&gt;
        .cancelButton {&lt;br /&gt;
        }&lt;/p&gt;
&lt;p&gt; &amp;lt;/style&amp;gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Let's add a reference to the jquery library&lt;/p&gt;
&lt;p&gt;If you have a local copy then refer it as follows&lt;/p&gt;
&lt;pre&gt;
&amp;lt;script src="scripts/jquery-1.3.2.min.js"&amp;gt;&amp;lt;/script&amp;gt; 
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
The above assumes you have a copy of the jquery library in the scripts folder on your root directory.&lt;/p&gt;
&lt;p&gt;Otherwise you can always grab the latest copy from google..&lt;/p&gt;
&lt;pre&gt;
&amp;lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now let's setup the event handler to make the div editable.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="background-color: rgb(251, 237, 187);"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;
  $(function(){&lt;br /&gt;
            setEditable();&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/div&gt;
&lt;p&gt;The $() function is jquery's way of telling the browser to execte the function when the DOM is ready.&lt;/p&gt;
&lt;p&gt;Here' is the setEditable function.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="background-color: rgb(251, 237, 187);"&gt;function setEditable() {&lt;br /&gt;
    $('.edit').click(function() {&lt;br /&gt;
          var textarea = '&amp;lt;div&amp;gt;&amp;lt;textarea&amp;gt;'+$(this).html()+'&amp;lt;/textarea&amp;gt;';&lt;br /&gt;
           var button     = '&amp;lt;div&amp;gt;&amp;lt;input type="button" value="SAVE" class="saveButton" /&amp;gt; &amp;lt;input type="button" value="CANCEL" class="cancelButton" /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
                var revert = $(this).html();&lt;br /&gt;
                $(this).after(textarea+button).remove();&lt;br /&gt;
                $('.saveButton').click(function(){saveChanges(this, false);});&lt;br /&gt;
                $('.cancelButton').click(function(){saveChanges(this, revert);});&lt;br /&gt;
            })&lt;br /&gt;
  };&lt;/div&gt;
&lt;div style="background-color: rgb(251, 237, 187);"&gt;&lt;br /&gt;
  function trim(stringToTrim) {&lt;br /&gt;
       return stringToTrim.replace(/^\s+|\s+$/g, "");&lt;br /&gt;
  }&lt;/div&gt;
&lt;p&gt;The above function essentially does three things.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Hook up the click event handler on the element with class ".edit".&lt;/li&gt;
    &lt;li&gt;Inside the function the following are the sequence that happens
    &lt;ol&gt;
        &lt;li&gt;Build the html for inserting a &amp;lt;textarea&amp;gt; for editing.&lt;/li&gt;
        &lt;li&gt;Build the html for inserting a "save" and "cancel" button.&lt;/li&gt;
        &lt;li&gt;Save the current value of the element.&lt;/li&gt;
        &lt;li&gt;Removes the current div (with class .edit) and inserts the above html.&lt;/li&gt;
        &lt;li&gt;Hooks up the events for "save" and "cancel" button.&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
&lt;span style="background-color: rgb(153, 204, 255);"&gt;  Note: the jquery function after() inserts content after each of the matched elements.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; The below function is called when you click "save" or "cancel" button&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="background-color: rgb(251, 237, 187);"&gt;&lt;br /&gt;
function saveChanges(obj, cancel) {&lt;br /&gt;
      if (!cancel) {&lt;br /&gt;
            var newValue = $(obj).parent().siblings(0).val();&lt;br /&gt;
            if(trim(newValue) == '') newValue = '(click to add text)';&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
            newValue = cancel;&lt;br /&gt;
            if(trim(newValue) == '') newValue = '(click to add text)';&lt;br /&gt;
       }&lt;br /&gt;
            &lt;br /&gt;
      $(obj).parent().parent().after('&amp;lt;div class="edit"&amp;gt;' +  newValue +'&amp;lt;/div&amp;gt;').remove();&lt;br /&gt;
      setEditable();&lt;br /&gt;
}&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;That's it.  You can actually make an ajax request and send this data to the server for persistence.  We will see that in an another post.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136550"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136550" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136550.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/LopwVHLq5Hs" height="1" width="1"/&gt;</description><dc:creator>Rajesh Pillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/26/in-place-edit-with-jquery.aspx</feedburner:origLink></item><item><title>ASP.NET Session Id getting lost</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/G9QMc4Okix0/asp.net-session-id-getting-lost.aspx</link><pubDate>Wed, 25 Nov 2009 13:25:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/asp.net-session-id-getting-lost.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136549.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136549.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/asp.net-session-id-getting-lost.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136549.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">ASP.NET Session Id getting lost</source><description>&lt;div class="post-text"&gt;
&lt;p&gt;This typical problem is almost faced by all new developer working with asp.net.&lt;/p&gt;
&lt;p&gt;This behaviour is by design as ASP.NET tries to be efficient in storing sessions for users. Remember unless you store anything in session the session id value keep changing.&lt;/p&gt;
&lt;p&gt;If you want to tell ASP.NET that you want it to track user sessions, you can do one of 2 things:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Store something in the session.&lt;/li&gt;
    &lt;li&gt;Simple handle the Session_Start event in your GLobal.asax. The presence of this method will tell ASP.NET to track sessions , even if there is no data in the session..&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;// NOTE: There is no need to add any thing to session if you are doing this...&lt;/p&gt;
&lt;p&gt;public void Session_Start(object sender, EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;The related stackoverflow post can be read here &lt;a href="http://stackoverflow.com/questions/1533709/session-id-changing-randomly/1535573#1535573"&gt;stackoverflow.com/questions/1533709/session-id-changing-randomly/1535573#1535573&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This behavior had caused me much worry in the past :)&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136549"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136549" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136549.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/G9QMc4Okix0" height="1" width="1"/&gt;</description><dc:creator>rajeshpillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/asp.net-session-id-getting-lost.aspx</feedburner:origLink></item><item><title>Remove&amp;lt;T&amp;gt;(this IList&amp;lt;T&amp;gt; source, Func&amp;lt;T,bool&amp;gt; selector) why not?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/j9ytcAwQrBg/removetthis-ilistt-source-functbool-selector-why-not.aspx</link><pubDate>Thu, 26 Nov 2009 05:58:48 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/wesm/archive/2009/11/25/removetthis-ilistt-source-functbool-selector-why-not.aspx</guid><wfw:comment>http://geekswithblogs.net/wesm/comments/136548.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/wesm/comments/commentRss/136548.aspx</wfw:commentRss><comments>http://geekswithblogs.net/wesm/archive/2009/11/25/removetthis-ilistt-source-functbool-selector-why-not.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/wesm/services/trackbacks/136548.aspx</trackback:ping><source url="http://geekswithblogs.net/wesm/rss.aspx">Remove&amp;lt;T&amp;gt;(this IList&amp;lt;T&amp;gt; source, Func&amp;lt;T,bool&amp;gt; selector) why not?</source><description>&lt;p&gt;Maybe I am just crazy, but it seems like removing or deleting items from a collection is always an after thought.  Take IList for example, a list of items, with the ability to add and remove from it.  We have a flurry of extension methods that are inherited from IEnumerable to add items but it seems like no one thought maybe it would be nice to beef up the remove method with some extension methods.  Maybe I missed an extension namespace, maybe I am just crazy.  How many times do we have to write the following bloated code just to remove something from a collection?&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre class="brush: c#"&gt;
var ingredient = Ingredients.FirstOrDefault(i =&amp;gt; i.FeedId == feed.Id);
Ingredients.Remove(ingredient);
&lt;/pre&gt;
&lt;p&gt;Even worse, is when we want to remove multiple items from a list based on some criteria.  I have to add a foreach loop of some sort to remove each item one at a time.  Oh and, deal with the always wonderful: (System.InvalidOperationException: Collection was modified; enumeration operation may not execute).  So, I have to remember to create a new list to avoid this dreadful mistake:&lt;/p&gt;
&lt;pre class="brush: c#"&gt;
var ingredients = Ingredients.Where(i =&amp;gt; i.FeedId == feed.Id).ToList();
foreach (var ingredient in Ingredients)
{
	Ingredients.Remove(ingredient);
}
&lt;/pre&gt;
&lt;p&gt;Of course, now that I have created a new list, ToList(), I can simplify this to:&lt;/p&gt;
&lt;pre class="brush: c#"&gt;
var ingredients = Ingredients.Where(i =&amp;gt; i.FeedId == feed.Id).ToList();
ingredients.ForEach(i=&amp;gt; Ingredients.Remove(i));
&lt;/pre&gt;
&lt;p&gt;But that is still icky, all that code just to remove an item or a set of items? So enough complaining on my part, it's time to put up or shut up.  This is what I want to do in code:&lt;/p&gt;
&lt;pre class="brush: c#"&gt;
Ingredients.Remove(i =&amp;gt; i.FeedId == feed.Id);
&lt;/pre&gt;
&lt;p&gt;Simple, right?  And to do this here is the simple extension method:&lt;/p&gt;
&lt;pre class="brush: c#"&gt;
public static void Remove&amp;lt;T&amp;gt;(this IList&amp;lt;T&amp;gt; source, Func&amp;lt;T, bool&amp;gt; selector)
{
	if (source == null || selector == null)
	{
		return;
	}

	var itemsToRemove = source.Where(selector).ToList();
	itemsToRemove.ForEach(i =&amp;gt; source.Remove(i));
}
&lt;/pre&gt;
&lt;p&gt;Now, I no longer have to worry about all these things when I want to remove items based on searching my list:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Doing a separate search for the items I want to remove&lt;/li&gt;
    &lt;li&gt;Creating a new list, avoiding the pitfall of enumerating when removing and getting "Collection was modified" exceptions.&lt;/li&gt;
    &lt;li&gt;Iterating over those items and calling remove on each&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some purists out there would be mad that I just quietly allow the source/selector to be null and not throw an exception.  That's how I chose to implement this, if you want different behavior that's great.  Just make sure you add this extension method to your arsenal!  Maybe another RemoveSingle that throws an exception if it finds 0 or more than 1 item would be appropriate to add as well?&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136548"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136548" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/wesm/aggbug/136548.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/j9ytcAwQrBg" height="1" width="1"/&gt;</description><dc:creator>Wes McClure</dc:creator><feedburner:origLink>http://geekswithblogs.net/wesm/archive/2009/11/25/removetthis-ilistt-source-functbool-selector-why-not.aspx</feedburner:origLink></item><item><title>Windows Workflow Foundation 4 at PDC</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/O26GLgPgzCY/windows-workflow-foundation-4-at-pdc.aspx</link><pubDate>Thu, 26 Nov 2009 05:36:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DavidPaquette/archive/2009/11/25/windows-workflow-foundation-4-at-pdc.aspx</guid><wfw:comment>http://geekswithblogs.net/DavidPaquette/comments/136547.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DavidPaquette/comments/commentRss/136547.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DavidPaquette/archive/2009/11/25/windows-workflow-foundation-4-at-pdc.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DavidPaquette/services/trackbacks/136547.aspx</trackback:ping><source url="http://geekswithblogs.net/DavidPaquette/rss.aspx">Windows Workflow Foundation 4 at PDC</source><description>&lt;p&gt;I just finished watching a great video about WF4 from Microsoft PDC.  The session is &lt;a href="http://microsoftpdc.com/Sessions/P09-22"&gt;WF4 from the Inside Out&lt;/a&gt; by Bob Schmidt.  I think he did a great job explaining how the runtime is implemented in WF4.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136547"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136547" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/DavidPaquette/aggbug/136547.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/O26GLgPgzCY" height="1" width="1"/&gt;</description><dc:creator>David Paquette</dc:creator><feedburner:origLink>http://geekswithblogs.net/DavidPaquette/archive/2009/11/25/windows-workflow-foundation-4-at-pdc.aspx</feedburner:origLink></item><item><title>jQuery Receipe: Focussing a Text Input on Page</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QlPtF-AOrro/jquery-cookbook-focussing-a-text-input-on-page.aspx</link><pubDate>Wed, 25 Nov 2009 10:32:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/jquery-cookbook-focussing-a-text-input-on-page.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136546.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136546.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/jquery-cookbook-focussing-a-text-input-on-page.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136546.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">jQuery Receipe: Focussing a Text Input on Page</source><description>&lt;p&gt;This edition of blog tip shows you how to focus a text input on a page to the desired element.&lt;/p&gt;
&lt;p&gt;Use &lt;a href="http://jsbin.com"&gt;jsbin.com&lt;/a&gt; for executing/troubleshooting or just for learning jquery or any other popular js framework that it supports.&lt;/p&gt;
&lt;p&gt;I'll show two ways to do this based on the scenarios you encounter.&lt;/p&gt;
&lt;p&gt;Using jQuery $(selector).focus method when the DOM is ready:&lt;/p&gt;
&lt;p&gt;// When the HTML DOM is ready&lt;/p&gt;
&lt;p&gt;$(function() {&lt;br /&gt;
     $("#elementId").focus();&lt;br /&gt;
});&lt;/p&gt;
&lt;p&gt;The above works in most cases but may be annoying in situations you have a slow internet connection and the cursor may be focussed than desire as the user may have already started entering the desired input when the DOM loads and the cursor is reset again.&lt;/p&gt;
&lt;p&gt;To avoid this put the script block immediately after the input tag where you wish to have focus on&lt;/p&gt;
&lt;p&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;
    $("elementId').focus();&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136546"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136546" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136546.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QlPtF-AOrro" height="1" width="1"/&gt;</description><dc:creator>rajeshpillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/jquery-cookbook-focussing-a-text-input-on-page.aspx</feedburner:origLink></item><item><title>&amp;quot;Upgrading&amp;quot; Windows Server 2008 x86 to x64</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/YHoqHr15eK4/quotupgradingquot-windows-server-2008-x86-to-x64.aspx</link><pubDate>Thu, 26 Nov 2009 03:31:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TheInspiredGecko/archive/2009/11/25/quotupgradingquot-windows-server-2008-x86-to-x64.aspx</guid><wfw:comment>http://geekswithblogs.net/TheInspiredGecko/comments/136545.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TheInspiredGecko/comments/commentRss/136545.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TheInspiredGecko/archive/2009/11/25/quotupgradingquot-windows-server-2008-x86-to-x64.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TheInspiredGecko/services/trackbacks/136545.aspx</trackback:ping><source url="http://geekswithblogs.net/TheInspiredGecko/rss.aspx">&amp;quot;Upgrading&amp;quot; Windows Server 2008 x86 to x64</source><description>&lt;p&gt;OK, I use the term "upgrade" a bit loosely here. There is no upgrade path from 32-bit to 64-bit versions of any edition of Windows, period.    &lt;br /&gt;However, you can preserve your Active Directory domain, DNS settings, websites, files, whatever, through a slightly long-winded process and get from 32-bit to 64-bit without:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Having to uninstall Active Directory from your network and then piece-meal it back together workstation by workstation; &lt;/li&gt;    &lt;li&gt;Having to do system state backup/restores which won't restore all your other server applications (Exchange, SQL Server etc.). &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I'm only running one physical server here - which was Windows Server 2008 32-bit, and then I realised about 2 hours after finishing installing, that my CPU was x64 (Intel Xeon 3.06GHz). Damn.&lt;/p&gt;  &lt;p&gt;So to get all the 64-bit shinyness and still preserve my Active Directory, I figured out the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Set up a new virtual server ("Bohr") on my laptop. &lt;/li&gt;    &lt;li&gt;Clone the existing physical server ("Einstein") hard disk and mount it on Bohr. &lt;/li&gt;    &lt;li&gt;Configure Bohr as an additional domain controller (DC) and global catalog server (GC). &lt;/li&gt;    &lt;li&gt;All my users, computers and settings get replicated from Einstein to Bohr. &lt;/li&gt;    &lt;li&gt;Test all applications, databases and websites are working on Bohr. &lt;/li&gt;    &lt;li&gt;Demote Einstein and remove it from the domain, wipe the hard disk with Eraser, format, and clean-install Windows Server 2008 x64, with new name "Brunel". &lt;/li&gt;    &lt;li&gt;Install Active Directory on Brunel as an additional domain controller again, and watch the settings replicate back across. &lt;/li&gt;    &lt;li&gt;Move databases and applications back. &lt;/li&gt;    &lt;li&gt;Remove virtual server Bohr. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;It appears a bit long-winded but this is the first time I've had to think about these kinds of migrations so if anyone can suggest better alternatives then please do so in the comments.&lt;/p&gt;  &lt;p&gt;Tools I used:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx"&gt;Disk2VHD&lt;/a&gt; by Microsoft's Sysinternals team; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.winimage.com"&gt;WinImage&lt;/a&gt; (free 30-day trial); &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.vmware.com/products/server/"&gt;VMware Server&lt;/a&gt; (called ESX4 I think, but their product family names are a little confusing); &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I looked at Virtual PC as I've used it before for virtualising operating systems and servers whilst working for clients, and I discovered that Windows 7 (which is what my laptop runs) has Windows Virtual PC already installed, with an image of Windows XP Pro for application backward-compatibility.    &lt;br /&gt;At this point I cloned Einstein's hard disk to a VHD file and went to VPC to create a new machine and mount the VHD as the hard disk.     &lt;br /&gt;First brick wall - VPC will only let you run XP, Vista, or Windows 7 inside VPC. So I couldn't create a virtual machine running my cloned Server 2008 (as demonstrated by the lovely error message you see here). Damn.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog1_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="blog1" border="0" alt="blog1" src="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog1_thumb.png" width="445" height="23" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So I'm driven to the arms of VMware, and after a bit of reading, I download and install VMware Server. With a bit of configuration, I soon have my virtual machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog2_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="blog2" border="0" alt="blog2" src="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog2_thumb.png" width="549" height="199" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next brick wall - VHD is a Microsoft format, VMware won't read it. Damn.    &lt;br /&gt;WinImage to the rescue, which performs conversion from VHD (Virtual Hard Disk - Microsoft's hard disk virtualisation format) to VMDK (VMware DisK - their format - gotta love competition for different "standards", haven't you...) - my 20GB of data takes 36 minutes to convert, apparently.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog3_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="blog3" border="0" alt="blog3" src="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/blog3_thumb.png" width="354" height="365" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once I have my VMDK hard disk image, I mount it to the VM (Bohr) I've created in VMware Server.&lt;/p&gt;  &lt;p&gt;Here comes the fun bit where stuff actually gets moved around and I feel like I'm making progress instead of just clogging up my hard disk further by downloading and installing yet more software to achieve the task at hand.&lt;/p&gt;  &lt;p&gt;I configure Bohr with a static IP address so it'll sit on my wireless network and interact with my server, laptop and router as if it were just another physical box. My laptop is close to death at this stage cause it only has 2GB of RAM (ouch) and I've allocated 1GB of it to Bohr (yes, I'm planning on an upgrade as a Christmas present to myself, along with a &lt;a href="http://www.hugoboss-store.co.uk/Stratus/50164973,en_GB,pd.html?color=001&amp;amp;size=48&amp;amp;cgid=Menswear-Clothing-Coats"&gt;very nice Hugo Boss winter coat I've seen&lt;/a&gt;. Donations and Christmas cards accepted, preferably together :-D).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/taskmanager_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="taskmanager" border="0" alt="taskmanager" src="http://geekswithblogs.net/images/geekswithblogs_net/TheInspiredGecko/WindowsLiveWriter/UpgradingWindowsServer2008x86tox64_F8F5/taskmanager_thumb.png" width="324" height="361" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once I'd powered on Bohr, I remoted in using VMware's Firefox browser plugin (RDP was very flaky for some reason and Bohr's network connection kept bombing) and renamed it using &lt;a href="http://www.petri.co.il/rename-windows-server-2008-domain-controllers.htm"&gt;netdom and a little help&lt;/a&gt;.     &lt;br /&gt;Once this was done I uninstall Active Directory Domain Services entirely - Bohr can't see Einstein's domain services and so thinks it's still the only DC on the domain. A reboot later, I reinstall Active Directory as a new domain controller for the existing forest, and hey presto, my user and computer accounts and DNS settings replicate across! Shiny.&lt;/p&gt;  &lt;p&gt;To summarise at this stage - I have two DC's on the network, one physical "Einstein" and one virtual "Bohr", which is just a clone of Einstein's hard disk, but reconfigured as an additional DC on the whole domain rather than a primary domain controller.    &lt;br /&gt;I've also just run a quick test on Bohr and my websites and SQL Server are functioning perfectly, including connecting via Management Studio using Windows Authentication.     &lt;br /&gt;Lastly, I right-click on the domain in Active Directory Users &amp;amp; Computers and hit "Properties", then change all domain control services from Einstein to Bohr, before uninstalling Active Directory from Einstein.&lt;/p&gt;  &lt;p&gt;Further steps to follow, but this is most of the headache-inducing legwork done!&lt;/p&gt;  &lt;p&gt;CodeGecko&lt;/p&gt;  &lt;p&gt;P.S. Please submit other interesting server names using the comments box below!&lt;/p&gt;  &lt;p&gt;Update: it's 0237 GMT and I'm installing Server 2008 x64 onto "Brunel" now. W00t. Man I need a smoke. And some sleep. Or maybe coffee.    &lt;br /&gt;Another update: it's now 0318 GMT and "Brunel" is installed. Definitely time for sleep.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136545"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136545" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheInspiredGecko/aggbug/136545.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/YHoqHr15eK4" height="1" width="1"/&gt;</description><dc:creator>TheInspiredGecko</dc:creator><feedburner:origLink>http://geekswithblogs.net/TheInspiredGecko/archive/2009/11/25/quotupgradingquot-windows-server-2008-x86-to-x64.aspx</feedburner:origLink></item><item><title>Hello World !!!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/AHVsKy7vNOc/hello-world.aspx</link><pubDate>Wed, 25 Nov 2009 10:16:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/hello-world.aspx</guid><wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/136544.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/136544.aspx</wfw:commentRss><comments>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/hello-world.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/136544.aspx</trackback:ping><source url="http://geekswithblogs.net/rajeshpillai/rss.aspx">Hello World !!!</source><description>&lt;p&gt;I am typically starting this blog with the "Hello World" kind of post.  Just to give an brief summary to the curious out there this blog will be a place where I will be putting down my experience with technologies specifically asp.net mvc, jquery, sql server, sharepoint, tdd, design patterns et el.&lt;/p&gt;
&lt;p&gt;Also, I plan to record my learnings with developing an asp.net mvc project.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136544"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136544" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/136544.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/AHVsKy7vNOc" height="1" width="1"/&gt;</description><dc:creator>rajeshpillai</dc:creator><feedburner:origLink>http://geekswithblogs.net/rajeshpillai/archive/2009/11/25/hello-world.aspx</feedburner:origLink></item><item><title>Early Retirement for SSO Config Tool</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/izGeJNq9kz4/early-retirement-for-sso-config-tool.aspx</link><pubDate>Wed, 25 Nov 2009 21:20:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/EltonStoneman/archive/2009/11/25/early-retirement-for-sso-config-tool.aspx</guid><wfw:comment>http://geekswithblogs.net/EltonStoneman/comments/136543.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/EltonStoneman/comments/commentRss/136543.aspx</wfw:commentRss><comments>http://geekswithblogs.net/EltonStoneman/archive/2009/11/25/early-retirement-for-sso-config-tool.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/EltonStoneman/services/trackbacks/136543.aspx</trackback:ping><source url="http://geekswithblogs.net/EltonStoneman/rss.aspx">Early Retirement for SSO Config Tool</source><description>&lt;p style="text-align: center;"&gt;&lt;span style="font-size: 10pt;"&gt;[Source: &lt;a href="http://geekswithblogs.net/EltonStoneman"&gt;http://geekswithblogs.net/EltonStoneman&lt;/a&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;As &lt;a href="http://blogs.digitaldeposit.net/SARAVANA/post/2009/11/16/SSO-Configuration-Application-MMC-Snap-In.aspx"&gt;Saravana Kumar has blogged&lt;/a&gt;, Microsoft have released an &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=94e07de1-1d33-4245-b430-9216979cd587"&gt;MMC snap-in for SSO configuration&lt;/a&gt;. It has pretty much all the functionality of the &lt;a href="http://geekswithblogs.net/EltonStoneman/archive/2008/06/29/sso-config-tool.aspx"&gt;SSO Config Tool&lt;/a&gt; I put together a while ago, including:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;UI for configuring values in an SSO application store&lt;/li&gt;
    &lt;li&gt;MSBuild task to import/export SSO settings from XML&lt;/li&gt;
    &lt;li&gt;.NET class for accessing SSO values&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The .NET wrapper is pretty rudimentary, and one thing the snap-in doesn't do is generate a wrapper for typed access to SSO values. The snap-in lets you read values like this:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;span style="color: blue;"&gt;bool&lt;/span&gt;&lt;span style="color: black;"&gt; cacheEnabled = &lt;/span&gt;&lt;span style="color: blue;"&gt;bool&lt;/span&gt;&lt;span style="color: black;"&gt;.Parse(&lt;/span&gt;&lt;span style="color: teal;"&gt;SSOClientHelper&lt;/span&gt;&lt;span style="color: black;"&gt;.Read("SSOApp1", "CacheEnabled"));&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;- whereas SSO Config Tool generates a class per SSO application, which lets you read values like this:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;span style="color: blue;"&gt;bool&lt;/span&gt;&lt;span style="color: black;"&gt; cacheEnabled = &lt;/span&gt;&lt;span style="color: teal;"&gt;SSOApp1&lt;/span&gt;&lt;span style="color: black;"&gt;.CacheEnabled;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Overall the snap-in is a better management tool, so I suspect I'll switch to it the next time I'm setting up config in SSO.&lt;/p&gt;
&lt;p&gt;I'll look to extracting the functionality for generating the typed wrapper into a standalone T4 template.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136543"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136543" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/EltonStoneman/aggbug/136543.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/izGeJNq9kz4" height="1" width="1"/&gt;</description><dc:creator>EltonStoneman</dc:creator><feedburner:origLink>http://geekswithblogs.net/EltonStoneman/archive/2009/11/25/early-retirement-for-sso-config-tool.aspx</feedburner:origLink></item><item><title>Choosing Custom XML For Tagging In Word With OOXML</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ldWxR6k52Ew/choosing-custom-xml-for-tagging-in-word-with-ooxml.aspx</link><pubDate>Wed, 25 Nov 2009 19:59:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2009/11/25/choosing-custom-xml-for-tagging-in-word-with-ooxml.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/136542.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/136542.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2009/11/25/choosing-custom-xml-for-tagging-in-word-with-ooxml.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/136542.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Choosing Custom XML For Tagging In Word With OOXML</source><description>&lt;p&gt;In the further adventures of OOXML we have been looking at different approaches to tagging content in a Word template to be programmatically replaced.  &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Initially we looked at simple in-line text as a user defined tagging system.  The problem is that this is very error prone.  The user has to enter the tag exactly the same every time.  On top of that if the user backspaces while typing the tag or spell check flags the tag then the tag will be split into multiple tags.  This is less than desirable.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Content Controls were the next option we explored.  This gives you specific object types to search for, but you still have the user filling in the Tag property for each control.  The user error factor is still not eliminated.  The other problem is that each control has a possible different type.  This is a better option, but still not optimal.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Ultimately we settled on Custom XML schema.  We found that they can equally wrap all of the different types of content within a document.  The user error factor is also removed because you highlight your content and then select the tag from a list.  In the end you have a reliable template format and have simplified your code to locate tags.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;More to come.&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:d06a1f0d-ba96-4513-8cfc-65f6da618ca5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/office+open+xml" rel="tag"&gt;office open xml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OOXML" rel="tag"&gt;OOXML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136542"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136542" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/tmurphy/aggbug/136542.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ldWxR6k52Ew" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2009/11/25/choosing-custom-xml-for-tagging-in-word-with-ooxml.aspx</feedburner:origLink></item><item><title>Javier Lozano&amp;rsquo;s interview for DotNetRadio is now available!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/z5M4SHBQVuM/javier-lozanorsquos-interview-for-dotnetradio-is-now-available.aspx</link><pubDate>Wed, 25 Nov 2009 18:18:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AndrewSiemer/archive/2009/11/25/javier-lozanorsquos-interview-for-dotnetradio-is-now-available.aspx</guid><wfw:comment>http://geekswithblogs.net/AndrewSiemer/comments/136541.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AndrewSiemer/comments/commentRss/136541.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AndrewSiemer/archive/2009/11/25/javier-lozanorsquos-interview-for-dotnetradio-is-now-available.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AndrewSiemer/services/trackbacks/136541.aspx</trackback:ping><source url="http://geekswithblogs.net/AndrewSiemer/rss.aspx">Javier Lozano&amp;rsquo;s interview for DotNetRadio is now available!</source><description>&lt;p&gt;Hey all.  Just wanted to let you know that the interview that I did with &lt;a href="http://blog.lozanotek.com/" target="_blank"&gt;Javier Lozano&lt;/a&gt; (lozanotek.com) is now available on &lt;a href="http://www.dotnetradio.com" target="_blank"&gt;DotNetRadio&lt;/a&gt;!  This was a pretty hefty interview so I had to cut it in half.  In the first half of the interview we discussed the following points.&lt;/p&gt;  &lt;li&gt;How and why was ASP.NET MVC created? &lt;/li&gt;  &lt;li&gt;What are the pain points of ASP.NET Webforms? &lt;/li&gt;  &lt;li&gt;What can a WebForms developer expect when moving to ASP.NET MVC? &lt;/li&gt;  &lt;li&gt;MVC is like BizTalk – it can do anything – it just can’t do anything out of the box! &lt;/li&gt;  &lt;li&gt;What did ASP.NET MVC get right…what did it get wrong? &lt;/li&gt;  &lt;li&gt;What are the differences between WebForms and MVC with regards to saving state and workflow? &lt;/li&gt;  &lt;li&gt;What sort of validation is provided with MVC 1 or MVC2? &lt;/li&gt;  &lt;li&gt;What is a strongly typed view and how does that work? &lt;/li&gt;  &lt;li&gt;Creating strongly typed views and why that is important &lt;/li&gt;  &lt;li&gt;What is the difference between a Model and a ViewModel and why would a developer want to use that? &lt;/li&gt;  &lt;li&gt;What does the term “magic string” mean and why is that bad? &lt;/li&gt;  &lt;li&gt;How do magic strings relate to MVC 1, MVC 2, and what tools are provided by MVC Contrib to help remove magic strings from an MVC application? &lt;/li&gt;  &lt;li&gt;What are MVC Contrib Input Builders and how do those work? &lt;/li&gt;  &lt;li&gt;How would you use templating in ASP.NET MVC? &lt;/li&gt;  &lt;li&gt;How does Dynamic Data work in ASP.NET MVC? &lt;/li&gt;  &lt;li&gt;How do you create inject-able controllers via an MVC Contrib Controller Factory? &lt;/li&gt;  &lt;li&gt;Using inversion of control containers in the MVC framework &lt;/li&gt;  &lt;li&gt;What is painful about the WebForms view engine used in ASP.NET MVC? &lt;/li&gt;  &lt;li&gt;Why are there so many view engines available for MVC? &lt;/li&gt;  &lt;li&gt;How does nVelocity make working in the View easier? &lt;/li&gt;  &lt;li&gt;Why are code behind files the ultimate evil? &lt;/li&gt;  &lt;li&gt;How is the workflow different in the WebForms view engine compared to other MVC view engines such as SPARK or nVelocity?    &lt;p&gt;&lt;a href="http://feedburner.google.com/fb/a/dashboard?id=iml4jckpbnijoui949k25vl0ac" target="_blank"&gt;Subscribe to the podcast!&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Please feel free to let me know if you have any feedback.  In the next post I will put up the second half of Javier Lozano’s.  And after that I will post the &lt;a href="http://girldeveloper.com/" target="_blank"&gt;Sara Chipps&lt;/a&gt; interview!&lt;/p&gt;    &lt;p&gt;Upcoming interviews will include include Jeffrey Palermo, Ayende Rahien, Gil Zilberfeld, Bill Pringle, Patrick Smacchia, Scott Belware, and many more!  Stay tuned.&lt;/p&gt;    &lt;p&gt;Follow me on Twitter at &lt;a href="http://twitter.com/asiemer" target="_blank"&gt;@asiemer&lt;/a&gt; and follow the show at &lt;a href="http://www.twitter.com/dnetradio" target="_blank"&gt;@dnetradio&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/li&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136541"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136541" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/AndrewSiemer/aggbug/136541.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/z5M4SHBQVuM" height="1" width="1"/&gt;</description><dc:creator>Andrew Siemer - www.andrewsiemer.com</dc:creator><feedburner:origLink>http://geekswithblogs.net/AndrewSiemer/archive/2009/11/25/javier-lozanorsquos-interview-for-dotnetradio-is-now-available.aspx</feedburner:origLink></item><item><title>Exchange Outlook Web Access Proxying across CAS Servers</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vwP-4Aa78Sg/exchange-outlook-web-access-proxying-across-cas-servers.aspx</link><pubDate>Wed, 25 Nov 2009 17:21:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cajunmcse/archive/2009/11/25/exchange-outlook-web-access-proxying-across-cas-servers.aspx</guid><wfw:comment>http://geekswithblogs.net/cajunmcse/comments/136540.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cajunmcse/comments/commentRss/136540.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cajunmcse/archive/2009/11/25/exchange-outlook-web-access-proxying-across-cas-servers.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cajunmcse/services/trackbacks/136540.aspx</trackback:ping><source url="http://geekswithblogs.net/cajunmcse/rss.aspx">Exchange Outlook Web Access Proxying across CAS Servers</source><description>&lt;p&gt;In many larger environments, Exchange 2007 may be deployed with multiple Client Access Servers (CAS) across the AD site boundaries.  The common configuration is to have users access one CAS server from the Internet and it proxy the request to a different CAS in the AD site where the user’s mailbox is located.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The Internet facing CAS server should have the Internal URL populated with Forms Based Authentication (FBA) and Basic Authentication enabled.  The External URL is optional. The authentication method can be any of the 3 configurations allowed, Domain\Username, Username only, or UPN (email address). &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; A stumbling block here is that Integrated Windows Authentication needs to be enabled on the OWA virtual directory.  There isn’t a way to enable both FBA and Integrated Windows Authentication from inside the EMC, so IIS Manager must be used.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The second CAS at the remote AD site needs to have FBA disabled with Basic and Integrated Windows Authentication enabled through the EMC.  Also the internal URL must be populated with a name the first CAS can resolve through DNS.  Ensure that port 443 is clear between both servers.  You can test the SSL connectivity by performing a telnet from the first server to the second over port 443.  &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt;  If the external URL is populated on the remote CAS server, OWA will give the user a new URL to try instead of proxying his request.  Remember to leave this field blank.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;With this configuration, a user accessing OWA from the Internet will get proxied to the best available CAS server in the same AD site his mailbox resides in.  Internal Users who access the remote CAS will be automatically authenticated through the Integrated Windows Authentication and then served their mailbox or given the FBA page then proxied to the correct AD site if they access the internet facing CAS.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136540"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136540" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cajunmcse/aggbug/136540.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vwP-4Aa78Sg" height="1" width="1"/&gt;</description><dc:creator>cajunmcse</dc:creator><feedburner:origLink>http://geekswithblogs.net/cajunmcse/archive/2009/11/25/exchange-outlook-web-access-proxying-across-cas-servers.aspx</feedburner:origLink></item><item><title>Another random post</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/IRE9MzO47QA/136539.aspx</link><pubDate>Wed, 25 Nov 2009 16:32:20 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmoore/archive/2009/11/25/136539.aspx</guid><wfw:comment>http://geekswithblogs.net/tmoore/comments/136539.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmoore/comments/commentRss/136539.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmoore/archive/2009/11/25/136539.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmoore/services/trackbacks/136539.aspx</trackback:ping><source url="http://geekswithblogs.net/tmoore/rss.aspx">Another random post</source><description>&lt;p&gt;Been awhile since I posted. So, what have I been up to lately?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Good question!&lt;br /&gt;
Mostly been working a lot with the our most current release. I've been involved with more and more project work these days and less generic single, one-shot tickets at work. Upside is that I am very busy, downside is that I haven't been really able to work on our automation suite very much.&lt;br /&gt;
However, I did manage to get some time to work on a .Net testbench application for our new hardware solution. It is a USB device that is driven by a data stream on the machine. I have written an test rig application that can drive the device directly and extract readings from the hardware, logging them in an easily graphable form. The company responsible for manufacturing our device has done tests, but we want our own set run internally as an audit.  My prototype of the testbench was well recieved, although I sort of threw it together as more of a POC rather than a full-flegded app. I've been asked to add some more functionality next week which I am going to use as an opportunity to refactor it.&lt;br /&gt;
I also wrote an automated test app that exposed/proved a significant flaw in our system, even though it had be pretty much dismissed by the development team. It was thought to be a "corner case" until I could replicate the behaviou approx. 10% of the time. Score one for automated testing!&lt;br /&gt;
 &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136539"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136539" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/tmoore/aggbug/136539.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/IRE9MzO47QA" height="1" width="1"/&gt;</description><dc:creator>Theo Moore</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmoore/archive/2009/11/25/136539.aspx</feedburner:origLink></item><item><title>Asynchronous Method Invocation [Very good code project article]</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/BT0ntOnwYho/asynchronous-method-invocation-very-good-code-project-article.aspx</link><pubDate>Wed, 25 Nov 2009 15:50:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mbcrump/archive/2009/11/25/asynchronous-method-invocation-very-good-code-project-article.aspx</guid><wfw:comment>http://geekswithblogs.net/mbcrump/comments/136538.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mbcrump/comments/commentRss/136538.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mbcrump/archive/2009/11/25/asynchronous-method-invocation-very-good-code-project-article.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mbcrump/services/trackbacks/136538.aspx</trackback:ping><source url="http://geekswithblogs.net/mbcrump/rss.aspx">Asynchronous Method Invocation [Very good code project article]</source><description>&lt;p&gt;I wanted to share this with everyone that wanted a very simple explanation of Asynchronous Method Invocation. Check it out: &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/cs/AsyncMethodInvocation.aspx"&gt;www.codeproject.com/KB/cs/AsyncMethodInvocation.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sample:&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type" /&gt;
&lt;meta content="Word.Document" name="ProgId" /&gt;
&lt;meta content="Microsoft Word 12" name="Generator" /&gt;
&lt;meta content="Microsoft Word 12" name="Originator" /&gt;
&lt;link href="file:///C:\Users\mbcrump\AppData\Local\Temp\msohtmlclip1\01\clip_filelist.xml" rel="File-List" /&gt;
&lt;link href="file:///C:\Users\mbcrump\AppData\Local\Temp\msohtmlclip1\01\clip_themedata.thmx" rel="themeData" /&gt;
&lt;link href="file:///C:\Users\mbcrump\AppData\Local\Temp\msohtmlclip1\01\clip_colorschememapping.xml" rel="colorSchemeMapping" /&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-US&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:DontVertAlignCellWithSp /&gt;
&lt;w:DontBreakConstrainedForcedTables /&gt;
&lt;w:DontVertAlignInTxbx /&gt;
&lt;w:Word11KerningPairs /&gt;
&lt;w:CachedColBalance /&gt;
&lt;/w:Compatibility&gt;
&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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;style type="text/css"&gt;&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-520092929 1073786111 9 0 415 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	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-fareast-font-family:Calibri;
	mso-fareast-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;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-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;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;&lt;/style&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-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
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-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt;
&lt;![endif]--&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; button3_Click(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MethodInvoker&lt;/span&gt; simpleDelegate = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MethodInvoker&lt;/span&gt;(Test);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;simpleDelegate.Invoke();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Test()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(163, 21, 21);"&gt;"TEST"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136538"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136538" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mbcrump/aggbug/136538.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/BT0ntOnwYho" height="1" width="1"/&gt;</description><dc:creator>mbcrump</dc:creator><feedburner:origLink>http://geekswithblogs.net/mbcrump/archive/2009/11/25/asynchronous-method-invocation-very-good-code-project-article.aspx</feedburner:origLink></item><item><title>Including custom client-side validations in your ASP.NET MVC app</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jWYLk5u-PfE/including-custom-client-side-validations-in-your-asp.net-mvc-app.aspx</link><pubDate>Thu, 26 Nov 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/thomasweller/archive/2009/11/26/including-custom-client-side-validations-in-your-asp.net-mvc-app.aspx</guid><wfw:comment>http://geekswithblogs.net/thomasweller/comments/136537.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/thomasweller/comments/commentRss/136537.aspx</wfw:commentRss><comments>http://geekswithblogs.net/thomasweller/archive/2009/11/26/including-custom-client-side-validations-in-your-asp.net-mvc-app.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/thomasweller/services/trackbacks/136537.aspx</trackback:ping><source url="http://geekswithblogs.net/thomasweller/rss.aspx">Including custom client-side validations in your ASP.NET MVC app</source><description>&lt;p&gt;This post is a follow-up on my series about validating business objects throughout different layers of a software system - &lt;a target="_blank" href="http://geekswithblogs.net/thomasweller/archive/2009/11/12/validating-business-objects-with-aop-1-the-domain.aspx"&gt;domain&lt;/a&gt;, &lt;a target="_blank" href="http://geekswithblogs.net/thomasweller/archive/2009/11/18/validating-business-objects-with-aop-2-persistence-with-nhibernate.aspx"&gt;persistence&lt;/a&gt;, and &lt;a target="_blank" href="http://geekswithblogs.net/thomasweller/archive/2009/11/23/validating-business-objects-with-aop-3-ui-with-asp.net-mvc.aspx"&gt;(ASP.NET MVC) GUI&lt;/a&gt;. It demonstrates how a self-written validation can be incorporated into a web page (using a bit of JavaScript) and how this can be mapped to a custom validation on the domain side.&lt;/p&gt;
&lt;h1&gt;A short recap&lt;/h1&gt;
&lt;p&gt;In the &lt;a target="_blank" href="http://geekswithblogs.net/thomasweller/archive/2009/11/12/validating-business-objects-with-aop-1-the-domain.aspx"&gt;first part&lt;/a&gt; of the above mentioned series, we developed a simple, custom validation aspect that checks if a value really is a member of a specified enumeration. Here's the typical usage for this &lt;font face="Courier New"&gt;EnumValue&lt;/font&gt; attribute:&lt;/p&gt;
&lt;div style="border-bottom: #808080 thin solid; border-left: #808080 thin solid; padding-bottom: 8px; padding-left: 6px; padding-right: 2px; white-space: nowrap; background: #dddddd; height: 111px; color: black; border-top: #808080 thin solid; border-right: #808080 thin solid; padding-top: 8px"&gt;&lt;code&gt;
&lt;p style="margin: 0px; color: #000000"&gt;[&lt;span style="color: #2b91af"&gt;EnumValue&lt;/span&gt;(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Gender&lt;/span&gt;))]&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Gender&lt;/span&gt; Gender&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;{&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;get&lt;/span&gt; { &lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;this&lt;/span&gt;.gender; }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;set&lt;/span&gt; { &lt;span style="color: blue"&gt;this&lt;/span&gt;.gender = &lt;span style="color: blue"&gt;value&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;}&lt;/p&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;And this is the validation method that gets called in the end:&lt;/p&gt;
&lt;div style="border-bottom: #808080 thin solid; border-left: #808080 thin solid; padding-bottom: 8px; padding-left: 6px; padding-right: 2px; white-space: nowrap; background: #dddddd; height: 128px; color: black; border-top: #808080 thin solid; border-right: #808080 thin solid; padding-top: 8px"&gt;&lt;code&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (!&lt;span style="color: #2b91af"&gt;Enum&lt;/span&gt;.IsDefined(EnumType, @value))&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;{&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;throw&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ValidationException&lt;/span&gt;(&lt;span style="color: blue"&gt;string&lt;/span&gt;.Format(&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: #a31515"&gt;"'{0}' is not a valid value for enumerations of type '{1}'."&lt;/span&gt;,&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        @value,&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        EnumType.FullName));&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;}&lt;/p&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;In the &lt;a target="_blank" href="http://geekswithblogs.net/thomasweller/archive/2009/11/23/validating-business-objects-with-aop-3-ui-with-asp.net-mvc.aspx"&gt;third part&lt;/a&gt; of the series then, I demonstrated how server-side validations (using the &lt;a target="_blank" href="http://www.postsharp.org/"&gt;PostSharp&lt;/a&gt;-based &lt;a target="_blank" href="http://validationaspects.codeplex.com/"&gt;ValidationAspects&lt;/a&gt; framework) can be "translated" to client-side validations that reside in ASP.NET MVC pages, using the &lt;a target="_blank" href="http://xval.codeplex.com/"&gt;xVal&lt;/a&gt; framework to do the mapping.&lt;/p&gt;
&lt;h1&gt;Using a custom xVal rule together with a custom JScript function&lt;/h1&gt;
&lt;p&gt;The aforementioned post showed only the mapping for the built-in aspects of the VA library. To do the same thing for our custom &lt;font face="Courier New"&gt;EnumValue&lt;/font&gt; attribute, we must declare another xVal &lt;font face="Courier New"&gt;RulesProvider&lt;/font&gt;, which is specific to this attribute, and provides a set of xVal rules that correspond to the &lt;font face="Courier New"&gt;EnumValue&lt;/font&gt; attribute. The xVal framework provides the &lt;font face="Courier New"&gt;PropertyAttributeRuleProviderBase&amp;lt;TAttribute&amp;gt;&lt;/font&gt; base class for this purpose, all we have to do is to provide an implementation of the &lt;font face="Courier New"&gt;MakeValidationRulesFromAttribute&lt;/font&gt; enumeration method for the specific attribute. Here's the declaration for the &lt;font face="Courier New"&gt;EnumValue&lt;/font&gt; validation aspect:&lt;/p&gt;
&lt;div style="border-bottom: #808080 thin solid; border-left: #808080 thin solid; padding-bottom: 8px; padding-left: 6px; padding-right: 2px; white-space: nowrap; background: #dddddd; height: 305px; color: black; overflow: scroll; border-top: #808080 thin solid; border-right: #808080 thin solid; padding-top: 8px"&gt;&lt;code&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EnumValueRulesProvider&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;PropertyAttributeRuleProviderBase&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;EnumValueAttribute&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;{&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;Rule&lt;/span&gt;&amp;gt; MakeValidationRulesFromAttribute(&lt;span style="color: #2b91af"&gt;EnumValueAttribute&lt;/span&gt; attribute)&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    {&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;yield&lt;/span&gt; &lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;RequiredRule&lt;/span&gt;(); &lt;span style="color: green"&gt;// field must not be empty&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt; &lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;const&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; jsMethodName = &lt;span style="color: #a31515"&gt;"isOneOf"&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;var&lt;/span&gt; parameters = &lt;span style="color: blue"&gt;new&lt;/span&gt; { allowedValues = &lt;span style="color: #2b91af"&gt;Enum&lt;/span&gt;.GetNames(attribute.EnumType),&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;                               secretValue = &lt;span style="color: #a31515"&gt;"EASTER_EGG"&lt;/span&gt; };&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;string&lt;/span&gt; errorMessage = &lt;span style="color: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;"Not a valid value for the '{0}' enumeration."&lt;/span&gt;,&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;                                            attribute.EnumType.Name);&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt; &lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;yield&lt;/span&gt; &lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;CustomRule&lt;/span&gt;(jsMethodName, parameters, errorMessage); &lt;span style="color: green"&gt;// checks actual value against enum values&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt; &lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;} &lt;span style="color: green"&gt;// class EnumValueRulesProvider&lt;/span&gt;&lt;/p&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;As you can see, the &lt;font face="Courier New"&gt;EnumValue&lt;/font&gt; validation aspect is represented by two xVal rules on the client side: The first one (xVal's &lt;font face="Courier New"&gt;RequiredRule&lt;/font&gt;) makes sure that there actually is &lt;em&gt;some&lt;/em&gt; value provided on the web form, whereas the second one is a bit more interesting: An instance of the &lt;font face="Courier New"&gt;CustomRule&lt;/font&gt; class is used to reference a self-written JScript function ("&lt;font face="Courier New"&gt;isOneOf()&lt;/font&gt;") along with the required parameters ("&lt;font face="Courier New"&gt;allowedValues&lt;/font&gt;" and "&lt;font face="Courier New"&gt;secretValue&lt;/font&gt;") and the error message that should appear in case of validation failures. The function arguments must be provided in the form of an anonymous type, with the individual items as its members.&lt;/p&gt;
&lt;p&gt;And of course, our new &lt;font face="Courier New"&gt;RulesProvider&lt;/font&gt; must be registered with the application on startup. Hence, the following line must be added to the &lt;font face="Courier New"&gt;Application_Start()&lt;/font&gt; event handler in &lt;strong&gt;&lt;font face="Courier New"&gt;Global.asax.cs&lt;/font&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;div style="border-bottom: #808080 thin solid; border-left: #808080 thin solid; padding-bottom: 8px; padding-left: 6px; padding-right: 2px; white-space: nowrap; background: #dddddd; height: 20px; color: black; border-top: #808080 thin solid; border-right: #808080 thin solid; padding-top: 8px"&gt;&lt;code&gt;
&lt;p style="margin: 0px; color: #000000"&gt;xVal.&lt;span style="color: #2b91af"&gt;ActiveRuleProviders&lt;/span&gt;.Providers.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EnumValueRulesProvider&lt;/span&gt;());&lt;/p&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Now on to the client side. A JScript function, that is referenced in an xVal &lt;font face="Courier New"&gt;CustomRule&lt;/font&gt; class, must take three parameters:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face="Courier New"&gt;value&lt;/font&gt;: the value to validate (usually the content of some sort of HTML input element)&lt;/li&gt;
    &lt;li&gt;&lt;font face="Courier New"&gt;element&lt;/font&gt;: the HTML input element itself&lt;/li&gt;
    &lt;li&gt;&lt;font face="Courier New"&gt;params&lt;/font&gt;: an array that contains the &lt;font face="Courier New"&gt;CustomRule&lt;/font&gt;-provided method arguments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The function should return &lt;font face="Courier New"&gt;true&lt;/font&gt; or &lt;font face="Courier New"&gt;false&lt;/font&gt;, depending on the result of the validation operation. The above referenced &lt;font face="Courier New"&gt;isOneOf()&lt;/font&gt; function could look like this:&lt;/p&gt;
&lt;div style="border-bottom: #808080 thin solid; border-left: #808080 thin solid; padding-bottom: 8px; padding-left: 6px; padding-right: 2px; white-space: nowrap; background: #dddddd; height: 483px; color: black; overflow: scroll; border-top: #808080 thin solid; border-right: #808080 thin solid; padding-top: 8px"&gt;&lt;code&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// Return true if 'value' matches one of the values in 'params.allowedValues' (case insensitive).&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// Used in a custom xVal rule to map the 'EnumValue' VA aspect.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;//&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// Parameters&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// ----------&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;//&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// params.allowedValues&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// Comma-separated list of possible values for the 'value' param&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// params.secretValue&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: green"&gt;// A 'secret' string (for demo purposes)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;&lt;span style="color: blue"&gt;function&lt;/span&gt; isOneOf(value, element, params) {&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;if&lt;/span&gt; (params.secretValue == value) {&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        alert(&lt;span style="color: #a31515"&gt;"Congratulations!\nYou have found the secret value (but it won't validate...)."&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;var&lt;/span&gt; possibleValues = params.allowedValues&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;                               .toString()&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;                               .toLowerCase()&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;                               .split(&lt;span style="color: #a31515"&gt;","&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;var&lt;/span&gt; valueToCheck = value.toString().toLowerCase();&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; possibleValues.length; i++) {&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        &lt;span style="color: blue"&gt;if&lt;/span&gt; (possibleValues[i] == valueToCheck) {&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;            &lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;        }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    }&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;    &lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px; color: #000000"&gt;}&lt;/p&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;That's it! Quite simple and straightforward. As a result, we will have a client-side validation similar to this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/thomasweller/WindowsLiveWriter/7e9749214f52_3C77/NotAGender_2.gif"&gt;&lt;img title="NotAGender" border="0" alt="NotAGender" width="583" height="103" style="border-right-width: 0px; margin: 0px 20px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/thomasweller/WindowsLiveWriter/7e9749214f52_3C77/NotAGender_thumb.gif" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;...or this, respectively:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/thomasweller/WindowsLiveWriter/7e9749214f52_3C77/EmptyGender_5.gif"&gt;&lt;img title="EmptyGender" border="0" alt="EmptyGender" width="502" height="102" style="border-right-width: 0px; margin: 0px 90px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/thomasweller/WindowsLiveWriter/7e9749214f52_3C77/EmptyGender_thumb_1.gif" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I could think of many possible use cases for this technique of mapping C# validations (server-side) to JScript functions (client-side)...&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136537"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136537" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/thomasweller/aggbug/136537.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jWYLk5u-PfE" height="1" width="1"/&gt;</description><dc:creator>Thomas Weller</dc:creator><feedburner:origLink>http://geekswithblogs.net/thomasweller/archive/2009/11/26/including-custom-client-side-validations-in-your-asp.net-mvc-app.aspx</feedburner:origLink></item><item><title>Performance bottleneck - Low latency interface</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/2gklbCyFGLo/performance-bottleneck---low-latency-interface-again.aspx</link><pubDate>Wed, 25 Nov 2009 15:12:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/kapilc/archive/2009/11/25/performance-bottleneck---low-latency-interface-again.aspx</guid><wfw:comment>http://geekswithblogs.net/kapilc/comments/136536.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/kapilc/comments/commentRss/136536.aspx</wfw:commentRss><comments>http://geekswithblogs.net/kapilc/archive/2009/11/25/performance-bottleneck---low-latency-interface-again.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/kapilc/services/trackbacks/136536.aspx</trackback:ping><source url="http://geekswithblogs.net/kapilc/rss.aspx">Performance bottleneck - Low latency interface</source><description>&lt;h1 style="margin: 12pt 0cm 3pt"&gt;&lt;u&gt;&lt;font size="5"&gt;&lt;font face="Cambria"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;em&gt;&lt;font face="Cambria"&gt;Background: &lt;/font&gt;&lt;/em&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Out of first few tasks that were assigned to me in my new project, I was asked to help testing team with promoting an existing partially tested BizTalk interface. After little bit of code re-factoring and ensuring that the design has been simplified (removed some unwanted logging etc.), we put code to the test. Functionality wise there were not many issues which surprised us and we quickly got over it. However, it wasn’t for long that we realized that there was some obvious issue hidden somewhere beneath the layers of the code, which ultimately got highlighted during our stress testing of the interface.&lt;/font&gt;&lt;/p&gt;
&lt;h2 style="margin: 12pt 0cm 3pt"&gt;&lt;em&gt;&lt;font face="Cambria"&gt;Interface Scenario:&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Customers make a call into BizTalk - HTTP receive-location hosted under IIS (normal setup). This in turn instantiate an orchestration that makes a call into a backend ERP application (slow in nature) using custom-written socket code. In case of positive response from ERP application it simply maps a result back on to the HTTP response body. In case of an exception; orchestration tries to fetch a custom response configured in one of the custom SQL Server tables and maps this to the body of HTTP response.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;(I believe that SQL adapter was not used as the .net code to manage configuration held in SQL Server was presented as a library code and was been used from various other locations of the solution/s)&lt;/font&gt;&lt;/p&gt;
&lt;h2 style="margin: 12pt 0cm 3pt"&gt;&lt;em&gt;&lt;font face="Cambria"&gt;Crunch Time:&lt;/font&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;All was going reasonably well while we stressed the interface with the gush of inbound HTTP requests though we felt that it was slightly below our expectations. It was expected performance though. Then we attempted to perform a little bit of negative testing. One of the guys (always happy chap) here, kindly obliged by switching ERP into the mode that started to refuse any request. We thought that this should reduce overall latency time greatly as ERP processing time has simply been discarded out of the equation. To our surprise, interface slowed down heavily, BizTalk started to queue up messages, overall thread usage shot up, spool table started growing (and was very resistant to SQL purge jobs) etc etc..&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;All this behavior at first came as a shock to us and drove us mad for the good few minutes. I started looking for bottleneck/s. Surprisingly, BizTalk was not throttling, which indicated to me that thresholds haven’t been broken yet. So what the hell was slowing interface down? Well, it soon became obvious when I looked into the HAT and noticed that the call to the .Net code that pulls custom response message back from the custom table was taking horribly long (in the region of 15-20 seconds). That was the first time I looked into that part of the solution and found that the way configuration was interrogated was by using inline “&lt;b style="mso-bidi-font-weight: normal"&gt;Select&lt;/b&gt;” statements which were fired against the SQL Server. No need to say that this style of coding has a major affect on the performance. Anyways, I quickly modified the code by pushing the logic into the stored procedure and do another round of stress testing. The performance gains were astonishing. We gained 80% in performance and all quickly fell in place. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;The bit that surprised me was that this is a well known fact in the industry and still we sometimes manage to overlook it and end up paying performance penalties. Good that we picked this up in our test rounds; otherwise on production it could have been really difficult (with lot more and types of interfaces) to isolate the performance bottlenecks. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Therefore, the moral of a story is “&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;Never-ever use inline SQL statements in your .Net code or for that matter any front end production ready application code&lt;/i&gt;&lt;/b&gt;”.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Ps: One of the reasons that I wrote this blog is; on numerous occasions I have come across situations when people bash BizTalk for all sorts of issues without really understanding the underline design and real bottlenecks in the solutions.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;u&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Below are some numbers that backs up the story above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;table class="MsoNormalTable" cellspacing="0" cellpadding="0" width="523" border="0" style="margin: auto auto auto 4.65pt; width: 392pt; border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt"&gt;
    &lt;tbody&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="523" colspan="4" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; background: #fde9d9; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 392pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-alt: solid windowtext .5pt; mso-border-right-alt: solid black .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;HTTP-Sync message processing benchmarking&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 1"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 2"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Inputs&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 3"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 4"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Number of threads&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;150&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 5"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Submission batch size&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;150&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 6"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Sleep interval between each submission (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 7"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Total num of messages&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;600&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 8"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 9"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Result&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 10"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 11"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Old Code (With inline SQL execution)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 12"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 13"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RA1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Start Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;25/11/2009 13:07&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 14"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RA2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Stop Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;25/11/2009 13:14:28&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 15"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RA3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Total time taken (seconds)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;430.9&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 16"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RA4&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Number of messages processed /sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;1.4&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 17"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 18"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 19"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 20"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;New Code (Using stored procedure)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 21"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 22"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RB1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Start Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;25/11/2009 13:19&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 23"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RB2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Stop Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;25/11/2009 13:21&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 24"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RB3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Total time taken (seconds)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;80.85&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 25"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 35.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;RB4&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Number of messages processed /sec&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;7.42&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 26"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 35.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 27"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 35.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 236.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 28"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 35.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Performance gain (secs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;350.05&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height: 15pt; mso-yfti-irow: 29; mso-yfti-lastrow: yes"&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="47" style="border-right: #f0f0f0; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 35.45pt; padding-top: 0cm; border-bottom: #f0f0f0; height: 15pt; background-color: transparent"&gt; &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="315" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; background: #d8d8d8; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 236.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Performance gain (%)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="6" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 4.65pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td valign="bottom" nowrap="nowrap" width="154" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #f0f0f0; width: 115.45pt; padding-top: 0cm; border-bottom: windowtext 1pt solid; height: 15pt; background-color: transparent; mso-border-right-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt"&gt;
            &lt;p class="MsoNormal" align="right" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: right"&gt;&lt;b&gt;&lt;span style="color: black; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;81.23694593&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;

&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136536"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136536" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kapilc/aggbug/136536.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/2gklbCyFGLo" height="1" width="1"/&gt;</description><dc:creator>kapilc</dc:creator><feedburner:origLink>http://geekswithblogs.net/kapilc/archive/2009/11/25/performance-bottleneck---low-latency-interface-again.aspx</feedburner:origLink></item><item><title>Redirection for Outlook Web Access with IIS 7 for Internal and External URLs</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/32R6i33u2W0/redirection-for-outlook-web-access-with-iis-7-for-internal.aspx</link><pubDate>Wed, 25 Nov 2009 14:16:15 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cajunmcse/archive/2009/11/25/redirection-for-outlook-web-access-with-iis-7-for-internal.aspx</guid><wfw:comment>http://geekswithblogs.net/cajunmcse/comments/136533.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cajunmcse/comments/commentRss/136533.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cajunmcse/archive/2009/11/25/redirection-for-outlook-web-access-with-iis-7-for-internal.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cajunmcse/services/trackbacks/136533.aspx</trackback:ping><source url="http://geekswithblogs.net/cajunmcse/rss.aspx">Redirection for Outlook Web Access with IIS 7 for Internal and External URLs</source><description>&lt;p&gt;Http to Https redirection is commonly a preferred configuration for Outlook Web Access for most organizations.  The challenges presented in IIS7 are that the built-in redirection feature only allows relative redirection without a full URL entered.  To perform Http to Https, the full URL is required.   This becomes an issue when organizations are trying to redirect for both internal and external users who commonly are using different URLs to access the server.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The solution is 2 fold. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;First, turn on relative redirection by entering the the virtual directory for exchange and checking the “&lt;strong&gt;Only redirect requests to content in this directory (not subdirectories)&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE: &lt;/strong&gt;Http Redirect is a feature in Windows 2008 and must be installed through the Features in Server Manager or through the cmd prompt: &lt;/p&gt;    &lt;table border="1" width="311"&gt;&lt;tbody bgcolor="#000000" font="console"&gt;       &lt;tr&gt;         &lt;td width="309"&gt;&lt;font color="#ffffff" face="lucida console"&gt;c:\&amp;gt;servermanagercmd –i Web-Http-Redirect&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; “&lt;strong&gt;Require SSL&lt;/strong&gt;” needs to be turned off on the Default Web Site.  In IIS 7 this will also turn if off on all the virtual directories.  Each virtual directory will have to have “&lt;strong&gt;Require SSL&lt;/strong&gt;” turned back on individually.  &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; When you apply redirection to the Default Web Site, redirection will also be applied to all subdirectories.  It needs to be unchecked on all directories except the Default Web Site. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/cajunmcse/WindowsLiveWriter/RedirectionforOutlookWebAccesswithIIS7fo_C5B7/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/cajunmcse/WindowsLiveWriter/RedirectionforOutlookWebAccesswithIIS7fo_C5B7/image_thumb.png" width="413" height="249" /&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; &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;Secondly, the Http to Https redirection need to be enabled for any URL entered whether its an external FQDN or an internal server name.  There is a great article here on &lt;a href="http://www.jppinto.com/index.php/2009/04/automatically-redirect-http-requests-to-https-iis-7/"&gt;Using custom Error 403.4 to perform HTTPS redirects in IIS 7&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136533"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136533" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cajunmcse/aggbug/136533.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/32R6i33u2W0" height="1" width="1"/&gt;</description><dc:creator>cajunmcse</dc:creator><feedburner:origLink>http://geekswithblogs.net/cajunmcse/archive/2009/11/25/redirection-for-outlook-web-access-with-iis-7-for-internal.aspx</feedburner:origLink></item><item><title>Update to Silverlight Cream #743</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/AjMKJgqEYsk/136531.aspx</link><pubDate>Wed, 25 Nov 2009 13:54:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/25/136531.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136531.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136531.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/25/136531.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136531.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Update to Silverlight Cream #743</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;
&lt;p&gt;Please note a link change for &lt;a href="http://www.africangeek.com/"&gt;&lt;u&gt;AfricanGeek&lt;/u&gt;&lt;/a&gt; in my last SC post.&lt;/p&gt;
&lt;p&gt;For some reason that I'll have to figure out later, my code didn't form the link correctly because I Ileft off "http://"&lt;/p&gt;
&lt;p&gt;But it's correct now, so check it out... Silverlight 4 video tutorials!&lt;/p&gt;
&lt;p&gt;I'm going to be dark for a couple days celebrating Thanksgiving, I hope everyone does the same and has a great Thanksgiving... even if you aren't in the U.S. :)&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff"&gt;&lt;span style="font-size: x-small"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136531"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136531" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136531.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/AjMKJgqEYsk" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/25/136531.aspx</feedburner:origLink></item><item><title>BizTalk Server Roadmap 2009 &amp; Beyond…</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Qe-pZFVFD8E/136530.aspx</link><pubDate>Wed, 25 Nov 2009 13:47:53 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/sureshg/archive/2009/11/25/136530.aspx</guid><wfw:comment>http://geekswithblogs.net/sureshg/comments/136530.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/sureshg/comments/commentRss/136530.aspx</wfw:commentRss><comments>http://geekswithblogs.net/sureshg/archive/2009/11/25/136530.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/sureshg/services/trackbacks/136530.aspx</trackback:ping><source url="http://geekswithblogs.net/sureshg/rss.aspx">BizTalk Server Roadmap 2009 &amp; Beyond…</source><description>&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style=""&gt;&lt;span style="font-family: Comic Sans MS"&gt;   Check the BizTalk road map - PDC presentation on BizTalk Server 2009 R2: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://microsoftpdc.com/Sessions/SVR15"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;font color="#0000ff"&gt;http://microsoftpdc.com/Sessions/SVR15&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Comic Sans MS"&gt;   Check the BizTalk Server 2009 R2 on Windows app fabric from BTS Team blog: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/biztalk_server_team_blog/archive/2009/11/20/biztalk-server-strong-roadmap-and-innovations-preview-presented-at-pdc.aspx"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Comic Sans MS"&gt;&lt;font color="#0000ff"&gt;http://blogs.msdn.com/biztalk_server_team_blog/archive/2009/11/20/biztalk-server-strong-roadmap-and-innovations-preview-presented-at-pdc.aspx&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136530"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136530" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sureshg/aggbug/136530.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Qe-pZFVFD8E" height="1" width="1"/&gt;</description><dc:creator>SURESH GIRIRAJAN</dc:creator><feedburner:origLink>http://geekswithblogs.net/sureshg/archive/2009/11/25/136530.aspx</feedburner:origLink></item><item><title>Parsing argument line with a folder-parameter ending with backslash</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/WZATNxiooak/136525.aspx</link><pubDate>Wed, 25 Nov 2009 04:21:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mapfel/archive/2009/11/25/136525.aspx</guid><wfw:comment>http://geekswithblogs.net/mapfel/comments/136525.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mapfel/comments/commentRss/136525.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mapfel/archive/2009/11/25/136525.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mapfel/services/trackbacks/136525.aspx</trackback:ping><source url="http://geekswithblogs.net/mapfel/rss.aspx">Parsing argument line with a folder-parameter ending with backslash</source><description>&lt;p&gt;By using the argument line array of Main(string[] args) it is important to know such effect.&lt;/p&gt;  &lt;p&gt;If you specify a quoted folder (e.g. "C:\Projects\PDE\PRJ_EsriDE_Common\trunk\code\Commons\bin\Debug\") the ending backslash makes troubles.&lt;/p&gt;  &lt;p&gt;My whole argument line (linebreaked for better viewing):&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-inDir:&lt;span style="color: #006080"&gt;"C:\Projects\PDE\PRJ_EsriDE_Common\trunk\code\Commons\bin\Debug\"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-recursive:false&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-filter:*&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-separation:AssemblySeparated&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outDir:"C:\Projects\PDE\PRJ_EsriDE_Common\trunk\code\Commons\bin\Debug\"&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFile:AllInOneReg&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFormat:RegistryFile&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;is wrongly splitted to:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://sites.google.com/site/markoapfel/ArgumentLine.01.png" /&gt; &lt;/p&gt;

&lt;p&gt;The following variant without a ending backslash:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-inDir:&lt;span style="color: #006080"&gt;"C:\Projects\PDE\PRJ_EsriDE_Common\trunk\code\Commons\bin\Debug"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-recursive:false&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-&lt;span style="color: #0000ff"&gt;filter&lt;/span&gt;:*&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-separation:AssemblySeparated&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outDir:&lt;span style="color: #006080"&gt;"C:\Projects\PDE\PRJ_EsriDE_Common\trunk\code\Commons\bin\Debug"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFile:AllInOneReg&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFormat:RegistryFile&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;is no problem:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://sites.google.com/site/markoapfel/ArgumentLine.02.png" /&gt; &lt;/p&gt;

&lt;p&gt;and also the forward slashes: &lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-inDir:&lt;span style="color: #006080"&gt;"C:/Projects/PDE/PRJ_EsriDE_Common/trunk/code/Commons/bin/Debug/"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-recursive:false&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-&lt;span style="color: #0000ff"&gt;filter&lt;/span&gt;:*&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-separation:AssemblySeparated&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outDir:&lt;span style="color: #006080"&gt;"C:/Projects/PDE/PRJ_EsriDE_Common/trunk/code/Commons/bin/Debug/"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFile:AllInOneReg&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;-outFormat:RegistryFile&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;works in both variants (with and without an ending one):&lt;/p&gt;

&lt;p&gt;&lt;img src="http://sites.google.com/site/markoapfel/ArgumentLine.03.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136525"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136525" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mapfel/aggbug/136525.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/WZATNxiooak" height="1" width="1"/&gt;</description><dc:creator>Marko Apfel</dc:creator><feedburner:origLink>http://geekswithblogs.net/mapfel/archive/2009/11/25/136525.aspx</feedburner:origLink></item><item><title>Our plan for the next few months&amp;hellip;</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/BiLuaFJ5VdA/136524.aspx</link><pubDate>Wed, 25 Nov 2009 20:35:43 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/maxonweb/archive/2009/11/25/136524.aspx</guid><wfw:comment>http://geekswithblogs.net/maxonweb/comments/136524.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/maxonweb/comments/commentRss/136524.aspx</wfw:commentRss><comments>http://geekswithblogs.net/maxonweb/archive/2009/11/25/136524.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/maxonweb/services/trackbacks/136524.aspx</trackback:ping><source url="http://geekswithblogs.net/maxonweb/rss.aspx">Our plan for the next few months&amp;hellip;</source><description>&lt;p&gt;We look to learn the Silverlight, WPF and ASP.NET MVC 2 over the next few months. We’ll start developing a data driven application to explore each one of these. I am now in the process of finding a sample database for use.&lt;/p&gt;  &lt;p&gt;We will start our tutorials from next week. Stay tuned until then.&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:92c3d733-6066-4b7b-b96c-421d070f279e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVC" rel="tag"&gt;MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136524"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136524" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/maxonweb/aggbug/136524.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/BiLuaFJ5VdA" height="1" width="1"/&gt;</description><dc:creator>Max</dc:creator><feedburner:origLink>http://geekswithblogs.net/maxonweb/archive/2009/11/25/136524.aspx</feedburner:origLink></item><item><title>TFS 2010 Beta 2 &amp;ndash; Upgrading Builds from TFS 2008</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/qnuoxLkUTP0/tfs-2010-beta-2-ndash-upgrading-builds-from-tfs-2008.aspx</link><pubDate>Wed, 25 Nov 2009 08:23:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jakob/archive/2009/11/24/tfs-2010-beta-2-ndash-upgrading-builds-from-tfs-2008.aspx</guid><wfw:comment>http://geekswithblogs.net/jakob/comments/136523.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jakob/comments/commentRss/136523.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jakob/archive/2009/11/24/tfs-2010-beta-2-ndash-upgrading-builds-from-tfs-2008.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jakob/services/trackbacks/136523.aspx</trackback:ping><source url="http://geekswithblogs.net/jakob/rss.aspx">TFS 2010 Beta 2 &amp;ndash; Upgrading Builds from TFS 2008</source><description>&lt;p&gt;We are in the process of upgrading the entire company to TFS 2010 Beta 2, and in preparing for that we have done some test upgrades to make sure that all things work as expected after the upgrade. As expected, most issues that turned up had to do with builds. This is one of the areas that has changed the most compared to TFS 2008. I thought that I would use this post to run through some of the issues that we found.&lt;/p&gt;
&lt;p&gt;First of all, when upgrading a TFS 2008 to TFS 2010 Beta 2, all build definitions will be upgraded. They will all be redefined to use the &lt;strong&gt;UpgradeProcessTemplate&lt;/strong&gt; build process template in the new Windows Workflow based build engine. Jim Lamb has a good post that describes this here &lt;a title="http://blogs.msdn.com/jimlamb/archive/2009/11/03/upgrading-tfs-2008-build-definitions-to-tfs-2010.aspx" href="http://blogs.msdn.com/jimlamb/archive/2009/11/03/upgrading-tfs-2008-build-definitions-to-tfs-2010.aspx"&gt;http://blogs.msdn.com/jimlamb/archive/2009/11/03/upgrading-tfs-2008-build-definitions-to-tfs-2010.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A nice feature is that you can still use Visual Studio 2008 to create new build definitions in a TFS 2010 server. Under the surface, this will create a build definition using the UpgradeBuildProcess template and it will check in the TFSBuild.proj/rsp files for you. So it will actually be easier to use VS2008 to do this rather than VS 2010, when creating builds targeting legacy MSBuild builds.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
So, what issues did we run into after the upgrade?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft.TeamFoundation.Build.Client.BuildServerException: Updating build information is not supported from this client. Please use a client compatible with Team Foundation Build Codename Rosario and try again&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When running our release builds, most of them failed after the upgrade with this error message. It happened in several different custom build tasks that we have developed inhouse. The thing they had in common was that they were trying to update the running build. For example when adding/updating build steps using the InformationNodeConverter.AddBuildStep method. Also when attaching custom build data using the IBuildInformationNode interface we got the same error.&lt;/p&gt;
&lt;p&gt;Actually this error message is the same that you get when trying to work against a TFS 2010 Beta 2 instance from a VS2008 client that does not have the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=CF13EA45-D17B-4EDC-8E6C-6C5B208EC54D&amp;amp;displaylang=en"&gt;VSTS 2008 SP1 Forward Compatibility Update&lt;/a&gt; installed. Even with the upgrade installed there are still things that can’t be done using VSTS 2008. For example you can create a new build definition from a VSTS 2008 client, but you can’t edit it. Try and you will get this dialog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/jakob/WindowsLiveWriter/TFS2010Beta2WorkingwithLegacyBuilds_14571/image_2.png"&gt;&lt;img title="image" border="0" alt="image" width="496" height="218" style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" src="http://geekswithblogs.net/images/geekswithblogs_net/jakob/WindowsLiveWriter/TFS2010Beta2WorkingwithLegacyBuilds_14571/image_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The problem for our build tasks are of course that they were still compiled against the old 9.0 version of the TFS API assemblies. You need to reference the 10.0 version of these assemblies, and the only place that I have been able to locate them at so far is at: %PROGRAMFILES%\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/jakob/WindowsLiveWriter/TFS2010Beta2WorkingwithLegacyBuilds_14571/image_4.png"&gt;&lt;img title="image" border="0" alt="image" width="770" height="417" style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" src="http://geekswithblogs.net/images/geekswithblogs_net/jakob/WindowsLiveWriter/TFS2010Beta2WorkingwithLegacyBuilds_14571/image_thumb_1.png" /&gt;&lt;/a&gt;The version of these assembies are 10.0.21006.1. I would assume that these assemblies was installed somewhere when installing the Forward Compatibility Upgrade but I haven’t found them anywhere so far.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The command ""\..\..\Common7\IDE\tf.exe" checkout /recursive xxxxxx exited with code 3 &lt;br /&gt;
&lt;/strong&gt;This was another problem that turned up after the upgrade. We use the tf.exe command line tool a lot during builds. For example we check out and in files, we create and modify workspaces etc. In our 2008 build definitions we define a property that contains the full path to tf.exe like this:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;lt;TF&amp;gt;&amp;amp;quot;$(TeamBuildRefPath)\..\tf.exe&amp;amp;quot;&amp;lt;/TF&amp;gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;TeamBuildRefPath is a Team Build property that provides the path to Team Build binaries (the logger, tasks, etc.).  Typically %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies. But in TFS 2010 Beta 2 this property has been changed which of course breaks the builds using it like this. We can see where this change is done by looking at the file TFSBuild.rsp that is generated on the fly by Team Build and is located in the BuildType folder. This file contains all the properties that are used when running MSBuild on the TFSBuild.proj file and is a miz of generated properties and the ones that you can define in your own TFSBuild.rsp file in source control. Here is a sample of this file:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;### Begin Team Build Generated Arguments ### &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;/dl:BuildLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"BuildUri=vstfs:///Build/Build/43;TFSUrl=&lt;/font&gt;&lt;a href="http://tfsrtm08:8080/tfs/DefaultCollection;TFSProjectFile=C:\Builds\2\project"&gt;&lt;font size="1"&gt;http://tfsrtm08:8080/tfs/DefaultCollection;TFSProjectFile=C:\Builds\2\project&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;\xxxx\BuildType\TFSBuild.proj;InformationNodeId=2769;LogFilePerProject=False;"*BuildForwardingLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"BuildUri=vstfs:///Build/Build/43;TFSUrl=&lt;/font&gt;&lt;a href="http://tfsrtm08:8080/tfs/DefaultCollection;TFSProjectFile=C:\Builds\2\project"&gt;&lt;font size="1"&gt;http://tfsrtm08:8080/tfs/DefaultCollection;TFSProjectFile=C:\Builds\2\project&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;\xxx\BuildType\TFSBuild.proj;InformationNodeId=2769;" &lt;br /&gt;
/fl /flp:"logfile=C:\Builds\2\project\xxxx\BuildType\BuildLog.txt;encoding=Unicode;verbosity=normal;" &lt;br /&gt;
/p:ProjectFileVersion="3" &lt;br /&gt;
/p:BuildDefinition="xxxx" &lt;br /&gt;
/p:BuildDefinitionId="5" &lt;br /&gt;
/p:DropLocation="\\TFSRTM08\Drop" &lt;br /&gt;
/p:BuildProjectFolderPath="%24/project/xxxxxx/Main/Build/Test" &lt;br /&gt;
/p:BuildUri="vstfs:///Build/Build/43" &lt;br /&gt;
/p:TeamFoundationServerUrl="&lt;/font&gt;&lt;a href="http://tfsrtm08:8080/tfs/DefaultCollection&amp;quot;"&gt;&lt;font size="1"&gt;http://tfsrtm08:8080/tfs/DefaultCollection"&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;br /&gt;
/p:TeamProject="project" &lt;br /&gt;
/p:BuildAgentName="TFSRTM08 - Agent1" &lt;br /&gt;
/p:MachineName="TFSRTM08" &lt;br /&gt;
/p:BuildAgentUri="vstfs:///Build/Agent/2" &lt;br /&gt;
/p:BuildDirectory="C:\Builds\2\project\xxxxx" &lt;br /&gt;
/p:BuildAgentId="2" &lt;br /&gt;
/p:SourceGetVersion="C10" &lt;br /&gt;
/p:LastGoodBuildLabel="xxxxx” &lt;br /&gt;
/p:LastBuildNumber="xxxxx_20091116.4" &lt;br /&gt;
/p:LastGoodBuildNumber="xxxxx_20091110.4" &lt;br /&gt;
/p:NoCICheckInComment="%2a%2a%2aNO_CI%2a%2a%2a" &lt;br /&gt;
/p:IsDesktopBuild="False" &lt;br /&gt;
&lt;/font&gt;&lt;font size="1"&gt;&lt;em&gt;/p:TeamBuildRefPath="C:\Program Files\Microsoft Team Foundation Server 2010\Tools\\" &lt;br /&gt;
&lt;/em&gt;/t:EndToEndIteration &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;### End Team Build Generated Arguments ### &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;### Begin Checked In TfsBuild.rsp Arguments ### &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;# This is a response file for MSBuild &lt;br /&gt;
# Add custom MSBuild command line options in this file &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;### End Checked In TfsBuild.rsp Arguments ###&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;So the TeamBuildRefPath now points to the Tools folder below the TFS 2010 install folder. But tf.exe is typically installed at &lt;em&gt;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE. &lt;/em&gt;At the moment, we have resorted to redefining our TF property by using the full path which of course is not a very good solution. But it works, until we find what other MSBuild property we can use to reference to the 10.0 path&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Work Items are not associated with builds &lt;br /&gt;
&lt;/strong&gt;When running builds, we noticed that sometimes the workitems that had been associated with the changesets for the build were not associated with build. When looking more closely on the build log, this warning were generated:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (1162): TF42093: The work item xxx could not be updated with build information. The field Microsoft.VSTS.Build.IntegrationBuild is not available on this work item.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This turned out to be a &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsprerelease/thread/66882c4c-1818-45c9-8562-433e1b6af6eb"&gt;known bug&lt;/a&gt; in TFS Beta 2 and affects all work item types that do not have the Microsoft.VSTS.Build.IntegrationBuild field. At the moment there is no work around for this problem than to add this field to all your work item types.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Aside from these problems, the upgraded builds works fine in TFS 2010 Beta 2, which is reassuring because we can still use our investments in the TFS 2008 build process. WE are about to migrate our build process to 2010, using Windows Workflow instead of MSBuild, but this means that we don’t have to do this immediately.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136523"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136523" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jakob/aggbug/136523.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/qnuoxLkUTP0" height="1" width="1"/&gt;</description><dc:creator>Jakob Ehn</dc:creator><feedburner:origLink>http://geekswithblogs.net/jakob/archive/2009/11/24/tfs-2010-beta-2-ndash-upgrading-builds-from-tfs-2008.aspx</feedburner:origLink></item><item><title>Microsoft Business Intelligence Project Booster Kit</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/uHEzklqd6bs/136522.aspx</link><pubDate>Wed, 25 Nov 2009 07:01:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/naijacoder/archive/2009/11/25/136522.aspx</guid><wfw:comment>http://geekswithblogs.net/naijacoder/comments/136522.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/naijacoder/comments/commentRss/136522.aspx</wfw:commentRss><comments>http://geekswithblogs.net/naijacoder/archive/2009/11/25/136522.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/naijacoder/services/trackbacks/136522.aspx</trackback:ping><source url="http://geekswithblogs.net/naijacoder/rss.aspx">Microsoft Business Intelligence Project Booster Kit</source><description>&lt;p&gt;I just came across &lt;a target="_blank" href="http://www.sqlservercentral.com/articles/SSIS/68341/"&gt;this &lt;/a&gt; article and i taught its a good resource for BI Developers and other Analysts.&lt;br /&gt;
Hope it helps&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136522"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136522" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/naijacoder/aggbug/136522.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/uHEzklqd6bs" height="1" width="1"/&gt;</description><dc:creator>Patrick Olurotimi Ige</dc:creator><feedburner:origLink>http://geekswithblogs.net/naijacoder/archive/2009/11/25/136522.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 24, 2009 - 2 -- #743 - updated</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/uTJGFCKcgE0/136520.aspx</link><pubDate>Wed, 25 Nov 2009 05:45:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136520.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136520.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136520.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136520.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136520.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 24, 2009 - 2 -- #743 - updated</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;In this Issue: &lt;a href="#200911242African Geek"&gt;&lt;u&gt;African Geek&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Alan Mendelevich"&gt;&lt;u&gt;Alan Mendelevich&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Jeff Wilcox"&gt;&lt;u&gt;Jeff Wilcox&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242CorrinaB"&gt;&lt;u&gt;CorrinaB&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Tim Heuer"&gt;&lt;u&gt;Tim Heuer&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Jeff Handley"&gt;&lt;u&gt;Jeff Handley&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Timmy Kokke"&gt;&lt;u&gt;Timmy Kokke&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Cameron Albert"&gt;&lt;u&gt;Cameron Albert&lt;/u&gt;&lt;/a&gt;, &lt;a href="#200911242Antoni Dol"&gt;&lt;u&gt;Antoni Dol&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#200911242Fredrik Normén"&gt;&lt;u&gt;Fredrik Normén&lt;/u&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Shoutouts: &lt;br /&gt;
&lt;br /&gt;
Check out the &lt;a href="http://code.msdn.microsoft.com/RiaServices"&gt;&lt;u&gt;WCF RIA Services Code Gallery&lt;/u&gt;&lt;/a&gt; on MSDN ... lots of good resources there! &lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;Silverlight Team Blog&lt;/b&gt; posted a new &lt;a href="http://team.silverlight.net/product-technology-deep-dive/silverlight-podcast-expression-encoder-3/"&gt;&lt;u&gt;Silverlight Podcast: Expression Encoder 3&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Timmy Kokke&lt;/b&gt; has his code and slides up from &lt;a href="http://geekswithblogs.net/tkokke/archive/2009/11/22/code-and-slides-ndash-dutch-code-camp-2009.aspx"&gt;&lt;u&gt;Dutch Code Camp 2009&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Michael Wolf&lt;/b&gt; has a &lt;a href="http://www.cynergysystems.com/blogs/page/michaelwolf?entry=tim_sneath_interview_on_silverlight"&gt;&lt;u&gt;Tim Sneath Interview on Silverlight 4 and WPF&lt;/u&gt;&lt;/a&gt; up on his blog. &lt;br /&gt;
&lt;br /&gt;
Check out &lt;b&gt;Joe Stegman&lt;/b&gt;'s Channel 9 video: &lt;a href="http://channel9.msdn.com/posts/Charles/Joe-Stegman-Silverlight-4-Out-of-Browser-Evolves/"&gt;&lt;u&gt;Joe Stegman: Silverlight 4 - Out of Browser Evolves&lt;/u&gt;&lt;/a&gt; &lt;/font&gt;
&lt;/p&gt;&lt;p&gt; &lt;/p&gt;

&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;
&lt;p&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="200911242African Geek"&gt;&lt;/a&gt;&lt;a title="www.AfricanGeek.com" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4619"&gt;&lt;u&gt;Silverlight 4 Video Tutorials&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;span style="color: #ff0000"&gt;&lt;strong&gt;So much for quality control, I had African Geeks' link messed up last night, but it's correct now. &lt;/strong&gt;&lt;/span&gt;Yes I know this is the same link for all of &lt;b&gt;African Geek&lt;/b&gt;'s postings, but they're in his scrolling video menu... he's got two new ones in there (on the left) that are the first two of a 4-parter on Silverlight 4. Both using the right-click menu and printing... cool! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Alan Mendelevich"&gt;&lt;/a&gt;&lt;a title="http://devblog.ailon.org/devblog/post/2009/11/23/Writing-WPFSilverlight-compatible-code-Part-4-Geometries.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4618"&gt;&lt;u&gt;Writing WPF/Silverlight compatible code. Part 4: Geometries&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Alan Mendelevich&lt;/b&gt; continues with part 4 of a series on writing code that's compatible to WPF and Silverlight. This time out he's talking about geometry... and there are differences... check out his post for the details. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Jeff Wilcox"&gt;&lt;/a&gt;&lt;a title="http://www.jeff.wilcox.name/2009/11/november-walkthrough/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4617"&gt;&lt;u&gt;Walkthrough: The power of the November 2009 Silverlight Toolkit testing tools&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeff Wilcox&lt;/b&gt; blogs about the new features in the Toolkit drop and gives a walkthrough of installing the toolkit and Creating a Silverlight class library with unit testing. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242CorrinaB"&gt;&lt;/a&gt;&lt;a title="http://blogs.msdn.com/corrinab/archive/2009/11/24/9927729.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4616"&gt;&lt;u&gt;Windows System Color Theme for Silverlight &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;CorrinaB&lt;/b&gt; hits a homerun again with a mapping to Windows System colors ... check out the project to download... and provide feedback! ... this is great stuff... &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Tim Heuer"&gt;&lt;/a&gt;&lt;a title="http://timheuer.com/blog/archive/2009/11/22/fix-open-in-expression-blend-missing-link-in-visual-studio.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4615"&gt;&lt;u&gt;Fixing Visual Studio 2010 and Blend Preview for .NET 4 integration&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Tim Heuer&lt;/b&gt; comes to our rescue as usual with a solution to the problem of not being able to 'open in Expression Blend' in VS2010... be sure to read Tim's warning as well! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Jeff Handley"&gt;&lt;/a&gt;&lt;a title="http://jeffhandley.com/archive/2009/11/21/domaindatasource-backflips.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4614"&gt;&lt;u&gt;(Not) Doing Back Flips with DomainDataSource [SubmitChanges sends user to first page]&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeff Handley&lt;/b&gt; reports on a change that was made to resolve a (possible) problem with paging after SubmitChanges() that actually ended up being pretty 'heavy handed' (their words)... read about it and the bug they've turned in on it, and how to make it NOT do what the change is trying to do. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Timmy Kokke"&gt;&lt;/a&gt;&lt;a title="http://geekswithblogs.net/tkokke/archive/2009/11/23/silverbullet-13---system.threading.synchronizationcontext.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4613"&gt;&lt;u&gt;SilverBullet #13 - System.Threading.SynchronizationContext&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Timmy Kokke&lt;/b&gt; has his Silver Bullet #13 up on the site, discussing System.Threading.SynchronizationContext with sample code to demonstrate. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Cameron Albert"&gt;&lt;/a&gt;&lt;a title="http://cameronalbert.com/post/2009/11/23/Silverlight-Tile-Map-using-WriteableBitmap.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4612"&gt;&lt;u&gt;Silverlight Tile Map using WriteableBitmap&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Cameron Albert&lt;/b&gt; took some WriteableBitmap code that Bill Reiss produced and turned it into a tiled map creator for his game... check it out... it's too cool! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Antoni Dol"&gt;&lt;/a&gt;&lt;a title="http://www.sixin.nl/antoni-dol-blog/09-11-15/Silverlight_Style_GlassBorderStyle.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4611"&gt;&lt;u&gt;Silverlight Style: GlassBorderStyle &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Antoni Dol&lt;/b&gt; has an awesome glass button up on their new Silverlight &amp;amp; Expression Insiders site ... real quick drop-in :) &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="200911242Fredrik Normén"&gt;&lt;/a&gt;&lt;a title="http://weblogs.asp.net/fredriknormen/archive/2009/11/20/wcf-ria-services-and-dto-with-association.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4610"&gt;&lt;u&gt;WCF RIA Services and DTO with association &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Fredrik Normén&lt;/b&gt; has a post up about WCF RIA Services and DTO... specifically addressing sending an object graph that includes an association to other objects. &lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" /&gt;SilverlightCream&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136520"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136520" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136520.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/uTJGFCKcgE0" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136520.aspx</feedburner:origLink></item><item><title>Limit the Number to be Selected in the ListBox control - (Server Side way)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/RMse89hKlU0/limit-the-number-to-be-selected-in-the-listbox-control.aspx</link><pubDate>Wed, 25 Nov 2009 02:52:53 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dotNETvinz/archive/2009/11/24/limit-the-number-to-be-selected-in-the-listbox-control.aspx</guid><wfw:comment>http://geekswithblogs.net/dotNETvinz/comments/136519.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dotNETvinz/comments/commentRss/136519.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dotNETvinz/archive/2009/11/24/limit-the-number-to-be-selected-in-the-listbox-control.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/dotNETvinz/services/trackbacks/136519.aspx</trackback:ping><source url="http://geekswithblogs.net/dotNETvinz/rss.aspx">Limit the Number to be Selected in the ListBox control - (Server Side way)</source><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;One of the members in the forum (forums.asp.net) is asking how to limit the number of selected items in the ListBox and so contributors (including me) gave the OP (Original Poster) different ideas on how to validate it. Some of them provided solution using pure &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&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: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:Compatibility&gt;
&lt;w:BreakWrappedTables /&gt;
&lt;w:SnapToGridInCell /&gt;
&lt;w:WrapTextWithPunct /&gt;
&lt;w:UseAsianBreakRules /&gt;
&lt;w:DontGrowAutofit /&gt;
&lt;/w:Compatibility&gt;
&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" LatentStyleCount="156"&gt;
&lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;/span&gt;&lt;span style="font-size: medium;"&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&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-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
&lt;/style&gt;
&lt;![endif]--&gt;JavaScripts and a mixture of code behind and JavaScript. However the OP doesn’t want to use JavaScript validation for some reason, so I decided to post the solution that I have provided on that thread &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;as a reference to others.&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;Here it is:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;ASPX:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="ProgId" content="Word.Document" /&gt;
&lt;meta name="Generator" content="Microsoft Word 11" /&gt;
&lt;meta name="Originator" content="Microsoft Word 11" /&gt;
&lt;link rel="File-List" href="file:///C:\DOCUME~1\vd185022\LOCALS~1\Temp\msohtml1\01\clip_filelist.xml" /&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: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:Compatibility&gt;
&lt;w:BreakWrappedTables /&gt;
&lt;w:SnapToGridInCell /&gt;
&lt;w:WrapTextWithPunct /&gt;
&lt;w:UseAsianBreakRules /&gt;
&lt;w:DontGrowAutofit /&gt;
&lt;/w:Compatibility&gt;
&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" LatentStyleCount="156"&gt;
&lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style type="text/css"&gt;&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;&lt;/style&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-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
&lt;/style&gt;
&lt;![endif]--&gt;
&lt;table cellspacing="0" cellpadding="0" border="0" align="left" class="MsoTableGrid" style="background: rgb(224, 224, 224) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; border-collapse: collapse; margin-left: 6.75pt; margin-right: 6.75pt;"&gt;
    &lt;tbody&gt;
        &lt;tr style=""&gt;
            &lt;td width="590" valign="top" style="padding: 0in 5.4pt; width: 6.15in;"&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;html&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;head&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;head&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="form1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListBox&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="ListBox1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt; &lt;span style="color: red;"&gt;AutoPostBack&lt;/span&gt;&lt;span style="color: blue;"&gt;="True"&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="109px"&lt;/span&gt; &lt;span style="color: red;"&gt;SelectionMode&lt;/span&gt;&lt;span style="color: blue;"&gt;="Multiple"&lt;/span&gt; &lt;span style="color: red;"&gt;OnSelectedIndexChanged&lt;/span&gt;&lt;span style="color: blue;"&gt;="ListBox1_SelectedIndexChanged"&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="141px"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;A&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;B&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;C&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;D&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;E&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;F&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListItem&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ListBox&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;body&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(163, 21, 21);"&gt;html&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt;CODE BEHIND:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="ProgId" content="Word.Document" /&gt;
&lt;meta name="Generator" content="Microsoft Word 11" /&gt;
&lt;meta name="Originator" content="Microsoft Word 11" /&gt;
&lt;link rel="File-List" href="file:///C:\DOCUME~1\vd185022\LOCALS~1\Temp\msohtml1\01\clip_filelist.xml" /&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: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:Compatibility&gt;
&lt;w:BreakWrappedTables /&gt;
&lt;w:SnapToGridInCell /&gt;
&lt;w:WrapTextWithPunct /&gt;
&lt;w:UseAsianBreakRules /&gt;
&lt;w:DontGrowAutofit /&gt;
&lt;/w:Compatibility&gt;
&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&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" LatentStyleCount="156"&gt;
&lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style type="text/css"&gt;&lt;!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;&lt;/style&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-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
table.MsoTableGrid
{mso-style-name:"Table Grid";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
&lt;/style&gt;
&lt;![endif]--&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="0" border="0" class="MsoTableGrid" style="background: rgb(224, 224, 224) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; border-collapse: collapse;"&gt;
    &lt;tbody&gt;
        &lt;tr style=""&gt;
            &lt;td width="590" valign="top" style="padding: 0in 5.4pt; width: 6.15in;"&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt;   e) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;   (!Page.IsPostBack)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;ListBox1.ClearSelection();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;protected&lt;/span&gt;   &lt;span style="color: blue;"&gt;void&lt;/span&gt; ListBox1_SelectedIndexChanged(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt;   e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;   count = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;   limit = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;   lastSelectedIndex = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"lastSelectedIndex"&lt;/span&gt;] != &lt;span style="color: blue;"&gt;null&lt;/span&gt;){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;lastSelectedIndex = &lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"lastSelectedIndex"&lt;/span&gt;].ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"lastSelectedIndex"&lt;/span&gt;] = lastSelectedIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;lastSelectedIndex =   ListBox1.SelectedIndex;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;   (&lt;span style="color: blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; ListBox1.Items.Count; i++)   {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;   (ListBox1.Items[i].Selected) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;   (ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"CountLimit"&lt;/span&gt;] != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;count++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"CountLimit"&lt;/span&gt;] = count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;limit = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"CountLimit"&lt;/span&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;              &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;   {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;count++;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                    &lt;/span&gt;ViewState[&lt;span style="color: rgb(163, 21, 21);"&gt;"CountLimit"&lt;/span&gt;] = count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;   (limit &amp;gt; 3) &lt;span style="color: green;"&gt;// Selected Item Limit is up to 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                      &lt;/span&gt;Page.ClientScript.RegisterStartupScript(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.GetType(),   &lt;span style="color: rgb(163, 21, 21);"&gt;"ShowBox"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"alert('You are only allowed to Select 3   items!');"&lt;/span&gt;, &lt;span style="color: blue;"&gt;true&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                      &lt;/span&gt;ListBox1.Items[lastSelectedIndex].Selected = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;                &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Tahoma;"&gt; That's it! Hope you will find this example useful!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;








&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136519"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136519" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/dotNETvinz/aggbug/136519.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/RMse89hKlU0" height="1" width="1"/&gt;</description><dc:creator>Vincent Maverick Durano</dc:creator><feedburner:origLink>http://geekswithblogs.net/dotNETvinz/archive/2009/11/24/limit-the-number-to-be-selected-in-the-listbox-control.aspx</feedburner:origLink></item><item><title>Windows CE Chat Transcript (November 24, 2009)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EjpMDSLJeaU/windows-ce-chat-transcript-november-24-2009.aspx</link><pubDate>Wed, 25 Nov 2009 01:40:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BruceEitman/archive/2009/11/24/windows-ce-chat-transcript-november-24-2009.aspx</guid><wfw:comment>http://geekswithblogs.net/BruceEitman/comments/136518.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BruceEitman/comments/commentRss/136518.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BruceEitman/archive/2009/11/24/windows-ce-chat-transcript-november-24-2009.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BruceEitman/services/trackbacks/136518.aspx</trackback:ping><source url="http://geekswithblogs.net/BruceEitman/rss.aspx">Windows CE Chat Transcript (November 24, 2009)</source><description>&lt;div style="line-height: normal; margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 12pt"&gt;For those of you who missed the chat today, here is the raw transcript.   By raw, I mean that I copied and pasted the discussion without any edits. This is divided into two parts, the top part is the answers from the Microsoft Experts and the bottom part is the questions from the audience.&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal; margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 12pt"&gt;Answers from Microsoft:&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 1pt; padding-right: 1pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt"&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;: Our chat today covers the topic of Windows Embedded CE!&lt;br /&gt;
&lt;br /&gt;
1. This chat will last for one hour. During this hour, our Experts will respond to as many questions as they can. Please understand that there may be some questions we cannot respond to due to lack of information or because the information is not yet public.&lt;br /&gt;
&lt;br /&gt;
2. We encourage you to submit questions for our Experts. To do so, type your questions in the send box, select the “ask the Experts” box and click SEND. Questions sent directly to the Guest Chat room will not be answered by the Experts, but we encourage other community members to assist.&lt;br /&gt;
&lt;br /&gt;
3. We ask that you stay on topic for the duration of the chat. This helps the Guests and Experts follow the conversation more easily. We invite you to ask off topic questions after this chat is over, but not during.&lt;br /&gt;
&lt;br /&gt;
4. Please abide by the Chat Code of Conduct.&lt;br /&gt;
&lt;br /&gt;
Chat code of conduct: &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/chats/chatroom.aspx?ctl=hlp#Conduct&amp;gt;"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/chats/chatroom.aspx?ctl=hlp#Conduct&amp;gt;&lt;/span&gt;&lt;/a&gt;; &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; margin: 0in 0in 12pt; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;: We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.&lt;br /&gt;
&lt;br /&gt;
Chat will begin in a couple of minutes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&lt;a target="_blank" href="http://www.microsoft.com/Embedded%3E"&gt;&lt;span style="color: blue"&gt;http://www.Microsoft.com/Embedded&amp;gt;&lt;/span&gt;&lt;/a&gt;; &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; text-align: center; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in" align="center"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;hr align="center" width="100%" size="1" /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:01]: Hello, this is mskim from Windows CE JDP team.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;RajeevDubey[MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:01]: Hi, this is Rajeev Dubey, Program Manager for Bluetooth.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mikehall_ms &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[12:02]: Hi, I'm Mike Hall, Software Architect&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:05]: Hello, I'm Sing Wee, member of the CoreOS/BSP Test Team.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;FBlanq_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:05]: Hi, I'm Francisco Blanquicet, SDET with CoreOS/WinCE&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; margin: 0in 0in 12pt; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[12:05]: Chat is started so ask any questions you may have about Windows CE.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;rajran[MSFT] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:06]: Hi , I'm Rajeev Rangappa, PM in Core Team&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:09]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [1] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there any way to provide debug information for assembler files (.s) to the debugger so that i can step through the sources? currently only exported symbols are visible to the debugger&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; As far as I know, the only way to step into and through assembler sources is to either (1) first switch to the 'disassembly' pane of the debugger, then either set a breakpoint on a CPU instruction, or (2) switch to the disassembly view in the source view and "step into" a function call. (bl on ARM, call on X86)&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:13]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [6] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[1] so there is no way to get debug info for assembler files into the pdb files?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; What kind of info are you wanting to get into the PDB files? What is missing and what way are you accessing information?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:16]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [11] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[6] i know i can step i the disassembler view, but it is somewhat painful without the coments of the sourcefile. So I would like to see and step in the assembler sourcefile while debugging like when debugging c or cpp files&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; ah, so what you're wanting is a mixed assembler/code bytes view. I do not thing our tools currently have such a view for the Windows CE debugger. You would have to open a source code window side-by-side in platform builder to see the comments.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:17]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [12] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[6] also local (not exported] labels are not known to the debugger&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; No, unfortunately local assembler labels are not accounted for in the debugging information.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:17]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [13] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[11] well thats the way i spend most of my time &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; We can give this feedback to our tool chain developers. Thanks for the input.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:22]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [15] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;XAML + Other Windows: I have an MFC app which contains window based user draw controls (caches and draws bitmaps and overlays data on them). I want to update the UI to use XAML. How can I embed some of these existing controls in the XAML app? &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Here is MSDN link regarding Win32Control in Silverlight for Windows Embedded.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:23]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ee502772.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/ee502772.aspx&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:24]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [15] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;XAML + Other Windows: I have an MFC app which contains window based user draw controls (caches and draws bitmaps and overlays data on them). I want to update the UI to use XAML. How can I embed some of these existing controls in the XAML app? &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Yes, you can use Win32Control in Silverlight for Windows Embedded. Here is the link on msdn regarding Win32Contro. &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ee502772.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/ee502772.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:25]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [2] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, i have integrated lint in the build prrocess. to see the output i have used the build_markers for C files, so they are also shown as c files in the summary. is there any way to show them with the "other files", in other words which build marker&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Drivers should get notifications when suspend is happening if there's a driver that's not responding to a notification properly (in this case the driver for the RAM file system), you can definitely expect resource leaks or other bad behavior. Since this problem occurs only after a few suspends/resumes, I suspect that a very large amount of memory is being leaked - much more than the size of the file you're opening and closing. To debug this, I think you will want to instrument your app. As a next step, can you track the available object store space in your thread and try to understand more deeply how the memory is being used? See GetStoreInformation (&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa916952.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/aa916952.aspx&lt;/span&gt;&lt;/a&gt;). After that, it may be worthwhile to turn on DEBUGZONEs in filesys.dll to see if there are any useful messages that can help you understand the situation.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:25]: Ack&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:25]: Answered the wrong question, one moment!&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:26]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [10] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;I'm creating the file in RAMFS, and I don't believe my thread can have any leak considering it's just opening and closing the same file. Do you have any idea what could go wrong ? Thank you.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Drivers should get notifications when suspend is happening if there's a driver that's not responding to a notification properly (in this case the driver for the RAM file system), you can definitely expect resource leaks or other bad behavior. Since this problem occurs only after a few suspends/resumes, I suspect that a very large amount of memory is being leaked - much more than the size of the file you're opening and closing. To debug this, I think you will want to instrument your app. As a next step, can you track the available object store space in your thread and try to understand more deeply how the memory is being used? See GetStoreInformation (&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa916952.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/aa916952.aspx&lt;/span&gt;&lt;/a&gt;). After that, it may be worthwhile to turn on DEBUGZONEs in filesys.dll to see if there are any useful messages that can help you understand the situation.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:26]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [13] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[11] well thats the way i spend most of my time &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; I just tried something similar to this. In a debug build, I break into my C code, and go to disassembly view. I see the assembly code inline with my C code and my comments, so I would expect you should be able to see your assembly code inline with your comments as well.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:26]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [16] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;XAML + Other Windows: Effectively I want to skin the current app using XAML. Maybe there are some examples shipped with R3?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; In R3, there is a IEsample_exr in public\ie\oak you can reference. How to skin the existing application with Silverlight for Windows Embedded.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:27]: @winceLover: use "Ask the Experts"&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:29]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [18] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there an easy way to enable debug zones in advance for dlls that haven't been loaded yet? Some dlls only get loaded while an application is running and by the time I get to click on Target-&amp;gt;CE Debug Zones-&amp;gt;&amp;lt;module name&amp;gt; it's already too late&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; I would recommend the "Host side (desktop) registry" method outlined here: &lt;a target="_blank" href="http://blogs.msdn.com/ce_base/archive/2006/12/18/debug-messages-and-debug-zones-in-windows-ce.aspx"&gt;&lt;span style="color: blue"&gt;http://blogs.msdn.com/ce_base/archive/2006/12/18/debug-messages-and-debug-zones-in-windows-ce.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:32]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [20] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[10] - I will try to track the memory used in my thread more thoroughly. It's too bad I can't use KITL at that point as I'm doing suspend/resumes tests. So Travis, you're saying that there might be a leak in the RAM file system (which is public code) ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; It's certainly possible, but there is more investigation which is required before you can be sure.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:33]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [19] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [13] well that doesn't work for assembler files, at least in my environment, although I have to say I use trace32 vom lauterbach most of the time. But this is the behaviour i would wish for .s files.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; It's a good feature request for the tools but I don't think we have any support for it right now. Sorry!&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:37]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [17] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there a way to put additional items to the clean target without modifying makefile.def?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; I believe the only way is during the WINCETARGETFILES or WINCETARGETFILES0 phase, you could completely override the clean rule in your own makefile.inc.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:37]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [20] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[10] - I will try to track the memory used in my thread more thoroughly. It's too bad I can't use KITL at that point as I'm doing suspend/resumes tests. So Travis, you're saying that there might be a leak in the RAM file system (which is public code) ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; I haven't tried this over suspend/resume cycles, but have you by any chance tried using AppVerifier to see if you can catch where memory may be leaking from?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:39]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [23] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [19] well, perhaps there are not much assembler junkies out there , thank you any way&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; No worries. Out of curiosity, are you doing this in CE6 or CE5? My observations were based on CE6.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[12:40]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [22] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;We need to give camera data to the appln for displaying it on the WINCE 6.0 device LCD or we need to send the camera frames to the device USB video class for displaying at the desktop PC app.IS both my requirement will be acheived by DSHOW camera driver?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Yes DirectShow is the best place to build your camera application. Check Mike Hall's blog for a USB Camera Driver download &lt;a target="_blank" href="http://blogs.msdn.com/mikehall/archive/2007/06/07/download-ce-6-0-usb-camera-driver.aspx"&gt;&lt;span style="color: blue"&gt;http://blogs.msdn.com/mikehall/archive/2007/06/07/download-ce-6-0-usb-camera-driver.aspx&lt;/span&gt;&lt;/a&gt;. This driver allows you to pull in frames into DirectShow from a USB attached camera on Windows CE. For communicating to a Desktop you'd need to build a custom communication sink filter to send the frames from Windows CE to a corresponding custom source filter on the Desktop. If interested can post a sample on codeplex w/ details on setting up the filters send email to davbo@microsoft.com.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;kurtken_msft &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:40]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [21] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;What is the best way to setup a filesystem storing hive registry ? In our system, the SD card will be the storage holding it. Should we setup the SD card as MountPermanent, and are there other registry keys worth setting ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Is the SD card fixed in place in your unit? If so, you should be safe to mount the card permanently. Also, make sure it is set to mount at boot time. For reference, examine some existing drivers that use persistent store for their registry&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;mskim_MSFT &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:40]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Prabu, what's UVC stack?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;ks [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:40]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [20] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[10] - I will try to track the memory used in my thread more thoroughly. It's too bad I can't use KITL at that point as I'm doing suspend/resumes tests. So Travis, you're saying that there might be a leak in the RAM file system (which is public code) ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; And which public code RAMFS driver are you using? The RAMDISK, RAMFMD or?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:40]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [21] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;What is the best way to setup a filesystem storing hive registry ? In our system, the SD card will be the storage holding it. Should we setup the SD card as MountPermanent, and are there other registry keys worth setting ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; In addition to what Kurt said, &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa914710.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/aa914710.aspx&lt;/span&gt;&lt;/a&gt; gives you a good introduction. Basically you need to make sure the registry for your SD driver is wrapped in ;HIVE BOOT SECTION tags, as well as anything that driver depends on, so that it can get loaded in phase 0.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:44]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [27] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [23] i am doing CE6, porting to a OMAP platform, currently working on the bootloader, but work is proceeded to jump to BootloaderMain&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Understood - thanks.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:47]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [26] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[20] Sing Wee : I haven't tried using AppVerifier, does it support well checking leaks while suspending/resuming the system ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; That's the part I haven't tried. AppVerifier keeps track of memory by monitoring calls to allocate/deallocate memory on processes/DLLs you point it at. *If* it works over suspend/resume, the checkpoint/delta feature might help you narrow down the problem more quickly. I'm having difficulty finding my original posting, but a copy of it has apparently made it here: &lt;a target="_blank" href="http://www.pocketpcjunkies.com/Uwe/Forum.aspx/wince-test/481/Can-app-verifier-detect-memory-leak-in-a-driver"&gt;&lt;span style="color: blue"&gt;http://www.pocketpcjunkies.com/Uwe/Forum.aspx/wince-test/481/Can-app-verifier-detect-memory-leak-in-a-driver&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:49]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [28] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[21] - yes, this is setup correctly and works fine, until going to suspend/resume, where the SD gets unmounted and remounted. My question is : should we absolutely keep the power on to the SD card (it's never removed), and set it as MountPermanent ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; You should be able to call RegFlushKey (&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/aa917036.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/aa917036.aspx&lt;/span&gt;&lt;/a&gt;) during your power-down code and unmount / remount.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[12:49]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [24] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Using DSHOW layer can we give the camera frames to the client UVC stack?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Is you question about around if you have a Windows CE Web Camera and plug into a Desktop Machine how to provide the frames from Windows CE to the Desktop UVC Stack? Desktop MSDN info for UVC Stack &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ee349147.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/ee349147.aspx&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;ks [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:50]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [28] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;[21] - yes, this is setup correctly and works fine, until going to suspend/resume, where the SD gets unmounted and remounted. My question is : should we absolutely keep the power on to the SD card (it's never removed), and set it as MountPermanent ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; In addtion to keep the power (or handle the power cycle correctly), MountPermanent , you SD Host controller driver should never simulate a card replug after suspend/resume.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:51]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [30] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [17] I am not sure if i understand you right, the WINCETARGETFILES targets are executed after building so not really good for cleaning, WINCETARGETFILE0 are executed before compiling, but what if only the clean target is performed?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Do you mean by calling 'nmake clean' ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:53]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [33] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [17] yes, for example, or clicking Build - Clean in VS2005&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Unforunately I don't think there is a way to handle 'nmake clean' without modifying makefile.def. Build - Clean I believe executes "build -c" which would execute the WINCETARGETFILES0 pass - you could do cleanup at that point, before things get compiled.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:56]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [34] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [33] ok, are there "best practices" for modifying makefile.def?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; The 'best practice' is to make a backup, change as little as possible, and do so at your own risk! What exactly are you trying to accomplish?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:56]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [31, 29] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Can you point me to the KB entry or tell us what exactly has to be adapted in the OAL Cache routine?&lt;br /&gt;
In a previous QFE adressing the L2 cache it is documented that one has to adapt the OAL Cache routines. To found out how we were hoping for more information from the KB entry which however does not seem to exist. Question following.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Title: FIX: Kernel does not properly handle BSPs that distinguish between L1 and L2 cache flushing in Windows Embedded CE 6.0.&lt;br /&gt;
&lt;br /&gt;
Symptoms:&lt;br /&gt;
A performance problem was found in Cortex-A8 based processors due to excessive PSL API call overhead caused by unnecessary L2 cache flush operations. &lt;br /&gt;
&lt;br /&gt;
With the code changes included in this QFE, the kernel now maintains proper L2 cache coherence so that the system can benefit from performance enhancements obtained by separating L1/L2 cache flushing in the OAL. To take advantage of this performance improvement, the OAL should be modified to flush L1 and L2 cache only when necessary. &lt;br /&gt;
&lt;br /&gt;
This QFE may also address L2 caching issues in other CPU architectures whose OEMCacheRangeFlush implementations properly respect L2 cache flags:&lt;br /&gt;
• CACHE_SYNC_WRITEBACK: write back L1 data cache to L2 data cache&lt;br /&gt;
• CACHE_SYNC_DISCARD: write back L1 data cache to L2 data cache and discard L1 data cache&lt;br /&gt;
• CACHE_SYNC_L2_WRITEBACK: write back L2 data cache to memory&lt;br /&gt;
• CACHE_SYNC_L2_DISCARD: write &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[12:56]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [32] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Multiple Displays: One of our projects requires two displays with independent content. Under CE6 is it possible using direct show to display different media (ie. different videos) on each of the display and two channels of Audio? We will write custom app.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Check out Microsoft Embedded Automotive who has support for up to 10 zones of AV content: &lt;a target="_blank" href="http://www.microsoft.com/auto/ma.mspx"&gt;&lt;span style="color: blue"&gt;http://www.microsoft.com/auto/ma.mspx&lt;/span&gt;&lt;/a&gt;. Typically they are just using 1-2 zones for front and rear AV zone control in the vehicle.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:57]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [31] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Can you point me to the KB entry or tell us what exactly has to be adapted in the OAL Cache routine?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Damian, can you please send me your email in a private message? I'll see if I can dig up the KB number for you.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sing Wee [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:58]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [31] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Can you point me to the KB entry or tell us what exactly has to be adapted in the OAL Cache routine?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Looks like there was a limit to how much I could put in my response. Here's the final line in it's entirety:&lt;br /&gt;
• CACHE_SYNC_L2_DISCARD: write back L2 data cache to memory and discard L2 data cache&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Travis Hobrla [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:59]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [35] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [33] i am integrating lint, doxygen and some other tools (see previous question about build marker). so there are some non standard files to clean&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; I see. Well, the clean rules in makefile.def are pretty straightforward, so you should be able to alter them without affecting too much. I'd recommend adding a 'cleanlint' target to the clean rule, and implementing that.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;ks [MS] &lt;/span&gt;&lt;span style="color: #000099"&gt;(Expert)&lt;/span&gt;&lt;/a&gt;[12:59]: &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Q: [31] &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt;Can you point me to the KB entry or tell us what exactly has to be adapted in the OAL Cache routine?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;A:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Basically, the OAL's OEMCacheRangeFlush implmentation needs to follow the guideline in &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ee478186.aspx"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/library/ee478186.aspx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo &lt;/span&gt;&lt;span style="color: #000099"&gt;(Moderator)&lt;/span&gt;&lt;/a&gt;[13:00]: Hello everyone, we are just about out of time.&lt;br /&gt;
&lt;br /&gt;
Thank you for joining us for our Windows Embedded CE 6.0 chat today!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&lt;a target="_blank" href="http://www.microsoft.com/Embedded%3E"&gt;&lt;span style="color: blue"&gt;http://www.Microsoft.com/Embedded&amp;gt;&lt;/span&gt;&lt;/a&gt;; &lt;br /&gt;
&lt;br /&gt;
A special thank you to the product group members for coming out.&lt;br /&gt;
&lt;br /&gt;
The transcript of today’s chat will be posted online as soon as possible, to &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/chats%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/chats&amp;gt;&lt;/span&gt;&lt;/a&gt;;. We’ll see you again for another chat next month. Please check &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/chats%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/chats&amp;gt;&lt;/span&gt;&lt;/a&gt;; for the list of upcoming chats.&lt;br /&gt;
&lt;br /&gt;
If you still have unanswered questions, let me suggest that you post them on one of our newsgroups on &lt;br /&gt;
&amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx%3E%3Cbr%3E%3Cbr%3E-Windows"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx&amp;gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;-Windows&lt;/span&gt;&lt;/a&gt; Embedded CE 6.0 R3 Now Available! &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/windowsembedded/ce/dd630616.aspx%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/windowsembedded/ce/dd630616.aspx&amp;gt;&lt;/span&gt;&lt;/a&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;The Questions&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 1pt; padding-right: 1pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt"&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; margin: 0in 0in 12pt; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo (Moderator)&lt;/span&gt;&lt;/a&gt;[12:05]: Chat is now started.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Andrew Scholan MCTS&lt;/span&gt;&lt;/a&gt;[12:05]: Hello, this is Andrew Scholan from Plextek in Cambridge, UK.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:06] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there any way to provide debug information for assembler files (.s) to the debugger so that i can step through the sources? currently only exported symbols are visible to the debugger&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:09] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, i have integrated lint in the build prrocess. to see the output i have used the build_markers for C files, so they are also shown as c files in the summary. is there any way to show them with the "other files", in other words which build marker&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:09] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;should i use for other files?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:11] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Hello everyone, I am currently testing my WinCE 6 iMX31 based platform and doing automated suspend/resume stress testing. My application first sends a message to a PIC to ask the PIC to resume the processor later, then my application goes to suspend.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:12] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;After ten seconds, the PIC wakes up the system and the process repeats.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:12] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[1] so there is no way to get debug info for assembler files into the pdb files?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:12] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;After making this work properly, I added a thread in my test application which does nothing more than opening a file and closing it in a loop.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:12] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;After a few suspend/resumes, a message box appears in CE telling me that the program memory is very low and the system becomes unresponsive.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:12] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;When I'm not executing this thread, my system can suspend/resume up to a thousand times or more.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:13] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;I'm creating the file in RAMFS, and I don't believe my thread can have any leak considering it's just opening and closing the same file. Do you have any idea what could go wrong ? Thank you.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:15] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[6] i know i can step i the disassembler view, but it is somewhat painful without the coments of the sourcefile. So I would like to see and step in the assembler sourcefile while debugging like when debugging c or cpp files&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:16] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[6] also local (not exported] labels are not known to the debugger&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:17] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[11] well thats the way i spend most of my time &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;b&gt;&lt;span style="color: blue"&gt;Bruce Eitman&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;[12:17]: Sebastian - does your question have anything to do with the suspend/resume? What happens if you just run your file access thread without suspending?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:18] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[12] ok, thankyou kurtken&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Andrew Scholan MCTS&lt;/span&gt;&lt;/a&gt;[12:19] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;XAML + Other Windows: I have an MFC app which contains window based user draw controls (caches and draws bitmaps and overlays data on them). I want to update the UI to use XAML. How can I embed some of these existing controls in the XAML app? &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Andrew Scholan MCTS&lt;/span&gt;&lt;/a&gt;[12:22] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;XAML + Other Windows: Effectively I want to skin the current app using XAML. Maybe there are some examples shipped with R3?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:23] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there a way to put additional items to the clean target without modifying makefile.def?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:23]: Bruce: sorry I didn't see you message until now. If I don't suspend/resume, I don't have this problem&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;winceLover&lt;/span&gt;&lt;/a&gt;[12:26]: hi experts, is there an easy way to enable debug zones in advance for dlls that hasn't been loaded yet? Some dlls only get loaded while an application is running and by the time I get to click on Target-&amp;gt;CE Debug Zones-&amp;gt;&amp;lt;module name&amp;gt; it's already too late &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;PaulT&lt;/span&gt;&lt;/a&gt;[12:27]: winceLover: Don't forget to check the Ask the Experts checkbox. This puts your question in a queue from which it is answered...&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;winceLover&lt;/span&gt;&lt;/a&gt;[12:28] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;hi experts, is there an easy way to enable debug zones in advance for dlls that haven't been loaded yet? Some dlls only get loaded while an application is running and by the time I get to click on Target-&amp;gt;CE Debug Zones-&amp;gt;&amp;lt;module name&amp;gt; it's already too late&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:29] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [13] well that doesn't work for assembler files, at least in my environment, although I have to say I use trace32 vom lauterbach most of the time. But this is the behaviour i would wish for .s files.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:30] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[10] - I will try to track the memory used in my thread more thoroughly. It's too bad I can't use KITL at that point as I'm doing suspend/resumes tests. So Travis, you're saying that there might be a leak in the RAM file system (which is public code) ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Andrew Scholan MCTS&lt;/span&gt;&lt;/a&gt;[12:31]: XAML + Other Windows: Thanks. &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:32] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;What is the best way to setup a filesystem storing hive registry ? In our system, the SD card will be the storage holding it. Should we setup the SD card as MountPermanent, and are there other registry keys worth setting ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Prabu&lt;/span&gt;&lt;/a&gt;[12:33] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;We need to give camera data to the appln for displaying it on the WINCE 6.0 device LCD or we need to send the camera frames to the device USB video class for displaying at the desktop PC app.IS both my requirement will be acheived by DSHOW camera driver?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:33]: Thanks Travis&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:36] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [19] well, perhaps there are not much assembler junkies out there , thank you any way&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Prabu&lt;/span&gt;&lt;/a&gt;[12:37] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Using DSHOW layer can we give the camera frames to the client UVC stack?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:40]: [20] Sing Wee : I haven't tried using AppVerifier, does it support well checking leaks while suspending/resuming the system ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Prabu&lt;/span&gt;&lt;/a&gt;[12:41] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;USB Video Class&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:41] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[20] Sing Wee : I haven't tried using AppVerifier, does it support well checking leaks while suspending/resuming the system ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:41] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Sing Wee [23] i am doing CE6, porting to a OMAP platform, currently working on the bootloader, but work is proceeded to jump to BootloaderMain &lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:43] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;[21] - yes, this is setup correctly and works fine, until going to suspend/resume, where the SD gets unmounted and remounted. My question is : should we absolutely keep the power on to the SD card (it's never removed), and set it as MountPermanent ?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Damian Barnett&lt;/span&gt;&lt;/a&gt;[12:46] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;In a previous QFE adressing the L2 cache it is documented that one has to adapt the OAL Cache routines. To found out how we were hoping for more information from the KB entry which however does not seem to exist. Question following.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:46] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [17] I am not sure if i understand you right, the WINCETARGETFILES targets are executed after building so not really good for cleaning, WINCETARGETFILE0 are executed before compiling, but what if only the clean target is performed?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Damian Barnett&lt;/span&gt;&lt;/a&gt;[12:47]: Can you point me to the KB entry or tell us what has to be adapted in OAL Cache routine?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Damian Barnett&lt;/span&gt;&lt;/a&gt;[12:47] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Can you point me to the KB entry or tell us what exactly has to be adapted in the OAL Cache routine?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:49]: [26] Thank you Sing&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Andrew Scholan MCTS&lt;/span&gt;&lt;/a&gt;[12:51] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Multiple Displays: One of our projects requires two displays with independent content. Under CE6 is it possible using direct show to display different media (ie. different videos) on each of the display and two channels of Audio? We will write custom app.&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Sebastien&lt;/span&gt;&lt;/a&gt;[12:51]: [28] - Thank you Travis&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:51] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [17] yes, for example, or clicking Build - Clean in VS2005&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:55] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [33] ok, are there "best practices" for modifying makefile.def?&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;wolfelectronic&lt;/span&gt;&lt;/a&gt;[12:57] &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;asked the experts&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="font-size: 8.5pt"&gt;: &lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 8.5pt"&gt;Travis [33] i am integrating lint, doxygen and some other tools (see previous question about build marker). so there are some non standard files to clean&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;Damian Barnett&lt;/span&gt;&lt;/a&gt;[12:59]: Thanks Sing!&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;span style="font-size: 8.5pt"&gt;&lt;a href="javascript:fnNoAction();"&gt;&lt;span style="color: blue"&gt;msft_davbo (Moderator)&lt;/span&gt;&lt;/a&gt;[13:00]: Hello everyone, we are just about out of time.&lt;br /&gt;
&lt;br /&gt;
Thank you for joining us for our Windows Embedded CE 6.0 chat today!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&lt;a target="_blank" href="http://www.microsoft.com/Embedded%3E"&gt;&lt;span style="color: blue"&gt;http://www.Microsoft.com/Embedded&amp;gt;&lt;/span&gt;&lt;/a&gt;; &lt;br /&gt;
&lt;br /&gt;
A special thank you to the product group members for coming out.&lt;br /&gt;
&lt;br /&gt;
The transcript of today’s chat will be posted online as soon as possible, to &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/chats%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/chats&amp;gt;&lt;/span&gt;&lt;/a&gt;;. We’ll see you again for another chat next month. Please check &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/chats%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/chats&amp;gt;&lt;/span&gt;&lt;/a&gt;; for the list of upcoming chats.&lt;br /&gt;
&lt;br /&gt;
If you still have unanswered questions, let me suggest that you post them on one of our newsgroups on &lt;br /&gt;
&amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx%3E%3Cbr%3E%3Cbr%3E-Windows"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx&amp;gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;-Windows&lt;/span&gt;&lt;/a&gt; Embedded CE 6.0 R3 Now Available! &amp;lt;&lt;a target="_blank" href="http://msdn.microsoft.com/windowsembedded/ce/dd630616.aspx%3E"&gt;&lt;span style="color: blue"&gt;http://msdn.microsoft.com/windowsembedded/ce/dd630616.aspx&amp;gt;&lt;/span&gt;&lt;/a&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; line-height: normal; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;&lt;b&gt;&lt;span style="font-size: 8.5pt"&gt;Chat Topic:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 8.5pt"&gt; Open Peer-to-Peer Technical Chat in Progress&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="text-align: center; line-height: normal" align="center"&gt;&lt;span style="font-size: 9pt"&gt;Copyright © 2009 – Bruce Eitman&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center; line-height: normal; margin: 0in 0in 10pt" align="center"&gt;&lt;span style="font-size: 9pt"&gt;All Rights Reserved&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136518"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136518" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BruceEitman/aggbug/136518.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EjpMDSLJeaU" height="1" width="1"/&gt;</description><dc:creator>Bruce Eitman</dc:creator><feedburner:origLink>http://geekswithblogs.net/BruceEitman/archive/2009/11/24/windows-ce-chat-transcript-november-24-2009.aspx</feedburner:origLink></item><item><title>Platform Builder: Cleaning Non-Standard Files</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/41XnmhDOmRk/platform-builder-cleaning-non-standard-files.aspx</link><pubDate>Wed, 25 Nov 2009 01:34:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BruceEitman/archive/2009/11/24/platform-builder-cleaning-non-standard-files.aspx</guid><wfw:comment>http://geekswithblogs.net/BruceEitman/comments/136517.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BruceEitman/comments/commentRss/136517.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BruceEitman/archive/2009/11/24/platform-builder-cleaning-non-standard-files.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BruceEitman/services/trackbacks/136517.aspx</trackback:ping><source url="http://geekswithblogs.net/BruceEitman/rss.aspx">Platform Builder: Cleaning Non-Standard Files</source><description>&lt;div style="margin: 0in 0in 10pt"&gt;During today’s chat with Microsoft’s Windows CE Team, someone asked “is there a way to put additional items to the clean target without modifying makefile.def?”   So I decided to see if I could come up with a way.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;It can’t be done using a sources file. Sources files are only used to set environment variable prior to nmake being called and we need a target named “clean” to handle cleaning the additional files.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;That leaves makefile.inc and makefile. I tried it in makefile.inc with a WINCETARGETFILES set for a different target than clean. It didn’t work.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;I added a clean as a target in the makefile after including makefile.def, that didn’t work either. On a whim, I put it before including makefile.def and it worked. The following is my test makefile.&lt;/div&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt"&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;clean:&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;                -@del /q file.txt&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt; &lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;!INCLUDE $(_MAKEENVROOT)\makefile.def&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;This successfully deletes file.txt and the clean target in makefile.def is still functioning to clean obj and cod files.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;An alternative to this would be to create your own makefile.def and include it. For this, I put a makefile.def in the root of my platform (_TARGETPLATROOT) which is an exact copy of the makefile above. Then I modified my makefile to be:&lt;/div&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt"&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; margin: 0in 0in 10pt; padding-left: 0in; padding-right: 0in; border-top: medium none; border-right: medium none; padding-top: 0in"&gt;!INCLUDE $(_TARGETPLATROOT)\makefile.def&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt"&gt;This method allow me to have a common makefile.def for my platform which will make maintenance easier in the future.&lt;/div&gt;
&lt;div style="text-align: center; line-height: normal" align="center"&gt;&lt;span style="font-size: 9pt"&gt;Copyright © 2009 – Bruce Eitman&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: center; line-height: normal; margin: 0in 0in 10pt" align="center"&gt;&lt;span style="font-size: 9pt"&gt;All Rights Reserved&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136517"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136517" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BruceEitman/aggbug/136517.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/41XnmhDOmRk" height="1" width="1"/&gt;</description><dc:creator>Bruce Eitman</dc:creator><feedburner:origLink>http://geekswithblogs.net/BruceEitman/archive/2009/11/24/platform-builder-cleaning-non-standard-files.aspx</feedburner:origLink></item><item><title>Ideal vs Necessary Evil</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/KssYIdkNTWk/136516.aspx</link><pubDate>Wed, 25 Nov 2009 00:10:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/technodrone/archive/2009/11/24/136516.aspx</guid><wfw:comment>http://geekswithblogs.net/technodrone/comments/136516.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/technodrone/comments/commentRss/136516.aspx</wfw:commentRss><comments>http://geekswithblogs.net/technodrone/archive/2009/11/24/136516.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/technodrone/services/trackbacks/136516.aspx</trackback:ping><source url="http://geekswithblogs.net/technodrone/rss.aspx">Ideal vs Necessary Evil</source><description>&lt;div&gt;Someone confronted me about Ideal vs Necessary Evil in regard to coding to best practices. &lt;/div&gt;
&lt;div&gt;Today there was a loud debate among myself and two other developers regarding how to handle some legacy code. One developer wants the the legacy code refactored and testable the other wanted to modify the code quickly since the company plans to rewrite the application after the next deployment in a month.  I wanted to make a code branch of existing code then refactor as much as possible as long as the new functionality was working first.  At the end of the long discussion there was still no agreement. One of the developers sent me this email after the meeting. (yes I have his permission to post)
&lt;p&gt; &lt;/p&gt;
"In few years back, Dental flossing is Ideal, but now enough studies are done to prove it’s necessary now. But still some people with bad habits, (sometimes including myself), think that it’s  not necessary.&lt;/div&gt;
&lt;div&gt;Whatever view we have, the reality of dental impact on the health doesn’t change. Same goes to SOLID principle in specific, agile practices, values in generals.&lt;/div&gt;
&lt;div&gt;An agile developer expresses values through practices. Like daily dental flossing for health.  For some, dental flossing is ideal ( I used to have that view). Now I know enough, it’s not ideal for me anymore. My point is that you learn agile practices, principles till the point you see there are necessary for your professional development. The danger of view of Idealism where necessity is demanding is that as long as we have that conviction, &lt;span style="color: red"&gt;our minds can trick us to give up easily in daily pressured activities&lt;/span&gt;. There were cases in my learning experience, I got tricked , and I paid for it. This is from my years of observation.  I am writing this to elaborate more on my point on ideal, and its impact on us. "&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I was trying to find a way to refactor the code and to not break existing code.  Lesson learned: Making everyone happy makes no one happy it seems.&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136516"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136516" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/technodrone/aggbug/136516.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/KssYIdkNTWk" height="1" width="1"/&gt;</description><dc:creator>technodrone</dc:creator><feedburner:origLink>http://geekswithblogs.net/technodrone/archive/2009/11/24/136516.aspx</feedburner:origLink></item><item><title>XML Namespaces</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/iKcCHrk-q8A/xml-namespaces.aspx</link><pubDate>Tue, 24 Nov 2009 22:43:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/RobBowman/archive/2009/11/24/xml-namespaces.aspx</guid><wfw:comment>http://geekswithblogs.net/RobBowman/comments/136515.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/RobBowman/comments/commentRss/136515.aspx</wfw:commentRss><comments>http://geekswithblogs.net/RobBowman/archive/2009/11/24/xml-namespaces.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/RobBowman/services/trackbacks/136515.aspx</trackback:ping><source url="http://geekswithblogs.net/RobBowman/rss.aspx">XML Namespaces</source><description>&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;I've been working with XML for several years now but I've never been entirely sure that I fully understand all there is to know about namespaces. Of course namespaces are central to how document instances are defined by BizTalk, so I certainly had some understanding. However, it's quite easy to just "get by" without a complete understanding because of the inteli-sense and other helpful features provided by tools like Visual Studio and XML Spy. If I'd had only notepad in which to create the XSDs and XML documents then I'm sure I would have been stuck.&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;Anyhow, this has been bothering me for a while, so today I decided I was going to learn all there is to know about XML namespaces - and make it stick! This learning involved reading sections from the excellent book "The XML Schema Companion" by Neil Bradley, and otherwise messing around with XSDs and XML documents in Visual Studio.&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt; font-weight: bold"&gt;Key Points&lt;/div&gt;
&lt;ul type="disc" style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in"&gt;
    &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-size: 11pt"&gt;It is possible to create an XSD that does not define a namespace. Such schemas can be used to validate unqualified XML documents. Below I have pasted a simple XSD that does not define a namespace:&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;xs:element name="RootNode"&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.75in; font-size: 11pt"&gt;&amp;lt;xs:annotation&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 1.125in; font-size: 11pt"&gt;&amp;lt;xs:documentation&amp;gt;Comment describing your root element&amp;lt;/xs:documentation&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.75in; font-size: 11pt"&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.75in; font-size: 11pt"&gt;&amp;lt;xs:complexType&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 1.125in; font-size: 11pt"&gt;&amp;lt;xs:sequence&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 1.5in; font-size: 11pt"&gt;&amp;lt;xs:element name="Name"/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 1.5in; font-size: 11pt"&gt;&amp;lt;xs:element name="Age"/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 1.125in; font-size: 11pt"&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.75in; font-size: 11pt"&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;/xs:element&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;/xs:schema&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;I then used XML spy to create an XML document instance from the above XSD, this is what it came up with:&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;RootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\Rob\LearnXMLNamespaces\Person.xsd"&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;Name/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;Age/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;/RootNode&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;Note, the root node has the attribute "xmlns:xsi", this is simply defining a prefix for a namespace - it is not setting the document level namespace. In effect it is saying that elements, attributes etc from the namespace &lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt; can be used by prefixing XSI, however where there is no prefix then the element, attribute etc does not belong to a namespace - &lt;span style="font-weight: bold"&gt;it is unqualified. &lt;/span&gt;The attribute noNamespaceSchemaLocation is interesting. This gives the URL reference to the XSD that will be used when validating the XML document. It also infers that the XSD does not define a namespace - and that this document is not "namespace qualified" at document level.&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt; font-weight: bold"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;I then went back to the XSD and defined a namespace for it by adding a "TargetNamespace" attribute to the root node as follows:&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" &lt;span style="font-weight: bold"&gt;targetNamespace="&lt;/span&gt;&lt;a href="http://samplenamespace/"&gt;&lt;span style="font-weight: bold"&gt;http://samplenamespace&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold"&gt;"&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;xs:element name="RootNode"&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;Etc...&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;I then used XML spy to generate a new sample XML instance document from this, updated XSD - this is what it came up with:&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;!--Sample XML file generated by XMLSpy v2005 rel. 3 U (&lt;a href="http://www.altova.com/"&gt;http://www.altova.com&lt;/a&gt;)--&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;RootNode &lt;span style="font-weight: bold"&gt;xmlns="&lt;/span&gt;&lt;a href="http://samplenamespace/"&gt;&lt;span style="font-weight: bold"&gt;http://samplenamespace&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold"&gt;"&lt;/span&gt; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &lt;span style="font-weight: bold"&gt;xsi:schemaLocation="http://samplenamespace&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&lt;span style="font-weight: bold"&gt;D:\Rob\LearnXMLNamespaces\Person.xsd"&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;Name/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;Age/&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;&amp;lt;/RootNode&amp;gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;A couple of things have changed:&lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;ol type="1" style="margin-top: 0in; unicode-bidi: embed; direction: ltr; margin-bottom: 0in; margin-left: 0.375in; font-size: 11pt"&gt;
    &lt;li value="1" style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-size: 11pt"&gt;The attribute xmlns has been added to the root node and assigned the value "&lt;/span&gt;&lt;a href="http://samplenamespace/"&gt;&lt;span style="font-size: 11pt"&gt;http://samplenamespace&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt"&gt;". This specifies that, unless explicitly qualified with a different namespace, all elements and attributes defined with the XML instance belong to the namespace "&lt;/span&gt;&lt;a href="http://samplenamespace/"&gt;&lt;span style="font-size: 11pt"&gt;http://samplenamespace&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt"&gt;"&lt;/span&gt;&lt;/li&gt;
    &lt;li value="2" style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle"&gt;&lt;span style="font-size: 11pt"&gt;The attribute schemaLocation (which happens to belong to the xsi schema instance namespace) has been added to the root node. The attribute contains a pair of values, the name of the namespace defined by the schema followed by a space then a URL reference to the XSD that defines the namespace&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0in 0.375in; font-size: 11pt"&gt;The above just skims the surface of what can be done with namespaces but in does provide the basics. There are many cases where an XML document will contain items defined in multiple namespaces. However, understanding such a document is straight-forward once you are aware of the key concepts and implementation as described above.&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136515"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136515" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/RobBowman/aggbug/136515.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/iKcCHrk-q8A" height="1" width="1"/&gt;</description><dc:creator>RobBowman</dc:creator><feedburner:origLink>http://geekswithblogs.net/RobBowman/archive/2009/11/24/xml-namespaces.aspx</feedburner:origLink></item><item><title>Do you have potential to be a great agile developer?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DsL-BNAMhLw/136514.aspx</link><pubDate>Tue, 24 Nov 2009 21:16:10 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/technodrone/archive/2009/11/24/136514.aspx</guid><wfw:comment>http://geekswithblogs.net/technodrone/comments/136514.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/technodrone/comments/commentRss/136514.aspx</wfw:commentRss><comments>http://geekswithblogs.net/technodrone/archive/2009/11/24/136514.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/technodrone/services/trackbacks/136514.aspx</trackback:ping><source url="http://geekswithblogs.net/technodrone/rss.aspx">Do you have potential to be a great agile developer?</source><description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Over all I think the best indication that someone will be a good agile  &lt;br /&gt;
team member is:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Demonstrates  a long-term desire to move from journeyman to craftsman. (study groups, software related blogging, seeks out training)&lt;/li&gt;
    &lt;li&gt;Demonstrates that  they will share knowledge insights with others.(mentoring,being mentored  not just for newbies all team members)&lt;/li&gt;
    &lt;li&gt;Open to debate and new ideas.  (question whenever a quick solution does not follow solid principles, or  adds unnecessary technical debt)&lt;/li&gt;
    &lt;li&gt;Willingness to work closely with  non-developers (users, business owners, managers)&lt;/li&gt;
    &lt;li&gt;Patience with the  process (complex problems are not easily solved it takes time and  investigation).&lt;/li&gt;
    &lt;li&gt;Can make the argument for refactoring code.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136514"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136514" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/technodrone/aggbug/136514.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DsL-BNAMhLw" height="1" width="1"/&gt;</description><dc:creator>technodrone</dc:creator><feedburner:origLink>http://geekswithblogs.net/technodrone/archive/2009/11/24/136514.aspx</feedburner:origLink></item><item><title>Calling SSRS report using either T-SQL or SSIS</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/0gwabH45lKU/calling-ssrs-report-using-either-t-sql-or-ssis.aspx</link><pubDate>Tue, 24 Nov 2009 20:53:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/LifeLongTechie/archive/2009/11/24/calling-ssrs-report-using-either-t-sql-or-ssis.aspx</guid><wfw:comment>http://geekswithblogs.net/LifeLongTechie/comments/136513.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/LifeLongTechie/comments/commentRss/136513.aspx</wfw:commentRss><comments>http://geekswithblogs.net/LifeLongTechie/archive/2009/11/24/calling-ssrs-report-using-either-t-sql-or-ssis.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/LifeLongTechie/services/trackbacks/136513.aspx</trackback:ping><source url="http://geekswithblogs.net/LifeLongTechie/rss.aspx">Calling SSRS report using either T-SQL or SSIS</source><description>&lt;p&gt;Would love to know if there is a way to kick off a SSRS report and pass some parameters into it via T-SQL or SSIS.  Unfortunately, we can't have MS SQL Enterprise edition.&lt;/p&gt;
&lt;p&gt;Sad thing is I know how to make this work with Crystal report, and I hope I can find a similar API for SSRS to make this work.  Any help is greatly appreciated.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136513"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136513" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/LifeLongTechie/aggbug/136513.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/0gwabH45lKU" height="1" width="1"/&gt;</description><dc:creator>LifeLongTechie</dc:creator><feedburner:origLink>http://geekswithblogs.net/LifeLongTechie/archive/2009/11/24/calling-ssrs-report-using-either-t-sql-or-ssis.aspx</feedburner:origLink></item><item><title>Define the Enterprise Architecture: Ontology, Typology, Taxonomy</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ec16NkLkxkc/136511.aspx</link><pubDate>Tue, 24 Nov 2009 17:00:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/chrishan/archive/2009/11/24/136511.aspx</guid><wfw:comment>http://geekswithblogs.net/chrishan/comments/136511.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/chrishan/comments/commentRss/136511.aspx</wfw:commentRss><comments>http://geekswithblogs.net/chrishan/archive/2009/11/24/136511.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/chrishan/services/trackbacks/136511.aspx</trackback:ping><source url="http://geekswithblogs.net/chrishan/rss.aspx">Define the Enterprise Architecture: Ontology, Typology, Taxonomy</source><description>&lt;p&gt;&lt;strong&gt;What is Ontology?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Quote from Wikipedia "is the &lt;a title="Philosophy" href="http://en.wikipedia.org/wiki/Philosophy"&gt;philosophical&lt;/a&gt; study of the nature of &lt;a title="Being" href="http://en.wikipedia.org/wiki/Being"&gt;being&lt;/a&gt;, &lt;a title="Existence" href="http://en.wikipedia.org/wiki/Existence"&gt;existence&lt;/a&gt; or &lt;a title="Reality" href="http://en.wikipedia.org/wiki/Reality"&gt;reality&lt;/a&gt; in general, as well as the basic &lt;a title="Category of being" href="http://en.wikipedia.org/wiki/Category_of_being"&gt;categories of being&lt;/a&gt; and their relations....ontology deals with questions concerning what &lt;a class="mw-redirect" title="Entities" href="http://en.wikipedia.org/wiki/Entities"&gt;entities&lt;/a&gt; exist or can be said to exist, and how such entities can be grouped, related within a &lt;a title="Hierarchy" href="http://en.wikipedia.org/wiki/Hierarchy"&gt;hierarchy&lt;/a&gt;, and subdivided according to similarities and differences"&lt;/p&gt;
&lt;p&gt;Quote from &lt;a href="http://www.marxists.org/glossary/terms/o/n.htm"&gt;other web-site&lt;/a&gt; "In ancient times, Ontology referred to study of Being and fell into disrepute in modern times, but &lt;a href="http://www.marxists.org/glossary/people/h/u.htm#husserl-edmund"&gt;Edmund Husserl&lt;/a&gt; revived the idea of the study of different forms of Being and Phenomenology and Existentialism have given rise to a new concern with Ontology, the central problem of which is the age-old problem of Mind and Body."&lt;/p&gt;
&lt;p&gt;Quote from &lt;a href="http://www.zachmaninternational.com/index.php/the-zachman-framework"&gt;Zachman web site&lt;/a&gt;  "a theory of the existence of a structured set of essential components of an object for which explicit expressions is necessary and perhaps even mandatory for creating, operating, and changing the object"&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is Typology and Taxonomy then?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I fund so far the best explaination is from the web site &lt;a href="http://www.marxists.org/glossary/terms/t/a.htm"&gt;http://www.marxists.org/glossary/terms/t/a.htm&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Taxonomy and Typology are two opposed methods of &lt;/em&gt;&lt;a href="http://www.marxists.org/glossary/terms/c/l.htm#classification"&gt;&lt;em&gt;classification&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. Typology classifies according to the sensuously given attributes of the thing; Taxonomy classifies objects according to the genesis of the thing.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;At a given stage in the development of a science, when as yet the genesis of the object is not known, typology is the only possible method of classification. Classification into types and classes aids sensuous perception. Once a notion of the genesis of the object is gained, the types must be re-ordered and objects which appear to belong to the same type, fall into different species and genre of the new taxonomy and vice versa, objects of different type are found to be of the same species.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Typology and taxonomy are necessary stages in making sense of the world, which aims to revealing the inner connections between things. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Conclution:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Typology and Taxonomy are the types of Ontology. You usually start with Typology by observing the world and you can only confirm that your Typology is a Taxonomy when most of people conclude that it's true.&lt;/p&gt;
&lt;p&gt;Analyzing the objects and classify them in a Taxonomy is always the first step we build and operate on their 'right' perceptions - the architecture of a enterprise system and even a software system.&lt;/p&gt;
&lt;p&gt;This is also the way called 'frame it' in the book 'THE MCKENZIE WAY'.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136511"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136511" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/chrishan/aggbug/136511.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ec16NkLkxkc" height="1" width="1"/&gt;</description><dc:creator>Chris Han</dc:creator><feedburner:origLink>http://geekswithblogs.net/chrishan/archive/2009/11/24/136511.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 24, 2009 -- #742</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HyIUGXdzfx8/136510.aspx</link><pubDate>Tue, 24 Nov 2009 16:38:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136510.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136510.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136510.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136510.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136510.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 24, 2009 -- #742</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;In this Issue:       &lt;a href="#20091124Rene Schulte"&gt;&lt;u&gt;Rene Schulte&lt;/u&gt;&lt;/a&gt;,           &lt;a href="#20091124Jason Harper"&gt;&lt;u&gt;Jason Harper&lt;/u&gt;&lt;/a&gt;,        &lt;a href="#20091124Brad Abrams"&gt;&lt;u&gt;Brad Abrams&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124John Papa"&gt;&lt;u&gt;John Papa&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124Jeremy Likness"&gt;&lt;u&gt;Jeremy Likness&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124Jeff Wilcox"&gt;&lt;u&gt;Jeff Wilcox&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124Fredrik Normén"&gt;&lt;u&gt;Fredrik Normén&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124Tim Heuer"&gt;&lt;u&gt;Tim Heuer&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091124Shawn Wildermuth"&gt;&lt;u&gt;Shawn Wildermuth&lt;/u&gt;&lt;/a&gt;, and           &lt;a href="#20091124Andrej Tozon"&gt;&lt;u&gt;Andrej Tozon&lt;/u&gt;&lt;/a&gt;.     &lt;br /&gt;
&lt;br /&gt;
Shoutouts: &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ward Bell&lt;/b&gt; has a PDF up of &lt;a href="http://neverindoubtnet.blogspot.com/2009/11/pdc-2009-session-links.html"&gt;&lt;u&gt;PDC 2009 Session Links&lt;/u&gt;&lt;/a&gt; -- thanks Ward! &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tim Heuer&lt;/b&gt; also has posted a &lt;a href="http://timheuer.com/blog/archive/2009/11/22/pdc-silverlight-resources-link-dump-learn-silverlight.aspx"&gt;&lt;u&gt;Microsoft PDC09 and Silverlight Round-up&lt;/u&gt;&lt;/a&gt;... I'm adding this to the Silverlight Links in the WynApse.com outlookbar. &lt;br /&gt;
&lt;br /&gt;
Don't forget that &lt;b&gt;Loek van den Ouweland&lt;/b&gt; and &lt;b&gt;Fons Sonnemans&lt;/b&gt; have &lt;a href="http://www.silverlightxp.net"&gt;&lt;u&gt;SilverlightXP&lt;/u&gt;&lt;/a&gt; up and running full of resources... They'd like submissions and suggestions! &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Joe Stegman&lt;/b&gt; posted his &lt;a href="http://blogs.msdn.com/jstegman/archive/2009/11/19/trustedapp-sample-from-pdc-2009.aspx"&gt;&lt;u&gt;TrustedApp Sample from PDC 2009&lt;/u&gt;&lt;/a&gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;font face="tahoma"&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;:  &lt;/font&gt;&lt;/p&gt;
&lt;dl&gt;  &lt;font face="tahoma"&gt;
    &lt;dt&gt;&lt;a name="20091124Rene Schulte"&gt;                &lt;/a&gt;&lt;a title="http://kodierer.blogspot.com/2009/11/edgecam-shots-saving-silverlight-4.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4601"&gt;&lt;u&gt;EdgeCam Shots - Saving Silverlight 4 Webcam Snapshots to JPEG&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Rene Schulte&lt;/b&gt; extended his Silverlight 4 webcam and edge detection shader sample to save webcam snapshots as JPEG files and discusses some limitations of Silverlight's built-in CaptureSource.AsyncCaptureImage snapshot method. Furthermore he gives some ideas on how to build a Silverlight 4 video chat / conference application on top of the JPEG capturing and encoding code.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Jason Harper"&gt;                &lt;/a&gt;&lt;a title="http://jasonharper.wordpress.com/2009/09/26/ria-services-under-the-hood-part-1-service-operations/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4600"&gt;&lt;u&gt;Ria Services under the hood Part 1 – Service Operations &lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;Michael Washington pointed me at &lt;b&gt;Jason Harper&lt;/b&gt;, and he's got a good series going on RIA Services. I decided to start with his part 1 and work my way out. This is a bit of a different slant because he's going 'under the hood'... thanks for the link, Michael!&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Brad Abrams"&gt;                &lt;/a&gt;&lt;a title="http://blogs.msdn.com/brada/archive/2009/11/22/ria-services-a-domainservice-is-a-wcf-service-add-service-reference.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4609"&gt;&lt;u&gt;RIA Services: A DomainService IS A WCF Service – Add Service Reference&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Brad Abrams&lt;/b&gt; has a link to his PDC09 talk, then goes on to explain his statement that a DomainService is a WCF Service. He then shows how to consume a DomainService from a WinForms app ... I know, don't hate me for that, but it's WCF goodness, ok??&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124John Papa"&gt;                &lt;/a&gt;&lt;a title="http://johnpapa.net/silverlight/10-steps-to-debug-silverlight-out-of-browser-applications-without-attaching/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4608"&gt;&lt;u&gt;10 Steps to Debug Silverlight Out-of-Browser Applications without Attaching&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;Trying to debug a Silverlight 4B OOB app and having problems figuring out how to do it? &lt;b&gt;John Papa&lt;/b&gt; has a 10-step solution for you that doesn't involve attaching, and don't worry, it won't interfere with your 12-step program :)&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Jeremy Likness"&gt;                &lt;/a&gt;&lt;a title="http://csharperimage.jeremylikness.com/2009/11/getting-silverlight-applications-ready.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4607"&gt;&lt;u&gt;Getting Silverlight Applications Ready for the Real World&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeremy Likness&lt;/b&gt; has a great post up for anyone building a Real-World application. He's discussing things from his experience that we should all address.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Jeff Wilcox"&gt;                &lt;/a&gt;&lt;a title="http://www.jeff.wilcox.name/2009/11/out-of-browser-tutorial/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4606"&gt;&lt;u&gt;Taking the Silverlight Control Browser sample Out-of-Browser … plus a tutorial&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeff Wilcox&lt;/b&gt; posts about the new OOB Control browser sample in the Toolkit, then goes on with a tutorial on how to do a first-class OOB experience for your own app.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Fredrik Normén"&gt;                &lt;/a&gt;&lt;a title="http://weblogs.asp.net/fredriknormen/archive/2009/11/16/how-to-create-a-module-based-silverlight-application-part-1.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4605"&gt;&lt;u&gt;How to create a Module based Silverlight application (Part 1) &lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Fredrik Normén&lt;/b&gt; is doing a bunch of blogging lately, but don't skip his post on modularizing your Silverlight. This is the first of a series and he says the next one is going to be using MEF so stay tuned to his blog!&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Tim Heuer"&gt;                &lt;/a&gt;&lt;a title="http://timheuer.com/blog/archive/2009/11/22/silverlight-4-notification-window-queue-sample.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4604"&gt;&lt;u&gt;Silverlight 4 NotificationWindow and Queuing multiple notifications&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Tim Heuer&lt;/b&gt; has a post up about 'toast' ... no not *that* kind of toast! ... the NotificationWindow kind :) Good article, a link to a video about it on Silverlight.net and all the source.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Shawn Wildermuth"&gt;                &lt;/a&gt;&lt;a title="http://wildermuth.com/2009/11/23/Taking_a_WebCam_Photo_with_Silverlight" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4603"&gt;&lt;u&gt;Taking a WebCam Photo with Silverlight&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Shawn Wildermuth&lt;/b&gt;'s latest is an app demonstrating capturing images from a webcam using Silverlight 4B... with source! I guess my only comment would be to use it only for good :)&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091124Andrej Tozon"&gt;                &lt;/a&gt;&lt;a title="http://tozon.info/blog/post/2009/10/31/Detecting-duplicate-instances-of-a-running-Silverlight-application.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4602"&gt;&lt;u&gt;Detecting duplicate instances of a running Silverlight application&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;If you've got a Silverlight app that you want to limit to one instance running what do you do? Well... go read &lt;b&gt;Andrej Tozon&lt;/b&gt;'s post and see how to get the job done... that's what I'd do :)&lt;/dd&gt;
    &lt;/font&gt;&lt;/dl&gt;
    &lt;p&gt;&lt;font face="tahoma"&gt;&lt;br /&gt;
    &lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
    &lt;/font&gt;&lt;/p&gt;
    &lt;center&gt; &lt;font face="tahoma"&gt;  &lt;/font&gt;&lt;hr width="50%" /&gt;
    &lt;font face="tahoma"&gt;  &lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
    &lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt;   &lt;br /&gt;
    &lt;/font&gt;&lt;/center&gt;
    &lt;p&gt;&lt;font face="tahoma"&gt;  &lt;br /&gt;
    &lt;br /&gt;
    Technorati Tags:     &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 3&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 4&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;SilverlightCream&lt;/a&gt;  &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136510"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136510" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136510.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HyIUGXdzfx8" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/24/136510.aspx</feedburner:origLink></item><item><title>SharePoint Buddy System</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/nM2QAF-Bpq0/sharepoint-buddy-system.aspx</link><pubDate>Tue, 24 Nov 2009 16:08:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/SoYouKnow/archive/2009/11/24/sharepoint-buddy-system.aspx</guid><wfw:comment>http://geekswithblogs.net/SoYouKnow/comments/136509.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/SoYouKnow/comments/commentRss/136509.aspx</wfw:commentRss><comments>http://geekswithblogs.net/SoYouKnow/archive/2009/11/24/sharepoint-buddy-system.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/SoYouKnow/services/trackbacks/136509.aspx</trackback:ping><source url="http://geekswithblogs.net/SoYouKnow/rss.aspx">SharePoint Buddy System</source><description>&lt;p&gt;It was a warm sunny July afternoon.  The lake was cool, calm, and inviting.  Little Johnny sat on the bank of the lake skipping rocks while the rest of the cub scouts were out hiking in the woods.  Johnny was soaking it all in,  the vast lake with the little island in the middle.  The bright blue sky, nothing but the sounds of the wind and the occasional bird.  Yes, this was a perfect day and Johnny was enjoying every minute of it.  However, Johnny got bored (as most little boys often do).  He decided to take his shoes off and wade out into the cool, crisp water.  The refreshing water and the soft sand between his toes only added to his enjoyment of the day.  Yes, life was good… Johnny stood there, the water up to his knees now, looking at that small island in the middle of the lake. It looked so perfect.  It had big trees for shade and a rope swing that could not be resisted by any mere mortal. The island was far away, but Johnny knew he could make it… so he leapt up out of the water to swim for it.  “WHAM”… he was not such a good diver though and landed right on his now tomato red stomach… &lt;/p&gt;  &lt;p&gt;“OUCH! That’s gonna leave a mark” Johnny thought.  “No matter… I will make it to that island. I heard someone say there’s buried treasure there too… Nirvana awaits.”&lt;/p&gt;  &lt;p&gt;Johnny started swimming.  It was easy at first, but with each stroke he grew more and more tired.  He had to stop and catch his breath several times.  “Wow, that island is a lot further than I first thought.” Suddenly, Johnny had a horrible cramp and couldn’t move… “Why did I eat that chili dog for lunch?!?”.  He tried to swim, but the pain was unbearable.  It was all he could do to not sink to the depths of the lake, which now looked ominous and dark.  This was not good, not good at all. Johnny tried to scream for help, but he was so tired and out of breath that he couldn’t make a sound. How could this have happened?  It was such a perfect day!  Little Johnny was losing hope. Is this how it would end?  In pain, out of breath, scared, and without hope Johnny looked up and realized the island was right in front of him.  Johnny was suddenly filled with hope as he painfully inched his way closer to the island… closer and closer.. almost there.  He was so close he knew that his feet would touch the bottom at any moment now.  He was going to make it! Everything was going to be okay! “SPLASH"!” A giant lake monster came out from nowhere and swallowed little Johnny whole.  The End.&lt;/p&gt;  &lt;p&gt;If only little Johnny had the sense to bring a buddy with him.  His buddy could have warned him how far the island was and convince him not to try it.  His buddy could have helped him get back to shore when the cramp started, or his buddy could have been lunch for the lake monster giving little Johnny ample time to get away.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Always use the buddy system.&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;So, go back and read the little story and instead of a large lake, it’s SharePoint, instead of a paradise of a little island, it’s some project or application.  Sure, when you start playing with SharePoint it seems harmless and fun. Then you start to get brave and try new things. There’s nothing wrong with that. Then you decide to try something something really cool and before you know it you are in WAY over your head. You fight it and fight it and search for help everywhere.  Then, when you see a glimmer of hope everything comes crashing down and you are left with nothing but despair.  Sound familiar?  I can TOTALLY relate to that in my early days of SharePoint. However, these days things are much better.  One of the reasons is the SharePoint buddy system!  I am the architect/developer for my organization and I routinely wade into the waters of SharePoint trying things for the first time. Luckily, I work with a Rock Star SharePoint admin (&lt;a href="http://twitter.com/lorigowin"&gt;@lorigowin&lt;/a&gt;).  She has pulled me from the lake multiple times gasping for air and has even warned me on multiple occasions of the right way to get to that island.  Sure, neither of us know all the answers.  Sure we both still have to ask others for help and do research, but because we have different backgrounds (dev and admin) we see things from different points of views and can routinely find better answers than if we were left to our own devices.  Also, I’m a much more effective developer because I can depend on my admin to do that administrative tasks that are a little over my head.  I can also help the admin see different ways of solving issues that may not be as obvious to someone without a dev background.&lt;/p&gt;  &lt;p&gt;So, where’s your buddy? (no, you can’t have mine). Yes, I realize this is a “fluff” piece, or maybe I’m on to something here.  I say over and over again that SharePoint is too massive for anyone to be an expert in all aspects. So, stop trying to be. Find a buddy and help each other out.  I’ve learned a lot of admin tips and tricks along the way.  &lt;/p&gt;  &lt;p&gt;Now all I need is a branding buddy then I can do a blog on the Three Musketeers.. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136509"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136509" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/SoYouKnow/aggbug/136509.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/nM2QAF-Bpq0" height="1" width="1"/&gt;</description><dc:creator>Mark Rackley</dc:creator><feedburner:origLink>http://geekswithblogs.net/SoYouKnow/archive/2009/11/24/sharepoint-buddy-system.aspx</feedburner:origLink></item><item><title>Kansas City .NEt UG November Meeting Announcement</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/qK2UDMhzMhs/kansas-city-.net-ug-november-meeting-announcement.aspx</link><pubDate>Tue, 24 Nov 2009 14:47:57 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/jalexander/archive/2009/11/24/kansas-city-.net-ug-november-meeting-announcement.aspx</guid><wfw:comment>http://geekswithblogs.net/jalexander/comments/136508.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/jalexander/comments/commentRss/136508.aspx</wfw:commentRss><comments>http://geekswithblogs.net/jalexander/archive/2009/11/24/kansas-city-.net-ug-november-meeting-announcement.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/jalexander/services/trackbacks/136508.aspx</trackback:ping><source url="http://geekswithblogs.net/jalexander/rss.aspx">Kansas City .NEt UG November Meeting Announcement</source><description>&lt;p&gt;This month's meeting will be a social/networking/bar camp type meeting. It will be a good chance to just talk and socialize over beers/wines/ cokes.&lt;/p&gt;  &lt;p&gt;For those who are interested, we will be meeting at Coach's Bar around the corner from Centriq.&lt;/p&gt;  &lt;p&gt;Click for directions and map: &lt;a href="http://www.bing.com/maps/OneClickDirections.aspx?rtp=%7epos.qgq74n73h6yv_414+W+103rd+St%2c+Kansas+City%2c+MO+64114-4501___a_&amp;amp;rsd=38.966711461544_-94.5440590381622__the+north+(on+US-71+S+%2f+Bruce+R+Watkins+Dr)%7e38.9163208007813_-94.5265898108482__the+south+(on+US-71+N)%7e38.9650592207909_-94.5215982198715__the+east+(on+I-435+S)%7e38.9413511753082_-94.7935500741005__the+west+(on+SR-10+%2f+Governor+John+Anderson+Jr+Hwy+E)&amp;amp;mkt=en-us&amp;amp;FORM=LLMP"&gt;414 W 103rd St, Kansas City, MO 64114&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;See you there!!!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.bing.com/maps/OneClickDirections.aspx?rtp=%7epos.qgq74n73h6yv_414+W+103rd+St%2c+Kansas+City%2c+MO+64114-4501___a_&amp;amp;rsd=38.966711461544_-94.5440590381622__the+north+(on+US-71+S+%2f+Bruce+R+Watkins+Dr)%7e38.9163208007813_-94.5265898108482__the+south+(on+US-71+N)%7e38.9650592207909_-94.5215982198715__the+east+(on+I-435+S)%7e38.9413511753082_-94.7935500741005__the+west+(on+SR-10+%2f+Governor+John+Anderson+Jr+Hwy+E)&amp;amp;mkt=en-us&amp;amp;FORM=LLMP" href="http://www.bing.com/maps/OneClickDirections.aspx?rtp=%7epos.qgq74n73h6yv_414+W+103rd+St%2c+Kansas+City%2c+MO+64114-4501___a_&amp;amp;rsd=38.966711461544_-94.5440590381622__the+north+(on+US-71+S+%2f+Bruce+R+Watkins+Dr)%7e38.9163208007813_-94.5265898108482__the+south+(on+US-71+N)%7e38.9650592207909_-94.5215982198715__the+east+(on+I-435+S)%7e38.9413511753082_-94.7935500741005__the+west+(on+SR-10+%2f+Governor+John+Anderson+Jr+Hwy+E)&amp;amp;mkt=en-us&amp;amp;FORM=LLMP"&gt; &lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136508"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136508" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jalexander/aggbug/136508.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/qK2UDMhzMhs" height="1" width="1"/&gt;</description><dc:creator>John Alexander</dc:creator><feedburner:origLink>http://geekswithblogs.net/jalexander/archive/2009/11/24/kansas-city-.net-ug-november-meeting-announcement.aspx</feedburn