<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.richardramdat.com &#187; Development</title>
	<atom:link href="http://blog.richardramdat.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.richardramdat.com</link>
	<description></description>
	<lastBuildDate>Tue, 22 Jun 2010 19:01:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Global Assembly Cache (GAC) Compare</title>
		<link>http://blog.richardramdat.com/2010/06/global-assembly-cache-gac-compare/</link>
		<comments>http://blog.richardramdat.com/2010/06/global-assembly-cache-gac-compare/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 15:16:41 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=209</guid>
		<description><![CDATA[If you&#8217;re doing SharePoint development then you&#8217;ve no doubt heard of the GAC, or Global Assembly Cache (c:\windows\assembly) where compiled assemblies are deployed. In a SharePoint farm with several front-ends, you may occasionally find a server with a missing DLL or the wrong version of the assembly.
The following tool makes quick work of trying to [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re doing SharePoint development then you&#8217;ve no doubt heard of the GAC, or Global Assembly Cache (c:\windows\assembly) where compiled assemblies are deployed. In a SharePoint farm with several front-ends, you may occasionally find a server with a missing DLL or the wrong version of the assembly.</p>
<p>The following tool makes quick work of trying to find differences in the GAC for remote servers and evens offers up a nifty HTML report. Very nicely done.</p>
<p><a href="http://gaccompare.codeplex.com/">http://gaccompare.codeplex.com/</a></p>
<p>A couple things &#8211; you need to have Admin rights on the remote computers, the tool does take a while to do the compare (so be patient) and to get the HTML report and other cool features, right-click in the results pane after it has loaded.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/06/global-assembly-cache-gac-compare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>W3wp.exe Associate Process ID with Application Pool</title>
		<link>http://blog.richardramdat.com/2010/06/w3wp-exe-associate-process-id-with-application-pool/</link>
		<comments>http://blog.richardramdat.com/2010/06/w3wp-exe-associate-process-id-with-application-pool/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 22:12:57 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=206</guid>
		<description><![CDATA[If you noticed your website is running slow, probably one of the first things you do is log into your web server, open Task Manager and check what&#8217;s going on. Usually you will see a process called w3wp.exe (or several instances of it) running and using high cpu utilization.
W3wp.exe is the worker process that Internet [...]]]></description>
			<content:encoded><![CDATA[<p>If you noticed your website is running slow, probably one of the first things you do is log into your web server, open Task Manager and check what&#8217;s going on. Usually you will see a process called w3wp.exe (or several instances of it) running and using high cpu utilization.</p>
<p>W3wp.exe is the worker process that Internet Information Services (IIS) uses for the application pools on your site. Each application pool, is assigned a separate worker process. That way an exception or crash in one of your application pools doesn&#8217;t affect other sites running in a different app pool.</p>
<p>To identify which w3wp process belongs to which application pool, here is what you will need to do. <strong>NOTE: this is specific for IIS 7.</strong></p>
<p>In Task Manager, switch to the Processes tab. From the top menu, click on View and then Select Columns&#8230;, ensure that PID (Process Identifier) is checked.</p>
<p>Now open a command window (Start -&gt; Run -&gt; cmd.exe) and change directory to the following path,</p>
<p><strong>cd c:\windows\system32\inetsrv</strong></p>
<p>*notice that inetsrv may be<strong> inetsrv32</strong> or<strong> inetsrv64</strong> depending on your specific version of Windows Server.</p>
<p>Once in this directory, type the following:</p>
<p><strong>appcmd list wp</strong></p>
<p>The output will appear with the Process ID (PID from Task Manager) and the associated application pool belonging to it.</p>
<p>Another helpful command is: <strong>appcmd list requests</strong></p>
<p>This will list all current requests and other useful information, such as time in milliseconds to help you identify long running requests.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/06/w3wp-exe-associate-process-id-with-application-pool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS 7 Worker Processes &#8211; Category does not exist</title>
		<link>http://blog.richardramdat.com/2010/06/iis-7-worker-processes-category-does-not-exist/</link>
		<comments>http://blog.richardramdat.com/2010/06/iis-7-worker-processes-category-does-not-exist/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 21:57:47 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=204</guid>
		<description><![CDATA[In my last post, I mentioned the Internet Information Services (IIS) Manager feature called Worker Processes, and explained how you can use it to glean information into high cpu utilization for the w3wp.exe process(es) running on your server. If you followed the steps and got the following error: &#8220;There was an error while performing this [...]]]></description>
			<content:encoded><![CDATA[<p>In my<a href="/2010/06/iis-7-worker-processes/"> last post</a>, I mentioned the Internet Information Services (IIS) Manager feature called <strong>Worker Processes</strong>, and explained how you can use it to glean information into high cpu utilization for the w3wp.exe process(es) running on your server. If you followed the steps and got the following error: &#8220;There was an error while performing this operation. Details: Category does not exist.&#8221; Here is what you can do to resolve the issue.</p>
<p>The issue stems from the performance counters on the server being disabled. To verify &#8211; run the following at the command line,</p>
<p>lodctr /q:PerfProc</p>
<p>If you see the following,</p>
<p>[PerfProc] Performance Counters (Disabled)</p>
<p>The performance counters are not running. To activate them, run the following command,</p>
<p>lodctr /e:PerfProc</p>
<p>Once done, close any instances of the IIS Manager that you had open. Reopen IIS Manager, and you should now see the Worker Processes feature. Now only if the error message could have told you all that :-).</p>
<p>Thanks to the following for information about this issue:</p>
<p><a href="http://bit.ly/b9yhrV">http://bit.ly/b9yhrV</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/06/iis-7-worker-processes-category-does-not-exist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Error Delete Site WebDeleted.aspx File Not Found</title>
		<link>http://blog.richardramdat.com/2010/01/sharepoint-error-delete-site-webdeleted-aspx-file-not-found/</link>
		<comments>http://blog.richardramdat.com/2010/01/sharepoint-error-delete-site-webdeleted-aspx-file-not-found/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 21:21:00 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=196</guid>
		<description><![CDATA[We had several  users reporting an error when deleting a SharePoint team site. The error appears as a &#8220;File Not Found.&#8221; on the WebDeleted.aspx layout page along with a stack trace. It appears that the problem stems from our custom master page. For our implementation we use a custom HttpModule that redirects incoming requests for [...]]]></description>
			<content:encoded><![CDATA[<p>We had several  users reporting an error when deleting a SharePoint team site. The error appears as a &#8220;File Not Found.&#8221; on the WebDeleted.aspx layout page along with a stack trace. It appears that the problem stems from our custom master page. For our implementation we use a custom HttpModule that redirects incoming requests for a master page to virtualized custom master pages that we maintain.</p>
<p>The WebDeleted.aspx page references the simple.master page which we redirect to our customized application master page. Apparently this results in the page trying to load in elements that are out of context for it. The solution was to stop redirecting simple.master and instead route it back to the SharePoint out of the box simple.master.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/01/sharepoint-error-delete-site-webdeleted-aspx-file-not-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint CAML Query Date</title>
		<link>http://blog.richardramdat.com/2010/01/sharepoint-caml-query-date/</link>
		<comments>http://blog.richardramdat.com/2010/01/sharepoint-caml-query-date/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 20:13:32 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=193</guid>
		<description><![CDATA[For the past two SharePoint implementations that I&#8217;ve worked with, it was a common business requirement to query from a list to retrieve items that should be displayed on a &#8220;scheduled&#8221; basis. Think along the lines of an alert or announcement. Typically what I end doing is create a custom list and add the following [...]]]></description>
			<content:encoded><![CDATA[<p>For the past two SharePoint implementations that I&#8217;ve worked with, it was a common business requirement to query from a list to retrieve items that should be displayed on a &#8220;scheduled&#8221; basis. Think along the lines of an alert or announcement. Typically what I end doing is create a custom list and add the following three fields, &#8220;StartTime&#8221;, &#8220;EndTime&#8221; and &#8220;Active&#8221;. Start and End Time are the fields for scheduling the list item. I make them a Date+Time field and also allow them to be optionally be null, this way someone can create an open ended item that starts at a specific time but has no specified End Time. The Active field is a simple yes/no that is a convenient kill-switch or safety check.</p>
<p>So with the three columns, the following CAML query can be used to query items that should be currently displayed:</p>
<textarea cols="40" rows="10" name="code" class="Xml">        <Where>
          <And>
            <And>
              <Or>
                <Leq>
                  <FieldRef Name='StartTime' />
                  <Value Type='DateTime' IncludeTimeValue='True'>
                    <Today />
                  </Value>
                </Leq>
                <IsNull>
                  <FieldRef Name='StartTime' />
                </IsNull>
              </Or>
              <Or>
                <Gt>
                  <FieldRef Name='EndTime' />
                  <Value Type='DateTime' IncludeTimeValue='True'>
                    <Today />
                  </Value>
                </Gt>
                <IsNull>
                  <FieldRef Name='EndTime' />
                </IsNull>
              </Or>
            </And>
            <Eq>
              <FieldRef Name='Active' />
              <Value Type='Boolean'>1</Value>
            </Eq>
          </And>
        </Where>
        <OrderBy>
          <FieldRef Name='Modified' Ascending='False' />
        </OrderBy></textarea>
	<!-- Wordpress Code Snippet -->
	<script type="text/javascript" src="http://blog.richardramdat.com/wp-content/plugins/wordpress-code-snippet/js/shCore.js"></script><script type="text/javascript" src="http://blog.richardramdat.com/wp-content/plugins/wordpress-code-snippet/js/shBrushXml.js"></script>
	<link type="text/css" rel="stylesheet" href="http://blog.richardramdat.com/wp-content/plugins/wordpress-code-snippet/css/SyntaxHighlighter.css"/>
	
	<script language="javascript">
	dp.SyntaxHighlighter.ClipboardSwf = 'http://blog.richardramdat.com/wp-content/plugins/wordpress-code-snippet/js/clipboard.swf';
	dp.SyntaxHighlighter.HighlightAll('code');
	</script>
	<!-- End Wordpress Code Snippet -->
	]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/01/sharepoint-caml-query-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Determine if SPListItem belongs to a document library</title>
		<link>http://blog.richardramdat.com/2010/01/determine-if-splistitem-belongs-to-a-document-library/</link>
		<comments>http://blog.richardramdat.com/2010/01/determine-if-splistitem-belongs-to-a-document-library/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 05:07:48 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=187</guid>
		<description><![CDATA[So you have an instance of a SPListItem and want to know whether this item belongs to a Document Library or if it came from a list (such as an Event Calender, Survey, or Custom List). A quick way to distinguish a document library item is to access the ParentList property of the SPListItem class and examine [...]]]></description>
			<content:encoded><![CDATA[<p>So you have an instance of a SPListItem and want to know whether this item belongs to a Document Library or if it came from a list (such as an Event Calender, Survey, or Custom List). A quick way to distinguish a document library item is to access the ParentList property of the SPListItem class and examine the BaseType. In code,</p>
<p>SPListItem item = GetItemFromSomeWhere();</p>
<p>if (item.ParentList.BaseType == SPBaseType.DocumentLibrary)</p>
<p>{</p>
<p>// This item is from a document library &#8211; it probably contains a file.</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2010/01/determine-if-splistitem-belongs-to-a-document-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Empty Div With Width Displays Height in IE</title>
		<link>http://blog.richardramdat.com/2009/08/empty-div-with-width-displays-height-in-ie/</link>
		<comments>http://blog.richardramdat.com/2009/08/empty-div-with-width-displays-height-in-ie/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 19:01:48 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/2009/08/empty-div-with-width-displays-height-in-ie/</guid>
		<description><![CDATA[I have a wrapper div that contains a user control that may or may not always display content. If it doesn’t have content, then the div should be empty and empty divs shouldn’t have any height right? Well, all the browsers agree with me – except Internet Explorer. Apparently since I’ve given this div a [...]]]></description>
			<content:encoded><![CDATA[<p>I have a wrapper div that contains a user control that may or may not always display content. If it doesn’t have content, then the div should be empty and empty divs shouldn’t have any height right? Well, all the browsers agree with me – except Internet Explorer. Apparently since I’ve given this div a width, even though its empty, IE still decides to render height equivalent to the set font-size.</p>
<p>So can’t I just add a height:0; rule to my css? Well that will work &#8211; until the control within my div decides to render content and now its hidden.</p>
<p>So the fix? Add an html comment within the div. Yep, sounds crazy &#8211; but if your empty div is empty, save for an html comment, it will now not render any height.</p>
<p>Here’s how the fix looks like:</p>
<p>
<div id=”wrapper” style=”width: 200px;”><MyServerSideControl /><!----></div>
</p>
<p>Yay Microsoft! Your rules for HTML parsing makes perfect sense!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2009/08/empty-div-with-width-displays-height-in-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharepoint Dispose</title>
		<link>http://blog.richardramdat.com/2009/07/sharepoint-dispose/</link>
		<comments>http://blog.richardramdat.com/2009/07/sharepoint-dispose/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 02:09:24 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=118</guid>
		<description><![CDATA[Apparently I was informed that when instantiating an SPWeb or SPSite object, I should call Dispose on those objects to make sure they&#8217;re released.
Oh really? My response went something like, &#8220;Isn&#8217;t that the purpose of memory management and having an Garbage Collector?&#8221; Apparently not.  Whatever, so I call Dispose after my objects, no big deal.
Until [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently I was informed that when instantiating an SPWeb or SPSite object, I should call Dispose on those objects to make sure they&#8217;re released.</p>
<p>Oh really? My response went something like, &#8220;Isn&#8217;t that the purpose of memory management and having an Garbage Collector?&#8221; Apparently not.  Whatever, so I call Dispose after my objects, no big deal.</p>
<p>Until one day I stumble upon this lovely error:  &#8220;Trying to use an SPWeb object that has been closed or disposed and is no longer valid&#8221; Say what?!</p>
<p>So I google it and find out that I&#8217;m trying to dispose the current context of an SPWeb that needs to be used by other controls on the page.</p>
<p>Oh lovely, so how in the world then should I know when or when not to dispose? This is so retarded. Microsoft/Sharepoint fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2009/07/sharepoint-dispose/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Get Satisfaction</title>
		<link>http://blog.richardramdat.com/2009/05/80/</link>
		<comments>http://blog.richardramdat.com/2009/05/80/#comments</comments>
		<pubDate>Sun, 03 May 2009 17:18:35 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Reviews]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=80</guid>
		<description><![CDATA[Need a customer portal for your website or business? Check out Get Satisfaction an online service that provides companies a way to connect with their customers.
]]></description>
			<content:encoded><![CDATA[<p>Need a customer portal for your website or business? Check out <a href="http://getsatisfaction.com/">Get Satisfaction</a> an online service that provides companies a way to connect with their customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2009/05/80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CoLab Orlando</title>
		<link>http://blog.richardramdat.com/2009/05/colab-orlando/</link>
		<comments>http://blog.richardramdat.com/2009/05/colab-orlando/#comments</comments>
		<pubDate>Fri, 01 May 2009 22:03:11 +0000</pubDate>
		<dc:creator>richard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Startup Advice]]></category>
		<category><![CDATA[CoLab]]></category>
		<category><![CDATA[Orlando]]></category>

		<guid isPermaLink="false">http://blog.richardramdat.com/?p=76</guid>
		<description><![CDATA[Just checked out CoLab Orlando for the first time today and I must say I like the concept a lot. The idea behind CoLab is akin to that of a hostel, but instead of sleeping among random strangers &#8211; you get to work with them in a shared office environment. Just bring your laptop, find a [...]]]></description>
			<content:encoded><![CDATA[<p>Just checked out <a href="http://colaborlando.com/">CoLab Orlando</a> for the first time today and I must say I like the concept a lot. The idea behind CoLab is akin to that of a hostel, but instead of sleeping among random strangers &#8211; you get to work with them in a shared office environment. Just bring your laptop, find a place to sit, and you&#8217;re good to go.</p>
<p><a href="http://blog.richardramdat.com/wp-content/uploads/2009/05/angebilt1.jpg"><img class="size-medium wp-image-78 alignnone" title="angebilt1" src="http://blog.richardramdat.com/wp-content/uploads/2009/05/angebilt1-224x300.jpg" alt="CoLab Orlando" width="224" height="300" /></a></p>
<p>For the self-employed, the idea of CoLabing is great. It gives you the chance to get out of the house, change up your routine, and get motivated by being around other people. Mind you, there is a membership fee, but for what you get, I think its well worth the money (plus, you get your own downtown office! can you say Baller??)</p>
<p>For me, CoLab solves one of the two main problems that i faced with being self-employed: one &#8211; regular income and two &#8211; being around people. Had CoLab been around when I was laid-off last year, I could easily still be freelancing today.</p>
<p>Apart from helping the self-employed, CoLab also helps to foster and grow the tech community within Orlando (something that is very important to me) by giving those who work here a sense of community and connection. Now that&#8217;s awesome!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.richardramdat.com/2009/05/colab-orlando/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
