<rss version="2.0" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Debugging</title>
        <link>http://www.drowningintechnicaldebt.com/DennisBottjer/category/7.aspx</link>
        <description>Debugging</description>
        <language>en-US</language>
        <copyright>Dennis Bottjer</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>SharePoint 2010 Custom Master Page: Required Field Pop-Up</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sharepoint-2010-custom-master-page-required-field-pop-up.aspx</link>
            <description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = "http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sharepoint-2010-custom-master-page-required-field-pop-up.aspx";digg_title = "SharePoint 2010 Custom Master Page: Required Field Pop-Up";digg_bgcolor = "#FFFFFF";digg_skin = "normal";]]&gt;&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;]]&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;  &lt;h2&gt;Overview:&lt;/h2&gt;  &lt;p&gt;Creating a custom master page provides the greatest flexibility for branding a SharePoint Implementation.  However, there are many hidden traps to be aware of when creating a custom master page.  For example, it is usually best not to start from scratch but to use a copy of the v4.master or starter master page &lt;a href="http://startermasterpages.codeplex.com/"&gt;http://startermasterpages.codeplex.com/&lt;/a&gt; created by Randy Drisgill.&lt;/p&gt;  &lt;h2&gt;Lessons Learned:&lt;/h2&gt;  &lt;p&gt;The v4.master is the new default master used for SharePoint 2010 and creating a new custom master from a copy of the original v4.master will ensure the inclusion of expected SharePoint 2010 User Experience Functionality.&lt;/p&gt;  &lt;p&gt;After deploying a custom master page based on the v4.master we began seeing a “You must specify a value for this required field” message box whenever trying to edit or add new list items and perform other routine tasks.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/DennisBottjer/WindowsLiveWriter/SharePoint2010CustomMasterPageRequiredFi_11F83/clip_image001_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="clip_image001" border="0" alt="clip_image001" src="http://www.drowningintechnicaldebt.com/images/www_drowningintechnicaldebt_com/DennisBottjer/WindowsLiveWriter/SharePoint2010CustomMasterPageRequiredFi_11F83/clip_image001_thumb.png" width="244" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After much research the solution was found on this blog post: &lt;a title="http://blogs.msdn.com/b/tmathis/archive/2010/03/18/you-must-specify-a-value-for-this-required-field-error-when-hidding-placeholderpagetitleintitlearea.aspx" href="http://blogs.msdn.com/b/tmathis/archive/2010/03/18/you-must-specify-a-value-for-this-required-field-error-when-hidding-placeholderpagetitleintitlearea.aspx"&gt;http://blogs.msdn.com/b/tmathis/archive/2010/03/18/you-must-specify-a-value-for-this-required-field-error-when-hidding-placeholderpagetitleintitlearea.aspx&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It has always been a good practice to place unused content place holders within a hidden ASP.NET Panel Control.  However, the message box error was caused by the PlaceHolderPageTitleInTitleArea content place holder being contained within an ASP.NET Panel Control with the hidden attribute set to false.  The resolution was to remove the hidden=false attribute and hide the ASP.NET Panel using a CSS Style.  The style can be simply added to the master page for easy deployment.&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/794.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dennis Bottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sharepoint-2010-custom-master-page-required-field-pop-up.aspx</guid>
            <pubDate>Fri, 10 Sep 2010 01:34:00 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sharepoint-2010-custom-master-page-required-field-pop-up.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/794.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SQL Reporting Services Error Installing TFS 2010</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sql-reporting-services-error-installing-tfs-2010.aspx</link>
            <description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = "http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sql-reporting-services-error-installing-tfs-2010.aspx";digg_title = "SQL Reporting Services Error Installing TFS 2010";digg_bgcolor = "#FFFFFF";digg_skin = "normal";]]&gt;&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;]]&gt;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Over the weekend I spun up a new virtual machine for a practice TFS 2010 Installation.  The TFS installation process is much improved.  It can loosely be broken into two phases which are installation and configuration.  The installation is the easy part which basically prepares the server and copies some bits to the drive.  The configuration is a little more difficult but provides some guidance to help make the important decisions.  During the configuration you make the following three key decisions.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Install WSS 3.0 or use an existing SharePoint installation&lt;/li&gt;    &lt;li&gt;Install SQL Express or use an existing SQL Instance&lt;/li&gt;    &lt;li&gt;Install Reporting Services&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;During the configuration I received TF255275 Error during the Reporting Services portion of the configuration.  My reporting services database was created and configured for SharePoint Mode.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Reference: &lt;/strong&gt;&lt;a title="http://www.sathishtk.com/blog/post/2009/10/15/TFS-2010-TF255275-Error.aspx" href="http://www.sathishtk.com/blog/post/2009/10/15/TFS-2010-TF255275-Error.aspx"&gt;&lt;strong&gt;http://www.sathishtk.com/blog/post/2009/10/15/TFS-2010-TF255275-Error.aspx&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Despite referencing the TFS 2010 Beta the above blog post helped resolve the issue.  Essentially, I had to change the database to Native Mode.  However, as a commenter mentions I had to delete the Report Database and recreate it in Native Mode before the configuration wizard would complete.&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/793.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dennis Bottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sql-reporting-services-error-installing-tfs-2010.aspx</guid>
            <pubDate>Thu, 09 Sep 2010 06:18:01 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/09/09/sql-reporting-services-error-installing-tfs-2010.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/793.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint 2010 Unable to Open Excel and PDF Documents</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/06/07/sharepoint-2010-unable-to-open-excel-and-pdf-documents.aspx</link>
            <description>&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = "http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/06/07/sharepoint-2010-unable-to-open-excel-and-pdf-documents.aspx";digg_title = "SharePoint 2010 Unable to Open Excel and PDF Documents";digg_bgcolor = "#FFFFFF";digg_skin = "normal";]]&gt;&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;]]&gt;&lt;/script&gt;&lt;/div&gt;&lt;h2&gt;Issue:&lt;/h2&gt;  &lt;p&gt;A client was experiencing very strange behavior following an upgrade from MOSS 2007 to SharePoint 2010 Server.  In a nutshell some documents such as Word (.doc and .docx) would open while others such as Excel (.xls and xlsx) and PDF documents would not open.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;By open I mean when clicking on an Excel document, stored within a document library, it would not open in Excel installed on Windows 7, Vista, XP, etc.&lt;/p&gt;  &lt;p&gt;Furthermore, the file type icons that normally display next to familiar documents such as Excel were missing and a missing image red x was displayed. &lt;/p&gt;  &lt;h2&gt;Thoughts:&lt;/h2&gt;  &lt;p&gt;The behavior of unrecognized File Types and missing document icons seemed to indicate an issue with the docIcon.xml configuration which is commonly located here: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;However, after inspecting this file on each server I could find nothing apparently wrong.  Finally, one last tedious inspection revealed the issue.  Following the upgrade we had to reconfigure the Adobe PDF IFilter which meant adding the following key to the docIcon.xml file:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;lt;Mapping Key="pdf" Value="pdficon_small.gif" /&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;After looking at this entry more closely I noticed that the double quotations marks looked italicized &lt;em&gt;“. &lt;/em&gt;This meant the configuration contain extra characters and was most likely edit with an editor like word pad instead of note pad.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tip: &lt;/strong&gt;Never use Word Pad to edit configuration files because it will add additional characters and likely corrupt the configuration file.&lt;/p&gt;  &lt;h2&gt;Solution:&lt;/h2&gt;  &lt;p&gt;I removed the unsupported double quotes and replaced them with unformatted double quotes.  Viola, we could now open Excel and PDF Files again!  Even better the cute little document type icons came back! :)  &lt;/p&gt;  &lt;h2&gt;Further Explanation:&lt;/h2&gt;  &lt;p&gt;The reason the Excel Documents types became unavailable is because these document type mappings were located after the pdf file mapping within the docIcon.xml.  Essential the invalid PDF entry broke all entries below it.&lt;/p&gt;  &lt;p&gt;Hope this helps someone else!!!&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/737.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dennis Bottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/06/07/sharepoint-2010-unable-to-open-excel-and-pdf-documents.aspx</guid>
            <pubDate>Mon, 07 Jun 2010 14:54:39 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2010/06/07/sharepoint-2010-unable-to-open-excel-and-pdf-documents.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/737.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Automated Web Testing with Visual Studio 2008</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/28/automated-web-testing-with-visual-studio-2008.aspx</link>
            <description>&lt;h1&gt;Tulsa Developers User Group | Automated Web Testing with Visual Studio 2008 (Review)&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/default.aspx" target="_blank"&gt;Corey Roth&lt;/a&gt; presented tonight on automated web testing with Visual Studio 2008 at the Tulsa Developers User Group.  Visual Studio can be used to record an action such as logging into a web application.  Alternatively, users can inspect screen values for specific results.  The test would pass if the expect value is present and fail if the value is missing.  Visual Studio must be installed to execute the tests.   &lt;/p&gt;  &lt;p&gt;A tests project actually generates .NET Code (C# or VB.NET).  The tool can also be used to show raw header information and cookies.  One drawback is that only Internet Explorer is supported.&lt;/p&gt;  &lt;h2 /&gt;  &lt;h2&gt;Additional Information:&lt;/h2&gt;  &lt;p&gt;Follow me on twitter &lt;a title="Follow Dennis Bottjer on Twitter" href="http://twitter.com/dbottjer" target="_blank"&gt;@dbottjer&lt;/a&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:885ff8fc-9044-4f80-9e15-5c2774ad0534" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Web+Automated+Tested" rel="tag"&gt;Web Automated Tested&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tulsa+Developers+User+Group" rel="tag"&gt;Tulsa Developers User Group&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/128.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/28/automated-web-testing-with-visual-studio-2008.aspx</guid>
            <pubDate>Tue, 28 Apr 2009 06:32:03 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/28/automated-web-testing-with-visual-studio-2008.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/128.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Increase SharePoint execution Timeout</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/14/increase-sharepoint-execution-timeout.aspx</link>
            <description>&lt;h2&gt;Execution Timeout Issue:&lt;/h2&gt;
