<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dnfug.com/Web/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Manjula&amp;#39;s Blog</title><subtitle type="html">.Net 101 a developer&amp;#39;s experience</subtitle><id>http://dnfug.com/Web/blogs/mperera/atom.aspx</id><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/default.aspx" /><link rel="self" type="application/atom+xml" href="http://dnfug.com/Web/blogs/mperera/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20611.960">Community Server</generator><updated>2007-12-26T02:27:00Z</updated><entry><title>Super-Speed Internet Satellite Is In Space!!!</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/02/23/super-speed-internet-satellite-in-space.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/02/23/super-speed-internet-satellite-in-space.aspx</id><published>2008-02-24T04:29:00Z</published><updated>2008-02-24T04:29:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;img title="Rocket Launch" style="WIDTH:118px;HEIGHT:154px;" height="350" alt="Rocket Launch" src="http://dnfug.com/Web/blogs/mperera/japan_rocket.jpg" width="203" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;1.2 GB per second speed in internet browsing for a low cost??? &lt;img src="http://dnfug.com/Web/emoticons/emotion-3.gif" alt="Surprise" /&gt; Is it a dream? or Is it science fiction?&lt;/p&gt;
&lt;p&gt;The answer is no. Japan&amp;#39;s Aerospace Exploration Agency (JAXA) and Mitsubishi Heavy Industries has launched an experimental&amp;nbsp;super-speed satellite into orbit yesterday (0855 GMT) as per &lt;a class="" title="Super-speed Internet satellite launched" href="http://edition.cnn.com/2008/TECH/02/23/japan.satellite/index.html" target="_blank"&gt;CNN&lt;/a&gt;&amp;nbsp;and &lt;a class="" title="Japan blasts satellite into space " href="http://news.bbc.co.uk/2/hi/asia-pacific/7260673.stm" target="_blank"&gt;BBC&lt;/a&gt;. This would be a mile stone in super-speed data communication over the internet. And it would enable Hi-definition TV broadcasts. &lt;/p&gt;
&lt;p&gt;This is still in experimental stage and only available in Japan and 19 other loations in&amp;nbsp;south east asia as per JAXA.&lt;/p&gt;
&lt;p&gt;This is grea news for the IT industry as a whole. &lt;img src="http://dnfug.com/Web/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Japan blasts satellite into space " href="http://news.bbc.co.uk/2/hi/asia-pacific/7260673.stm" target="_blank"&gt;BBC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Super-speed Internet satellite launched" href="http://edition.cnn.com/2008/TECH/02/23/japan.satellite/index.html" target="_blank"&gt;CNN&lt;/a&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=184" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Other" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Other/default.aspx" /></entry><entry><title>Microsoft SkyDrive - Your Online Hard Drive Is Here!!!</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/02/17/skydrive-your-online-hard-drive-is-here.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/02/17/skydrive-your-online-hard-drive-is-here.aspx</id><published>2008-02-17T18:07:00Z</published><updated>2008-02-17T18:07:00Z</updated><content type="html">&lt;p&gt;&lt;a class="" href="http://skydrive.live.com/"&gt;&lt;img title="SkyDrive" style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;WIDTH:320px;BORDER-BOTTOM:medium none;HEIGHT:40px;" height="40" alt="SkyDrive" src="http://dnfug.com/Web/blogs/mperera/skydrive.png" width="320" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Get ready to say good bye to your pen drives, portable hard drives or any other portable mass storage devices. Why? Because Microsoft has launched yet another innovative solution for document management.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I recently came accross with this fantastic&amp;nbsp;online password protected file storage system by Microsoft and thought of sharing the information with you, the readers of this blog. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Advantages of SkyDrive&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Is as mentioned before, an online file storage with password protection&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could access from anywhere in the world where there is a stable internet connection and could modify and share documents without carrying them along wherever we go&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could restrict the file share to the specific people we choose or make them public so the entire world could see them but can&amp;#39;t edit them&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could assign access permission to each folder we create&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Has 1GB of free online storage&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Works with any latest web browser&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;All file transfers in shared environment is done through SSL (Secured Socket Layer) so the file are secure.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Want to know more?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Visit SkyDrive &lt;a class="" title="SkyDrive Home" href="http://skydrive.live.com/" target="_blank"&gt;home&lt;/a&gt; page for more information.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="SkyDrive Home" href="http://skydrive.live.com/" target="_blank"&gt;Microsoft SkyDrive Home&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=181" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Other" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Other/default.aspx" /></entry><entry><title>Microsoft Web Deployment Tool Is Here!</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/02/03/microsoft-web-deployment-tool.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/02/03/microsoft-web-deployment-tool.aspx</id><published>2008-02-03T06:59:00Z</published><updated>2008-02-03T06:59:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Good News for ASP.Net Developers&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is yet another exiting development by Microsoft. I just came across with&amp;nbsp;an article about this tool in the &lt;a class="" title="IIS website" href="http://www.iis.net/" target="_blank"&gt;IIS main web site&lt;/a&gt;&amp;nbsp;and thought of sharing the information with the readers of this blog.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Last week Microsoft has&amp;nbsp;launched&amp;nbsp;the Microsoft Web Deployment Tool as&amp;nbsp;a Community Technical Preview (CTP), which provides deployment and migration support for IIS versions 6.0 and 7.0. This tool incorporates many features that enable web server administrators to deploy, sync and migrate websites, including configuration, content, SSL certificates and other types of data associated with a Web server.&lt;/p&gt;
&lt;p&gt;This tool can be used on Windows Server 2008 and Internet Information Services 7.0 as well as Windows Server 2003 and Internet Information Services 6.0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Provides administrators with a way to quickly synchronize a site or server and deploy changes to existing sites and servers&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Provides administrators with a way to migrate sites or entire servers from IIS 6.0 to IIS 7.0, including their settings and content&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Allows administrators to check what components are installed on the source server. I.e. to check what components to be installed or requirement to have an advanced installation in IIS 7.0&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Troubleshooting and Validation Features&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For support in this tool please refer to the &lt;a class="" title="Support Forum" href="http://forums.iis.net/1144.aspx" target="_blank"&gt;support forum&lt;/a&gt;, or download the documentation &lt;a class="" title="Download" href="http://go.microsoft.com/?linkid=8100895" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following prerequisites must be fulfilled in order to install the tool:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You must be using Windows Server 2003 or Windows Server 2008. 
&lt;li&gt;The .NET 2.0 Framework SP1 or greater must be installed. 
&lt;li&gt;Internet Information Services 6.0 or 7.0 must be installed in order to perform operations on IIS. 
&lt;li&gt;You must install the tool as an administrator. If User Access Control (UAC) is enabled, you must use the “Run as Administrator” option when installing. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can download the Microsoft Web Deployment Tool &lt;a class="" title="Download" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1602" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1602" target="_blank"&gt;IIS&lt;/a&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx" target="_blank"&gt;ScottGu&amp;#39;s Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=155" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="ASP.Net 2.0" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+2.0/default.aspx" /><category term="ASP.Net 3.5" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+3.5/default.aspx" /><category term="ASP.Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net/default.aspx" /><category term="IIS" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/IIS/default.aspx" /></entry><entry><title>Choose the right connection string for your data source!</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/20/choose-the-right-connection-string-for-your-database.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/20/choose-the-right-connection-string-for-your-database.aspx</id><published>2008-01-20T06:23:00Z</published><updated>2008-01-20T06:23:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Connection strings main website" style="WIDTH:207px;HEIGHT:87px;" height="87" alt="Connection strings main website" src="http://dnfug.com/Web/blogs/mperera/cslogomain.jpg" width="207" /&gt;&lt;/p&gt;
&lt;p&gt;Hi friends! I thought of sharing this URL with you all where I usually get information about connection strings. This has been a reference site for me on various connection strings for several years now.&amp;nbsp;It&amp;#39;s a great site where&amp;nbsp;it gives a collection of connection strings for&amp;nbsp;most of the&amp;nbsp;databases servers,&amp;nbsp;data files and other data sources in one place.&amp;nbsp;And it gives connection strings for different scenarios (ODBC, OLE DB etc)&amp;nbsp;for the same data source as well. &lt;/p&gt;
&lt;p&gt;Check it out. &lt;img src="http://dnfug.com/Web/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.connectionstrings.com/" target="_blank"&gt;http://www.connectionstrings.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=150" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="ASP.Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net/default.aspx" /><category term="Visual Studio" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>Volta - Get Electrocuted with Visual Studio 2008! </title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/volta-from-microsoft-live-labs.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/volta-from-microsoft-live-labs.aspx</id><published>2008-01-07T04:50:00Z</published><updated>2008-01-07T04:50:00Z</updated><content type="html">&lt;p&gt;&lt;img title="Logo" style="WIDTH:167px;HEIGHT:55px;" height="55" alt="Logo" src="http://dnfug.com/Web/blogs/mperera/volta.JPG" width="167" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;/p&gt;
&lt;p&gt;Microsoft dudes, slow down! We can&amp;#39;t keep up!!! &lt;img src="http://dnfug.com/Web/emoticons/emotion-8.gif" alt="Indifferent" /&gt; But I&amp;#39;m glad you&amp;#39;re trying to reduce the &amp;quot;New Stuff&amp;quot; we have to learn by&amp;nbsp;putting forward&amp;nbsp;this project &lt;img src="http://dnfug.com/Web/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hot news! This is not about &lt;a class="" href="http://en.wikipedia.org/wiki/Alessandro_Volta" target="_blank"&gt;Alessandro &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;&lt;/a&gt;. This is something Microsoft has released code named &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;.&amp;nbsp;On December 05th 2007 &lt;a class="" href="http://labs.live.com/" target="_blank"&gt;Microsoft Live Labs&lt;/a&gt; has announced about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;VOLTA&lt;/font&gt;. Yet again another new term for our geek vocabulary (but they might change it in future)!&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;, as the name&amp;nbsp;hints it&amp;#39;s nothing to do with electricity &lt;img src="http://dnfug.com/Web/emoticons/emotion-15.gif" alt="Geeked" /&gt; But I think they are trying to&amp;nbsp;equate it&amp;#39;s super fast development cycle&amp;nbsp;to an&amp;nbsp;electric current or trying to bridge the gap between distributed bits and pieces of a distributed web application&amp;nbsp;using a spark/ tool. &lt;/p&gt;
&lt;p&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;&amp;nbsp;is a new set of tools developed by Microsoft to develop distributed multi-tier web applications super fast or may I say, with a minimum learning curve using the existing set of .Net tools. I just came across with this information while surfing the internet and reading through blog entries by the peers in the .Net community. Then I started digging into more information. I would like to share what I&amp;#39;ve learnt with the users of the user group and the readers of this blog. I&amp;#39;ll start with an introduction&amp;nbsp;as usual.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Developed by &lt;a class="" href="http://blogs.msdn.com/alexbarn/archive/2006/08/17/704009.aspx" target="_blank"&gt;Erik Meijer&lt;/a&gt; (who has also worked in the LINQ project)&amp;nbsp;and a team of developers&amp;nbsp;@ Microsoft&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Used to democratize the internet cloud. What??? &lt;a class="" href="http://channel9.msdn.com/Showpost.aspx?postid=223865" target="_blank"&gt;Watch and learn&lt;/a&gt;!&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;As I said in the overview&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; is a new set of web development tools&amp;nbsp;developed by Microsoft to develop distributed &lt;em&gt;multi-tier web applications&lt;/em&gt; with a minimum learning curve using the existing set of .Net tools, techniques and design patterns without incorporating mixture of technologies, languages&amp;nbsp;and tools.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Tier (&lt;em&gt;execution context&lt;/em&gt;)&amp;nbsp;splitting (another new geek term!)&amp;nbsp;system where the details of the tiers aren&amp;#39;t of primary importance&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Much more than a web technology&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;This is yet a Community Technical Preview (CTP), it&amp;#39;ll take time to get adopted to the .Net web development community.&amp;nbsp;But &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; is going to be a revolution in .Net world and&amp;nbsp;the way we build web applications using .Net compatible languages like C# and VB.Net in future. Therefore it&amp;#39;s a must we keep track of the developments around &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; and have some hands on experience. We can download the&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; toolset by clicking on the link shown below&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Extension to Visual Studio 2008 and .Net framework 3.5&amp;nbsp;(and most probably for&amp;nbsp;all above versions to come)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We can postpone the multi tier architecture of the distributed web application till the last critical moment of the development process. I.e. first, we can design and build our application as a .NET client application (single-tier application), then assign the portions of the application to run on the server and the client tiers late in the development process (&lt;em&gt;Tier Splitting&lt;/em&gt;). I.e. letting the complier manage creating &lt;em&gt;&lt;a class="" href="http://en.wikipedia.org/wiki/Boilerplate_(text)" target="_blank"&gt;boilerplate code&lt;/a&gt;&lt;/em&gt; such as communication between tiers&amp;nbsp;&lt;img src="http://dnfug.com/Web/emoticons/emotion-3.gif" alt="Surprise" /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The compiler will create cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other &lt;em&gt;&lt;a class="" href="http://en.wikipedia.org/wiki/Boilerplate_(text)" target="_blank"&gt;boilerplate code&lt;/a&gt;&lt;/em&gt; (redundancy&amp;nbsp;of code) to tie the tiers together &lt;img src="http://dnfug.com/Web/emoticons/emotion-8.gif" alt="Indifferent" /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We can still debug and test the application, as if it were still on the client-tier, because &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;&amp;#39;s tier-splitting is deeply integrated with Visual Studio 2008 and the .NET Framework 3.5&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We can target either web browsers (be it IE or Firefox)&amp;nbsp;or the CLR as clients and &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; handles the complexities of tier-splitting. We don&amp;#39;t need to worry about that&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Comprises with tools such as end-to-end profiling to make architectural refactoring and optimization simple and quick&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We may base tier assignments on any criteria, such as load management, performance, or location of critical assets and capabilities. Because &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; automates the hidden linking code, it is easy for us to experiment with varying assignments of classes and methods to tiers&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We can use all the .NET languages, libraries, and tools we already know, including debuggers, profilers, test generators, refactoring, and code analysis tools to develop distributed web applications. &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; will handle the rest &lt;img src="http://dnfug.com/Web/emoticons/emotion-19.gif" alt="Party!!!" /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Learn more&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are lot of study material and sample code to start with at &lt;a class="" href="http://labs.live.com/volta/" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; home page&lt;/a&gt;. Go and grab them. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summery&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; extends the .NET platform to distributed software and services applications, by using existing and familiar libraries, languages, tools, and techniques without the need to learn new technologies, languages&amp;nbsp;and usage of tools to bridge the communication gap between distributed code/ Objects.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; now and get electrocuted!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title="Download Volta" style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" href="http://labs.live.com/volta/download/" target="_blank"&gt;&lt;img title="Download Volta" style="WIDTH:545px;HEIGHT:229px;" height="229" alt="Download Volta" src="http://dnfug.com/Web/blogs/mperera/volta-hero.jpg" width="545" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Coming Up!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An article about &lt;font style="BACKGROUND-COLOR:#ffcc00;"&gt;Tesla&lt;/font&gt; my hero! Get ready to be electrocuted again&amp;nbsp;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt;&lt;img src="http://dnfug.com/Web/emoticons/emotion-60.gif" alt="Lightning" /&gt; &lt;img src="http://dnfug.com/Web/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://labs.live.com/volta/" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; home page&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://channel9.msdn.com/showpost.aspx?postid=365220" target="_blank"&gt;View introductory video by the creators of &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; - Part 1&amp;nbsp;- Erik Meijer and team&lt;/a&gt;&amp;nbsp;@ Channel 9, MSDN&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=365221" target="_blank"&gt;View introductory video by the creators of &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt; - Part 2 - Erik Meijer and team&lt;/a&gt;&amp;nbsp;@ Channel 9, MSDN&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://research.microsoft.com/~emeijer/" target="_blank"&gt;Erik Meijer&amp;#39;s home page&lt;/a&gt; @ Microsoft&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://research.microsoft.com/~emeijer/Papers/DemocratizingTheCloudOOPSLA2007.pdf" target="_blank"&gt;Erik Meijer&amp;#39;s article about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;&lt;/a&gt;&amp;nbsp;- pdf document&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://qcon.infoq.com/london-2007/speakers/show_speaker.jsp?oid=116" target="_blank"&gt;About Erik Meijer - by QCon&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://blogs.msdn.com/alexbarn/archive/2006/08/17/704009.aspx" target="_blank"&gt;About Erik Meijer - by Alex Barnett&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.dotnetrocks.com/default.aspx?showNum=270" target="_blank"&gt;Erik Meijer talks about LINQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://blogs.zdnet.com/microsoft/?p=403" target="_blank"&gt;‘&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;Volta&lt;/font&gt;’: Microsoft’s dev platform in the Cloud? - by Mary Jo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=141" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Visual Studio" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Visual+Studio/default.aspx" /><category term="Volta" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Volta/default.aspx" /><category term=".Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/.Net/default.aspx" /></entry><entry><title>Beware with debug="true" in Web.config file of an ASP.Net web application</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/beware-with-debug-quot-true-quot-in-web-config-file-of-an-asp-net-web-application.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/beware-with-debug-quot-true-quot-in-web-config-file-of-an-asp-net-web-application.aspx</id><published>2008-01-06T08:26:00Z</published><updated>2008-01-06T08:26:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I thought of sharing this information with the users of the user group and the readers of this blog. I just came across with an odd situation in my enhancement project developed in ASP.Net 1.0. (As usual)&amp;nbsp;&lt;img src="http://dnfug.com/Web/emoticons/emotion-7.gif" alt="Tongue Tied" /&gt;&lt;/p&gt;
&lt;p&gt;The problem was that I compiled the project in the &amp;quot;Debug&amp;quot; mode and it went through rigorous testing and life was good. But,&amp;nbsp;later on I noticed that I compiled with &amp;quot;Debug&amp;quot; mode&amp;nbsp;and changed back to &amp;quot;Release&amp;quot; mode and re-compiled the application. This is because if we use &lt;font color="#ff0000"&gt;debug&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;true&amp;quot;&lt;/font&gt;&amp;nbsp;in our production (live) application it will perform less efficiently than when we use &lt;font color="#ff0000"&gt;debug&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;false&amp;quot;.&lt;/font&gt; See below comments of a sample Web.config file.&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000" size="2"&gt;httpModules&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;!&lt;/font&gt;&lt;font color="#008000" size="2"&gt;-- DYNAMIC DEBUG COMPILATION Set compilation debug=&amp;quot;true&amp;quot; to enable ASPX debugging. Otherwise, setting this value to false will improve runtime performance of this application. Set compilation debug=&amp;quot;true&amp;quot; to insert debugging symbols (.pdb information) into the compiled page. Because this creates a larer file that executes more slowly, you should set this value to true only when debugging and to false at all other times. For more information, refer to the documentation about debugging ASP.NET files. --&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;compilation&lt;/font&gt;&lt;font color="#ff00ff" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;defaultLanguage&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;c#&amp;quot; &lt;/font&gt;&lt;font color="#ff00ff" size="2"&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;debug&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;true&amp;quot; &lt;/font&gt;&lt;font color="#ff00ff" size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;If you need further clarifications on why there&amp;#39;s a performance issue please refer to the following article by experts in the industry&amp;nbsp;because this article is about a different scenario related to these settings.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.aspnetresources.com/articles/debug_code_in_production.aspx" target="_blank"&gt;Beware of deploying debug code in production - by Milan Negovan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/2006/04/11/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled.aspx" target="_blank"&gt;Don’t run production ASP.NET Applications with debug=”true” enabled - by Scott Guthrie&lt;/a&gt; @ Microsoft&lt;/p&gt;
&lt;p&gt;Ok back to the problem. Then after this change&amp;nbsp;one of the pages&amp;nbsp;that retreive data from two databases&amp;nbsp;start giving &amp;quot;Request Timed Out&amp;quot; error. This&amp;nbsp;page normally&amp;nbsp;takes more than two minutes to retrieve data. Again if I set &lt;font color="#ff0000"&gt;debug&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;true&amp;quot;&lt;/font&gt;&amp;nbsp;and re-compile this&amp;nbsp;&amp;nbsp;page wouldn&amp;#39;t give any errors. It&amp;#39;s wired. So I sort help from good old friend Google.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When I searched Google I found many people has faced the same issue way before than me (see references).&amp;nbsp;According to the replies in these forums I realised that we&amp;nbsp;just need to add the following tag within &lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;system.web&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt; &lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000" size="2"&gt;system.web&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt; &lt;/font&gt;&lt;/font&gt;tags. E.g&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;system.web&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000" size="2"&gt;httpRuntime&lt;/font&gt;&lt;font color="#ff00ff" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;executionTimeout&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;300&amp;quot;&lt;/font&gt;&lt;font color="#ff00ff" size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt; &lt;font color="#0000ff" size="2"&gt;&amp;lt;!&lt;/font&gt;&lt;font color="#008000" size="2"&gt;--&amp;nbsp;Newly added tag to the Web.config&amp;nbsp;--&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&amp;nbsp;............&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000" size="2"&gt;system.web&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://forums.devx.com/showthread.php?t=143576" target="_blank"&gt;DevX Discussions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.velocityreviews.com/forums/t123661-error-the-operation-has-timedout-executiontimeout.html" target="_blank"&gt;Velocity Reviews&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=139" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="ASP.Net 2.0" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+2.0/default.aspx" /><category term="ASP.Net 3.5" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+3.5/default.aspx" /><category term="ASP.Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net/default.aspx" /></entry><entry><title>Microsoft Launch Central</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/microsoft-launch-central.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/06/microsoft-launch-central.aspx</id><published>2008-01-06T05:53:00Z</published><updated>2008-01-06T05:53:00Z</updated><content type="html">&lt;p&gt;&lt;a class="" href="https://partner.microsoft.com/us/40033583?msp_id=launch" target="_blank"&gt;Microsoft Launch Central&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I just heard about this website where&amp;nbsp;we can keep up with the latest product&amp;nbsp;releases by Microsoft. &lt;/p&gt;
&lt;p&gt;Take a look at it &lt;img src="http://dnfug.com/Web/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=137" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Microsoft" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Microsoft/default.aspx" /></entry><entry><title>SubSonic - Part 1 - An Introduction</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/03/subsonic-part-1-an-introduction.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/03/subsonic-part-1-an-introduction.aspx</id><published>2008-01-03T06:27:00Z</published><updated>2008-01-03T06:27:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;img title="SubSonic logo" style="WIDTH:320px;HEIGHT:60px;" height="60" alt="SubSonic logo" src="http://dnfug.com/Web/blogs/mperera/subsonic_logo.png" width="320" /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is another interesting article about the new trends of the software industry. I would like to share the information I gathered while researching on this new toolset with the user group members and the readers of this blog.&amp;nbsp;I thought of writing about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; because it&amp;#39;s another way of accessing/ Querying the database (Actually, &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; is a third party&amp;nbsp;toolset to auto generate the Data Access Layer (DAL) of our application and maintain it when the database changes). This is just another handy tool for us as LINQ.&amp;nbsp;Therefore I&amp;#39;ll write about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; in parallel to the LINQ articles. We can compare LINQ and &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; later on. Since this is the first article about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; in this forum I&amp;#39;ll start with an introduction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt;, initially named as ActionPack is developed as an open source project by &lt;font color="#cc9900"&gt;&lt;a class="" title="@ Microsoft" href="http://blog.wekeroad.com/" target="_blank"&gt;Rob Conery&lt;/a&gt;&lt;/font&gt; before he joined Microsoft, but who is&amp;nbsp;currently&amp;nbsp;working for Microsoft in the ASP.Net team under &lt;a class="" title="@ Microsoft" href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;Scott Guthrie&lt;/a&gt;. The other team members of this project are &lt;a class="" title="His Blog" href="http://monk.thelonio.us/" target="_blank"&gt;Eric Kemp&lt;/a&gt;, Scott Watermasysk, &lt;a class="" href="http://weblogs.asp.net/jgalloway/default.aspx" target="_blank"&gt;Jon Galloway&lt;/a&gt;, &lt;a class="" title="@ Microsoft" href="http://www.haacked.com/" target="_blank"&gt;Phil Haack&lt;/a&gt;, and &lt;a class="" title="His Blog" href="http://weblogs.asp.net/gavinjoyce/default.aspx" target="_blank"&gt;Gavin Joyce&lt;/a&gt;. This project has got attention from Microsoft&amp;nbsp;even though it is still an open source project.&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; will be developed on top of ASP.Net and the new MVC framework that Microsoft has given more attention of. (This information is true at the time of writing this article and as per the &lt;a class="" href="http://subsonicproject.com/" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; Project&lt;/a&gt;&amp;nbsp;&amp;amp; &lt;a class="" href="http://blog.wekeroad.com/2007/10/26/microsoft-subsonic-and-me/" target="_blank"&gt;Rob Conery&amp;#39;s comments&lt;/a&gt;)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We can download the latest&amp;nbsp;source code &lt;a class="" title="SubSonic Source Code" href="http://subsonicproject.com/" target="_blank"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; is a toolset that helps a website build itself. It brings some of the fun and elegance of Ruby on Rails to ASP.NET&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;This implements &lt;a class="" href="http://en.wikipedia.org/wiki/Active_record_pattern" target="_blank"&gt;Active Record&lt;/a&gt; design pattern.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Helps us quickly build data driven websites without writing data manipulation code&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Has a DAL generator that enables us to rapidly create strongly typed collections and CRUD (Create, Read, Update and Delete) enabled objects, which represent the selected database tables&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Has an&amp;nbsp;&lt;a class="" href="http://en.wikipedia.org/wiki/Object-relational_mapping" target="_blank"&gt;object relational (OR)&amp;nbsp;mapper&lt;/a&gt; which extends to stored procedures and views&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could also automatically generate the UI for the data manipulation tasks&amp;nbsp;(scaffolding support). This is very handy when creating the admin panel of a data driven web applications. We don&amp;#39;t need to worry about creating it from scratch&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Has a dynamic query tool that let us use SQL Server, MySQL and Enterprise Library (Application Blocks) without having to know the underlying SQL syntax (Lets go into technical details in the next articles to follow)&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We&amp;nbsp;just need to give the reference to the &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; DLL and set &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; settings in the Web.config file to make use of the power of &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; (Lets go into technical details in the next articles to follow)&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Saves lot of development time and that is the main objective of creating &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt;. Will our bosses give more work for the time we save using SubSonic? &lt;img src="http://dnfug.com/Web/emoticons/emotion-15.gif" alt="Geeked" /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Summery&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt;&amp;nbsp;is an open source tool set to auto generate data manipulation code and interfaces. This works on top of ASP.Net and the MVC framework. This gives an extension and a cool new addition to the strength of .Net compliance languages and most importantly this SAVES lot of development time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule Of Thumb&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m pretty sure&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; will not replace classic SQL, T/SQL or PL/SQL but it will extend the&amp;nbsp;data manipulation&amp;nbsp;capability of the programmer. IT saves lot of time.&amp;nbsp;It&amp;#39;s a pretty cool tool to be in our tool box.&amp;nbsp;We as the programmers must decide when to use it and when not to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://subsonicproject.com/" target="_blank"&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;SubSonic&lt;/font&gt; Project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Previous project site" href="http://dnfug.com/Web/blogs/mperera/subsonic_logo.png" target="_blank"&gt;SubSonic at CodePlex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://blog.wekeroad.com/" target="_blank"&gt;Reb Conery&amp;#39;s weblog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://scribesonic.com/Blog/Category/SubSonic.aspx" target="_blank"&gt;ScribeSonic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://johnnycoder.com/blog/2006/11/05/subsonic-another-look-at-code-generation/" target="_blank"&gt;Jonny Coder&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=131" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="ASP.Net 2.0" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+2.0/default.aspx" /><category term="ASP.Net 3.5" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net+3.5/default.aspx" /><category term="C#" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/C_2300_/default.aspx" /><category term="ASP.Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net/default.aspx" /><category term="SubSonic" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/SubSonic/default.aspx" /></entry><entry><title>LINQ - Part 2 - FAQs &amp; Answers</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2008/01/02/linq-part-2-faq-amp-answers.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2008/01/02/linq-part-2-faq-amp-answers.aspx</id><published>2008-01-02T05:42:00Z</published><updated>2008-01-02T05:42:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I thought of listing down few Frequently Asked Questions about LINQ and their answers before proceeding to the technical details of it. This is mainly because I might have missed any&amp;nbsp;introductory information regarding LINQ.&amp;nbsp;Please refer to the below LINQ FAQ related web postings.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" title="LINQ FAQ at MSDN forum" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=307705&amp;amp;SiteID=1" target="_blank"&gt;LINQ FAQ by Keith Farmer&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://www.hookedonlinq.com/Default.aspx?Page=LINQToSQLFAQ&amp;amp;AspxAutoDetectCookieSupport=1" target="_blank"&gt;Hooked on LINQ&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;More Links to LINQ&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://blogs.msdn.com/charlie/archive/2006/10/05/Links-to-LINQ.aspx" target="_blank"&gt;Links to LINQ&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=130" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="C#" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/C_2300_/default.aspx" /><category term="LINQ" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/LINQ/default.aspx" /></entry><entry><title>Visual Studio 2003/2005 keyboard shortcuts</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2007/12/31/visual-studio-2003-2005-keyboard-shortcuts.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2007/12/31/visual-studio-2003-2005-keyboard-shortcuts.aspx</id><published>2007-12-31T12:11:00Z</published><updated>2007-12-31T12:11:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Tip&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I just found these interesting articles&amp;nbsp;and thought of sharing with the readers of this blog and the user group members. You could find most of the keyboard shortcuts of Visual Studio &lt;a class="" href="http://www.codinghorror.com/blog/archives/000315.html" target="_blank"&gt;here&lt;/a&gt;. And you could download a poster of your preffered language &lt;a class="" href="http://blogs.msdn.com/robcaron/archive/2007/01/29/1552795.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.codinghorror.com/blog/archives/000315.html" target="_blank"&gt;Coding Horror - by Jeff Atwood&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://blogs.msdn.com/robcaron/archive/2007/01/29/1552795.aspx" target="_blank"&gt;Rob Caron&amp;#39;s Blog&lt;/a&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=129" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Visual Studio" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>LINQ - Part 1 - the new querying enhancement to C# and VB.Net</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2007/12/30/linq-the-new-querying-enhancement-to-c-and-vb.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2007/12/30/linq-the-new-querying-enhancement-to-c-and-vb.aspx</id><published>2007-12-30T13:23:00Z</published><updated>2007-12-30T13:23:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I thought of&lt;strong&gt; &lt;/strong&gt;gathering some information about Microsoft&amp;#39;s latest querying technology and summerising that information&amp;nbsp;here so that readers of this Blog and the members of the &lt;a class="" title="Home" href="http://dnfug.com/Web/" target="_blank"&gt;.NetFoundry&lt;/a&gt; user group will benefit from it. There&amp;#39;s lot to talk about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;. Therefore I&amp;#39;ll split this article into several parts and publish separately.&amp;nbsp;Since this is the first article about &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; in the user group I&amp;#39;ll start with an introductory and would try to give a glimps in to &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;&lt;/strong&gt; - &lt;strong&gt;L&lt;/strong&gt;anguage &lt;strong&gt;IN&lt;/strong&gt;tegrated &lt;strong&gt;Q&lt;/strong&gt;uery&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Is an extension to .Net compliant languages like C#, VB.Net and others&amp;nbsp;for general purpose querying&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Object based, language integrated way to query over data no matter from where that data came from or generated&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Is a universal querying mechanism where we can query objects, collections, text files,&amp;nbsp;relational data and XML&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could retrieve data from any object that implements the &lt;a class="" href="http://www.winterdom.com/weblog/2006/10/13/RediscoveringIEnumerableltTgt.aspx" target="_blank"&gt;IEnumerable&amp;lt;T&amp;gt;&lt;/a&gt; interface&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Is an integral part of Visual Studio 2008 and could incorporate with Visual Studio 2005 as an additional &lt;a class="" title="CTP Download" href="http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&amp;amp;displaylang=en"&gt;CTP&amp;nbsp;download&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Used to overcome the impedance mismatch between programming languages and database&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; has been separated into three main&amp;nbsp;areas. They are,&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to Object&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to ADO.Net (LINQ enabled ADO.Net)&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to SQL - DLINQ&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to DataSet&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to Entities&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to XML - XLINQ&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;Highly extensible&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; Architecture&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The architecture of &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; is depicted below and it is self explanatory.&lt;/p&gt;
&lt;p&gt;&lt;img title="LINQ Architecture" style="WIDTH:558px;HEIGHT:492px;" height="492" alt="LINQ Architecture" src="http://dnfug.com/Web/blogs/mperera/Architecture.JPG" width="558" align="middle" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Advantages of using &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;There&amp;#39;s a common syntax for querying any data source mentioned above. This eliminates the one source - one query language concept. I.e. for example Relational Data -&amp;gt; SQL, XML Documents -&amp;gt; XPath and .Net objects -&amp;gt; .Net built in operators such as foreach.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Able to use &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; with .Net 1.x and .Net 2.0 objects&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Able to extend &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to support new classes and technologies&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Integrated to the .Net framework thereby accessible from any .Net compliant language (native code)&amp;nbsp;and make use of their stregths and compile time syntax&amp;nbsp;checking. E.g. it inherits the new C#&amp;nbsp;language features like,&lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Implicitly typed variables&amp;nbsp;e.g. &lt;em&gt;var&lt;/em&gt; keyword&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/2007/03/13/new-orcas-language-feature-extension-methods.aspx" target="_blank"&gt;Extension methods&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/2007/04/08/new-orcas-language-feature-lambda-expressions.aspx" target="_blank"&gt;Lambda expressions&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/2007/05/15/new-orcas-language-feature-anonymous-types.aspx" target="_blank"&gt;Anonymous types&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;a class="" href="http://msdn2.microsoft.com/en-us/library/bb397951.aspx" target="_blank"&gt;Expression Trees&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;Avoids dynamic creation of string queries within native code (e.g. C#)&amp;nbsp;and thereby avoiding the disadvantage of not having compile time checking of queries. I.e. eliminating mixture of native code and none native code. This also saves time on creating a dynamic query.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Intelli sense is available in Visual Studio&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Designer support&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Gives more power to the front-end programmer to&amp;nbsp;manipulate data&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Shorter learning curve&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Could access stored procedures and user defined functions in a relational database&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Mainly focus on or support SQL Server but not Oracle or other databases such as MySQL, DB2. Others have to provide their own provider model or extension.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Lack of &amp;quot;Left/ Right&amp;quot; keywords in a Join even though the objectives are met&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Data manipulation logic/code is written in the application rather than the DB end in &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; to SQL. &lt;/div&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;This would be a problem when we want to change the&amp;nbsp;logic without changing or re-compiling the application code&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Problem of viewing the execution plan and optimising the query&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;
&lt;div&gt;Database programmers would be jobless (Joke!) &lt;img src="http://dnfug.com/Web/emoticons/emotion-14.gif" alt="Devil" /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Summery&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; is a common method of accessing objects that implements IEnumerable &amp;lt;T&amp;gt; interface, relational data, text files and XML. This gives an extension and a cool new addition to the strength of .Net compliance languages even though there are several disadvantages of it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule Of Thumb&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m pretty sure &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; will not replace classic SQL, T/SQL or PL/SQL but it will extend the&amp;nbsp;data manipulation&amp;nbsp;capability of the programmer. Its a pretty cool tool to be in our tool box.&amp;nbsp;We as the programmers must decide when to use it and when not to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="101 LINQ Samples" href="http://msdn2.microsoft.com/en-us/vcsharp/aa336746.aspx" target="_blank"&gt;MSDN - 101 &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; Samples&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="The LINQ project" href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx" target="_blank"&gt;The &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://weblogs.asp.net/scottgu/archive/tags/LINQ/default.aspx" target="_blank"&gt;ScottGu&amp;#39;s Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://msdn.microsoft.com/msdnmag/issues/07/06/CSharp30/" target="_blank"&gt;The evolution of &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; and its impact on the design of C#&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.winterdom.com/weblog/2006/10/13/RediscoveringIEnumerableltTgt.aspx" target="_blank"&gt;Rediscovering IEnumerable&amp;lt;T&amp;gt; - by Tomas Restrepo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="What is LINQ" href="http://geekswithblogs.net/technetbytes/archive/2007/04/30/112129.aspx" target="_blank"&gt;What is &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;? by Saquib Ullah&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://linqinaction.net/" target="_blank"&gt;Dedicated website for&amp;nbsp;&lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Advantages and Disadvantages of LINQ" href="http://articles.techrepublic.com.com/5100-10878_11-5897968.html" target="_blank"&gt;Is &lt;font style="BACKGROUND-COLOR:#ffff00;"&gt;LINQ&lt;/font&gt; the future of database development? - by Arthur Fuller&lt;/a&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=127" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="C#" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/C_2300_/default.aspx" /><category term="LINQ" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/LINQ/default.aspx" /></entry><entry><title>Beware with Math.Round() in C#</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2007/12/26/issue-with-math-round-in-c.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2007/12/26/issue-with-math-round-in-c.aspx</id><published>2007-12-26T07:44:00Z</published><updated>2007-12-26T07:44:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Problem&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Recently I found an issue with the Math.Round() function in C# while working on an enhancement project written in Visual Studio 2003.&amp;nbsp;I.e. this function is using the Banker&amp;#39;s method.&amp;nbsp;The users of this system didn&amp;#39;t like the way figures are getting rounded&amp;nbsp;and they wanted the method used in Excel (Because they are used to Excel &lt;img src="http://dnfug.com/Web/emoticons/emotion-18.gif" alt="Huh?" /&gt;). I.e. Symmetric Arithmetic Rounding method. E.g&lt;/p&gt;
&lt;p&gt;Say we want to round 1234.50000 into the nearest integer value. Then Math.Round() returns 1234 whereas MS Excel gives 1235.&lt;/p&gt;
&lt;p&gt;I also found&amp;nbsp;a similar&amp;nbsp;issue in SQL Server 2000&amp;nbsp;some time back. It seems that Microsoft&amp;nbsp;uses contradictory methods of rounding in their products (Visual Studio, SQL Server, Visual Basic, Excel etc.)&amp;nbsp;&lt;img src="http://dnfug.com/Web/emoticons/emotion-7.gif" alt="Tongue Tied" /&gt;&lt;/p&gt;
&lt;p&gt;Most of us learnt this banker&amp;#39;s&amp;nbsp;method while schooling. But it seems that there are many other ways of rounding. Click &lt;a class="" title="Rounding methods used in Microsoft products" href="http://support.microsoft.com/kb/196652" target="_blank"&gt;here&lt;/a&gt; to view all methods of rounding and how you can implement custom rounding procedures.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0099cc"&gt;Visual Studio 2003&lt;/font&gt;&lt;/em&gt; - If we want to use Symmetric Arithmetic Rounding method we have to write our own function instead of using Math.Round(). See below for a working function found in &lt;a class="" title="Custom rounding algorithm" href="http://www.codersource.net/csharp_math_round.aspx" target="_blank"&gt;CoderSource.Net&lt;/a&gt;.&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;blockquote&gt;
&lt;p&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;double&lt;/font&gt;&lt;font size="2"&gt; roundNum(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;double&lt;/font&gt;&lt;font size="2"&gt; num, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;font size="2"&gt; place)&lt;br /&gt;{ &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;blockquote&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;double&lt;/font&gt;&lt;font size="2"&gt; n; &lt;br /&gt;n = num * Math.Pow(10, place); &lt;br /&gt;n = Math.Sign(n) * Math.Abs(Math.Floor(n + .5)); &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; n / Math.Pow(10, place); &lt;/font&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="2"&gt;} &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;em&gt;&lt;font color="#0099cc"&gt;Visual Studio 2005&lt;/font&gt;&lt;/em&gt; - This problem is sorted in this version of Visual Studio.&amp;nbsp;We can now select the rounding method in;&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;System.&lt;/font&gt;&lt;font color="#008080" size="2"&gt;Math&lt;/font&gt;&lt;font size="2"&gt;.Round&lt;/p&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;/font&gt;
&lt;p&gt;&lt;strong&gt;Rule Of Thumb&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Always&lt;/u&gt; ask from the users which method of rounding they want during the system requirements gathering stage. This will avoid&amp;nbsp;us being using the default method of rounding in our chosen development language. In this case C#.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Methods of Rounding" href="http://en.wikipedia.org/wiki/Rounding" target="_blank"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="How To Implement Custom Rounding Procedures" href="http://support.microsoft.com/kb/196652" target="_blank"&gt;Microsoft Help and Support&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Custom rounding algorithm" href="http://www.codersource.net/csharp_math_round.aspx" target="_blank"&gt;CoderSource.Net&lt;/a&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=123" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="C#" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/C_2300_/default.aspx" /><category term="ASP.Net" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/ASP.Net/default.aspx" /><category term="Visual Studio" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>My First WebBlog Entry!</title><link rel="alternate" type="text/html" href="http://dnfug.com/Web/blogs/mperera/archive/2007/12/26/my-first-webblog-entry.aspx" /><id>http://dnfug.com/Web/blogs/mperera/archive/2007/12/26/my-first-webblog-entry.aspx</id><published>2007-12-26T07:27:00Z</published><updated>2007-12-26T07:27:00Z</updated><content type="html">&lt;p&gt;Hello .net world! &lt;img src="http://dnfug.com/Web/emoticons/emotion-15.gif" alt="Geeked" /&gt;&lt;/p&gt;
&lt;p&gt;Finally I&amp;#39;ve decided to blog.&amp;nbsp;Danish Sami&amp;nbsp;was kind enough to help set me up with this new blog. Thanks Danish &lt;img src="http://dnfug.com/Web/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/p&gt;&lt;img src="http://dnfug.com/Web/aggbug.aspx?PostID=122" width="1" height="1"&gt;</content><author><name>Manjula Perera</name><uri>http://dnfug.com/Web/members/Manjula-Perera.aspx</uri></author><category term="Other" scheme="http://dnfug.com/Web/blogs/mperera/archive/tags/Other/default.aspx" /></entry></feed>