<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4326048260966732748</id><updated>2024-10-06T20:46:06.172-07:00</updated><category term="Development"/><category term="Tools"/><category term=".Net"/><category term="Interesting"/><category term="Visual Studio"/><category term="Internet"/><category term="Tricks"/><category term="Oracle"/><category term="SQL Server"/><category term="C#"/><category term="SQL Server Reporting"/><title type='text'>Chathuranga Implements Blogger</title><subtitle type='html'>My implementation of Blogger interface - Things that I come across, which could be interesting to some,          at-least to me :)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-8565440999329469472</id><published>2014-04-23T11:14:00.001-07:00</published><updated>2014-04-23T11:14:56.492-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><title type='text'>How many times you&amp;#39;ve noticed i18n/L10n understood and skipped without looking further ?</title><content type='html'>&lt;p&gt;&lt;img src=&quot;http://lh5.ggpht.com/-SyeVHA44gtw/U1gCdNuQeHI/AAAAAAAAAOg/WD2F4ebqVi0/%25255BUNSET%25255D.png&quot; alt=&quot;&quot; width=&quot;285&quot; height=&quot;185&quot; /&gt;&lt;/p&gt;&lt;p&gt;Working on Internationalization for an application is not something we do everyday, or rather worry that much. When ever we get the requirement, we check on how to apply it to our applications on the specific technology stack we are currently working on and proceed with the best approach. The two words we come across on this are mainly i18n and L10n. But have you ever wondered why would we use these words.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.w3.org/2001/12/Glossary#I18N&quot;&gt;Here&#39;s a quick tip&lt;/a&gt; and little &lt;a href=&quot;http://www.i18nguy.com/origini18n.html&quot;&gt;more details&lt;/a&gt; for the curious one.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/8565440999329469472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2014/04/how-many-times-you-noticed-i18nl10n.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8565440999329469472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8565440999329469472'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2014/04/how-many-times-you-noticed-i18nl10n.html' title='How many times you&amp;#39;ve noticed i18n/L10n understood and skipped without looking further ?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-SyeVHA44gtw/U1gCdNuQeHI/AAAAAAAAAOg/WD2F4ebqVi0/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-3547405799635488983</id><published>2013-11-18T09:19:00.001-08:00</published><updated>2013-11-18T09:44:19.660-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><title type='text'>Microsoft taking control of Skype</title><content type='html'>&lt;p&gt;Starting from few weeks back I have been getting a warning message when my Skype extension client application getting started. And i got to know the bad news, when I checked what it is all about, that Microsoft has decided to close down the nice little gem came with Skype Desktop client, the Desktop API.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;img style=&quot;display: block; margin-left: auto; margin-right: auto;&quot; src=&quot;http://lh3.ggpht.com/-MjZsp778Dp0/UopMmhyuz9I/AAAAAAAAAM4/RF3ZSRqTRSA/%25255BUNSET%25255D.png&quot; alt=&quot;&quot; width=&quot;464&quot; height=&quot;106&quot; /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;What microsoft calims is that it&#39;s for the tehcnology advancement, but a real question raises whether a technology advancement should be dropping features, whether there&#39;s a point if an advancement makes such limitations.&lt;/p&gt;&lt;p&gt;It seems community has taken steps to atleast try correcting this, and seems to have resulted somewhat in the favour of the Desktop API features, &lt;a href=&quot;http://thenextweb.com/microsoft/2013/11/06/skype-tweaks-desktop-api-plans-chat-still-going-away-call-recording-device-compatibility-stay-now/&quot;&gt;Chat still going away, call recording and device compatibility to stay for now&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;So all in all, this may be the end of a lot of innovative ideas and missing peices not provided by Skype itself. Including my own tool that I used to love using, &lt;a href=&quot;http://chathurangaw.blogspot.com/2011/08/skypepop-skype-notifications-enhanced.html&quot;&gt;SkypePop - Skype Notifications Enhanced&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Personally I hate seing skype messages come in with the Skpe highligthed on the taskbar, not knowing the message until I have to do several clicks to see what the message is. So my extension client was helping me to respond with the minimum effort while working on something else. So it seems I&#39;ll be remembering Microsoft for applying this restriction everytime I have to do these extra clicks to read a Skype message starting from December 2013.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/3547405799635488983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2013/11/microsoft-taking-control-of-skype.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3547405799635488983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3547405799635488983'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2013/11/microsoft-taking-control-of-skype.html' title='Microsoft taking control of Skype'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-MjZsp778Dp0/UopMmhyuz9I/AAAAAAAAAM4/RF3ZSRqTRSA/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-8165666181539508462</id><published>2013-02-20T08:10:00.001-08:00</published><updated>2013-02-20T08:12:54.732-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Slow Cheetah to the rescue in .Net application deployments</title><content type='html'>&lt;p&gt;Managing deployments of .Net components into different environments is not going to be that easy if we are going to rely on manual editing of config files after deployment. Web.config Transformations is an official feature to support this but it&#39;s lacking the support for other .Net project types as well as it&#39;s not that a developer friendly&amp;nbsp;&lt;span style=&quot;font-size: 10.5pt; line-height: 107%; font-family: Helvetica, sans-serif;&quot;&gt;mechanism&lt;/span&gt;.&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;Recently when I was looking to use config transformations to manage publishing .Net components into different environments (to avoiding the possible mistakes in manual config editing), this nice extension&amp;nbsp;&lt;span style=&quot;font-size: 10.5pt; line-height: 107%; font-family: Helvetica, sans-serif;&quot;&gt;came up &amp;nbsp;on the search results,&amp;nbsp;&lt;/span&gt;which was a life saver with its support for other project types as well as the nice &quot;Preview&quot; feature.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #68217a; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 33px; text-align: left; background-color: #ffffff;&quot;&gt;&lt;a title=&quot;SlowCheetah - XML Transforms&quot; href=&quot;http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5&quot; target=&quot;_blank&quot;&gt;SlowCheetah - XML Transforms&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/8165666181539508462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2013/02/slow-cheetah-to-rescue-in-net.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8165666181539508462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8165666181539508462'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2013/02/slow-cheetah-to-rescue-in-net.html' title='Slow Cheetah to the rescue in .Net application deployments'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-3985721892884162868</id><published>2012-12-14T08:45:00.001-08:00</published><updated>2013-02-20T08:13:41.880-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><title type='text'>Avoid developers miss using ASP.Net Session</title><content type='html'>&lt;p&gt;ASP.Net is a powerfull framwork and also it is one of the best in terms of developer friendliness. It has been identified as such developer friendly because of the set of features which are readily available to the developer. Out of the vast collection of such features ASP.Net Session should be one of the leading features that&#39;s being miss-used by the developers. Even though the feature is there, one of the guide lines I follow and mentor others to follow is strctly restrict on using the Session object in ASP.Net. Rules of thumb for using a Session variable should be, to ask your self whether it doesn&#39;t change through out a users&#39;s web session (the variable that you are going to use). If the asnwer is yes it is a better candidate to use as a Session variable, but if not you&#39;ll have to seriaously re-consider.&lt;/p&gt;&lt;p&gt;It&#39;s not just us miss using the ASP.Net, &amp;nbsp;even Microsoft too miss use it (although they woud have reason to explain). Here&#39;s a post of mine related to one such situation,&amp;nbsp;&lt;a title=&quot;SQL Server Reporting Services using our Session&quot; href=&quot;http://chathurangaw.blogspot.com/2009/09/sql-server-reporting-services-using-our.html&quot; target=&quot;_blank&quot;&gt;SQL Server Reporting Services using &quot;our&quot; Session state&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;That being said, one of the way&#39;s to better manage the ASP.Net Session in a project is to access ASP.Net Session using a facade or an adapter pattern. &lt;a title=&quot;Manage ASP NET Session Variables using the Facade Pattern&quot; href=&quot;http://www.codeproject.com/Articles/16656/Manage-ASP-NET-Session-Variables-using-the-Facade&quot; target=&quot;_blank&quot;&gt;Here&lt;/a&gt; is a nice article on the facade pattern usage for it. Even if we follow this type of a facade pattern to access ASP.Net Session, yet some developpers tend to avoid it and directly access it through the ASP.Net Page classes Session property, and work with magic strings and all sort of bad things. Looking for a simple solution for this lead me to below workarround just to avoid using Session property directly in ASP.Net Pages. I know this is not purly inline with&amp;nbsp;&lt;a style=&quot;margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: #ffffff; color: #4a6b82; cursor: pointer; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 18px;&quot; rel=&quot;nofollow&quot; href=&quot;http://en.wikipedia.org/wiki/Liskov_substitution_principle&quot;&gt;Liskov substitution principle&lt;/a&gt;, no stricly avoid usage at compile time, but serves the purpose through the use of a PageBase.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://lh5.ggpht.com/-O7Y7-OxO8mM/UMtiqanwXkI/AAAAAAAAALo/szXj36NFsPA/%25255BUNSET%25255D.png&quot; alt=&quot;PageBase&quot; width=&quot;512&quot; height=&quot;175&quot; /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/3985721892884162868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2012/12/avoid-developers-miss-using-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3985721892884162868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3985721892884162868'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2012/12/avoid-developers-miss-using-aspnet.html' title='Avoid developers miss using ASP.Net Session'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-O7Y7-OxO8mM/UMtiqanwXkI/AAAAAAAAALo/szXj36NFsPA/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-5913292309382804409</id><published>2012-10-06T21:54:00.001-07:00</published><updated>2012-10-06T22:01:13.365-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>ReviewPal available on Visual Studio 2012 !</title><content type='html'>&lt;p&gt;It&#39;s been months, the Visual Stuio 2012 release was out. But I couldn&#39;t get my hands on to it with the busy line of work.&lt;/p&gt;&lt;p&gt;People out there have not only started playing around with it, but have started to really use it with all their plug-ins, extensions. As with everyone, no one want&#39;s to leave their dev toys when moving into a new version of the beloved developer IDE, and I&#39;m glad to hear from a few out there asking whether my Visual Stuio exteion &lt;a title=&quot;ReviewPal&quot; href=&quot;http://visualstudiogallery.msdn.microsoft.com/d1e40c49-da36-42a5-8d5a-4ebe1feabbc9&quot; target=&quot;_blank&quot;&gt;on MSDN Gallery, ReviewPal&lt;/a&gt;&amp;nbsp;supports the new version of Visual Stuio &amp;nbsp;and if not when would it be available.&lt;/p&gt;&lt;p&gt;So I had to put some time over the last weekend to make them happy (aka being happy by making others happy), which lead me to play around with the new Visual Studio version too (not to mention how cool the new version of Visual Studio is).The end result, ReviewPal is ready for Visual Studio 2012 in a few hours.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://lh5.ggpht.com/-22S4bMUBDR8/UHELMU163OI/AAAAAAAAALY/4UUzqu7JyLA/%25255BUNSET%25255D.png&quot; alt=&quot;ReviewPal 2012&quot; width=&quot;512&quot; height=&quot;208&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What&#39;s new&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Upgrade for Visual Studio 2012.&lt;/li&gt;&lt;li&gt;Fixes for items reported in CodePlex Issue Tracker.&lt;/li&gt;&lt;li&gt;Updates to set more appropriate default values.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Please leave your feedback on MSDN Gallary and I would get back to your requests soon.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/5913292309382804409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2012/10/reviewpal-available-on-visual-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5913292309382804409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5913292309382804409'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2012/10/reviewpal-available-on-visual-studio.html' title='ReviewPal available on Visual Studio 2012 !'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-22S4bMUBDR8/UHELMU163OI/AAAAAAAAALY/4UUzqu7JyLA/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-1559093633126339787</id><published>2012-08-10T07:55:00.001-07:00</published><updated>2012-08-14T23:02:57.272-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><title type='text'>Explore assemblies with dotPeek</title><content type='html'>&lt;p&gt;Time to time we get are required to investigate on .Net assemblies without having their source code with us. Reflector was the ultimate friend for this purpose for a long time among the .Net community, untill it became a commercial product. Then it came the &lt;a title=&quot;ILSpy&quot; href=&quot;http://wiki.sharpdevelop.net/ILSpy.ashx&quot; target=&quot;_blank&quot;&gt;ILSpy&lt;/a&gt; from&amp;nbsp;SharpDevelop, which helped us on the same purpose quite nicely.&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;But now here&#39;s our ultimate .Net developer tools provider &lt;a href=&quot;http://www.jetbrains.com/&quot; target=&quot;_blank&quot;&gt;JetBrains&lt;/a&gt; &amp;nbsp;comming up with yet another cool tool for decompiling and assembly browsing, with all the goodness of what we have experienced in Resharper and best of all for free. Have a sneak peek at it below.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a title=&quot;dotPeek&quot; href=&quot;http://www.jetbrains.com/decompiler/&quot; target=&quot;_blank&quot;&gt;dotPeek&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;object id=&quot;_fp_0.17522628651931882&quot; width=&quot;400&quot; height=&quot;300&quot; name=&quot;player&quot; data=&quot;http://tv.jetbrains.net/flowplayer/flowplayer-3.2.10.swf&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;br /&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;http://tv.jetbrains.net/flowplayer/flowplayer-3.2.10.swf&quot; /&gt;&lt;param name=&quot;flashvars&quot; value=&quot;config=%7B%22plugins%22%3A%7B%22controls%22%3A%7B%22stop%22%3Atrue%2C%22callType%22%3A%22default%22%2C%22url%22%3A%22http%3A//tv.jetbrains.net/flowplayer/flowplayer.controls-3.2.8.swf%22%7D%2C%22dock%22%3A%7B%22autoHide%22%3Atrue%2C%22horizontal%22%3Afalse%2C%22right%22%3A15%2C%22width%22%3A%227pct%22%7D%2C%22viral%22%3A%7B%22callType%22%3A%22default%22%2C%22share%22%3Afalse%2C%22email%22%3Afalse%2C%22url%22%3A%22http%3A//tv.jetbrains.net/flowplayer/flowplayer.viralvideos-3.2.9.swf%22%7D%7D%2C%22clip%22%3A%7B%22pageUrl%22%3A%22http%3A//tv.jetbrains.net/videocontent/introducing-jetbrains-dotpeek%22%2C%22autoBuffering%22%3Atrue%2C%22url%22%3A%22http%3A//tv.jetbrains.net/sites/default/files/videos/converted/dotPeek_intro.mp4%22%2C%22baseUrl%22%3A%22http%3A//tv.jetbrains.net%22%2C%22scaling%22%3A%22orig%22%2C%22autoPlay%22%3Afalse%7D%2C%22playlist%22%3A%5B%7B%22baseUrl%22%3A%22http%3A//tv.jetbrains.net%22%2C%22autoBuffering%22%3Atrue%2C%22url%22%3A%22http%3A//tv.jetbrains.net/sites/default/files/videos/converted/dotPeek_intro.mp4%22%2C%22pageUrl%22%3A%22http%3A//tv.jetbrains.net/videocontent/introducing-jetbrains-dotpeek%22%2C%22scaling%22%3A%22orig%22%2C%22autoPlay%22%3Afalse%7D%5D%7D&quot; /&gt;&lt;/object&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/1559093633126339787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2012/08/explore-assemblies-with-dotpeek.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/1559093633126339787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/1559093633126339787'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2012/08/explore-assemblies-with-dotpeek.html' title='Explore assemblies with dotPeek'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-6992703183397282400</id><published>2012-02-28T09:29:00.000-08:00</published><updated>2012-02-28T10:02:17.639-08:00</updated><title type='text'>String enumerations for C#</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;As a language C# has come a long way from the days beginning from version 1.0 beta. But still it&#39;s hard to believe that there&#39;s no Enumeration support for strings built in. There are several solutions available by several people on the internet, but I thought of putting together my version because it contains a slight additional bit to it (thanks Aravinthan on your thoughts)&lt;br/&gt;The main reason for which I felt it&#39;s needed was to give a type safely to methods so that the level of mistakes done in method usage could be reduced through string enumerations rather than being just strings.&lt;br/&gt;Here&#39;s an example of what I&#39;m talking about.&lt;br/&gt;&lt;img style=&#39;max-width: 800px;&#39; src=&#39;http://lh3.ggpht.com/-E6YQmYRyxkM/T00Uw_y2ZeI/AAAAAAAAAJw/atfiqqpIiXw/%25255BUNSET%25255D.png?imgmax=800&#39;/&gt;&lt;br/&gt;As you can see above, the sender email address was just type of string, making it possible to easily make a mistake and pass in any string value into it. Actually in our case the sender email should be one of the configured email addresses in the web.config. So instead of the sender email being string, a string Enumeration was ideal.&lt;br/&gt;&lt;img style=&#39;max-width: 800px;&#39; src=&#39;http://lh6.ggpht.com/-ufZcuRCpk6U/T00VdN94nyI/AAAAAAAAAJ4/u1LuLjozzjE/%25255BUNSET%25255D.png?imgmax=800&#39;/&gt;&lt;br/&gt;With the above Enumeration class the method could be made more type safe and avoid mistakes like below. &lt;br/&gt;&lt;img style=&#39;max-width: 800px;&#39; src=&#39;http://lh5.ggpht.com/-rHZZ8w8WrTI/T00V5ZjSH7I/AAAAAAAAAKA/mALJH5nyVdI/%25255BUNSET%25255D.png?imgmax=800&#39;/&gt;&lt;br/&gt;And the icing on the cake is , the implicit operator implementation, which makes nice to read when using the same enumeration in places like assignments, without explicit casting.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/6992703183397282400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2012/02/string-enumerations-for-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/6992703183397282400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/6992703183397282400'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2012/02/string-enumerations-for-c.html' title='String enumerations for C#'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-E6YQmYRyxkM/T00Uw_y2ZeI/AAAAAAAAAJw/atfiqqpIiXw/s72-c/%25255BUNSET%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-3772767656942206943</id><published>2012-01-23T10:10:00.000-08:00</published><updated>2012-07-13T23:39:11.473-07:00</updated><title type='text'>Jupiter is lot closer than you think. Umbraco - The friendly CMS</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;br/&gt;   &lt;img src=&#39;http://lh6.ggpht.com/-mFbI-bTdmJk/Tx2ishQOnOI/AAAAAAAAAIs/4MyfGcg3gFc/%25255BUNSET%25255D.png?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;  &lt;br/&gt;I checked out Umbraco back then when it was at version 4.0 and it was showing promising stuff with it&#39;s extensible and friendly features. Even though it was great even at that time, it was built on top of ASP.Net Web Forms technology together with XSLT based extensibility.&lt;br/&gt;&lt;div align=&#39;right&#39;&gt;&lt;div align=&#39;left&#39;&gt;When I recently checked the status of it, I was amazed to see that  the Umbraco team has revamped the whole implementation with  the latest and great new technologies like  ASP.Net MVC 3 together with Razor view engine. Code named version &quot;Jupiter&quot; is  now at RC2 and almost near for it&#39;s final release.&lt;br/&gt;&lt;/div&gt;&lt;div align=&#39;left&#39;&gt;And trying it out even the RC versions was pain less. &lt;br/&gt;&lt;a href=&#39;http://umbraco.com/&#39;&gt;http://umbraco.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Update:It was a shocking news, that Umbraco team have given up on the version 5, the whole community eagerly awaited for. &lt;a href=&#39;http://umbraco.com/follow-us/blog-archive/2012/6/13/v5-rip.aspx&#39;&gt;v5 RIP&lt;/a&gt;&lt;br/&gt;According to the &lt;a href=&#39;http://umbraco.com/follow-us/blog-archive/2012/6/13/cg12-keynote-video.aspx&#39;&gt;keynotes at the CodeGarden&lt;/a&gt;, it&#39;s for the betterment of Umbraco itself, to re-focus on the key values Umbraco promised to provide.&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/3772767656942206943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2012/01/jupiter-is-lot-closer-than-you-think.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3772767656942206943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3772767656942206943'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2012/01/jupiter-is-lot-closer-than-you-think.html' title='Jupiter is lot closer than you think. Umbraco - The friendly CMS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-mFbI-bTdmJk/Tx2ishQOnOI/AAAAAAAAAIs/4MyfGcg3gFc/s72-c/%25255BUNSET%25255D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-8987141038892058114</id><published>2011-10-03T11:35:00.000-07:00</published><updated>2011-10-03T11:42:33.624-07:00</updated><title type='text'>Pushing Visual Studio Extension updates - ReviewPal</title><content type='html'>&lt;div&gt;I found a little time lately to have a look at the status of my Visual Studio Extention &quot;ReviewPal&quot;, to do some enhancements and I noticed that there are some enhancements already being asked by some users on Codepex where it&#39;s shared on. &lt;br /&gt;&lt;a href=&quot;http://reviewpal.codeplex.com/&quot;&gt;ReviewPal on Codeplex&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Given that were around 600 downloads and user comments, I had to to the enhancements and actually I addressed the once reported in Codeplex.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;One of the nice features of publishing an extension on Visual Studio gallery was, it provides an automatic Updates checking and update installation feature. So I went ahead and published the updated version on the Visual Studio Gallery. But when I try to check updates through Visual Studio Extension Manager, it was reporting a message like, &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&quot;&lt;em&gt;A connection to the server could not be established because the following error occurred&lt;/em&gt;&quot;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Actually this seems to be an issue with the Visual Studio (hard to believe this type of issue still exists on Visual Studio), and a little configuration change fixed the issue, which gave me the expected update working for ReviewPal.&lt;br /&gt;&lt;img src=&quot;http://lh4.ggpht.com/-MuaNHt0T6N4/TooBhnH_ikI/AAAAAAAAAH0/p8qHpuHYVXA/%25255BUNSET%25255D.png&quot; alt=&quot;&quot; width=&quot;605&quot; height=&quot;344&quot; /&gt;&lt;br /&gt;&lt;p&gt;reference to setting the Visual Studio Config file to get the online updates working.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/2859148/visual-studio-2010-cannot-connect-for-any-online-resource&quot;&gt;http://stackoverflow.com/questions/2859148/visual-studio-2010-cannot-connect-for-any-online-resource&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/8987141038892058114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/10/pushing-visual-studio-extension-updates.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8987141038892058114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8987141038892058114'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/10/pushing-visual-studio-extension-updates.html' title='Pushing Visual Studio Extension updates - ReviewPal'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-MuaNHt0T6N4/TooBhnH_ikI/AAAAAAAAAH0/p8qHpuHYVXA/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-5051764395218898284</id><published>2011-09-01T23:34:00.001-07:00</published><updated>2011-09-26T22:07:54.605-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Missing SQL Server 2008 profiler Templates</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
Recently I noticed that the default trace templates coming along with the SQL Server 2008 were missing and even worse when ever we save our own trace templates, goes missing as well. quick search pointed that it&#39;s a known issue and the workaround is to copy the folder &lt;br /&gt;
&lt;a href=&quot;http://connect.microsoft.com/SQLServer/feedback/details/382515/sql-server-2008-profiler-has-no-templates&quot;&gt;SQL Server 2008 Profiler has no templates&lt;/a&gt;&lt;br /&gt;
&quot;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Profiler\Templates\Microsoft SQL Server\100&quot; &lt;br /&gt;
into a folder named &quot;1050&quot; at the same level.&lt;br /&gt;
i.e.&lt;br /&gt;
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Profiler\Templates\Microsoft SQL Server\1050&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/5051764395218898284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/09/missing-sql-server-2008-profiler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5051764395218898284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5051764395218898284'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/09/missing-sql-server-2008-profiler.html' title='Missing SQL Server 2008 profiler Templates'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-2596209231256550256</id><published>2011-08-19T12:07:00.001-07:00</published><updated>2013-02-21T09:15:13.064-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><title type='text'>SkypePop - Skype Notifications Enhanced</title><content type='html'>&lt;div&gt;&lt;img src=&quot;http://lh4.ggpht.com/-rsGqi5T3-58/Tn4OeYCUqpI/AAAAAAAAAHs/BcqJDS35pV4/%25255BUNSET%25255D.png&quot; alt=&quot;&quot; width=&quot;128&quot; height=&quot;128&quot; /&gt;Instant messaging is something that we can&#39;t work without these day, (I&#39;m talking about those who work on computers all day). As good as IMs help us in day today work, they give us enough distractions when we are working on something with full concentration.&lt;/div&gt;&lt;div&gt;If you are used to multiple IMs (yahoo, Live, Gtalk, Skype etc..) it could be a disaster :). To overcome the problems with multiple IMs, &lt;a href=&quot;http://www.digsby.com/&quot;&gt;Digsby&lt;/a&gt; was one of my favorites. Even though I don&#39;t use it now, it had a great feature, in their own words&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;&quot;Multitask while you chat. Minimize the IM window and you see popups of new IM&#39;s. Best of all,&lt;/p&gt;&lt;p&gt;you can reply right from the popup and get back to what you were doing.&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;p&gt;Digsby didn&#39;t support Skype as well as I didn&#39;t find Skype having the above feature or anything closer to it (new layouts Skype coming up is not that user friendly, so I&#39;m still stuck with their multi-window mode).&lt;/p&gt;&lt;p&gt;All that said, I couldn&#39;t stand the fact that, when ever new Skype message comes in, I have to click on the Taskbar  Skype and focus the Skype window to see the new message and in case it&#39;s a group chat, mostly I end up just reading the message and hardly replying. So after searching for a readily available option and not finding one, I had to comeup with a solution for my problem and the result was &quot;SkypePop&quot;, a Utility application to run hand in hand with Skype to provide the Digsby like feature, to work with Skype with less distraction.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;youtube-video&quot;&gt;&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/urD8JAGBZWo&amp;amp;feature=youtube_gdata_player&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt; &lt;embed type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;355&quot; src=&quot;http://www.youtube.com/v/urD8JAGBZWo&amp;amp;feature=youtube_gdata_player&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;p&gt;Try it out yourself and your feedback could lead me to enhance this application further, with features you&#39;d like to be included.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Usage Instructions:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/chathurangaw/file-cabinet/SkypePop.zip?attredirects=0&amp;amp;d=1&quot;&gt;Download the full package here&lt;/a&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Once downloaded, run the &quot;InstallCom.bat&quot; to get the &quot;Skype4COM.dll&quot; registered on your machine.&lt;/li&gt;&lt;li&gt;When you run the &quot;SkypePop.exe&quot;, Click &quot;Allow access&quot; for the confirmation popped up from Skype.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN-LQLWtmr4P56v2ChOaAulo21_jSdGDzKsqkaYwx_VuFyDtLhvvBxQ2Rxj-eMpo762uR4yEJQHoWhyphenhyphenjdGpx-uuXYH7i6dZKcO7ECOqjw6laCc80Y0FpDVM_RHcPVaNz-eHFQtydviL-t4/s1600/SkypePopAccess.png&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5642646527334182594&quot; style=&quot;cursor: hand; display: block; height: 90px; margin: 0px auto 10px; text-align: center; width: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN-LQLWtmr4P56v2ChOaAulo21_jSdGDzKsqkaYwx_VuFyDtLhvvBxQ2Rxj-eMpo762uR4yEJQHoWhyphenhyphenjdGpx-uuXYH7i6dZKcO7ECOqjw6laCc80Y0FpDVM_RHcPVaNz-eHFQtydviL-t4/s320/SkypePopAccess.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/chathurangaw/file-cabinet/SkypePopUpdate.zip?attredirects=0&amp;amp;d=1&quot;&gt;Updated exe with enhancement and bug fixes here&lt;/a&gt;&lt;br /&gt;Update History&lt;br /&gt;version 1.0.1&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Display from which chat, the message came in.&lt;/li&gt;&lt;li&gt;Show to whom the typed in message would be sent to, in watermark text.&lt;/li&gt;&lt;li&gt;Fix for mouse event behavior on the edge of the screen.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;version 1.0.2&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Settings added for Start-up on windows start-up and customizing the popup location.&lt;/li&gt;&lt;li&gt;Now handles Skype start-ups exits together with windows shutdown events.&lt;/li&gt;&lt;li&gt;Slide out made to be fade away so that it&#39;s less prominent to users.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;p style=&quot;color: #000000;&quot;&gt;version 1.0.3&lt;/p&gt;&lt;ul style=&quot;color: #000000;&quot;&gt;&lt;li&gt;Avoided Poping the message when the user is on &quot;Do not disturb mode&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://stackoverflow.com/questions/3674934/how-to-display-a-notification-even-when-a-full-screen-application-is-currently-ru&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/2596209231256550256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/08/skypepop-skype-notifications-enhanced.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2596209231256550256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2596209231256550256'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/08/skypepop-skype-notifications-enhanced.html' title='SkypePop - Skype Notifications Enhanced'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-rsGqi5T3-58/Tn4OeYCUqpI/AAAAAAAAAHs/BcqJDS35pV4/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-569889590282454767</id><published>2011-07-16T04:42:00.001-07:00</published><updated>2011-07-16T04:55:42.945-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><title type='text'>Be close to your SVN repository with Commit Monitor</title><content type='html'>&lt;p&gt;Subversion (SVN) being a source control supporting working in a  disconnected manner, it&#39;s always good to be working on top of the latest  code base to avoid the possible conflicts with others work. One way to  be in synched is to be alerted on the latest SVN commits.&lt;/p&gt;&lt;div&gt;SVN supports this through SVN hooks. We  had a SVN post-commit hook setup to send out an email to the team with a  link to a WebSVN so that we can see the diff just by clicking on the  link. Viewing the diff is specially important to those who want to track  what&#39;s going on and to give feedback to the team for improvement. Drawback on this setup is we&#39;ll end up with lot of emails in the mailbox as well as we need to maintain WebSVN additionally.&lt;br /&gt; In order to avoid above drawbacks, I looked outside for an option and what I found seemed to fit well for the requirement.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I.e. &lt;a href=&quot;http://tools.tortoisesvn.net/CommitMonitor.html&quot;&gt;CommitMonitor&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;img src=&quot;http://lh3.ggpht.com/-EQnIqiLkDNI/TiF7fGT9jvI/AAAAAAAAAGE/fUqwoBGq1sU/%25255BUNSET%25255D.png&quot; alt=&quot;&quot; width=&quot;550&quot; height=&quot;397&quot; /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Free&lt;/li&gt;&lt;li&gt;lightweight&lt;/li&gt;&lt;li&gt;Integrates with external diff applications via  Tortoise SVN&lt;/li&gt;&lt;li&gt;have a portable edition too&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/569889590282454767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/07/be-close-to-your-svn-repository-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/569889590282454767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/569889590282454767'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/07/be-close-to-your-svn-repository-with.html' title='Be close to your SVN repository with Commit Monitor'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-EQnIqiLkDNI/TiF7fGT9jvI/AAAAAAAAAGE/fUqwoBGq1sU/s72-c/%25255BUNSET%25255D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-4579708787720027825</id><published>2011-04-13T10:49:00.000-07:00</published><updated>2011-04-13T12:00:34.051-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><title type='text'>Avoiding Code Duplications</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Many programmers, actually almost all would agree Code Duplication (Copy/Paste) is bad. But when we look at existing code, we tend to notice there are duplicate code here and there in a project. So it&#39;s good to look &lt;b&gt;why&lt;/b&gt; this happens and &lt;b&gt;why&lt;/b&gt; it&#39;s important to avoid it. Some argue that code duplication have a value in short term, but definitely not in the long run.&lt;br/&gt;Mostly code duplications happen due to reasons like ignorance or not thinking it&#39;s &lt;b&gt;that&lt;/b&gt; important or the universal answer, limited time. Actually in short term it re-leaves the developer from thinking of any refactoring required to get the code reuse rather than duplication, but in the long run such code with duplications will be hard to change, because it may be required to change all the duplicate instances and it&#39;s not readily available where the duplications are.&lt;br/&gt;&lt;br/&gt;Some of the counter arguments are like these,&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Code getting copied are already tested code - true, &lt;b&gt;but what normally happens is slight modifications are needed in the destination and it ends up with mistakes&lt;/b&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Copying the code make it less dependent on other components, which makes deployment/configuration ease - true, &lt;b&gt;but dependency within self-written code shouldn&#39;t be a reason for duplication&lt;/b&gt; &lt;b&gt;(DRY principle should be applied to only self-written code)&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;Avoiding Code Duplication and Increased Dependency is like two sides of the coin and it&#39;s important to know why we should choose the first side most of the time.&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Mainly it&#39;s the maintainability the first reason to avoid the duplications&lt;/li&gt;&lt;li&gt;Copy/paste tends to copy more than we require&lt;/li&gt;&lt;li&gt;Copy/paste of comments tends to make the comments inaccurate by just a bit which increase inaccuracy over time&lt;/li&gt;&lt;/ul&gt;As with any accepted principle in the world, this is not universally applicable. In the pragmatic world we could end up with duplicate code, but it&#39;s important to take them up as refactoring, and when it comes to this stage, it&#39;ll be really useful to have the right tools in place. Specially for addressing Code Duplication, following are two good tools I came across lately for handling a large code bases.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#39;http://www.harukizaemon.com/simian/&#39; target=&#39;_blank&#39;&gt;Simian - Similarity Analyser&lt;/a&gt; - This is not as user friendly as other developer tools, more of a command line tool.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#39;http://getatomiq.com/&#39; target=&#39;_blank&#39;&gt;Atomiq - Code Similarity Finder&lt;/a&gt; - This is much more user friendly and provides nice features.&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh4.ggpht.com/_bUHR8ouases/TaXf9kPQqOI/AAAAAAAAAEg/NLiX7DxKtEg/%5BUNSET%5D.png?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt; &lt;img src=&#39;http://lh4.ggpht.com/_bUHR8ouases/TaXgtiYAipI/AAAAAAAAAEo/HMg4Tpb59b8/%5BUNSET%5D.png?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=01cdbf25-d13e-85d7-9f6b-eed275ef5565&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/4579708787720027825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/04/avoiding-code-duplications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/4579708787720027825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/4579708787720027825'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/04/avoiding-code-duplications.html' title='Avoiding Code Duplications'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_bUHR8ouases/TaXf9kPQqOI/AAAAAAAAAEg/NLiX7DxKtEg/s72-c/%5BUNSET%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-8614527813491196880</id><published>2011-03-01T10:28:00.000-08:00</published><updated>2011-04-13T11:59:53.415-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><title type='text'>Jolicloud - For people who live on the Web</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;I was looking forward to install and see Chrome OS my self, but it not being available officially, restricted me to install it only on top of VM. And that lead to not a good firsthand experience with the Chrome OS.&lt;br/&gt;&lt;div align=&#39;right&#39;&gt;But  what I stumbled upon yesterday was  unable to neglect but to  try out soon as possible. So tonight I had to try it out.  This is nothing other than &lt;a href=&#39;http://www.jolicloud.com/&#39; target=&#39;_blank&#39;&gt;Jolicould&lt;/a&gt;&lt;br/&gt;&lt;div align=&#39;center&#39;&gt;&lt;img src=&#39;http://lh5.ggpht.com/_bUHR8ouases/TW03K4iwd9I/AAAAAAAAAEc/Nvst7ZhmMw0/%5BUNSET%5D.png?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;&lt;div align=&#39;justify&#39;&gt;It&#39;s target machines are Netbooks but it&#39;s ready to boot up your 10 years old machine as well. Boots up in seconds and no driver issues. Even thought it can access the local hard drive, primary idea is to use the applications on the could. Even though some of the applications are natively installed (ex. skype), it questions the point whether we really need a local storage or high performance machines from a normal web user&#39;s perspective (very practically). A good example is, I looked for a music player on jolicloud, and immediately noticed that &quot;Grooveshark&quot; is there, which doesn&#39;t really need locally saved mp3s anymore but play them directly on the web.&lt;br/&gt;Last but not least, Jolicloud has approached the current market with a good strategy of co-existence with Windows. That is, it can be installed along side windows as a dual boot and installation is very safe. Can be installed on the same partition as windows and I even so a possibility of uninstalling Jolicould from windows control panel (which I haven&#39;t tried yet).&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=984ace61-4abc-8797-acd3-7eccbf880963&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/8614527813491196880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/03/jolicloud-for-people-who-live-on-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8614527813491196880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8614527813491196880'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/03/jolicloud-for-people-who-live-on-web.html' title='Jolicloud - For people who live on the Web'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_bUHR8ouases/TW03K4iwd9I/AAAAAAAAAEc/Nvst7ZhmMw0/s72-c/%5BUNSET%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-5614224690556851294</id><published>2011-01-30T01:38:00.000-08:00</published><updated>2011-04-13T11:58:44.867-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>ReviewPal now on Visual Studio Gallery</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Finally my extension for Visual Studio made it to the Visual Studio Gallery,&lt;a href=&#39;http://visualstudiogallery.msdn.microsoft.com/d1e40c49-da36-42a5-8d5a-4ebe1feabbc9&#39; target=&#39;_blank&#39;&gt;&quot;ReviewPal on Visual Studio Gallery&quot;&lt;/a&gt;. Feel free to use it and your feedback is more than welcome.&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;center&#39;&gt;&lt;img style=&#39;max-width: 800px;&#39; src=&#39;http://lh4.ggpht.com/_bUHR8ouases/TUZUWoG7uHI/AAAAAAAAAEU/Spy7BrsTjSQ/%5BUNSET%5D.jpg?imgmax=800&#39;/&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=850ad922-68d1-8f50-86aa-005401967526&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/5614224690556851294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/01/reviewpal-now-on-visual-studio-gallery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5614224690556851294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5614224690556851294'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/01/reviewpal-now-on-visual-studio-gallery.html' title='ReviewPal now on Visual Studio Gallery'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_bUHR8ouases/TUZUWoG7uHI/AAAAAAAAAEU/Spy7BrsTjSQ/s72-c/%5BUNSET%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-489280371104820086</id><published>2011-01-29T23:25:00.000-08:00</published><updated>2011-04-13T11:57:53.138-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>ReviewPal continues... Visual Stuio 2010 extension is ready</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;ReviewPal extension for Visual Studio 2010 is ready. This time I&#39;m not only publishing the extension, I&#39;m open sourcing the code for both the Visual Studio 2008 Add-In and 2010 Extension at Codeplex. You can check it out at &lt;a href=&#39;http://reviewpal.codeplex.com/&#39; target=&#39;_blank&#39;&gt;reviewpal.codeplex.com&lt;/a&gt;. You are more than welcome to try it out and give feedback. &lt;br/&gt;&lt;div align=&#39;right&#39;&gt;&lt;div align=&#39;left&#39;&gt;Following are some screen-shots from the Visual Studio 2010 Extension.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;/div&gt;&lt;div align=&#39;center&#39;&gt;&lt;img src=&#39;http://lh3.ggpht.com/_bUHR8ouases/TUUPohITsvI/AAAAAAAAAD0/XOPMXIOaKjM/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;1. Installing the extension&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh3.ggpht.com/_bUHR8ouases/TUUP3Cnh18I/AAAAAAAAAD4/YUIzhphSbUo/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;2. ReviewPal shown in Extension Manager&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh3.ggpht.com/_bUHR8ouases/TUUQGD9dXPI/AAAAAAAAAD8/BRMtgHMB890/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;3. ReviewPal running within Visual Studio 2010&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh4.ggpht.com/_bUHR8ouases/TUUQX0D_MNI/AAAAAAAAAEA/4rEqbc9v584/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;4. Review summary Window&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh5.ggpht.com/_bUHR8ouases/TUUQolGhTEI/AAAAAAAAAEE/EF-0Tiwuvvw/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;5. Adding a new review item&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh5.ggpht.com/_bUHR8ouases/TUUR_pSh6dI/AAAAAAAAAEI/LFoTkllsULE/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;6. Saved Review list from ReviewPal, readable using any browser&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;&lt;br/&gt;Hopefully the Extension will be published on Visual Studio Gallery tomorrow.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=6ce09324-535e-82a4-8a82-c7bf63433f33&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/489280371104820086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2011/01/reviewpal-continues-visual-stuio-2010.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/489280371104820086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/489280371104820086'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2011/01/reviewpal-continues-visual-stuio-2010.html' title='ReviewPal continues... Visual Stuio 2010 extension is ready'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_bUHR8ouases/TUUPohITsvI/AAAAAAAAAD0/XOPMXIOaKjM/s72-c/%5BUNSET%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-2450644950729374893</id><published>2010-12-29T20:36:00.000-08:00</published><updated>2011-04-13T11:57:35.313-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Review Pal - Visual Studio 2008 Plug-In, Continues...</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;It &#39;s been more than a year, since I published the first version of my .Net code review add-in, &lt;b&gt;ReviePal&lt;/b&gt; for Visual studio back in November 2009 (&lt;a href=&#39;http://chathurangaw.blogspot.com/2009/11/review-pal-visual-studio-2008-plug-in_03.html&#39;&gt;here&lt;/a&gt;). Since then I always wanted to put some time on this to do some enhancements and share it with others. After all this time, I found some spare time for this recently and did some modifications to it. I think a set of screen shots would explain it better.&lt;br/&gt;&lt;div align=&#39;center&#39;&gt;&lt;img src=&#39;http://lh6.ggpht.com/_bUHR8ouases/TRwKl0x23CI/AAAAAAAAADc/NRqsKTnru5w/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;1.Active the ReviewPal Add-in / Reopen the ReveiwPal tool review list&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh3.ggpht.com/_bUHR8ouases/TRwK2qt0ZsI/AAAAAAAAADg/0VLhpV2C7Oo/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;2. Review entries&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh6.ggpht.com/_bUHR8ouases/TRwLAlerPNI/AAAAAAAAADk/WX7DGEhFT_A/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;3.Update review summary&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh6.ggpht.com/_bUHR8ouases/TRwLFav0TQI/AAAAAAAAADo/cO7mHC4DJ5Y/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;4.Save review details.&lt;br/&gt;&lt;br/&gt;&lt;img src=&#39;http://lh6.ggpht.com/_bUHR8ouases/TRwMFqm71iI/AAAAAAAAADs/84TUu2HRZns/%5BUNSET%5D.jpg?imgmax=800&#39; style=&#39;max-width: 800px;&#39;/&gt;&lt;br/&gt;5. Saved review pal visible on from a browser.&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;The main feature added in this version (other than the tool menu item and nice icons), is instead of having two features, &lt;br/&gt;&lt;br/&gt;1. &lt;b&gt;Save &lt;/b&gt;the review list to a XML file&lt;br/&gt;2. &lt;b&gt;Export &lt;/b&gt;review list to a html file.&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;Now I have merged the two things together as &lt;b&gt;SAVE&lt;/b&gt;, so that user doesn&#39;t need to maintain two files, but all in the same html file universally accessible on a browser. This update to the Visual Studio 2008 version was done , because I&#39;m working on to move this forward as a Extension for Visual Studio 2010. For anyone to use this add-in with Visual Studio 2008, you can &lt;a href=&#39;https://sites.google.com/site/chathurangaw/file-cabinet/ReviewPal2008.zip?attredirects=0&amp;amp;d=1&#39;&gt;download it from here&lt;/a&gt;. Contact me if anyone needs the source code.&lt;br/&gt;&lt;br/&gt;stay tuned for the Visual Studio 2010 Extension soon.&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=ce436a7a-6ded-8760-843a-4d15d6191cab&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/2450644950729374893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/review-pal-visual-studio-2008-plug-in.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2450644950729374893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2450644950729374893'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/review-pal-visual-studio-2008-plug-in.html' title='Review Pal - Visual Studio 2008 Plug-In, Continues...'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_bUHR8ouases/TRwKl0x23CI/AAAAAAAAADc/NRqsKTnru5w/s72-c/%5BUNSET%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-3811505209467061810</id><published>2010-12-18T09:26:00.000-08:00</published><updated>2011-04-13T11:56:00.222-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type='text'>Lag between Commit and select with Distributed Transactions when two connections are enlisted to the transaction in Oracle with ODAC</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Recently I came across a wired behavior in the application we are currently working on, to simply put a SELECT on the database doesn&#39;t return the data we committed to the same database just a few milliseconds before. The environment was .Net 3.5 connecting to a Oralce 11g database over ODAC (Oracle Data Access Components for Oracle).&lt;br/&gt;&lt;div align=&#39;right&#39;&gt;For this behavior to be  visible,  the  code has to be  accessing the same  record soon after doing an update (just after several milliseconds) and the operation  has to be incorporated with a distributed transaction with another oracle database  too. May be due to the too specific  nature of the  conditions to see this issue,  I couldn&#39;t find  any resources even on the internet for several  hours. and finally  I came across some links which described an issue with Oracle which became a  feature  in later releases, which possibly be related with  the problem I&#39;m facing.&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&#39;http://www.oracledba.co.uk/tips/lgwr_dilemma.htm&#39;&gt;The LGWR dilemma&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#39;http://www.rampant-books.com/art_oracle_commit_parameters.htm&#39;&gt;Oracle Commit Parameters&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#39;http://www.orafaq.com/node/93&#39;&gt;10gR2 New Feature: Asynchronous Commit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align=&#39;justify&#39;&gt;These links were talking about a possibility of controlling the commit behavior of Oracle, it to be synchronous or asynchronous. But with ODAC, this feature didn&#39;t appear to be exposed. In fact, ODAC documentation provided two methods Commit - which is SAID TO BE synchronous, and also a BeginCommit method for asynchronous usage. It was very disappointing to not find much documentation on this as much as I would have liked.&lt;br/&gt;In the end, the only viable solution for us was to implement a retry after a delay  behavior in our code, to retry the operation after about 10 milliseconds, to recover from the problem which occurs very rarely.&lt;br/&gt;Here&#39;s the &lt;a href=&#39;http://stackoverflow.com/questions/4312497/delay-lag-between-commit-and-select-with-distributed-transactions-when-two-conn&#39;&gt;StackOverflow question I asked on this&lt;/a&gt;.&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=3f55a76c-7afa-891b-9b9e-32ffb8e240d1&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/3811505209467061810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/lag-between-commit-and-select-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3811505209467061810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/3811505209467061810'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/lag-between-commit-and-select-with.html' title='Lag between Commit and select with Distributed Transactions when two connections are enlisted to the transaction in Oracle with ODAC'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-5357717779866222252</id><published>2010-12-02T10:08:00.000-08:00</published><updated>2011-04-13T11:55:40.092-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Tricks"/><title type='text'>Keep your precious files backed up on the web with &amp;quot;SugarSync&amp;quot;</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;As anyone would like, I&#39;d like to not loose my notes, snippets etc on an unexpected situation like a hard disk failure. So recently I had a little time searching for a solution for this, and basically I wanted to backup some of my files online so that I won&#39;t loose them unexpectedly.&lt;br/&gt;&lt;div align=&#39;right&#39;&gt;Additionally I had more  preferred requirements,&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Backed up files should be  available even offline, when I don&#39;t have internet access.&lt;/li&gt;&lt;li&gt;Backing up of data should be automatic, so that I should not be required to remember and backup time to time.&lt;/li&gt;&lt;li&gt;I should have access to backed up files even from any  another computer , which I might want to get access  suddenly.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;I came across many options for online backups, few of them being, &lt;br/&gt;&lt;ul&gt;&lt;li&gt;Google Docs - which misses requirement #1.&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Windows Live SkyDrive - which misses requirement #1 &amp;amp; #2.&lt;/li&gt;&lt;/ul&gt;But luckily I found a good solution, &lt;a href=&#39;https://www.sugarsync.com/referral?rf=7j67h6b5kpms&#39;&gt;&lt;b&gt;SugarSync&lt;/b&gt;&lt;/a&gt; which provides the features I was looking for, seamless offline access to files, automatic backing up of file then and there when I update files, and also the accessibility to my backed up files from any machine with a internet connection, as they call it, &lt;div align=&#39;right&#39;&gt;&lt;blockquote&gt;&lt;div align=&#39;center&#39;&gt;&lt;i&gt;&lt;b&gt;&quot;Access all your data Anytime, anywhere, from any device&quot;&lt;/b&gt; &lt;br/&gt;,and the best part, free account starting with 5GB.&lt;b&gt;&lt;br/&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div align=&#39;left&#39;&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;br/&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=ce186ff0-8b1a-80b1-91c5-57e6ce7f4a70&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/5357717779866222252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/keep-your-precious-files-backed-up-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5357717779866222252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/5357717779866222252'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/12/keep-your-precious-files-backed-up-on.html' title='Keep your precious files backed up on the web with &amp;quot;SugarSync&amp;quot;'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-2113915276064782201</id><published>2010-09-02T23:53:00.000-07:00</published><updated>2011-04-13T11:55:19.201-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interesting"/><category scheme="http://www.blogger.com/atom/ns#" term="Internet"/><title type='text'>Cool art work on top of the Browser</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;This is totally different kind of thing I recently came across, sharing here because it was just great.&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;&lt;a href=&#39;http://www.thewildernessdowntown.com/&#39;&gt;the wilderness downtown&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;be sure to check it out, a nice art work on top of the browser (chrome) with Html 5.&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=79160d68-7199-8e03-a835-aee314fb5ce3&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/2113915276064782201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/09/cool-art-work-on-top-of-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2113915276064782201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2113915276064782201'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/09/cool-art-work-on-top-of-browser.html' title='Cool art work on top of the Browser'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-2400118419541648748</id><published>2010-08-22T01:20:00.000-07:00</published><updated>2011-04-13T11:54:36.566-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type='text'>Deployment tips for ASP.Net web applications, which uses Oracle Data Access Components (ODAC)</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;div align=&#39;justify&#39;&gt;I had not time to do any blogging for nearly a month, due to being busy with a new project we undertook in Vancouver Canada. And yet it was an interesting piece of software to work on, a data synchronization software between an Enterprise Oracle database and a large number of SQL Express data bases on client locations.&lt;br/&gt;&lt;/div&gt;&lt;div align=&#39;justify&#39;&gt;Things were working well in the development environment, but we had trouble when we tried to deploy the same on a Windows Server 2003 64 bit box. The issues mainly  were seen due to the fact that server was running on 64 bit OS.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;div align=&#39;justify&#39;&gt;Firstly the issue was that we built the .Net code in 32 bit development machines with the target platform as - Any CPU. But since the ODAC components were not available for 64 bit Oracle 11g), we had to rebuild the code specifically targeting x86 , from the project properties for .Net projects. This was easy to track down and worked for Non IIS based application server components.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&#39;justify&#39;&gt;But when it comes to IIS based application server components, the story was different, since they are hosted within the IIS/ASP.Net runtime. The IIS on the server box was by default set to run in 64 bit mode. And our IIS based application was not able to load properly, since our applications were relying on the 32 bit ODAC components. So the trick was to run the IIS 6.0 on windows server 2003 in 32 bit mode (of cause after some hours of digging in).&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Here are the steps to do it.&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Click &lt;strong class=&#39;uiterm&#39;&gt;Start&lt;/strong&gt;, click &lt;strong class=&#39;uiterm&#39;&gt;Run&lt;/strong&gt;, type &lt;span class=&#39;userInput&#39;&gt;cmd&lt;/span&gt;, and then click &lt;strong class=&#39;uiterm&#39;&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Type the following command to enable the 32-bit mode:&lt;div class=&#39;indent&#39;&gt;&lt;small&gt;&lt;b&gt;&lt;span class=&#39;userInput&#39;&gt;cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1&lt;/span&gt;&lt;/b&gt;&lt;/small&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Type the following command to install the version of ASP.NET 2.0  (32-bit) and to install the script maps at the IIS root and under:&lt;div class=&#39;indent&#39;&gt;&lt;small&gt;&lt;span class=&#39;userInput&#39;&gt;&lt;b&gt;%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i&lt;/b&gt; &lt;/span&gt;&lt;/small&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Make sure that the status of ASP.NET version 2.0.50727 (32-bit) is set to &lt;b&gt;Allowed&lt;/b&gt; in the Web service extension list in Internet Information Services Manager.&lt;/li&gt;&lt;/ol&gt;More details on &lt;a href=&#39;http://support.microsoft.com/kb/894435&#39;&gt;How to switch between the 32-bit versions of ASP.NET 1.1 and the 64-bit version of ASP.NET 2.0 on a 64-bit version of Windows&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;justify&#39;&gt;We were not yet over with the problems, as our WCF based server component was still throwing an exception which was working fine in development environment. The exception was as below, which seemed more like a WCF configuration issue, making us rethink about the WCF bindings and endpoint configurations. But it wasn&#39;t the case.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;b&gt;&lt;small&gt;&lt;i&gt;An error occurred while receiving the HTTP response to http://serverName/WCF_VirtualFolderName/ServiceName.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.&lt;/i&gt;&lt;/small&gt;&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;justify&#39;&gt;After digging more into the issue, the last point to fix was giving permissions to the Network Service user account on the 2003 server to Oracle home folder. It was pretty disappointing from the Oracle documentation point of view on this area, as this should have been documented properly.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=7b61141c-09bd-8ead-a310-af5504a77aa7&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/2400118419541648748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/08/deployment-tips-for-aspnet-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2400118419541648748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2400118419541648748'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/08/deployment-tips-for-aspnet-web.html' title='Deployment tips for ASP.Net web applications, which uses Oracle Data Access Components (ODAC)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-1913718766697491050</id><published>2010-07-08T10:49:00.000-07:00</published><updated>2011-04-13T11:54:04.340-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Development"/><title type='text'>WebMatrix - ASP.net going light weight</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Microsoft made yet another option of developer tools available, &lt;b&gt;WebMatrix&lt;/b&gt; making the tool/edition selection one more step confusing for the the users or developers. The primary target of this seems to be packaging up the light weight solutions they have been making publicly available lately, so that it&#39;ll be even easier to setup a complete developer environment, along with supporting open source projects.&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;&lt;ul&gt;&lt;li&gt;&lt;font size=&#39;2&#39; face=&#39;arial&#39;&gt;&lt;a target=&#39;_blank&#39; href=&#39;http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx&#39;&gt;IIS Developer Express&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size=&#39;2&#39; face=&#39;arial&#39;&gt;&lt;a target=&#39;_blank&#39; href=&#39;http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx&#39;&gt;SQL Server Compact Edition&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size=&#39;2&#39; face=&#39;arial&#39;&gt;&lt;a target=&#39;_blank&#39; href=&#39;http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx&#39;&gt;ASP.NET “Razor”&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size=&#39;2&#39; face=&#39;arial&#39;&gt;Here&#39;s a nice post on this,&lt;/font&gt;&lt;a href=&#39;http://weblogs.asp.net/scottgu/archive/2010/07/06/introducing-webmatrix.aspx&#39; target=&#39;_blank&#39;&gt;Introducing-webmatrix&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=2ee555a8-07e4-806f-bedb-f2ba9fe118fa&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/1913718766697491050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/07/webmatrix-aspnet-going-light-wight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/1913718766697491050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/1913718766697491050'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/07/webmatrix-aspnet-going-light-wight.html' title='WebMatrix - ASP.net going light weight'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-2333223755843128116</id><published>2010-06-16T10:37:00.000-07:00</published><updated>2011-04-13T11:52:54.798-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><title type='text'>Installer for your Visual Stuio Add-in - Inno Setup to the rescue</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Recently I was looking for a way to create an installer for a Visual Studio Add-in I wrote, to make the deployment easy. The first choice was the Visual Studio based deployment projects. But I did not have much time to spend on this to play around with Visual Studio setup projects or to check up on the up coming &lt;a href=&#39;http://wix.sourceforge.net/&#39; target=&#39;_blank&#39;&gt;Windows Installer XML (Wix)&lt;/a&gt;&lt;br/&gt;But I came across something that was ideal for the task, free and open source &lt;a href=&#39;http://www.jrsoftware.org/isinfo.php&#39; target=&#39;_blank&#39;&gt;Inno Setup&lt;/a&gt;. It won&#39;t be that easy to catch up, for a .Net guy like me, since it&#39;s based on Pascal scripting. But guess what I found &lt;a href=&#39;http://www.mztools.com/articles/2008/MZ2008010.aspx&#39; target=&#39;_blank&#39;&gt;Create a setup 2008 add-in using Inno Setup&lt;/a&gt;, the ideal article I was looking for and it works as it says. &lt;br/&gt;&lt;div align=&#39;right&#39;&gt;And the best part, Inno Setup makes creating multilingual  installers a breeze (once you  understands the model of it ;) of course )&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;left&#39;&gt;Following tools would be handy, to create setup projects and also to learn about scripting for Inno Setup.&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;&lt;li&gt;&lt;a href=&#39;http://www.istool.org/&#39; target=&#39;_blank&#39;&gt;ISTool&lt;/a&gt; (You&#39;ll get this if you install the Inno Setup QuickStart Pack)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#39;http://www.hisoft2000.de/En/index.htm&#39; target=&#39;_blank&#39;&gt;Inno script generator&lt;/a&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=ff2bcc00-0936-8892-9ac1-55c9e93d8855&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/2333223755843128116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/06/installer-for-your-visual-stuio-add-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2333223755843128116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/2333223755843128116'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/06/installer-for-your-visual-stuio-add-in.html' title='Installer for your Visual Stuio Add-in - Inno Setup to the rescue'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-8928277578757131394</id><published>2010-04-20T22:43:00.000-07:00</published><updated>2011-04-13T11:51:03.792-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><title type='text'>Power up SQL Management Studio with Free &amp;#39;Search&amp;#39; from Redgate</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;It&#39;s not always that we get to design a fresh data base and work on fresh code. And when that doesn&#39;t happen (i.e. when we get a working product to do enhancements or re-design), not always we get a clearly documented code base and database layer with properly managed SQL scripts.&lt;br/&gt;Specially on the database side, either you have a good code base (SQL scripts) or not, this tool is going to be really handy to work with to &lt;br/&gt;&lt;ul&gt;&lt;li&gt;Identify references to objects&lt;/li&gt;&lt;li&gt;Find fragments of SQL text within database objects, and navigate to them quickly&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Find impact of changes we are going to apply &lt;br/&gt;&lt;/li&gt;&lt;li&gt;etc&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a target=&#39;_blank&#39; href=&#39;http://www.red-gate.com/products/SQL_Search/index.htm?utm_source=sqlsearchui&amp;amp;utm_medium=textad&amp;amp;utm_content=recommend_sql_search&amp;amp;utm_campaign=sqlsearch&#39;&gt;SQL Search from RedGate&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;img style=&#39;max-width: 800px;&#39; src=&#39;http://lh4.ggpht.com/_bUHR8ouases/S86OiPdJeGI/AAAAAAAAACY/7054UCNV2Ks/%5BUNSET%5D.jpg?imgmax=800&#39;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div align=&#39;right&#39;&gt;And the best part is, it&#39;s totally free, thanks to redgate. I could recommend this as a  must have tool :), for who ever uses  SQL Management Studio.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=f503f12b-1c2c-8063-8a02-9c55d7696500&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/8928277578757131394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/04/power-up-sql-management-studio-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8928277578757131394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/8928277578757131394'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/04/power-up-sql-management-studio-with.html' title='Power up SQL Management Studio with Free &amp;#39;Search&amp;#39; from Redgate'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_bUHR8ouases/S86OiPdJeGI/AAAAAAAAACY/7054UCNV2Ks/s72-c/%5BUNSET%5D.jpg?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4326048260966732748.post-6721090356255793377</id><published>2010-04-14T23:43:00.000-07:00</published><updated>2011-04-13T11:49:58.299-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tricks"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>Get to your frequent Visual Studio projects fast...</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;If you are on Windows 7 and loving the ability of accessing &lt;b&gt;recent documents per application&lt;/b&gt;, you&#39;ll be definitely blaming for Visual Studio 2008 not supporting this. But There&#39;s a workaround until you starts working fully on 2010 Visual studio projects.&lt;br/&gt;Find your Visual Studio “VSLauncher.exe” application.  For me, it was  located in: “C:\Program Files\Common Files\microsoft  shared\MSEnv\VSLauncher.exe”.  Pin that to the taskbar.  You now have  access to your most recently used items and you can also pin shortcuts  to solutions and projects to that icon.&lt;br/&gt;&lt;br/&gt;Additionally you have Visual Studio 2010 icon on your Taskbar as pinned programs  ;) if you have installed 2010 of course.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class=&#39;zemanta-pixie&#39;&gt;&lt;img src=&#39;http://img.zemanta.com/pixy.gif?x-id=a096d31b-28f1-894c-bf11-e9a3d1c6b67a&#39; alt=&#39;&#39; class=&#39;zemanta-pixie-img&#39;/&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chathurangaw.blogspot.com/feeds/6721090356255793377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chathurangaw.blogspot.com/2010/04/get-to-your-frequent-visual-stuio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/6721090356255793377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4326048260966732748/posts/default/6721090356255793377'/><link rel='alternate' type='text/html' href='http://chathurangaw.blogspot.com/2010/04/get-to-your-frequent-visual-stuio.html' title='Get to your frequent Visual Studio projects fast...'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/06162076486765163954</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>