&lt;p&gt;After six minutes (360 seconds) of execution a SharePoint page will timeout.  Now for most situations a six minute execution timeout seems very generous.  However, it is likely that this default execution timeout may be reached during such tasks as Feature Activation.  Features are activated from a SharePoint Application Page and unless specially coded (not likely) a Feature will execute code in a synchronous manor.  Features containing code to create nested site hierarchies can be quite time consuming.  &lt;/p&gt;
&lt;h2&gt;Solution:&lt;/h2&gt;
&lt;p&gt;SharePoint uses a web.config located under:&lt;/p&gt;
&lt;p&gt;Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS&lt;/p&gt;
&lt;p&gt;to set the default executionTimeout.  The default executionTimeout (See Below) value is 360 seconds or six minutes.  Increasing this value will allow our Feature code more time to complete execution before timing out.&lt;/p&gt;
&lt;h2&gt;Sample Web.Config&lt;/h2&gt;
&lt;p&gt;&amp;lt;system.web&amp;gt; &lt;br /&gt;
    &amp;lt;compilation batch="false" batchTimeout="600" maxBatchSize="10000" maxBatchGeneratedFileSize="10000" /&amp;gt; &lt;br /&gt;
    &amp;lt;httpHandlers&amp;gt; &lt;br /&gt;
      &amp;lt;add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /&amp;gt; &lt;br /&gt;
    &amp;lt;/httpHandlers&amp;gt; &lt;br /&gt;
    &amp;lt;customErrors mode="On" /&amp;gt; &lt;br /&gt;
