<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Reflections of my thoughts...</title><link>http://codereflect.blogspot.com/</link><description>On Windows Programming, Software Engineering, Debugging, Technical Tips etc...</description><language>en</language><managingEditor>noreply@blogger.com (Sarath)</managingEditor><lastBuildDate>Thu, 12 Nov 2009 07:38:20 PST</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">355</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SharingMyThoughts" type="application/rss+xml" /><feedburner:emailServiceId>SharingMyThoughts</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>How to revoke access to apps or websites allowed in your twitter/facebook?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/XzSmhI-phxE/how-to-revoke-access-to-apps-or.html</link><category>Social Networking</category><category>Tips</category><category>facebook</category><category>twitter</category><author>noreply@blogger.com (Sarath)</author><pubDate>Sun, 08 Nov 2009 07:08:39 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3181464820814318331</guid><description>&lt;p&gt;&lt;font size="3" face="Calibri"&gt;This is a small tip for the newbies of facebook/twitter.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.facebook.com/connect.php" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://lh6.ggpht.com/_A2b4Js3cYaA/Svbe5QhKl0I/AAAAAAAAAA8/9Q-kPEerI-c/image%5B32%5D.png?imgmax=800" width="276" height="252" /&gt;&lt;/a&gt; &lt;font size="3" face="Calibri"&gt;In the age of social networks you might at least owning your identity at &lt;/font&gt;&lt;a href="facebook.com" target="_blank"&gt;&lt;font size="3" face="Calibri"&gt;facebook&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt;/&lt;/font&gt;&lt;a href="http://twitter.com" target="_blank"&gt;&lt;font size="3" face="Calibri"&gt;twitter&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; which are the popular social networking websites. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;In the earlier time what we do if we need to register in a website? we will register a simple form and give our email address and password to create the account. It was merely tiresome if you need refill everything once again and register with the website. OpenID was one of the solutions for this problem as the single openID can be used across different websites which supports OpenID authertication. Your OpenID profile information will be used by the website for further processing. The advantage of this mechanism is that you don't have to create any new accounts, no need to share/keep passwords with third party websites. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;When the social networks boomed, the social network profiles became our social ID. Realizing the user needs and business advantages, Facebook introduced &lt;strong&gt;&lt;a href="http://developers.facebook.com/connect.php" target="_blank"&gt;facebook connect&lt;/a&gt; &lt;/strong&gt;and &lt;/font&gt;&lt;a href="http://apiwiki.twitter.com/OAuth-FAQ" target="_blank"&gt;&lt;strong&gt;&lt;font size="3" face="Calibri"&gt;twitter introduced OAuth authentication&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; to use their account to connect with different web services.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;Spams are everywhere and people are fighting against it. If you’ve not used your ID carefully with websites, finally you will end up seeing lot of spam msgs in your inbox. You can connect with any website which supports facebook connect or Twitter OAuth. Once you allow access to your facebook stream or tweet on your behalf with twitter, the web applications can write anything on your behalf. Your friends or followers will be seeing it as the update from yours. For example, one of my twitter friend frequently tweets about “100 followers in a minute… follow this link… *blah* *blah*”. I wondered and asked him why you’re tweeting like this? I think we must have some genuine followers other than bots. He said, I&amp;#160; never knew it. I’ve not posted anything to my twitter. I guess someone posting on my behalf. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;The thing is he has connected to some websites using twitter authentication and he allowed them access to writer on his twitter stream. Rest you can think of.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;But don’t worry, once you realize that you’re dealing with a wrong website which is not good for you and your networks, you can revoke the access at any time. I’ve explained the steps below.&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;&lt;font face="Calibri"&gt;Revoking Access to facebook apps/connected websites&lt;/font&gt;&lt;/h4&gt;  &lt;ol&gt;   &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Go application settings.&lt;/font&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_A2b4Js3cYaA/Svbe5wLtTPI/AAAAAAAAABA/-9-toE25PcA/s1600-h/image%5B4%5D.png"&gt;&lt;font size="3" face="Calibri"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_A2b4Js3cYaA/Svbe6eIddeI/AAAAAAAAABE/5JUDh1JSIaQ/image_thumb%5B2%5D.png?imgmax=800" width="332" height="186" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;2. Find the application to block form your list and Select the application from the list.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;3. You can do following things.&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Edit application settings to restrict access to your wall and other facebook settings. You can do this by clicking on “Edit settings” link provided next to each application. The features used by the application will be listed in the popup window. e.g is given below. You can check/unchek according to your convenience. Note that by doing this, the app is still active with your facebook account.&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_A2b4Js3cYaA/Svbe637tS0I/AAAAAAAAABI/wFDvWwF7QX8/s1600-h/image%5B9%5D.png"&gt;&lt;font size="3" face="Calibri"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_A2b4Js3cYaA/Svbe7SBzNeI/AAAAAAAAABM/OS_jqZ0mcAY/image_thumb%5B5%5D.png?imgmax=800" width="439" height="197" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Remove application&lt;/font&gt;&lt;a href="http://lh6.ggpht.com/_A2b4Js3cYaA/Svbe76zo2BI/AAAAAAAAABQ/vr2-A7Go5Z8/s1600-h/image%5B14%5D.png"&gt;&lt;font size="3" face="Calibri"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_A2b4Js3cYaA/Svbe8VhmSwI/AAAAAAAAABU/cX-sKZmo1D4/image_thumb%5B8%5D.png?imgmax=800" width="550" height="228" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;Revoking Twitter Authenticated (OAuth) websites/app &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Login to your twitter.com&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Go navigate to “Settings Page”&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Go for “Connections” tab&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_A2b4Js3cYaA/Svbe9KCcVeI/AAAAAAAAABY/Maed6SzO1L4/s1600-h/image%5B19%5D.png"&gt;&lt;font size="3" face="Calibri"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_A2b4Js3cYaA/Svbe9h196mI/AAAAAAAAABc/LX-SPOoAIJQ/image_thumb%5B11%5D.png?imgmax=800" width="532" height="197" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3" face="Calibri"&gt;Click on &lt;strong&gt;Revoke Access &lt;/strong&gt;link. You can also undo this if you’re wrongly revoked access!&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3" face="Calibri"&gt;Hope this helps!&lt;/font&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:feb107f5-dc8c-4c3b-ba7d-2ab458d93386" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Social+Networking" rel="tag"&gt;Social Networking&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/facebook" rel="tag"&gt;facebook&lt;/a&gt;,&lt;a href="http://technorati.com/tags/oauth" rel="tag"&gt;oauth&lt;/a&gt;,&lt;a href="http://technorati.com/tags/authentication.+tips" rel="tag"&gt;authentication. tips&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3181464820814318331?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_iEWAlPExXgUjyRhtVfNgXs-L5A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_iEWAlPExXgUjyRhtVfNgXs-L5A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_iEWAlPExXgUjyRhtVfNgXs-L5A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_iEWAlPExXgUjyRhtVfNgXs-L5A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=XzSmhI-phxE:uG5h9ZvxOu0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=XzSmhI-phxE:uG5h9ZvxOu0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=XzSmhI-phxE:uG5h9ZvxOu0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=XzSmhI-phxE:uG5h9ZvxOu0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=XzSmhI-phxE:uG5h9ZvxOu0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=XzSmhI-phxE:uG5h9ZvxOu0:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=XzSmhI-phxE:uG5h9ZvxOu0:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/XzSmhI-phxE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-08T07:08:39.962-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/11/how-to-revoke-access-to-apps-or.html</feedburner:origLink></item><item><title>Be the Ocean! – Inspiring Incident quoted from Chetan Bhagat’s blog</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/I9U1VcTBrFI/be-ocean-inspiring-incident-quoted-from.html</link><category>Personal Improvement</category><category>Story</category><category>Quotes</category><category>inspiring</category><category>Tips</category><category>Chetan Bhagat</category><category>incident</category><category>Personal</category><category>Five point someone</category><category>2 states</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7609404555874690775</guid><description>&lt;p&gt;&lt;a href="http://www.chetanbhagat.com/blog/general/the-ocean" target="_blank"&gt;In a recent blog post&lt;/a&gt;, Chetan Bhagath shared his updates on his new book &lt;a href="http://en.wikipedia.org/wiki/2_States_-_The_Story_Of_My_Marriage" target="_blank"&gt;“2 States”&lt;/a&gt;, new move &lt;a href="http://en.wikipedia.org/wiki/Three_Idiots" target="_blank"&gt;“3 Idiots”&lt;/a&gt; based on his First and popular novel “Five Point Someone” and few more. &lt;/p&gt;  &lt;p&gt;There was nothing quite surprising things as I am following him on twitter (&lt;a href="http://twitter.com/chetan_bhagat" target="_blank"&gt;@chetan_bhagat&lt;/a&gt;)and getting frequent updates. But the end of the post, it was just amazing. Here it is…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I want to end by sharing a small incident. The night before the release of 2 States, I was super tense. I went to the ISKCON temple in Chowpatty and met His Holiness Radhanath Swami, an American gentleman who moved to India several decades ago and devoted his life to serve God. I told him I couldn’t sleep because of the anxiety over the fact that there will be a million judgments on my work, both positive and negative, in the coming days. He told me this:     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;“Imagine there is a puddle. When it rains, the puddle is filled with water. When it doesn’t, the puddle dries up. Now compare that to the ocean. The ocean is so deep, it doesn’t matter if it rains above or it is dry weather. Your inner depth should be as much as the ocean, so you are not fazed by the external praise or criticism. For that, you must truly do work that is meaningful to you, have love in your heart for others and help people. And when you achieve inner depth, the external world’s rewards won’t matter to you as much.” &lt;/p&gt;    &lt;p&gt;I don’t think I am as deep as the ocean yet. But I am trying. Meanwhile, I just felt I will share this with you, so you may apply it in some aspects of your life. Whatever happens outside, it doesn’t matter as much if there is a calm stillness in you.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Excellent! Hi books are always cool and I love to read it and moreover he inspires through this quick blog posts/writing like this! Great man. I respect you!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7609404555874690775?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9mYMRcoe8Bohj2CbKhfHyH-GIww/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9mYMRcoe8Bohj2CbKhfHyH-GIww/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9mYMRcoe8Bohj2CbKhfHyH-GIww/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9mYMRcoe8Bohj2CbKhfHyH-GIww/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=I9U1VcTBrFI:V6qKlhukBaw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=I9U1VcTBrFI:V6qKlhukBaw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=I9U1VcTBrFI:V6qKlhukBaw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=I9U1VcTBrFI:V6qKlhukBaw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=I9U1VcTBrFI:V6qKlhukBaw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=I9U1VcTBrFI:V6qKlhukBaw:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=I9U1VcTBrFI:V6qKlhukBaw:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/I9U1VcTBrFI" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.107-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/11/be-ocean-inspiring-incident-quoted-from.html</feedburner:origLink></item><item><title>Visual Studio 2010 - Conditional breakpoints using String Comparison
Functions (C/C++)</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/4G1cLVPAa5A/visual-studio-2010-conditional.html</link><category>Softwares</category><category>Debug</category><category>Visual Studio 2010</category><category>Tips</category><category>Visual Studio 2008</category><category>Debugging</category><category>Visual Studio</category><category>Visual C++</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3910023500551112774</guid><description>&lt;p&gt;All we’re fond of conditional break points if we need to execute the program until some specific condition exists. We usually give numerical expressions to give conditional break points. If you don’t know about conditional break points, just have a look at &lt;a href="http://msdn.microsoft.com/en-us/library/7sye83ce.aspx" target="_blank"&gt;MSDN documentation.&lt;/a&gt; or &lt;a href="http://blogs.msdn.com/saraford/archive/2008/06/17/did-you-know-you-can-set-conditional-breakpoints-239.aspx" target="_blank"&gt;this one&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Now the C/C++ programmers are blessed with break with string conditions.&lt;/p&gt;  &lt;p&gt;Just put a breakpoint in your source code and right click on that choose “Condition” to see the following window appear. You can give string comparison routines to set the break point.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/11/image.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/11/image_thumb.png" width="600" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once you start debugging, you can see the break point hit on the condition you’ve given&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/11/image1.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/11/image_thumb1.png" width="868" height="260" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Visual Studio Beta 2 currently supports the following functions (&lt;a href="http://blogs.msdn.com/habibh/archive/2009/07/07/new-visual-studio-debugger-2010-feature-for-c-c-developers-using-string-functions-in-conditional-breakpoints.aspx" target="_blank"&gt;Taken from Habib Heydarian’s blog&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;strlen, wcslen, _tcslen, strnlen, wcsnlen, _tcsnlen, strcmp, wcscmp, _tcscmp, stricmp, wcsicmp, _tcsicmp, strncmp, wcsncmp, _tcsncmp,strnicmp, wcsnicmp,_tcsnicmp,_stricmp, _wcsicmp, _strnicmp, _wcsnicmp &lt;/p&gt;  &lt;p&gt;This may be changed or updated in the final release. Anyway enjoy your breakpoints!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3910023500551112774?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sjtSsXytgshSUIZXGm7X7eErNwA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sjtSsXytgshSUIZXGm7X7eErNwA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sjtSsXytgshSUIZXGm7X7eErNwA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sjtSsXytgshSUIZXGm7X7eErNwA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4G1cLVPAa5A:hfDIhjAgac0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4G1cLVPAa5A:hfDIhjAgac0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=4G1cLVPAa5A:hfDIhjAgac0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4G1cLVPAa5A:hfDIhjAgac0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4G1cLVPAa5A:hfDIhjAgac0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4G1cLVPAa5A:hfDIhjAgac0:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=4G1cLVPAa5A:hfDIhjAgac0:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/4G1cLVPAa5A" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.113-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/11/visual-studio-2010-conditional.html</feedburner:origLink></item><item><title>Visual Studio 2010 – Code Metrics calculation</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/DfC5D376EWM/visual-studio-2010-code-metrics.html</link><category>Softwares</category><category>Tools</category><category>Managed Code</category><category>Visual Studio 2010</category><category>Tips</category><category>Software</category><category>Software Engineering</category><category>Visual Studio</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-8291754835720978878</guid><description>&lt;p&gt;Visual Studio 2010 provides a new feature to calculate various &lt;a href="http://msdn.microsoft.com/en-us/library/bb385914.aspx" target="_blank"&gt;the code metrics&lt;/a&gt;. Sadly this options are only available for Managed projects. Sorry native developers!&lt;/p&gt;  &lt;p&gt;It allows to calculate the follow matrices of your project &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Maintainability index&lt;/li&gt;    &lt;li&gt;Cyclomatic Complexity&lt;/li&gt;    &lt;li&gt;Depth of Inheritance&lt;/li&gt;    &lt;li&gt;Class Coupling&lt;/li&gt;    &lt;li&gt;Lines of code&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385914%28lightweight%29.aspx" target="_blank"&gt;MSDN has described each items given above in detail&lt;/a&gt;.&lt;/ul&gt;  &lt;p&gt;Most of us mainly interested lines of code (LOC) as various other calculations in the project life cycle calculated based on this.&lt;/p&gt;  &lt;p&gt;To calculate Code matrix, Right click on the Solution and choose “Calculate Code Metrics”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image15.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb15.png" width="600" height="195" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;As you’re seeing above, you can see the information for the entire project and also for the individual items.&lt;/p&gt;  &lt;p&gt;It’s possible to filter the results based on given criteria as you’re seeing below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image16.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb16.png" width="600" height="83" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The coolest things is that, you can export these result to an excel sheet without any pain. Just right click on the item and “Open Selection in Microsoft Excel” as you’re seeing below&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image17.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb17.png" width="476" height="289" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can get it opened in the excel. See, the filters are automatically applied for header items!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image18.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb18.png" width="600" height="98" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385914%28lightweight%29.aspx" target="_blank"&gt;To know more check MSDN website.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-8291754835720978878?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CinHu4fWvRvS2ZtPS-1VtsT8VDc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CinHu4fWvRvS2ZtPS-1VtsT8VDc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CinHu4fWvRvS2ZtPS-1VtsT8VDc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CinHu4fWvRvS2ZtPS-1VtsT8VDc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=DfC5D376EWM:RuGMyxTiKmA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=DfC5D376EWM:RuGMyxTiKmA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=DfC5D376EWM:RuGMyxTiKmA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=DfC5D376EWM:RuGMyxTiKmA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=DfC5D376EWM:RuGMyxTiKmA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=DfC5D376EWM:RuGMyxTiKmA:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=DfC5D376EWM:RuGMyxTiKmA:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/DfC5D376EWM" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.121-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/11/visual-studio-2010-code-metrics.html</feedburner:origLink></item><item><title>Firefox 3.6 exploiting the features of Windows 7</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/WgkL1H17puA/firefox-36-exploiting-features-of.html</link><category>Softwares</category><category>Reviews</category><category>Tips</category><category>Windows 7</category><category>Software</category><category>Misc</category><category>Firefox 3.6</category><category>Browsers</category><category>Beta</category><category>Firefox</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-4036059895394845939</guid><description>&lt;p&gt;Firefox has released the Firefox 3.6 beta 1 for developer preview. It Visually doesn’t feature any changes from version 3.5. But it features integration with Windows 7 Taskbar and also Windows 7 Style switching of tabs using Ctrl + Tab. Yes it’s able to display the tabs preview. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.6b1-candidates/build1/"&gt;&lt;strong&gt;Download it here&lt;/strong&gt;&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;(Click on this, if you need a &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.6b1-candidates/build1/win32/en-US/" target="_blank"&gt;Direct link to Firefox 3.6 Beta 1 English for Windows&lt;/a&gt;)&lt;/p&gt;  &lt;h1&gt;Windows 7 Like Tab Preview&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Firefox 3.6 ca now display tab previews like Windows 7(the very same way of Alt+Tab in Windows 7).&lt;/p&gt;  &lt;p&gt;This feature is disabled by default in the beta version. &lt;/p&gt;  &lt;p&gt;type &lt;strong&gt;about:config &lt;/strong&gt;in your address bar and on the appearing page, search for &lt;strong&gt;browser.ctrlTabPreviews&lt;/strong&gt;. Set this as true.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image9.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb9.png" width="497" height="310" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;OK now you’re done. Start Exploring&lt;/p&gt;  &lt;p&gt;You can select the required tabs using mouse as well by holiding down the Ctrl+Tab key.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image10.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb10.png" width="732" height="288" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What if you’ve too may tabs? Ctrl + Shift + Tab will show up all tabs in the firefox window. Alternatively you can do this by holding down Ctrl + Tab and Click on “Show All Tabs” displayed in the very same windows&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image11.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb11.png" width="704" height="298" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This preview window display features a &lt;strong&gt;search box &lt;/strong&gt;where you can quickly search for the required tab if too many tabs are open. As this Shift key assigned with Ctrl+Tab to show up whole tabs, I’m sadly missing shortcut I previously used to traverse back in order.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image12.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb12.png" width="600" height="113" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also close the tabs if necessary in this view.&lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Windows 7 Taskbar Integration&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On hovering the taskbar icon of firefox, you can see the preview of tabs in the aero peek window. To enjoy this feature you will have to enable aero theme in you Windows 7. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image13.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb13.png" width="596" height="122" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;On hovering the mouse over the windows displayed in the peek view, surely you can peek to see the window. It’s the real Windows 7 peek feature. You can also close the tabs if necessary in this view.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image14.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb14.png" width="600" height="376" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you’ve too many tabs open, then it will be displayed as stacked list as your seeing above.&lt;/p&gt;  &lt;p&gt;Cool eh! This is a quick post on my first look, if you find something really cool, please do share with me in twitter, facebook, or as a comment in this blog.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-4036059895394845939?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_DvgUmEtGlHYplofHVfbmts4Pz4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_DvgUmEtGlHYplofHVfbmts4Pz4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_DvgUmEtGlHYplofHVfbmts4Pz4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_DvgUmEtGlHYplofHVfbmts4Pz4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=WgkL1H17puA:Dk2lwFI_0cU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=WgkL1H17puA:Dk2lwFI_0cU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=WgkL1H17puA:Dk2lwFI_0cU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=WgkL1H17puA:Dk2lwFI_0cU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=WgkL1H17puA:Dk2lwFI_0cU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=WgkL1H17puA:Dk2lwFI_0cU:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=WgkL1H17puA:Dk2lwFI_0cU:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/WgkL1H17puA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.131-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/firefox-36-exploiting-features-of.html</feedburner:origLink></item><item><title>Facebook Feature Suggestion - Temporarily Remove seen entries</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/ebPTa9-rK4M/facebook-feature-suggestion-temporarily.html</link><category>Softwares</category><category>Social Networking</category><category>Reviews</category><category>Suggestion</category><category>facebook</category><category>Software</category><category>design</category><category>Misc</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-2989913154839167105</guid><description>&lt;p&gt;It will be very nice if we can temporarily removing the update from the friends. So that I can check each and every updates in ease, on removing seen entries, the next entry should come up. &lt;a href="Tweetdeck.com" target="_blank"&gt;Tweetdeck&lt;/a&gt; has a feature like clear seen tweets. This something similar to that. Without deleting the facebook entry, temporarily removing the entries. Something like below, it'd be nice if we put a close button like this per entry to hide the facebook updates. I believe something like this would make the facebook less noisy! What do you think?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image8.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb8.png" width="554" height="531" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-2989913154839167105?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wS_CQ12uXoxUNWChGjFIldvTw1U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wS_CQ12uXoxUNWChGjFIldvTw1U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wS_CQ12uXoxUNWChGjFIldvTw1U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wS_CQ12uXoxUNWChGjFIldvTw1U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ebPTa9-rK4M:rwGZ741y6YY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ebPTa9-rK4M:rwGZ741y6YY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ebPTa9-rK4M:rwGZ741y6YY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ebPTa9-rK4M:rwGZ741y6YY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ebPTa9-rK4M:rwGZ741y6YY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ebPTa9-rK4M:rwGZ741y6YY:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ebPTa9-rK4M:rwGZ741y6YY:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/ebPTa9-rK4M" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.139-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/facebook-feature-suggestion-temporarily.html</feedburner:origLink></item><item><title>Visual Studio 2010 – Pin the watch box in source window</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/MYqSPPTPakA/visual-studio-2010-pin-watch-box-in.html</link><category>Debug</category><category>Visual Studio 2010</category><category>Tips</category><category>Debugging</category><category>Visual Studio</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-293569985049800553</guid><description>&lt;p&gt;To know the content of a particular variable during debugging, what we usually do is add it to the watch window or just hover the mouse over it and see the values as tool tip like window. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image4.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb4.png" width="122" height="47" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;With Visual Studio 2010 You can pin this watch window in the source file like a notes. Whenever the data is changed, you can watch it instantly in the source file itself. Cool eh? See it here.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Start your Debugging&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As you’re seeing above, hover the mouse on the required variable. Click on the pin button on the right end.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image5.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb5.png" width="375" height="222" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can see close button to close the watch unpin button and expand button. You can also add the comments as you’re seeing above.&lt;/p&gt;  &lt;p&gt;Once you step through debugging process, you can see this changing as below. if the data is updated, it will be displayed in red color.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image6.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb6.png" width="419" height="239" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s really cool when you’re watching the arrays. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image7.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb7.png" width="595" height="254" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can selectively pin the array items and if necessary you can see the entire array as usual. &lt;/p&gt;  &lt;p&gt;This can be moved from the current line of display. The blue color pin on the left side of the source window will move along and on hovering, it will display to which line this watch is attached with.&lt;/p&gt;  &lt;p&gt;The interesting thing is that Visual Studio can remember your pins and can restore when you start over the debugging.&lt;/p&gt;  &lt;p&gt;What the drawback I found in this, we can’t specify &lt;a href="http://msdn.microsoft.com/en-us/library/aa265753%28VS.60%29.aspx" target="_blank"&gt;symbols for watch variables&lt;/a&gt; in this window. If it’s there, we do simple memory analysis and other handy display options easily.&lt;/p&gt;  &lt;p&gt;This is a simple use case of this feature. It will be very handy in many critical debugging situations. For e.g. while working with multiple threads etc…&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-293569985049800553?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/09fcg44T6lMRM4QjN23-wwei10E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/09fcg44T6lMRM4QjN23-wwei10E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/09fcg44T6lMRM4QjN23-wwei10E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/09fcg44T6lMRM4QjN23-wwei10E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=MYqSPPTPakA:EaKKR_9KocE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=MYqSPPTPakA:EaKKR_9KocE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=MYqSPPTPakA:EaKKR_9KocE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=MYqSPPTPakA:EaKKR_9KocE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=MYqSPPTPakA:EaKKR_9KocE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=MYqSPPTPakA:EaKKR_9KocE:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=MYqSPPTPakA:EaKKR_9KocE:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/MYqSPPTPakA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.144-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/visual-studio-2010-pin-watch-box-in.html</feedburner:origLink></item><item><title>Visual Studio - Using wildcard characters in the symbol pattern for a
breakpoint</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/ko-Xrzc1iHg/visual-studio-using-wildcard-characters.html</link><category>Visual Studio 2010</category><category>Tips</category><category>Visual Studio 2008</category><category>Debugging</category><category>Visual Studio</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7079243528427406077</guid><description>&lt;p&gt;If you even came across WinDBG, you might have experienced using “&lt;font color="#800000" face="Courier New"&gt;bm&lt;/font&gt;” command for setting one more breakpoints based on the pattern we’re specifying.&lt;/p&gt;  &lt;p&gt;For e.g if we put break point like &lt;font color="#800000" face="Courier New"&gt;bm Create*&lt;/font&gt;, the debugger will put the break points in the function with starts with Create. &lt;/p&gt;  &lt;p&gt;The similar feature is available in Visual Studio as well. As an example, consider the following class ‘CPerson’&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image1.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb1.png" width="552" height="424" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;and suppose if we want to set the break points on all set function, we can do as do as follows. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Take New Break Point from Debug Menu&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image2.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb2.png" width="600" height="375" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Give your wild characters to break at desired function&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/11.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="11" border="0" alt="11" src="http://sarathc.files.wordpress.com/2009/10/11_thumb.png" width="594" height="270" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Once you start debugging you can see that break-points appears as specified…&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image3.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb3.png" width="600" height="285" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Cool isn’t it?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7079243528427406077?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SNvQ0Nwb7ZMg_aSibLje0C98A7Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SNvQ0Nwb7ZMg_aSibLje0C98A7Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SNvQ0Nwb7ZMg_aSibLje0C98A7Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SNvQ0Nwb7ZMg_aSibLje0C98A7Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ko-Xrzc1iHg:Rx1tudTmgYs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ko-Xrzc1iHg:Rx1tudTmgYs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ko-Xrzc1iHg:Rx1tudTmgYs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ko-Xrzc1iHg:Rx1tudTmgYs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ko-Xrzc1iHg:Rx1tudTmgYs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ko-Xrzc1iHg:Rx1tudTmgYs:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ko-Xrzc1iHg:Rx1tudTmgYs:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/ko-Xrzc1iHg" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.150-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/visual-studio-using-wildcard-characters.html</feedburner:origLink></item><item><title>How to enable DML support in WinDBG? (interactive debugger output with
hyperlinks)</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/r01pAk3spz4/how-to-enable-dml-support-in-windbg.html</link><category>WinDBG</category><category>Debug</category><category>Tips</category><category>windows</category><category>Debugging</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7203889743848825811</guid><description>&lt;p&gt;As everyone knows WinDBG is the most powerful debugger in Windows. But few people find it’s difficult because it’s not friendly like Visual Studio. Only raw text output in the debugger console. (of course thread,process,local watch windows etc. are available) but still its interesting if you can access few quick relevant information with a single click? WinDBG supports embedding hyperlinks in the command output with DML(Debugger Markup language).&lt;/p&gt;  &lt;p&gt;As an example, if you faced some crash issues with some wrong version of DLL, probably you might be needed to check the version of the DLL loaded into process’s address space.&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;lm &lt;/font&gt;is the command used to display list the loaded modules. Ok just try with &lt;font color="#800000" face="Courier New"&gt;lmD&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/image.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/10/image_thumb.png" width="577" height="385" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can see that on clicking the hyperlink &lt;strong&gt;shdocvw&lt;/strong&gt; windbg send the command hidden in that link (lmDvmshdocvw – lm (list modules) D(DML) m(pattern)module name) and displays details of the corresponding DLL. The behavior changes according to the context and implementation of commands. For e.g if kb displays the call stack and the frame numbers will be enabled with DML links.On clicking the frame numbers, it jumps to corresponding &lt;a href="http://en.wikipedia.org/wiki/Call_stack" target="_blank"&gt;stack frame&lt;/a&gt; in the current &lt;a href="http://en.wikipedia.org/wiki/Call_stack" target="_blank"&gt;call stack&lt;/a&gt;. You can see what’s the command going to be executed at status bar by hovering the mouse over the link.&lt;/p&gt;  &lt;p&gt;Not all commands are implemented DML support. You can turn on/off DML support globally according to your convenience. Once the DML support enabled globally, WinDBG will automatically calls the DML version of the commands if available. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;You can turn on DML support by - &lt;font color="#800000" face="Courier New"&gt;.prefer_dml 1&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;You can turn this feature off by - &lt;font color="#800000" face="Courier New"&gt;.prefer_dml 0&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Once after you enable DML mode, if you give &lt;font color="#800000" face="Courier New"&gt;lm &lt;/font&gt;command, you will get the same output of &lt;font color="#800000" face="Courier New"&gt;lmD&lt;/font&gt;. Try it with other commands as well. Happy debugging!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7203889743848825811?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_3dxZAiJMTO8LkHVs6zhqi8hqrM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_3dxZAiJMTO8LkHVs6zhqi8hqrM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_3dxZAiJMTO8LkHVs6zhqi8hqrM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_3dxZAiJMTO8LkHVs6zhqi8hqrM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=r01pAk3spz4:a3iedX3zK2M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=r01pAk3spz4:a3iedX3zK2M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=r01pAk3spz4:a3iedX3zK2M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=r01pAk3spz4:a3iedX3zK2M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=r01pAk3spz4:a3iedX3zK2M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=r01pAk3spz4:a3iedX3zK2M:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=r01pAk3spz4:a3iedX3zK2M:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/r01pAk3spz4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.171-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/how-to-enable-dml-support-in-windbg.html</feedburner:origLink></item><item><title>An open letter to micromanagers – Another classic article from scott
berkun</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/IQwPFabNI80/open-letter-to-micromanagers-another.html</link><category>Personal Improvement</category><category>Tips</category><category>Project Mangement</category><category>Project Management</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7538001125754124668</guid><description>&lt;p&gt;In his recent article, &lt;a href="http://ScottBerkun.com" target="_blank"&gt;Scott Berkun&lt;/a&gt; reloaded his shot gun against micromanagers. Here I am quoting some best part of his &lt;a href="http://www.scottberkun.com/blog/2009/letter-to-micromanagers/" target="_blank"&gt;open letter to micromanagers&lt;/a&gt;. You may why should I post it here. Because I hate micromanagement, absolute waste of time, energy, full of desperation, de-motivation, unbalanced team, poor culture, more pressure… Even I’ve seen some managers spoiling good culture and harmony in the team by “pressurizing the team”. Nobody gains from this. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/10/67295-strip1.gif"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="67295.strip[1]" border="0" alt="67295.strip[1]" src="http://sarathc.files.wordpress.com/2009/10/67295-strip1_thumb.gif" width="583" height="182" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;Image courteously from &lt;/font&gt;&lt;a href="http://dilbert.com" target="_blank"&gt;&lt;font size="1"&gt;dilbert.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Owners of thoroughbreds never stop their horses during a race, every ten seconds, to remind&amp;#160; the horse and jockey how to run, where the finish line is, or that it’d be a good idea to finish first. Why? It would slow them down. &lt;strong&gt;Only an idiot would do this.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you’re a manager, you must assume you have thoroughbreds working for you. Your job is to give them what they need to win their respective races, agreeing with them on the goal&amp;#160; and rewards, but then getting the hell out of the way. Until they start jumping fences or attacking other horses, you have to let them run their race.&lt;/p&gt;    &lt;p&gt;Even if you are 30% better at a task than someone who works for you, the time it takes for you to check on them every few hours, and demand approvals over trivial decisions, costs more in lost morale, passion for work, and destruction of self-respect among your staff than the 30% you think you’re adding.&amp;#160; No one works well if they feel they are being treated like an idiot child. Having two people involved in work that should only require one wastes everyone’s time.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;But if you are in fact a micromanager, you started over-managing the day you started. You have&amp;#160; no idea of the potential of the people who work for you&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;An easy test of micromanagement is to let your team know you are confident in their ability to do their job and offer, if they wish, that you will be less involved in their day to day work to give them more room to perform. Tell them you are available if they need you, but otherwise you will put some of your attention elsewhere. See what happens. Hold your tongue. Don’t demand to review that email. Don’t insist on regulating who can meet with who. Take one small step backward and see what happens.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Your best employees will be happier and more productive, giving you new energy to invest in the rest of your work or more afternoons where you can head home early. Some of your team might surprise you, and thrive with more autonomy. And for those who fail to improve or make mistakes, you’ve lost nothing, as you can step back in where it’s actually needed.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Perhaps you’re afraid to admit your people can function quite well without your approval or input on every stupid little thing. Or&lt;strong&gt; it could be you are proof of the &lt;/strong&gt;&lt;a href="http://en.wikipedia.org/wiki/Peter_Principle"&gt;&lt;strong&gt;peter principle&lt;/strong&gt;&lt;/a&gt;, and would be happier and more useful if you stopped managing and worked solo.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;Good managers are brave, and generous with trust in their people. The want them to mature in their judgment and grow in their skills, preferring to err on the side of trusting too much than trusting too little. They take pleasure in letting go and giving power away to their staff, accepting that when someone who works for them shines, they shine too.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And the best part&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Hugs and kisses,&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Signed,&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The people you are micromanaging&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7538001125754124668?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uvH5SeL0gABLElDMU2GuyjvNM68/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uvH5SeL0gABLElDMU2GuyjvNM68/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uvH5SeL0gABLElDMU2GuyjvNM68/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uvH5SeL0gABLElDMU2GuyjvNM68/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=IQwPFabNI80:YqVR_yb24h0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=IQwPFabNI80:YqVR_yb24h0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=IQwPFabNI80:YqVR_yb24h0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=IQwPFabNI80:YqVR_yb24h0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=IQwPFabNI80:YqVR_yb24h0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=IQwPFabNI80:YqVR_yb24h0:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=IQwPFabNI80:YqVR_yb24h0:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/IQwPFabNI80" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.178-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/open-letter-to-micromanagers-another.html</feedburner:origLink></item><item><title>How to keep your mouth shut – interesting article by Scott Berkun</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/V7qe-UK8vNA/how-to-keep-your-mouth-shut-interesting.html</link><category>Personal Improvement</category><category>Project Mangement</category><category>Misc</category><category>Personal</category><category>Project Management</category><category>Code</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7507305362120126083</guid><description>&lt;a href="http://sarathc.files.wordpress.com/2009/10/keepsilence.jpg"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;margin-left:0;border-top:0;margin-right:0;border-right:0;" title="keep-silence" src="http://sarathc.files.wordpress.com/2009/10/keepsilence_thumb.jpg" border="0" alt="keep-silence" width="201" height="240" align="left" /&gt;&lt;/a&gt; I am a hard fan of &lt;a href="http://ScottBerkun.com" target="_blank"&gt;Scott Berkun&lt;/a&gt; especially because of &lt;a title="Scott Berkun Essays" href="http://www.scottberkun.com/essays/" target="_blank"&gt;great essays&lt;/a&gt; and his book &lt;a title="The Art of Project Management" href="http://www.amazon.com/Project-Management-Theory-Practice-OReilly/dp/0596007868" target="_blank"&gt;“The Art of Project Management”&lt;/a&gt; (it has a new updated version called&lt;a href="http://www.amazon.com/Making-Things-Happen-Mastering-Management/dp/0596517718"&gt; "Making things happen"&lt;/a&gt;) which is one of the best management books I’ve ever read. Trust me, it doesn’t contain any bullshits. It talking about the common stuffs in Project management with common sense.&lt;br/&gt;&lt;br/&gt;This time I am really interest to quote about his new article in posted in his Blog &lt;a href="http://www.scottberkun.com/blog/2009/how-to-keep-your-mouth-shut/" target="_blank"&gt;“How to keep your mouth shut?”&lt;/a&gt; Why I am quoting this here because this is a common problem we face including myself  in our day to day life. At least I am experienced few things he mentioned in his blog post.&lt;br/&gt;&lt;blockquote&gt;As a rule, if you insist on speaking your mind, you will inevitably find yourself in an environment where everyone hates you.  &lt;strong&gt;Most people can not handle the truth&lt;/strong&gt;. And the more you shove it in their face, the easier it is for them to ignore you. You simply become &lt;strong&gt;the person who always complains&lt;/strong&gt;, rendering any good ideas you have entirely impotent. Your ideas will be shot down simply because of the reputation of the mouth they come from.&lt;/blockquote&gt;&lt;br/&gt;When you’re working under good teams you will get applauded regardless of the senior audience. But he talks about the time where he worked in a team where no one spoke their mind in public.  Few people worked hard or asked tough questions. Quality of work, and morale, was low.&lt;br/&gt;&lt;br/&gt;In this kind of situation people may consider your view points as wrong or arrogant.&lt;br/&gt;&lt;blockquote&gt;&lt;strong&gt;If you don’t know the angle being played, anything you say might ruin the plan.&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;This is a great rule to follow before you raise objections or offer big ideas. No matter how right you are, if you care about effecting change, you should never open your mouth without some sense of who will agree with you and who won’t.  If you can anticipate the angles and responses, and judge, even by guessing, if there is a 80%, 20% or 0% percent chance anyone in good standing will follow your lead in support of what you say, you know whether it’s worth opening your mouth. It’s a world of difference of perception when someone respected says, after you speak, “he might be right” and when there’s only silence. And of course, in most cases your percentages go up if you raise your objections in private, rather than in a large meeting where egos are at stake.&lt;/blockquote&gt;&lt;br/&gt;We must have experienced situations where our words took in wrong sense. May be we’re talking or raising the hands when we are foreseeing some issues, dealing with BS management, poor tracking, planning, unrealistic estimations and schedule. But remember, someone more powerful than you should have to agree with what you’re saying, otherwise the situation comes like your words got misinterpreted. Trust me, it’s hard to convince your seniors and you will have to do your homework on how to convince them if you’re seeing some wrong or may we need to understand ourselves why such a decision has been made. For this Berkun has another interesting essay - &lt;a title="How to survive bad managers" href="http://www.scottberkun.com/essays/43-how-to-survive-a-bad-manager/" target="_blank"&gt;How to survive bad managers?&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;If you’re saying something, just think twice whether it’s gonna be respected or agreed by your audience. If we’re feeling our ideas or opinions are great, we should have the convince the audience about your view point. Our actions and images are the core things behind these acceptance. If you’re having a bad track record it simply hard get proved unless you’re introducing something great to change the status quo.&lt;br/&gt;&lt;br/&gt;On the other hand(receiving end), we’re not comfortable in changing the coziness we’ve, sometimes even if realize it’s a mistake. In the classic book code complete Steve McConnel says -&lt;br/&gt;&lt;blockquote&gt;Any fool can defend his or her mistakes—and most fools do —Dale Carnegie&lt;br/&gt;&lt;br/&gt;&lt;em&gt;&lt;strong&gt;If a person refuses to admit a mistake, the only person she’ll fool is herself. &lt;/strong&gt;&lt;/em&gt;Everyone else will learn that they’re working with a prideful programmer (person) who’s not completely honest. That’s a more damning fault than making a simple error. If you make a mistake, admit it quickly and emphatically.&lt;/blockquote&gt;&lt;br/&gt;&lt;div id="_mcePaste" style="overflow:hidden;position:absolute;width:1px;height:1px;top:321px;left:-10000px;"&gt;If she refuses to admit a mistake, the only person she’ll fool is herself. Everyone&lt;br/&gt;292 else will learn that they’re working with a prideful programmer who’s not&lt;br/&gt;293 completely honest. That’s a more damning fault than making a simple error. If&lt;br/&gt;294 you make a mistake, admit it quickly and emphatically.&lt;/div&gt;&lt;br/&gt;The post is still incomplete because these kind of things may vary from people to situation. Some good related essays from Scott is here.&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.scottberkun.com/essays/40-why-smart-people-defend-bad-ideas/" target="_blank"&gt;Why smart people defend bad ideas&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.scottberkun.com/essays/38-how-to-pitch-an-idea/" target="_blank"&gt;How to pitch an idea&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.scottberkun.com/essays/43-how-to-survive-a-bad-manager/" target="_blank"&gt;How to survive a bad manager&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.scottberkun.com/essays/42-why-you-must-lead-or-follow/" target="_blank"&gt;Why you must lead or follow&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;a href="http://www.scottberkun.com/essays/35-how-to-give-and-receive-criticism/" target="_blank"&gt;How to give and receive criticism&lt;/a&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;[Updated 2009-10-13 12.00 Noon JST]&lt;br/&gt;&lt;br/&gt;Fixed typos. reduced the usage of BS :) (Sometimes I forgetting I am not an American :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7507305362120126083?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hyixMcBzeFg5MC1Kl6U0TdNsbR0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hyixMcBzeFg5MC1Kl6U0TdNsbR0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hyixMcBzeFg5MC1Kl6U0TdNsbR0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hyixMcBzeFg5MC1Kl6U0TdNsbR0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=V7qe-UK8vNA:Va3f4pKTRxg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=V7qe-UK8vNA:Va3f4pKTRxg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=V7qe-UK8vNA:Va3f4pKTRxg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=V7qe-UK8vNA:Va3f4pKTRxg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=V7qe-UK8vNA:Va3f4pKTRxg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=V7qe-UK8vNA:Va3f4pKTRxg:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=V7qe-UK8vNA:Va3f4pKTRxg:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/V7qe-UK8vNA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.184-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/10/how-to-keep-your-mouth-shut-interesting.html</feedburner:origLink></item><item><title>How to Debug Child Process Using WinDBG/Visual Studio?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/dmV2aW_04HE/how-to-debug-child-process-using.html</link><category>WinDBG</category><category>Debug</category><category>Tips</category><category>Visual Studio 2008</category><category>Debugging</category><category>Visual Studio</category><category>Visual C++</category><category>Code</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3580179192052850780</guid><description>&lt;p&gt;Have you ever came across a situation where you need to debug a child process created by your application or external application? &lt;/p&gt;  &lt;p&gt;Usually when we need to debug an application (process) usually we’ll be attaching the particular process to debugger by executing in debug mode from the debugger itself or use “Attach process” option provided by debugger.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image5.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb5.png" width="596" height="410" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;You can debug the processes where you’ve the right debug privileges. But suppose if you’re working in a system where your application is launched by someone else and you’re facing some catastrophic errors in some critical point of execution where you’ve no chance to attach it to debugger. (e.g during startup)&lt;/p&gt;  &lt;p&gt;In this situation usually developers modify the source code if the want to debug and put some delay, or call “DebugBreak” API to debug the program. But in some situations this is also not practical. So what we’ve to do?&lt;/p&gt;  &lt;p&gt;We’ve two debuggers that developers use in very common. Visual Studio Debugger is one of the most popular debugger in Windows. Okay before talking about Visual Studio I’d show how we could achieve this with WinDBG, the most powerful debugger under Windows. But it’s not that flexible like Visual Studio. It’s a beast! with all power to rule the process :)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WinDBG Way&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I’ve created a small program which will be crashing in the startup itself. I am not going to write a launcher to create the process, I will do that from the command line. The steps to debug the child process are&lt;/p&gt;  &lt;p&gt;1. Launch the parent application which is going to create the desired process.&lt;/p&gt;  &lt;p&gt;2. Attach the parent process to WinDBG (Hope you’re all set with your symbol server and source file paths for better debugging)&lt;/p&gt;  &lt;p&gt;3. Enable Child Process debugging by giving command “.childdebg 1”&amp;#160; (pass 0 if you want to disable it. See the documentation)&lt;/p&gt;  &lt;p&gt;4. Resume the process by hitting “Go” and let the parent process to create the child process.&lt;/p&gt;  &lt;p&gt;5. You can see that WinDBG will “Break In” when the new process is created. &lt;/p&gt;  &lt;p&gt;6. Now you can start debugging by setting Break points, watch, etc… &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio Ways&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The previous method was not at all painful no? But Visual Studio doesn’t&amp;#160; natively support debugging multiple process. According John Robbins, it requires a serious architectural change in Visual Studio. There’s no straight way to do this. There two known method to do this.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Using Image File Execution Option with Visual Studio&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Setup: &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; 1. Run regedit.exe   &lt;br /&gt;&amp;#160;&amp;#160; 2. Goto HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options    &lt;br /&gt;&amp;#160;&amp;#160; 3. Create a new key for your exe (example: foo.exe)    &lt;br /&gt;&amp;#160;&amp;#160; 4. Create a new string value under your exe. The name of the string value is 'Debugger', and the value is 'vsjitdebugger.exe' &lt;/p&gt;  &lt;p&gt;Here is a sample registry script to do this: (save as .reg file after changing sample.exe to your application's name)&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Windows Registry Editor Version 5.00    &lt;br /&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sample.exe]    &lt;br /&gt;&amp;quot;Debugger&amp;quot;=&amp;quot;vsjitdebugger.exe&amp;quot;&lt;/p&gt;  &lt;p&gt;The above method is exploiting one of native debugging feature provided by Windows. Ensure that the modification at registry is reverted back once you finish with debugging. Otherwise whenever the application is started, it will automatically starts with Visual Studio Debugger. &lt;a href="http://blogs.msdn.com/greggm/archive/2005/02/21/377663.aspx"&gt;See this blog entry for more details&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Google Chrome Debug Macros&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The people at Google (or those who contributed) are so smart and they’ve created few Visual Studio Macros to enable you to debug the child process. They found in some situations the Image File Execution Option doesn't work well. And they’ve written some efficient macros to debug the child processes using Visual Studio.&lt;/p&gt;  &lt;p&gt;You can see the &lt;a href="http://code.google.com/p/chromium/wiki/WindowsVisualStudioMacros#Automatically_grab_chromium_child_processes"&gt;macros&lt;/a&gt; and &lt;a href="http://dev.chromium.org/developers/how-tos/debugging"&gt;how to debug article&lt;/a&gt; in Chrome website.&lt;/p&gt;  &lt;p&gt;Happy Debugging!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3580179192052850780?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cleS9rp12CPWpSpkEjZJmsLCdT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cleS9rp12CPWpSpkEjZJmsLCdT4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cleS9rp12CPWpSpkEjZJmsLCdT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cleS9rp12CPWpSpkEjZJmsLCdT4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=dmV2aW_04HE:apQ_7nOyano:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=dmV2aW_04HE:apQ_7nOyano:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=dmV2aW_04HE:apQ_7nOyano:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=dmV2aW_04HE:apQ_7nOyano:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=dmV2aW_04HE:apQ_7nOyano:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=dmV2aW_04HE:apQ_7nOyano:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=dmV2aW_04HE:apQ_7nOyano:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/dmV2aW_04HE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.207-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/how-to-debug-child-process-using.html</feedburner:origLink></item><item><title>Tools – Paint .NET is an professional Open source image and photo editor</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/ilApMqvv1-g/tools-paint-net-is-professional-open.html</link><category>Softwares</category><category>Image Editor</category><category>Tools</category><category>Photoshop</category><category>GIMP</category><category>Tips</category><category>Paint</category><category>Paint .NET</category><category>opensource</category><category>Freeware</category><category>Effects</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-4006592653556493032</guid><description>&lt;p&gt;When people thinks about photo and image editing, only one name first comes to mind (at least for me), It’s Adobe Photoshop. But it’s heavy, pricey commercial product. What if you can get major of it’s functionality at free of cost under Windows? Cool eh? Here’s the solution &lt;a href="http://www.getpaint.net/" target="_blank"&gt;&lt;strong&gt;Paint .NET&lt;/strong&gt;&lt;/a&gt; written completely in Microsoft .NET&lt;/p&gt;  &lt;h6&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image4.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb4.png" width="596" height="474" /&gt;&lt;/a&gt; &lt;/h6&gt;  &lt;blockquote&gt;   &lt;p&gt;Paint.NET is free image and photo editing software for computers that run Windows. It &lt;a href="http://www.getpaint.net/features.html"&gt;features&lt;/a&gt; an intuitive and innovative user interface with support for layers, unlimited undo, special effects, and a wide variety of useful and powerful tools. An active and growing &lt;a href="http://www.getpaint.net/redirect/forum.html"&gt;online community&lt;/a&gt; provides friendly help, &lt;a href="http://www.getpaint.net/redirect/tutorials.html"&gt;tutorials&lt;/a&gt;, and&lt;a href="http://www.getpaint.net/redirect/plugins.html"&gt;plugins&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;It started development as an undergraduate college senior design project mentored by Microsoft, and is currently being maintained by some of the alumni that originally worked on it. Originally intended as a free replacement for the &lt;a href="http://en.wikipedia.org/wiki/Ms_Paint"&gt;Microsoft Paint&lt;/a&gt; software that comes with Windows, it has grown into a powerful yet simple image and photo editor tool. It has been compared to other digital photo editing software packages such as &lt;a href="http://en.wikipedia.org/wiki/Photoshop"&gt;Adobe&lt;sup&gt;®&lt;/sup&gt; Photoshop&lt;sup&gt;®&lt;/sup&gt;&lt;/a&gt;, Corel&lt;sup&gt;®&lt;/sup&gt;&lt;a href="http://en.wikipedia.org/wiki/Paint_Shop_Pro"&gt;Paint Shop Pro&lt;sup&gt;®&lt;/sup&gt;&lt;/a&gt;, Microsoft Photo Editor, and &lt;a href="http://en.wikipedia.org/wiki/The_gimp"&gt;The GIMP&lt;/a&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h6&gt;&amp;#160;&lt;/h6&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;It boasts these major features&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Simple, intuitive, and innovative user interface&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Layers&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Active Online Community&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Frequently Updated (updates every 4-8 weeks)&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Special Effects&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Powerful Tools – &lt;/b&gt;Splines, Curves, Bezier, magic wand, clone stamp, gradient etc...&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Unlimited History&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Free!&lt;/b&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;&lt;font size="5"&gt;&lt;a href="http://www.getpaint.net/download.html" target="_blank"&gt;&lt;strong&gt;Download It Here!&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/ul&gt;  &lt;ul&gt;Other variant you can try for free is &lt;strong&gt;&lt;a href="http://www.gimp.org/" target="_blank"&gt;The GIMP&lt;/a&gt;&lt;/strong&gt;. It’s also an excellent photo editing tool.&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-4006592653556493032?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tMlPMIF_OStgFeyuJOvHDQ9O5dE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tMlPMIF_OStgFeyuJOvHDQ9O5dE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tMlPMIF_OStgFeyuJOvHDQ9O5dE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tMlPMIF_OStgFeyuJOvHDQ9O5dE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ilApMqvv1-g:w0N5jWwQbD4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ilApMqvv1-g:w0N5jWwQbD4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ilApMqvv1-g:w0N5jWwQbD4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ilApMqvv1-g:w0N5jWwQbD4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ilApMqvv1-g:w0N5jWwQbD4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ilApMqvv1-g:w0N5jWwQbD4:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ilApMqvv1-g:w0N5jWwQbD4:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/ilApMqvv1-g" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.213-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/tools-paint-net-is-professional-open.html</feedburner:origLink></item><item><title>Tools: Notepad++ is the powerful text editor you need</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/4f2JWjsQsuA/tools-notepad-is-powerful-text-editor.html</link><category>Notepad++m TextPad</category><category>Softwares</category><category>Editor</category><category>Tools</category><category>Tips</category><category>Crimson Editor</category><category>free text editor</category><category>notepad</category><category>opensource</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-1923537641030039063</guid><description>&lt;p&gt;Fed up with with the normal notepad of Windows? Or are you want some good flexible and powerful text editor? Here it’s Notepad++. The features are truly amazing @ free of cost.&lt;/p&gt;  &lt;p&gt;Besides the excellent editing features( just check it’s menu, you will get amazed) &lt;a href="http://notepad-plus.sourceforge.net/" target="_blank"&gt;Notepad++&lt;/a&gt; features are&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Syntax Highlighting and Syntax Folding&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;WYSIWYG&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;If you have a colour printer, print your source code (or whatever you want) in colour.     &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;User Defined Syntax Highlighting&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;It allows user to define his own language : not only the syntax highlighting keywords, but also the syntax folding keywords, comment keywords and the operators.      &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Auto-completion&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;For most supported languages, user can make his/her own API list (or download the api files from &lt;a href="http://notepad-plus.sourceforge.net/download.php"&gt;dowload section&lt;/a&gt;). Once the api file is ready, type &lt;strong&gt;Ctrl+Space&lt;/strong&gt; to launch this action (see &lt;a href="http://notepad-plus.sourceforge.net/commun/screenshots/scrsh_autocomplete.gif"&gt;screenshot&lt;/a&gt;).       &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Multi-Document&lt;/strong&gt;&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Multi-View&lt;/strong&gt;&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Regular Expression Search/Replace supported&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Full Drag ‘N' Drop supported&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;You can open a document by drag &amp;amp; drop. You can also move your document from a position (or even a view) to another by drag &amp;amp; drop.     &lt;br /&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Dynamic position of Views&lt;/strong&gt;&lt;/a&gt;&lt;img src="http://notepad-plus.sourceforge.net/commun/images/trait.gif" width="16" height="30" /&gt;&lt;/p&gt;    &lt;p&gt;The user can set the position of the views dynamically (only in 2 views mode : the splitter can be set in horizontal or in vertical)&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;File Status Auto-detection&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Zoom in and zoom out&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Multi-Language environment supported&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Bookmark&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Brace and Indent guideline Highlighting&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;When the caret stay beside of one of those symbol &lt;strong&gt;{ } [ ] ( )&lt;/strong&gt; , the symbol beside of caret and its symmetric opposite symbol will be highlighted, as well as the indent guideline (if any) in order to locate the block more easily.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;&lt;strong&gt;Macro recording and playback&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;You can save several macros and edit their keyboard shorcuts for the next use.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image3.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb3.png" width="592" height="495" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Another hidden gem in this editor is the build in (Okay, a built in extension) command window. Which is replica of window cmd.exe. This was one of the most helpful one for me when I was working with clearcase server. I was encountering with make files and C++ source code all there was no Visual Studio project file to build. either I’ve to create a dummy project and add these files to Visual Studio and create build commands as the “External tools” option in Visual Studio. But I was truly comfortable with the folder view (I could not see it in the latest version) to manage my files as solution explorer and use the command line to build the project. It was simply awesome and comfortable. Also I don’t need to pay too much memory for Visual Studio as I can do same things here with a lightweight tool. Also it’s integrated with Context menu to easily open the required documents.&lt;/p&gt;  &lt;p&gt;It supports plugins and some handy plugins like compare , FTP synchronize etc.&lt;/p&gt;  &lt;p&gt;Have a try – &lt;a href="http://notepad-plus.sourceforge.net/uk/download.php" target="_blank"&gt;&lt;font size="5"&gt;&lt;strong&gt;Download it here&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Some other powerful text editors you can try but I feel this is really comfortable. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.crimsoneditor.com/" target="_blank"&gt;&lt;font size="4"&gt;Crimson Editor&lt;/font&gt;&lt;/a&gt;&lt;font size="4"&gt;&amp;#160;&lt;/font&gt;&lt;font size="2"&gt;(Before I am moving to notepad++, I was a hard fan of this one)&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="www.flos-freeware.ch/notepad2.html" target="_blank"&gt;&lt;font size="4"&gt;Notepad2&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="www.textpad.com" target="_blank"&gt;&lt;font size="4"&gt;TextPad&lt;/font&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-1923537641030039063?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fsaW5AgztFUhy9_lUBMXv5Fa6OM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fsaW5AgztFUhy9_lUBMXv5Fa6OM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fsaW5AgztFUhy9_lUBMXv5Fa6OM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fsaW5AgztFUhy9_lUBMXv5Fa6OM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4f2JWjsQsuA:VyEhhuQu4OI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4f2JWjsQsuA:VyEhhuQu4OI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=4f2JWjsQsuA:VyEhhuQu4OI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4f2JWjsQsuA:VyEhhuQu4OI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4f2JWjsQsuA:VyEhhuQu4OI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=4f2JWjsQsuA:VyEhhuQu4OI:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=4f2JWjsQsuA:VyEhhuQu4OI:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/4f2JWjsQsuA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.221-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/tools-notepad-is-powerful-text-editor.html</feedburner:origLink></item><item><title>“Like this” – Faces severe criticisms. Just think before use it</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/ezm5aLGBM-4/like-this-faces-severe-criticisms-just.html</link><category>Softwares</category><category>Social Networking</category><category>Reviews</category><category>facebook</category><category>Misc</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3831921335203719014</guid><description>&lt;p&gt;&lt;a href="http://friendfeed.com/" target="_blank"&gt;Friendfeed&lt;/a&gt; is a cool aggregation service which took aggregates many social media websites. They’ve introduced the service with a cool new feature called “Like this”. You can press the like button to mark your emotions towards the shared content. Finally the number of people liked the story and comments give every author a good satisfaction and inspiration to share more! Of course believe me. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb.png" width="463" height="316" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://facebook.com/" target="_blank"&gt;Facebook&lt;/a&gt; also &lt;a href="http://blog.facebook.com/blog.php?post=53024537130" target="_blank"&gt;introduced the “Like” option&lt;/a&gt; to the shared contents inspired from friendfeed. but recently I’ve noticed that, lot of good, bad news are happening around but without having any common sense or understanding people are “Liking Stories” (even myself accidently liked a sad story, which I never supposed to&amp;quot;).&lt;/p&gt;  &lt;p&gt;This came to my attention when Barack Obama’s page posted the Passing Away for Senator Kennedy. You can see 38,847 people like this story so far.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image1.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb1.png" width="513" height="250" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;It surely doesn’t make any sense. It’s a great loss for a nation. People may clicking the like button for showing the interest to the stories or may be just because the news was shared by a “The President” who’s a celebrity on the same platform. It’s method to convey your feeling towards what’s he shared.&lt;/p&gt;  &lt;p&gt;Another story is shared by the Indian Army. It’s again the feelings of a nation, a sad news shared by the protectors of great India. But still lot of people liked this story (I accidently clicked by misunderstanding the trooper with trespasser. Anyway I unlike it quickly) .&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/09/image2.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/09/image_thumb2.png" width="426" height="151" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I think facebook (or any other service providing this feature) should provide an option to control this by the author itself. Because social networks are not simply automated robots. Ultimately it aims people and Sharing their thoughts and information. The services should be flexible and apt to make good sense and value to their users stories and emotions.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3831921335203719014?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eN5QLWGQ7fB6caluDgOaIC9vf6o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eN5QLWGQ7fB6caluDgOaIC9vf6o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eN5QLWGQ7fB6caluDgOaIC9vf6o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eN5QLWGQ7fB6caluDgOaIC9vf6o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ezm5aLGBM-4:6SwbNBxKu6U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ezm5aLGBM-4:6SwbNBxKu6U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ezm5aLGBM-4:6SwbNBxKu6U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ezm5aLGBM-4:6SwbNBxKu6U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ezm5aLGBM-4:6SwbNBxKu6U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ezm5aLGBM-4:6SwbNBxKu6U:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ezm5aLGBM-4:6SwbNBxKu6U:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/ezm5aLGBM-4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.227-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/like-this-faces-severe-criticisms-just.html</feedburner:origLink></item><item><title>Tools: Camstudio is a freeware to capture your screen</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/7dT51Stc4EU/tools-camstudio-is-freeware-to-capture.html</link><category>Softwares</category><category>Tools</category><category>Tips</category><category>Movies</category><category>capture</category><category>Misc</category><category>opensource</category><category>camstudio</category><category>Video Editing</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-4169808476283650205</guid><description>&lt;p&gt;Here’s the another one in the tools series. Suppose if you’re preparing for a hands-on demo on your product, or want to prepare some cool tutorials &lt;a href="http://www.youtube.com/user/luv2help?feature=chclk" target="_blank"&gt;like this guy because you just luv2help&lt;/a&gt;.&amp;#160; What’s the easiest and cost effective way to capture high resolution vide of your desktop? &lt;a href="http://camstudio.org/" target="_blank"&gt;Camstudio&lt;/a&gt; is a free screen recording (capturing) Software. Don’t think about paying some bucks to get the license, it’s absolutely free and Open Source software.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;CamStudio is able to record all screen and audio activity on your computer and create industry-standard AVI video files and using its built-in SWF Producer can turn those AVIs into lean, mean, bandwidth-friendly Streaming Flash videos (SWFs)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://sarathc.files.wordpress.com/2009/08/image.png"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://sarathc.files.wordpress.com/2009/08/image_thumb.png" width="230" height="240" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;CamStudio can also add high-quality, anti-aliased (no jagged edges) screen captions to your recordings in seconds and with the unique Video Annotation feature you can even personalise your videos by including a webcam movie of yourself &amp;quot;picture-in-picture&amp;quot; over your desktop.&lt;/p&gt;    &lt;p&gt;And if all that wasn't enough, CamStudio also comes with its own Lossless Codec that produces crystal clear results with a much smaller filesize compared with other more popular codecs, like Microsoft Video 1.&lt;/p&gt;    &lt;p&gt;You have total control over the output of your video: you can choose to use custom cursors, to record the whole screen or just a section of it and can reduce or increase the quality of the recording depending on if you want smaller videos (for emailing to people, for instance) or you can have &amp;quot;best quality&amp;quot; ones for burning onto CD/DVD.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Enjoy the cool tools :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-4169808476283650205?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7WCiJ9NgGBGpCTjii3dZ3sccwaU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WCiJ9NgGBGpCTjii3dZ3sccwaU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7WCiJ9NgGBGpCTjii3dZ3sccwaU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7WCiJ9NgGBGpCTjii3dZ3sccwaU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=7dT51Stc4EU:eKjh-TXbn2E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=7dT51Stc4EU:eKjh-TXbn2E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=7dT51Stc4EU:eKjh-TXbn2E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=7dT51Stc4EU:eKjh-TXbn2E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=7dT51Stc4EU:eKjh-TXbn2E:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=7dT51Stc4EU:eKjh-TXbn2E:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=7dT51Stc4EU:eKjh-TXbn2E:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/7dT51Stc4EU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.233-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/tools-camstudio-is-freeware-to-capture.html</feedburner:origLink></item><item><title>Tools: WinSplit Revolution allows you to organize your windows</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/LSfvHCzlihs/tools-winsplit-revolution-allows-you-to.html</link><category>Softwares</category><category>Tools</category><category>Tips</category><category>Vista</category><category>windows</category><category>WinSplit</category><category>Arrangement</category><category>Desktop Management</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-1172317570483534878</guid><description>&lt;p&gt;Windows provides only limited Window arrangement facilities by default. The usual Tile Vertically, horizontally, cascade windows are the usual options available in Windows. But it was never flexible to use, especially with multiple monitors. &lt;/p&gt;  &lt;p&gt;In Windows 7, as part of the &lt;a href="http://www.microsoft.com/windows/windows-7/features/whats-new.aspx" target="_blank"&gt;Desktop Enhancement&lt;/a&gt; new Window Organizing features are more flexible than ever.&amp;#160; Like maximizing, horizontal, vertical resizing, side by side view etc.. The best thing is it’s integrated with keyboard shortcuts and also with some cool mouse gestures. e.g by dragging to the top edge, you can maximize the window, to the right or left edge. you can make it 50% size vertically to make a side-by-side comparison. also you can do these with Keyboard shortcuts as well.&lt;/p&gt;  &lt;p&gt;But, Windows 7 is yet to be released. Also not everyone opting Windows 7. This kind of simple features are really handy especially when you’re using a high resolution display and multi-monitor setup.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.winsplit-revolution.com/" target="_blank"&gt;&lt;strong&gt;WinSplit Revolution&lt;/strong&gt;&lt;/a&gt; is a free solution for excellent window management for high resolution and multiple monitors. It permits you to &amp;quot;divide&amp;quot; your screen into several parts: halves, thirds, fourths, etc... For instance, a window can be resized and moved to the left half, the right half, the top, a corner... of the screen. Also it helps you to move a Window to another screen when you’re using multiple monitors.&lt;/p&gt;  &lt;p&gt;&lt;img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://www.winsplit-revolution.com/images/myimages/ecran.png" /&gt; &lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="1"&gt;[Image taken from &lt;/font&gt;&lt;a title="http://www.winsplit-revolution.com/" href="http://www.winsplit-revolution.com/"&gt;&lt;font size="1"&gt;http://www.winsplit-revolution.com/&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt;]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The utility provides some cool features as (don’t confused with the name, &lt;a href="http://www.winsplit-revolution.com/features" target="_blank"&gt;take the help page and try each features&lt;/a&gt; you will find it very easy). Also &lt;a href="http://www.winsplit-revolution.com/screenshots/videos-demos" target="_blank"&gt;Video Demo will help you for an introduction&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Automated window handling (resize, move, reorganize, close tasks) &lt;/li&gt;    &lt;li&gt;Shape - process association &lt;/li&gt;    &lt;li&gt;Global hotkeys and clickable virtual numpad &lt;/li&gt;    &lt;li&gt;Automatic startup &lt;/li&gt;    &lt;li&gt;Automatic update &lt;/li&gt;    &lt;li&gt;Moving a window with mouse (drag'n'go) &lt;/li&gt;    &lt;li&gt;Hotkey configure &lt;/li&gt;    &lt;li&gt;Layout configure &lt;/li&gt;    &lt;li&gt;Fusion between 2 windows &lt;/li&gt;    &lt;li&gt;Minimize/Restore by hotkey &lt;/li&gt;    &lt;li&gt;Mosaic mode&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy this cool utility with your own desktop for painless arrangement of Windows @ free of cost.&lt;/p&gt;  &lt;p&gt;In my case, usually use this for dealing windows with multiple monitors and side by side view (for updating review comments :D ). Also resizing my Google reader windows to 50% horizontal for painless reading :) and lot more.&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;a href="http://www.winsplit-revolution.com/download" target="_blank"&gt;Download it here&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-1172317570483534878?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oAcCmeWJ8hLWjOlxWyt0r7RDmxc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oAcCmeWJ8hLWjOlxWyt0r7RDmxc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oAcCmeWJ8hLWjOlxWyt0r7RDmxc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oAcCmeWJ8hLWjOlxWyt0r7RDmxc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=LSfvHCzlihs:MEt8FRNUQBs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=LSfvHCzlihs:MEt8FRNUQBs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=LSfvHCzlihs:MEt8FRNUQBs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=LSfvHCzlihs:MEt8FRNUQBs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=LSfvHCzlihs:MEt8FRNUQBs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=LSfvHCzlihs:MEt8FRNUQBs:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=LSfvHCzlihs:MEt8FRNUQBs:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/LSfvHCzlihs" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.237-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/09/tools-winsplit-revolution-allows-you-to.html</feedburner:origLink></item><item><title>Tools: TreeSize tells you where precious disk space has gone to</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/RDdZ_PeDtso/tools-treesize-tells-you-where-precious.html</link><category>Tools</category><category>Utilities</category><category>Tips</category><category>windows</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7601061163700293761</guid><description>&lt;p&gt;Most of us has faced lot out of disk space situation. It’s truly helpful to to know which folder is utilizing the disk space to do the cleanup. Here’s a freeware, called &lt;a href="http://www.jam-software.com/freeware/index.shtml" target="_blank"&gt;TreeSize&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="display:block;float:none;margin-left:auto;margin-right:auto;" src="http://www.jam-software.com/treesize_free/screenshots/EN/freeware_treesize_gr.gif" width="442" height="494" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="1"&gt;[This is the same image displayed in &lt;/font&gt;&lt;a href="http://www.jam-software.com/]"&gt;&lt;font size="1"&gt;http://www.jam-software.com/]&lt;/font&gt;&lt;/a&gt;&lt;font size="1"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;TreeSize Free tells you where precious space has gone to. TreeSize Free can be started from the context menu of a folder or drive and shows you the size of this folder, including its subfolders. You can expand this folder in Explorer-like style and you will see the size of every subfolder. Scanning is done in a thread, so you can already see results while TreeSize Free is working. The space, which is wasted by the file system, can be displayed and the results can be printed in a report. TreeSize Free is freeware for Windows 2000/XP/Vista. Users of Windows 9x/ME can download last compatible version TreeSize Free.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.jam-software.com/freeware/index.shtml" target="_blank"&gt;Download it here&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7601061163700293761?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZKCM0DJiG7znm0m8rKZDXjP-Hf8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZKCM0DJiG7znm0m8rKZDXjP-Hf8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZKCM0DJiG7znm0m8rKZDXjP-Hf8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZKCM0DJiG7znm0m8rKZDXjP-Hf8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=RDdZ_PeDtso:OIc44nvzjeg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=RDdZ_PeDtso:OIc44nvzjeg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=RDdZ_PeDtso:OIc44nvzjeg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=RDdZ_PeDtso:OIc44nvzjeg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=RDdZ_PeDtso:OIc44nvzjeg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=RDdZ_PeDtso:OIc44nvzjeg:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=RDdZ_PeDtso:OIc44nvzjeg:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/RDdZ_PeDtso" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.255-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/tools-treesize-tells-you-where-precious.html</feedburner:origLink></item><item><title>How to enable sync in Google Chrome?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/D1e80YrBr9M/how-to-enable-sync-in-google-chrome.html</link><category>Softwares</category><category>Tips</category><category>Software</category><category>chrome</category><category>Google</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3978555136073569824</guid><description>&lt;p&gt;Google is truly envious about bookmarking. To a great challenge to &lt;a href="http://delicious.com/" target="_blank"&gt;delicious&lt;/a&gt; and &lt;a href="http://www.xmarks.com/" target="_blank"&gt;Xmarks&lt;/a&gt; book mark service, Google widen it's wings by integrating it with Google Chrome latest release (4.x) See the PPT on how to activate sync in your Google Chrome. &lt;a href="http://docs.google.com/present/embed?id=dg3djhnf_635cmg3nchk"&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ch5" border="0" alt="ch5" src="http://sarathc.files.wordpress.com/2009/08/ch5.png" width="240" height="198" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Via - &lt;a href="http://blog.chromium.org/2009/08/bookmarks-here-bookmarks-there.html" target="_blank"&gt;Chromium Blog&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3978555136073569824?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rQ0Fj65fl32CKn1HfLJgwI4qWzc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rQ0Fj65fl32CKn1HfLJgwI4qWzc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rQ0Fj65fl32CKn1HfLJgwI4qWzc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rQ0Fj65fl32CKn1HfLJgwI4qWzc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=D1e80YrBr9M:RORPMKKYXcc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=D1e80YrBr9M:RORPMKKYXcc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=D1e80YrBr9M:RORPMKKYXcc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=D1e80YrBr9M:RORPMKKYXcc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=D1e80YrBr9M:RORPMKKYXcc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=D1e80YrBr9M:RORPMKKYXcc:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=D1e80YrBr9M:RORPMKKYXcc:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/D1e80YrBr9M" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.260-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/how-to-enable-sync-in-google-chrome.html</feedburner:origLink></item><item><title>What’s the difference between max_size and size functions of
std::tr1::array?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/CJQls9hgLWc/whats-difference-between-maxsize-and.html</link><category>Tips</category><category>C++</category><category>Code</category><category>TR1</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-5032025933491880929</guid><description>Well, I don’t know the answer. It’s not well documented. &lt;a href="http://groups.google.com/group/comp.lang.c++/browse_thread/thread/b35acc2d302ab851/5c36cb83c95f9941?hl=en#5c36cb83c95f9941"&gt;From the discussions&lt;/a&gt; went under comp.lang.C++ group, what I understood is that&lt;br/&gt;&lt;br/&gt;STL containers in general provide both of these member functions. size() tells you how many elements there are currently in the container, and max_size() gives you an estimate of the maximum possible number of elements that you could put into the container.&lt;br/&gt;&lt;br/&gt;As array is of having fixed number of elements, both functions acts similar and returns same value. Thanks &lt;a href="http://www.petebecker.com/" target="_blank"&gt;Pete Becker&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-5032025933491880929?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aW2N1xUyxS4BlAHx4n1VRNu8dOA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aW2N1xUyxS4BlAHx4n1VRNu8dOA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aW2N1xUyxS4BlAHx4n1VRNu8dOA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aW2N1xUyxS4BlAHx4n1VRNu8dOA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=CJQls9hgLWc:3YOkKd4GRrg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=CJQls9hgLWc:3YOkKd4GRrg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=CJQls9hgLWc:3YOkKd4GRrg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=CJQls9hgLWc:3YOkKd4GRrg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=CJQls9hgLWc:3YOkKd4GRrg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=CJQls9hgLWc:3YOkKd4GRrg:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=CJQls9hgLWc:3YOkKd4GRrg:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/CJQls9hgLWc" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.266-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/whats-difference-between-maxsize-and.html</feedburner:origLink></item><item><title>TR1 – How to use array class?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/B9LtOuoBgRo/tr1-how-to-use-array-class.html</link><category>Tips</category><category>Visual Studio</category><category>C++</category><category>Code</category><category>TR1</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-4002565651547687258</guid><description>The C++ Standard Template Library (STL) provides a framework for processing algorithms on different kind of containers. However, ordinary arrays don't provide the interface of STL containers (although, they provide the iterator interface of STL containers). As replacement for ordinary arrays, the STL provides class &lt;code&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/9xd04bzs(VS.71).aspx" target="_blank"&gt;std::vector&lt;/a&gt;&lt;/code&gt;. However, &lt;code&gt;std&lt;/code&gt;&lt;code&gt;::vector&amp;lt;&amp;gt;&lt;/code&gt; provides the semantics of dynamic arrays. It manages data to be able to change the number of elements. This results in some overhead in case only arrays with static size are needed.&lt;br/&gt;&lt;br/&gt;New new C++ provides a new class called array which is static in usage but able use a standard C++ container. It also provides access to the underlying data. Thus it’s possible to use as raw array pointers. See the sample snippet below to too see how to use &lt;a href="http://msdn.microsoft.com/en-us/library/bb983093.aspx" target="_blank"&gt;array class&lt;/a&gt;. A better documentation can be found at &lt;a href="http://www.boost.org/doc/libs/1_39_0/doc/html/array.html" target="_blank"&gt;boost::array&lt;/a&gt; page.&lt;br/&gt;&lt;br/&gt;[sourcecode language='cpp']&lt;br/&gt;// using array class&lt;br/&gt;void FooTR1Array()&lt;br/&gt;{&lt;br/&gt;	std::tr1::array&lt;int, 5&gt; arr = {1,2,3,4,5};&lt;br/&gt;&lt;br/&gt;	using namespace std;&lt;br/&gt;&lt;br/&gt;	cout &lt;&lt; "Contents of array " &lt;&lt;endl;&lt;br/&gt;	copy( arr.begin(), arr.end(),&lt;br/&gt;			ostream_iterator&lt;int&gt;(std::cout,"\t"));&lt;br/&gt;	cout &lt;&lt; "Size of array - " &lt;&lt; arr.size() &lt;&lt;endl;&lt;br/&gt;	cout &lt;&lt; "Front of array - " &lt;&lt; arr.front() &lt;&lt;endl;&lt;br/&gt;	cout &lt;&lt; "Front of back - " &lt;&lt; arr.back() &lt;&lt;endl;&lt;br/&gt;	cout &lt;&lt; "Array max Size- " &lt;&lt; arr.max_size() &lt;&lt;endl;&lt;br/&gt;	cout &lt;&lt; "Array [3] - " &lt;&lt; arr[3] &lt;&lt;endl;&lt;br/&gt;	cout &lt;&lt; "First element using pointer - " &lt;&lt; *arr.data() &lt;&lt;endl;&lt;br/&gt;&lt;br/&gt;	// array swapping - both arrays should have same properties and size&lt;br/&gt;	std::tr1::array&lt;int, 5&gt; arrNew = {111,222,333,444,555};&lt;br/&gt;&lt;br/&gt;	cout &lt;&lt; "Contents of array 2" &lt;&lt;endl;&lt;br/&gt;	copy( arrNew.begin(), arrNew.end(),&lt;br/&gt;		ostream_iterator&lt;int&gt;(std::cout,"\t"));&lt;br/&gt;&lt;br/&gt;	// swap array&lt;br/&gt;	arr.swap( arrNew );&lt;br/&gt;&lt;br/&gt;	cout &lt;&lt; endl&lt;&lt; "Contents of array 1 after swapping with array 2" &lt;&lt;endl;&lt;br/&gt;	copy( arr.begin(), arr.end(),&lt;br/&gt;		ostream_iterator&lt;int&gt;(std::cout,"\t"));&lt;br/&gt;&lt;br/&gt;	cout &lt;&lt; endl&lt;&lt; "Contents of array 2 after swapping with array 1" &lt;&lt;endl;&lt;br/&gt;	copy( arrNew.begin(), arrNew.end(),&lt;br/&gt;		ostream_iterator&lt;int&gt;(std::cout,"\t"));&lt;br/&gt;}&lt;br/&gt;[/sourcecode]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-4002565651547687258?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-73o_vpwNM11tJnxmLWmBAtfi4Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-73o_vpwNM11tJnxmLWmBAtfi4Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-73o_vpwNM11tJnxmLWmBAtfi4Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-73o_vpwNM11tJnxmLWmBAtfi4Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=B9LtOuoBgRo:kEoNdVR1yF8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=B9LtOuoBgRo:kEoNdVR1yF8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=B9LtOuoBgRo:kEoNdVR1yF8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=B9LtOuoBgRo:kEoNdVR1yF8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=B9LtOuoBgRo:kEoNdVR1yF8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=B9LtOuoBgRo:kEoNdVR1yF8:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=B9LtOuoBgRo:kEoNdVR1yF8:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/B9LtOuoBgRo" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.270-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/tr1-how-to-use-array-class.html</feedburner:origLink></item><item><title>Cg Tips - Swizzle Operator</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/ddO2AqT_CpU/cg-tips-swizzle-operator.html</link><category>Cg</category><category>OpenGL</category><category>Code</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-3897652273862768089</guid><description>&lt;strong&gt;Intended Audience - Newbies of Graphics Programming.&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;nVidia Cg has a swizzle operator (.) that allows the components of a vector to be rearranged to form a new vector. Cg has different packed data types called vectors like float2,float4, color, color3, color4 etc. Okay giving example will make things a bit more clear.&lt;br/&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;float3(a,b,c).zyx; - This will initialize a float3 vector as float( c, b, a ). the values given are just reversed.&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;float4(a,b,c,d).zzyx; - This will initialize a float4 vector as float( c, c, b, a ).&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;float4(a,b,c,d).w; - This will initialize vector with d&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Which means that you can repeat or omit the elements and just create a new one with the given order and values. The characters x,y,z and w represent the first, second, third and fourth components of the original vector respectively(You can also use r,g,b and a for the same purpose). You wont suffer with any performance hit as it's brilliantly implemented in the hardware. It can be also used to convert a scalar to vector.&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;color.xxxx  - Initalizes a float4(a,a,a,a);&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;OK let's take a simple fragment program. The original image is as follows. Let's make this a bit more pale with swizzle.&lt;br/&gt;&lt;div id="p0td" style="text-align:left;"&gt;&lt;img src="http://docs.google.com/File?id=dg3djhnf_633hh44qkgb_b" alt="" width="222" height="225" /&gt;&lt;br/&gt;&lt;br/&gt;Let's pass throgh the following cg program which uses the swizzle.&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;struct Output {&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; float4 color : COLOR;&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;};&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;Output texture_frag(float2 texCoord : TEXCOORD0,&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; uniform sampler2D decal : TEX0)&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;{&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; Output OUT;&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; &lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; OUT.color = tex2D(decal,texCoord).xyyz; // Use swizzle&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt; return OUT;&lt;/span&gt;&lt;br style="font-family:Courier New;" /&gt;&lt;span style="font-family:Courier New;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;&lt;div id="pygx" style="text-align:left;"&gt;&lt;img src="http://docs.google.com/File?id=dg3djhnf_634mg9t8shn_b" alt="" width="216" height="216" /&gt;&lt;/div&gt;&lt;br/&gt;OK Just have a try!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-3897652273862768089?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XmzivC-3sGGUYV5KUIFsUZdBrbs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XmzivC-3sGGUYV5KUIFsUZdBrbs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XmzivC-3sGGUYV5KUIFsUZdBrbs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XmzivC-3sGGUYV5KUIFsUZdBrbs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ddO2AqT_CpU:XzQApNXVSEc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ddO2AqT_CpU:XzQApNXVSEc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ddO2AqT_CpU:XzQApNXVSEc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ddO2AqT_CpU:XzQApNXVSEc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ddO2AqT_CpU:XzQApNXVSEc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=ddO2AqT_CpU:XzQApNXVSEc:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=ddO2AqT_CpU:XzQApNXVSEc:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/ddO2AqT_CpU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.278-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/cg-tips-swizzle-operator.html</feedburner:origLink></item><item><title>New home for my blog – codereflect.com</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/2IrpaSyuto4/new-home-for-my-blog-codereflectcom.html</link><category>Misc</category><category>blogging</category><category>Personal</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-1236240375657690523</guid><description>&lt;p&gt;Hello my dear readers,&lt;/p&gt;  &lt;p&gt;I’ve been maintaining this blog for last couple of years and primarily it deals with windows programming tips and general thoughts on software engineering. In fact this is a mixed blog. I am not really constant with blogging topics. ( I know it’s bad while we are entering to serious blogging). That’s why I named this blog Sharing my thoughts.&lt;/p&gt;  &lt;p&gt;Now to have my own identity, I own this blog in a new name &lt;a href="http://www.codereflect.com"&gt;www.codereflect.com&lt;/a&gt;. I am first time dealing with DNS configuration stuffs etc. Anyway it’s nice. It may take few day to get this stable. I am frequently facing lot of outages for this websites. &lt;/p&gt;  &lt;p&gt;Why I named this site as codereflect.com? The answer is no specific reason it’s’ one the name quickly came to my mind when I thought about buying a domain name. Whatever be the things we write or talk about soft wares, the ultimate thing is code. We all implementing new policies, standards, best practices to improve the project development, improve quality of code. It’s the ultimate reflection.&lt;/p&gt;  &lt;p&gt;So here I’ve a new home. CodeReflect.com. The blog is still hosted in wordpress.com. nothing else so far changed except the web address. Hope soon I will go to my own webspace.&lt;/p&gt;  &lt;p&gt;Also today is Independence day for Indians. Wish you all a happy Independence day. Proud to be an Indian!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-1236240375657690523?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2yDQmYqHWpQVc9BLD1XdbwioDQs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2yDQmYqHWpQVc9BLD1XdbwioDQs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2yDQmYqHWpQVc9BLD1XdbwioDQs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2yDQmYqHWpQVc9BLD1XdbwioDQs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=2IrpaSyuto4:C2f-DklrreI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=2IrpaSyuto4:C2f-DklrreI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=2IrpaSyuto4:C2f-DklrreI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=2IrpaSyuto4:C2f-DklrreI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=2IrpaSyuto4:C2f-DklrreI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=2IrpaSyuto4:C2f-DklrreI:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=2IrpaSyuto4:C2f-DklrreI:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/2IrpaSyuto4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.283-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/new-home-for-my-blog-codereflectcom.html</feedburner:origLink></item><item><title>Why you should develop with UNICODE?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/aLKiPS8YALQ/why-you-should-develop-with-unicode.html</link><category>Win32</category><category>API</category><category>Tips</category><category>windows</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-7029646392245763181</guid><description>&lt;img style="width:200px;height:253.944px;float:left;margin-left:0;margin-right:1em;" src="http://docs.google.com/File?id=dg3djhnf_626gc85z3fh_b" alt="" /&gt;Most of the programmers like, have started coding with non-UNICODE character set. In schools, university it really doesn't matter. What we focus on is the implementation or solution for a particular problem and thus we learn how to program. But things are a bit different when we comes to serious software development. There are few reasons to develop with UNICODE.&lt;br/&gt;&lt;div&gt;1. The new generation operating systems are distributed all over the world with different local language support like Chinese, Japanese, etc. and natively supports UNICODE. All the operating system interfaces are designed with UNICODE.&lt;/div&gt;&lt;br/&gt;&lt;div&gt;2. It allows to easily localize our application. Single binary can contain support for multiple languages.&lt;/div&gt;&lt;br/&gt;&lt;div&gt;3. In the performance point of view UNICODE is better than using ANSI interface. Because it's required ANSI/MBCS to UNICODE conversion before calling system API. The conversion cost and temporary buffers will be an overhead. Also it ensures that we can use all Operating system interfaces. Some APIs only supports UNICODE interfaces only.&lt;/div&gt;&lt;br/&gt;&lt;div&gt;4. COM and .NET Framework requires UNICODE strings. So using UNICODE ensures smooth interoperability/integration with these frameworks.&lt;/div&gt;&lt;br/&gt;&lt;div&gt;Is there anything additional? Please post as comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-7029646392245763181?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YxWSSRsEWd1fecFmlGqx-5qeZT8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YxWSSRsEWd1fecFmlGqx-5qeZT8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YxWSSRsEWd1fecFmlGqx-5qeZT8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YxWSSRsEWd1fecFmlGqx-5qeZT8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=aLKiPS8YALQ:Yz1SyLbDgeg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=aLKiPS8YALQ:Yz1SyLbDgeg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=aLKiPS8YALQ:Yz1SyLbDgeg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=aLKiPS8YALQ:Yz1SyLbDgeg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=aLKiPS8YALQ:Yz1SyLbDgeg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=aLKiPS8YALQ:Yz1SyLbDgeg:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=aLKiPS8YALQ:Yz1SyLbDgeg:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/aLKiPS8YALQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.299-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/08/why-you-should-develop-with-unicode.html</feedburner:origLink></item><item><title>Windows 7 Ribbon – Part 2 – How handle ribbon control events?</title><link>http://feedproxy.google.com/~r/SharingMyThoughts/~3/s_P-ySaqHus/windows-7-ribbon-part-2-how-handle.html</link><category>COM</category><category>Visual Studio 2010</category><category>Tips</category><category>Windows 7</category><category>CodeProject</category><category>Windows Ribbon Tutorial</category><category>Visual Studio</category><category>MFC</category><category>C++</category><category>Code</category><author>noreply@blogger.com (Sarath)</author><pubDate>Wed, 04 Nov 2009 07:56:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-3723207686345606102.post-6461672636385821430</guid><description>In this installement, let’s see how to handle the events of the ribbon control. I strongly reconmmend you to read the previous post on the basics of ribbon the way it’s being created. This is a continuation of &lt;a href="http://sarathc.wordpress.com/2009/06/30/windows-7-ribbon-how-to-integrate-a-simple-ribbon-to-your-mfc-application-part-1/" target="_blank"&gt;the previous post&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;To handle the events, the &lt;a href="http://msdn.microsoft.com/en-us/library/dd371491(VS.85,loband).aspx" target="_blank"&gt;IUICommandHandler&lt;/a&gt; interface is implemented by the application and defines the Command handler methods for framework events.  The following function has to be implemented in the derived class.&lt;br/&gt;&lt;blockquote&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd371489(VS.85).aspx"&gt;Execute&lt;/a&gt;&lt;br/&gt;Executes or previews the Commands bound to the Command hand`ler.&lt;br/&gt;&lt;br/&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd371494(VS.85).aspx"&gt;UpdateProperty&lt;/a&gt;&lt;br/&gt;Sets a property value for a bound Command, for example, setting a Command to enabled or disabled depending on the state of a View.&lt;/blockquote&gt;&lt;br/&gt;For each Command in a View(Application.Views in the XML file), the Ribbon framework requires a corresponding Command handler in the host application. A new handler or an existing handler must be bound to the Command through the &lt;a href="http://msdn.microsoft.com/en-us/library/dd371531(VS.85).aspx" target="_blank"&gt;IUIApplication::OnCreateUICommand&lt;/a&gt; notification method.  This method is executed when the UI component is created. It’s possible create new command handler by querying IID_PPV_ARGS intefac. Any number of Commands can be bound to a Command handler.&lt;br/&gt;&lt;br/&gt;The Command handler serves two purposes. First, it can update the values of properties for any command to which it is bound, such as setting a command to enabled or disabled. Second, it can execute or preview any commands to which it is bound.&lt;br/&gt;&lt;br/&gt;In the previous instalment we’ve seen CRibbonImplementer class. So here we will be modifying the class. We’ll be creating the the handler&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Step 1 - &lt;/strong&gt;Include the generated .h file contains control IDs to the implementation .h/.cpp file of CRibbonImplementer&lt;br/&gt;&lt;br/&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="b1" src="http://sarathc.files.wordpress.com/2009/07/b1.png" border="0" alt="b1" width="339" height="44" /&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Step 2 &amp;amp; 3 – &lt;/strong&gt;Derive ribbon implementer class from IUICommandHandler and add the interface to COM Map&lt;br/&gt;&lt;br/&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="b2" src="http://sarathc.files.wordpress.com/2009/07/b2.png" border="0" alt="b2" width="449" height="241" /&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Step 4 &lt;/strong&gt;– Modify OnCreateUICommand function and add UI Handler on creating the control.&lt;br/&gt;&lt;br/&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="b3" src="http://sarathc.files.wordpress.com/2009/07/b3.png" border="0" alt="b3" width="518" height="180" /&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Step 5 -&lt;/strong&gt;  Add Execute handler to get notification when the button is clicked. This is like the normal message loop of a Win32 message loop system.&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="b4" src="http://sarathc.files.wordpress.com/2009/07/b4.png" border="0" alt="b4" width="534" height="399" /&gt;&lt;br/&gt;&lt;br/&gt;The final Step (6 ) – It’s necessary to implement IUICommandHandler::UpdateProperty as the base class doesn’t provide any implementations. We can leave this interface as unimplemented.&lt;br/&gt;&lt;br/&gt;&lt;img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="b5" src="http://sarathc.files.wordpress.com/2009/07/b5.png" border="0" alt="b5" width="456" height="162" /&gt;&lt;br/&gt;&lt;br/&gt;The full Source code is given below. There's no change in the other part of source code.&lt;br/&gt;&lt;br/&gt;[sourcecode language='cpp']&lt;br/&gt;#include "stdafx.h"&lt;br/&gt;#include &lt;atlbase.h&gt;&lt;br/&gt;#include &lt;atlcom.h&gt;&lt;br/&gt;#include &lt;initguid.h&gt;&lt;br/&gt;#include &lt;uiribbon.h&gt;&lt;br/&gt;// Step 1: Include menu ribbon resource.h&lt;br/&gt;#include "MenuRibbonRes.h"&lt;br/&gt;&lt;br/&gt;class CRibbonImplementer:&lt;br/&gt;	public CComObjectRootEx&lt;CComMultiThreadModel&gt;,&lt;br/&gt;	public IUIApplication,&lt;br/&gt;	// Step 2: derive fromm IUICommandHandler&lt;br/&gt;	public IUICommandHandler&lt;br/&gt;{&lt;br/&gt;public:&lt;br/&gt;	BEGIN_COM_MAP(CRibbonImplementer)&lt;br/&gt;		COM_INTERFACE_ENTRY(IUIApplication)&lt;br/&gt;		// Step 3: IUICommandHandler add in teh COM Map&lt;br/&gt;		COM_INTERFACE_ENTRY(IUICommandHandler)&lt;br/&gt;	END_COM_MAP()&lt;br/&gt;&lt;br/&gt;	STDMETHOD(OnCreateUICommand)(UINT32 nCmdID, __in UI_COMMANDTYPE typeID, __deref_out IUICommandHandler** ppCommandHandler)&lt;br/&gt;	{&lt;br/&gt;		// Step 4: IUICommandHandler&lt;br/&gt;		// if my button is being created, the handler is created and attached&lt;br/&gt;		if (nCmdID == cmdMyButton)&lt;br/&gt;		{&lt;br/&gt;			return QueryInterface(IID_PPV_ARGS(ppCommandHandler));&lt;br/&gt;		}&lt;br/&gt;		return E_NOTIMPL;&lt;br/&gt;	}&lt;br/&gt;&lt;br/&gt;	/* Step 5: Implement execute function.&lt;br/&gt;		This function will be called on clicking&lt;br/&gt;		the controls attached to command handler */&lt;br/&gt;	STDMETHODIMP Execute(UINT nCmdID,&lt;br/&gt;		UI_EXECUTIONVERB verb,&lt;br/&gt;		__in_opt const PROPERTYKEY* key,&lt;br/&gt;		__in_opt const PROPVARIANT* ppropvarValue,&lt;br/&gt;		__in_opt IUISimplePropertySet* pCommandExecutionProperties)&lt;br/&gt;	{&lt;br/&gt;		HRESULT hr = S_OK;&lt;br/&gt;		switch (verb)&lt;br/&gt;		{&lt;br/&gt;		case UI_EXECUTIONVERB_EXECUTE:&lt;br/&gt;			if (nCmdID == cmdMyButton)&lt;br/&gt;			{&lt;br/&gt;				MessageBox(NULL, _T( "Clicked on My Button!" ),&lt;br/&gt;					_T("My Button Execute"), MB_OK);&lt;br/&gt;			}&lt;br/&gt;			break;&lt;br/&gt;		}    &lt;br/&gt;&lt;br/&gt;		return hr;&lt;br/&gt;&lt;br/&gt;	}&lt;br/&gt;&lt;br/&gt;	// unimplemented methods&lt;br/&gt;	// Step 6: Implement Update Property interface as well&lt;br/&gt;	STDMETHODIMP UpdateProperty(UINT nCmdID,&lt;br/&gt;		__in REFPROPERTYKEY key,&lt;br/&gt;		__in_opt const PROPVARIANT* ppropvarCurrentValue,&lt;br/&gt;		__out PROPVARIANT* ppropvarNewValue)&lt;br/&gt;	{&lt;br/&gt;		return E_NOTIMPL;&lt;br/&gt;	}&lt;br/&gt;&lt;br/&gt;	STDMETHOD(OnViewChanged)(UINT32 nViewID, __in UI_VIEWTYPE typeID, __in IUnknown* pView, UI_VIEWVERB verb, INT32 uReasonCode)&lt;br/&gt;	{&lt;br/&gt;		return E_NOTIMPL;&lt;br/&gt;	}&lt;br/&gt;&lt;br/&gt;	STDMETHOD(OnDestroyUICommand)(UINT32 commandId,&lt;br/&gt;		__in UI_COMMANDTYPE typeID,&lt;br/&gt;		__in_opt IUICommandHandler* pCommandHandler)&lt;br/&gt;	{&lt;br/&gt;		return E_NOTIMPL;&lt;br/&gt;	} &lt;br/&gt;&lt;br/&gt;	STDMETHODIMP UpdateProperty(UINT nCmdID,&lt;br/&gt;		__in REFPROPERTYKEY key,&lt;br/&gt;		__in_opt const PROPVARIANT* ppropvarCurrentValue,&lt;br/&gt;		__out PROPVARIANT* ppropvarNewValue)&lt;br/&gt;	{&lt;br/&gt;		return E_NOTIMPL;&lt;br/&gt;	}&lt;br/&gt;};&lt;br/&gt;[/sourcecode]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3723207686345606102-6461672636385821430?l=codereflect.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hPyuLxiDbq3qR-oz1Dc-Vhdh50Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hPyuLxiDbq3qR-oz1Dc-Vhdh50Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hPyuLxiDbq3qR-oz1Dc-Vhdh50Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hPyuLxiDbq3qR-oz1Dc-Vhdh50Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=s_P-ySaqHus:Cxiy5DasilY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=s_P-ySaqHus:Cxiy5DasilY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=s_P-ySaqHus:Cxiy5DasilY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=s_P-ySaqHus:Cxiy5DasilY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=s_P-ySaqHus:Cxiy5DasilY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/SharingMyThoughts?a=s_P-ySaqHus:Cxiy5DasilY:Uw9eXibygTk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/SharingMyThoughts?i=s_P-ySaqHus:Cxiy5DasilY:Uw9eXibygTk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SharingMyThoughts/~4/s_P-ySaqHus" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-04T07:56:51.304-08:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://codereflect.blogspot.com/2009/07/windows-7-ribbon-part-2-how-handle.html</feedburner:origLink></item></channel></rss>
