<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Code Blitz</title>
	<atom:link href="http://codeblitz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeblitz.wordpress.com</link>
	<description>Separation of Concerns</description>
	<lastBuildDate>Thu, 19 Nov 2009 00:59:45 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='codeblitz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/149993605d87bd97a988e1c61f755c2a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Code Blitz</title>
		<link>http://codeblitz.wordpress.com</link>
	</image>
			<item>
		<title>Silverlight 4 Beta released</title>
		<link>http://codeblitz.wordpress.com/2009/11/19/silverlight-4-beta-released/</link>
		<comments>http://codeblitz.wordpress.com/2009/11/19/silverlight-4-beta-released/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:59:45 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=992</guid>
		<description><![CDATA[Interesting news from PDC in LA, Silverlight 4 beta has been released, and comes full a very impressive suite of features and toolset supported by VS 2010.
If you have VS 2010 beta installed, you can play around with SL4.
Read more about it here.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=992&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Interesting news from PDC in LA, Silverlight 4 beta has been released, and comes full a very impressive suite of features and toolset supported by VS 2010.</p>
<p>If you have VS 2010 beta installed, you can play around with SL4.</p>
<p>Read more about it <a href="http://silverlight.net/getstarted/silverlight-4-beta/" target="_blank">here</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/992/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/992/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/992/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=992&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/11/19/silverlight-4-beta-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
		<item>
		<title>Upcoming new features for WPF 4</title>
		<link>http://codeblitz.wordpress.com/2009/11/04/upcoming-new-features-for-wpf-4/</link>
		<comments>http://codeblitz.wordpress.com/2009/11/04/upcoming-new-features-for-wpf-4/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 03:05:03 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[WPF]]></category>
		<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=990</guid>
		<description><![CDATA[Scott Gu has released new feature for WPF in the upcoming VS 2010 and .NET 4 framework.
Read about it here. I must say I&#8217;m looking forward to playing with it, very impressive.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=990&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Scott Gu has released new feature for WPF in the upcoming VS 2010 and .NET 4 framework.</p>
<p><a href="http://weblogs.asp.net/scottgu/archive/2009/10/26/wpf-4-vs-2010-and-net-4-0-series.aspx" target="_blank">Read about it here</a>. I must say I&#8217;m looking forward to playing with it, very impressive.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/990/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/990/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/990/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=990&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/11/04/upcoming-new-features-for-wpf-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
		<item>
		<title>NDepend: A product you can depend on.</title>
		<link>http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/</link>
		<comments>http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 05:42:30 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[NDepend]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=951</guid>
		<description><![CDATA[It&#8217;s been more than a month now since I&#8217;ve posted. I&#8217;ve been really busy with project work, and moving to my new home.   So let&#8217;s start off with a bang&#8230;.
In almost every developer&#8217;s life, our effectiveness and productivity are greatly affected by the tools we use. I&#8217;m sure everyone has a list of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=951&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s been more than a month now since I&#8217;ve posted. I&#8217;ve been really busy with project work, and moving to my new home. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  So let&#8217;s start off with a bang&#8230;.</p>
<p>In almost every developer&#8217;s life, our effectiveness and productivity are greatly affected by the tools we use. I&#8217;m sure everyone has a list of developer tools that they love. I&#8217;m no exception to that, and I&#8217;ve recently added <a href="http://www.ndepend.com/Default.aspx" target="_blank">NDepend</a> (which is a static analyzer that simplifies managing complex .NET code base) to my list of GREAT tools. <a href="http://codebetter.com/blogs/patricksmacchia/" target="_blank">Patrick Smacchia</a> was kind enough to give me a professional copy of NDepend and I decided to use it with a sample project I&#8217;ve been working on slowly and painfully over the last month. I took the <a href="http://codeblitz.wordpress.com/2009/05/29/creating-a-simple-wpf-application-using-prism-part-3/" target="_blank">sample WPF application (using Prism v2) I posted some time back</a>, and decided to convert it into a Multi-Target project with Silverlight using <a href="http://msdn.microsoft.com/en-us/library/dd458870.aspx" target="_blank">Project Linker</a> (will blog about this later). I thought it would be a good idea to see how decoupled my solution would be using Prism and Multi-Targeting.</p>
<p><a href="http://www.ndepend.com/Features.aspx#DependenciesView" target="_blank"><span id="more-951"></span>NDepend has a very large set of features</a>, and for this post, I&#8217;m only able to scratch the surface of it&#8217;s capabilities and provide a high level view.</p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_whole.png" target="_blank"><img class="alignnone size-medium wp-image-952" title="NDepend_whole" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_whole.png?w=300&#038;h=181" alt="NDepend_whole" width="300" height="181" /></a></p>
<p>Upon starting up NDepend, I was struck by it&#8217;s clean UI and visually attractive look. After looking my numerous WPF and SL assemblies, NDepend immediately whipped up a report in HTML format (or generate one using F5) and displayed it on my browser. Navigating back to the NDepend UI, I decided to investigate the numerous features. I managed to find my way around relatively easily, without the need to read lengthy documentation or tutorials. That&#8217;s a sign of well designed UI and usability. Let&#8217;s move on to some of the features.</p>
<p><span style="text-decoration:underline;"><strong>Metrics</strong></span></p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_metrics.png" target="_blank"><img class="alignnone size-medium wp-image-954" title="NDepend_Metrics" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_metrics.png?w=300&#038;h=61" alt="NDepend_Metrics" width="300" height="61" /></a></p>
<p>Metrics play an important part of measuring code quality. NDepend provides a very deep level of metric information. It&#8217;s not just about numbers but there&#8217;s also a interesting  visualization medium. If you look at the screenshot above, you will notice that the assemblies are broken up into funky looking rectangles. If you mouse over these rectangles, the tooltip will tell you which class, and what method you are currently looking at. I really like this visualization effect since the size of the rectangles tell me straight up how large my assemblies are in the whole scheme of things, as well as the size of my classes. When you mouse over a rectangle, the Info windows shows you metric information for that class and method.</p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_info.png" target="_blank"><img class="alignnone size-medium wp-image-955" title="NDepend_Info" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_info.png?w=250&#038;h=300" alt="NDepend_Info" width="250" height="300" /></a></p>
<p><span style="text-decoration:underline;"><strong>Dependency Matrix</strong></span></p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_matrix.png" target="_blank"><img class="alignnone size-medium wp-image-956" title="NDepend_Matrix" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_matrix.png?w=300&#038;h=187" alt="NDepend_Matrix" width="300" height="187" /></a></p>
<p>The dependency matrix shows you how tightly coupled your assemblies are, based on different units of measure. For instance, in the screenshot above, the matrix shows the number of  method access from one assembly to another. Clicking on a cell will give you more detailed information about that coupling. Selecting the dropdown gives you different units of measure, like Types, Namespaces, Fields, etc. I have many zeroes, I guess that&#8217;s a good sign <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="text-decoration:underline;"><strong>Dependency Graph</strong></span></p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_graph.png" target="_blank"><img class="alignnone size-medium wp-image-957" title="NDepend_Graph" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_graph.png?w=300&#038;h=187" alt="NDepend_Graph" width="300" height="187" /></a></p>
<p>The dependency graph is great at looking at the dependencies for each assembly. Again NDepend utilizes heavily on visualization, with very cool effects of highlighting these dependencies when you mouse over. This allows you to actually see how complex your application is (or has become, using compare different version of your code base).</p>
<p><span style="text-decoration:underline;"><strong>Code Query Language (CQL)</strong></span></p>
<p><a href="http://codeblitz.files.wordpress.com/2009/09/ndepend_cql.png" target="_blank"><img class="alignnone size-medium wp-image-958" title="NDepend_CQL" src="http://codeblitz.files.wordpress.com/2009/09/ndepend_cql.png?w=300&#038;h=61" alt="NDepend_CQL" width="300" height="61" /></a></p>
<p>This is my favourite feature of all. CQL bears great resemblance to SQL statements and makes sense to do so. <a href="http://www.ndepend.com/CQL.htm" target="_blank">Using CQL you can write to own queries</a> to find retrieve your desired metrics. If you look at the screenshot above, out of the box there are CQL query groups that tell you about your Code Quality, Design, etc. All these &#8220;benchmarks&#8221; are constructed using CQL and you can drill down deeper to see the actual CQL query as well as the results of these queries. Of course you can modify these &#8220;benchmarks&#8221; to suit for project needs, or create new ones, using the CQL Editor, which has built-in compiler and Intellisense! Sweet.</p>
<p><span style="text-decoration:underline;"><strong>Why I like  NDepend</strong></span></p>
<p>I  really like the way NDepend uses visualizations instead of just dumping raw data on the screen. I also really enjoy the way information is displayed dynamically just by mouse-over and not having the need to always click to see information, like most other tools. Most importantly, I love how NDepend updates all the other windows accordingly when you select something in one of them, sort of like global updating. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If I had to pick one thing I don&#8217;t like about NDepend, it would have to be metric terms used, and the way it is calculated. For a beginner like myself, I do have trouble understanding what some of the terms refer to. For instance, something that confuses me is <span style="color:#0000ff;">&#8220;Relational Cohesion  1.75&#8243;</span>. It would be nice to have some kind of pop-up tooltip that tells me the definition of a term, and how good/bad that number is. Perhaps I have not dug deep enough and that feature may already be there, so please do correct me if that is the case.</p>
<p>In my opinion, NDepend is an excellent analyzer tool to ensure overall quality of your code base. Now there&#8217;s actually a product that can tell you how tightly coupled or complex your application really is. And best of all, you can put this information to good use, be it refactoring, redesigning or abstracting your code base. With NDepend, there is no longer an excuse to not to pay off your <a href="Technical Debt" target="_blank">technical debt</a>, before bad things happen!</p>
<p>Don&#8217;t just take my word, do conduct your own analysis of <a href="http://www.ndepend.com/Default.aspx" target="_blank">NDepend</a>, and see if it suits for needs. If you would like to see the NDepend report I mentioned earlier in this post, you can download that report <a href="http://cid-2c6600f1c1d5e3be.skydrive.live.com/self.aspx/.Public/NDependReport.zip" target="_blank">here</a>. There&#8217;s a great level of detail! Enjoy.</p>
<table border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="sbmText">Share this post:</td>
<td><a title="Post it to del.icio.us" href="http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;;title=NDepend: A product you can depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0" alt="" /></a></td>
<td><a title="Post it to digg" href="http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;title=NDepend: A product you can depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0" alt="" /></a></td>
<td><a title="Post it to dotnetkicks" href="http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;title=NDepend: A product you can depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0" alt="" /></a></td>
<td><a title="Post it to live" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;mkt=en-us&amp;url=http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;title=NDepend: A product you can  depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0" alt="" /></a></td>
<td><a title="Post it to reddit!" href="http://reddit.com/submit?url=http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;title=NDepend: A product you can depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0" alt="" /></a></td>
<td><a title="Post it to technorati!" href="http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/&amp;title=NDepend: A product you can depend on." target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0" alt="" /></a></td>
</tr>
</tbody>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/951/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/951/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/951/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/951/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/951/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/951/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/951/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/951/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/951/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/951/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=951&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/09/25/ndepend-a-product-you-can-depend-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_whole.png?w=300" medium="image">
			<media:title type="html">NDepend_whole</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_metrics.png?w=300" medium="image">
			<media:title type="html">NDepend_Metrics</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_info.png?w=250" medium="image">
			<media:title type="html">NDepend_Info</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_matrix.png?w=300" medium="image">
			<media:title type="html">NDepend_Matrix</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_graph.png?w=300" medium="image">
			<media:title type="html">NDepend_Graph</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/09/ndepend_cql.png?w=300" medium="image">
			<media:title type="html">NDepend_CQL</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" medium="image" />
	</item>
		<item>
		<title>Article: Great F# Overview</title>
		<link>http://codeblitz.wordpress.com/2009/08/24/article-great-f-overview/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/24/article-great-f-overview/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 07:36:49 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[F#]]></category>
		<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=943</guid>
		<description><![CDATA[My colleague sent me a link to a great F# overview from Chris Smith, who presented at DevLink and is a member on the F# team at Microsoft. Everything you want to know about F# on a high level is covered in his post, in a very objective approach.
Check it out here.
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=943&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My colleague sent me a link to a great F# overview from Chris Smith, who presented at <a href="http://blogs.msdn.com/chrsmith/archive/2009/08/20/f-for-architects-hitting-the-sweet-spot.aspx" target="_blank">DevLink</a> and is a member on the F# team at Microsoft. Everything you want to know about F# on a high level is covered in his post, in a very objective approach.</p>
<p><a href="http://blogs.msdn.com/chrsmith/archive/2009/08/20/f-for-architects-hitting-the-sweet-spot.aspx" target="_blank">Check it out here</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/943/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=943&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/24/article-great-f-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
		<item>
		<title>MSCRM AsyncService timeout during Import Customizations</title>
		<link>http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 07:55:20 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[CRM 4.0]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=935</guid>
		<description><![CDATA[I was performing a CRM deployment to a TEST environment today, and we use the CRM SDK to do that. You use the ImportCompressedAllXmlRequest which takes in a compressed XML Customization file (if you have a .xml file, you can use code to compress it), and uploads it to the CRM Server.
However I was getting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=935&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I was performing a CRM deployment to a TEST environment today, and we use the CRM SDK to do that. You use the <a href="http://msdn.microsoft.com/en-us/library/cc152822.aspx" target="_blank">ImportCompressedAllXmlRequest </a>which takes in a compressed XML Customization file (if you have a .xml file, you can use code to compress it), and uploads it to the CRM Server.</p>
<p>However I was getting<span style="color:#ff0000;"> Timeout Error from the MSCRMAsyncService</span>. Quite peculiar, and from looking at the Trace logs, it was timing out of a update statement to the <span style="color:#0000ff;">AsyncOperationBase </span>table. I quickly did a query, and found more than a million rows in there. AAahhhh&#8230;.that explains why.</p>
<p>Apparently it&#8217;s not uncommon for this table to grow to a humongous state, and it&#8217;s not optimal. There&#8217;s lot of unnecessary data in there, and causing problems for my deployment. Turns out you need to clean that table up using some SQL scripts, and after that regularly maintain it using batch jobs. Here&#8217;s the <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;968520" target="_blank">SOLUTION</a>. By the way, the delete script takes hours to execute, so leave it running overnight!</p>
<p>Here&#8217;s a more<a href="http://blogs.msdn.com/benlec/archive/2009/01/20/deadlocks-performance-issues-mscrm-database-growth-asyncoperationbase-table-increase.aspx" target="_blank"> detailed article</a> explain why this happened in the first place. Hope it helps.</p>
<table border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="sbmText">Share this post:</td>
<td><a title="Post it to del.icio.us" href="http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/&amp;;title=MSCRM AsyncService timeout during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0" alt="" /></a></td>
<td><a title="Post it to digg" href="http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/&amp;title=MSCRM AsyncService timeout during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0" alt="" /></a></td>
<td><a title="Post it to dotnetkicks" href="http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/&amp;title=MSCRM AsyncService timeout during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0" alt="" /></a></td>
<td><a title="Post it to live" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;mkt=en-us&amp;url=http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import- customizations/&amp;title=MSCRM AsyncService timeout during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0" alt="" /></a></td>
<td><a title="Post it to reddit!" href="http://reddit.com/submit?url=http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/&amp;title=MSCRM AsyncService timeout  during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0" alt="" /></a></td>
<td><a title="Post it to technorati!" href="http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/&amp;title=MSCRM AsyncService timeout during Import Customizations" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0" alt="" /></a></td>
</tr>
</tbody>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/935/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/935/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/935/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/935/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/935/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/935/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/935/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/935/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/935/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/935/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=935&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/21/mscrm-asyncservice-timeout-during-import-customizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" medium="image" />
	</item>
		<item>
		<title>Developers that care matters</title>
		<link>http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 10:43:25 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[Ramblings]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=929</guid>
		<description><![CDATA[In my first job and project, I was fortunate enough to learn from some of the best. We tried to adhere to most of the best software development practices, like unit testing, daily builds, automated deployment to multiple environments, code reviews, test coverage, source control for code and database, refactoring and countless application design sessions. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=929&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my first job and project, I was fortunate enough to learn from some of the best. We tried to adhere to most of the best software development practices, like unit testing, daily builds, automated deployment to multiple environments, code reviews, test coverage, source control for code and database, refactoring and countless application design sessions. It was a very fun time in my career&#8230;..good times.</p>
<p><span id="more-929"></span>Sadly things changed drastically after I changed jobs. My frowns were meticulously rationalized with the infamous &#8220;no time, budget and resource&#8221; excuse. How untrue that is, and if you read any related software development articles or journals, you will no doubt be convinced about the importance and benefits of all the above practices I grew fondly of. After speaking to many developers from all walks of life, I came to the conclusion that most software development companies or organizations do not follow best practices&#8230;and that&#8217;s a fact.</p>
<p>I pondered and reflected, as to what the root cause is. Is it the responsibility of the higher powers of an organization to spear-head such a movement? Or is it the responsibility of the project leads and managers? The  obvious answers might be yes and yes, but I tend to lean towards no and no. My answer is, it&#8217;s the responsibility of every single person. Impossible you might say, well I won&#8217;t disagree. But here&#8217;s what I think&#8230;</p>
<p>Bottom line is, you need developers that <strong><span style="text-decoration:underline;">CARE</span></strong>. There are good developers, and there are bad developers.  I prefer to look at it from another point of view, which is there are developers who care, and those who don&#8217;t. A developer who cares is one that is passionate about honing his/her craft, cares about learning new things, cares about his/her code quality, cares about reducing pain/problems/obstacles in a software project, cares about enhancing his/her problem solving skills, and most importantly cares about shipping <strong>QUALITY</strong> software!! Evolutions in frameworks, technology and languages are rapid and frequent, to constantly hone your craft and keeping up to date is a sign that you care.</p>
<p>When many such developers are aggregated together, it quickly becomes infectious. I worked in such an environment before, and I was a willing victim. A pleasant side effect is that instead of typically expecting change to propagate from top down, change begins from the bottom up. Unlikely to happen you might think, but I would argue it&#8217;s plausible. So now how does this translate to the different parties??</p>
<p><strong>Organizations, especially software companies</strong> should aim to hire the best people. This should involve a strict interview process, one that requires developers to demonstrate their problem solving and design skills (preferably on the whiteboad), even better ask them to write code. If a technical interview only involves testing if a candidate knows &#8220;what a delegate is&#8221;, it&#8217;s just a waste of time in my opinion. Quality over quantity is what counts.</p>
<p><strong>As a developer</strong>, do you consider yourself to passionate about what you do? If not, you should re-evaluate if you should even be in the business of building software. If you do care, then you should evaluate if your current work environment is the ideal place to learn, grow and most importantly, enjoy working in. I find nothing more enjoyable than to work with like-minded individuals who love their work as much as you do, and I guess after that you never have to work another day in your life. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<table border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="sbmText">Share this post:</td>
<td><a title="Post it to del.icio.us" href="http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/&amp;;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0" alt="" /></a></td>
<td><a title="Post it to digg" href="http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/&amp;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0" alt="" /></a></td>
<td><a title="Post it to dotnetkicks" href="http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/&amp;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0" alt="" /></a></td>
<td><a title="Post it to live" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;mkt=en-us&amp;url=http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/&amp;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0" alt="" /></a></td>
<td><a title="Post it to reddit!" href="http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/&amp;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0" alt="" /></a></td>
<td><a title="Post it to technorati!" href="http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;title=Developers that care matters" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0" alt="" /></a></td>
</tr>
</tbody>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/929/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/929/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/929/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=929&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/20/developers-that-care-matters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" medium="image" />
	</item>
		<item>
		<title>How to implement Convert Lead feature in CRM 4.0</title>
		<link>http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 02:12:30 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[CRM 4.0]]></category>
		<category><![CDATA[Client Side Scripting]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=910</guid>
		<description><![CDATA[I&#8217;ve been dwelling in the world of MS CRM 4.0 for more than a month now, it&#8217;s a pretty decent product. In terms of development on CRM, it&#8217;s not exactly a pleasant experience. Because it&#8217;s such a closed and inflexible ecosystem, there&#8217;s only ever 1-2 ways to do something. After doing stuff for a while, it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=910&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been dwelling in the world of MS CRM 4.0 for more than a month now, it&#8217;s a pretty decent product. In terms of development on CRM, it&#8217;s not exactly a pleasant experience. Because it&#8217;s such a closed and inflexible ecosystem, there&#8217;s only ever 1-2 ways to do something. After doing stuff for a while, it gets pretty repetitive and monotonous. However there was one piece of work that I had to complete which proved to be a little tricky, and I&#8217;m going to share with you in this post.</p>
<p>Essentially, I had to implement a behavior that is close to the <span style="color:#0000ff;">&#8220;Convert Lead&#8221;</span> feature in CRM. It was not as straightforward as I though it would be, and here&#8217;s the breakdown of things you need to do in order to implement the entire feature.</p>
<ol>
<li>Create a custom aspx / html page (ideally done entirely using JScript, because any postback on the dialog web page causes issues)</li>
<li>Write JScripts on custom page to convert, deactivate the current record and validation.</li>
<li>Modify ISV Config file to add a button into the toolbar.</li>
<li>Add an Onload JScript to hide the button when entity is inactive. (there&#8217;s not in-built way in the ISV Config to do this, which really sucks)</li>
</ol>
<p>Let&#8217;s use a fictitious entity for this example, called <strong>new_entity</strong>. So here goes.</p>
<p><strong><span style="text-decoration:underline;"><span id="more-910"></span>Custom Web Page</span></strong></p>
<p><a href="http://codeblitz.files.wordpress.com/2009/08/convertpopup.png" target="_blank"><img class="alignnone size-medium wp-image-912" title="ConvertPopup" src="http://codeblitz.files.wordpress.com/2009/08/convertpopup.png?w=296&#038;h=300" alt="ConvertPopup" width="296" height="300" /></a></p>
<p>One problem I had at first was to get a stylesheet that will give me the same look and feel of CRM. If you google around for it, you will be very much disappointed like me. I have no idea why the CSS is not shared, leaving developers like myself having to figure it out. Fortunately there is a standard template <em>(download link at end of post)</em> you can use from the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&amp;displaylang=en" target="_blank">CRM 4.0 SDK</a>, and here&#8217;s the CSS.</p>
<pre class="brush: css;">
BODY
{
font-size: 11px;
margin:	0px;
border: 0px;
cursor: default;
scrollbar-3dlight-color:#6699CC;
scrollbar-arrow-color:#567DB1;
scrollbar-base-color:#D6E8FF;
scrollbar-darkshadow-color:#6699CC;
scrollbar-face-color:white;
scrollbar-highlight-color:#D6E8FF;
scrollbar-shadow-color:#D6E8FF;
overflow: hidden;
background-color:#E3EFFF;
}

TD
{
font-size: 11px;
}

BODY, INPUT, SELECT, TEXTAREA
{
font-family : Tahoma, Verdana, Arial;
}

BUTTON
{
font-family: Tahoma;
font-size: 11px;
height: 20px;
width: 84px;
text-align: center;
cursor: pointer;
border: 1px #3366CC solid;
background-color: #CEE7FF;
background-image: url('/_imgs/btn_rest.gif');
background-repeat: repeat-x;
border: 1px #3366CC solid;
padding-left: 5px;
padding-right: 5px;
}

TD.ms-crm-Dialog-Header
{
background-color:#6693CF;
color:			#ffffff;
border-bottom:	1px solid #6693CF;
height:			51px;
vertical-align:	top;
padding:		5px;
}

DIV.ms-crm-Dialog-Header-Title
{
font-weight:	bold;
font-size:		13px;
padding-left:	5px;
}

DIV.ms-crm-Dialog-Header-Desc
{
padding-top:	4px;
padding-left:	5px;

}
</pre>
<p>Here&#8217;s the HTML template you can use.</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;[DIALOG TITLE GOES HERE]&lt;/title&gt;
	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;styles/dialog.css&quot; /&gt;

&lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;

	function ISV_ApplyChanges()
	{
		// TODO: Add your &quot;save&quot;, &quot;apply&quot; or any other functionality here
		alert(&quot;Do Work Here&quot;);
	}

	function ISV_Cancel()
	{
		// TODO: Add your &quot;cancel&quot; or &quot;close&quot; code here
		window.close();
	}

&lt;/script&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;table style=&quot;width:100%; height:100%;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;8&quot;&gt;
&lt;tr&gt;
&lt;td class=&quot;ms-crm-Dialog-Header&quot;&gt;
&lt;div class=&quot;ms-crm-Dialog-Header-Title&quot;&gt;
					[DIALOG TITLE GOES HERE]&lt;/div&gt;
&lt;div class=&quot;ms-crm-Dialog-Header-Desc&quot; id=&quot;DlgHdDesc&quot;&gt;
					[DIALOG DESCRIPTION TEXT AND INSTRUCTIONS GO HERE]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border-bottom: 1px solid #999999;&quot; valign=&quot;top&quot;&gt;
&lt;div id=&quot;divFill&quot;&gt;
					[HTML CONTENT GOES HERE]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height=&quot;20&quot;&gt;
&lt;td style=&quot;border-top: 1px solid #ffffff;&quot; align=&quot;right&quot;&gt;
				&lt;button onclick=&quot;ISV_ApplyChanges();&quot; &gt;OK&lt;/button&gt;
				&amp;nbsp;
				&lt;button onclick=&quot;ISV_Cancel();&quot; &gt;Cancel&lt;/button&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>I recommend that you perform your validation (if any), update / create of entity using JScript. I&#8217;ve had some unexpected problems performing server-side calls and having postbacks. You will find many examples of performing CRUD using XML soap message in JScript in the SDK. Here&#8217;s an example of deactivating your entity when the user successfully perform the conversion.</p>
<pre class="brush: jscript;">
function DeactivateEntity() {
    var opener = window.dialogArguments;
    var crmForm = opener.document.crmForm;

    // Prepare the SOAP message.
    var xml = &quot;&lt; ?xml version='1.0' encoding='utf-8'?&gt;&quot; +
      &quot;&lt;soap :Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'&quot; +
      &quot; xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'&quot; +
      &quot; xmlns:xsd='http://www.w3.org/2001/XMLSchema'&gt;&quot; +
      opener.GenerateAuthenticationHeader() +
      &quot;&lt;/soap&gt;&lt;soap :Body&gt;&quot; +
      &quot;&lt;execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'&gt;&quot; +
      &quot;&lt;request xsi:type='SetStateDynamicEntityRequest'&gt;&quot; +
      &quot;&lt;entity&gt;&lt;id xmlns='http://schemas.microsoft.com/crm/2006/CoreTypes'&gt;&quot; + crmForm.ObjectId + &quot;&lt;/id&gt;&quot; +
      &quot;&lt;name xmlns='http://schemas.microsoft.com/crm/2006/CoreTypes'&gt;new_entity&lt;/name&gt;&lt;/entity&gt;&quot; +
      &quot;&lt;state&gt;Inactive&lt;/state&gt;&quot; +
      &quot;&lt;status&gt;2&lt;/status&gt;&quot; +
      &quot;&lt;/request&gt;&quot; +
      &quot;&lt;/execute&gt;&quot; +
      &quot;&lt;/soap&gt;&quot; +
      &quot;&quot;;
    // Prepare the xmlHttpObject and send the request.
    var xHReq = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;);
    xHReq.Open(&quot;POST&quot;, &quot;/mscrmservices/2007/CrmService.asmx&quot;, false);
    xHReq.setRequestHeader(&quot;SOAPAction&quot;, &quot;http://schemas.microsoft.com/crm/2007/WebServices/Execute&quot;);
    xHReq.setRequestHeader(&quot;Content-Type&quot;, &quot;text/xml; charset=utf-8&quot;);
    xHReq.setRequestHeader(&quot;Content-Length&quot;, xml.length);
    xHReq.send(xml);
    // Capture the result.
    var resultXml = xHReq.responseXML;
    // Check for errors.
    var errorCount = resultXml.selectNodes('//error').length;
    if (errorCount != 0) {
      alert(&quot;Unable to process your request. Please contact System Administrator.&quot;);
    }
  }
</pre>
<p>Which brings me to the next biggest problem. How do you get access to the <span style="color:#0000ff;">CRMForm DOM elements</span> and the<span style="color:#0000ff;"> GenerateAuthenticationHeader()</span> JS function from your modal page? A good way I found is to use <span style="color:#000000;"><a href="http://msdn.microsoft.com/en-us/library/ms536759(VS.85).aspx" target="_blank">window.showModalDialog</a></span> function, and from your modal page you can conveniently grab a context of the parent form using <span style="color:#0000ff;">window.dialogArguements</span>.</p>
<p>The first two lines of the function is the important bit, where I grab a reference to the parent form that opens this custom webpage as a modal dialog. This allows us to make use of the JS functions built into CRM to generate an authentication header using <span style="color:#0000ff;">opener.GenerateAuthenticationHeader()</span>, as well as being able to access the parent DOM to grab elements like the ID of the parent entity using<span style="color:#0000ff;"> crmForm.ObjectId</span>.</p>
<p><strong><span style="text-decoration:underline;">Adding a Toolbar Button in ISV Config</span></strong></p>
<p>Next we need to add a button into the toolbar of the entity you want it to show up in. First export a copy of the ISV Config file from CRM, and modify the XML.</p>
<pre class="brush: xml;">
  &lt;importexportxml generatedBy='OnPremise'&gt;
    &lt;entities&gt;&lt;/entities&gt;
    &lt;roles&gt;&lt;/roles&gt;
    &lt;workflows&gt;&lt;/workflows&gt;
    &lt;isvconfig&gt;
    &lt;configuration version=&quot;3.0.0000.0&quot;&gt;
      &lt;root /&gt;
      &lt;entities&gt;
        &lt;entity name=&quot;new_entity&quot;&gt;
          &lt;toolbar&gt;
            &lt;button Icon=&quot;/_imgs/ico/16_convert.gif&quot; ValidForCreate=&quot;0&quot; ValidForUpdate=&quot;1&quot;
               JavaScript=&quot;
                if (crmForm.IsDirty) {
                  alert('Changes have been made to this record. Please save first.');
                }
                else {
                 var centerWidth = (window.screen.width - 300) / 2;
                 var centerHeight = (window.screen.height - 300) / 2;

                 var sFeatures = 'dialogHeight:300px;dialogWidth:300px;dialogTop:' + centerHeight
                                        + 'px;dialogLeft:' + centerWidth + 'px;';
                 var returnvalue = window.showModalDialog('/ISV/Convert.aspx', self, sFeatures);
                 if (returnvalue)
                 {
                  window.opener.location.reload(); // refresh dashboard
                  // refresh the current url.
                  var currentUrl = window.location.href;
                  if (currentUrl.indexOf('#') &gt; -1) {
                    currentUrl = currentUrl.replace('#', '');
                  }
                  else {
                    currentUrl += '#';
                  }
                    window.location.href = currentUrl;
                  }
                }
              &quot;&gt;
              &lt;titles&gt;
                &lt;title LCID=&quot;1033&quot; Text=&quot;Convert&quot; /&gt;
              &lt;/titles&gt;
              &lt;tooltips&gt;
                &lt;tooltip LCID=&quot;1033&quot; Text=&quot;Convert&quot; /&gt;
              &lt;/tooltips&gt;
            &lt;/button&gt;
          &lt;/toolbar&gt;
        &lt;/entity&gt;
      &lt;/entities&gt;
      &lt;/configuration&gt;
    &lt;/isvconfig&gt;
    &lt;languages&gt;
      &lt;language&gt;1033&lt;/language&gt;
    &lt;/languages&gt;
  &lt;/importexportxml&gt;
</pre>
<p>I placed my custom webpage in the ISV folder of the CRMWeb folder. Using <span style="color:#0000ff;">window.showModalDialog</span>, we can get a <span style="color:#0000ff;">returnvalue </span>from the dialog window. Therefore in your custom webpage, you will need to set <span style="color:#0000ff;">window.returnvalue = true</span> when your page successfully does the conversion; if value is false, just do nothing and close the modal form using<span style="color:#0000ff;"> window.close()</span>. In order to refresh the CRM Form after the record has been deactivated, we retrieve the URL using <span style="color:#0000ff;">window.location.href</span> and perform some manipulation. If you hit Ctrl+N on the open CRM Form, you will see something like this.</p>
<p><a href="http://codeblitz.files.wordpress.com/2009/08/convertpopupurl.png" target="_blank"><img class="alignnone size-medium wp-image-914" title="ConvertPopupUrl" src="http://codeblitz.files.wordpress.com/2009/08/convertpopupurl.png?w=300&#038;h=164" alt="ConvertPopupUrl" width="300" height="164" /></a></p>
<p>If you look at the address bar, you will notice that there&#8217;s a <span style="color:#0000ff;"><strong>#</strong></span> appended at the end of the url. Therefore, in order to refresh the page, we need to remove the<span style="color:#0000ff;"> <strong>#</strong></span> and set the <span style="color:#0000ff;">window.location.href</span> to the modified URL. In case you&#8217;re wondering, I&#8217;ve tried using<span style="color:#0000ff;"> window.location.reload()</span> but I get unexpected behaviors. I suspect reloading the page with reload() initiates a HTTP POST, which is not desirable. Once you&#8217;re done, upload the modifed XML back into CRM.</p>
<p><strong><span style="text-decoration:underline;">Onload JScript to hide the Button</span></strong></p>
<p>In the ISV Config, there&#8217;s a <span style="color:#0000ff;">ValidForCreate </span>and <span style="color:#0000ff;">ValidForUpdate </span>to indicate when the button will appear, but there isn&#8217;t one to hide for Inactive record. Annoying! Anyways, we will have to use a JScript to handle that. Credit goes to my colleague (thanks Karl) who provided me with the JScript, here&#8217;s the logic for the OnLoad function.</p>
<pre class="brush: jscript;">
  var Spacer = {Right : 1, Left : 2, Both : 3, None : 4}
  var Display = {Show : &quot;inline&quot;, Hide : &quot;none&quot;}
  if (crmForm.FormType == DISABLED_FORM_MODE)
  {
    //Configure Display when the form loads.
    ConfigureToolbarDisplay();

    //Configure the display each time a user manually changes the window width size.
    attachEvent(&quot;onresize&quot;,ConfigureToolbarDisplay);
  }

  function ConfigureToolbarDisplay()
  {
    // use button title as input
    ShowHideToolbarButton(&quot;Convert&quot; , Spacer.Left, Display.Hide);
  }  

  function ShowHideToolbarButton(btnTitle , spacer , state)
  {
    if(isNullOrEmpty(document.all.mnuBar1))
        return;
    if(isNullOrEmpty(btnTitle))
        return;
    if(isNullOrEmpty(spacer))
        spacer = ToolbarSpacer.None;
    if(isNullOrEmpty(state))
        state = ButtonDisplay.Hide;

    //Get all toolbar buttons
    var toolBarButtons = document.all.mnuBar1.rows[0].cells[0].childNodes[0].childNodes;

    //Loop through each button
    for (var i = 0 ; i &amp;#60; toolBarButtons.length ; i++)
    {
        var button = toolBarButtons[i];
        if(button.title.match(btnTitle) != null)
        {
            button.style.display = state;
            switch(spacer)
            {
                case Spacer.Right:
                    ShowHideSpacer(button.nextSibling);
                    break;
                case Spacer.Left:
                    ShowHideSpacer(button.previousSibling);
                    break;
                case Spacer.Both:
                    ShowHideSpacer(button.nextSibling);
                    ShowHideSpacer(button.previousSibling);
                    break;
            }
            return;
        }
    }

    function ShowHideSpacer(btnSpacer)
    {
        if(!isNullOrEmpty(btnSpacer))
        {
            btnSpacer.style.display = state;
        }
    }

    function isNullOrEmpty(obj)
    {
        return obj == null || typeof(obj) == &quot;undefined&quot; || obj == &quot;&quot;;
    }
  }
</pre>
<p>So that&#8217;s about it, quite a lot of work to implement a rather straightforward feature. I reckon most of the work is in the custom webpage with JScript you need to write and styling the page. It&#8217;s a pity I could not attach any screenshots of the work I did as it&#8217;s part of my current project and it would be inappropriate to do so. In this post, I have only covered the most important aspects of implementing such a feature , so if you have any queries, leave a comment and I will be happy to help.</p>
<p><a href="http://cid-2c6600f1c1d5e3be.skydrive.live.com/self.aspx/.Public/CRM%20VS%20WebPage%20Template%20%7C5C%7C3%7C6.zip" target="_blank">Download VS2008 C# CRM WebPage Template here</a>.</p>
<table border="0" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="sbmText">Share this post:</td>
<td><a title="Post it to del.icio.us" href="http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;;title=How to implement Convert Lead feature in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0" alt="" /></a></td>
<td><a title="Post it to digg" href="http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;title=How to implement Convert Lead feature in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0" alt="" /></a></td>
<td><a title="Post it to dotnetkicks" href="http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;title=How to implement Convert Lead feature in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0" alt="" /></a></td>
<td><a title="Post it to live" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;mkt=en-us&amp;url=http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4- 0/&amp;title=How to implement Convert Lead feature in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0" alt="" /></a></td>
<td><a title="Post it to reddit!" href="http://reddit.com/submit?url=http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;title=How to implement Convert Lead feature  in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0" alt="" /></a></td>
<td><a title="Post it to technorati!" href="http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/&amp;title=How to implement Convert Lead feature in CRM 4.0" target="_blank"><img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0" alt="" /></a></td>
</tr>
</tbody>
</table>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/910/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/910/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/910/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=910&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/19/how-to-implement-convert-lead-feature-in-crm-4-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/08/convertpopup.png?w=296" medium="image">
			<media:title type="html">ConvertPopup</media:title>
		</media:content>

		<media:content url="http://codeblitz.files.wordpress.com/2009/08/convertpopupurl.png?w=300" medium="image">
			<media:title type="html">ConvertPopupUrl</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" medium="image" />

		<media:content url="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" medium="image" />
	</item>
		<item>
		<title>Article: Great jQuery tutorials</title>
		<link>http://codeblitz.wordpress.com/2009/08/13/article-great-jquery-tutorials/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/13/article-great-jquery-tutorials/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 12:07:39 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=908</guid>
		<description><![CDATA[Some of the best JQuery tutorials I&#8217;ve seen so far. Enuff said.
Read about Best jQuery Tutorials for June 2009. Enjoy.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=908&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Some of the best JQuery tutorials I&#8217;ve seen so far. Enuff said.</p>
<p>Read about <a href="http://www.ajaxline.com/best-jquery-tutorials-for-june-2009" target="_self">Best jQuery Tutorials for June 2009</a>. Enjoy.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/908/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/908/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/908/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=908&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/13/article-great-jquery-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
		<item>
		<title>Article: Kerberos explained</title>
		<link>http://codeblitz.wordpress.com/2009/08/13/article-kerberos-explained/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/13/article-kerberos-explained/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 12:00:09 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=905</guid>
		<description><![CDATA[If you develop on the Microsoft Platform, no doubt you would have encountered challenges with authentication using Kerberos. Colleague of mine recommended a great article of how Kerberos authentication works step by step, with scenarios of delegation from multiple servers. Also explains how to configure Kerberos for Sharepoint.
Read article here.
      [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=905&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you develop on the Microsoft Platform, no doubt you would have encountered challenges with authentication using Kerberos. Colleague of mine recommended a great article of how Kerberos authentication works step by step, with scenarios of delegation from multiple servers. Also explains how to configure Kerberos for Sharepoint.</p>
<p><a href="http://blog.networkfoo.org/?p=157" target="_blank">Read article here</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/905/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=905&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/13/article-kerberos-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
		<item>
		<title>Seth Godin&#8217;s awesome presentation on software and marketing</title>
		<link>http://codeblitz.wordpress.com/2009/08/12/seth-godins-awesome-presentation-on-software-and-marketing/</link>
		<comments>http://codeblitz.wordpress.com/2009/08/12/seth-godins-awesome-presentation-on-software-and-marketing/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 11:57:42 +0000</pubDate>
		<dc:creator>Ed Foh</dc:creator>
				<category><![CDATA[Ramblings]]></category>

		<guid isPermaLink="false">http://codeblitz.wordpress.com/?p=902</guid>
		<description><![CDATA[Few days agoo, I watched Seth Godin&#8217;s talk at the Business of Software conference and he&#8217;s truly a thought-leader in our field, and a very entertaining and inspiring speaker. It&#8217;s about an hour and I promise you that you will be totally drawn and captivated by this.
In this conference, he talks about &#8220;Why marketing is too important [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=902&subd=codeblitz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Few days agoo, I watched <a href="http://sethgodin.typepad.com/" target="_blank">Seth Godin</a>&#8217;s talk at the Business of Software conference and he&#8217;s truly a thought-leader in our field, and a very entertaining and inspiring speaker. It&#8217;s about an hour and I promise you that you will be totally drawn and captivated by this.</p>
<p>In this conference, he talks about <a href="http://blog.businessofsoftware.org/2009/07/seth-godins-talk-from-business-of-software-2008.html" target="_blank">&#8220;Why marketing is too important to be left to the marketing department</a>&#8220;. Enjoy.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codeblitz.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codeblitz.wordpress.com/902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/codeblitz.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/codeblitz.wordpress.com/902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/codeblitz.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/codeblitz.wordpress.com/902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/codeblitz.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/codeblitz.wordpress.com/902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/codeblitz.wordpress.com/902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/codeblitz.wordpress.com/902/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codeblitz.wordpress.com&blog=6548671&post=902&subd=codeblitz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://codeblitz.wordpress.com/2009/08/12/seth-godins-awesome-presentation-on-software-and-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6486250b0010685d736605a60d466996?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ed Foh</media:title>
		</media:content>
	</item>
	</channel>
</rss>