&amp;lt;httpRuntime executionTimeout="360" /&amp;gt; &lt;br /&gt;
    &amp;lt;globalization fileEncoding="utf-8" /&amp;gt; &lt;br /&gt;
  &amp;lt;/system.web&amp;gt;&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:99a8c765-9d9e-46be-a1b1-c6863ebec682" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Increase+SharePoint+Execution+Timeout"&gt;Increase SharePoint Execution Timeout&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/118.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Dennis Bottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/14/increase-sharepoint-execution-timeout.aspx</guid>
            <pubDate>Tue, 14 Apr 2009 09:40:55 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2009/04/14/increase-sharepoint-execution-timeout.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/118.aspx</wfw:commentRss>
        </item>
        <item>
            <title>403 Error when accessing SearchSPSettings.aspx</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2008/02/05/403-error-when-accessing-searchspsettings-aspx.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Problem: &lt;/strong&gt;We were installing code on a MOSS 2007 Medium Farm Deployment.  We noticed the servers were missing sever WSS/MOSS 2007 related patches.  We applied the missing patches but then realized Search was no longer functioning properly.  One of the most noticeable issues was we could no longer access the "Search Settings" page under the primary SSP.  Prior to applying the patches this page was accessible but now we just saw a 403 Forbidden Error.  The event logs and the SharePoint logs weren't much help either.  Basically, we knew the problem had something to do with permissions but we couldn't find any hits where to look.  Additionally, this seemed to be the only page having issues.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; After searching several blogs and MSDN I finally found a single post &lt;a title="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2793573&amp;amp;amp;SiteID=17&amp;amp;amp;mode=1" href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2793573&amp;amp;SiteID=17&amp;amp;mode=1" mce_href="http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2793573&amp;amp;SiteID=17&amp;amp;mode=1"&gt;http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2793573&amp;amp;SiteID=17&amp;amp;mode=1&lt;/a&gt; by Jörgen Bjerkesjö that provided the solution.  The problem is caused by the local wss_wpg server account not having write access to the %windir%\tasks folder, usually c:\windows\tasks folder.  This folder is used by Windows Task Scheduler.  So to fix the problem the wss_wpg account needs to be given write access to the c:\windows\tasks folder on the index server.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The c:\windows\tasks folder is a hidden folder by default.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;On Index Server or all server in farm 
