<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8107718</atom:id><lastBuildDate>Sat, 09 Jan 2010 21:40:00 +0000</lastBuildDate><title>Ramblings of a Coder</title><description>My perspective of everything</description><link>http://www.chamindu.com/</link><managingEditor>noreply@blogger.com (Chamindu R. Munasinghe)</managingEditor><generator>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RamblingsOfACoder" /><feedburner:info uri="ramblingsofacoder" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-1012757085798096838</guid><pubDate>Thu, 07 Aug 2008 09:03:00 +0000</pubDate><atom:updated>2008-08-07T14:33:52.689+05:30</atom:updated><title>YAMAHA PSR-S700</title><description>&lt;p&gt;I always wanted to get a keyboard. Finally I bought this.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/cmunasinghe/SJq6bjz8VpI/AAAAAAAAABw/U9TaX1Qo040/s1600-h/PSRS700%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="217" alt="PSRS700" src="http://lh3.ggpht.com/cmunasinghe/SJq6d6T1q8I/AAAAAAAAAB0/IGMChoTACQM/PSRS700_thumb%5B1%5D.jpg?imgmax=800" width="471" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-1012757085798096838?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=XT1PDrImooE:s2rpjWBc_vg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=XT1PDrImooE:s2rpjWBc_vg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=XT1PDrImooE:s2rpjWBc_vg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/XT1PDrImooE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/XT1PDrImooE/yamaha-psr-s700.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.chamindu.com/2008/08/yamaha-psr-s700.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-8000298912130088006</guid><pubDate>Wed, 09 Jul 2008 04:28:00 +0000</pubDate><atom:updated>2008-07-09T09:58:58.801+05:30</atom:updated><title>The Pencil Project</title><description>&lt;p&gt;I came across this cool FireFox plug-in while browsing reddit. It lets you prototype your UI's within FireFox&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/cmunasinghe/SHQ-efz-d3I/AAAAAAAAABo/esjwk6kfhVo/s1600-h/pencil%5B2%5D.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="192" alt="pencil" src="http://lh3.ggpht.com/cmunasinghe/SHQ-iF5iQBI/AAAAAAAAABs/cYm8r_Nxv4Y/pencil_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It can be downloaded from &lt;a title="http://www.evolus.vn/Pencil/Home.html" href="http://www.evolus.vn/Pencil/Home.html"&gt;http://www.evolus.vn/Pencil/Home.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-8000298912130088006?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ArW-l4JwzMg:OJT7Eo-pUYo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ArW-l4JwzMg:OJT7Eo-pUYo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ArW-l4JwzMg:OJT7Eo-pUYo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/ArW-l4JwzMg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/ArW-l4JwzMg/pencil-project.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2008/07/pencil-project.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-1052442704818618592</guid><pubDate>Fri, 27 Jun 2008 08:34:00 +0000</pubDate><atom:updated>2008-06-27T14:30:37.396+05:30</atom:updated><title>Writing Testable Code - Part I</title><description>&lt;p&gt;In the current project that I am working on we decided that we will strive to write as many unit tests as possible. Here I will try to share some lessons learned from this experience.&lt;/p&gt;  &lt;p&gt;The application was broken down to following layers, A DAL that communicates with the underlying database, a service layer that implements business rules and the UI layer. &lt;/p&gt;  &lt;p&gt;We started with writing the DAL and some services. Since our services didn't have any state we decided to go with static classes. A typical service class might look like this.&lt;/p&gt;  &lt;pre&gt;public static class OrderService&lt;br /&gt;{&lt;br /&gt;   public static void ProcessOrder(int orderId)&lt;br /&gt;   {&lt;br /&gt;      OrderHeaderDAL headerDAL = new OrderHeaderDAL();&lt;br /&gt;      OrderDetailDAL detailDAL = new OrderDetailDAL();&lt;br /&gt;      CustomerDAL customerDAL = new CustomerDAL();&lt;br /&gt;&lt;br /&gt;      //Do the processing.&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;We managed to write unit tests for the DAL without any issues. But as soon as we wanted to write unit it was apparent that we cannot do this because the service classes are directly coupled to the DAL. Clearly we needed to decouple the Services from the DAL and the first solution that came to my mind was dependency injection. To do this we needed to make the following changes &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;Make the service class methods instance based rather than static &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Define a set of interfaces that will decouple the DAL from services &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;Add a factory class that will assemble the service classes &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;service classes instance based rather than static and add a layer of DAL interfaces that the services will depend on instead of the concrete classes . Now the above example will look like this. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;public class OrderService&lt;br /&gt;{&lt;br /&gt;   public IOrderHeaderDAL OrderHeaderDal&lt;br /&gt;   {&lt;br /&gt;      get;&lt;br /&gt;      set;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public IOrderDetailDAL OrderDetailDal&lt;br /&gt;   {&lt;br /&gt;      get;&lt;br /&gt;      set;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public ICustomerDAL CustomerDal&lt;br /&gt;   {&lt;br /&gt;      get;&lt;br /&gt;      set;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void ProcessOrder(int orderId)&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt;      //use the injected DAL's&lt;br /&gt; CustomerDal.DoWhatEver();&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   //Whenver you want to use the order service you call the ServiceFactory&lt;br /&gt;   OrderService service = ServiceFactory.CreateOrderService();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This solution worked. now we can mock the DAL and write unit tests for the service classes easily. But this had the following issues. Some methods in a service don't use all the DAL classes that the service depends on. But when the service factory creates the service it injects all dependant objects regardless of weather they are used or not. In the next post I will describe how I fixed those issues. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-1052442704818618592?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=Kq-pQanKsUg:AYDAZ-JS9F8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=Kq-pQanKsUg:AYDAZ-JS9F8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=Kq-pQanKsUg:AYDAZ-JS9F8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/Kq-pQanKsUg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/Kq-pQanKsUg/writing-testable-code-part-i.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.chamindu.com/2008/06/writing-testable-code-part-i.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-8119385764580914709</guid><pubDate>Thu, 05 Jun 2008 05:50:00 +0000</pubDate><atom:updated>2008-06-05T11:20:35.724+05:30</atom:updated><title>SysInternals tools available on a Internet file share</title><description>&lt;p&gt;All SysInternals tools can be now run from &lt;a href="file://\\live.sysinternals.com\tools"&gt;\\live.sysinternals.com\tools&lt;/a&gt;. This is very handy when you are troubleshooting productions servers and don't want to download everything on to the server.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-8119385764580914709?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ObCw1ewxtPg:vXh2fxgEJmU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ObCw1ewxtPg:vXh2fxgEJmU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ObCw1ewxtPg:vXh2fxgEJmU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/ObCw1ewxtPg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/ObCw1ewxtPg/sysinternals-tools-available-on.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2008/06/sysinternals-tools-available-on.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-5394434917271546646</guid><pubDate>Mon, 21 Apr 2008 04:04:00 +0000</pubDate><atom:updated>2008-04-21T09:34:43.800+05:30</atom:updated><title>Integrating VS 2008 unit tests with CCNET</title><description>&lt;p&gt;In my current project we are using VS 2008 unit tests. We have a CI environment configured using CruiseControl.NET. When we tried to integrate the unit tests into the CI build process we found out that it does not work out of the box. The main reason was that the XSL files that ship with the current version of CCNET only supports generating build reports off VS 2005 unit test results. So I had to modify the style sheets a bit. I wrote a code project article on setting up CCNET to run the unit tests. The modified XSL files are also available for download with the article. Please find it at &lt;a title="http://www.codeproject.com/KB/tips/VSTS2008_Tests_With_CCNET.aspx" href="http://www.codeproject.com/KB/tips/VSTS2008_Tests_With_CCNET.aspx"&gt;http://www.codeproject.com/KB/tips/VSTS2008_Tests_With_CCNET.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-5394434917271546646?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ZQUPOLAzyHk:55n8nIrYvBA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ZQUPOLAzyHk:55n8nIrYvBA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ZQUPOLAzyHk:55n8nIrYvBA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/ZQUPOLAzyHk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/ZQUPOLAzyHk/integrating-vs-2008-unit-tests-with.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.chamindu.com/2008/04/integrating-vs-2008-unit-tests-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-5103219539871884250</guid><pubDate>Tue, 15 Apr 2008 10:41:00 +0000</pubDate><atom:updated>2008-04-15T16:15:24.406+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">.NET</category><title>KeyedCollection class</title><description>&lt;p&gt;If you follow a entity object based design in your applications you frequently need to maintain lists of your objects. You can use List&amp;lt;T&amp;gt; class to do that. I was using the same method until I ran code analysis on one of the projects and got the warning&amp;#160; for violating rule &amp;quot;CA1002:DoNotExposeGenericLists&amp;quot;. The following blog post explains the background behind the rule &lt;a title="http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx" href="http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx"&gt;http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A better alternative is to use the KeyedCollection &amp;lt;TKey, TItem&amp;gt; class. As the documentation states it provides an abstract base class for a collection whose keys are embedded in the values. For example you can have an Employee class that has the key EmployeeNumber as a field. In this example you want to be able to do operations on your collection class (lets say EmpleyeeCollection) based on the employee number. Since the KeyedCollection class has to know how to get a key from an item it is an abstract class. You have to derive your own class and override the GetKeyForItem method. The following blog post has a clever method to avoid creating a collection class for every object that utilizes lambda expressions &lt;a title="http://vaultofthoughts.net/keyedcollectionlambdaexpressionway.aspx" href="http://vaultofthoughts.net/keyedcollectionlambdaexpressionway.aspx"&gt;http://vaultofthoughts.net/keyedcollectionlambdaexpressionway.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:486a0712-21c8-49ea-ad4e-7176b72f5701" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/KeyedCollection" rel="tag"&gt;KeyedCollection&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Object%20Model" rel="tag"&gt;Object Model&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-5103219539871884250?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=08xHFnykwM8:QIQ6c1PRUX4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=08xHFnykwM8:QIQ6c1PRUX4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=08xHFnykwM8:QIQ6c1PRUX4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/08xHFnykwM8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/08xHFnykwM8/keyedcollection-class.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2008/04/keyedcollection-class.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-3328497883965151942</guid><pubDate>Tue, 15 Apr 2008 03:55:00 +0000</pubDate><atom:updated>2008-04-17T08:59:18.829+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Personal</category><title>Working for a new place</title><description>&lt;p&gt;I left the previous workplace and joined CalCey Technologies (&lt;a href="http://www.calcey.com"&gt;www.calcey.com&lt;/a&gt;). I made the move in February. The major reason behind joining CalCey was that its a small company. All this time I was working for companies that are considered big players in Sri Lankan IT industry (hSenid, Virtusa, Eurocenter). &lt;/p&gt;  &lt;p&gt;There are advantages working for a big company, you get a good knowledge about process and get a lot of training opportunities, traveling etc. But at the same time when the company is big its very easy to loose focus on the core business which is developing software and focus more on the other things. The obvious &amp;quot;other thing&amp;quot; here is process, add to that internal politics and bureaucracy and it can be a nightmare. Having a good process is essential to a software company but it should support the software development work not the other way round. I feel the fundamental problem with big organizations is that teams don't scale well.&lt;/p&gt;  &lt;p&gt;Working for a small company on the other hand will give you the flexibility and the freedom the geek inside you desire. It will be easier to introduce new ideas and make changes. But sometimes you can end up with a bunch of&amp;#160; below average colleagues especially in Sri Lanka where people prefer to work for big companies. &lt;/p&gt;  &lt;p&gt;There are pro's and con's in both worlds. My personal opinion is that you should start your career at a big company and work for 5-6 years then move on to a small company and after some time you can decide where you want to stay. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-3328497883965151942?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=QypAl8MFiPU:ukxw80itLp8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=QypAl8MFiPU:ukxw80itLp8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=QypAl8MFiPU:ukxw80itLp8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/QypAl8MFiPU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/QypAl8MFiPU/working-for-new-place.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://www.chamindu.com/2008/04/working-for-new-place.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-3944542715397197030</guid><pubDate>Fri, 28 Mar 2008 10:56:00 +0000</pubDate><atom:updated>2008-03-28T16:26:42.079+05:30</atom:updated><title>Passed a couple of Brainbench tests</title><description>&lt;p&gt;Passed the free ASP and ASP.NET Brainbench tests last week. The classic ASP test was cool and helped me to find out if I still remember it from the good (or bad) old days of working with ASP.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-3944542715397197030?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=k7ExrSGGooE:jgfYUoa1EVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=k7ExrSGGooE:jgfYUoa1EVs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=k7ExrSGGooE:jgfYUoa1EVs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/k7ExrSGGooE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/k7ExrSGGooE/passed-couple-of-brainbench-tests.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2008/03/passed-couple-of-brainbench-tests.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-28125790140527599</guid><pubDate>Wed, 12 Mar 2008 06:54:00 +0000</pubDate><atom:updated>2008-03-12T12:24:57.680+05:30</atom:updated><title>.NET Framework Library source code available</title><description>&lt;p&gt;You can configure Visual Studio 2008 to step into framework source code as you debug. You can find detailed information on how to achieve this from &lt;a title="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx" href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"&gt;http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-28125790140527599?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ksWi9vr1Vpw:dDt7QeqOvHQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ksWi9vr1Vpw:dDt7QeqOvHQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=ksWi9vr1Vpw:dDt7QeqOvHQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/ksWi9vr1Vpw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/ksWi9vr1Vpw/net-framework-library-source-code.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2008/03/net-framework-library-source-code.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-6096038256805906280</guid><pubDate>Sun, 18 Nov 2007 02:35:00 +0000</pubDate><atom:updated>2007-11-18T08:05:02.601+05:30</atom:updated><title>Check how your web site looks in different browsers</title><description>&lt;p&gt;If you have ever developed web sites you know how difficult to get them to look correctly on different web browsers. Given the no of web browsers and operating systems available it is very difficult to test on all sites. Now &lt;a title="http://browsershots.org/" href="http://browsershots.org/"&gt;http://browsershots.org/&lt;/a&gt;&amp;nbsp;provides a free service where you can enter the URL of the web site and it will take the screen shots of how the web site looks in each browser. The downside is you wont be able to check the dynamic behavior of the site (JavaScript etc..). &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-6096038256805906280?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=o1_9j_kWBws:bdRj281v814:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=o1_9j_kWBws:bdRj281v814:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=o1_9j_kWBws:bdRj281v814:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/o1_9j_kWBws" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/o1_9j_kWBws/check-how-your-web-site-looks-in.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.chamindu.com/2007/11/check-how-your-web-site-looks-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-1454101415090839982</guid><pubDate>Sun, 07 Oct 2007 15:27:00 +0000</pubDate><atom:updated>2007-10-07T20:57:46.415+05:30</atom:updated><title>Great site to find singhala song chords</title><description>&lt;p&gt;If you are into playing the guitar you will find the following site very usefull &lt;a title="http://chords.orgfree.com" href="http://chords.orgfree.com"&gt;http://chords.orgfree.com&lt;/a&gt;. According to site statistics it has 257 songs now and its growing. If you have chords for songs please share them.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-1454101415090839982?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9mZXw9yPHaA:SVpSDXUEOms:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9mZXw9yPHaA:SVpSDXUEOms:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9mZXw9yPHaA:SVpSDXUEOms:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/9mZXw9yPHaA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/9mZXw9yPHaA/great-site-to-find-singhala-song-chords.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2007/10/great-site-to-find-singhala-song-chords.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-387038301983927657</guid><pubDate>Fri, 03 Aug 2007 06:44:00 +0000</pubDate><atom:updated>2007-08-03T12:14:01.868+05:30</atom:updated><title>Threads and Cultures</title><description>&lt;p&gt;When you create a new thread&amp;nbsp; you&amp;nbsp;would expect it to inherit the culture information from the&amp;nbsp;original thread since this is the&amp;nbsp;sensible behaviour because you want that thread to access the correct resources and use culture specific formatting etc... But I discoverd in dotnet this is not the case. This also applies to the BackgroundWorker component. So every time you create a thread you have to copy the culture info from the original thread. Strange ......&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-387038301983927657?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=npCeenFvWg4:uxs6H9ke6Ok:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=npCeenFvWg4:uxs6H9ke6Ok:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=npCeenFvWg4:uxs6H9ke6Ok:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/npCeenFvWg4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/npCeenFvWg4/threads-and-cultures.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2007/08/threads-and-cultures.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-6339937734899034403</guid><pubDate>Fri, 20 Jul 2007 13:25:00 +0000</pubDate><atom:updated>2007-07-20T18:55:16.201+05:30</atom:updated><title>SQL Server Sri Lanka User Group - July Meeting</title><description>&lt;p&gt;We had the SS SLUG july meeting on the 18th. I did a session on SSIS Custom components and dinesh priyankara conducted a session on transaction management. The presentations and samples can be downloaded from &lt;a href="http://sqlserveruniverse.com/files/folders/meeting04/default.aspx"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-6339937734899034403?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=gvpms7Vr6rY:ve0nCyH7JYo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=gvpms7Vr6rY:ve0nCyH7JYo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=gvpms7Vr6rY:ve0nCyH7JYo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/gvpms7Vr6rY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/gvpms7Vr6rY/sql-server-sri-lanka-user-group-july.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2007/07/sql-server-sri-lanka-user-group-july.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-2472168714967228463</guid><pubDate>Fri, 18 May 2007 12:08:00 +0000</pubDate><atom:updated>2007-05-18T17:41:08.941+05:30</atom:updated><title>MissingManifestResourceException</title><description>&lt;p&gt;I came through this strange exception today while refactoring a windows forms application in VS 2005. This was a VB.NET application.&amp;nbsp; I had to move a usercontrol between projects and doing so I changed the namespace. Suddenly I was getting a&amp;nbsp;MissingManifestResourceException when the control is loaded. The strange thing is there were some other user controls in the same namespace and they worked fine.&lt;/p&gt; &lt;p&gt;Then I inspected the generated assemblies using reflector and discovered that the failing controls resource didn't have any namespace.&lt;/p&gt; &lt;p&gt;After a bit of googling I found this blog entry &lt;a title="http://jameswho.blogspot.com/2004/06/missingmanifestresourceexception.html#links" href="http://jameswho.blogspot.com/2004/06/missingmanifestresourceexception.html#links"&gt;http://jameswho.blogspot.com/2004/06/missingmanifestresourceexception.html#links&lt;/a&gt;&amp;nbsp;this entry suggested changing the default namespace. But I always keep it blank and specify the namespace in each file. Scrolling through the comments there were some suggestions to remove any class or enum declarations that came before the control class. This was exactly the problem I had, there were a couple of enum declarations and a delegate before the control class; after moving them to the bottom of the file it worked fine. &lt;/p&gt; &lt;p&gt;I think this is a bug in visual studio that you have to watch out. It is always a good practice to have only one type in a given source file.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-2472168714967228463?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9WgRYw-_h_0:oGcuDb_RZq4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9WgRYw-_h_0:oGcuDb_RZq4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9WgRYw-_h_0:oGcuDb_RZq4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/9WgRYw-_h_0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/9WgRYw-_h_0/missingmanifestresourceexception.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.chamindu.com/2007/05/missingmanifestresourceexception.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-2367619437979704279</guid><pubDate>Tue, 02 Jan 2007 13:41:00 +0000</pubDate><atom:updated>2007-01-02T19:11:20.771+05:30</atom:updated><title>ASP.NET 2.0 CSS Friendly Control Adapters</title><description>&lt;p&gt;They have released the CSS Friendly control adapters 1.0. If you have ever looked at the code generated by ASP.NET 2.0 controls like the menu and were shocked by the huge tables and inline CSS they generate then these control adapters are for you. They replace the table based layout of the controls with&amp;nbsp;with CSS based implementations using lists/div's/span's and styles. This decreases the amount of markup generated and reduces the page size. Using style sheets also lets you easily change the layout of the controls.&lt;/p&gt; &lt;p&gt;ASP.NET control adapters let you customize the rendering of server controls without writing a new control from scratch of deriving from existing controls. Adapters can be applied based on the user agent and are configured using a browsers configuration &amp;nbsp;file in the App_Browsers special folder. This lets you integrate the CSS friendly adapters into existing web sites with minor or no modification to the existing pages.&lt;/p&gt; &lt;p&gt;The source code can be downloaded from &lt;a title="http://www.asp.net/cssadapters" href="http://www.asp.net/cssadapters"&gt;http://www.asp.net/cssadapters&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-2367619437979704279?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=fa3ealVCU4w:8_yb3690WGw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=fa3ealVCU4w:8_yb3690WGw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=fa3ealVCU4w:8_yb3690WGw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/fa3ealVCU4w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/fa3ealVCU4w/aspnet-20-css-friendly-control-adapters.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2007/01/aspnet-20-css-friendly-control-adapters.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-3278457105540521894</guid><pubDate>Tue, 02 Jan 2007 10:14:00 +0000</pubDate><atom:updated>2007-01-02T15:47:26.277+05:30</atom:updated><title>Logic and Reason: All I've Got Against Moderate Religion</title><description>Interesting read...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lshap.blogspot.com/2007/01/all-ive-got-against-moderates.html"&gt;Logic and Reason: All I've Got Against Moderate Religion&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-3278457105540521894?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=N5BpfLtr314:0FvO5BjME9g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=N5BpfLtr314:0FvO5BjME9g:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=N5BpfLtr314:0FvO5BjME9g:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/N5BpfLtr314" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/N5BpfLtr314/logic-and-reason-all-ive-got-against.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2007/01/logic-and-reason-all-ive-got-against.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-2163950015837630225</guid><pubDate>Tue, 19 Dec 2006 08:57:00 +0000</pubDate><atom:updated>2006-12-19T14:27:23.272+05:30</atom:updated><title>Visual Studio 2005 SP1 Released</title><description>&lt;p&gt;Finally Microsoft has released a service pack for visual studio. It claims to have fixed many bugs and has performance improvements in the build process. This will certainly be helpful for developers using VB.NET since the original VB.NET compiler crashed frequently and it took unnecessarily long time to compile solutions. Release notes for the service pack is available at &lt;a title="http://support.microsoft.com/kb/928957/" href="http://support.microsoft.com/kb/928957/"&gt;http://support.microsoft.com/kb/928957/&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Web application projects are now built in to the IDE. You will have to uninstall the web application projects add on to install SP1. &lt;/p&gt; &lt;p&gt;If you plan to install SP1 its better to go through the release notes first, it can save you a lot of frustration because it seems that there are many workarounds you have to do to get it installed depending on your current configuration.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-2163950015837630225?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=qm-lHLugnFo:iCIlygaAf7Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=qm-lHLugnFo:iCIlygaAf7Y:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=qm-lHLugnFo:iCIlygaAf7Y:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/qm-lHLugnFo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/qm-lHLugnFo/visual-studio-2005-sp1-released.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2006/12/visual-studio-2005-sp1-released.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-3041405068236747240</guid><pubDate>Tue, 05 Dec 2006 07:20:00 +0000</pubDate><atom:updated>2006-12-05T12:50:48.197+05:30</atom:updated><title>Typed datasets and VS 2005</title><description>&lt;p&gt;Recently I had to use typed datasets in a project for the first time. I always preferred using custom entity objects but due to time constraints there was no option on this one. One thing I don't like about the new typed datasets is that it combines the data access code with the data itself if you drag a table from the server explorer into the dataset it creates the connection and the table adapter in the dataset itself, so much for tiered architecture. So I decided the best thing to do is to delete the table adapter from the dataset and just use it as a container.&lt;/p&gt; &lt;p&gt;Another issue that you have to keep in mind when you use typed datasets is that sooner or later you are going to create datasets that share tables among them. If you create the table in each and every dataset its going to create a maintenance nightmare. A better option is to add a xml schema to your project and define all the tables there and include that schema in each of your datasets using the xs:include element. This way you only have to change one file if your table definitions change. &lt;/p&gt; &lt;p&gt;One disadvantage of the above method is that you cannot define keys in the schema, you have to add the keys to each and every dataset. Another minor issue is that the graphical dataset designer gets a bit messed up with this approach. Lets hope the next version of VS comes with a better dataset designer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-3041405068236747240?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=4-BCKFuRtkk:vsH2hRV2YuI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=4-BCKFuRtkk:vsH2hRV2YuI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=4-BCKFuRtkk:vsH2hRV2YuI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/4-BCKFuRtkk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/4-BCKFuRtkk/typed-datasets-and-vs-2005.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2006/12/typed-datasets-and-vs-2005.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-347671031940066784</guid><pubDate>Tue, 28 Nov 2006 15:29:00 +0000</pubDate><atom:updated>2006-11-28T20:59:51.454+05:30</atom:updated><title>Auto Door, Please close gently</title><description>&lt;p&gt;I saw the above sign pasted on the sliding door of a van while I was on my way to work. It reminded me of hiring a van to go on a trip sometime back. It also had an automatic door and the driver was always screaming at us for slamming the door (I think its bad for the&amp;nbsp;door closing mechanism)&amp;nbsp;but we kept on doing it . &lt;/p&gt; &lt;p&gt;The fundamental principle that the designers of this door violated is that when people get used to something it's very difficult to change. I think that goes double for software UI's, people are used to the existing familiar concepts and&amp;nbsp;that's something we have to keep in mind before we design our next snazzy application.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-347671031940066784?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9PL0UiZNBcQ:qFn31Iltnuc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9PL0UiZNBcQ:qFn31Iltnuc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=9PL0UiZNBcQ:qFn31Iltnuc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/9PL0UiZNBcQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/9PL0UiZNBcQ/auto-door-please-close-gently.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2006/11/auto-door-please-close-gently.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-1369228822805428983</guid><pubDate>Fri, 20 Oct 2006 20:56:00 +0000</pubDate><atom:updated>2006-10-21T02:26:17.529+05:30</atom:updated><title>Back to SL</title><description>&lt;p&gt;Finally its time to go back home to Sri Lanka. I will be leaving for SL tomorrow (20th) a week ahead of schedule. Everything went ok and the project was a success (despite been deployed on Friday the 13th ;-) ).&amp;nbsp; Norway is a nice place to be but the alcohol is too damn expensive.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-1369228822805428983?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=BlsgOqVefA4:U_OxGsD_C94:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=BlsgOqVefA4:U_OxGsD_C94:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=BlsgOqVefA4:U_OxGsD_C94:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/BlsgOqVefA4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/BlsgOqVefA4/back-to-sl.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.chamindu.com/2006/10/back-to-sl.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-3407239215510704286</guid><pubDate>Fri, 20 Oct 2006 20:51:00 +0000</pubDate><atom:updated>2006-10-21T02:27:14.809+05:30</atom:updated><title>Friday the 13th</title><description>&lt;p&gt;We went live with out latest project. A web portal based on dotnetnuke last Friday (13th) and it was the 13th build. It was kind of cool going live on Friday the 13th with the 13th build. I am not a superstitious gut it only occurred to me after a colleague suggested that we skip build 13 and go to 14.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-3407239215510704286?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=YJnoh-fmHmQ:hiYBQ1nGyAM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=YJnoh-fmHmQ:hiYBQ1nGyAM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=YJnoh-fmHmQ:hiYBQ1nGyAM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/YJnoh-fmHmQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/YJnoh-fmHmQ/friday-13th.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2006/10/friday-13th.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-4767363933291834477</guid><pubDate>Wed, 11 Oct 2006 11:13:00 +0000</pubDate><atom:updated>2006-10-11T16:44:21.120+05:30</atom:updated><title>Update after a long time....................</title><description>&lt;p&gt;A lot of things has changed and its an year since I last posted. I work for a new company now namely&amp;nbsp;&lt;a href="http://www.eurocenter.lk"&gt;Eurocenter DDC&lt;/a&gt;. These days&amp;nbsp;I am in Norway doing implementation of our latest project. As for the project I think we did a good job and I am confident that it will be a success, as for Norway its a bit too cold for me even though its still autumn and the temperature is around 10 degrees Celsius. I got a sore throught and a fever because of this. But its a nice change, oslo city is good. We went to this amusement park called &lt;a href="http://tusenfryd.no"&gt;tusenfryd&lt;/a&gt;&amp;nbsp;and tried the speed monster, thats my first time on a roller coaster and I am sure thats going to be my last time too.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-4767363933291834477?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=NYiKSUQ3aRk:O8d8OhClxmI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=NYiKSUQ3aRk:O8d8OhClxmI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=NYiKSUQ3aRk:O8d8OhClxmI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/NYiKSUQ3aRk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/NYiKSUQ3aRk/update-after-long-time.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.chamindu.com/2006/10/update-after-long-time.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-1028938619605255532</guid><pubDate>Sat, 07 Oct 2006 07:59:00 +0000</pubDate><atom:updated>2006-10-07T13:35:00.768+05:30</atom:updated><title>Back with a domain name</title><description>I finally got a domain for myself ("chamindu.com"). I got it from &lt;a href="http://www.godaddy.com"&gt;godaddy &lt;/a&gt; and it's a really good deal with just 9.20 USD per year. My email is hosted in windows &lt;a href="http://domains.live.com/"&gt;live custom domains&lt;/a&gt;. All of this started when I was browsing through merills blog and came across this &lt;a href="http://www.merill.net/WhatAreYouWaitingForGetYourOwnDomainToday.aspx"&gt;article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-1028938619605255532?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=jo1bbk-axB0:dIulupaqSIo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=jo1bbk-axB0:dIulupaqSIo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=jo1bbk-axB0:dIulupaqSIo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/jo1bbk-axB0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/jo1bbk-axB0/back-with-domain-name.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2006/10/back-with-domain-name.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-111151865368483155</guid><pubDate>Tue, 22 Mar 2005 19:07:00 +0000</pubDate><atom:updated>2005-03-23T01:10:53.686+06:00</atom:updated><title>Requirement Documents Are There For Reading</title><description>Well its 1.00 AM and I just finished fixing some bugs in my code. All of them were there because I missed some of the finer details of the SRS. I wonder, does this only happen to me or ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-111151865368483155?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=-HtfLURybmA:HL7tDrahS1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=-HtfLURybmA:HL7tDrahS1o:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=-HtfLURybmA:HL7tDrahS1o:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/-HtfLURybmA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/-HtfLURybmA/requirement-documents-are-there-for.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2005/03/requirement-documents-are-there-for.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8107718.post-111105207164472302</guid><pubDate>Thu, 17 Mar 2005 08:57:00 +0000</pubDate><atom:updated>2005-03-17T15:34:31.646+06:00</atom:updated><title>http://www.gothmetal.net/</title><description>I found this shoutcast channel while browsing throught the winamp media library. They play pretty cool gothic rock stuff( Bands like NightWish, Lullacry, Within temptation).&lt;br /&gt;&lt;br /&gt;And i am looking farward to the rock company's (rock-company.com) 2nd aniversary gig.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8107718-111105207164472302?l=www.chamindu.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=wTQqWNcYp6o:2hx0uufPAZE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=wTQqWNcYp6o:2hx0uufPAZE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/RamblingsOfACoder?a=wTQqWNcYp6o:2hx0uufPAZE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/RamblingsOfACoder?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/RamblingsOfACoder/~4/wTQqWNcYp6o" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/RamblingsOfACoder/~3/wTQqWNcYp6o/httpwwwgothmetalnet.html</link><author>noreply@blogger.com (Chamindu R. Munasinghe)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.chamindu.com/2005/03/httpwwwgothmetalnet.html</feedburner:origLink></item></channel></rss>
