<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Arindam Sinha Online</title>
	<atom:link href="http://arindamsinha.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://arindamsinha.wordpress.com</link>
	<description>The perfect computer has been developed. You just feed in your problems and they never come out again.</description>
	<lastBuildDate>Thu, 06 Jan 2011 03:24:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='arindamsinha.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/99189253baca38ad580e32d766a1bb0d?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Arindam Sinha Online</title>
		<link>http://arindamsinha.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://arindamsinha.wordpress.com/osd.xml" title="Arindam Sinha Online" />
	<atom:link rel='hub' href='http://arindamsinha.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Communication Reinvented &#8211; Google Voice</title>
		<link>http://arindamsinha.wordpress.com/2010/06/25/communication-reinvented-google-voice/</link>
		<comments>http://arindamsinha.wordpress.com/2010/06/25/communication-reinvented-google-voice/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:37:54 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Voice]]></category>
		<category><![CDATA[voice mail]]></category>

		<guid isPermaLink="false">https://arindamsinha.wordpress.com/2010/06/25/communication-reinvented-google-voice/</guid>
		<description><![CDATA[In today&#8217;s world we are surrounded with land phone, mobile phones (some times more than one), office phones etc. A day without a phone feels like we are disconnected from the world. Now you might be thinking what else could be added to this avenue. First I will cover some of the points which all [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=174&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s world we are surrounded with land phone, mobile phones (some times more than one), office phones etc. A day without a phone feels like we are disconnected from the world.</p>
<p>Now you might be thinking what else could be added to this avenue. First I will cover some of the points which all of us face today -</p>
<ul>
<li>As you are having multiple numbers, your friends relatives try to reach you over all these numbers. </li>
<li>If someone is not able to reach after trying all these, he/she leaves a voice mail which you need to track by dialing voice mail box of the exact where the message was left. </li>
<li>Also, voice messages are not stored forever. </li>
<li>You also subscribe to multiple service providers with multiple device.</li>
</ul>
<p>I think I have already raised some (may be few more)of our common problems which we face daily basis.</p>
<p>Now what could be a better option?</p>
<p>Yes, it&#8217;s Google and they have come up with <a href="http://www.google.com/googlevoice/about.html">Google Voice</a>.</p>
<p>You must be eager to go through the features -</p>
<ul>
<li>Use one number to manage all your phones; your Google Voice number is tied to you, not to a particular device or location. You can choose to keep your existing number (few features will not be available in this case) or ask Google to provide a new number. </li>
<li>You can configure Google Voice with all your other phones (cell phones and landlines) of home or work.Google Voice will route the call directly to voicemail or any of your phones. Google Voice ring all your phones and if you are not where you will be (at home or work), you can pick up the handiest one. </li>
<li>Also Google Voice can store the voice mail so you do not have check all your voice mail inboxes. </li>
<li>Voicemail like email: Save voicemail messages for as long as you&#8217;d like, star important ones, and search through them </li>
<li>Voicemail transcription: Voicemail messages will be automatically transcribed to text and sent to you via email and/or SMS. </li>
<li>Works with mobile phones, desk phones, and work phones. There&#8217;s nothing to download, upload, or install, and you don&#8217;t have to make or take calls using a computer </li>
<li>Custom voicemail greetings: Customize your voicemail greeting based on who is calling. </li>
<li>You can block the callers and many more features available with Google Voice.</li>
</ul>
<p>I leave rest of the features to be explored by my readers <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you are in US, then you should try this out. But rest of the world have to wait till Google Voice is open for all other countries.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=174&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2010/06/25/communication-reinvented-google-voice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>
	</item>
		<item>
		<title>Dress code of Programmer</title>
		<link>http://arindamsinha.wordpress.com/2010/06/25/dress-code-of-programmer/</link>
		<comments>http://arindamsinha.wordpress.com/2010/06/25/dress-code-of-programmer/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:35:03 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[dress code]]></category>
		<category><![CDATA[Programmer]]></category>

		<guid isPermaLink="false">https://arindamsinha.wordpress.com/2010/06/25/dress-code-of-programmer/</guid>
		<description><![CDATA[We are all software developers and we follow some common dressing sense too..I know you must be thinking what&#8217;s new I am talking about. If you are working in an organization you will definitely be following your organization&#8217;s dress code. But my point was a bit different..It&#8217;s not the dress code of any organization that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=173&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We are all software developers and we follow some common dressing sense too..I know you must be thinking </p>
<p>what&#8217;s new I am talking about. If you are working in an organization you will definitely be following your organization&#8217;s dress code.</p>
<p>But my point was a bit different..It&#8217;s not the dress code of any organization that attracted me..Similarity of dress code of </p>
<p>all developers which is of interest..</p>
<p>It&#8217;s coding which enourage the developers to grow the beard, dress casually and long hairs.</p>
<p>If you think this is silly, then please refer to this <a href="http://www.codethinked.com/post/2007/12/The-Programmer-Dress-Code.aspx">post</a> where you can get statistics on dressing senses of all famous programmers in the world..</p>
<p>So what are you waiting for!!! Get growing your beard and hair <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=173&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2010/06/25/dress-code-of-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>
	</item>
		<item>
		<title>Win an iPad</title>
		<link>http://arindamsinha.wordpress.com/2010/06/25/win-an-ipad/</link>
		<comments>http://arindamsinha.wordpress.com/2010/06/25/win-an-ipad/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:31:57 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[iPad]]></category>

		<guid isPermaLink="false">https://arindamsinha.wordpress.com/2010/06/25/win-an-ipad/</guid>
		<description><![CDATA[iPad is the hot topic for the tech savvy people now. I think you also want to bag one. It will be of more plessure if you win one after competing with all technology specialists. You have to write an article for iPad in Codeproject. I think many of you might be intesrested so please [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=171&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>iPad is the hot topic for the tech savvy people now.</p>
<p>I think you also want to bag one. It will be of more plessure if you win one after competing with all technology specialists.</p>
<p>You have to write an article for iPad in <a href="http://www.codeproject.com/Competitions/414/iPhone-Development-Competition.aspx">Codeproject</a>.</p>
<p>I think many of you might be intesrested so please hurry as the end date is July 12th 2010.</p>
<p>You can get this details by clicking <a href="http://www.codeproject.com/Competitions/414/iPhone-Development-Competition.aspx">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=171&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2010/06/25/win-an-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>
	</item>
		<item>
		<title>Rules about Constructors, Destructors, and Finalizers</title>
		<link>http://arindamsinha.wordpress.com/2010/06/25/rules-about-constructors-destructors-and-finalizers/</link>
		<comments>http://arindamsinha.wordpress.com/2010/06/25/rules-about-constructors-destructors-and-finalizers/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:26:04 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Constructors]]></category>
		<category><![CDATA[Destructors]]></category>
		<category><![CDATA[Finalizers]]></category>
		<category><![CDATA[Static Constructor]]></category>

		<guid isPermaLink="false">https://arindamsinha.wordpress.com/2010/06/25/rules-about-constructors-destructors-and-finalizers/</guid>
		<description><![CDATA[In this post I will refer to an article where the author listed out some important rules about contructor, destructor and finalizers. Find the thumbrules below - Rule #1: Contrsuctors are called in descending order Rule #2: In C# lexicology, a destructor and a finalizer refer to the same thing Rule #3: Destructors are called [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=169&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this post I will refer to an <a href="http://www.codeproject.com/Articles/77149/9-Rules-about-Constructors-Destructors-and-Finaliz.aspx?msg=3489297#xx3489297xx">article</a> where the author listed out some important rules about contructor, destructor and finalizers.</p>
<p>Find the thumbrules below -</p>
<p>Rule #1: Contrsuctors are called in descending order   <br />Rule #2: In C# lexicology, a destructor and a finalizer refer to the same thing    <br />Rule #3: Destructors are called in ascending order    <br />Rule #4: Finalizers are a feature of GC-managed objects only    <br />Rule #5: You cannot determine when finalizers would be called    <br />Rule #6: C++/CLI differs between destructors and finalizers    <br />Rule #7: In C++/CLI and classic C++, you can determine when destructors are called    <br />Rule #8: In C++/CLI, destructors and finalizers are not called together    <br />Rule #9: Beware of virtual functions in constructors    <br />Rule #10: User has not control when Static constructor is invoked</p>
<p>The author of the <a href="http://www.codeproject.com/Articles/77149/9-Rules-about-Constructors-Destructors-and-Finaliz.aspx?msg=3489297#xx3489297xx">article</a> has nicely explained the first 9 rules in his article with code snippets. I this should be helpful to all the developers. </p>
<p>The Rule#10 is being added by me and I think the purpose of static constructor should be known to all of us. While using Static constructor we can not decide when this will be executed. Also the following rules are true for static constructor -</p>
<ul>
<li>A static constructor is called automatically to initialize the class before the first instance is created or any static members are referenced&#160; </li>
<li>Static Constructor can not be called directly. </li>
<li>A static constructor does not take access modifiers or have parameter </li>
</ul>
<p>A proper example of using static constructor will be logger classes which will be initialized before any instance is created in the application. Following code snippet will explain how the initialization is done automatically.</p>
<pre>public class Logger
{
 // Static constructor:
 static Logger()
  {
	System.Console.WriteLine(&quot;The static constructor of Logger is invoked.&quot;);
  }
 public static void Log()
 {
	System.Console.WriteLine(&quot;The Log method is invoked.&quot;);
 }
}  

class LogTest
{
 static void Main()
 {
	Logger.Log();
 }
}</pre>
<p>After executing the above code, following will be the output.</p>
<pre>The static constructor of Logger is invoked.</pre>
<pre>The Log method is invoked.</pre>
<p>This signifies that initialization is done automatically. For rest of the rules please read this <a href="http://www.codeproject.com/Articles/77149/9-Rules-about-Constructors-Destructors-and-Finaliz.aspx?msg=3489297#xx3489297xx">article</a>.</p>
<h3><strong>References</strong></h3>
<p><a href="http://msdn.microsoft.com/en-us/library/k9x6w0hc(VS.80).aspx">MSDN</a><a href="http://msdn.microsoft.com/en-us/library/k9x6w0hc(VS.80).aspx"></a></p>
<p><a href="http://www.codeproject.com/Articles/77149/9-Rules-about-Constructors-Destructors-and-Finaliz.aspx?msg=3489297#xx3489297xx">Codeproject</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/169/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=169&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2010/06/25/rules-about-constructors-destructors-and-finalizers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>
	</item>
		<item>
		<title>AutoHotKey &#8211; Customize Windows per your need</title>
		<link>http://arindamsinha.wordpress.com/2010/06/25/autohotkey-customize-windows-per-your-need/</link>
		<comments>http://arindamsinha.wordpress.com/2010/06/25/autohotkey-customize-windows-per-your-need/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 16:20:09 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Auto Hot Key]]></category>
		<category><![CDATA[Hot Key]]></category>

		<guid isPermaLink="false">https://arindamsinha.wordpress.com/2010/06/25/autohotkey-customize-windows-per-your-need/</guid>
		<description><![CDATA[I think all of us like to experiment with smoothly going things. If a system is running safely, we introduce some bugs as part of our experiment knowingly or un-knowingly Jokes apart, I tried to gather some information with which you can customize your own computer system (donot try on your office system ). I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=167&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I think all of us like to experiment with smoothly going things.   <br />If a system is running safely, we introduce some bugs as part of our experiment knowingly or un-knowingly <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />     <br />Jokes apart, I tried to gather some information with which you can customize your own computer system (donot try on your office system <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>I hope you will love to do the following stuffs &#8211;   <br />1. Override or disable Windows shortcut keys like [Windows] + E and [Windows] + R    <br />2. Close unwanted windows the moment they appear    <br />3. Make any window transparent, always-on-top, or alter its shape.    <br />4. Customize the tray icon menu with your own icon, tooltip, menu items, and submenus    <br />5. Display dialog boxes, tooltips, balloon tips, and popup menus to interact with the user</p>
<p>And many more features are availble in <a href="http://www.autohotkey.com/">AutoHotKey</a>.</p>
<p>Autohotkey is basically open-source utility for Windows.</p>
<p>Most importantly, this is free.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=167&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2010/06/25/autohotkey-customize-windows-per-your-need/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Deployment Simplified &#8211; Microsoft&#8217;s Web Deployment Tool</title>
		<link>http://arindamsinha.wordpress.com/2009/12/16/web-deployment-simplified-microsofts-web-deployment-tool/</link>
		<comments>http://arindamsinha.wordpress.com/2009/12/16/web-deployment-simplified-microsofts-web-deployment-tool/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 09:19:00 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web Technology]]></category>
		<category><![CDATA[Web Deployment]]></category>
		<category><![CDATA[Web Deployment Tool]]></category>
		<category><![CDATA[Website Deployment]]></category>

		<guid isPermaLink="false">http://arindamsinha.wordpress.com/2009/12/16/web-deployment-simplified-microsofts-web-deployment-tool/</guid>
		<description><![CDATA[As part of regular Internet Browsing, I came across about Web Deployment Tool. Microsoft has made life easier for the developers and the administrators.In this post, I will high light the features which attracted me. First and foremost, I look for the free tools which can be leveraged to organization level. Web Deployment Tool is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=165&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong></strong></p>
<p>As part of regular Internet Browsing, I came across about <a href="http://learn.iis.net/page.aspx/426/overview-of-the-web-deployment-tool/" target="_blank">Web Deployment Tool</a>. Microsoft has made life easier for the developers and the administrators.In this post, I will high light the features which attracted me. First and foremost, I look for the free tools which can be leveraged to organization level. Web Deployment Tool is certainly one of those.</p>
<h4><strong>What’s Web Deployment Tool?</strong></h4>
<p align="left"><a href="http://arindamsinha.files.wordpress.com/2009/12/web_deployment_tool.jpg"><img title="Web_Deployment_Tool" style="display:inline;margin-left:0;margin-right:0;border-width:0;" height="123" alt="Web_Deployment_Tool" src="http://arindamsinha.files.wordpress.com/2009/12/web_deployment_tool_thumb.jpg?w=166&#038;h=123" width="166" align="left" border="0" /></a>The Web Deployment Tool is an IIS extension, containing essentially a set of tools and a managed framework for simplifying the deployment, management and migration of Web applications, sites and even entire servers.It is a free download and there are no plans to charge for this IIS extension in the future. </p>
<p align="left">In nutshell, this tool simplifies the migration,management and deployment of IIS Web servers, Web Application and Web Sties.Administrators can use command-line scripting with the Web Deployment Tool to synchronize IIS 6.0 and IIS 7.0 servers or to migrate an IIS 6.0 server to IIS 7.0. The Web Deployment Tool also enables administrators and delegated users to use IIS Manager to deploy ASP.NET and PHP applications to an IIS 7.0 server.</p>
<h4><strong>Easy Migration of Web applications between IIS 6.0 and IIS 7.0</strong></h4>
<p>This tool simplifies the migration of web applications between IIS 6.0 to IIS 7.0. This tool determines the incompatibilities and suggests the proposed changes before the process gets started. Knowledge of potential issues in advance, will help the IT People to take corrective actions by simplifying the migration plan.</p>
<h4><strong>Efficient Server Farm Synchronization</strong></h4>
<p>I think this will be very much useful for web-farm scenarios. From my personal experience also, organizations having different environments (like DEV, QA, Integration, Staging and PROD) with multiple servers face difficulties to synchronize the boxes. When different teams work on multiple enhancements, projects the servers become out-of-sync sometimes.</p>
<p>The tool simplifies the synchronization process by automatically determining the configuration, content and certificates to be synchronized for a specific site. In addition to the default behavior, you still have the option to specify additional providers for the synchronization, including databases, COM objects, GAC assemblies and registry settings.</p>
<p>The tool can be used to synchronize a web farm, including deploying new applications or just keeping changes synchronized between the web farm servers. The tool does not currently support a central UI or configuration store for a list of servers in a farm (i.e., syncing multiple machines at once), but you can simply store this list of servers and perform sync operations against each server. These can easily be scheduled using System Center or another scheduling mechanism. Resources that can be synchronized include Web sites or applications, content folders and files, databases, registry keys, assemblies in the GAC and more. You can also build custom “providers” that understand other types of resources that are not supported in-the-box.</p>
<h4><strong>Package, archive and deploy Web applications more easily</strong></h4>
<p>The Web Deployment Tool enables you to package configuration and content of your installed Web applications, including databases, and use the packages for storage or redeployment. These packages can be deployed using IIS Manager without requiring administrative privileges. The tool integrates with Visual Studio 2010 to help developers streamline the deployment of Web applications to the Web server. The tool also integrates with the <a href="http://www.microsoft.com/web/gallery/install.aspx?appid=VWD" target="_blank">Web Platform Installer</a> to allow you to simply and easily install community web applications.</p>
<h4><strong>Key Features</strong></h4>
<ul>
<li>Seamless integration with IIS 7.0 Manager and Visual Studio 2010 interface for creating packages and deploying them onto a machine, both locally and remotely. </li>
<li>Seamless integration with the Web Platform Installer to install community web applications simply and easily. </li>
<li>Web application packaging:
<ul>
<li>Ability to package a Web application or an entire site, including the associated databases. </li>
<li>Ability to package ACLs, COM, GAC and registry settings. </li>
<li>Supports both live servers and zipped packages as a source or destination. </li>
</ul>
</li>
<li>Web application deployment:
<ul>
<li>Administrative privileges are not required in order to deploy Web applications. </li>
<li>Ability to add powerful parameters to change text in files when they are deployed (such as prompting to replace a connection string when deploying from QA to staging environments). </li>
<li>Integration with the IIS 7.0 Web Management Service (WMSVC) for remote deployment by non-administrators. </li>
<li>Server administrators have granular control over the operations that can be performed and can delegate tasks to non-administrators. </li>
</ul>
</li>
<li>Web server migration and synchronization:
<ul>
<li>Ability to synchronize or migrate the entire Web server, a Web site or application. </li>
<li>Synchronizes only the data that has changed. </li>
<li>Ability to detect missing dependencies during synchronization. </li>
<li>Automatically gathers content, IIS configuration, SSL certificates and ASP.NET configuration when you sync a Web site. </li>
</ul>
</li>
<li>In addition to the IIS Manager and Visual Studio 10, tasks can be performed using the command-line, PowerShell cmdlets or public APIs. </li>
</ul>
<h4><strong>References</strong></h4>
<p><a href="http://learn.iis.net/page.aspx/426/overview-of-the-web-deployment-tool/" target="_blank">Overview of the Web Deployment Tool</a></p>
<p><a href="http://www.iis.net/expand/WebDeploymentTool" target="_blank">Web Deployment Tool</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=165&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2009/12/16/web-deployment-simplified-microsofts-web-deployment-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/12/web_deployment_tool_thumb.jpg" medium="image">
			<media:title type="html">Web_Deployment_Tool</media:title>
		</media:content>
	</item>
		<item>
		<title>User Preference using Application Settings</title>
		<link>http://arindamsinha.wordpress.com/2009/08/15/user-preference-using-application-settings/</link>
		<comments>http://arindamsinha.wordpress.com/2009/08/15/user-preference-using-application-settings/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 22:32:36 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows Application]]></category>
		<category><![CDATA[Application Config]]></category>
		<category><![CDATA[Application Settings]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[User Preferences]]></category>

		<guid isPermaLink="false">http://arindamsinha.wordpress.com/2009/08/15/user-preference-using-application-settings/</guid>
		<description><![CDATA[Background It’s very common that we need to provide custom functionalities in our applications to the users in many respect. So that the user can do some operations at runtime. Sometimes user can resize the form, user can change the color, user can change the text etc. Obviously if our application provides all such customizations [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=137&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4><strong>Background</strong></h4>
<p>It’s very common that we need to provide custom functionalities in our applications to the users in many respect. So that the user can do some operations at runtime. Sometimes user can resize the form, user can change the color, user can change the text etc. Obviously if our application provides all such customizations then only user can do. Now the challenge comes &#8211; when user customizes the forms of our application and wants to hold that state when he restarts the application. Per industry’s terminology this is attributed as User Preferences. In this post I would cover a very basic and easy of doing that.</p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/form_initial_load.jpg"><img title="Original Look and Feel" style="display:inline;margin-left:0;margin-right:0;border-width:0;" height="244" alt="Original Look and Feel" src="http://arindamsinha.files.wordpress.com/2009/08/form_initial_load_thumb.jpg?w=213&#038;h=244" width="213" align="left" border="0" /></a><img title="User Preference - After Saving" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="244" alt="User Preference - After Saving" src="http://arindamsinha.files.wordpress.com/2009/08/user_pref_save_thumb.jpg?w=213&#038;h=244" width="213" border="0" /></p>
<p>Suppose, the original look and feel of the form of an application is shown in the above left image. This is the form developer has created with a bluish background and some text. Now the application provides an option to customize the Form’s as well as button’s properties to be modified by the user at runtime. Now user has preferred to save the reddish form and wants to load this next time onwards. I think this problem statement can site a User preference case study. In this post I would take this one as example and would solve this with <a href="http://www.box.net/shared/prktngqtfj" target="_blank">source code</a> as well.&#160;&#160;&#160; </p>
<p><strong></strong></p>
<h4><strong>Approach for implementation of User Preferences</strong></h4>
<p>The better option would have been to store the Form’s state in a serialized format. As Forms are not serializable it would require custom serialization through out the application with some specific properties based on the requirement.</p>
<p>To have some generic approach with a small piece of custom coding we can achieve the same with <a href="http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx" target="_blank">Application Settings</a>.</p>
<h4><strong>What are Application Settings?</strong></h4>
<p>Application settings allow a Windows Forms or ASP.NET application to store and retrieve application-scoped and user-scoped settings. A &quot;setting&quot;, in this context, is any piece of information that may be specific to the application or specific to the current user &#8211; anything from a database connection string to the user&#8217;s preferred default window size. Application settings works by persisting data as XML to configuration (.config) files. In most cases, the application-scoped settings are read-only; because they are program information. By contrast, user-scoped settings can be read and written safely at run time.</p>
<p>If you use Visual Studio, you can define settings within the Windows Forms Designer using the (ApplicationSettings) property in the Properties window. Once the applications settings are created the wrapper class with all those setting are created automatically by Visual Studio.We will discuss later in detail how applications settings are added/deleted/accessed. Now if you want to create your own custom wrapper class to have more control over the settings then this can be achived by writing class inheriting from <a href="http://msdn.microsoft.com/en-us/library/system.configuration.applicationsettingsbase.aspx">ApplicationSettingsBase</a> class. Custom controls can also save their own settings by implementing the <a href="http://msdn.microsoft.com/en-us/library/system.configuration.ipersistcomponentsettings.aspx">IPersistComponentSettings</a> interface, which exposes the <a href="http://msdn.microsoft.com/en-us/library/system.configuration.ipersistcomponentsettings.savesettings.aspx">SaveSettings</a> method.</p>
<h4><strong>Implement User Preferences</strong></h4>
<p>So far we have come to know what’s application scope and user scope. Now we will concentrate on user scope settings with the example shown in above screenshots.</p>
<p>In this example I have created one form on which a button is placed to save the User Preferences. In the form I kept one Tab control with two tab pages each has PropertyGrid to change the properties of Form and Button. First tab page is to change the properties of form whereas second one is for the button.</p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/createapplicationsettings2.jpg"><img title="Create Application Settings" style="display:inline;margin-left:0;margin-right:0;border-width:0;" height="205" alt="Create Application Settings" src="http://arindamsinha.files.wordpress.com/2009/08/createapplicationsettings_thumb2.jpg?w=381&#038;h=205" width="381" align="left" border="0" /></a> </p>
<p>Now we will create some application settings with user-scope. </p>
<h5><strong>To create new Application Settings using Visual Studio -</strong></h5>
<ul>
<li>Select the form or control whose properties you want to bind to the new application setting. </li>
<li>
<p>In the Property Editor, expand the (Application Settings) item, and then click the ellipsis next to the (PropertyBindings) item underneath it.</p>
</li>
<li>
<p>In the Application Settings dialog box, click the drop-down menu for the property you want to bind and select the New command.</p>
</li>
<li>
<p>In the New Application Setting dialog box, configure the setting by giving it a name (e.g. FormForeColor) and a default value (e.g. ControlText) and setting its scope (e.g. <strong>User</strong>).</p>
</li>
</ul>
<p>For the form I have created some application settings as shown in the red marked section in the Property Grid. Also, for the button I have created few application settings like ButtonBackColor, SaveButtonText.</p>
<h5><strong>To Access Application Settings</strong></h5>
<p>Once this is done, a wrapper class <strong>Settings</strong> is created under the <strong>Properties </strong>folder. Any of these settings can be accessed by <strong>Settings </strong>class. Now for this example the the <strong>FormForeColor</strong> can be accessed as shown below.</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">UserPreferenceSample.Settings defaultSettings= new Settings();
defaultSettings.FormForeColor = this.ForeColor;</font></pre>
<h5><strong>Save User Preferences</strong></h5>
<p>Till now we have the knowledge of the creation of application settings and accessing those. So it’s only the way you want to have your User Preferences to be implemented. In this example user can change the properties of Form and Button using the PropertyGrid. Also, I provided textboxes where user can provide his/her preferred texts for Form and the Button. Once user has modified all these and clicked the save button, Application Settings have been updated with the user’s selected ones.</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">//UserPreferenceSample.Settings defaultSettings= new Settings();
//- already instantiated
//Save button's settings

 defaultSettings.ButtonBackColor = btnSave.BackColor;

 defaultSettings.SaveButtonText = btnSave.Text;
//Save the Form's Settings
 defaultSettings.FirstFormHeader = this.Text;

 defaultSettings.FormBackColor = this.BackColor;

 defaultSettings.FormForeColor = this.ForeColor;

 defaultSettings.FormOpacity = this.Opacity;

 defaultSettings.FormWindowState = this.WindowState; 

 defaultSettings.Save();</pre>
<p>Now onwards, whenever user starts the application he/she can see preferred view.</p>
<h5><strong>Sample config File</strong></h5>
<p>Find the sample config file entries as shown below.</p>
<pre style="background-color:#c0c0c0;overflow:scroll;width:75%;">
&lt;configuration&gt;
  &lt;configSections&gt;
    &lt;sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" &gt;
      &lt;section name="UserPreferencesExample.Properties.Settings"   type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"   allowExeDefinition="MachineToLocalUser"   requirePermission="false" /&gt;
    &lt;/sectionGroup&gt;
  &lt;/configSections&gt;
  &lt;userSettings&gt;
    &lt;UserPreferencesExample.Properties.Settings&gt;
      &lt;setting name="FirstFormHeader" serializeAs="String"&gt;
        &lt;value&gt;My First Form&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="SaveButtonText" serializeAs="String"&gt;
        &lt;value&gt;&amp;Save&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="FormWindowState" serializeAs="String"&gt;
        &lt;value&gt;Normal&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="FormForeColor" serializeAs="String"&gt;
        &lt;value&gt;ControlText&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="FormOpacity" serializeAs="String"&gt;
        &lt;value&gt;1&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="FormBackColor" serializeAs="String"&gt;
        &lt;value&gt;Control&lt;/value&gt;
      &lt;/setting&gt;
      &lt;setting name="ButtonBackColor" serializeAs="String"&gt;
        &lt;value&gt;Control&lt;/value&gt;
      &lt;/setting&gt;
    &lt;/UserPreferencesExample.Properties.Settings&gt;
  &lt;/userSettings&gt;
&lt;/configuration&gt;
</pre>
<h4><strong>Limitation of Application Settings</strong></h4>
<p>You cannot use application settings in an unmanaged application that hosts the .NET Framework. Settings will not work in such environments as Visual Studio add-ins, C++ for Microsoft Office, control hosting in Internet Explorer, or Microsoft Outlook add-ins and projects.</p>
<p>You currently cannot bind to some properties in Windows Forms. The most notable example is the <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.clientsize.aspx">ClientSize</a> property.</p>
<p>Application settings has no built-in facility for encrypting information automatically. You should never store security-related information, such as database passwords, in clear text.</p>
<h4><strong>References</strong></h4>
<p>You can get the source code of the example <a href="http://www.box.net/shared/prktngqtfj" target="_blank">here</a>.</p>
<p>I always suggest and prefer to read MSDN. You can refer the followings articles which helped me a lot to understand this.</p>
<p><a title="http://msdn.microsoft.com/en-us/library/wabtadw6.aspx" href="http://msdn.microsoft.com/en-us/library/wabtadw6.aspx">http://msdn.microsoft.com/en-us/library/wabtadw6.aspx</a></p>
<p><a title="http://msdn.microsoft.com/en-us/library/fwc80dzb.aspx" href="http://msdn.microsoft.com/en-us/library/fwc80dzb.aspx">http://msdn.microsoft.com/en-us/library/fwc80dzb.aspx</a></p>
<p><a title="http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx" href="http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx">http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx</a></p>
<p><a style="display:none;" href="http://www.codeproject.com/script/Membership/View.aspx?mid=3285611" rel="tag">CodeProject</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=137&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2009/08/15/user-preference-using-application-settings/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/form_initial_load_thumb.jpg" medium="image">
			<media:title type="html">Original Look and Feel</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/user_pref_save_thumb.jpg" medium="image">
			<media:title type="html">User Preference - After Saving</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/createapplicationsettings_thumb2.jpg" medium="image">
			<media:title type="html">Create Application Settings</media:title>
		</media:content>
	</item>
		<item>
		<title>Trace SOAP Request/Response XML with TraceExtension</title>
		<link>http://arindamsinha.wordpress.com/2009/08/08/trace-soap-requestresponse-with-traceextension/</link>
		<comments>http://arindamsinha.wordpress.com/2009/08/08/trace-soap-requestresponse-with-traceextension/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 20:52:43 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[SOAP Extention]]></category>
		<category><![CDATA[SOAP XML]]></category>
		<category><![CDATA[TraceExtension]]></category>

		<guid isPermaLink="false">http://arindamsinha.wordpress.com/2009/08/08/trace-soap-requestresponse-with-traceextension/</guid>
		<description><![CDATA[In one of my recent projects, I had to interact with one .NET Web Service (ASMX) from a Windows Desktop application. Now another java application would be accessing the same Web Service. So the java developers need a sample SOAP Request/Response XML for the Web Service. Before I start discussing on the approach of logging [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=123&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In one of my recent projects, I had to interact with one .NET Web Service (ASMX) from a Windows Desktop application. Now another java application would be accessing the same Web Service. So the java developers need a sample SOAP Request/Response XML for the Web Service. Before I start discussing on the approach of logging SOAP Request-Response XML, I would like to elaborate on same basic things Web Service referencing. </p>
<h4><strong>What’s WSDL File and how it’s generated?</strong></h4>
<p>Web Services Description Language is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. In a single sentence – it defines the Web Service which can be used by the clients to subscribe the web service.In case you are not aware of generating a WSDL file of a Web Service, then follow the steps mentions below &#8211; </p>
<ol>
<li>Type in your Web Service URL along with the ASMX file in the web browser. </li>
<li>Then just append “?wsdl” at the end of URL your required WSDL will be generated in the browser. So if your URL is <a title="http://localhost/HelloWorldWebService" href="http://localhost/HelloWorldWebService/HelloWorldService.asmx">http://localhost/HelloWorldWebService/HelloWorldService.asmx</a> then if you type in <a title="http://localhost/HelloWorldWebService" href="http://localhost/HelloWorldWebService/HelloWorldService.asmx?wsdl">http://localhost/HelloWorldWebService/HelloWorldService.asmx?wsdl</a> to generate the wsdl for your web service. </li>
</ol>
<h4><strong>How to reference a Web Service?</strong></h4>
<p>This is quite easy for Visual Studio users. Using the wizard of Add Web Reference (as shown below in the images), the developer just needs to provide the URL of the Web Service. This would generate the proxy and the developer does not even need to create the WSDL separately. </p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/add_webref7.jpg"><img title="Add Web Reference" style="display:inline;margin-left:0;margin-right:0;border-width:0;" height="197" alt="Add Web Reference" src="http://arindamsinha.files.wordpress.com/2009/08/add_webref_thumb1.jpg?w=260&#038;h=197" width="260" align="left" border="0" /></a> </p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/add_webref8.jpg"></a></p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/webref_url1.jpg"><img title="Web Reference URL" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="194" alt="Web Reference URL" src="http://arindamsinha.files.wordpress.com/2009/08/webref_url_thumb1.jpg?w=281&#038;h=194" width="281" border="0" /></a></p>
<p>&#160;</p>
<p>Another approach could be generation of proxy class from WSDL file by using the <a href="http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx" target="_blank">WSDL.exe</a>. Once proxy is generated, proxy class could be used for interaction with the Web Service. </p>
<h4><strong>SOAP and SOAP XML</strong></h4>
<p>Simple Object Access Protocol is a simple XML-based protocol to let applications exchange information over HTTP. SOAP is a protocol for accessing a Web Service.</p>
<p>A SOAP message is an ordinary XML document containing the following elements:</p>
<ul>
<li>An Envelope element that identifies the XML document as a SOAP message </li>
<li>A Header element that contains header information </li>
<li>A Body element that contains call and response information </li>
<li>A Fault element containing errors and status information </li>
</ul>
<p>Following image displays a sample SOAP Request and Response XML.</p>
<p><a href="http://arindamsinha.files.wordpress.com/2009/08/sample_req_res_soap.jpg"><img title="Sample SOAP Request Response XML" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="116" alt="Sample SOAP Request Response XML" src="http://arindamsinha.files.wordpress.com/2009/08/sample_req_res_soap_thumb.jpg?w=244&#038;h=116" width="244" border="0" /></a></p>
<h4><strong>What’s SOAP Extension &#8211; TraceExtension?</strong></h4>
<p>SOAP Extensions allow developers to create very interesting applications on top of the core SOAP architecture found within .NET. It allows developers to implement encryption algorithm, compression routine, SOAP attachments etc. In this article we will focus on logging the SOAP request/response XML.</p>
<p>For this we need to create couple of classes -</p>
<ul>
<li>Create a class that derives from <strong>System.Web.Services.Protocols.SoapExtension – TraceExtension </strong>class has been created for this </li>
<li>Create a class that derives from <strong>System.Web.Services.Protocols.SoapExtensionAttribute – TraceExtensionAttribute </strong>class has been created for this </li>
</ul>
<h4><strong>A sample Web Service application</strong></h4>
<p>To understand the functionality of TraceExtension class, I will take a sample WebService and a client which subscribes that service.</p>
<ul>
<li>HelloWorldWebService – This is a web service with a web method HelloWorld. </li>
</ul>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">public class HelloWorldService : System.Web.Services.WebService
{

    [WebMethod]
    public string HelloWorld(string myString)
    {
        return &quot;Hello World Service returns - &quot; + myString;
    }
}</pre>
<ul>
<li>ClientSubscriber – This is a simple windows form application consuming the web reference of HelloWorldWebService. In the form, there’s a textbox and button. On click of this button, the text of the textbox will send to the web service and the result will displayed in a message box. </li>
<li>SoapMessageUtility – This utility has the actual implementation of TraceExtension. The client application has a reference to this utility to log the SOAP request/response XML. </li>
</ul>
<p>The sample source code and binaries are available <a href="http://www.box.net/arindam-global-share#1:30633912" target="_blank">here</a>. </p>
<h4><strong>Implementation of TraceExtension</strong></h4>
<p>We will implement the TraceExtension in the client side consuming the web service. So the Request/Response SOAP XML logs will be created in the client side.</p>
<p>First we will take look at the <strong>TraceExtensionAttribute</strong> class inherited from <strong>SoapExtensionAttribute.</strong> <strong>TraceExtensionAttribute</strong> must override the <a href="http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapextensionattribute.extensiontype.aspx">ExtensionType</a> property to return the type of extension that is associated with the attribute. In this case this is nothing but <strong>TraceExtension</strong>.</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">public override Type ExtensionType
{
    get { return typeof(TraceExtension); }
}</pre>
<p>For setting the priority of the &#8216;SoapExtension&#8217;, Priority property has been overridden also.</p>
<p>To have some flexibilities, few properties are created in the <strong>TraceExtensionAttribute</strong> which can be passed as parameters in the constructor.</p>
<ol>
<li>LogTypeMode – This denotes which SOAP XML to log &#8211; None, RequestOnly, ResponseOnly, RequestReponse. </li>
<li>ReqFileName – The file name where Request SOAP XML will be logged </li>
<li>ResFileName – The file name where Response SOAP XML will be logged </li>
</ol>
<p><strong>TraceExtensionAttribute</strong> class can be used at method level as shown below.</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">[TraceExtensionAttribute(LogType.RequestReponse,&quot;C:\\Log\\MyReq.log&quot;,&quot;C:\\Log\\MyRes.log&quot;)]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute(&quot;http://tempuri.org/HelloWorld&quot;, RequestNamespace=&quot;http://tempuri.org/&quot;, ResponseNamespace=&quot;http://tempuri.org/&quot;, Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string HelloWorld(string myString) {
    object[] results = this.Invoke(&quot;HelloWorld&quot;, new object[] {
                myString});
    return ((string)(results[0]));
}</pre>
<p>Now we will look into the <strong>TraceExtension</strong> class inherited from <strong>SoapExtension</strong>. The core piece of implementation is the <strong>ProcessMessage</strong> method of the <strong>SoapExtension</strong> class. This method should be overridden to have the proper implementation. Before this implementation we should be very much aware of the flow of SOAP message from the client to Web Service.</p>
<ol>
<li>When a web method in the client proxy is called, framework checks if any SOAP extensions to be invoked or not and if so, then those are called with <strong>BeforeSerialize </strong>stage. </li>
<li>Once the serialization is done, then the extensions are called with <strong>AfterSerialize </strong>stage. </li>
<li>The SOAP message is sent to the server and server figures out which method to route to. </li>
<li>Then the server checks to see if any SOAP extensions (that&#8217;s us!) should be invoked, and if so, invokes them with the <b>BeforeDeserialize</b> event stage. </li>
<li>The server deserializes the stream and invokes all the extensions for the <b>AfterDeserialize</b> stage. </li>
<li>After the web method execution server invokes all the extensions with <strong>BeforeSerialize</strong> stage. </li>
<li>Once the server serializes the result stream, the SOAP extensions are called with <strong>AfterSerialize </strong>stage. </li>
<li>Result is sent back to client </li>
<li>Now client receives the result stream and framework invokes the SOAP extensions with <b>BeforeDeserialize</b> event stage. </li>
<li>Once client deserializes the result stream, SOAP extensions with <b>AfterDeserialize</b> stage is invoked. </li>
</ol>
<p>In our case, we will be focused in the client side i.e. points 1,2,9 and 10.&#160; </p>
<p>The key is the <strong>AfterSerialize</strong> stage (i.e. point 2) in the client, the request SOAP XML can be logged at this moment.</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">public void WriteOutput(SoapMessage message)
{
    FileStream fs;
    StreamWriter w = null; 

    try
    {
        if (_logTypeMode.Equals(LogType.RequestOnly) || _logTypeMode.Equals(LogType.RequestReponse))
        {
            _newStream.Position = 0;
            fs = new FileStream(_reqFilename, FileMode.Append,
                FileAccess.Write);
            w = new StreamWriter(fs);

            string soapString = &quot;SoapRequest&quot;;
            w.WriteLine(&quot;-----&quot; + soapString + &quot; at &quot; + DateTime.Now);
            w.Flush();
            Copy(_newStream, fs);
            w.Close();

        }
    }
    catch (Exception ex)
    {
    }
    finally
    {
        if (w != null)
            w.Close();
        _newStream.Position = 0;
        Copy(_newStream, _oldStream);
    }
}</pre>
<p>The same is applicable for the <strong>BeforeDeserialize </strong>stage (i.e. point 9) to log the response SOAP XML. The <strong>WriteInput</strong> method logs the response XML.</p>
<h4><strong>Safety and Configurability</strong></h4>
<p>The whole purpose of this article is to log the request-response SOAP XML. In case of any exception while logging would cause interruption in the web service invocation. So the WriteInput and WriteOutput methods in TraceExtension class should take care of proper exception handling. In my case I kept a blank catch block which can be modified with some exception logging mechanism but that should not impact the normal web service invocation.</p>
<p>Already I tried to provide some flexibilities in the TraceExtensionAttribute with few properties. These can be set while instantiating the attribute in the method level. Also, TraceExtension class can support the following entries in (config files web.config/app.config).</p>
<pre style="overflow:scroll;width:75%;background-color:#c0c0c0;">&lt;appSettings&gt;
  &lt;add key =&quot;REQ_LOGFILE&quot; value=&quot;c:\log\SOAPReq_log.txt&quot;/&gt;
  &lt;add key =&quot;RES_LOGFILE&quot; value=&quot;c:\log\SOAPRes_log.txt&quot;/&gt;

  &lt;add key =&quot;LogTypeMode&quot; value=&quot;3&quot;/&gt;
&lt;!-- None = 0,
      RequestOnly = 1,
      ResponseOnly = 2,
      RequestReponse = 3 --&gt;
&lt;/appSettings&gt;</pre>
<p>If both config entries and attribute parameters are provided, then config entries would override that. So my utility (i.e. SoapMessageUtility.dll) can be directly used with the above configuration entries.</p>
<h4><strong>References</strong></h4>
<p>You can download the <a href="http://www.box.net/arindam-global-share#1:30633912" target="_blank">code and binaries by clicking here</a>. I would suggest you all to have a look into the <a href="http://msdn.microsoft.com/en-us/library/ms972353.aspx" target="_blank">MSDN</a> link on this. Also for beginners to SOAP, the <a href="http://www.w3schools.com/soap/default.asp" target="_blank">tutorial from w3schools</a> might be helpful.</p>
<p><a style="display:none;" href="http://www.codeproject.com/script/Membership/View.aspx?mid=3285611" rel="tag">CodeProject</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=123&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2009/08/08/trace-soap-requestresponse-with-traceextension/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/add_webref_thumb1.jpg" medium="image">
			<media:title type="html">Add Web Reference</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/webref_url_thumb1.jpg" medium="image">
			<media:title type="html">Web Reference URL</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/sample_req_res_soap_thumb.jpg" medium="image">
			<media:title type="html">Sample SOAP Request Response XML</media:title>
		</media:content>
	</item>
		<item>
		<title>Custom icons in WordPress Blog URL</title>
		<link>http://arindamsinha.wordpress.com/2009/08/01/custom-icons-in-wordpress-blog-url/</link>
		<comments>http://arindamsinha.wordpress.com/2009/08/01/custom-icons-in-wordpress-blog-url/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 16:18:00 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[URL Icon]]></category>

		<guid isPermaLink="false">http://arindamsinha.wordpress.com/2009/08/01/custom-icons-in-wordpress-blog-url/</guid>
		<description><![CDATA[I did not even notice that I used a custom icon in my blog’s URL. In the screenshot you can see there is an image as marked in red. If you want to have the same feature in your blog, you can try out the approach discussed below.Before doing that I must thank my friend [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=111&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I did not even notice that I used a custom icon in my blog’s <a href="http://arindamsinha.wordpress.com/" target="_blank">URL</a>. In the screenshot you can see there is an image as marked in red.<a href="http://arindamsinha.files.wordpress.com/2009/08/icons_in_yourwordpressblog.jpg"><img title="Icons_In_yourWordPressBlog" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="117" alt="Icons_In_yourWordPressBlog" src="http://arindamsinha.files.wordpress.com/2009/08/icons_in_yourwordpressblog_thumb.jpg?w=217&#038;h=117" width="217" border="0" /></a></p>
<p>If you want to have the same feature in your blog, you can try out the approach discussed below.Before doing that I must thank my friend <a href="http://abhijitjana.net/" target="_blank">Abhijit</a> who noticed this and asked me on this. So I thought to share with all of you though there might be some other way (if any let me know) to do this.</p>
<p><strong><font size="2"></font></strong></p>
<p><strong><font size="2"></font></strong></p>
<p><strong><font size="2"></font></strong></p>
<p><strong><font size="2"></font></strong></p>
<p><strong><font size="2">Steps to Customize URL Icon</font></strong></p>
<ol>
<p>1. You have to select any theme which has &quot;Custom Header&quot; e.g. <strong>Rubric</strong></p>
<p>2. Once this theme is activated,&#160; you can see Custom Header option under &quot;Appearance&quot; menu. </p>
<p>3. In this option you can set Header Image (which will be ultimately shown as icon image) to be displayed. Once you do that, you can see the same image in the URL,Icon as well as in Header.<a href="http://arindamsinha.files.wordpress.com/2009/08/customheader.jpg"><img title="custom-Header" style="display:block;float:none;margin-left:auto;margin-right:auto;border-width:0;" height="126" alt="custom-Header" src="http://arindamsinha.files.wordpress.com/2009/08/customheader_thumb.jpg?w=244&#038;h=126" width="244" border="0" /></a></p>
<p>4. Now you can remove the Header Image by “Restore Original Header”. Now your purpose is over. So you can remove this theme and go back to your old theme.</p>
<p>5. You might need to open a new browser after clearing cache and all to reflect the changes. You should be able to get the icon in your URL.</p>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=111&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2009/08/01/custom-icons-in-wordpress-blog-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/icons_in_yourwordpressblog_thumb.jpg" medium="image">
			<media:title type="html">Icons_In_yourWordPressBlog</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/08/customheader_thumb.jpg" medium="image">
			<media:title type="html">custom-Header</media:title>
		</media:content>
	</item>
		<item>
		<title>Demonstration of Windows Mobile App without Visual Studio</title>
		<link>http://arindamsinha.wordpress.com/2009/07/24/demonstration-of-windows-mobile-app-without-visual-studio/</link>
		<comments>http://arindamsinha.wordpress.com/2009/07/24/demonstration-of-windows-mobile-app-without-visual-studio/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 17:15:51 +0000</pubDate>
		<dc:creator>Arindam Sinha</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Application]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Mobile Application]]></category>

		<guid isPermaLink="false">http://arindamsinha.wordpress.com/?p=63</guid>
		<description><![CDATA[Background Just recently I have started working on Windows Mobile and was assigned with a task to install an existing application in one of the systems with out Visual Studio 2005 or 2008. This was required for a demo purpose. Before I start describing the process, I would mention few details on - how Windows Mobile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=63&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Background</strong></p>
<div class="mceTemp">Just recently I have started working on Windows Mobile and was assigned with a task to install an existing application in one of the systems with out Visual Studio 2005 or 2008. This was required for a demo purpose.<br />
Before I start describing the process, I would mention few details on - how Windows Mobile Application is tested.</div>
<div class="mceTemp">For people looking for some details on designing or developing Windows Mobile Application, this is not ment for that. This would help the people who wants to know ways of testing Windows Mobile Applocations. You can not expect to have Visual Studio installed in your client system where you want demonstrate your application!!</div>
<p><strong>How Windows Mobile Applications can be tested with Visual Studio</strong><br />
To test/execute any Windows Mobile application you should be having an Microsoft Device Emulator in case you do not have the actual device (which I assumed through out the article).</p>
<div id="attachment_80" class="wp-caption aligncenter" style="width: 138px"><strong><img class="size-medium wp-image-80" title="Emulator" src="http://arindamsinha.files.wordpress.com/2009/07/emulator.jpg?w=128&#038;h=174" alt="Hello World application is loaded in Device Emulator" width="128" height="174" /></strong><p class="wp-caption-text">Hello World application is loaded in Device Emulator</p></div>
<p>This emulator would load the application and give you the same kind of virtual look and feel as device would do.</p>
<p>In development system, you can start coding in Windows Mobile Application by selecting the type of the project and the target platform. Now from your visual studio you can create any Mobile app (say any Hello World) and execute through Microsoft Device Emulator which is invoked through the Visula Studio itself.<br />
You actually do not even need to bother what Visual Studio is doing behind the scene to load application in the emulator.</p>
<div id="attachment_81" class="wp-caption alignleft" style="width: 296px"><img class="size-medium wp-image-81" title="SmartDeviceProject" src="http://arindamsinha.files.wordpress.com/2009/07/smartdeviceproject.jpg?w=286&#038;h=181" alt="Select SmartDevice Project option" width="286" height="181" /><p class="wp-caption-text">Select SmartDevice Project option</p></div>
<div id="attachment_82" class="wp-caption alignnone" style="width: 270px"><img class="size-medium wp-image-82" title="Target Platform" src="http://arindamsinha.files.wordpress.com/2009/07/targetsmartdevice.jpg?w=260&#038;h=167" alt="Select the Compact Framework version and Target Platform" width="260" height="167" /><p class="wp-caption-text">Select the Compact Framework version and Target Platform</p></div>
<p>Now when you do not have the Visual Studio installed in your system (which means you do not have the Microsoft Device Emulator installed also) then the probelm comes. In following sections I would describe how you can execute or test your application in an Emulator directly without Visual Studio.</p>
<p><strong>CAB Deployment</strong></p>
<div id="attachment_85" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-85" title="CAB project" src="http://arindamsinha.files.wordpress.com/2009/07/cab-project.jpg?w=300&#038;h=192" alt="Create a Smart Device CAB project for deployment" width="300" height="192" /><p class="wp-caption-text">Create a Smart Device CAB project for deployment</p></div>
<p>The deployment unit for a Windows Mobile application is a CAB file created on top the application. I would cover the packaging and deployment of Windows Mobile application in one my coming posts. For the time being you can create a Smart Device CAB project and add the Project Output of the Windows Mobile applications in the Application Folder. Just as an information, our main target is now to install this CAB in the Emulator to get the application installed. </p>
<p><strong>Loading Applications through Emulator without Visual Studio</strong><br />
There are two ways which you can follow. In both the cases, Visual Studio will not be any dependency to execute the application in an emulator.<br />
<strong>Option 1</strong></p>
<p>This approach would store the state of the emulator in some developer’s system. Then loading the same state in the target system (the testing system with out Visual Studio).<br />
1. Start the emulator in developer’s system from command line. Also provide a file (EmulatorState.dess) where the state can be stored -<br />
“C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe” “C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation409\PPC_USA.BIN” /memsize 128 /s “d:\EmulatorState.dess”<br />
2. Once the emulator is opened, save the state (File -&gt; Save State and Exit). This would save the state in EmulatorState.dess file.<br />
3. Copy the EmulatorState.dess file to the target system (suppose “d:\EmulatorState.dess”). Now install the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=A6F6ADAF-12E3-4B2F-A394-356E2C2FB114&amp;displaylang=en">Microsoft Device Emulator 3.0 Standalone Release</a> to the target system.<br />
4. Now run the Device emulator manager (C:\Program Files\Microsoft Device Emulator\1.0\dvcemumanager.exe). Open the file (”d:\EmulatorState.dess”) by File -&gt; Open from Device Manager.<br />
The same step can be done through the command line by invoking device emulator -<br />
“C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe” /s “d:\EmulatorState.dess”</p>
<div id="attachment_84" class="wp-caption aligncenter" style="width: 265px"><img class="size-medium wp-image-84" title="ShareFolder" src="http://arindamsinha.files.wordpress.com/2009/07/sharefolder.jpg?w=255&#038;h=137" alt="Create a share folder for Emulator" width="255" height="137" /><p class="wp-caption-text">Create a share folder for Emulator</p></div>
<p>5. Now the application to be installed in the emulator. From the Emulator select File -&gt; Configure. In the General tab, select the Shared Folder (suppose C:\ShareFolder) in the target system. Now keep the cab file (created on top of the mobile application) in that shared folder.</p>
<div id="attachment_91" class="wp-caption aligncenter" style="width: 207px"><img class="size-medium wp-image-91" title="Storage_Card" src="http://arindamsinha.files.wordpress.com/2009/07/storage_card.jpg?w=197&#038;h=300" alt="Use the storage card in Emulator to access the shared folder in your desktop" width="197" height="300" /><p class="wp-caption-text">Use the storage card in Emulator to access the shared folder in your desktop</p></div>
<p>You can browse to same cab file in the emulator by Start -&gt; Programs -&gt; File Explorer. In the File Explorer select “Storage Card” from dropdown in the top section. Now you can click the cab file to install in the emulator.<br />
<strong>Option 2</strong></p>
<p>This approach needs installtion of Emulator and the images of Windows Mobile 6 in the target system (where you donot need Visual Studio).<br />
1. Install the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&amp;displaylang=en">Standalone Device Emulator 1.0 with Windows Mobile OS Images</a>. I tried with the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=A6F6ADAF-12E3-4B2F-A394-356E2C2FB114&amp;displaylang=en">Microsoft Device Emulator 3.0 Standalone Release</a> also.<br />
2. Now install the the Windows Mobile 5.0 MSFP operating system images (efp.msi file which is in the same link of Standalone Device Emulator 1.0 with Windows Mobile OS) that you can use with the Device Emulator. Also, you can have the different images for Windows Mobile 6.0 (Standalone Device Emulator 1.0 with Windows Mobile OS). This phase of installion would help you to run the emulator with proper mobile like images.<br />
3. While installing the point 2 items you might need to install the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&amp;DisplayLang=en">Microsoft Virtual PC 2007</a> which contains the required network drivers that the emulator uses.<br />
4. Now you can launch the emulator from Start -&gt; Programs -&gt; Microsoft Windows Mobile 5.0 MSFP Emulator Images or Start -&gt; Programs -&gt; Windows Mobile 6 SDK. In both the case share your folder to execute the cab file as mentioned in the 5th point of Option 1.</p>
<p>I hope this might help you all from Googling and doing some R&amp;D work<br />
I would soon post another interesting item on deployment of this mobile applications.</p>
<p>I revisited this post to elaborate it based on the comments received. Keep sending your feedback.</p>
<p>Same blog is available at <a rel="tag" href="http://www.codeproject.com/script/Articles/BlogFeedList.aspx?amid=3285611">Codeproject </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamsinha.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamsinha.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamsinha.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamsinha.wordpress.com&amp;blog=8158672&amp;post=63&amp;subd=arindamsinha&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arindamsinha.wordpress.com/2009/07/24/demonstration-of-windows-mobile-app-without-visual-studio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c4f8b760a612f0511b0ce1b92435bef1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Arindam</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/emulator.jpg?w=198" medium="image">
			<media:title type="html">Emulator</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/smartdeviceproject.jpg?w=300" medium="image">
			<media:title type="html">SmartDeviceProject</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/targetsmartdevice.jpg?w=300" medium="image">
			<media:title type="html">Target Platform</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/cab-project.jpg?w=300" medium="image">
			<media:title type="html">CAB project</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/sharefolder.jpg?w=300" medium="image">
			<media:title type="html">ShareFolder</media:title>
		</media:content>

		<media:content url="http://arindamsinha.files.wordpress.com/2009/07/storage_card.jpg?w=197" medium="image">
			<media:title type="html">Storage_Card</media:title>
		</media:content>
	</item>
	</channel>
</rss>