&lt;/li&gt;&lt;li&gt;Open a command prompt and type attrib -s %windir%\tasks &amp;lt;enter&amp;gt; 
&lt;/li&gt;&lt;li&gt;Browse to %windir%\tasks, right click and select properties.  Add the WSS_WPG group and grant Read &amp;amp; Write permissions on the tasks folder. 
&lt;/li&gt;&lt;li&gt;Open a command prompt and type attrib +s %windir% \tasks &amp;lt;enter&amp;gt;&lt;/li&gt;&lt;/blockquote&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:03147305-3e4b-4429-ad0e-588730d8eb20" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/[SSP%20Error]" rel="tag" mce_href="http://technorati.com/tags/[SSP%20Error]"&gt;[SSP Error]&lt;/a&gt;,&lt;a href="http://technorati.com/tags/[MOSS%202007]" rel="tag" mce_href="http://technorati.com/tags/[MOSS%202007]"&gt;[MOSS 2007]&lt;/a&gt;,&lt;a href="http://technorati.com/tags/[Search%20Settings%20403]" rel="tag" mce_href="http://technorati.com/tags/[Search%20Settings%20403]"&gt;[Search Settings 403]&lt;/a&gt;,&lt;a href="http://technorati.com/tags/[Search%20Settings%20Error]" rel="tag" mce_href="http://technorati.com/tags/[Search%20Settings%20Error]"&gt;[Search Settings Error]&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/88.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2008/02/05/403-error-when-accessing-searchspsettings-aspx.aspx</guid>
            <pubDate>Tue, 05 Feb 2008 14:35:00 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2008/02/05/403-error-when-accessing-searchspsettings-aspx.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/88.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Error 1718. File FileName was rejected by digital signature policy.</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/15/error-1718-file-filename-was-rejected-by-digital-signature-policy.aspx</link>
            <description>&lt;p&gt;Leveraging Virtual Machines is a great way to develop against SharePoint.  I was trying to update Visual Studio 2005 on a dev VM to SP1 and kept receiving "Error 1718. File &lt;var&gt;FileName&lt;/var&gt; was rejected by digital signature policy."  The cause of this error is actually related to a lack of Virtual Memory.  However, I still received the error after increasing the virtual memory. The HotFix available in this &lt;a title="http://support.microsoft.com/kb/925336" href="http://support.microsoft.com/kb/925336"&gt;http://support.microsoft.com/kb/925336&lt;/a&gt; MS Support Article resolved the issue.&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/80.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/15/error-1718-file-filename-was-rejected-by-digital-signature-policy.aspx</guid>
            <pubDate>Fri, 16 Nov 2007 03:13:39 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/15/error-1718-file-filename-was-rejected-by-digital-signature-policy.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/80.aspx</wfw:commentRss>
        </item>
        <item>
            <title>PEX Dynamic Test Generation</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/14/pex-dynamic-test-generation.aspx</link>
            <description>&lt;p&gt;Found this project, &lt;a title="http://research.microsoft.com/Pex/" href="http://research.microsoft.com/Pex/"&gt;http://research.microsoft.com/Pex/&lt;/a&gt; from MS Research which apparently dynamically generates tests and code analysis during active development.  Interesting way to enforce code quality and just prove requirements are being met. &lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/79.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/14/pex-dynamic-test-generation.aspx</guid>
            <pubDate>Wed, 14 Nov 2007 17:16:29 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/11/14/pex-dynamic-test-generation.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/79.aspx</wfw:commentRss>
        </item>
        <item>
            <title>ASP.NET Debug=true Performance Considerations</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/10/10/asp-net-debug-true-performance-considerations.aspx</link>
            <description>&lt;p&gt;I'm sure, like me, you've seen plenty of production web.config files with debug=true set.  Most senior ASP.NET developers will recognize that debug should be set to false for the production build.  However, this small detail is often over looked.  So what does this setting really do and does it have any significant impact on a production site?&lt;/p&gt;
