<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Chinh Do</title>
	
	<link>http://www.chinhdo.com</link>
	<description>Chinh's not quite random thoughts on software development, .NET, gadgets, and other things.</description>
	<lastBuildDate>Sat, 06 Aug 2011 21:04:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ChinhDo" /><feedburner:info uri="chinhdo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>37.661647</geo:lat><geo:long>-77.526326</geo:long><feedburner:emailServiceId>ChinhDo</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ChinhDo" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FChinhDo" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>Transactional File Manager Version 1.2 .1 Released</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/SgaYUuYrD-U/</link>
		<comments>http://www.chinhdo.com/20110806/transactional-file-manager-version-1-2-released/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 21:04:14 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Dotnet/.NET - C#]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20110806/transactional-file-manager-version-1-2-released/</guid>
		<description><![CDATA[Version 1.2 of Transactional File Manager is now available on CodePlex. Here’s the release notes: Release Notes This is a minor bug-fix/minor refactor release. Fixes: Copy now uses the overwrite parameter correctly. Fixes crashing problem on some machines due to use of GetsequentialGuid. CreateDirectory now supports rolling back nested directories. RollbackFile Rollback() may throw exception [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.2 of Transactional File Manager is <a href="http://transactionalfilemgr.codeplex.com/releases/view/46998">now available on CodePlex</a>.</p>
<p>Here’s the release notes:</p>
<h5>Release Notes</h5>
<p>This is a minor bug-fix/minor refactor release.   <br /><b>Fixes:</b></p>
<ul>
<li>Copy now uses the overwrite parameter correctly. </li>
<li>Fixes crashing problem on some machines due to use of GetsequentialGuid. </li>
<li>CreateDirectory now supports rolling back nested directories. </li>
<li>RollbackFile Rollback() may throw exception when original directory has been deleted. </li>
<li>Security issue when writing to event logs.</li>
</ul>
<p><b>Enhancements:</b>
<ul>
<li>Upgrade solution/project files to Visual Studio 2010 </li>
<li>Use NUnit instead of VSTS framework </li>
<li>Changes to support Visual Studio Express</li>
</ul>
<p>Thanks to karbuke and dorong for their contributions.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=SgaYUuYrD-U:UJuK6qgTSOw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=SgaYUuYrD-U:UJuK6qgTSOw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=SgaYUuYrD-U:UJuK6qgTSOw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/SgaYUuYrD-U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20110806/transactional-file-manager-version-1-2-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20110806/transactional-file-manager-version-1-2-released/</feedburner:origLink></item>
		<item>
		<title>Managing, Tagging, Organizing Videos with Picasa</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/N7Kja1mJxWo/</link>
		<comments>http://www.chinhdo.com/20110415/managing-tagging-organizing-videos-with-picasa/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 23:32:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Photography and Video]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/?p=495</guid>
		<description><![CDATA[I enjoy making taking and making short videos. My kids are usually featured in the videos in one way or another. Last year we went on a month-long vacation to Vietnam and I recorded a huge number of raw videos. With so many raw takes to work with, using Windows Explorer and browsing around without [...]]]></description>
			<content:encoded><![CDATA[<p>I enjoy making taking and making short videos. My kids are usually featured in the videos in one way or another. Last year we went on a month-long vacation to Vietnam and I recorded a huge number of raw videos. With so many raw takes to work with, using Windows Explorer and browsing around without some system of tagging, keyword searching, etc. becomes extremely tedious and unmanageable.</p>
<p>So I started to look for a way to manage/categorize all of these raw videos and I think I’ve found a pretty good and free solution: Picasa (from Google).</p>
<p>The current version of Picasa for Windows (version 3.8) allows you to specify titles for images and videos, as well as assigning various tags to them. The user interface is very user-friendly. And the actual searches are typical Google-lighting-fast.</p>
<p><a href="http://www.chinhdo.com/wp-content/uploads/2011/04/image3.png"><img style="display: inline" title="Picasa, video manager" alt="Using Picasa as a video manager" src="http://www.chinhdo.com/wp-content/uploads/2011/04/image_thumb3.png" width="640" height="461" /></a></p>
<p>What I do is I go through each raw video take, give it a title and assign some tags. Then later I am able to very quickly search for videos. For example, if I need a take involving a dolly pan to the right, I just type “dolly pan” into Picasa and instantly the takes with those keywords come up.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=N7Kja1mJxWo:0YMqtzmu7eQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=N7Kja1mJxWo:0YMqtzmu7eQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=N7Kja1mJxWo:0YMqtzmu7eQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/N7Kja1mJxWo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20110415/managing-tagging-organizing-videos-with-picasa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20110415/managing-tagging-organizing-videos-with-picasa/</feedburner:origLink></item>
		<item>
		<title>WBR HTML Tag</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/ViA-v5RqQEQ/</link>
		<comments>http://www.chinhdo.com/20110113/wbr-html-tag/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 02:02:46 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20110113/wbr-html-tag/</guid>
		<description><![CDATA[The little known WBR tag is great for formatting HTML tables. Add it to specific places in your table cell values to give the browser the option to add a line break there. This is very useful when displaying tables with long strings that would otherwise cause horizontal scrolling. Here’s a sample table, displaying some [...]]]></description>
			<content:encoded><![CDATA[<p>The little known WBR tag is great for formatting HTML tables. Add it to specific places in your table cell values to give the browser the option to add a line break there. This is very useful when displaying tables with long strings that would otherwise cause horizontal scrolling.</p>
<p>Here’s a sample table, displaying some info. Since the values in the tables do not have spaces or tabs, the browser is forced to display the values on one line:</p>
<table cellspacing="2" cellpadding="2" width="100" style="border: black 1px solid">
<tbody>
<tr>
<td valign="top" style="border: black 1px solid">Key</td>
<td valign="top" style="border: black 1px solid">Value</td>
</tr>
<tr>
<td valign="top" style="border: black 1px solid">ChinhDo.TestApp.TestClass.ExampleKey1</td>
<td valign="top" style="border: black 1px solid">this.is.an.example.of.a.very.long.string</td>
</tr>
</tbody>
</table>
<p>Here&#8217;s the same table, with &lt;wbr/&gt; tags inserted where periods are:</p>
<table border="1" cellspacing="2" cellpadding="2" width="100" style="border: black 1px solid">
<tbody>
<tr>
<td valign="top" style="border: black 1px solid">Key</td>
<td valign="top" style="border: black 1px solid">Value</td>
</tr>
<tr>
<td valign="top" style="border: black 1px solid">ChinhDo.<wbr></wbr>TestApp.<wbr></wbr>TestClass.<wbr></wbr>ExampleKey1</td>
<td valign="top" style="border: black 1px solid">this.<wbr></wbr>is.<wbr></wbr>an.<wbr></wbr>example.<wbr></wbr>of.<wbr></wbr>a.<wbr></wbr>very.<wbr></wbr>long.<wbr></wbr>string</td>
</tr>
</tbody>
</table>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=ViA-v5RqQEQ:-up_wUAellI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=ViA-v5RqQEQ:-up_wUAellI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=ViA-v5RqQEQ:-up_wUAellI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/ViA-v5RqQEQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20110113/wbr-html-tag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20110113/wbr-html-tag/</feedburner:origLink></item>
		<item>
		<title>Getting the Starting Day of the Week for Any Date</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/w9HgNO-9PGw/</link>
		<comments>http://www.chinhdo.com/20100907/getting-the-starting-day-of-the-week-for-any-date/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 23:33:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Dotnet/.NET - C#]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100907/getting-the-starting-day-of-the-week-for-any-date/</guid>
		<description><![CDATA[From my code snippets, here’s a function that will return the starting day of the week for any date: /// &#60;summary&#62; /// Gets the start of the week that contains the specified date. /// &#60;/summary&#62; /// &#60;param name=&#34;date&#34;&#62;The date.&#60;/param&#62; /// &#60;param name=&#34;weekStartsOn&#34;&#62;The day that each week starts on.&#60;/param&#62; /// &#60;returns&#62;The start date of the week.&#60;/returns&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>From my code snippets, here’s a function that will return the starting day of the week for any date:</p>
<pre class="brush: csharp;">
/// &lt;summary&gt;
/// Gets the start of the week that contains the specified date.
/// &lt;/summary&gt;
/// &lt;param name=&quot;date&quot;&gt;The date.&lt;/param&gt;
/// &lt;param name=&quot;weekStartsOn&quot;&gt;The day that each week starts on.&lt;/param&gt;
/// &lt;returns&gt;The start date of the week.&lt;/returns&gt;
public static DateTime GetStartOfWeek(DateTime date, DayOfWeek weekStartsOn)
{
    int days = date.DayOfWeek - weekStartsOn;
    DateTime startOfWeek = days&gt;=0 ? date.AddDays(-days) : date.AddDays(-7 - days);
    return startOfWeek;
}
</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=w9HgNO-9PGw:oWgUcZflvAs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=w9HgNO-9PGw:oWgUcZflvAs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=w9HgNO-9PGw:oWgUcZflvAs:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/w9HgNO-9PGw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100907/getting-the-starting-day-of-the-week-for-any-date/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100907/getting-the-starting-day-of-the-week-for-any-date/</feedburner:origLink></item>
		<item>
		<title>World Cup 2010 In Glorious 3D</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/lC3rwvb9nd8/</link>
		<comments>http://www.chinhdo.com/20100611/world-cup-2010-in-glorious-3d/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 00:19:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[HDTV]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100611/world-cup-2010-in-glorious-3d/</guid>
		<description><![CDATA[3DTV is here! This message shows up on my DirecTV receiver/DVR yesterday: Wow! 25 World cup soccer games in 3D! Wait a minute, I think I see some dead pixels on my current HDTV.]]></description>
			<content:encoded><![CDATA[<p>3DTV is here! This message shows up on my DirecTV receiver/DVR yesterday:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Your receiver is now 3D ready! With a 3D television and 3D glasses, you can view up to 25 matches of the 2010 FIFA World Coup tournament in spectacular 3D on ESPN 3D Channel 106." border="0" alt="Your receiver is now 3D ready! With a 3D television and 3D glasses, you can view up to 25 matches of the 2010 FIFA World Coup tournament in spectacular 3D on ESPN 3D Channel 106." src="http://www.chinhdo.com/wp-content/uploads/2010/06/image1.png" width="479" height="364" /> </p>
<p>Wow! 25 World cup soccer games in 3D! Wait a minute, I think I see some dead pixels on my current HDTV.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=lC3rwvb9nd8:xco9OmW_C0M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=lC3rwvb9nd8:xco9OmW_C0M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=lC3rwvb9nd8:xco9OmW_C0M:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/lC3rwvb9nd8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100611/world-cup-2010-in-glorious-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100611/world-cup-2010-in-glorious-3d/</feedburner:origLink></item>
		<item>
		<title>Transactional File Manager Is Now On CodePlex</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/uUr523WpX28/</link>
		<comments>http://www.chinhdo.com/20100608/transactional-file-manager-is-now-on-codeplex/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:38:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Dotnet/.NET - C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100608/transactional-file-manager-is-now-on-codeplex/</guid>
		<description><![CDATA[It’s my first open source project! I’ve gone open source with my Transactional File Manager. Check out the CodePlex link here. Use any file system as a transactional file system! Transactional File Manager is a .NET API that supports including file system operations such as file copy, move, delete in a transaction. It&#8217;s an implementation [...]]]></description>
			<content:encoded><![CDATA[<p>It’s my first open source project! I’ve gone open source with my Transactional File Manager. Check out the CodePlex link <a href="http://transactionalfilemgr.codeplex.com/" target="_blank">here</a>.</p>
<p>Use any file system as a transactional file system! Transactional File Manager is a .NET API that supports including file system operations such as file copy, move, delete in a transaction. It&#8217;s an implementation of System.Transaction.IEnlistmentNotification (works with System.Transactions.TransactionScope).</p>
<p><a href="http://transactionalfilemgr.codeplex.com/"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.chinhdo.com/wp-content/uploads/2010/06/image_thumb.png" width="505" height="234" /></a></p>
<p>More on Transactional File Manager in my original blog <a href="http://www.chinhdo.com/20080825/transactional-file-manager/" target="_blank">post</a> on it. If you are interested in contributing to the project, let me know.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=uUr523WpX28:pCIcUHTOOeE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=uUr523WpX28:pCIcUHTOOeE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=uUr523WpX28:pCIcUHTOOeE:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/uUr523WpX28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100608/transactional-file-manager-is-now-on-codeplex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100608/transactional-file-manager-is-now-on-codeplex/</feedburner:origLink></item>
		<item>
		<title>MSMQ Installation on Windows Server 2008 Fail with 0×80070643</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/YhzA4f4mvUM/</link>
		<comments>http://www.chinhdo.com/20100510/msmq-installation-on-windows-server-2008-fail-with-0x80070643/#comments</comments>
		<pubDate>Tue, 11 May 2010 01:49:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Dotnet/.NET - C#]]></category>
		<category><![CDATA[MSMQ]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100515/msmq-installation-on-windows-server-2008-fail-with-0x80070643/</guid>
		<description><![CDATA[If you get one of these errors starting MSMQ Server or installing MSMQ on Windows (Server 2008), this article describes a potential solution: You cannot start MSMQ Service with the following entry in the Application Event Log: The Message Queuing service cannot start. The internal private queue &#8216;admin_queue$&#8217; cannot be initialized. If the problem persists, [...]]]></description>
			<content:encoded><![CDATA[<p>If you get one of these errors starting MSMQ Server or installing MSMQ on Windows (Server 2008), this article describes a potential solution:</p>
<ul>
<li>You cannot start MSMQ Service with the following entry in the Application Event Log: The Message Queuing service cannot start. The internal private queue &#8216;admin_queue$&#8217; cannot be initialized. If the problem persists, reinstall Message Queuing. Error 0xc00e0001.</li>
<li>You cannot install MSMQ with the following error: Attempt to install Message Queuing Server failed with error code 0&#215;80070643. Fatal error during installation. The following features were not installed: Message Queuing Services/Message Queuing Server.
<p><a href="http://www.chinhdo.com/wp-content/uploads/2010/05/2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MSMQ Installation Result" border="0" alt="MSMQ Installation Result" src="http://www.chinhdo.com/wp-content/uploads/2010/05/2_thumb.png" width="575" height="434" /></a> </li>
</ul>
<p>&#160;</p>
<p>For me, the solution was to delete the Registry key KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ, then try the installation again.</p>
<h4>See also:</h4>
<ul>
<li><a href="http://blogs.msdn.com/johnbreakwell/archive/2009/06/04/msmq-won-t-install-on-windows-2008-with-a-fatal-error-0x80070643.aspx">MSMQ won&#8217;t install on Windows 2008 with a Fatal Error (0&#215;80070643)</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=YhzA4f4mvUM:jCKcbs1DUgU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=YhzA4f4mvUM:jCKcbs1DUgU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=YhzA4f4mvUM:jCKcbs1DUgU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/YhzA4f4mvUM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100510/msmq-installation-on-windows-server-2008-fail-with-0x80070643/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100510/msmq-installation-on-windows-server-2008-fail-with-0x80070643/</feedburner:origLink></item>
		<item>
		<title>Don’t hire ghost hunters who are afraid of ghosts</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/OhSkLiuSitY/</link>
		<comments>http://www.chinhdo.com/20100327/event-viewer-dependency-on-dotnet/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 04:26:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Dotnet/.NET - C#]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100327/event-viewer-dependency-on-dotnet/</guid>
		<description><![CDATA[Your house is haunted. You can’t stand living with the ghosts anymore and decide to call in the professional, a ghost hunter. The ghost hunter comes, nicely equipped with all kinds of shiny ghost hunting equipment, and proceeds to immediately pass out and fall to to the floor with a loud thud at first sight [...]]]></description>
			<content:encoded><![CDATA[<p>Your house is haunted. You can’t stand living with the ghosts anymore and decide to call in the professional, a ghost hunter. The ghost hunter comes, nicely equipped with all kinds of shiny ghost hunting equipment, and proceeds to immediately pass out and fall to to the floor with a loud thud at first sight of the ghosts.</p>
<p>Well, in a nutshell, that is the story of the new Event Viewer in Windows Vista and Windows Server 2008. The new Event Viewer looks very nice and all. Trouble is, it now won’t work when there is a syntax error in machine.config or other .NET Framework problems. Apparently, in Windows Vista and Windows 2008, someone at Microsoft decided to rewrite the Event Viewer utility (a perfectly usable and solid utility in previous versions of Windows) in .NET.</p>
<p><a href="http://www.chinhdo.com/wp-content/uploads/2010/03/image.png"><img title="MMC could not create the snap-in. The snap-in might not have been installed correctly. Name: Event Viewer." style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="253" alt="MMC could not create the snap-in. The snap-in might not have been installed correctly. Name: Event Viewer." src="http://www.chinhdo.com/wp-content/uploads/2010/03/image_thumb.png" width="450" border="0" /></a> </p>
<p>So, the lesson I learned from this is: don’t hire ghost hunters who are afraid of ghosts. Or, don’t write a utility designed to view monitoring and troubleshooting messages that can fail due to unnecessary dependencies. A critical system troubleshooting utility such as Event Viewer should be the last thing that fails.</p>
<h3>What to do when you cannot run Event Viewer in Windows Vista/Windows Server 2008/or Windows 7?</h3>
<p>If you get the following error:</p>
<blockquote><p>MMC could not create the snap-in. The snap-in might now have been installed correctly. Name: Event Viewer. CLSID: FX:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}</p>
</blockquote>
<p>Try the following:</p>
<ul>
<li>Fix any syntax errors in machine.config. Restore to a previously known working copy.</li>
<li>Rename EventVwr.exe.config in %WINDIR%\System32.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=OhSkLiuSitY:xVnGDF58ilQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=OhSkLiuSitY:xVnGDF58ilQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=OhSkLiuSitY:xVnGDF58ilQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/OhSkLiuSitY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100327/event-viewer-dependency-on-dotnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100327/event-viewer-dependency-on-dotnet/</feedburner:origLink></item>
		<item>
		<title>SQL Server Implicit String Conversion/Concatenation (XML parsing: line &lt;x&gt;, character &lt;y&gt;, unexpected end of input)</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/pthV_oJCmJk/</link>
		<comments>http://www.chinhdo.com/20100220/sql-server-concatenation/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 18:32:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100220/sql-server-concatenation/</guid>
		<description><![CDATA[If you are getting this error in your SQL Server T-SQL script:, you may be running into an issue with implicit string conversion in SQL Server: declare @xml varchar(max), @doc XML, @stringVariable varchar(256) set @stringVariable = 'a string value' -- @doc is set by concatenating multiple string literals -- and string variables, with all the [...]]]></description>
			<content:encoded><![CDATA[<p>If you are getting this error in your SQL Server T-SQL script:, you may be running into an issue with implicit string conversion in SQL Server:</p>
<pre class="brush: sql;">declare @xml varchar(max), @doc XML, @stringVariable varchar(256)
set @stringVariable = 'a string value'

-- @doc is set by concatenating multiple string literals
-- and string variables, with all the variables having less than
-- or equal to 8000 characters
set @xml = '&lt;root&gt;' +
... + @stringVariable +
...
'&lt;/root&gt;'

print len(@xml)

set @doc = @xml</pre>
<p><strong>Output</strong> </p>
<pre style="padding-left: 15px; font-family: monospace">8000
<font color="#ff0000">Msg 9400, Level 16, State 1, Line 4
XML parsing: line 64, character 74, unexpected end of input</font></pre>
<p>As you can see in the output, the @xml variable was truncated to 8000 characters, resulting in an invalid XML. This is due to the way SQL Server performs implicit string conversions when concatenating strings. When all the string literals/variables involved in the concatenation are 8000 characters or less, the resulting string will be exactly 8000 characters.</p>
<p>The same issue occurs with NVARCHAR data type. Instead of the 8000-character limit, it’s 4000 characters.</p>
<p>A simple fix is to make sure at least one of the string variables is of type VARCHAR(MAX):</p>
<pre class="brush: sql;">declare @xml varchar(max), @doc XML, @stringVariable varchar(256)
declare @x varchar(max)

set @stringVariable = 'a string value'
set @x = ''

set @xml = @x + '&lt;root&gt;' +
... + @stringVariable +
...
'&lt;/root&gt;'

print len(@xml)

set @doc = @xml</pre>
<p>&#160;</p>
<h3>More Info</h3>
<ul>
<li><a href="http://hrubaru.blogspot.com/2010/01/string-concatenation-issues.html">String Concatenation Issues</a> (Hrubaru&#8217;s blog) </li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=pthV_oJCmJk:_btYYAI2nQI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=pthV_oJCmJk:_btYYAI2nQI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=pthV_oJCmJk:_btYYAI2nQI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/pthV_oJCmJk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100220/sql-server-concatenation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100220/sql-server-concatenation/</feedburner:origLink></item>
		<item>
		<title>Instant Messaging Etiquette for the Workplace</title>
		<link>http://feedproxy.google.com/~r/ChinhDo/~3/j5sSxkD5g58/</link>
		<comments>http://www.chinhdo.com/20100213/work-instant-messaging-etiquette/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 16:25:00 +0000</pubDate>
		<dc:creator>Chinh Do</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.chinhdo.com/20100213/work-instant-messaging-etiquette/</guid>
		<description><![CDATA[The use of instant messaging at the workplace is very prevalent these days. While instant messaging is very convenient for everyday communication, don’t treat it the same as email, face-to-face meetings, or phone calls. There are several significant differences between instant messaging and traditional forms of communications: Instant messaging is not necessarily one-one-one. At any [...]]]></description>
			<content:encoded><![CDATA[<p>The use of instant messaging at the workplace is very prevalent these days. While instant messaging is very convenient for everyday communication, don’t treat it the same as email, face-to-face meetings, or phone calls. There are several significant differences between instant messaging and traditional forms of communications:</p>
<ul>
<li>Instant messaging is not necessarily one-one-one. At any given moment, one person may be engaged in several simultaneous instant messaging conversations. </li>
<li>Even though your messages will be displayed on the recipient’s screen immediately, the recipient may not be able to read the messages and respond immediately. </li>
<li>With most instant messaging applications, the recipient cannot read your messages until you press the Enter key to send it. This limitation inherently makes instant messaging significantly slower than voice conversations.</li>
<li>Most people can speak faster than they can type.</li>
</ul>
<p>Here are some guidelines on basic/everyday instant messaging etiquette that will help you and your co-workers make the most out of this communication medium.</p>
<p><img title="Instant Messaging apps - AIM, MSN Messenger, Windows Live Messenger, Yahoo Messenger, Google Talk, ICQ" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="290" alt="Instant Messaging apps - AIM, MSN Messenger, Windows Live Messenger, Yahoo Messenger, Google Talk, ICQ" src="http://www.chinhdo.com/wp-content/uploads/2010/01/image6.png" width="251" border="0" />&#160;</p>
<h3>Include Relevant Info/Questions in The First Message</h3>
<p>Avoid typing greetings or non-essential messages separately first. Include the question or relevant information in your first message.</p>
<h4><strong>Not-so-good examples (avoid this)</strong></h4>
<blockquote><p><strong>Conversation 1</strong></p>
<ul>
<li><font size="+0">Jane (10:54:50 AM): Hi</font> </li>
<li><em><font color="#008000">Mike (10:55:01 AM): Hello</font></em> </li>
<li><font color="#800000">Jane (10:55:06 AM): The test server will be restarted in 1 minute.</font> </li>
<li><em><font color="#008000">Mike (10:56:11 AM): Thanks for the info</font></em> </li>
</ul>
<p><strong>Conversation 2</strong></p>
<ul>
<li><em><font color="#800000">Jane (2:15:08 PM): Good afternoon</font></em> </li>
<li><font color="#008000">Mike (2:15:13 PM): Good afternoon</font> </li>
<li><em><font color="#800000">Jane (2:15:13 PM): Do you have a few minutes to talk on the phone re project A? </font></em></li>
<li><font color="#008000">Mike (2:15:18 PM): Sure, let me call you.</font> </li>
</ul>
<p><strong>Conversation 3</strong></p>
<ul>
<li><font color="#800000">Jane (4:03:30 PM): You there? </font></li>
<li><em><font color="#008000">Mike (4:03:35 PM): Yes</font></em> </li>
<li><font color="#800000">Jane (4:03:42 PM): Can we have a short team meeting in conf room A</font> </li>
<li><em><font color="#008000">Mike (4:03:50 PM): Sure. Be there in 5.</font></em> </li>
</ul>
</blockquote>
<h4><strong>Good examples</strong></h4>
<blockquote><p><strong>Conversation 1</strong></p>
<ul>
<li><font color="#800000">Jane (10:54:50 AM): Hi, the test server will be restarted in 1 minute. </font></li>
<li><em><font color="#008000">Mike (10:54:55 AM): Thanks for the info </font></em></li>
</ul>
<p><strong>Conversation 2</strong></p>
<ul>
<li><font color="#800000">Jane (2:15:08 PM): Good afternoon, do you have a few minutes to talk on the phone re project A? </font></li>
<li><em><font color="#008000">Mike (2:15:13 PM): Sure I will call you.</font></em> </li>
</ul>
<p><strong>Conversation 3</strong></p>
<ul>
<li><font color="#800000">Jane (4:03:30 PM): Can we have a short team meeting in conf room A? </font></li>
<li><em><font color="#008000">Mike (4:03:35 PM): Sure, be right there.</font></em> </li>
</ul>
</blockquote>
<p>Every time you send a message, the recipient is disrupted from whatever he/she is doing. The more you can delay this disruption the better, even if it’s only seconds. It’s also not necessary to ask the recipient if he/she is there. That’s what the online status (away/available) is for. You can just type your message or ask your question. One exception to this would be if your message contains sensitive information.</p>
<h3></h3>
<h3>Send Complete Messages</h3>
<p>Good:</p>
<ul>
<li><font color="#800000">Jane (9:15:23 AM): Hi, all integration tests are failing in the integration environment for the admin user group. Can you take a look?”</font> </li>
</ul>
<p>No so good:</p>
<ul>
<li><font color="#800000">Jane (9:15:23 AM): Hi, all integration tests are failing…</font> </li>
<li><font color="#800000">Jane (9:15:27 AM): the integration environment…</font> </li>
<li><font color="#800000">Jane (9:15:32 AM): for the admin user group…”</font> </li>
<li><font color="#800000">Jane (9:15:38 AM): Can you take a look?</font> </li>
</ul>
<p>If you have to send several sentences in sequence, compose them in a separate editor first (notepad would do), then type them out quickly in succession. That way the recipient does not have to wait for you while you type your next message, make editing corrections, etc.</p>
<h3>Do Not Expect Responses Immediately</h3>
<p>Unless the recipient reports to you, do not expect a response immediately after you type a message. The recipient may be in the middle of five other instant message conversations, on the phone, or working on something else more important. If the recipient’s status is not set to “Away”, and you have not received a response after a few minutes, it’s ok to ping him/her again. Maybe they forgot about your message.</p>
<h3>Update Your Status and Respect Others’ Status</h3>
<p>If you need to step out, change your status to “Away”, or “In a Meeting”, or “Back in an Hour”, or whatever is appropriate for the situation. This tells everyone else that you are not available to respond to messages immediately and save them from having to wait for your responses.</p>
<h3><strong>Pick Up the Phone</strong></h3>
<p>If the instant messaging conversation starts to go into lots of details and may make take longer than a few minutes, consider picking up the phone and continue the conversation there.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ChinhDo?a=j5sSxkD5g58:vyCx8CTfRhA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ChinhDo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ChinhDo?a=j5sSxkD5g58:vyCx8CTfRhA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ChinhDo?i=j5sSxkD5g58:vyCx8CTfRhA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ChinhDo/~4/j5sSxkD5g58" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.chinhdo.com/20100213/work-instant-messaging-etiquette/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.chinhdo.com/20100213/work-instant-messaging-etiquette/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 4.527 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-01-06 01:17:20 -->

