<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WishMesh</title>
	<atom:link href="http://wishmesh.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wishmesh.com</link>
	<description>Real men don&#039;t make backups</description>
	<lastBuildDate>Fri, 03 Feb 2012 15:56:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>RegCopyTree fails with Access denied error (5) on Windows 7</title>
		<link>http://wishmesh.com/2012/02/regcopytree-fails-with-access-denied-error-5-on-windows-7/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=regcopytree-fails-with-access-denied-error-5-on-windows-7</link>
		<comments>http://wishmesh.com/2012/02/regcopytree-fails-with-access-denied-error-5-on-windows-7/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 15:56:33 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Registry]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows API]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=889</guid>
		<description><![CDATA[MSDN documentation for RegCopyTree states that &#8216;The calling process must have KEY_CREATE_SUB_KEY access to the destination key&#8217;, however call fails on some keys with Access denied error (5) on Windows 7 Ultimate 64-bit. Changing desired access rights to KEY_ALL_ACCESS solves &#8230; <a href="http://wishmesh.com/2012/02/regcopytree-fails-with-access-denied-error-5-on-windows-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>MSDN documentation for <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa379768%28v=vs.85%29.aspx">RegCopyTree</a> states that &#8216;The calling process must have KEY_CREATE_SUB_KEY access to the destination key&#8217;, however call fails on some keys with Access denied error (5) on Windows 7 Ultimate 64-bit.</p>
<p>Changing desired access rights to <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724878%28v=vs.85%29.aspx">KEY_ALL_ACCESS</a> solves the problem. Currently I do not know why, but it works in my case.</p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2012/02/regcopytree-fails-with-access-denied-error-5-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On production machine: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts.</title>
		<link>http://wishmesh.com/2011/12/on-production-machine-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-production-machine-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts</link>
		<comments>http://wishmesh.com/2011/12/on-production-machine-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 11:48:39 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[AJAX Control Toolkit]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=879</guid>
		<description><![CDATA[I was helping my colleagues to debug one weird bug on ASP.NET 4.0 website. Everything worked well on developer&#8217;s machine, but after publishing to IIS 7.5 Windows 2008 R2 Webserver, we always got site partially working. Everything worked, except AJAX &#8230; <a href="http://wishmesh.com/2011/12/on-production-machine-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was helping my colleagues to debug one weird bug on ASP.NET 4.0 website. Everything worked well on developer&#8217;s machine, but after publishing to IIS 7.5 Windows 2008 R2 Webserver, we always got site partially working. Everything worked, except <a href="http://ajaxcontroltoolkit.codeplex.com/">AJAX Control Toolkit</a> controls.</p>
<p>There were no any signs of errors. Ajax controls just were not functioning. Digging deeper, we found, that JavaScript is throwing exceptions:<br />
<code>SCRIPT5022: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll.</code></p>
<p><a href="http://wishmesh.com/wp-content/uploads/2011/12/ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts-firefox.png"><img src="http://wishmesh.com/wp-content/uploads/2011/12/ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts-firefox-300x59.png" alt="" title="AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts" width="300" height="59" class="alignnone size-medium wp-image-882" /></a></p>
<p><a href="http://wishmesh.com/wp-content/uploads/2011/12/ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts-ie.png"><img src="http://wishmesh.com/wp-content/uploads/2011/12/ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts-ie-300x49.png" alt="" title="AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts" width="300" height="49" class="alignnone size-medium wp-image-881" /></a></p>
<p>This is the most common error with AJAX Control Toolkit &#8212; you need to use ToolkitScriptManager instead of ScriptManager. <a href="http://blog.thinkoriginally.com/2010/05/03/microsoft-jscript-runtime-error-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts/" title="Microsoft JScript runtime error: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. ">Read more here</a>.</p>
<p>But in our case we was already using ToolkitScriptManager in the all places in our source code.</p>
<p><strong>Digging deeper we found that there is a bug in Script Manager, that is trying to load all DLLs in the project&#8217;s bin folder.</strong> Script Manager is trying to load DLL files even if they are not used in the project. [I know, that it is not best practice, to keep files not used by project on the production server, but that's another story.]</p>
<p>The solution was plain and simple: <strong>remove all unused DLLs from production machine&#8217;s bin folder</strong>.</p>
<p>More info about bug and the same problem in different product:</p>
<ul>
<li><a href="http://connect.microsoft.com/VisualStudio/feedback/details/588777/custom-attribute-load-failure-in-getajaxframeworkassemblyattribute">Custom Attribute Load Failure in GetAjaxFrameworkAssemblyAttribute</a> from MS Connect</li>
<li><a href="http://groups.google.com/group/websync/browse_thread/thread/83c1f88abbb00b80?pli=1">Compatibility issue using ASP.Net 4.0, Extensions and ScriptManager</a> from WebSync @ Google Groups</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/12/on-production-machine-ajaxcontroltoolkit-requires-asp-net-ajax-4-0-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ now allows to forward declare enum(s)</title>
		<link>http://wishmesh.com/2011/12/c-now-allows-to-forward-declare-enums/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=c-now-allows-to-forward-declare-enums</link>
		<comments>http://wishmesh.com/2011/12/c-now-allows-to-forward-declare-enums/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 20:21:46 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Enum]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=850</guid>
		<description><![CDATA[Thanks to recently approved standard (C++11 / C++0x), it is possible to forward declare enums. It was possible with classes for the long time, for example, &#8220;class MyClass;&#8221; in C++ [forward] declares class without providing underlying details. For enums it &#8230; <a href="http://wishmesh.com/2011/12/c-now-allows-to-forward-declare-enums/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://developers.slashdot.org/story/11/03/26/1949225/ISO-C-Committee-Approves-C0x-Final-Draft">recently approved</a> standard (C++11 / C++0x), it is possible to forward declare enums. It was possible with classes for the long time, for example, &#8220;class MyClass;&#8221; in C++ [forward] declares class without providing underlying details. For enums it was not possible, because compiler needed to know exact size of the enum.</p>
<p>Below are details from <a href="http://en.wikipedia.org/wiki/C%2B%2B11">Wikipedia</a>:</p>
<blockquote><p>Forward-declaring enums is also possible in C++11. Previously, enum types could not be forward-declared because the size of the enumeration depends on the definition of its members. As long as the size of the enumeration is specified either implicitly or explicitly, it can be forward-declared:</p></blockquote>
<p><code>enum Enum1;                      // Illegal in C++03 and C++11; the underlying type cannot be determined.<br />
enum Enum2 : unsigned int;       // Legal in C++11, the underlying type is explicitly specified.<br />
enum class Enum3;                // Legal in C++11, the underlying type is int.<br />
enum class Enum4 : unsigned int; // Legal C++11.<br />
enum Enum2 : unsigned short;     // Illegal in C++11, because Enum2 was previously declared with a different underlying type.</code></p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/12/c-now-allows-to-forward-declare-enums/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET text box blank/empty/invisible/hidden when text reaches certain length</title>
		<link>http://wishmesh.com/2011/12/net-text-box-blankemptyinvisiblehidden-when-text-reaches-certain-length/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=net-text-box-blankemptyinvisiblehidden-when-text-reaches-certain-length</link>
		<comments>http://wishmesh.com/2011/12/net-text-box-blankemptyinvisiblehidden-when-text-reaches-certain-length/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 20:27:23 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[TextBox]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=857</guid>
		<description><![CDATA[It seems, that .NET 2.0 have bug when text box (TextBox control) appears blank / empty / invisible / hidden &#8212; not showing text when text length reaches certain size. My quick tests shows, that the length of the text &#8230; <a href="http://wishmesh.com/2011/12/net-text-box-blankemptyinvisiblehidden-when-text-reaches-certain-length/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It seems, that .NET 2.0 have bug when text box (TextBox control) appears blank / empty / invisible / hidden &#8212; not showing text when text length reaches certain size. My quick tests shows, that the length of the text that causes this bug to appear depends on something and are changing from program to program or from computer to computer. Unfortunately I do not have resources to test this bug in full right now.</p>
<p><strong>How to repeat this bug in C# .NET 2.0.</strong></p>
<p>Open Visual Studio and create New Project &#8211; Windows Forms Project.</p>
<div id="attachment_859" class="wp-caption alignnone" style="width: 310px"><a href="http://wishmesh.com/wp-content/uploads/2011/12/01-new-project.jpg"><img src="http://wishmesh.com/wp-content/uploads/2011/12/01-new-project-300x139.jpg" alt="" title="Create a new .NET 2.0 project" width="300" height="139" class="size-medium wp-image-859" /></a><p class="wp-caption-text">Create a new .NET 2.0 project</p></div>
<p>Add one TextBox and two Buttons to the project.</p>
<div id="attachment_860" class="wp-caption alignnone" style="width: 310px"><a href="http://wishmesh.com/wp-content/uploads/2011/12/02-form.jpg"><img src="http://wishmesh.com/wp-content/uploads/2011/12/02-form-300x300.jpg" alt="" title="Form with 2 Buttons and TextBox" width="300" height="300" class="size-medium wp-image-860" /></a><p class="wp-caption-text">Form with 2 Buttons and TextBox</p></div>
<p>Add click handlers for two buttons and one helper function. Here is a code.</p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private void button1k_Click(object sender, EventArgs e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textBox.Text = GenerateString(1000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private void button10k_Click(object sender, EventArgs e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textBox.Text = GenerateString(10000);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private string GenerateString(int lenght)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string text = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i < lenght; ++i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text += Convert.ToChar('0' + i % 10);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</code></p>
<p>Now run the code! Clicking on the first button, TextBox shows some random numbers as expected.</p>
<div id="attachment_861" class="wp-caption alignnone" style="width: 310px"><a href="http://wishmesh.com/wp-content/uploads/2011/12/03-correct.jpg"><img src="http://wishmesh.com/wp-content/uploads/2011/12/03-correct-300x300.jpg" alt="" title="Correct result, text is shown" width="300" height="300" class="size-medium wp-image-861" /></a><p class="wp-caption-text">Correct result, text is shown</p></div>
<p>Now click on the second button. Text disappears, and only blinking cursor is shown. Also note, that <strong>TextBox is functioning -- you can still delete / add characters, select all, use copy / paste, you just do not see the results on the screen</strong>.</p>
<div id="attachment_862" class="wp-caption alignnone" style="width: 305px"><a href="http://wishmesh.com/wp-content/uploads/2011/12/04-incorrect.jpg"><img src="http://wishmesh.com/wp-content/uploads/2011/12/04-incorrect-295x300.jpg" alt="" title="Incorrect result, only cursor blinks" width="295" height="300" class="size-medium wp-image-862" /></a><p class="wp-caption-text">Incorrect result, only cursor blinks</p></div>
<p>Workarounds? Currently none. Submitted this bug to Connect: <a href="https://connect.microsoft.com/VisualStudio/feedback/details/711014/net-2-0-textbox-fails-to-display-long-texts#details">.NET 2.0 TextBox fails to display long texts</a>.</p>
<p>Tested on Windows 7 Pro 64-bit and Windows 7 Ultimate 64-bit with latest updates on 12/2/2011. Compiled with latest Visual Studio 2010 Pro 10.0.40219.1 SP1Rel w/ Microsoft .NET Framework Version 4.0.30319 SP1Rel.</p>
<p>P.S. One similar bug is reported on Microsoft Connect, however it seems like separate issue: <a href="http://connect.microsoft.com/VisualStudio/feedback/details/180146/vista-video-glitches-textbox-display-multiline-textbox-with-scrollbars-and-transparent-parent-doesnt-paint-correctly">Vanishing text bug</a>.</p>
<p>P.S.S. My source code can be downloaded from MS Connect.</p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/12/net-text-box-blankemptyinvisiblehidden-when-text-reaches-certain-length/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Static code analysis for C++ for free and for Pro</title>
		<link>http://wishmesh.com/2011/11/static-code-analysis-for-c-for-free-and-for-pro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=static-code-analysis-for-c-for-free-and-for-pro</link>
		<comments>http://wishmesh.com/2011/11/static-code-analysis-for-c-for-free-and-for-pro/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 17:20:39 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Code analysis]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=844</guid>
		<description><![CDATA[Up and until Visual Studio 2010 Microsoft decided that Code Analysis tool was available only for Visual Studio Premium and Ultimate editions. I have Visual Studio 2010 Pro w/MSDN subscriptions (actually 2 of them), but can not use Code Analysis &#8230; <a href="http://wishmesh.com/2011/11/static-code-analysis-for-c-for-free-and-for-pro/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Up and until Visual Studio 2010 Microsoft decided that Code Analysis tool was available <a href="http://msdn.microsoft.com/en-us/library/ms182025.aspx">only for Visual Studio Premium and Ultimate editions</a>. I have Visual Studio 2010 Pro w/MSDN subscriptions (actually 2 of them), but can not use Code Analysis tool.</p>
<div id="attachment_846" class="wp-caption alignnone" style="width: 310px"><a href="http://wishmesh.com/wp-content/uploads/2011/11/vs-pro-wo-code-analysis.jpg"><img src="http://wishmesh.com/wp-content/uploads/2011/11/vs-pro-wo-code-analysis-300x112.jpg" alt="" title="VS Pro w/o code analysis tool" width="300" height="112" class="size-medium wp-image-846" /></a><p class="wp-caption-text">VS Pro w/o code analysis tool</p></div>
<p>This however will change with upcoming Visual Studio 11. See the SDL blog: <a href="http://blogs.msdn.com/b/sdl/archive/2011/10/19/code-analysis-for-all.aspx">Code Analysis for All</a>.</p>
<blockquote><p>This is the first time that Code Analysis has been made available in an Express edition of Visual Studio&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/11/static-code-analysis-for-c-for-free-and-for-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>COM, BSTR or _bstr_t is leaking memory</title>
		<link>http://wishmesh.com/2011/11/com-bstr-or-_bstr_t-is-leaking-memory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=com-bstr-or-_bstr_t-is-leaking-memory</link>
		<comments>http://wishmesh.com/2011/11/com-bstr-or-_bstr_t-is-leaking-memory/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 18:02:48 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[BSTR]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Memory leak]]></category>
		<category><![CDATA[VC++]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=832</guid>
		<description><![CDATA[COM, BSTR or _bstr_t is leaking memory. That was my first thought when I saw increasing number in Task Manager under memory colon for the process I am developing. Searching Google for quick answer I found famous Microsoft employee and &#8230; <a href="http://wishmesh.com/2011/11/com-bstr-or-_bstr_t-is-leaking-memory/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Component_Object_Model">COM</a>, <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms221069%28v=vs.85%29.aspx">BSTR</a> or <a href="http://msdn.microsoft.com/en-us/library/zthfhkd6%28v=vs.80%29.aspx">_bstr_t</a> is leaking memory. That was my first thought when I saw increasing number in Task Manager under memory colon for the process I am developing.</p>
<p>Searching Google for quick answer I found famous Microsoft employee and blogger Larry Osterman&#8217;s blog post about <a href="http://blogs.msdn.com/b/larryosterman/archive/2004/09/28/235304.aspx">Hey, why am I leaking all my BSTR&#8217;s?</a> He describes OLE caching of BSTR objects and tool called <a href="http://support.microsoft.com/kb/268343">UMDH</a>. OLE caching is not my case, however UMDH may be useful is you are able to figure out what to do.</p>
<p>Another link I found is from 1999 (VS6) <a href="http://msdn.microsoft.com/en-us/library/Aa227975">Implementing a Simple MFC Client for an ATL Server</a>. They have notes about memory leaks all over the place. Particularly interesting are two examples I have copied below.</p>
<p>Without leak:<br />
<code>//Update static text with new value<br />
BSTR tmpBStr;<br />
&nbsp;<br />
m_pObject1->get_ObjectString(&#038;tmpBStr);<br />
_bstr_t tmpbstr(tmpBStr, FALSE); //necessary to avoid a memory leak<br />
&nbsp;<br />
SetDlgItemText(IDC_CURPROPVAL, tmpbstr);</code></p>
<p>With leak:<br />
<code>//Update static text with new value<br />
BSTR tmpBStr;<br />
&nbsp;<br />
m_pObject1->get_ObjectString(&#038;tmpBStr);<br />
_bstr_t tmpbstr;<br />
&nbsp;<br />
tmpbstr= tmpBStr; //Caution: Memory leak occurs<br />
SetDlgItemText(IDC_CURPROPVAL, tmpbstr);</code></p>
<p>And explanation:</p>
<blockquote><p>The leak occurs when the tmpbstr variable is initialized. A call to SysAllocString (reference available in the Component Services section of the Platform SDK) is automatically made when creating the tmpbstr variable. This new allocation is never freed later, resulting in a memory leak. Using this version of the _bstr_t constructor avoids the issue by attaching the BSTR object to tmpbstr without a call to SysAllocString. For more information on this issue, see _bstr_t::_bstr_t (reference available in the C++ Language Reference section of the Visual C++ Documentation).</p></blockquote>
<p>The problem is that explanation is wrong. My speculation: <em>Most probably one person (senior programmer?) found memory leak in documentation, fixed it and told another person (junior programmer?) to update documentation. And that second person got it wrong.</em> First: _bstr_t constructor _bstr_t::_bstr_t() does not allocate memory. Second: if it were allocating, then it would be freed, see the code below:<br />
<code>_bstr_t&#038; _bstr_t::operator=(const wchar_t* s)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (s == NULL || ...)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_Free();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Data = new Data_t(s);<br />
</code></p>
<p>And yes, _Free does exactly that. It frees m_Data if it contains something, in our case as I noted above, it points to 0&#215;00000000;</p>
<p>operator=(const wchar_t* s) is exactly what is called in my case &#8211; Unicode compile.</p>
<p>Again, the code in Microsoft article leaks memory as comment says, but it does not leak as it is described. It leaks because memory allocated by m_pObject1->get_ObjectString is not freed.</p>
<p>In the end I found my memory leak. It was similar problem, I needed to call _bstr_t constructor with FALSE as second argument. From MSDN: <em>If false, the bstr argument is attached to the new object without making a copy by calling SysAllocString.</em></p>
<p>So be careful playing with BSTRs.</p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/11/com-bstr-or-_bstr_t-is-leaking-memory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2011 links no. 3</title>
		<link>http://wishmesh.com/2011/10/2011-links-no-3-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=2011-links-no-3-2</link>
		<comments>http://wishmesh.com/2011/10/2011-links-no-3-2/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 14:19:27 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Augmented reality]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[ISP]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Recognition]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=822</guid>
		<description><![CDATA[Interview With Sacha Barber in The Code Project. The ABA problem occurs during synchronization, when a location is read twice, has the same value for both reads, and &#8220;value is the same&#8221; is used to indicate &#8220;nothing has changed&#8221;. However, &#8230; <a href="http://wishmesh.com/2011/10/2011-links-no-3-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codeproject.com/KB/interviews/Interview-Sacha-Barber.aspx">Interview With Sacha Barber</a> in The Code Project.</p>
<p>The <a href="http://en.wikipedia.org/wiki/ABA_problem">ABA problem</a> occurs during synchronization, when a location is read twice, has the same value for both reads, and &#8220;value is the same&#8221; is used to indicate &#8220;nothing has changed&#8221;. However, another thread can execute between the two reads and change the value, do other work, then change the value back, thus fooling the first thread in to thinking &#8220;nothing has changed&#8221; even though the second thread did work that violates that assumption.</p>
<p><a href="http://www.codeproject.com/KB/cpp/template1.aspx">An Idiot&#8217;s Guide to C++ Templates</a> by Ajay Vijayvargiya from The Code Project.</p>
<p><a href="http://developers.slashdot.org/story/11/08/16/178227/C0x-Finally-Becomes-a-Standard">C++0x Finally Becomes a Standard</a> discussed in Slashdot.</p>
<p><a href="http://www.codeproject.com/KB/azure/CloudProgrammingConcept.aspx">What is Cloud Programming and why should we care</a> By GanesanSenthilvel at The Code Project.</p>
<p>Interesting discussion in StackOverflow about <a href="http://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java">Creating a memory leak with Java</a>.</p>
<p><a href="http://stackoverflow.com/questions/6841333/why-is-subtracting-these-two-times-in-1927-giving-a-strange-result">Why is subtracting  two times (in 1927) is giving a strange result?</a> or in Shanghai at midnight at the end of 1927, the clocks went back 5 minutes and 52 seconds. From StackOverflow.</p>
<p><a href="http://tech.slashdot.org/story/11/09/13/0258217/300M-To-Save-6-Milliseconds">$300M To Save 6 Milliseconds in high frequency trading</a> discussed at Slashdot.</p>
<p><a href="http://www.computerworld.com/s/article/print/9219187/Age_bias_in_IT_The_reality_behind_the_rumors?taxonomyName=Careers&#038;taxonomyId=10">Age bias in IT</a>: Some consider it IT&#8217;s dirty little secret, or even IT&#8217;s big open secret &#8211; from computerworld.com by Tam Harbert.</p>
<p><a href="http://ask.slashdot.org/story/11/08/12/1433239/Ask-Slashdot-Am-I-Too-Old-To-Learn-New-Programming-Languages">Am I Too Old To Learn New Programming Languages?</a> from Slashdot and <a href="http://www.gamedev.net/blog/355/entry-2250592-become-a-good-programmer-in-six-really-hard-steps/">Become a Good Programmer in Six Really Hard Steps</a> from ApochPiQ in GameDev.net.</p>
<p>InfoWorld writes about <a href="http://www.infoworld.com/t/information-technology-careers/it-inferno-the-nine-circles-it-hell-174559">The nine circles of IT hell</a> by Dan Tynan.</p>
<p><a href="http://www.webpagesthatsuck.com/biggest-mistakes-in-web-design-1995-2015.html">Biggest Mistakes in Web Design 1995-2015</a> from webpagesthatsuck.com.</p>
<p><a href="http://www.codeproject.com/KB/graphics/ar3d.aspx">From glyph recognition to augmented reality</a> with video demos and source code By Andrew Kirillov in The Code Project.</p>
<p><a href="http://www.codeproject.com/KB/android/GoogleAppInventor.aspx">Introduction to Google App Inventor</a> by VinayakIyer from The Code Project.</p>
<p><a href="http://www.codeproject.com/KB/graphics/ImgComp.aspx">Guide to Image Composition with Win32 MsImg32.dll</a> By Paul Watt from The Code Project.</p>
<p><a href="http://www.codeproject.com/KB/scripting/javascript-jargon.aspx">JavaScript Jargon (Coming to JavaScript from C#)</a> By Jonathan Cardy.</p>
<p><a href="http://www.codecademy.com/#!/exercise/0">Learn to code</a>: Codecademy is the easiest way to learn how to code. It&#8217;s interactive, fun, and you can do it with your friends.</p>
<p><a href="http://www.codeproject.com/KB/work/MinimalistCodingGuideline.aspx">Minimalist Coding Guidelines</a> By gggustafson.</p>
<p><a href="http://preshing.com/20110822/penrose-tiling-in-obfuscated-python">Penrose Tiling in Obfuscated Python</a> or Who says you can’t write obfuscated Python? from Jeff Preshing.</p>
<p><a href="http://qntm.org/files/perl/perl.html">Learn Perl in about 2 hours 30 minutes</a> By Sam Hughes.</p>
<p>PowerShell is powerful but can it handle gaming? <a href="http://www.codeproject.com/KB/powershell/PowerShell-Falling-Blocks.aspx">PowerShell Falling Blocks</a> By Lasse W.</p>
<p><a href="http://www.codeproject.com/KB/game/WebcamSudokuSolver.aspx">Sudoku solver via a webcam</a>: A nice computer vision application with source code from Bojan Banko.</p>
<p>Windows API: <a href="http://msdn.microsoft.com/en-US/aa904937.aspx">Slim Reader/Writer (SRW) Locks</a> from MSDN (available from Vista and Server 2008).</p>
<p><a href="http://corp.sonic.net/ceo/2011/08/11/the-five-levels-of-isp-evil/">The Five Levels of ISP Evil</a> from Dane Jasper.</p>
<p><a href="http://fgnass.github.com/spin.js/">spin.js &#8211; cool open source JavaScript spinner</a> hosted in GitHub.</p>
<p><a href="http://blogs.msdn.com/b/oldnewthing/archive/2011/08/17/10196425.aspx">Starting up inside the box</a> (Vista and above) from Raymond Chen.</p>
<p><a href="http://www.codeproject.com/KB/web-security/StuxnetMalware.aspx">Stuxnet Malware Analysis Paper</a> By AmrThabet. This article will focus on Stuxnet’s windows infection methods and spreading methods.</p>
<p><a href="http://www.codeproject.com/KB/android/RootingOnAndroid.aspx">The Power of Rooting on Android</a> By David Magnotti.</p>
<p><a href="http://www.artima.com/weblogs/viewpost.jsp?thread=331531">The Principles of Good Programming</a> by Christopher Diggins.</p>
<p><a href="http://www.paulstovell.com/threadpool-vs-tasks">.NET ThreadPool vs. Tasks</a> by Paul Stovell.</p>
<p><a href="http://blogs.msdn.com/b/oldnewthing/archive/2011/08/16/10195932.aspx">Why does creating a shortcut to a file change its last-modified time</a>&#8230; sometimes? from Raymond Chen.</p>
<p><a href="http://www.codeproject.com/KB/WPF/RemoteGameSample.aspx">Writing a Multiplayer Game (in WPF)</a> By Paulo Zemek. This article will explain some concepts of game development and how to apply and adapt them for multiplayer development.</p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/10/2011-links-no-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Framework 2.0 is not installed on Windows 8 Developer Preview by default</title>
		<link>http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default</link>
		<comments>http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 16:40:11 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[OS]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=803</guid>
		<description><![CDATA[.NET Framework 2.0 is not installed on Windows 8 Developer Preview by default. To install it, go to Control Panel &#8211; Programs &#8211; Turn Windows features on or off &#8211; Check &#8216;Microsoft .NET Framework 3.5.1&#8242; &#8211; OK. Note, that .NET &#8230; <a href="http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>.NET Framework 2.0 is not installed on Windows 8 Developer Preview by default.</p>
<p>To install it, go to Control Panel &#8211; Programs &#8211; Turn Windows features on or off &#8211; Check &#8216;Microsoft .NET Framework 3.5.1&#8242; &#8211; OK.</p>
<p>Note, that .NET Framework 2.0 is included into version 3.5.</p>
<p>Below are some screenshots from the installation process.</p>

<a href='http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/01-control-panel-windows-8-preview/' title='Windows 8 DP Control Panel - Turn Windows features on or off'><img width="150" height="150" src="http://wishmesh.com/wp-content/uploads/2011/09/01-control-panel-windows-8-preview-150x150.png" class="attachment-thumbnail" alt="Windows 8 DP Control Panel - Turn Windows features on or off" title="Windows 8 DP Control Panel - Turn Windows features on or off" /></a>
<a href='http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/02-windows-8-turn-windows-features-on-or-off-net-3-5/' title='Windows 8 DP - Windows features - .NET 3.5.1'><img width="150" height="150" src="http://wishmesh.com/wp-content/uploads/2011/09/02-windows-8-turn-windows-features-on-or-off-net-3-5-150x150.png" class="attachment-thumbnail" alt="Windows 8 DP - Windows features - .NET 3.5.1" title="Windows 8 DP - Windows features - .NET 3.5.1" /></a>
<a href='http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/03-windows-8-downloads-net-from-windows-update-site/' title='Windows 8 DP - Downloading from Windows Update...'><img width="150" height="150" src="http://wishmesh.com/wp-content/uploads/2011/09/03-windows-8-downloads-net-from-windows-update-site-150x150.png" class="attachment-thumbnail" alt="Windows 8 DP - Downloading from Windows Update..." title="Windows 8 DP - Downloading from Windows Update..." /></a>
<a href='http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/04-windows-8-applying-changes/' title='Windows 8 DP - Applying changes to features...'><img width="150" height="150" src="http://wishmesh.com/wp-content/uploads/2011/09/04-windows-8-applying-changes-150x150.png" class="attachment-thumbnail" alt="Windows 8 DP - Applying changes to features..." title="Windows 8 DP - Applying changes to features..." /></a>
<a href='http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/05-windows-8-successfully-installed/' title='Windows 8 DP - Windows successfully completed the requested changes - .NET framework installed'><img width="150" height="150" src="http://wishmesh.com/wp-content/uploads/2011/09/05-windows-8-successfully-installed-150x150.png" class="attachment-thumbnail" alt="Windows 8 DP - Windows successfully completed the requested changes - .NET framework installed" title="Windows 8 DP - Windows successfully completed the requested changes - .NET framework installed" /></a>

]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/09/net-framework-2-0-is-not-installed-on-windows-8-developer-preview-by-default/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Urih.com statistics &#8211; you never know what will be most used feature</title>
		<link>http://wishmesh.com/2011/09/urih-com-statistics-you-never-know-what-will-be-most-used-feature/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=urih-com-statistics-you-never-know-what-will-be-most-used-feature</link>
		<comments>http://wishmesh.com/2011/09/urih-com-statistics-you-never-know-what-will-be-most-used-feature/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 16:29:08 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Urih]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=794</guid>
		<description><![CDATA[22 weeks (or 5 months and 5 days) after urih.com launch, here we have an interesting stats. Clearly, the most used feature on the urih.com is SilverBench &#8211; online CPU benchmark tool. The opposite &#8211; the feature that no one &#8230; <a href="http://wishmesh.com/2011/09/urih-com-statistics-you-never-know-what-will-be-most-used-feature/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>22 weeks (or 5 months and 5 days) after <a href="http://urih.com/">urih.com</a> launch, here we have an interesting stats. Clearly, the most used feature on the <a href="http://urih.com/">urih.com</a> is <a href="http://silver.urih.com/">SilverBench &#8211; online CPU benchmark tool</a>.</p>
<p>The opposite &#8211; the feature that no one have used is: Feedback form, that is located on all pages.<br />
<a href="http://wishmesh.com/wp-content/uploads/2011/09/urih-feedback.png"><img src="http://wishmesh.com/wp-content/uploads/2011/09/urih-feedback.png" alt="" title="urih.com feedback" width="293" height="146" class="alignnone size-full wp-image-795" /></a></p>
<p>To be exact, the Feedback feature is used exactly 0 (zero, null, none) times. However SilverBench is used many, many times each day. If you look at the <a href="http://silver.urih.com/results/">SilverBench results page</a>, you can see, that from 5 &#8211; 10 people submit their benchmark scores every day.</p>
<p>So no one can predict, that after 22 weeks, the one of the most prominent features will not be used even single time.</p>
<p>P.S. Forgot to mention, that 36 days ago we launched <a href="http://response.urih.com/">HTTP Response header tool</a>. An online tool, that can be used to view HTTP header stats and information for any site in the Internet.</p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/09/urih-com-statistics-you-never-know-what-will-be-most-used-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CreateProcessAsUser fails on Windows XP with System error 233</title>
		<link>http://wishmesh.com/2011/08/createprocessasuser-fails-on-windows-xp-with-system-error-233/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=createprocessasuser-fails-on-windows-xp-with-system-error-233</link>
		<comments>http://wishmesh.com/2011/08/createprocessasuser-fails-on-windows-xp-with-system-error-233/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 18:32:25 +0000</pubDate>
		<dc:creator>Maris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows API]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://wishmesh.com/?p=784</guid>
		<description><![CDATA[Today I fixed one bug that was very hard to reproduce. Many hours were spent to figure out what combination caused it: It happens only on Windows XP (not on Vista, Server 2003, 2008, Win 7); It does not happens &#8230; <a href="http://wishmesh.com/2011/08/createprocessasuser-fails-on-windows-xp-with-system-error-233/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I fixed one bug that was very hard to reproduce. Many hours were spent to figure out what combination caused it:</p>
<ul>
<li>It happens only on Windows XP (not on Vista, Server 2003, 2008, Win 7);</li>
<li>It does not happens on all Windows XP, because it is Race condition;</li>
<li>I was unable to reproduce it with physical glass/monitor attached to the computer; <strong>It only happened using Remote Desktop</strong>;</li>
<li>It does not happen when debugger is attached and breakpoint is being hit;</li>
</ul>
<p>Latter I found people that have similar issue:</p>
<ul>
<li><a href="http://groups.google.com/group/microsoft.public.platformsdk.security/browse_thread/thread/b6749991d55f2b00/399ca841893f0f44?#399ca841893f0f44">CreateProcessAsUser from service fails with 233 (FUS, Windows XP)</a> on microsoft.public.platformsdk.security;</li>
<li><a href="http://groups.google.com/group/microsoft.public.win32.programmer.kernel/browse_thread/thread/87bd9e27b88cca71">CreateProcessAsUser fails with 233 (No process is on the other end of the pipe), XP</a>;</li>
<li><a href="http://blogs.technet.com/b/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspx">In comments from the article</a>;</li>
<li><a href="http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/23473a02-0a2a-495e-8ad7-71715983ae64">CreateProcessAsUser fails on XP x64</a> on Microsoft forums;</li>
</ul>
<p>The code is the following:<br />
<code>WTSQueryUserToken(..., &#038;hToken);<br />
SetTokenInformation(hToken, ...);<br />
SomeVistaAndWin7ElevatedTokenStuff(hToken);<br />
CreateProcessAsUser(hToken, ...);<br />
</code></p>
<p>And CreateProcessAsUser fails with GetLastError() = 233. Looking in <a href="http://msdn.microsoft.com/en-us/library/ms681382%28v=vs.85%29.aspx">System Error Codes (0-499)</a> &#8211; ERROR_PIPE_NOT_CONNECTED 233 (0xE9) &#8211; No process is on the other end of the pipe.</p>
<p>The confusing part is about Pipe, because you didn&#8217;t expect to get pipe error here &#8211; you have not created any pipe.</p>
<p>In the first post I have linked, Thomas Graefenhain writes:</p>
<blockquote><p>I&#8217;ve debugged a little bit with the kernel debugger, and have found the<br />
problem: CreateProcessAsUser uses internally, when creating a process in an<br />
other session, the function CreateRemoteProcessW from ADVAPI32.DLL. This<br />
function opens a pipe with the name<br />
\\.\Pipe\TerminalServer\SystemExecSrvr\%d where %d is the SessionID and<br />
sending the request over to csrss.exe. &#8230;</p></blockquote>
<p><strong>In another post someone mentioned that Sleep(2000) fixed the problem. This explains why under debugger everything works without an error.</strong></p>
<p>The good news is that it happens only under Windows XP and under Remote Desktop, so small group of users are affected. The bad new is that there are no elegant workarounds. Windows XP is in the Extended Support Phase, so I am not counting on fix from Microsoft.</p>
<p><strong>Currently I use the following workaround (simplified version, see below).</strong> If you have something better or more elegant, please let me know in the comments below.<br />
<code>{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep(100);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateProcessAsUser(hToken, ...);<br />
} while (wasError &#038;&#038; GetLastError() == 233 &#038;&#038; IsWindowsXP());<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://wishmesh.com/2011/08/createprocessasuser-fails-on-windows-xp-with-system-error-233/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 11/20 queries in 0.048 seconds using disk: basic

Served from: wishmesh.com @ 2012-02-22 17:26:15 -->