&lt;p&gt;When &lt;b&gt;debug&lt;/b&gt; is set to &lt;b&gt;true&lt;/b&gt;, the following occurs: 
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Pages are not batch compiled. 
&lt;/li&gt;&lt;li&gt;Pages do not time out. When a problem occurs, such as a problem with a Web service call, the Web server may start to queue requests and stop responding. 
&lt;/li&gt;&lt;li&gt;Additional files are generated in the Temporary &lt;a href="http://asp.net/" mce_href="http://asp.net/"&gt;ASP.NET&lt;/a&gt; Files folder. 
&lt;/li&gt;&lt;li&gt;The &lt;b&gt;System.Diagnostics.DebuggableAttribute&lt;/b&gt; attribute is added to generated code. This causes the CLR to track extra information about generated code, and it also disables certain optimizations. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Source of Information: &lt;a title="http://msdn2.microsoft.com/en-us/library/ms998549.aspx" href="http://msdn2.microsoft.com/en-us/library/ms998549.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms998549.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms998549.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/75.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/10/10/asp-net-debug-true-performance-considerations.aspx</guid>
            <pubDate>Wed, 10 Oct 2007 13:36:00 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/10/10/asp-net-debug-true-performance-considerations.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/75.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Thoughts On Recursion</title>
            <link>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/07/10/thoughts-on-recursion.aspx</link>
            <description>&lt;p&gt;Recursion is a computer science concept in which a method / function essentially calls itself until some condition is met.  Recursion can be an elegant solution to some logic problems.  However, I believe there are some potential dangers in using recursion that should carefully be consider.  Recursion is not an impossible concept to grasp it is just one that takes some thought.  The skill level of those maintaining an application should be considered before implementing recursion as it is a more advanced programming concept and could lead to serious performance issues of not implement correctly. &lt;/p&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;namespace&lt;/span&gt; RecursionTest
{
    &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;string&lt;/span&gt;[] args)
        {
               System.Console.WriteLine(calcFactorial(4));
               System.Console.ReadLine();	
         }


        &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; calcFactorial(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; n)
        {
            &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; n &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;*&lt;/span&gt; calcFactorial(n &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;-&lt;/span&gt; 1);
        }

    }
}&lt;/pre&gt;
&lt;p&gt;Did you spot the bug in the code above? The code never stops when the factorial is complete resulting in an infinite loop.  To fix the code we need to add a simple constraint or check. &lt;/p&gt;&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;namespace&lt;/span&gt; RecursionTest
{
    &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;string&lt;/span&gt;[] args)
        {
            Console.WriteLine(calcFactorial(4));
            Console.ReadLine();
        }


        &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; calcFactorial(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;int&lt;/span&gt; n)
        {
            &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;if&lt;/span&gt; (n == 1)
            {
                &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; 1;
            }
            &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;else&lt;/span&gt;
            {
                &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;return&lt;/span&gt; n &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;*&lt;/span&gt; calcFactorial(n &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: white"&gt;-&lt;/span&gt; 1);
            }
        }
    }
}&lt;/pre&gt;The recursive code above is very clean however as demonstrated it is easy to forget the constraint and introduce an infinite loop. I would also like to point out that from a performance standpoint recursion may not be the best choice.  It is often faster to use a looping structure where possible.  Finally, one must consider the impact recursion has on the managed stack in .NET.  Basically the deeper a thread's stack becomes the more difficult it becomes for the Garbage Collector to determine what should be collected and what is still in use.&lt;img src="http://www.drowningintechnicaldebt.com/DennisBottjer/aggbug/69.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>dbottjer</dc:creator>
            <guid>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/07/10/thoughts-on-recursion.aspx</guid>
            <pubDate>Tue, 10 Jul 2007 10:45:00 GMT</pubDate>
            <comments>http://www.drowningintechnicaldebt.com/DennisBottjer/archive/2007/07/10/thoughts-on-recursion.aspx#feedback</comments>
            <wfw:commentRss>http://www.drowningintechnicaldebt.com/DennisBottjer/comments/commentRss/69.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
