<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msdnsrilanka.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Prabath&amp;#39;s Blog</title><subtitle type="html">This is where Prabath Fonseka blogs about technology.</subtitle><id>http://msdnsrilanka.net/blogs/prabath/atom.aspx</id><link rel="alternate" type="text/html" href="http://msdnsrilanka.net/blogs/prabath/default.aspx" /><link rel="self" type="application/atom+xml" href="http://msdnsrilanka.net/blogs/prabath/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2009-08-14T12:58:00Z</updated><entry><title>Visual Studio 2010 Beta 2</title><link rel="alternate" type="text/html" href="/blogs/prabath/archive/2009/10/20/visual-studio-2010-beta-2.aspx" /><id>/blogs/prabath/archive/2009/10/20/visual-studio-2010-beta-2.aspx</id><published>2009-10-19T17:05:00Z</published><updated>2009-10-19T17:05:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/VS_5F00_v_5F00_rgb_5F00_2.png"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/VS_5F00_v_5F00_rgb_5F00_2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Of course, this is a happening week for all Microsoft .Net lovers. Today Visual Studio 2010 Beta 2 is available for &lt;a target="_blank" title="MSDN subscribers" href="http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx?pv=18:370"&gt;MSDN subscribers&lt;/a&gt; and as Microsoft says it&amp;rsquo;ll be available for everyone on Wednesday. Visual Studio and MSDN with very unique and beautiful logos. Not to forget the awesome splash screen of Visual Studio.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/WindowClipping_5F00_3.png"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/WindowClipping_5F00_3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more check out &lt;a target="_blank" title="Scott Hanselman&amp;#39;s Blog" href="http://www.hanselman.com/blog/VisualStudio2010Beta2.aspx"&gt;Scott Hanselman&amp;rsquo;s blog&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SplashScreen_5F00_3.png"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SplashScreen_5F00_3.png" border="0" alt="" /&gt;&lt;br /&gt;&lt;/a&gt;Happy Programming.. :)&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SplashScreen_5F00_3.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnsrilanka.net/aggbug.aspx?PostID=59" width="1" height="1"&gt;</content><author><name>prabath</name><uri>http://msdnsrilanka.net/members/prabath/default.aspx</uri></author><category term="Visual Studio 2010" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/Visual+Studio+2010/default.aspx" /><category term="Microsoft" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/Microsoft/default.aspx" /><category term=".Net Framework" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/.Net+Framework/default.aspx" /></entry><entry><title>Static Analysis with NDepend - Dependency Graph</title><link rel="alternate" type="text/html" href="/blogs/prabath/archive/2009/10/14/static-analysis-with-ndepend-dependency-graph.aspx" /><id>/blogs/prabath/archive/2009/10/14/static-analysis-with-ndepend-dependency-graph.aspx</id><published>2009-10-14T10:04:00Z</published><updated>2009-10-14T10:04:00Z</updated><content type="html">&lt;p&gt;Last week I was so lucky to get my hands on one of the most awesome software tools I&amp;rsquo;ve ever worked with. Even though I have worked with some static analysis tool, there were so many times I imagined if I could get some assembly or project analyzed and get it in to a visual diagram, where I could see the dependencies of each class, assembly and namespace. Thanks to &lt;a target="_blank" title="Patrick Smacchia&amp;#39;s Blog" href="http://codebetter.com/blogs/patricksmacchia/"&gt;Patrick Smacchia&lt;/a&gt; a C# MVP, finally my dream came true with the tool &lt;a target="_blank" title="NDepend" href="http://www.ndepend.com"&gt;NDepend&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&amp;ldquo;Static analysis, also called static code analysis, is a method of computer program debugging that is done by examining the code without executing the program. The process provides an understanding of the code structure, and can help to ensure that the code adheres to industry standards. The principal advantage of static analysis is the fact that it can reveal errors that do not manifest themselves until a disaster occurs weeks, months or years after release.&amp;rdquo;&lt;br /&gt;&lt;br /&gt;NDepend is a static analyzer. This is how the tool is introduced in the official site www.ndepend.com. NDepend is a tool that simplifies managing a complex .NET code base. Architects and developers can analyze code structure, specify design rules, plan massive refactoring, do effective code reviews and master evolution by comparing different versions of the code. The result is better communication, improved quality, easier maintenance and faster development.&lt;br /&gt;&lt;br /&gt;Do I need say more&amp;hellip; Let&amp;rsquo;s get in to action&amp;hellip;&lt;br /&gt;&lt;br /&gt;How easy it is to understand the underlying architecture of a particular assembly or a project specially which is compiled or deployed. Actually past few days I was bit busy working and writing about SharePoint Object Model. So I&amp;rsquo;ll take the assembly Microsoft.SharePoint.dll for the analysis process.&lt;br /&gt;&lt;br /&gt;Opening the VisualNDepend.exe will open the Start Page of NDepend where you get easy access to recent projects (with new projects), Getting Started Guide and Visual Studio and Reflector Add-Ins as shown below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SharePoint-0.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SharePoint-0.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Click File &amp;gt; Select .Net assemblies to Analyze will open a window where you can browse any assembly you need or it&amp;rsquo;s just a matter of very common drag and drop method from windows explorer.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-1.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As I mentioned earlier I&amp;rsquo;ll browse and select the assembly Microsoft.SharePoint.dll for the analysis process. Magic begins&amp;hellip; Give few seconds/minutes and given below is what you will see. Just to my idea this product is super fast as for the information it analyzes. Specially the multi threading :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-Main.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-Main.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Basically I&amp;#39;m trying to get the transitive closure of WorkflowRuntime. Transitive closure is a powerful mean to deconstruct software because it shows how the code is really layered.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-2.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-2.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;Okay.. the result shown below.&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-2.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-4.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-4.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;I could have chosen the transitive closure made of methods, types or assemblies too. You can see a Query suggested by NDepend (more like a T-SQL Query) which is a Code Query Language (CQL) Query.&lt;br /&gt;Let&amp;#39;s see these namespaces mapped to a graph.&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-4.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-5.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Below given is the result... which is the 1st reason that made me fall in love with this awesome product.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-6.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s say I wanna see the assemblies which are using the System.Workflow.Runtime on a graph. It has never been easier than this. Select the assembly name, right click and select &amp;quot;Who is using me on graph&amp;quot; as in the below screen.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-7.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/NDepend-8.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;This is only a single feature of NDepend which is the Dependency Graph. Next.. tune-in for the Dependency Matrix. If you want to see the &lt;a target="_blank" title="NDepend Features" href="http://www.ndepend.com/Features.aspx"&gt;features&lt;/a&gt; on one go, &lt;a target="_blank" title="NDepend Features" href="http://www.ndepend.com/Features.aspx"&gt;here&lt;/a&gt; it is.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnsrilanka.net/aggbug.aspx?PostID=58" width="1" height="1"&gt;</content><author><name>prabath</name><uri>http://msdnsrilanka.net/members/prabath/default.aspx</uri></author><category term="NDepend" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/NDepend/default.aspx" /><category term="Static Analysis" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/Static+Analysis/default.aspx" /></entry><entry><title>Patterns &amp; Practices - Developing SharePoint Applications</title><link rel="alternate" type="text/html" href="/blogs/prabath/archive/2009/09/09/patterns-amp-practices-developing-sharepoint-applications.aspx" /><id>/blogs/prabath/archive/2009/09/09/patterns-amp-practices-developing-sharepoint-applications.aspx</id><published>2009-09-09T07:08:00Z</published><updated>2009-09-09T07:08:00Z</updated><content type="html">&lt;p&gt;Microsoft Patterns &amp;amp; Practices group released the updated version of the &amp;ldquo;Developing SharePoint Applications&amp;rdquo; basically the final release with tons of articles, code samples and videos helping people to develop LOB applications in/on SharePoint.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/dd203468.aspx"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/PandP-SharePoint.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/dd203468.aspx"&gt;Visit HERE.&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnsrilanka.net/aggbug.aspx?PostID=57" width="1" height="1"&gt;</content><author><name>prabath</name><uri>http://msdnsrilanka.net/members/prabath/default.aspx</uri></author><category term="SharePoint" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/SharePoint/default.aspx" /><category term="Patterns and Practices" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/Patterns+and+Practices/default.aspx" /></entry><entry><title>SharePoint Workspace 2010</title><link rel="alternate" type="text/html" href="/blogs/prabath/archive/2009/08/14/sharepoint-workspace-2010.aspx" /><id>/blogs/prabath/archive/2009/08/14/sharepoint-workspace-2010.aspx</id><published>2009-08-14T04:58:00Z</published><updated>2009-08-14T04:58:00Z</updated><content type="html">&lt;p&gt;I&amp;rsquo;ve used to blog at &lt;a target="_blank" title="Prabath&amp;#39;s Blog" href="http://prabathf.blogspot.com/"&gt;BlogSpot&lt;/a&gt; for quite some time. Thanks to &lt;a target="_blank" title="Wela&amp;#39;s Blog" href="http://www.welasharp.net/"&gt;Wela&lt;/a&gt;, I got an opportunity to manage my new tech blog here at msdnsrilanka.net. Just to brief on this blog, I&amp;rsquo;ll post only the technical blog posts related to Design Patterns, Patterns &amp;amp; Practices, SharePoint, Workflow, C#, etc&amp;hellip; So people who are interested, keep tuned in&amp;hellip; :) &lt;br /&gt;&lt;br /&gt;I wanted to start a blog series about the next version of SharePoint, SharePoint 2010. But with the superb new features of this awesome product, I was quite lost where to start from. So I thought of starting with the new features and the major changes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SharePoint Workspace 2010&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;SharePoint Workspace 2010 is the offline, desktop client for SharePoint enabling people to collaborate and contribute to SharePoint sites even with they&amp;#39;re not connected. Actually it&amp;rsquo;s the next version of Microsoft Groove.&lt;br /&gt;&lt;a href="http://msdnsrilanka.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SharePoint-2010-Workspace.jpg"&gt;&lt;img src="http://msdnsrilanka.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/prabath/SharePoint-2010-Workspace.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;As Microsoft claims, Groove to SharePoint is like Outlook to Exchange. So basically it&amp;rsquo;s an offline client. Users will be able to work offline with the SharePoint contents and when online SharePoint Workspace will reflect any changes made within the client immediately in the SharePoint site. If SharePoint Workspace detects the user is offline and thus disconnected from the SharePoint site, it will cache any changes and automatically synchronize the changes once the user is online and can connect to the SharePoint site again. Even though it&amp;rsquo;s the next version of Groove, it&amp;rsquo;s not the same product with a new name.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnsrilanka.net/aggbug.aspx?PostID=56" width="1" height="1"&gt;</content><author><name>prabath</name><uri>http://msdnsrilanka.net/members/prabath/default.aspx</uri></author><category term="SharePoint 2010" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/SharePoint+2010/default.aspx" /><category term="SharePoint" scheme="http://msdnsrilanka.net/blogs/prabath/archive/tags/SharePoint/default.aspx" /></entry></feed>
